ResNet
2014 年底接下出現 resNet 當時特別震驚,改變了大家對深度網絡做的層數的限制,
<img src="images/../../images/kaiming.png">
在ResNet 做到了誤差率 2.3 比人類的 5.1 還要低。從而 ImageNet 也退出歷史舞臺
<img src="../images/imagenet.jpg">
梯度消失
<img src="../images/resnet_001.png">
不是由過擬合而發生,是因爲網絡不暢通,因爲網絡太深造成前向信息傳遞過程衰減
梯度可以認爲是模型信息量,梯度大小信息量,還差多少擬合數據,當卷積神經網 label 用於靠近輸出層擬合,所以在接近輸入的層梯度爲 0 ,變寬不如變深效果,變寬平方增加,變深是線性增加,也就是簡單函數來擬合(變深)
functin
resNet 是串聯,輸入可以跳過一些層快速來輸出,梯度可以直接跳到前面,可以認爲兩個模型加載一起作爲輸出,也就是一個簡單模型和一個複雜模型合起來做一件事,
加入 batchnormal
Residual 塊(殘差塊)
- 提出了一種殘差模塊,通過堆疊殘差模塊可以避免信息丟失
- 解決反向傳播的梯度消失問題
- 批歸一化方法對抗梯度消失,從而降低網絡訓練過程對於權重初始化的依賴
<img src="../images/resnet_01.jpeg" width="60%">
- 前向傳播
- 反向傳播
<img src="../images/resnet_005.png">
在 VGG 中就是堆疊 3 x 3 的結構,運算效率,152 層,運行很慢,bottlenet 結構來減少運算量
介紹網絡結構
<img src="../images/resnet_02.jpeg">
我們看 152 層
- 最大化池化 重疊池化
- bottleNet 結構
- averagepool
- 全連接
殘差網絡性能結構
<img src="../imagee/../images/resnet_006.png">
殘差網絡可以看成集成模型,輸入直接通過這個分支。這個網絡可以,信息冗餘所以很好結果,集成網絡,隨便去掉神經網不會影響卷積神經網的工作,而在 VGG
而前幾層學習一些特徵,而後幾層學習另一些特徵,所以殘差網絡是可以自由組合,
DenseNet
<img src="../images/densenet.jpeg">
加法變爲合併操作,concate 深度增長很快,在 googleNet 加入 1 x 1 更改,這個在 Densenet 叫過渡塊,
- 維度降低(深度包括寬度和長度)