Maxout的深入理解

2021-07-10 17:21:39 字數 1118 閱讀 7712

轉之:

maxout出現在icml2013上,作者goodfellow將maxout和dropout結合後,號稱在mnist, cifar-10, cifar-100, svhn這4個資料上都取得了start-of-art的識別率。

從**中可以看出,maxout其實一種激發函式形式。通常情況下,如果激發函式採用sigmoid函式的話,在前向傳播過程中,隱含層節點的輸出表示式為:

其中w一般是2維的,這裡表示取出的是第i列,下標i前的省略號表示對應第i列中的所有行。但如果是maxout激發函式,則其隱含層節點的輸出表示式為:

這裡的w是3維的,尺寸為d*m*k,其中d表示輸入層節點的個數,m表示隱含層節點的個數,k表示每個隱含層節點對應了k個」隱隱含層」節點,這k個」隱隱含層」節點都是線性輸出的,而maxout的每個節點就是取這k個」隱隱含層」節點輸出值中最大的那個值。因為激發函式中有了max操作,所以整個maxout網路也是一種非線性的變換。因此當我們看到常規結構的神經網路時,如果它使用了maxout激發,則我們頭腦中應該自動將這個」隱隱含層」節點加入。參考

乙個日文的maxout ppt

中的一頁ppt如下:

ppt中箭頭前後示意圖大家應該可以明白什麼是maxout激發函式了。

maxout的擬合能力是非常強的,它可以擬合任意的的凸函式。最直觀的解釋就是任意的凸函式都可以由分段線性函式以任意精度擬合(學過高等數學應該能明白),而maxout又是取k個隱隱含層節點的最大值,這些」隱隱含層"節點也是線性的,所以在不同的取值範圍下,最大值也可以看做是分段線性的(分段的個數與k值有關)。**中的圖1如下(它表達的意思就是可以擬合任意凸函式,當然也包括了

relu

了):

詳細**見部落格:

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...

mysql 索引深入理解 深入理解MySql的索引

為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...