初探Alexnet網(wǎng)絡結構

冒泡~時間快得沒有預兆,12月真的要努力沖鴨啦!

Alextnet網(wǎng)絡結構圖

那就直觀地先上個圖,網(wǎng)上較流行的下面這個圖

但我個人更喜歡下面這個圖,在邏輯和過程上是更為清楚一些。

從這個圖我們可以很清楚地看到Alexnet的整個網(wǎng)絡結構是由5個卷積層和3個全連接層組成的,深度總共8層。

圖片上已經(jīng)有一個較清楚的層與層直接轉換的過程,那么接下來就對各層做個簡單的解讀。

Process

--cov1
1.輸入Input的圖像規(guī)格: 224X224X3(RGB圖像),實際上會經(jīng)過預處理變?yōu)?27X227X3
2.使用的96個大小規(guī)格為11X11X3的過濾器filter,或者稱為卷積核(步長為4),進行特征提取,卷積后的數(shù)據(jù):
55X55X96 [(227-11)/4+1=55]
(注意,內(nèi)核的寬度和高度通常是相同的,深度與通道的數(shù)量是相同的。)
3.使用relu作為激勵函數(shù),來確保特征圖的值范圍在合理范圍之內(nèi)。
relu1后的數(shù)據(jù):55X55X96
4.降采樣操作pool1
pool1的核:3X3 步長:2,降采樣之后的數(shù)據(jù)為27X27X96 [(55-3)/2+1=27]
[注意:Alexnet中采用的是最大池化,是為了避免平均池化的模糊化效果,從而保留最顯著的特征,并且AlexNet中提出讓步長比池化核的尺寸小,這樣池化層的輸出之間會有重疊和覆蓋,提升了特征的豐富性,減少了信息的丟失。]
--cov2
1.輸入數(shù)據(jù) 27X27X96
2.conv2中使用256個5X5大小的過濾器filter(步長1)對27X27X96個特征圖,進行進一步提取特征,但是處理的方式和conv1不同,過濾器是對96個特征圖中的某幾個特征圖中相應的區(qū)域乘以相應的權重,然后加上偏置之后所得到區(qū)域進行卷積。經(jīng)過這樣卷積之后,然后在在加上寬度高度兩邊都填充2像素,會的到一個新的256個特征圖.特征圖的大小為:
(【27+2X2 - 5】/1 +1) = 27 ,也就是會有256個27X27大小的特征圖.
3.然后進行relu操作,relu之后的數(shù)據(jù)27X27X256
4.降采樣操作pool2
pool1的核:3X3 步長:2,pool2(池化層)降采樣之后的數(shù)據(jù)為13X13X96 [(27-3)/2+1=13]
--cov3
1.沒有降采樣層
2.得到【13+2X1 -3】/1 +1 = 13 , 384個13X13的新特征圖(核3X3,步長為1)
--cov4
1.沒有降采樣層
2.得到【13+2X1 -3】/1 +1 = 13 , 384個13X13的新特征圖(核3X3,步長為1)
--cov5
1.輸出數(shù)據(jù)為13X13X256的特征圖
2.降采樣操作pool3**
pool3的核:3X3 步長:2,pool3(池化層)降采樣之后的數(shù)據(jù)為6X6X256 [(13-3)/2+1=6]
--fc6
全連接層,這里使用4096個神經(jīng)元,對256個大小為6X6特征圖,進行一個全連接,也就是將6X6大小的特征圖,進行卷積變?yōu)橐粋€特征點,然后對于4096個神經(jīng)元中的一個點,是由256個特征圖中某些個特征圖卷積之后得到的特征點乘以相應的權重之后,再加上一個偏置得到,之后再進行一個dropout,也就是隨機從4096個節(jié)點中丟掉一些節(jié)點信息(值清0),然后就得到新的4096個神經(jīng)元。
dropout的使用可以減少過度擬合,丟棄并不影響正向和反向傳播。)
[注意:在經(jīng)過交叉驗證,隱含節(jié)點dropout率等于0.5的時候效果最好,原因是0.5的時候dropout隨機生成的網(wǎng)絡結構最多。
]
--fc7
和fc6類似
--fc8
采用的是1000個神經(jīng)元,然后對fc7中4096個神經(jīng)元進行全鏈接,然后會通過高斯過濾器,得到1000個float型的值,也就是我們所看到的預測的可能性。
[此process可參考(https://www.cnblogs.com/gongxijun/p/6027747.html)]

接下來補充介紹:在Alexnet中使用relu作為激活函數(shù)優(yōu)勢

Relu激活函數(shù)
Relu函數(shù)為f(x)= max(0,x)
1.sigmoid與tanh有飽和區(qū),Relu函數(shù)在x>0時導數(shù)一直是1,因為梯度的連乘表達式包括各層激活函數(shù)的導數(shù)以及各層的權重,reLU解決了激活函數(shù)的導數(shù)問題,所以有助于緩解梯度消失,也能在一定程度上解決梯度爆炸,從而加快訓練速度。
2.無論是正向傳播還是反向傳播,計算量顯著小于sigmoid和tanh。

利用keras實現(xiàn)Alexnet

from keras.models import Sequential
from keras.layers import Dense, Flatten, Dropout
from keras.layers.convolutional import Conv2D, MaxPooling2D
from keras.utils.np_utils import to_categorical
import numpy as np
seed = 7
np.random.seed(seed)

# 創(chuàng)建模型序列
model = Sequential()
#第一層卷積網(wǎng)絡,使用96個卷積核,大小為11x11步長為4, 要求輸入的圖片為227x227, 3個通道,不加邊,激活函數(shù)使用relu
model.add(Conv2D(96, (11, 11), strides=(1, 1), input_shape=(28, 28, 1), padding='same', activation='relu',
                 kernel_initializer='uniform'))
# 池化層
model.add(MaxPooling2D(pool_size=(3, 3), strides=(2, 2)))
# 第二層加邊使用256個5x5的卷積核,加邊,激活函數(shù)為relu
model.add(Conv2D(256, (5, 5), strides=(1, 1), padding='same', activation='relu', kernel_initializer='uniform'))
#使用池化層,步長為2
model.add(MaxPooling2D(pool_size=(3, 3), strides=(2, 2)))
# 第三層卷積,大小為3x3的卷積核使用384個
model.add(Conv2D(384, (3, 3), strides=(1, 1), padding='same', activation='relu', kernel_initializer='uniform'))
# 第四層卷積,同第三層
model.add(Conv2D(384, (3, 3), strides=(1, 1), padding='same', activation='relu', kernel_initializer='uniform'))
# 第五層卷積使用的卷積核為256個,其他同上
model.add(Conv2D(256, (3, 3), strides=(1, 1), padding='same', activation='relu', kernel_initializer='uniform'))
model.add(MaxPooling2D(pool_size=(3, 3), strides=(2, 2)))

model.add(Flatten())
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model.summary()
參考來源:(https://blog.csdn.net/qq_41559533/article/details/83718778 )

其余參考資料:(https://www.imooc.com/article/34702
(https://yq.aliyun.com/articles/602853)

Ending~

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容