Lakukan sendiri jaringan saraf dari awal. Bagian 1. Teori

Halo. Nama saya Andrey, saya adalah pengembang frontend dan saya ingin berbicara dengan Anda tentang topik seperti jaringan saraf. Faktanya adalah bahwa teknologi ML menembus lebih dalam ke dalam kehidupan kita, dan banyak yang telah dikatakan dan ditulis tentang jaringan saraf, tetapi ketika saya ingin memahami masalah ini, saya menyadari bahwa ada banyak panduan di Internet tentang cara membuat jaringan saraf dan tampilannya seperti berikut:





  1. Ambil Tensorflow





  2. Kami membuat jaringan saraf





Informasi lebih lanjut tersebar dalam potongan-potongan di seluruh internet. Oleh karena itu, saya mencoba menyatukannya dan menyajikannya dalam artikel ini. Saya akan segera membuat reservasi bahwa saya bukan spesialis ML atau biologi, jadi di beberapa tempat saya mungkin tidak akurat. Dalam hal ini, saya akan dengan senang hati menerima komentar Anda.





Saat saya menulis artikel ini, saya menyadari bahwa saya mendapatkan longread yang cukup tebal, jadi saya memutuskan untuk membaginya menjadi beberapa bagian. Pada bagian pertama kita akan berbicara tentang teori, di bagian kedua kita akan menulis jaringan saraf kita sendiri dari awal tanpa menggunakan perpustakaan apa pun, di bagian ketiga kita akan mencoba menerapkannya dalam praktik.





Karena ini adalah posting pertama saya, mereka akan muncul saat moderasi berlangsung, setelah itu saya akan menambahkan tautan ke semua bagian. Jadi, mari kita mulai.





Lakukan sendiri jaringan saraf dari awal. Bagian 2. Implementasi





Lakukan sendiri jaringan saraf dari awal. Bagian 3. Sedih atau Bahagia?





. - . .





, . . , , , , , , , . 





, , , . , .





. , , , , . - - - .





: , - .





, . . .





, , , , , , .





- . , , , .





IT

, , ? 





, , , , . , . 





, , - , .





, , . , , .





, .





, , . . , .





, , , . . , . , . .





- , . 





, , . , , , , . , , . , . .





.

, , . . , 0 1 0,5 0. . :





f (x) = 1 / (1 + e ^ -x)

0 1. , , > 0.5, , - .





, . , , ( ), , , . , -0,5 0,5. 





 





1 * 0,43 + 0 * 0,18 + 1 * -0,21 = 0,22





, , .





sigmoid(0,22) = 1 / (1 + e^-0,22) = 0,55





0,60.





, , 0,60, .





, . , , . , .





. , .





error = 0.60 - 0 = 0.60





, . , .





sigmoid (x) dx = sigmoid (x) (1 - sigmoid (x))





delta = 0.60 * (1 - 0.60) = 0.24









weight = weight - output * delta * learning rate





weight - , output - , delta - , learning rate - , , . - , . learning rate 0,3. :





w = 0,22 - 0,55 * 0,24 * 0,3 = 0,18





:





w = 0.47 - 0.60 * 0.24 * 0.3 = 0.43





, , , . , . . :





error = 0.18 * 0.24 = 0.04





, , , , . .





, , . , .








All Articles