Bagaimana fungsi σ dipilih untuk memperpanjang perceptron?

Aug 19 2020

Saya hanya membaca tentang perceptrons secara lebih mendalam, dan sekarang ke Sigmoid Neurons .

Beberapa kutipan:

Perubahan kecil dalam bobot atau bias dari setiap perceptron tunggal dalam jaringan terkadang dapat menyebabkan keluaran dari perceptron tersebut berubah total, katakanlah dari 0 ke 1 ..... Hal itu membuat sulit untuk melihat cara memodifikasi bobot dan bias sehingga jaringan mendekati perilaku yang diinginkan. Mungkin ada cara cerdas untuk mengatasi masalah ini. Tetapi tidak segera jelas bagaimana kita bisa mendapatkan jaringan perceptrons untuk dipelajari. Kita dapat mengatasi masalah ini dengan memperkenalkan jenis neuron buatan baru yang disebut neuron sigmoid. Neuron sigmoid mirip dengan perceptron, tetapi dimodifikasi sehingga perubahan kecil dalam bobot dan biasnya hanya menyebabkan perubahan kecil pada outputnya. Itulah fakta penting yang memungkinkan jaringan neuron sigmoid belajar.

Sama seperti perceptron, neuron sigmoid memiliki bobot untuk setiap masukan, $w1,w2,…$, dan bias keseluruhan, b. Tapi hasilnya bukan 0 atau 1. Sebaliknya, itu$σ(w⋅x+b)$, di mana σ disebut sebagai fungsi sigmoid dan ditentukan oleh: $σ(z)≡\frac{1}{1+e^{−z}}$.

Jika σ sebenarnya adalah fungsi langkah, maka neuron sigmoid akan menjadi perceptron, karena keluarannya adalah 1 atau 0 tergantung pada apakah w⋅x + b positif atau negatif. Dengan menggunakan fungsi σ yang sebenarnya kita dapatkan, seperti yang telah tersirat di atas, perceptron yang diperhalus. Kehalusan σ berarti bahwa perubahan kecil Δwj pada bobot dan Δb pada bias akan menghasilkan perubahan kecil Δoutput pada keluaran dari neuron. Faktanya, kalkulus memberi tahu kita bahwa Δoutput didekati dengan baik oleh:

$$Δoutput≈∑_j\frac{∂output}{∂w_j}Δw_j+\frac{∂output}{∂b}Δb$$

Jangan panik jika Anda tidak nyaman dengan turunan parsial!

Δoutput adalah fungsi linier dari perubahan $Δw_j$ dan $Δb$dalam bobot dan bias. Linearitas ini memudahkan untuk memilih perubahan kecil pada bobot dan bias untuk mencapai perubahan kecil yang diinginkan pada keluaran. Jadi, sementara neuron sigmoid memiliki banyak perilaku kualitatif yang sama dengan perceptron, mereka membuatnya lebih mudah untuk mengetahui bagaimana mengubah bobot dan bias akan mengubah keluaran.

Faktanya, nanti dalam buku ini kita kadang-kadang akan mempertimbangkan neuron di mana keluarannya adalah f (w⋅x + b) untuk beberapa fungsi aktivasi lainnya f (⋅). Hal utama yang berubah ketika kita menggunakan fungsi aktivasi yang berbeda adalah bahwa nilai-nilai tertentu untuk turunan parsial dalam Persamaan (5) berubah. Ternyata ketika kita menghitung turunan parsial itu nanti, menggunakan σ akan menyederhanakan aljabar , hanya karena eksponensial memiliki sifat yang bagus saat dibedakan. Bagaimanapun, σ biasanya digunakan dalam pekerjaan pada jaringan saraf, dan merupakan fungsi aktivasi yang paling sering kita gunakan dalam buku ini. [AKHIR]

Bagian pertama dari pertanyaan saya adalah, bagaimana mereka tahu cara memilih fungsi / persamaan "berbentuk sigmoid" ini? Bagaimana mereka tahu untuk memilih yang satu ini dari setiap fungsi melengkung atau tidak melengkung lainnya? Apakah itu hanya latihan standar untuk jenis soal ini di kelas Matematika? Jika saya mencoba menjelaskan mengapa fungsi sigmoid dipilih, saya akan mengatakan "karena itu berarti Anda dapat membuat perubahan kecil pada masukan sesuai dengan perubahan kecil pada keluaran." Tapi bagaimana caranya? Saya tidak mengikuti matematika turunan parsial dan tidak memiliki latar belakang dalam turunan parsial (dan begitu pula audiens saya). Mengetahui mengapa dan bagaimana fungsi esigma dipilih akan membantu mengungkap mengapa jaringan saraf bekerja.

Sayangnya turunan parsial tidak dijelaskan (mungkin mereka akan berada di tempat lain).

Bagian kedua dari pertanyaan saya adalah, Bagaimana $Δoutput$sebuah "fungsi linier"? Mengapa tidak hanya lereng datar saja, bukan yang berbentuk sigmoid. Mengapa harus begitu mewah? Bagaimana "menggunakan σ akan menyederhanakan aljabar"? Di mana saya dapat menemukan makalah penelitian tentang pemikiran asli di balik ini, atau jika Anda tahu jawabannya, bagaimana Anda bisa menjelaskan mengapa menggunakan sigma akan menyederhanakan aljabar? Ini sepertinya merupakan bagian penting dari penjelasan tentang mengapa kami menggunakan fungsi sigma di tempat pertama, jadi memiliki penjelasan awam akan sangat membantu.

Jawaban

5 AaronRotenberg Aug 19 2020 at 07:12

Jawaban untuk bagian pertama

Fungsi yang dimaksud disebut dengan fungsi logistik . Kadang-kadang juga disebut sebagai "" fungsi sigmoid, tetapi beberapa penulis menggunakan sigmoid untuk mengartikan fungsi berbentuk s saja .

Ada berbagai macam fungsi aktivasi yang digunakan dalam praktik di jaringan saraf, sigmoid, dan lainnya. Fungsi logistik adalah salah satu yang lebih umum, karena baik fungsi logistik dan turunannya ditentukan untuk semua input nyata, dapat ditulis sebagai ekspresi singkat dalam istilah fungsi dasar, dan dapat dihitung secara efisien menggunakan fungsi pustaka standar di sebagian besar pemrograman. bahasa. (Ini tidak seperti fungsi langkah yang digunakan sebagai fungsi aktivasi untuk perceptron klasik — turunan dari fungsi langkah tidak ditentukan pada diskontinuitas.) Fungsi aktivasi lain yang banyak digunakan yang memiliki properti ini adalah$\tanh$. Sebenarnya tidak ada alasan kuat untuk memilih salah satu dari yang lain ketika awalnya menyajikan neuron sigmoid. Anda dapat memilih hampir semua fungsi yang Anda pelajari cara membedakannya dalam kelas Kalkulus 1 dan yang memiliki bentuk sigmoid dengan asimtot di$\pm\infty$. Mereka memiliki karakteristik kinerja yang sedikit berbeda dalam pelatihan, tetapi itu tidak terlalu relevan untuk penjelasan awal.

Sayangnya, sangat sulit untuk menjelaskan propagasi mundur tanpa memahami turunan parsial, karena propagasi mundur secara harfiah hanyalah penurunan gradien di mana gradien dihitung dengan diferensiasi otomatis . Saya akan merekomendasikan menonton serial video YouTube 3Blue1Brown yang luar biasa tentang cara kerja propagasi mundur: bagian 1 , bagian 2 , dan terutama bagian 3 dan bagian 4 .

Anda menyebut audiens dalam pertanyaan. Jika Anda akan mempresentasikan materi ini, saya akan mempertimbangkan dengan serius untuk merujuk penonton Anda ke 4 video yang ditautkan di atas, setidaknya sebagai referensi. Mereka pasti memberikan penjelasan yang lebih baik daripada yang bisa saya berikan dalam ceramah.

Jawaban untuk bagian kedua

Alasan untuk tidak menggunakan fungsi linier adalah karena jaringan saraf dengan semua fungsi aktivasi linier merupakan kombinasi linier dari fungsi linier, dan oleh karena itu ia sendiri merupakan fungsi linier. Jadi, menggunakan fungsi aktivasi linier merindukan seluruh poin pelatihan jaringan saraf; Anda bisa mendapatkan hasil yang sama lebih cepat dengan melakukan kesesuaian kuadrat terkecil dari fungsi linier ke data .

Untuk menyederhanakan sedikit: jaringan neural dengan fungsi aktivasi linier hanyalah fitur "paskan garis tren" di Excel.

Sebaliknya, ada teorema pendekatan universal yang mengatakan bahwa, untuk fungsi aktivasi nonlinear yang cukup bagus , fungsi apa pun dapat didekati dengan baik dengan menggunakan neuron yang cukup.

Teorema aproksimasi universal tidak ditemukan selama bertahun-tahun setelah jaringan saraf pertama kali ditemukan, jadi itu bukan faktor pendorong dalam penemuan mereka. Penelitian jaringan saraf awal terutama terinspirasi oleh neuron biologis (sejenis di otak Anda) dan teori kontrol.

Sementara teorema pendekatan universal mengatakan bahwa jaringan saraf yang cukup besar memiliki potensi untuk mendekati fungsi apa pun dengan baik, alasan sebenarnya mengapa metode standar pelatihan jaringan saraf (propagasi mundur penurunan gradien stokastik) berkinerja sangat baik dalam praktiknya masih kurang dipahami dan aktif. bidang penelitian.