Saya sedang mengerjakan pertanyaan dari buku online:
http://neuralnetworksanddeeplearning.com/chap1.html
Saya bisa mengerti bahwa jika lapisan output tambahan adalah 5 neuron output, saya mungkin bisa menetapkan bias pada 0,5 dan berat masing-masing 0,5 untuk lapisan sebelumnya. Tetapi pertanyaannya sekarang meminta lapisan baru dari empat neuron keluaran - yang lebih dari cukup untuk mewakili 10 kemungkinan keluaran pada .
Dapatkah seseorang menuntun saya melalui langkah-langkah yang terlibat dalam memahami dan menyelesaikan masalah ini?
Pertanyaan latihan:
Ada cara untuk menentukan representasi bitwise digit dengan menambahkan lapisan tambahan ke jaringan tiga lapis di atas. Lapisan tambahan mengubah output dari lapisan sebelumnya menjadi representasi biner, seperti yang diilustrasikan dalam gambar di bawah ini. Temukan seperangkat bobot dan bias untuk lapisan keluaran baru. Asumsikan bahwa 3 lapisan neuron pertama adalah sedemikian sehingga output yang benar di lapisan ketiga (yaitu, lapisan output lama) memiliki aktivasi setidaknya 0,99, dan output yang salah memiliki aktivasi kurang dari 0,01.
sumber
sigmoid((0 * 10) * 1)
0,5. Dengan memilih angka besar yang sesuai, Anda memastikan output yang sangat tinggi atau rendah sebelum sigmoid, yang kemudian akan output sangat dekat dengan 0 atau 1. Ini adalah IMO yang lebih kuat daripada output linear yang diasumsikan dalam jawaban FullStack, tetapi mengabaikan itu, pada dasarnya kami dua jawaban itu sama.Kode di bawah ini dari SaturnAPI menjawab pertanyaan ini. Lihat dan jalankan kode di https://saturnapi.com/artitw/neural-network-decimal-digits-to-binary-bitwise-conversion
sumber
eye(10,10)
?Bukti Pythonic untuk latihan di atas:
sumber
Sedikit modifikasi pada jawaban FullStack mengenai komentar Neil Slater menggunakan Octave:
sumber