深度學習portoch筆記 概念隨筆

2022-07-24 12:09:12 字數 3011 閱讀 4281

空洞卷積:

2020-02-15

1.偏置引數個數

2d卷積時,如果設定該層偏置有效,偏置引數個數= 輸出通道數目。 

2.2d卷積分組個數限定

分組個數一定要能被輸入通道整除,並且要能被輸出通道整除。

輸入通道整除原因:因為 輸入通道/ 分組數目 要=整數。不等於整數時會發生。餘數通道怎麼處理問題。

輸出通道整除原因:不能整除會發生每個通道卷積次數不一致問題。

比如 輸入通道是6,分組是3 ,卷積大小3.如果輸出通道是7 。 單卷積核通道數6/3 = 2個通道。 輸出通道是7。這時,每個輸出通道相當於 卷(3*3)*2 的卷積核。總共需要14(7*2)個通道,但是原圖是6通道。這時候同樣發生 剩餘通道歸屬問題。相反,當卷積數目能整除通道數目時,有如下公式 (卷積數目)*單卷積核通道數目= (x *分組數)*單卷積核通道數目= x*輸入通道數目 。不會發生多餘通道歸屬問題,對於輸入通道的每個通道都是均衡的,不存在某些通道過重偏移。

2020-02-21

資訊處理問題角度觸發觀點

1.資訊瓶頸:

資訊從多到少,少到多。如自編碼。

2.稠密資訊轉稀疏資訊。

如貓狗識別,手寫數字識別。 輸入的(畫素數目), 輸出的是幾個類別。

3.稀疏資訊轉稠密資訊

如:生成網路。 輸入長髮,短髮,生成影象。目前還不夠火。

4.稠密轉稠密資訊

自編碼。語音轉文字;文字轉語音

池化作用1:池化能快速的減少無用特徵。適合稠密資訊轉稀疏資訊過程。卷積大步長效果類似池化,但是池化更快。但是。

稀疏資訊轉稠密資訊不適合使用池化。注意有反池化。但是反池化和池化不是一回事,一般反池化稱為上取樣。

最大池化:網路的中間及前面部分使用最大池化。最大池化一般用於提取前景資訊,盡快的體現資料的(特徵差異)。前景資訊差異大。

平均池化:網路結尾一般使用平均池化或者不用。平均池化提取背景資訊。類似概率論中,平均池化相對就是取均值,代表所有點的整體中心。

池化作用2:平移不變性。類似一副網格尺影象 ,直接最近鄰縮小,可能出現線斷斷續續。 但是如果縮小的點在原圖對映點,一定範圍內做高斯濾波,然後決定值。就不易出現線斷掉。

(1)鄰域大小受限造成的估計值方差增大,mean能減小這種誤差。

(2)卷積層引數誤差造成估計均值的偏移,max能減小這種誤差。

歸一化batchnormal 2023年提出。之前是手動調參,手動去調引數的正態分佈(期望,方差)來初始化引數,來控制輸出值範圍。

batchnormal 用在權重相乘之後, 啟用函式之前。雖然有relu(),但是batchnormal,至少能保證梯度不會消失或**。

解決梯度瀰散方式:1)殘差;2)批量歸一化。解決梯度**方式:1)批量歸一化

延緩梯度瀰散方式:除了上面還有 relu()。  延緩梯度**方式:減少學習率,初始化權重

(1) 首先減去均值,除方差,歸一化(0,1)的正太分布。 分母+乙個係數,是防止分母為零,接近0的數(比如期望和x全部一致)

(2) γ,β是因為 歸一化後的分布,不一定和啟用函式一致。並且資料分布也和期望的分布有差別。注意這倆個引數在訓練過程中是要訓練的。

注意,γ,β大多數情況下需要。他們起到的作用是將資料分布推進到真實的概率分布。

注意:訓練的時候,網路會自動呼叫"train()"。 評估的時候需要手動呼叫「eval()」 。才能正確使用。

batchnormal 在批次上,對(n,h,w)上做歸一化。一般用在訓練的時候,保證係數的穩定性,加速網路找特徵的不同點。幫助網路提取特徵。因此特徵點要比較多,歸一化效果才好。批次太少的話,相當於每次取樣點少,不足於每次接近體現真實概率。可能是區域性,反倒引起**。(此時可能用組歸一化group normalization)

instancenormal  在影象畫素上,對hw做歸一化。控制每個通道之間的差異。控制的全域性特徵,大體風格。對整體風格進行轉換。如秋天變冬天。

layernormal  是在通道方向上,對c,h,w做歸一化。控制的是細節(形狀細節)。如:瘦臉 …… 。在rnn上做自然語義時,提示明顯。

參考資料:

2020-02-24

欠擬合:欠擬合是指模型擬合程度不高,資料距離擬合曲線較遠,或指模型沒有很好地捕捉到資料特徵,不能夠很好地擬合資料。

過擬合:為了得到一致假設而使假設變得過度嚴格稱為過擬合。

欠擬合:資料和訓練次數,相對於特徵引數來說不足。

過擬合:解決方法,l1,l2正則化,dropout。豐富樣本多樣性。

3)用先驗知識,比如偵測無人機,要檢測無人機,框乙個框,yolo就提出乙個「建議框」,通過先給約束,來極大提公升訓練速度。

另一種加入大量資料量(類似拋硬幣,拋的次數多了就接近主要)。這時候可以理解資料獨立同分布。這時候加資料,其實是獨立同分布增加拋硬幣次數,加入資料和之前資料相對於已經學習到的特徵共同特徵減少。注意這種方法,有時候不可行。因為樣本採集有成本。

4)把網路變笨:減少參數量?正則化

設計好乙個神經網路,這個網路大概需要多少的資料量?

至少來說 1個權重對應1個特徵

iid獨立同分布問題:一般

一般情況下資料量至少是網路引數的10倍。才能有比較好的效果。資料與資料之間存在大量重疊的資訊,所以不是簡單的1:1關係。

資料量過大,網路過少,容易出現欠擬合。

l2正則化:w平方。導數是2w。 整個變化過程是比較平滑的。很難降到0。

l1正則化:|w|。導數是1,到最後會**。l1會把權重壓到0 。到0會導致權重不會再更新。,避免梯度消失。

所以深度學習,幾乎都用l2正則化

dropout:是在當前批次中,隨機的抑制神經元,讓其不參與訓練。

之所以在測試的時候要顯示呼叫「eval」是為了告訴網路,這時候所有神經元都要參與計算。

dropout一般放在啟用前面。

2020-03-06

變分自動編碼器(vae):13年出現 。缺點邊緣資訊比較模糊。換臉比較成功

深度學習概念

深度學習是基於機器學習延伸出來的乙個新的領域,由以人大腦結構為啟發的神經網路演算法為起源加之模型結構深度的增加發展,並伴隨大資料和計算能力的提高而產生的一系列新的演算法。深度學習什麼時間段發展起來的?其概念由著名科學家geoffrey hinton等人在2006年和2007年在 sciences 等...

深度學習筆記 tensorflow基本概念

用tensorflow這樣工具的原因是 它允許我們用計算圖 computational graphs 的方式建立網路.下面就是對計算圖的直觀講解。例如 計算圖所建立的只是乙個網路框架。在程式設計時,並不會有任何實際值出現在框架中。所有權重和偏移都是框架中的一部分,初始時至少給定初始值才能形成框架。因...

深度學習(一)深度學習的概念

深度學習是機器學習與神經網路 人工智慧 圖形化建模 優化 模式識別和訊號處理等技術融合後產生的乙個領域。深度學習網路是神經網路革命性的發展,人們甚至認為可以用它來建立更加強大的 模型。深度學習使用多層機器學習模型對資料進行有監督學習或無監督學習。模型中的不同層由非線性資料變換的多個階段組成,資料的特...