Tantangan
Temukan jaringan neural feedforward terkecil sehingga, diberikan setiap vektor input 3 dimensi dengan entri integer di , jaringan menghasilkan akar terbesar (yaitu, "paling positif") dari polinomial dengan kesalahan lebih kecil dari .
Tidak dapat diterima
Gagasan penerimaan dalam tantangan golf saraf saya sebelumnya tampak agak membatasi, jadi untuk tantangan ini, kami menggunakan definisi yang lebih liberal dari jaringan neural feedforward:
Sebuah neuron adalah fungsi yang ditentukan oleh vektor dari bobot , sebuah Bias , dan fungsi aktivasi dengan cara berikut:
Jaringan neural feedforward dengan input node adalah fungsi dari yang dapat dibangun dari urutan neuron, di mana setiap mengambil input dari dan menghasilkan skalar . Mengingat beberapa ditentukan setdarioutput node, maka output dari jaringan saraf adalah vektor .
Karena fungsi aktivasi dapat disetel untuk setiap tugas yang diberikan, kita perlu membatasi kelas fungsi aktivasi untuk membuat tantangan ini tetap menarik. Fungsi aktivasi berikut diizinkan:
Identitas.
ReLU.
SoftPlus.
Sigmoid.
Sinusoid.
Secara keseluruhan, jaring saraf yang dapat diterima ditentukan oleh node input, urutan neuron, dan node output, sementara masing-masing neuron ditentukan oleh vektor bobot, bias, dan fungsi aktivasi dari daftar di atas. Misalnya, jaring saraf berikut ini dapat diterima, meskipun tidak memenuhi tujuan kinerja dari tantangan ini:
Input node:
Neuron: untuk
Node keluaran:
Jaringan ini terdiri dari 8 neuron, masing-masing dengan nol bias dan aktivasi identitas. Dengan kata lain, jaringan ini menghitung urutan Fibonacci umum yang dihasilkan oleh dan dan kemudian menampilkan angka 5, 9, dan 10 dari urutan ini, dalam urutan itu.
Mencetak gol
Mengingat bilangan real dengan mengakhiri ekspansi desimal, biarkan menjadi yang terkecil non-negatif bilangan bulat yang , dan biarkan menjadi yang terkecil bilangan bulat positif yang adalah integer. Kemudian kita katakan adalah presisi dari .
Misalnya, memiliki ketepatan , sedangkan memiliki ketepatan .
Skor Anda adalah jumlah dari prasyarat bobot dan bias dalam jaringan saraf Anda.
(Misalnya, contoh di atas memiliki skor 16.)
Verifikasi
Meskipun akar dapat diekspresikan dengan rumus kubik , akar terbesar mungkin paling mudah diakses dengan cara numerik. Mengikuti saran xnor, saya menghitung root terbesar untuk setiap pilihan bilangan bulat , dan hasilnya dapat ditemukan di sini . Setiap baris file teks ini berbentuk a,b,c,root
. Sebagai contoh, baris pertama melaporkan bahwa root terbesar adalah sekitar .
Sunting: File asli yang saya poskan memiliki kesalahan dalam kasus-kasus di mana polinomial memperlihatkan multi-root. Versi saat ini harus bebas dari kesalahan tersebut.
a
menjadi nol, atau bahkan hanya 1. Juga, saya akan merekomendasikan memasukkan beberapa kasus uji, memberikan akar ke presisi tinggi sehingga kami dapat memeriksa kami berada dalam 0,1. Akan lebih baik untuk memiliki output untuk semua input yang mungkin, mungkin di tautan karena itu banyak untuk posting.
x -> a * sin(b * softplus(x) + c)
dapat melebihi jumlah poin data hingga dengan x
presisi sembarang dengan menggunakan frekuensi yang sangat besar dan tepat.
a=0
dan kuadratik memiliki dua akar kompleks?