關於深度學習的機理,優化和網路結構的一些個人觀點(二).
現代很多深度學習文章,不乏利用不清不楚的網路去優化另外一個不清不楚的網路,得到一個更加不清不楚的網路的演算法,大家心理覺得酷,本萌也覺得很酷,酷的給了膝蓋。但是科學上的精神很墮落,我們還是不知道為什麼,本萌即便下跪心理還是接受不了的。
猜測機理1時,本萌其實早有隱藏計劃,後面神經網路layer by layer的前向映射是否合理(前向關聯作用),貝葉斯和有監督訓練是不是可以自然融合,超深訓練是否可以作分散式訓練(後向關聯弱化是否允許延遲更新,這個好像有人在搞)?
機理1中,本萌已經針對對這些點都說了觀點。。。機理1的想法都是大計劃中的引胃菜而已。。。。前提引胃菜是對的,不對只能繼續喂貓賣萌當吉祥物去。。。調皮點花哨點民科點說點本萌早期的腦洞。
- 嵌套特徵映射(深度學習嘛~但不一定是「牛牛牛」結構,可以是「犇」結構)。
- 有監督下的貝葉斯方案,我是變態交通道路設計者,依靠路徑拓撲實現指定分布,高爾頓板(多像一個前饋網路)就是經典中將路徑轉換成指定分布的實例,你把高爾頓板路徑按一定規則屏蔽,後期就不是高斯分布了,要按啥規則形成指定分布呢?
- 模塊化分散式訓練(我要層解偶,可控關聯!)。
廢話完了,開始正式的討論。機理1中,本萌提出了一個網路的3個指標,有效寬度(路徑複雜度量),有效前向深度(權重關聯),有效後向深度(梯度關聯),以及三個猜想原則。
- 有效寬度要小同時參數要多(防止過擬)。
- 後向深度要小(削弱深層訓練退化問題)。
- 前向深度相對小(目前還不清楚這個用途,太小並不好)。
目前還在搞一個指標和原則是用來連接貝葉斯的,目前發生點問題,暫時不公布。。。
第一猜想原則:
有效寬度小,參數大的測試,保持神經元個數相同,層數相同下,黑線勝利。括弧裡面分別是有效寬度和參數數目。
不過有時候設計不好,會是寬度小,不過參數也小,就會成黑線這樣衰了:
本萌推薦一種增加參數,又不增加太多寬度的設計(當然,還有其它的),相比傳統加寬技巧能減少寬度暴增。在CNN中,每個block設計如下,當然網路深了就要加殘差了:第二猜想原則(小型數值測試):
下圖是層與層的梯度Pearson關聯矩陣圖(取絕對值),網路共22層,去掉頭和尾,剩下20層,可以吃了,雞肉味嘎嘣脆。。。。bar的數值比較小,看起來都沒啥關聯,不過考慮到梯度雜訊太多,不太可能強。測試數據是MNIST,樣本10000,統計關聯實在跑不起大點的。結論,普通網路關聯是全地圖形的,性能會下降:
- 1+123網路:每個block中第一個conv和第三個conv作和,輸出到下一個block。
- 12+123網路:每個block中第二個conv同第三個conv作和,輸出到下一個block。
- 普通的網路
- 殘差網路。
下圖(圖中方塊中比如第一個,1+123表示網路結構,0.0093是平均關聯,緊跟著是分類性能。),測試是在CIFAR10下,故意只用1000個樣本。1+123和12+123都沒有加identity。但是1+123結構非常類似打捷徑,但是效果就是不如真殘差好。12+123效果最差,實際跑一個完整樣本+增強的測試,這個傢伙同plain差不多(機理1中的B網路)。我們只用小樣本訓練,看關聯圖就能判斷出來後期效果。
1+123和12+123都加了identity以後,分別記成1+123+x和12+123+x,會有下圖效果,關聯強度下降(看平均),性能提升,然而比較殘差的關聯強度,還是too simple了:第二猜想原則(存在問題):
- 關聯計算坑很多,數值不穩定,注意,本萌是跑一次很小的實驗,找個trick估計關聯。跑多實驗就沒意義了,還不如直接上個大的實驗看性能這種更直接。所以還不能驗證猜想正確性。
- 早期本萌理論猜測後向關聯越小越好,但是目前來看,數值結果不支持,部分地方大反而更好。另外,關聯依賴數據。。。而且,目前只能相對比較。。。畢竟數值絕對值沒啥可比性。
- 到底關聯矩陣圖是怎樣的才利於超深網路優化,稀疏?
- 打捷徑看起來不像是一個很好的退關聯技巧,是否有更加特別的退關聯技巧?
- 似乎關聯都是懟在開頭幾層,換句話說,是不是捷徑不必要全部打,開頭幾層打殘差,後面都是plain是不是更加利於優化。
第三猜想原則:
(未完待續。。。。。轉載需經過本人同意)
推薦閱讀:
※一個相關濾波跟蹤的簡單教程(附實現demo)
※李宏毅機器學習2016 第二十二講 循環神經網路RNN
※《Web安全之機器學習入門》上市
※通往無限層神經網路 (1):對於殘差網路(Residual Network)的一種理解方法,與深層網路的訓練
TAG:深度学习DeepLearning | 机器学习 | 大数据 |