日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

梯度消失的问题

發布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 梯度消失的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

梯度消失的問題

1.1什么是梯度消失

有人在CIFAR10這個數據集上面做了一個實驗,是不是卷積層越多越好,結果發現并不是如此。在層數增加之后表現并沒有有效的變好。這其實就是觸發了梯度消失的問題。

因為每一層計算的梯度最終都會乘算到一起,這個數值在最后的時候就會越來越小,乘的層數多了,自然而然就會變得越來越小。底層的網絡的梯度會變得特別小,很難得到有效的訓練,所以整體的準確度不高。

1.2這個問題如何解決—深度殘差網絡

我們可以使用如下的情況來進行解決,將一個沒有經過層處理的x直接傳下去。

這樣到底能達到一個怎樣的結果呢?其實得到就是下面這個結果:
每次計算梯度的時候,因為我們加了一個x那么永遠都有一個+1的存在,所以這樣我們永遠也不會出現梯度乘起來為0的情況了。

2.1實現

這里注意一點,想要兩個可以加和,那么必須存在這樣的一個情況就是,傳遞下來的x要和經過計算的y的(branch,channel,height,weight)是完全相同的才可以,所以我們一定要注意不能發生變形。

import numpy import torch from torchvision import functional as F class ResidualBlocK(torch.nn.Module):def __init__(self,input_channel):super(ResidualBlocK,self).__init__()#這里我們注意我們之前使用的是矩陣合并,合并的時候是除了合并的那一個維度之外所有維度都需要相等。#這里我們是使用矩陣加和,所以兩者的所有維度都必須是相等的,所以輸入和輸出的通道必須是相同的。self.conv1=torch.nn.Conv2d(input_channel,input_channel,kernel_size=3,padding=1)self.conv2=torch.nn.Conv2d(input_channel,input_channel,kernel_size=3,padding=1)self.input_channel=input_channeldef forward(x):y=F.relu(conv1(x))y=conv2(y)return F.relu(x)#這里我們注意一個小的細節,relu的位置我們要帶著x一起relu才可以。class Net(torch.nn.Module):def __init__(self,channel):super(Net,self).__init__()self.conv1=torch.nn.Conv2d(channel,16,kernel_size=5)self.conv2=torch.nn.Conv2d(16,32,kernel_size=5)self.resi1=ResidualBlocK(16)self.resi2=ResidualBlocK(32)self.maxpool=torch.nn.MaxPool2d(2)self.fullconnect=torch.nn.Linear(256,10)#同樣這個256也是算出來的,但是我們為了穩妥起見,還是自己構造一個數據集來新進行測試一下。逐步測試,每一次逐步的漸增。#最好是使用增量式開發來進行開發。def forward(x):input_num=x.size(0)x=self.maxpool(F.relu(self.conv1(x)))x=self.resi1(x)x=self.maxpool(F.relu(self.conv2(x)))x=self.resi2(x)x=x.view(input_num,-1)x=self.fullconnect(x)

2.2更多的工作

大家可以參考:
論文:Identity Mappings in Deep Residual Networks
中文翻譯:https://blog.csdn.net/cdknight_happy/article/details/78994071

總結

以上是生活随笔為你收集整理的梯度消失的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。