Apa yang dimaksud maxout dalam jaringan saraf?

42

Adakah yang bisa menjelaskan apa yang dilakukan unit maxout dalam jaringan saraf? Bagaimana kinerjanya dan bagaimana perbedaannya dari unit konvensional?

Saya mencoba membaca makalah "Maxout Network" 2013 oleh Goodfellow et al. (dari kelompok Profesor Yoshua Bengio), tapi saya tidak mengerti.

RockTheStar
sumber

Jawaban:

26

Lapisan maxout hanyalah lapisan di mana fungsi aktivasi adalah maks input. Seperti yang dinyatakan dalam makalah, bahkan MLP dengan 2 unit maksimum dapat mendekati fungsi apa pun. Mereka memberikan beberapa alasan mengapa maxout mungkin berkinerja baik, tetapi alasan utama yang mereka berikan adalah sebagai berikut -

Dropout dapat dianggap sebagai bentuk rata-rata model di mana subnetwork acak dilatih pada setiap iterasi dan pada akhirnya bobot dari berbagai jaringan acak tersebut dirata-ratakan. Karena seseorang tidak dapat rata-rata bobot secara eksplisit, pendekatan digunakan. Perkiraan ini tepat untuk jaringan linear.
Dalam maxout, mereka tidak menjatuhkan input ke lapisan maxout. Dengan demikian identitas input yang mengeluarkan nilai maks untuk titik data tetap tidak berubah. Jadi dropout hanya terjadi di bagian linear dari MLP tetapi orang masih dapat memperkirakan fungsi apa pun karena lapisan maxout.
Karena dropout hanya terjadi pada bagian linier, mereka menduga bahwa ini mengarah ke model yang lebih efisien rata-rata karena perkiraan rata-rata tepat untuk jaringan linear.

Kode mereka tersedia di sini .

Memilih
sumber
1
Terima kasih! Saya mengerti bagaimana melakukan maxout sekarang. Saya punya beberapa pertanyaan. (1) Jadi Anda tidak melakukan dropout sebelum maxout sesuai dengan apa yang Anda tulis "Dalam maxout, mereka tidak menjatuhkan input ke layer maxout."? (2) Apa yang dimaksud dengan bagian linear dari MLP? "Jadi, dropout hanya terjadi di bagian linear dari MLP tetapi seseorang masih dapat memperkirakan fungsi apa pun karena lapisan maxout." (3) Mengapa rata-rata lebih baik? "Karena dropout hanya terjadi pada bagian linier, mereka menduga bahwa ini mengarah ke model yang lebih efisien rata-rata karena perkiraan rata-rata tepat untuk jaringan linear."
RockTheStar
2
maks(zsaya)zsaya=kxk
Terima kasih! Untuk (3) apa yang dimaksud dengan "tepat", dan mengapa NN menjadi linier dengan maxout? Terima kasih banyak atas bantuan Anda.
RockTheStar
1
Nah maxout adalah arsitektur jaringan. Dropout adalah teknik regularisasi
Opt
1
-1 Ini bukan definisi yang benar dari fungsi aktivasi maxout Goodfellow. Jawaban oleh @ toussaint-louverture membuatnya benar. stats.stackexchange.com/a/298705/20587
Trisoloriansunscreen
15

Satuan maxout dapat mempelajari fungsi cembung linear sesegera mungkin dengan potongan hingga k. 1

Jadi ketika k adalah 2, Anda dapat mengimplementasikan ReLU, ReLU absolut, ReLU bocor, dll., Atau dapat belajar menerapkan fungsi baru. Jika k katakanlah 10, Anda bahkan dapat mempelajari fungsi cembung.

Ketika k adalah 2:

maks(w1Tx+b1,w2Tx+b2)w1,b1=0

Namun, tidak seperti neuron ReLU, ia menggandakan jumlah parameter untuk setiap neuron tunggal, yang mengarah ke jumlah parameter yang tinggi. 2

Anda dapat membaca detailnya di sini:
1. Buku DL
2. http://cs231n.github.io/neural-networks-1

Harun
sumber
Ini menggandakan jumlah parameter bias, tidak semua bobot.
Memiliki