Dilated conv擴張卷積的理解(一看就會)

Q1:Dilated conv的作用?

A1:在同層計算不增加參數量的同時擴大感受野,感受野的理解見:https://blog.csdn.net/weixin_36835368/article/details/105659474

 

Q2:如何做到不增加參數的同時增加感受野?

A2:step0:先了解Dilated conv如何不增加參數數量

        綠色:與卷積核相乘的點。

                   通過下圖可發現,都是9個點,所以計算所需的參數量沒變。

        黃色:該部分用0進行mask。

        Tips: 理解爲卷積核做0填充理解的話,相當於卷積核尺寸從3*3變成了5*5(rate=2).

                new_K_size = K_size + (rate -1)*2

                你可以用這種思路去理解感受野,但是計算的過程中應該是:Input => 帶0的mak => output

         step1: 感受野爲什麼增大了?

                感受野:輸出feature map中一個點映射到原始圖像的區域

                通過(a)(b) (c) 的卷積操作得到的都是一個點,但這個點映射到原圖像的區域卻不一樣。

                 假設(a),(b), (c)輸入的層都是經過普通K=(3,3),S=1,P=0的卷積。

                 則:(a)RF0 =1 

                           => RF1= (1-1)*1+3=3 

                           => RF2 = (3-1)*1+3=5 

                           => RF3 = (5-1)*1+3=7

                              Tips:,這裏RF小角標註意一下,這裏上層用了小數字。

                        (b)RF0 =1

                             => RF1 = (1-1)*1+(3+(2-1)*2)=5

                             => RF2=(5-1)*1+3=7

                                  Tips:RF1中的K= new_K_size= K_size + (rate -1)*2, RF2中的K= K_size=3

                        (c)RF0=1

                             => RF1=(1-1)*1+(3+(3-1)*2)=7

                         通過上述計算,可以發現,使用rate=3的Dilated conv向前推一層的感受野就達到了(7,7),而使用rate=2的帶孔卷積需要向前推兩層才能達到,不帶孔的普通卷積若想達到(7,7)需要進行三層。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章