Diberikan fungsi biaya cembung, menggunakan SGD untuk optimisasi, kami akan memiliki gradien (vektor) pada titik tertentu selama proses optimasi.
Pertanyaan saya adalah, mengingat titik pada cembung, apakah gradien hanya menunjuk pada arah di mana fungsi naik / turun tercepat, atau gradien selalu menunjuk pada titik optimal / ekstrim dari fungsi biaya ?
Yang pertama adalah konsep lokal, yang terakhir adalah konsep global.
SGD akhirnya dapat menyatu ke nilai ekstrem dari fungsi biaya. Saya bertanya-tanya tentang perbedaan antara arah gradien yang diberikan titik sembarang pada cembung dan arah yang menunjuk pada nilai ekstrim global.
Arah gradien harus menjadi arah di mana fungsi naik / turun tercepat pada titik itu, kan?
neural-networks
optimization
gradient-descent
sgd
convex
Tyler 十三 将士 归 玉门
sumber
sumber
Jawaban:
Mereka mengatakan gambar bernilai lebih dari seribu kata. Dalam contoh berikut (milik MS Paint, alat yang berguna untuk ahli statistik amatir dan profesional keduanya) Anda dapat melihat permukaan fungsi cembung dan titik di mana arah penurunan curam jelas berbeda dari arah menuju optimal.
Pada catatan yang serius: Ada jawaban yang jauh lebih unggul di utas ini yang juga patut mendapat pujian.
sumber
Pandangan intuitif adalah membayangkan jalur keturunan yang merupakan jalur melengkung. Lihat misalnya contoh di bawah ini.
Sebagai analogi: Bayangkan saya menutup mata Anda dan menempatkan Anda di suatu tempat di gunung dengan tugas untuk berjalan kembali ke titik ekstrim (rendah). Di bukit, jika Anda hanya memiliki informasi lokal , maka Anda tidak tahu ke arah mana dasar danau akan berada.
Jika Anda dapat menganggap cembung
Tanpa cembung
Sudut mungkin melebihiπ/ 2 . Pada gambar di bawah ini ditekankan dengan menggambar panah arah keturunan untuk titik tertentu di mana solusi akhir berada di belakang garis yang tegak lurus dengan arah keturunan.
Dalam masalah cembung ini tidak mungkin. Anda bisa mengaitkan ini dengan isoline untuk fungsi biaya memiliki kelengkungan semua dalam arah yang sama ketika masalahnya cembung.
Dalam Keturunan Gradien Stochastic
Di bawah ini adalah pandangan lain untuk empat titik data . Masing-masing dari empat gambar menunjukkan permukaan untuk satu titik berbeda. Setiap langkah titik yang berbeda dipilih sepanjang gradien dihitung. Ini membuat bahwa hanya ada empat arah di mana langkah dibuat, tetapi ukuran langkah berkurang ketika kita semakin dekat dengan solusi.
Gambar di atas adalah untuk 4 titik data yang dihasilkan oleh fungsi:
yang mengakibatkan:
Ditulis oleh StackExchangeStrike
sumber
Keturunan curam dapat menjadi tidak efisien bahkan jika fungsi objektif sangat cembung.
Keturunan gradien biasa
Maksud saya "tidak efisien" dalam arti bahwa penurunan paling curam dapat mengambil langkah-langkah yang berosilasi liar dari optimal, bahkan jika fungsinya sangat cembung atau bahkan kuadratik.
yang menunjukkan kemajuan berosilasi liar menuju minimum.
Jalur langsung ke minimum adalah bergerak "secara diagonal" alih-alih dengan cara ini yang sangat didominasi oleh osilasi vertikal. Namun, gradient descent hanya memiliki informasi tentang kecuraman lokal, sehingga "tidak tahu" bahwa strategi akan lebih efisien, dan tunduk pada keanehan Hessian yang memiliki nilai eigen pada skala yang berbeda.
Penurunan gradien stokastik
SGD memiliki sifat yang sama, dengan pengecualian bahwa pembaruannya berisik, menyiratkan bahwa permukaan kontur terlihat berbeda dari satu iterasi ke yang berikutnya, dan karena itu gradiennya juga berbeda. Ini menyiratkan bahwa sudut antara arah langkah gradien dan optimal juga akan memiliki noise - bayangkan saja plot yang sama dengan beberapa jitter.
Informasi lebih lanjut:
Bisakah kita menerapkan analitik dari jaringan saraf untuk meningkatkan gradient descent?
Mengapa derivatif urutan kedua berguna dalam optimasi cembung?
Bagaimana perubahan fungsi biaya menjadi positif?
Jawaban ini meminjam contoh dan gambar ini dari Neural Networks Design (2nd 2nd.) Bab 9 oleh Martin T. Hagan, Howard B. Demuth, Mark Hudson Beale, Orlando De Jesús.
sumber
Arah curam lokal tidak sama dengan arah optimal global. Jika ya, maka arah gradien Anda tidak akan berubah; karena jika Anda pergi ke arah optimal Anda selalu, vektor arah Anda akan selalu menunjuk optimal. Tapi, bukan itu masalahnya. Jika itu masalahnya, mengapa repot menghitung gradien Anda setiap iterasi?
sumber
Jawaban lain menyoroti beberapa masalah tingkat konvergensi yang mengganggu untuk GD / SGD, tetapi komentar Anda "SGD akhirnya dapat menyatu ..." tidak selalu benar (mengabaikan komentar penggunaan yang berlebihan tentang kata "bisa" karena sepertinya Anda maksudkan "akan").
Saya tidak yakin apakah cembung cukup untuk memecah beberapa perilaku buruk yang ada untuk SGD umum, tetapi jika Anda mengizinkan fungsi yang serumit kubik untuk fungsi biaya Anda maka SGD dapat memantul pada subset domain yang padat dan tidak pernah bertemu di mana pun. atau mendekati siklus apa pun.
Satu hal yang menarik tentang keseluruhan situasi adalah bahwa ada banyak fungsi yang tak terhitung banyaknya (seperti SGD) yang mengambil fungsi cembung sewenang-wenang sebagai input dan kemudian mengeluarkan aturan pembaruan yang selalu dengan cepat konvergen ke minimum global (jika ada). Meskipun secara konseptual ada banyak dari mereka, upaya terbaik kami untuk optimasi cembung semua memiliki contoh tandingan patologis. Entah bagaimana gagasan aturan pembaruan sederhana / intuitif / berkinerja bertentangan dengan gagasan aturan pembaruan yang terbukti benar.
sumber
Mungkin jawaban untuk pertanyaan ini perlu pembaruan cepat. Sepertinya SGD menghasilkan minimum global juga dalam kasus non-cembung (cembung hanya kasus khusus itu):
Para penulis menetapkan konvergensi SGD ke minimum global untuk masalah optimisasi nonconvex yang umumnya ditemui dalam pelatihan jaringan saraf. Argumen mengeksploitasi dua sifat penting berikut: 1) kehilangan pelatihan dapat mencapai nilai nol (kurang-lebih); 2) SGD mengikuti jalur bintang-cembung. Dalam konteks seperti itu, walaupun SGD telah lama dianggap sebagai algoritma acak, makalah ini mengungkapkan bahwa SGD konvergen secara intrinsik deterministik ke minimum global.
Ini harus diambil dengan sebutir garam sekalipun. Makalah ini masih dalam peninjauan.
Gagasan jalur cembung-bintang memberikan petunjuk tentang ke arah mana gradien akan menunjuk pada setiap iterasi.
sumber