Seberapa berarti hubungan antara MLE dan lintas entropi dalam pembelajaran yang mendalam?

12

Saya mengerti bahwa diberikan satu set pengamatan independen yang Maximum Likelihood Estimator (atau, sama, MAP dengan datar / seragam sebelumnya) yang mengidentifikasi parameter yang menghasilkan distribusi Model p_ {Model} \ kiri (\, \ cdot \,; \ mathbf {θ} \ kanan) yang paling cocok dengan pengamatan itu adalahmO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

atau, lebih nyaman

θML(O)=argminθi=1mlogpmodel(o(i);θ)

dan lihat peran yang dapat dimainkan θML dalam mendefinisikan fungsi kerugian untuk jaringan saraf dalam multi-kelas, di mana θ sesuai dengan parameter jaringan yang dapat dilatih (misalnya, θ={W,b}) dan pengamatan adalah pasangan dari aktivasi input x dan label kelas yang benar sesuai y[1,k] , o(i) = { x(i),y(i) }, dengan mengambil

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Apa yang saya tidak mengerti adalah bagaimana ini berhubungan dengan apa yang disebut "cross entropy" dari output (vectorized) yang benar, , dan aktivasi output yang sesuai dari jaringan, yang digunakan dalam praktek ketika mengukur kesalahan / kerugian selama pelatihan . Ada beberapa masalah terkait:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Aktivasi "sebagai probabilitas"

Salah satu langkah dalam membangun hubungan antara MLE dan cross entropy adalah menggunakan aktivasi output "seolah-olah" mereka adalah probabilitas. Tapi itu tidak jelas bagi saya bahwa mereka, atau setidaknya bahwa mereka berada.all

Dalam menghitung kesalahan pelatihan - khususnya, menyebutnya "kehilangan lintas entropi" - diasumsikan bahwa (setelah menormalkan aktivasi menjadi 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

atau

logpmodel(o(i);θ)=logay(i)(x(i);θ)

supaya kita bisa menulis

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

dan dengan demikian

θML(O)=argminθi=1mH(o(i);θ)

Tetapi sementara ini tentu saja membuat probabilitas (sejauh ada sesuatu), ia tidak menempatkan batasan pada aktivasi lainnya.ay(i)(x(i);θML)

Bisakah benar-benar dikatakan PMF dalam kasus itu? Apakah ada sesuatu yang membuat tidak pada kenyataannya probabilitas (dan hanya "seperti" mereka )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Batasan kategorisasi

Langkah penting di atas dalam menyamakan MLE dengan lintas-entropi bergantung sepenuhnya pada struktur "satu-panas" dari yang mencirikan masalah pembelajaran multi-kelas (label tunggal). Struktur lain apa pun untuk akan membuat tidak mungkin untuk mendapatkan dari ke .y(i)y(i)(1)(3)

Apakah persamaan MLE dan minimalisasi lintas-entropi terbatas pada kasus-kasus di mana adalah "satu-panas"? y(i)


Peluang pelatihan dan prediksi yang berbeda

Selama prediksi, hampir selalu demikian

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

yang menghasilkan probabilitas prediksi yang benar yang berbeda dari probabilitas yang dipelajari selama pelatihan kecuali jika itu dapat diandalkan

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

Apakah ini dapat diandalkan? Apakah itu kemungkinan kira-kira setidaknya benar? Atau adakah argumen lain yang membenarkan persamaan ini dari nilai aktivasi yang dipelajari pada posisi label dengan probabilitas bahwa nilai maksimum dari aktivasi yang dipelajari terjadi di sana?


Teori entropi dan informasi

Bahkan dengan asumsi bahwa masalah di atas ditangani dan aktivasi adalah PMF yang valid (atau dapat diperlakukan secara bermakna seperti itu), sehingga peran yang dimainkan oleh lintas entropi dalam menghitung tidak bermasalah, tidak jelas untuk saya mengapa sangat membantu atau bermakna untuk berbicara tentang entropi dari , karena entropi Shanon berlaku untuk spesifik jenis pengkodean , yang bukan yang digunakan dalam pelatihan jaringan.θMLa(x(i);θML)

Apa peran yang dimainkan oleh entropi teoritik informasi dalam menginterpretasikan fungsi biaya, sebagai lawan dari sekadar menyediakan alat (dalam bentuk entropi silang) untuk menghitung satu (yang sesuai dengan MLE)?

orome
sumber

Jawaban:

5

Jaring saraf tidak selalu memberikan probabilitas sebagai output, tetapi mereka dapat dirancang untuk melakukan ini. Untuk ditafsirkan sebagai probabilitas, satu set nilai harus nonnegatif dan dijumlahkan menjadi satu. Merancang jaringan ke probabilitas keluaran biasanya sama dengan memilih lapisan keluaran yang memaksakan kendala ini. Misalnya, dalam masalah klasifikasi dengan kelas , pilihan umum adalah lapisan output softmax dengan unit . Fungsi softmax memaksa output menjadi tidak negatif dan dijumlahkan menjadi satu. The th Unit keluaran memberikan probabilitas bahwa kelas adalah . Untuk masalah klasifikasi biner, pilihan populer lainnya adalah menggunakan unit output tunggal dengan logistikkkjjfungsi aktivasi. Output dari fungsi logistik adalah antara nol dan satu, dan memberikan probabilitas bahwa kelas adalah 1. Probabilitas bahwa kelas adalah 0 secara implisit satu minus nilai ini. Jika jaringan tidak mengandung lapisan tersembunyi, maka dua contoh ini masing-masing setara dengan regresi logistik multinomial dan regresi logistik .

Cross entropy mengukur perbedaan antara dua distribusi probabilitas dan . Ketika cross entropy digunakan sebagai fungsi kerugian untuk pengklasifikasi diskriminatif, dan adalah distribusi di atas label kelas, diberi input (yaitu titik data tertentu). adalah distribusi 'benar' dan adalah distribusi yang diprediksi oleh model. Dalam masalah klasifikasi tipikal, setiap input dalam dataset dikaitkan dengan label integer yang mewakili kelas sebenarnya. Dalam hal ini, kami menggunakan distribusi empiris untukH(p,q)pqpqpqp. Ini hanya menetapkan probabilitas 1 ke kelas sebenarnya dari suatu titik data, dan probabilitas 0 untuk semua kelas lainnya. adalah distribusi probabilitas kelas yang diprediksi oleh jaringan (misalnya seperti yang dijelaskan di atas).q

Katakanlah datanya iid, adalah distribusi empiris, dan adalah distribusi yang diprediksi (untuk titik data ke- ). Kemudian, meminimalkan kerugian lintas entropi (yaitu rata-rata di atas titik data) setara dengan memaksimalkan kemungkinan data. Buktinya relatif mudah. Ide dasarnya adalah untuk menunjukkan bahwa kehilangan entropi silang sebanding dengan jumlah probabilitas prediksi log negatif dari titik data. Ini jatuh dengan rapi karena bentuk distribusi empiris.piqiiH(pi,qi)

Kehilangan lintas entropi juga dapat diterapkan secara lebih umum. Misalnya, dalam masalah 'klasifikasi lunak', kami diberi distribusi lebih dari label kelas daripada label kelas keras (jadi kami tidak menggunakan distribusi empiris). Saya menjelaskan cara menggunakan cross entropy loss dalam kasus ini di sini .

Untuk membahas beberapa spesifik lain dalam pertanyaan Anda:

Peluang pelatihan dan prediksi yang berbeda

Sepertinya Anda menemukan unit output dengan aktivasi maksimum dan membandingkannya dengan label kelas. Ini tidak dilakukan untuk pelatihan dengan menggunakan cross entropy loss. Alih-alih, probabilitas keluaran oleh model dibandingkan dengan probabilitas 'benar' (biasanya dianggap sebagai distribusi empiris).

Entropi Shanon berlaku untuk jenis pengkodean tertentu, yang bukan yang digunakan dalam pelatihan jaringan.

Cross entropy dapat diartikan sebagai jumlah bit per pesan yang dibutuhkan (rata-rata) untuk menyandikan peristiwa yang diambil dari distribusi benar , jika menggunakan kode optimal untuk distribusi . Cross entropy mengambil nilai minimum (entropi Shannon ) ketika . Semakin baik kecocokan antara danH(p,q)pqH(p)pq=pqp, semakin pendek panjang pesan. Pelatihan model untuk meminimalkan entropi silang dapat dilihat sebagai melatihnya untuk lebih mendekati perkiraan distribusi sebenarnya. Dalam masalah pembelajaran yang diawasi seperti yang telah kita bahas, model memberikan distribusi probabilitas atas kemungkinan keluaran, diberi input. Secara eksplisit menemukan kode optimal untuk distribusi bukan bagian dari proses.

pengguna20160
sumber
"Ini tidak dilakukan untuk pelatihan menggunakan cross entropy loss." Ini persis seperti apa yang dilakukan API seperti TensorFlow softmax_cross_entropy_with_logits: mereka menghitung dan karenanya yang mendefinisikan jaringan "yang dirancang untuk" menghasilkan probabilitas (setidaknya di lokasi label). Tidak? argminθi=1mH(o(i);θ)θML(O)
orome
Ya, cross entropy diminimalkan dan kemungkinan dimaksimalkan (setidaknya secara lokal). Dalam kalimat itu, saya mengacu pada persamaan di bagian "pelatihan yang berbeda dan probabilitas prediksi". Melihat lagi, tidak jelas bagi saya apa yang Anda maksud dengan persamaan-persamaan itu, jadi saya hanya akan mengatakan ini: jika Anda menggunakan lapisan keluaran di mana setiap unit memberikan probabilitas kelas (misalnya softmax). Probabilitas model adalah sama selama pelatihan dan prediksi. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160
Saya mengerti bahwa nilai yang sama digunakan - yaitu, yang dipelajari digunakan dalam prediksi - tetapi nilai tersebut digunakan dengan cara yang berbeda. Probabilitas yang dipelajari model untuk memang , tetapi probabilitas bahwa akan diprediksi oleh model yang terlatih sebagai respons terhadap input yang sama, adalah . Ini tidak sama kecuali (2) benar. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome
Dan (pertanyaan pertama) saya mengerti itu karena perannya, didefinisikan dalam persamaan. (1), dimainkan oleh dalam memaksimalkan , yang nilai-nilai yang probabilitas (bukan karena softmax, yang hanya memastikan mereka akan menambah 1). Tapi itu tidak menempatkan kendala pada lainnya ; (selain jumlahnya ). Jadi saya tidak melihat bagaimana sebagai sebuah lubang dapat dianggap sebagai PMF. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
orome
Cara lain untuk menunjukkan poin dari pertanyaan pertama adalah bahwa hanya pernah berpartisipasi dalam proses ML, dan dengan demikian hanya mereka yang dapat dianggap sebagai probabilitas. Dan sementara fungsi aktivasi yang sesuai (misalnya softmax) memastikan bahwa jumlah aktivasi yang tersisa akan menjadi probabilitas, hubungan di antara mereka tidak memiliki arti. ay(i)
orome
3

Saya akan menjawab dari perspektif yang sedikit lebih umum, mengenai sifat bagaimana, kapan, dan mengapa kita dapat menganggap keluaran NN sebagai distribusi probabilitas.

Dalam arti bahwa softmax memaksakan output ke jumlah ke 1 dan juga menjadi non-negatif, output dari jaringan adalah distribusi probabilitas diskrit atas kelas-kelas, atau setidaknya dapat diartikan demikian. Oleh karena itu sangat masuk akal untuk berbicara tentang lintas-entropi dan kemungkinan maksimum.

Namun, apa yang saya pikir Anda lihat (dan itu benar), adalah bahwa "probabilitas" keluaran mungkin tidak ada hubungannya dengan probabilitas sebenarnya dari kebenaran . Ini adalah masalah terkenal di ML, yang disebut kalibrasi . Misalnya, jika penggolong Anda anjing dan kucing mengatakan , maka Anda akan berharap bahwa jika Anda mengambil satu set contoh semuanya memiliki , maka kira-kira 30% dari input akan salah klasifikasi (karena hanya 70% percaya diri).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Namun, ternyata metode pelatihan modern tidak memaksakan ini sama sekali! Lihat Guo et al, Pada Kalibrasi Jaringan Saraf Modern untuk melihat beberapa diskusi tentang ini.

Dengan kata lain, "probabilitas" dari output dari softmax mungkin tidak ada hubungannya dengan kepercayaan model yang sebenarnya. Dan ini tidak mengherankan: kami hanya ingin memaksimalkan akurasi kami, dan setiap contoh input memiliki kemungkinan 1 menjadi kelas targetnya. Ada sedikit insentif model untuk mendapatkan ini dengan benar. Jika tidak perlu memperkirakan ketidakpastian maka mengapa harus demikian? Cross-entropy tidak memperbaiki masalah ini; memang, Anda menyuruhnya pergi ke fungsi delta setiap kali!

Banyak pekerjaan terbaru pada jaringan saraf Bayesian berusaha untuk memperbaiki masalah ini. Model semacam itu menggunakan distribusi parameter yang diberikan data , yang dapat diintegrasikan untuk mendapatkan distribusi probabilitas aktual . Ini membantu menjamin pengukuran ketidakpastian yang bermanfaat dan kalibrasi yang lebih baik. Namun, ini lebih bermasalah secara komputasi.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

Semoga saya tidak salah mengerti pertanyaan Anda!

pengguna3658307
sumber
Sebuah karya terkait yang bagus: arxiv.org/abs/1711.01297
user3658307
0

Jaringan saraf umpan-maju memperkirakan probabilitas kelas sebenarnya ketika dilatih dengan benar.

Pada 1991, Richard & Lippmann membuktikan bahwa feed-forward neural networks mendekati probabilitas kelas posterior, ketika dilatih dengan pola target indikator kelas {0,1} [ Richard MD, & Lippmann RP (1991). Pengklasifikasi jaringan syaraf memperkirakan probabilitas bayesian a posteriori. Komputasi Saraf, 3, 461–483 .]. Dalam garis pembuktian mereka, mereka menggunakan jaringan neural feed-forward layer tersembunyi.

Dalam anotasi matematis Duda & Hart [ Duda RO & Hart PE (1973), Klasifikasi Pola dan Analisis Adegan, Wiley ], mendefinisikan distribusi fitur yang disediakan sebagai vektor input ke jaringan saraf umpan maju sebagai , di mana misalnya vektor data sama dengan , untuk tugas klasifikasi dengan 4 fitur-variabel. Indeks menunjukkan kemungkinan kelas, .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

Pengklasifikasi jaringan saraf umpan maju mempelajari probabilitas posterior, , ketika dilatih oleh gradient descent. Pola keluaran yang diinginkan perlu misalnya menjadi , untuk masalah klasifikasi dua kelas. Jaringan saraf umpan-maju memiliki satu simpul keluaran per kelas. Vektor menunjukkan bahwa vektor fitur yang diamati milik kelas 2.P^(ωix)o=(0,1)(0,1)

Match Maker EE
sumber
Bukan itu pertanyaannya.
orome
0

Kemungkinan log tidak secara langsung terkait dengan entropi dalam konteks pertanyaan Anda. Kesamaannya dangkal: keduanya memiliki jumlah logaritma jumlah probabilitas-seperti.

Logaritma dalam log-likelihood (MLE) dilakukan murni untuk alasan perhitungan numerik. Produk probabilitas bisa berjumlah sangat kecil, terutama jika sampel Anda besar. Kemudian kisaran kemungkinan berubah dari 1 menjadi nilai produk yang sangat kecil. Saat Anda mendapatkan log, produk menjadi jumlah, dan fungsi log memampatkan rentang nilai ke domain yang lebih kecil dan lebih mudah dikelola. Logaritma adalah fungsi monoton, sehingga maksimum (min) log-kemungkinan akan menghasilkan jawaban yang sama dari kemungkinan itu sendiri. Oleh karena itu, kehadiran log dalam ekspresi MLE tidak penting dalam arti matematis, dan hanya masalah kenyamanan.

Kehadiran fungsi logaritma dalam entropi lebih substansial, dan berakar pada mekanika statistik, cabang fisika. Ini terkait dengan distribusi Boltzmann , yang digunakan dalam teori gas. Anda bisa mendapatkan tekanan udara sebagai fungsi dari ketinggian yang menggunakannya, misalnya.

Aksakal
sumber
Bisakah Anda menyoroti bagian mana dari pertanyaan ini yang dituju?
orome
Seperti yang saya katakan di OP, jelas bahwa penggunaan log dengan cara kedua mengekspresikan MLE hanyalah kenyamanan (dua paragraf pertama Anda). Dan paragraf terakhir Anda sepertinya mengatakan bahwa kehadiran log dalam ekspresi untuk entropi bermakna - dalam konteks entropi (terutama fisika). Tetapi apa yang hilang (dan inilah pertanyaannya) adalah pembenaran untuk menghubungkan dua pengamatan berbeda (dan benar) ini. Saya tidak melihat satu, selain persamaan setelah (3) menjadi cara yang berguna untuk mengekspresikan persamaan kedua untuk MLE. Mungkin itu yang kamu katakan?
orome
@ Atau, Anda dapat membuat NN untuk menghitung entropi, tentu saja, tetapi bukan itu fungsi cross entropy yang sebenarnya digunakan dalam kebanyakan kasus. Anda dapat menganggapnya sebagai jenis lain dari fungsi biaya, itu saja di sini. Tampaknya memiliki sifat yang diinginkan, dan simetris.
Aksakal
Ya, begitu menyebutnya entropi atau menyarankan bahwa bermakna distrubutions (yang "entropi" memberikan wawasan apa pun) menyesatkan . ay(i)(x(i);θML)
orome
@ orome, saya tidak akan terobsesi dengan namanya. Ini seperti fungsi "kehilangan engsel" tidak ada hubungannya dengan engsel. Mereka menyebutnya "kehilangan entropi" karena bentuk fungsionalnya persis seperti persamaan entropi informasi.
Aksakal