三生皆緣
參考:
反卷積也稱為轉(zhuǎn)置卷積,如果用矩陣乘法實現(xiàn)卷積操作,將卷積核平鋪為矩陣,則轉(zhuǎn)置卷積在正向計算時左乘這個矩陣的轉(zhuǎn)置WT,在反向傳播是左乘W,與卷積操作剛好相反,需要注意的是,反卷積不是卷積的逆運算。 [知乎問題+caffe實現(xiàn)]
實現(xiàn)上采樣;近似重構(gòu)輸入圖像,卷積層可視化。
只要激活函數(shù)選擇得當,神經(jīng)元的數(shù)量足夠,至少有一個隱含層的神經(jīng)網(wǎng)絡(luò)可以 逼近閉區(qū)間上任意一個連續(xù)函數(shù)到任意指定的精度。
判別模型,直接輸出類別標簽,或者輸出類后驗概率p(y|x) [ ] [ ] [ ]
BN是在 batch這個維度上進行歸一化,GN是計算channel方向每個group的均值方差.
檢測結(jié)果與 Ground Truth 的交集比上它們的并集,即為檢測的準確率 IoU
內(nèi)存/顯存占用;模型收斂速度等
Hessian矩陣是n*n, 在高維情況下這個矩陣非常大,計算和存儲都是問題。
mini-batch太小會導(dǎo)致收斂變慢,太大容易陷入sharp minima,泛化性不好。
可以把dropout看成是 一種ensemble方法,每次做完dropout相當于從原網(wǎng)絡(luò)中找到一個更瘦的網(wǎng)絡(luò)。
pooling操作雖然能增大感受野,但是會丟失一些信息??斩淳矸e在卷積核中插入權(quán)重為0的值,因此每次卷積中會skip掉一些像素點;
空洞卷積增大了卷積輸出每個點的感受野,并且不像pooling會丟失信息,在圖像需要全局信息或者需要較長sequence依賴的語音序列問題上有著較廣泛的應(yīng)用。
表達式為:
使用BN的原因是網(wǎng)絡(luò)訓(xùn)練中每一層不斷改變的參數(shù)會導(dǎo)致后續(xù)每一層輸入的分布發(fā)生變化,而學(xué)習(xí)的過程又要使每一層去適應(yīng)輸入的分布,因此不得不降低網(wǎng)絡(luò)的學(xué)習(xí)率,并且要小心得初始化(internal covariant shift) 如果僅通過歸一化方法使得數(shù)據(jù)具有零均值和單位方差,則會降低層的表達能力(如使用Sigmoid函數(shù)時,只使用線性區(qū)域) BN的具體過程(注意第三個公式中分母要加上epsilon)
最好的解釋是通過1 * 1卷積核能實現(xiàn)多個channel間的解耦合,解耦cross-channel correlation和spatial correlation。 【但是因為解耦不徹底,因此后續(xù)有了mobile net的組卷積方式和shuffle net組卷積方式】
由于 1×1 并不會改變 height 和 width,改變通道的第一個最直觀的結(jié)果,就是可以將原本的數(shù)據(jù)量進行增加或者減少。改變的只是 height × width × channels 中的 channels 這一個維度的大小而已。
1*1卷積核,可以在保持feature map尺度不變的(即不損失分辨率)的前提下大幅增加非線性特性(利用后接的非線性激活函數(shù)),把網(wǎng)絡(luò)做的很deep。
備注:一個filter對應(yīng)卷積后得到一個feature map,不同的filter(不同的weight和bias),卷積以后得到不同的feature map,提取不同的特征,得到對應(yīng)的specialized neuron。
例子:使用1x1卷積核,實現(xiàn)降維和升維的操作其實就是channel間信息的線性組合變化,3x3,64channels的卷積核后面添加一個1x1,28channels的卷積核,就變成了3x3,28channels的卷積核,原來的64個channels就可以理解為跨通道線性組合變成了28channels,這就是通道間的信息交互
注意:只是在channel維度上做線性組合,W和H上是共享權(quán)值的sliding window
并不能說明這個模型無效導(dǎo)致模型不收斂的原因可能有
A. 在實際場景下,應(yīng)盡量使用ADAM,避免使用SGD B. 同樣的初始學(xué)習(xí)率情況下,ADAM的收斂速度總是快于SGD方法 C. 相同超參數(shù)數(shù)量情況下,比起自適應(yīng)的學(xué)習(xí)率調(diào)整方式,SGD加手動調(diào)節(jié)通常會取得更好效果 D. 同樣的初始學(xué)習(xí)率情況下,ADAM比SGD容易過擬合
A.保證每一層的感受野不變,網(wǎng)絡(luò)深度加深,使得網(wǎng)絡(luò)的精度更高 B.使得每一層的感受野增大,學(xué)習(xí)小特征的能力變大 C.有效提取高層語義信息,且對高層語義進行加工,有效提高網(wǎng)絡(luò)準確度 D.利用該結(jié)構(gòu)有效減輕網(wǎng)絡(luò)的權(quán)重
A.計算簡單 B.非線性 C.具有飽和區(qū) D.幾乎處處可微 【relu函數(shù)在0處是不可微的?!?/p>
的收斂速度比RMSprop慢 B.相比于SGD或RMSprop等優(yōu)化器,Adam的收斂效果是最好的 C.對于輕量級神經(jīng)網(wǎng)絡(luò),使用Adam比使用RMSprop更合適 D.相比于Adam或RMSprop等優(yōu)化器,SGD的收斂效果是最好的 【SGD通常訓(xùn)練時間更長,容易陷入鞍點,但是在好的初始化和學(xué)習(xí)率調(diào)度方案的情況下,結(jié)果更可靠。如果在意更快的收斂,并且需要訓(xùn)練較深較復(fù)雜的網(wǎng)絡(luò)時,推薦使用學(xué)習(xí)率自適應(yīng)的優(yōu)化方法?!?/p>
A.使用ReLU做為激活函數(shù),可有效地防止梯度爆炸 B.使用Sigmoid做為激活函數(shù),較容易出現(xiàn)梯度消失 C.使用Batch Normalization層,可有效的防止梯度爆炸 D.使用參數(shù)weight decay,在一程度上可防止模型過擬合
對結(jié)果存疑。認為二者皆可防止。
L-BFGS(Limited-memory BFGS,內(nèi)存受限擬牛頓法)方法: 所有的數(shù)據(jù)都會參與訓(xùn)練,算法融入方差歸一化和均值歸一化。大數(shù)據(jù)集訓(xùn)練DNN,容易參數(shù)量過大 (牛頓法的進化版本,尋找更好的優(yōu)化方向,減少迭代輪數(shù))從LBFGS算法的流程來看,其整個的核心的就是如何快速計算一個Hesse的近似:重點一是近似,所以有了LBFGS算法中使用前m個近似下降方向進行迭代的計算過程;重點二是快速,這個體現(xiàn)在不用保存Hesse矩陣上,只需要使用一個保存后的一階導(dǎo)數(shù)序列就可以完成,因此不需要大量的存儲,從而節(jié)省了計算資源;重點三,是在推導(dǎo)中使用秩二校正構(gòu)造了一個正定矩陣,即便這個矩陣不是最優(yōu)的下降方向,但至少可以保證函數(shù)下降。 FTRL(Follow-the-regularized-Leader)是一種適用于處理超大規(guī)模數(shù)據(jù)的,含大量稀疏特征的在線學(xué)習(xí)的常見優(yōu)化算法,方便實用,而且效果很好,常用于更新在線的CTR預(yù)估模型;FTRL在處理帶非光滑正則項(如L1正則)的凸優(yōu)化問題上表現(xiàn)非常出色,不僅可以通過L1正則控制模型的稀疏度,而且收斂速度快;
在一定程度上解決了傳統(tǒng)RNN梯度消失或梯度爆炸的問題 相比于全連接的優(yōu)勢之一是模型復(fù)雜度低,緩解過擬合 C.只要參數(shù)設(shè)置合理,深度學(xué)習(xí)的效果至少應(yīng)優(yōu)于隨機算法 D.隨機梯度下降法可以緩解網(wǎng)絡(luò)訓(xùn)練過程中陷入鞍點的問題
實際上,現(xiàn)在有很多針對小目標的措施和改良,如下:
最常見的是Upsample來Rezie網(wǎng)絡(luò)輸入圖像的大?。?/p>
用dilated/astrous等這類特殊的卷積來提高檢測器對分辨率的敏感度;(空洞卷積是針對圖像語義分割問題中下采樣會降低圖像分辨率、丟失信息而提出的一種卷積思路。利用添加空洞擴大感受野,讓原本3 x3的卷積核,在相同參數(shù)量和計算量下?lián)碛?x5(dilated rate =2)或者更大的感受野,從而無需下采樣。在保持參數(shù)個數(shù)不變的情況下增大了卷積核的感受野)
有比較直接的在淺層和深層的Feature Map上直接各自獨立做預(yù)測的,這個就是我們常說的尺度問題。
用FPN這種把淺層特征和深層特征融合的,或者最后在預(yù)測的時候,用淺層特征和深層特征一起預(yù)測;
SNIP(Scale Normalization for Image Pyramids)主要思路:
在訓(xùn)練和反向傳播更新參數(shù)時,只考慮那些在指定的尺度范圍內(nèi)的目標,由此提出了一種特別的多尺度訓(xùn)練方法。
兔寶寶裝飾
考試大綱: 1、掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機內(nèi)表示、算術(shù)和邏輯運算、應(yīng)用數(shù)學(xué)的基礎(chǔ)知識; 2、了解計算機的組成以及各主要部件性能指標; 3、掌握操作系統(tǒng)、程序設(shè)計語言的基礎(chǔ)知識; 4、熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法; 5、熟練掌握C程序設(shè)計語言以及C++、Java中的一種程序設(shè)計語言; 6、熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識; 7、了解軟件工程的基礎(chǔ)知識、軟件過程基本知識、軟件開發(fā)項目管理的常識; 8、了解常用信息技術(shù)標準、安全性以及有關(guān)法律、法規(guī)的基礎(chǔ)知識; 9、了解信息化及計算機應(yīng)用的基礎(chǔ)知識; 10、正確閱讀和理解計算機領(lǐng)域的簡單英文資料。 考試科目: 1、計算機與軟件工程基礎(chǔ)知識,考試時間為150分鐘,筆試,選擇題; 2、程序設(shè)計,考試時間為150分鐘,筆試,問答題。
優(yōu)質(zhì)工程師考試問答知識庫