論文閱讀1.1:addernet基礎(chǔ)知識(shí)填坑
今天先繼續(xù)基礎(chǔ)知識(shí)填坑。。。。
1.????? 最小二乘法
也記錄一下吧。。。我覺得有點(diǎn)收獲,非科班出身還是坑有點(diǎn)大的。

這是一張擬合y = ax + b的圖,怎么求的這條線的呢,我們采用的標(biāo)準(zhǔn)是平方和最小,寫出誤差函數(shù)E(a,b) 并求導(dǎo)

要想擬合的曲線盡量好,則兩個(gè)導(dǎo)數(shù)都是0

解這個(gè)線性方程組

很容易得到a和b的解。非線性也是同理。
?
?
2.?先驗(yàn)概率和后驗(yàn)概率(已經(jīng)忘光了)
先驗(yàn)概率是 以全事件為背景下,A事件發(fā)生的概率,P(A|Ω)
?后驗(yàn)概率是 以新事件B為背景下,A事件發(fā)生的概率, P(A|B)
?全事件一般是統(tǒng)計(jì)獲得的,所以稱為先驗(yàn)概率,沒有實(shí)驗(yàn)前的概率
?新事件一般是實(shí)驗(yàn),如試驗(yàn)B,此時(shí)的事件背景從全事件變成了B,該事件B可能對(duì)A的概率有影響,那么需要對(duì)A現(xiàn)在的概率進(jìn)行一個(gè)修正,從P(A|Ω)變成 P(A|B),
?所以稱 P(A|B)為后驗(yàn)概率,也就是試驗(yàn)(事件B發(fā)生)后的概率
?
3.????? L1和L2正則先驗(yàn)
結(jié)論先行L1正則就是加入拉普拉斯先驗(yàn),L2正則就是加入高斯先驗(yàn)。

????從貝葉斯的角度來看,規(guī)則化=加入先驗(yàn)信息。在最大似然估計(jì)中,假設(shè)有一個(gè)數(shù)據(jù)集,并且Y是有白噪聲(就是與測(cè)量得到的Y與真實(shí)的Y有均值為零的高斯分布誤差),目的是用新產(chǎn)生的X來得到Y(jié)。
????我們考慮一個(gè)最簡(jiǎn)單的線性模型:

其中這里的?是白噪聲,符合標(biāo)準(zhǔn)正態(tài)分布,即,所以在這個(gè),模型中,真實(shí)值的概率分布也能得到了,仍然符合高斯分布,均值改變,得到

假設(shè)樣本是獨(dú)立的:

由最大似然估計(jì),最好的參數(shù)就是由X得到Y(jié)的概率最大,即

第二個(gè)等式就是對(duì)第一個(gè)取對(duì)數(shù)之后的結(jié)果,這個(gè)結(jié)果中的第二項(xiàng)是常數(shù),在優(yōu)化過程中是可以忽略不計(jì)的,第一項(xiàng)的系數(shù)也可以忽略不計(jì),并且加負(fù)號(hào)后轉(zhuǎn)換成求最小值,優(yōu)化目標(biāo)依然成立,但這個(gè)形式就已經(jīng)是最小二乘的形式了,也是我們平時(shí)所見到的RMSE損失函數(shù)。
在上面θ都是均勻分布的,現(xiàn)在如果我們假設(shè)θ服從拉普拉斯分布,則

由于拉普拉斯的概率密度函數(shù)是

令λ = 1/b , μ = 0,得到

同理若θ服從高斯分布,

?概率密度為

?取λ = 1/2δ^2 , μ = 0,帶入直接得到

即L2正則化??梢娯惾~斯先驗(yàn)概率和正則化是對(duì)應(yīng)起來的。
另外L2先驗(yàn)趨向零周圍, L1先驗(yàn)趨向零本身。最大后驗(yàn)概率估計(jì)可以看作是加了正則化的最大似然估計(jì)。
?


L1圖中這個(gè)頂點(diǎn)就是最優(yōu)解。注意到這個(gè)頂點(diǎn)的值是(w1,w2)=(0,w)??梢灾庇^想象,因?yàn)長(zhǎng)函數(shù)有很多『突出的角』(二維情況下四個(gè),多維情況下更多),J0與這些角接觸的機(jī)率會(huì)遠(yuǎn)大于與L其它部位接觸的機(jī)率,而在這些角上,會(huì)有很多權(quán)值等于0,這就是為什么L1正則化可以產(chǎn)生稀疏模型,進(jìn)而可以用于特征選擇。
二維平面下L2正則化的函數(shù)圖形是個(gè)圓,與方形相比,被磨去了棱角。因此J0與L相交時(shí)使得w1或w2等于零的機(jī)率小了許多,這就是為什么L2正則化不具有稀疏性的原因。L2圓的半徑越小,最后求得loss最值時(shí)各參數(shù)也會(huì)變得很小。
4.??????模型所需的計(jì)算力flops怎么計(jì)算
FLOPS:注意全大寫,是floating point operations per second的縮寫,意指每秒浮點(diǎn)運(yùn)算次數(shù),理解為計(jì)算速度。是一個(gè)衡量硬件性能的指標(biāo)。
FLOPs:注意s小寫,是floating point operations的縮寫(s表復(fù)數(shù)),意指浮點(diǎn)運(yùn)算數(shù),理解為計(jì)算量??梢杂脕砗饬克惴?模型的復(fù)雜度,這里講的是FLOPs
? 通常我們?nèi)?strong>評(píng)價(jià)一個(gè)模型時(shí),首先看的應(yīng)該是它的精確度,當(dāng)你精確度不行的時(shí)候,你和別人說我的模型預(yù)測(cè)的多么多么的快,部署的時(shí)候占的內(nèi)存多么多么的小,都是白搭。但當(dāng)你模型達(dá)到一定的精確度之后,就需要更進(jìn)一步的評(píng)價(jià)指標(biāo)來評(píng)價(jià)你模型:1)前向傳播時(shí)所需的計(jì)算力,它反應(yīng)了對(duì)硬件如GPU性能要求的高低;2)參數(shù)個(gè)數(shù),它反應(yīng)所占內(nèi)存大小。為什么要加上這兩個(gè)指標(biāo)呢?因?yàn)檫@事關(guān)你模型算法的落地。比如你要在手機(jī)和汽車上部署深度學(xué)習(xí)模型,對(duì)模型大小和計(jì)算力就有嚴(yán)格要求。
這里講一下卷積的flops,圖源冷月@知乎

結(jié)論:卷積層 計(jì)算力消耗 等于上圖中兩個(gè)立方體 (綠色和橙色) 體積的乘積
設(shè)k為卷積核大小,c為輸出通道數(shù),則對(duì)于每一個(gè)輸出的feature map的unit來說,會(huì)做k * k * c 次乘法,以及 k * k * c - 1 次加法。
舉個(gè)例子:

Image大小為 5x5,卷積核大小為 3x3,那么一次3x3的卷積(求右圖矩陣一個(gè)元素的值)所需運(yùn)算量:(3x3)個(gè)乘法+(3x3-1)個(gè)加法 = 17。要得到右圖convolved feature (3x3的大?。?7x9 = 153。
所以輸出feature有C×H×W個(gè)點(diǎn)時(shí)候,卷積層在計(jì)算 wx 時(shí)有:
k * k * c * H * W * o 次乘法? ? ? ? ??
(k * k * c - 1) * H * W * o 次加法? ??
另外還有偏置b的運(yùn)算,輸出 feature map 上的每個(gè) Unit 做一次偏置項(xiàng)加法,所以有H * W * o 次加法?。
累加起來:k * k * c * H * W * o 次乘法
(k * k * c - 1) * H * W * o? + H * W * o? = k * k * c * H * W * o 次加法
所以對(duì)于帶偏置項(xiàng)的卷積層,乘法運(yùn)算和加法運(yùn)算的次數(shù)相等,剛好配對(duì)。定義一次加法和乘法表示一個(gè)flop,該層的計(jì)算力消耗為k * k * c * H * W * o
剛好等于圖中兩個(gè)立方體(綠色和橙色)體積的乘積。全連接層的算法也是一樣。
計(jì)算flops的開源庫(我就直接照搬了,在引用最后一個(gè)):

先這樣吧,過兩天整理一下addernet,要不然老師問起來我就拉閘了。
來源于:https://zhuanlan.zhihu.com/p/89373759
????????????https://blog.csdn.net/weixin_39750084/article/details/83661413
????????????https://www.zhihu.com/question/23536142
????????????https://blog.csdn.net/zwqjoy/article/details/81912821
????????????https://zhuanlan.zhihu.com/p/137719986