Anda mungkin pernah mendengarnya mengatakan bahwa jaringan saraf adalah " penduga fungsi universal ". Pada dasarnya, teorema Cybenko mengatakan bahwa untuk setiap pemetaan fungsi real ke real, Anda dapat memperkirakannya dengan jaringan saraf dengan fungsi aktivasi sigmoid. Bahkan, ternyata jaringan saraf memungkinkan Anda untuk menghitung fungsi apa pun yang dapat dihitung oleh mesin Turing (yaitu apa pun yang Anda dapat menulis algoritma untuk menghitung). Sayangnya, bukti-bukti ini hanya mengatakan bahwa untuk beberapa konfigurasi neuron dan bobot yang terbatas, Anda dapat mendekati fungsi apa pun.
Teorinya bagus dan keren, tetapi pertanyaan Anda tampaknya lebih sejalan dengan bagaimana sebenarnya menyandikan perhitungan beberapa fungsi menjadi satu set neuron dan bobot. Untuk menggambarkan, pertimbangkan contoh sederhana - eksklusif-atau. XOR mengambil dua input, melewati input tersebut. Ketika satu dan hanya satu dari input yang diaktifkan, maka simpul output diaktifkan. Dengan kedua atau tidak ada input yang diaktifkan, maka simpul output tidak diaktifkan.
Perhatikan bahwa ketiga node tersembunyi melakukan hal yang berbeda. Node paling kiri dan paling kanan hanya melewati aktivasi input node respek. Neuron tengah mengambil dua input dan entah bagaimana meniadakannya jika keduanya aktif. Kombinasi dan rekombinasi input yang cerdas ini pada dasarnya adalah bagaimana pekerjaan dalam jaringan saraf dilakukan.
Jelas untuk fungsi yang lebih kompleks, penggabungan dan penggabungan kembali harus dilakukan dengan cara yang lebih pintar dan rumit, tetapi ini pada dasarnya adalah apa yang terjadi pada level rendah. Yang gila adalah ini benar-benar semua yang Anda butuhkan untuk menghitung fungsi yang dapat dihitung! Kemudian lagi, mesin turing juga ternyata sangat sederhana ...
Masalahnya adalah kita tidak benar-benar memiliki cara untuk secara ajaib menghasilkan jaringan saraf yang menghitung beberapa fungsi sewenang-wenang. Buktinya hanya memberi tahu kami bahwa ada beberapa jaringan di luar sana yang bisa melakukannya. Ketika kita melatih jaringan saraf kita, kita hanya berusaha menemukan jaringan yang cukup dekat.
Dalam konteks pengenalan gambar, Anda bisa membayangkan pola pengkodean ke dalam jaringan. Misalnya, untuk mengenali angka '1', Anda dapat membayangkan simpul tersembunyi yang mengharapkan sebagian besar piksel diaktifkan atau semua kolom diaktifkan, dengan piksel tetangga dimatikan. Simpul tersembunyi ini bisa cukup baik mengenali garis lurus di kolom tertentu. Masukkan cukup semua ini bersama-sama dan segera Anda punya banyak node yang melakukannya di cukup tempat gambar Anda bahwa jika saya menunjukkan satu jaringan, cukup node garis lurus tersembunyi akan diaktifkan, menunjukkan '1'. Masalahnya tentu saja menjadi generalisasi jaringan sehingga dapat mengenali beragam input.
Semoga ini membantu Anda memahami lebih kurang konsep tentang bagaimana jaringan saraf dapat melakukan komputasi. Namun, Anda telah menemukan titik yang agak penting tentang jaringan saraf: secara umum sulit untuk memahami mengapa jaringan memuntahkan output tertentu, terutama ketika Anda mempertimbangkan bahwa untuk sesuatu seperti pengenalan gambar, jaringan umumnya cukup besar sehingga manusia sulit memahami setiap bagian mesin yang bergerak. Lebih rumitnya masalah ini adalah bahwa secara umum sebagian besar jaringan saraf tidak benar-benar memiliki satu simpul tersembunyi untuk setiap fitur kecil yang dapat dipelajari jaringan tentang data tersebut. Sebagai gantinya, mendeteksi sesuatu seperti garis lurus untuk mengklasifikasikan angka '1' akan dilakukan secara non-terpusat pada banyak node tersembunyi. Algoritma lainnya,
Jika Anda mencari lebih banyak bacaan, saya sangat merekomendasikan membaca tutorial ini ke junkie ai. Ini menuntun Anda melalui dasar-dasar cara kerja jaringan saraf, dan bahkan memberikan contoh kode sederhana untuk mendapatkan jaringan saraf untuk menggerakkan tangki menuju tujuan. Namun tutorial ini tidak mencakup backpropagation, yang sejauh ini merupakan cara paling umum untuk melatih jaringan saraf, dan sebaliknya menggunakan algoritma genetika sederhana. Begitu dia mulai berbicara genetika, saya kira Anda bisa berhenti membaca ...