Yan LeCun dan yang lainnya berdebat dalam BackProp Efisien itu
Konvergensi biasanya lebih cepat jika rata-rata setiap variabel input selama set pelatihan mendekati nol. Untuk melihat ini, pertimbangkan kasus ekstrim di mana semua input positif. Bobot ke simpul tertentu dalam lapisan berat pertama diperbarui dengan jumlah yang sebanding dengan mana adalah kesalahan (skalar) pada simpul itu dan adalah vektor input (lihat persamaan (5) dan (10)). Ketika semua komponen vektor input positif, semua pembaruan bobot yang dimasukkan ke dalam simpul akan memiliki tanda yang sama (yaitu tanda ( )). Akibatnya, bobot ini hanya bisa berkurang atau bertambah bersamaδxδxδuntuk pola input yang diberikan. Jadi, jika vektor bobot harus berubah arah, ia hanya dapat melakukannya dengan zig-zag yang tidak efisien dan karenanya sangat lambat.
Inilah sebabnya mengapa Anda harus menormalkan input Anda sehingga rata-rata adalah nol.
Logika yang sama berlaku untuk lapisan tengah:
Heuristik ini harus diterapkan pada semua layer yang berarti bahwa kita ingin rata-rata output dari sebuah node mendekati nol karena output ini adalah input ke layer berikutnya.
Postscript @craq menegaskan bahwa kutipan ini tidak masuk akal untuk ReLU (x) = maks (0, x) yang telah menjadi fungsi aktivasi yang sangat populer. Sementara ReLU menghindari masalah zigzag pertama yang disebutkan oleh LeCun, itu tidak menyelesaikan poin kedua ini oleh LeCun yang mengatakan penting untuk mendorong rata-rata ke nol. Saya ingin tahu apa yang dikatakan LeCun tentang ini. Bagaimanapun, ada makalah yang disebut Batch Normalisasi , yang dibangun di atas karya LeCun dan menawarkan cara untuk mengatasi masalah ini:
Sudah lama diketahui (LeCun et al., 1998b; Wiesler & Ney, 2011) bahwa pelatihan jaringan menyatu lebih cepat jika inputnya diputihkan - yaitu, secara linear ditransformasikan menjadi nol rata-rata dan varian unit, dan terkait dengan dekorasi. Karena setiap lapisan mengamati input yang dihasilkan oleh lapisan di bawah ini, akan menguntungkan untuk mencapai pemutihan yang sama dari input setiap lapisan.
Omong-omong, video ini oleh Siraj menjelaskan banyak tentang fungsi aktivasi dalam 10 menit yang menyenangkan.
@elkout mengatakan, "Alasan sebenarnya mengapa tanh lebih disukai dibandingkan dengan sigmoid (...) adalah bahwa turunan dari tanh lebih besar daripada turunan dari sigmoid."
Saya pikir ini bukan masalah. Saya tidak pernah melihat ini menjadi masalah dalam literatur. Jika itu mengganggu Anda bahwa satu turunan lebih kecil dari yang lain, Anda bisa mengukurnya.
Fungsi logistik memiliki bentuk σ(x)=11+e−kx . Biasanya, kami menggunakank=1, tetapi tidak ada yang melarang Anda menggunakan nilai lain untukkuntuk membuat turunan Anda lebih luas, jika itu masalah Anda.
Nitpick: tanh juga merupakan fungsi sigmoid . Setiap fungsi dengan bentuk S adalah sigmoid. Apa yang kalian sebut sigmoid adalah fungsi logistik. Alasan mengapa fungsi logistik lebih populer adalah alasan historis. Ini telah digunakan untuk waktu yang lebih lama oleh ahli statistik. Selain itu, beberapa merasa lebih masuk akal secara biologis.