--- title: Permeet 0527 date: May,27 --- ## Paper reading ### [RepVGG: Making VGG-style ConvNets Great Again](https://arxiv.org/pdf/2101.03697.pdf)(CVPR 2021) ### 上週問題 1. $1*1$還有BN是幹嘛用的? 文中沒有詳細敘述$1*1$ 的用途,感覺應該是實驗出來的 BN層是模仿ResNet 的identity 2. BN沒有參數怎麼融合? 融合到偏置量 ### re-parameterization ![](https://i.imgur.com/iE5aRMH.png) $M1$ 是input $M2$ 是output, $\mu,\sigma,\gamma,\beta$ 代表conv後的均值,標準差和學習因子以及BN層的偏差 ![](https://i.imgur.com/RhX25bD.png) ![](https://i.imgur.com/NfQBl55.png) $if$ $C_1 = C_2, H_1 =H_2, W_1 = W_2$ 則會得到下列: ![](https://i.imgur.com/Qprw1qX.png) 若只看前2項,將BN跟conv轉換成帶有 bias vector的conv: ![](https://i.imgur.com/vuds6PN.png) ${W',b'}$是從$W,\mu,\gamma,\beta$轉換來的kernel跟bias ![](https://i.imgur.com/HouDZAI.png) 最後得出 ![](https://i.imgur.com/VWfAWvG.png) ### 問題 文中說BN可視為$1*1$ conv的特例,但我不太能理解為什麼,有找到其他解釋是說BN算式如下: ![](https://i.imgur.com/itbsyMi.png) 也能看做$f(x)=W*x=b$ 其中 conv相加也參考了這篇論文 ### [ACNet:Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric ConvolutionBlocks](https://arxiv.org/abs/1908.03930v1)(ICCV2019) 這篇論文提出了非對稱性conv(不同branch)並結合,應證了conv是可以相加的 假設$3*3$conv kernel為: $[w3_1,w3_2,w3_3]$ $[w3_4,w3_5,w3_6]$ $[w3_7,w3_8,w3_9]$ 則$1*1$ conv也可視為: $[0,0,0]$ $[0,w1_5,0]$ $[0,0,0]$ 因此可以合併為: $[w3_1,w3_2,w3_3]$ $[w3_4,w3_5+w1_5,w3_6]$ $[w3_7,w3_8,w3_9]$ ### 下周進度 1.將repvgg整理成ppt下次GM報告 2.下一篇論文 ### [Revisiting ResNets: Improved Training and Scaling Strategies](https://arxiv.org/pdf/2103.07579.pdf)(CVPR 2021) google跟柏克萊提出的resnet體系訓練策略改進,有效加速訓練並提高準確度 **原因:** 現有attention結構都是建立在res體系下,這片論文比較了許多不同的訓練方法,也許能夠對attention net有所幫助