Untuk masalah cembung, apakah gradien dalam Stochastic Gradient Descent (SGD) selalu menunjuk pada nilai ekstrim global?

25

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?

Tyler 十三 将士 归 玉门
sumber
6
Pernahkah Anda berjalan lurus menuruni bukit dari gunung, hanya untuk menemukan diri Anda di lembah yang terus menurun ke arah yang berbeda? Tantangannya adalah membayangkan situasi seperti itu dengan topografi cembung: pikirkan ujung pisau di mana punggungan paling curam di bagian atas.
Whuber
4
Tidak, karena itu keturunan gradien stokastik, bukan keturunan gradien. Inti dari SGD adalah bahwa Anda membuang beberapa informasi gradien dengan imbalan peningkatan efisiensi komputasi - tetapi jelas dalam membuang beberapa informasi gradien Anda tidak lagi akan memiliki arah gradien asli. Ini sudah mengabaikan masalah apakah gradien reguler mengarah ke arah penurunan optimal, tetapi intinya adalah, bahkan jika gradien reguler turun, tidak ada alasan untuk mengharapkan penurunan gradien stokastik untuk melakukannya.
Chill2Macht
3
@ Tyler, mengapa pertanyaan Anda secara khusus tentang keturunan gradien stokastik . Apakah Anda membayangkan sesuatu yang berbeda dibandingkan dengan penurunan gradien standar?
Sextus Empiricus
2
Gradien akan selalu mengarah ke optimal dalam arti bahwa sudut antara gradien dan vektor ke optimum akan memiliki sudut kurang dari , dan berjalan ke arah gradien jumlah yang sangat kecil akan membuat Anda lebih dekat ke optimal. π2
Pasang kembali Monica
5
Jika gradien menunjuk langsung ke minimizer global, optimisasi cembung akan menjadi sangat mudah, karena kita bisa melakukan pencarian garis satu dimensi untuk menemukan minimizer global. Ini terlalu banyak untuk diharapkan.
littleO

Jawaban:

36

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.

Gambar fungsi cembung memanjang dan panah yang menunjukkan bahwa arah penurunan paling curam tidak sama dengan arah menuju optimal global

Pada catatan yang serius: Ada jawaban yang jauh lebih unggul di utas ini yang juga patut mendapat pujian.

Jan Kukacka
sumber
27
Dan contoh tandingan hari ini adalah ... alpukat!
JDL
11
Anda melihat bahwa saat memotong alpukat, Anda harus memotong arah penurunan curam untuk menghindari benih dan kemungkinan cedera .
Jan Kukacka
28
  • Metode keturunan gradien menggunakan kemiringan permukaan.
  • Ini tidak selalu (atau bahkan kemungkinan besar tidak) menunjuk langsung ke titik ekstrem.

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

  • Maka Anda tahu bahwa hanya ada satu titik ekstrem.
  • Maka Anda tahu bahwa Anda pasti akan mencapai titik ekstrim selama Anda bergerak ke bawah.
  • Dan kemudian Anda juga tahu bahwa sudut antara arah penurunan paling curam dan arah optimal selalu paling banyak π/2 , seperti yang disebutkan Solomonoff's Secret dalam komentar.

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.

tidak cembung

Dalam Keturunan Gradien Stochastic

  • Anda mengikuti arah paling curam untuk satu titik (dan Anda berulang kali mengambil langkah untuk titik yang berbeda). Dalam contoh masalahnya adalah cembung, tetapi mungkin ada lebih dari satu solusi. Dalam contoh, nilai ekstrim berada pada garis (bukan titik tunggal), dan dari sudut pandang khusus ini Anda dapat mengatakan bahwa Arah penurunan paling curam, dapat menunjuk langsung ke "optimal" (meskipun hanya optimal untuk fungsi) dari titik sampel pelatihan tertentu)

satu titik

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.

penurunan gradien stokastik



Gambar di atas adalah untuk 4 titik data yang dihasilkan oleh fungsi:

yi=e0.4xie0.8xi+ϵi

x = 0      2      4      6           
y = 0.006  0.249  0.153  0.098

yang mengakibatkan:

  • S(a,b)=i=1(yi(eaxiebxi))2
    S(a,b)=[i=12xieaxi(yieaxiebxi)i=12xiebxi(yieaxiebxi)]

  • S(a,b)=i=1(yi(ae0.4xibe0.8xi))2
    S(a,b)=[i=12e0.4xi(yiae0.4xibe0.8xi)i=12e0.8xi(yiae0.4xibe0.8xi)]

  • i

    S(a,b)=(yi(ae0.4bxibe0.8xi))2
    S(a,b)=[2e0.4xi(yiae0.4xibe0.8xi)2e0.8xi(yiae0.4xibe0.8xi)]
    abS=0


Ditulis oleh StackExchangeStrike


Sextus Empiricus
sumber
17

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.

f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

α=0.035x(0)=[0.5,0.5],

x(1)=x(0)αf(x(0))

yang menunjukkan kemajuan berosilasi liar menuju minimum.

masukkan deskripsi gambar di sini

θ(x(i),x)(x(i),x(i+1))

masukkan deskripsi gambar di sini

x2x12f(x)

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:


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.

Sycorax berkata Reinstate Monica
sumber
13

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?

senjata
sumber
3

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").

(x0,y0)=(1,0)
α
f(x,α)=α2αx.

(f(x0,α)y0)2=α2α,
β
αn+1=αnβ(2αn1)=αn(2αn1)=1αn.
α=12p=12p1p

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.

Hans Musgrave
sumber
1
β=1
1
Perhatikan bahwa bukti konvergensi SGD mengasumsikan ukuran langkah menurun ...
Jan Kukacka
@ MartijnWeterings Pengamatan yang bagus. Saya kira contoh saya benar-benar menunjukkan arah yang benar. Haruskah saya memperbaruinya dengan contoh 2D yang tidak pernah menunjukkan arah dan penyimpangan yang benar?
Hans Musgrave
β=1β>0βf(x,α)=α2αxβ.
fβ
2

Mungkin jawaban untuk pertanyaan ini perlu pembaruan cepat. Sepertinya SGD menghasilkan minimum global juga dalam kasus non-cembung (cembung hanya kasus khusus itu):

SGD Konvergen ke Global Minimum In Deep Learning melalui Star-Convex Path, penulis anonim , Makalah dalam tinjauan double-blind di ICLR 2019

https://openreview.net/pdf?id=BylIciRcYQ

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.

Tolga Birdal
sumber