Apa arti "derajat kebebasan" dalam jaringan saraf?


17

Dalam buku Bishop "Klasifikasi Pola dan Pembelajaran Mesin", itu menggambarkan teknik untuk regularisasi dalam konteks jaringan saraf. Namun, saya tidak mengerti satu paragraf yang menjelaskan bahwa selama proses pelatihan, jumlah derajat kebebasan meningkat seiring dengan kompleksitas model. Kutipan yang relevan adalah sebagai berikut:

Alternatif untuk regularisasi sebagai cara mengendalikan kompleksitas jaringan yang efektif adalah prosedur penghentian dini. Pelatihan model jaringan nonlinear berhubungan dengan pengurangan berulang dari fungsi kesalahan yang didefinisikan sehubungan dengan satu set data pelatihan. Untuk banyak algoritma optimisasi yang digunakan untuk pelatihan jaringan, seperti gradien konjugat, kesalahannya adalah fungsi yang tidak bertambah dari indeks iterasi. Namun, kesalahan diukur sehubungan dengan data independen, umumnya disebut set validasi, sering menunjukkan penurunan pada awalnya, diikuti oleh peningkatan ketika jaringan mulai terlalu fit. Oleh karena itu pelatihan dapat dihentikan pada titik kesalahan terkecil sehubungan dengan set data validasi, seperti yang ditunjukkan pada Gambar 5.12, untuk mendapatkan jaringan yang memiliki kinerja generalisasi yang baik.Perilaku jaringan dalam kasus ini kadang-kadang dijelaskan secara kualitatif dalam hal jumlah efektif derajat kebebasan dalam jaringan, di mana jumlah ini dimulai dari kecil dan kemudian tumbuh selama proses pelatihan, sesuai dengan peningkatan stabil dalam efektivitas. kompleksitas model.

Ia juga mengatakan bahwa jumlah parameter bertambah selama pelatihan. Saya berasumsi bahwa dengan "parameter", ini mengacu pada jumlah bobot yang dikendalikan oleh unit tersembunyi jaringan. Mungkin saya salah karena bobotnya dicegah bertambah besar oleh proses regularisasi tetapi jumlahnya tidak berubah. Mungkinkah itu merujuk pada proses menemukan sejumlah unit tersembunyi yang bagus?

Apa derajat kebebasan dalam jaringan saraf? Parameter apa yang meningkat selama pelatihan?


1
Tata nama. Parameter adalah bobot tunggal. Jumlah parameter yang meningkat berarti jumlah "neuron" atau "koneksi antar neuron" meningkat. Ini berarti topologi tidak konstan.
EngrStudent

Terima kasih! Tetapi mengapa pelatihan meningkatkan jumlah bobot?
Robert Smith

Sebenarnya ada algoritma pelatihan yang memanipulasi struktur jaringan saraf selama pelatihan (Cascade Correlation, NEAT, ...). Mereka biasanya secara konstan meningkatkan jumlah bobot. Tetapi saya tidak berpikir Bishop menyebutkan hal itu dalam bukunya.
alfa

@ alfa Menarik. Saya belum membaca keseluruhan buku, jadi saya tidak tahu apakah ini menyebutkan algoritma semacam itu. Saya tidak berpikir itu merujuk kepada mereka di bagian buku ini.
Robert Smith

Jawaban:


12

Saya menduga inilah yang dimaksud Bishop:

Jika Anda berpikir tentang neural net sebagai fungsi yang memetakan input ke output, maka ketika Anda pertama kali menginisialisasi net neural dengan bobot acak kecil, neural net terlihat sangat mirip dengan fungsi linear. Fungsi aktivasi sigmoid dekat dengan linier di sekitar nol (lakukan saja ekspansi Taylor), dan bobot masuk kecil akan menjamin bahwa domain efektif dari setiap unit tersembunyi hanya interval kecil di sekitar nol, sehingga seluruh jaringan saraf, terlepas dari berapa banyak lapisan yang Anda miliki, akan terlihat sangat mirip fungsi linear. Jadi Anda dapat secara heuristik menggambarkan jaringan syaraf sebagai memiliki sejumlah kecil derajat kebebasan (sama dengan dimensi input). Saat Anda melatih neural net, bobotnya bisa menjadi besar secara sewenang-wenang, dan neural net dapat mendekati fungsi non-linear sewenang-wenang yang lebih baik. Jadi saat pelatihan berlangsung,


Terima kasih atas jawaban Anda. Saya menambahkan bagian yang relevan dari buku ini sebagai kutipan, sehingga Anda dapat melihat konteksnya. Namun, tidak yakin apakah itu mengonfirmasi saran Anda.
Robert Smith

Ya, itu mengkonfirmasi apa yang kupikir maksud Bishop.
Marc Shivers

Membaca beberapa kali jawaban Anda, saya pikir ketika pelatihan berlangsung dan model mulai overfit, jumlah fungsi yang dapat diperkirakan oleh model sebenarnya berkurang karena itu akan memperkirakan poin yang sangat baik dari data pelatihan tetapi prediksinya akan menang ' t bagus karena tidak dapat digeneralisasi agar sesuai dengan poin lain atau kumpulan data serupa.
Robert Smith

4

Ungkapan "kadang-kadang dijelaskan secara kualitatif" menunjukkan bahwa ia hanya membuat analogi dengan regresi linier sederhana. Setiap kali kami menambahkan istilah ke model regresi linier, kami menambahkan derajat kebebasan ke model dan mengurangi derajat kebebasan dari yang terkait dengan istilah kesalahan. Jika kita memasukkan cukup istilah independen ke dalam model, kita dapat dengan sempurna "memprediksi" sejarah dari sekumpulan angka acak, tetapi kita benar-benar tidak dapat memprediksi masa depan.


3

Masalah derajat kebebasan pada model pembelajaran statistik yang rumit telah dibahas dalam Ye 1998 JASA . Pada dasarnya, idenya adalah untuk melihat seberapa banyak output dari model yang rumit, seperti jaringan saraf, merespons perubahan unit dalam input. Untuk model-model linier, relasinya tidak diragukan satu-ke-satu, sehingga derajat kebebasan untuk model kompleksitas (jumlah regresi) adalah phalhal. Untuk model yang lebih rumit (Kamu dianggap pohon regresi), kemampuan untuk menambahkan simpul tambahan memberikan cara yang lebih fleksibel, karena model CART akan mencari variabel yang baik untuk dipecah, dan titik perpecahan yang baik. Itu jauh lebih dari apa yang dapat dilakukan dengan menambahkan regressor ke model linier, dan Ye menemukan pohon regresi untuk mengkonsumsi sekitar 3,5-4 dfs per node. Jaringan saraf mungkin ada di suatu tempat di antaranya, tetapi derajat kebebasannya pasti jauh lebih besar dari jumlah unit, dan mungkin lebih besar dari jumlah bobot.

Saya pikir sesuatu yang serupa disediakan oleh HTF Sec. 7,6 , meskipun mereka secara mengejutkan tidak merujuk pada Ye (1998). Mereka menyebut Bishop sebagai kasus khusus.


1
Terima kasih. Itu sepertinya benar tetapi bagaimana dengan hubungan dengan pelatihan jaringan saraf? Saya menemukan di "Elemen Pembelajaran Statistik" di halaman 96 ( docs.google.com/... ) ekspresi yang berkaitan dengan derajat kebebasan dan kovarian, dan saya dapat melihat mengapa lebih banyak pelatihan akan mengurangi fungsi kesalahan dan sebagai konsekuensinya meningkatkan kovarian dan derajat kebebasan. Namun, saya tidak mengerti mengapa persamaan itu (3,60 dalam buku) berlaku.
Robert Smith

Ngomong-ngomong, sepertinya juga sedikit berbeda dari definisi tingkat kebebasan (yang digeneralisasi) yang dibicarakan di koran Ye.
Robert Smith

1
Saya kira Anda dapat menganggap kovarian itu sebagai versi kasar turunannya ... atau mungkin sebaliknya: turunannya, yang didefinisikan sebagai batas ketika ukuran langkahnya menjadi nol, dapat dianggap sebagai plim dari bahwa kovarians sebagai varian dari gangguan tersebut menjadi nol. Persamaan (3,60) tidak harus dipegang, itu adalah definisi , jadi tidak ada yang bisa dipegang. Apa yang dilakukannya terus adalah kesetaraan dengan definisi standar dari DFS untuk model linear bahwa mereka menyebutkan secara singkat pada halaman berikutnya, dan bahwa hanya aljabar linear model linear. Ye (1998) juga harus membicarakannya.
Tugas

3

Dia mengatakan "kompleksitas jaringan yang efektif". Dia sebenarnya mengacu pada ukuran bobot jaringan. Ini bisa dipahami dari segi minimum prinsip panjang deskripsi . Tetapi sebelum saya membahasnya, intuisi adalah bahwa semakin besar bobotnya, semakin banyak jenis fungsi yang dapat ditampung jaringan Anda, dan dengan demikian semakin tinggi derajat kebebasan (dan kompleksitas efektif).

Dalam bab itu ia berbicara tentang regularisasi, yang merupakan teknik mengurangi risiko overfitting secara efektif, dengan menuntut bobot sekecil mungkin. Secara umum,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
Zw ),

argminwnβ2[tny(xn,w)]2+α2iwi2

Secara umum, Anda memiliki perkiraan MAP yang setara dengan yang berikut,

wMAP=argminwlog2P(D|w)log2(w)

Sisi kanan ekspresi dapat diartikan sebagai jumlah bit yang diperlukan untuk menggambarkan classifier Anda. Istilah pertama mewakili jumlah bit yang diperlukan untuk mengkode kesalahan yang dilakukan jaringan Anda pada data pelatihan. Yang kedua mewakili jumlah bit yang diperlukan untuk mengkode bobot.

Estimasi MAP dengan demikian setara dengan memilih representasi paling kompak yang mungkin. Dengan kata lain, Anda mencari set bobot yang menjelaskan data pelatihan setepat mungkin yang dapat diekspresikan dengan jumlah bit paling sedikit.

Perhatikan bahwa ini adalah bentuk lain dari masalah bias / varians: semakin besar bobot, semakin rendah istilah pertama, karena jaringan dapat menyesuaikan data pelatihan dengan lebih baik (overfitting). Tetapi pada saat yang sama semakin tinggi kompleksitas bobotnya. Semakin kecil bobot, semakin kecil kompleksitas jaringan, tetapi semakin tinggi istilah kesalahan (bias). Semakin tinggi jumlah bit yang diperlukan untuk mengkode kesalahan jaringan.

Semoga ini memberi Anda ide yang cukup baik tentang apa yang dia maksud.

PS menambahkan argumen yang lebih panjang ke diskusi yang sedang berlangsung Mungkin saya salah paham dengan Anda. Biarkan saya mencoba menjelaskan diri saya untuk yang terakhir kalinya.

Prioritas pada bobot berarti mewakili asumsi yang kami buat tentang fungsi yang ingin Anda muat. Semakin besar sebelumnya (yaitu bobot) semakin luas Gaussian, yaitu semakin banyak konfigurasi yang dianggap sesuai dengan jaringan.

Mari kita perhatikan kasus regresi (seperti dalam makalah yang saya rujuk). Kesalahan generalisasi yang rendah berarti bahwa jaringan dapat memetakan sampel yang tidak terlihat sangat dekat dengan nilai aktual. Jika Anda memasang garis lurus, maka polinomial urutan pertama sudah cukup (kompleksitas rendah). Sekarang, Anda juga dapat menyesuaikan data dengan polinomial orde tinggi (biarkan koefisien orde tinggi berbeda dari nol). Kompleksitas jaringan lebih tinggi karena Anda memungkinkan osilasi, untuk kurva yang lebih kompleks. Namun demikian, jika koefisien yang sesuai dengan syarat pesanan lebih tinggi cukup rendah, jaringan dapat mendekati garis lurus dengan sangat baik, sehingga menghasilkan generalisasi yang baik.

Jadi inti dari MDL adalah membuat bobot Anda sekecil mungkin, selama kesalahan generalisasi dapat saya minimalkan.

Akhirnya, mengutip Anda: "Saya masih menemukan argumen yang menyulitkan bahwa ketika model mulai overfit, kemampuannya untuk memodelkan fungsi lain akan meningkat. Saya pikir itu sangat berlawanan karena model yang overfits, tidak dapat digeneralisasi untuk diterapkan pada yang baru informasi.". Ya, ini dapat memodelkan fungsi LAINNYA, fungsi yang lebih kompleks, tetapi akan gagal memodelkan fungsi yang ada dengan benar. Pada gambar 5.12 dalam buku ini, kesalahan pertama menurun, karena ukuran berat meningkat (pengurangan bias). Hingga titik tertentu ketika mulai meningkat lagi (penurunan generalisasi, pakaian berlebih).


1
Terima kasih. Ini mirip dengan ide Marc, namun, saya masih merasa kesulitan dengan argumen bahwa ketika model mulai overfit, kemampuannya untuk memodelkan fungsi-fungsi lain akan meningkat. Saya pikir itu sangat berlawanan karena model yang cocok, tidak dapat digeneralisasi untuk diterapkan pada informasi baru.
Robert Smith

1
Robert, saya percaya bahwa ada beberapa kesalahpahaman tentang apa arti kesalahan generalisasi vs kompleksitas jaringan, yaitu kemampuan untuk memodelkan fungsi yang lebih kompleks. Ada sejumlah makalah yang menjelaskan istilah-istilah yang berbeda, seperti cbcl.mit.edu/projects/cbcl/publications/ps/… .
jpmuc

Saya tidak berpikir ada kebingungan ketika istilah "kompleksitas" digunakan karena jika Anda memiliki banyak bobot dengan nilai-nilai gila, itu membuat modelnya sangat kompleks dan Anda dapat langsung mengetahui dari plot yang dihasilkan. Di sisi lain, mampu mengelola serangkaian fungsi yang luas membutuhkan model yang mampu menggeneralisasi data dengan baik yang dapat diperoleh dengan menghindari overfitting.
Robert Smith
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.