【算法】一个简单的Resnet原理
按理說,當我們堆疊一個模型時,理所當然的會認為效果會越堆越好。因為,假設一個比較淺的網絡已經可以達到不錯的效果,那么即使之后堆上去的網絡什么也不做,模型的效果也不會變差。
MobileNet V2的論文[2]也提到過類似的現象,由于非線性激活函數Relu的存在,每次輸入到輸出的過程都幾乎是不可逆的(信息損失)。我們很難從輸出反推回完整的輸入。
也許賦予神經網絡無限可能性的“非線性”讓神經網絡模型走得太遠,卻也讓它忘記了為什么出發(想想還挺哲學)。這也使得特征隨著層層前向傳播得到完整保留(什么也不做)的可能性都微乎其微。
用學術點的話說,這種神經網絡丟失的“不忘初心”/“什么都不做”的品質叫做恒等映射(identity mapping)。
因此,可以認為Residual Learning的初衷,其實是讓模型的內部結構至少有恒等映射的能力。以保證在堆疊網絡的過程中,網絡至少不會因為繼續堆疊而產生退化!
輸入224x224,輸出7x7,224/7=32=2^5,下采樣5次
第一個已經由Feature Pyramid Network[5]提出了,那就是跳連接相加可以實現不同分辨率特征的組合,因為淺層容易有高分辨率但是低級語義的特征,而深層的特征有高級語義,但分辨率就很低了。
第二個理解則是說,引入跳接實際上讓模型自身有了更加“靈活”的結構,即在訓練過程本身,模型可以選擇在每一個部分是“更多進行卷積與非線性變換”還是“更多傾向于什么都不做”,抑或是將兩者結合。模型在訓練便可以自適應本身的結構,這聽起來是多么酷的一件事啊!
那么“如果用跳接組合更多分辨率的特征,模型的效果會不會更好?”這就是DenseNet回答我們的問題了。
作者:薰風初入弦
鏈接:https://www.zhihu.com/question/64494691/answer/786270699
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
猜你喜歡:👇🏻
?【算法】一個簡單的ISODATA原理
?【總結】機器學習劃分數據集的幾種方法
?【算法】anchor free 和 anchor based 目標檢測模型
總結
以上是生活随笔為你收集整理的【算法】一个简单的Resnet原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bash 抓捕异常_SHELL异常处理(
- 下一篇: 怎样重启计算机来关闭u口,从电脑USB接