论文简读(一)
Alexnet:CNN論文簡(jiǎn)略解讀
- 論文: 論文連接
沖啊。。。
流程
- 任務(wù)背景
- Alexnet框架是什么
- 論文的創(chuàng)新點(diǎn)及其作用是什么
- 得出的結(jié)論是什么
- keras代碼實(shí)現(xiàn)
任務(wù)背景
- ILSVRC-2012競(jìng)賽,當(dāng)時(shí)有150million圖像,22,000個(gè)種類
Alexnet框架
論文的創(chuàng)新點(diǎn)及其作用是什么
- 加快訓(xùn)練速度和減小錯(cuò)誤率
- relu激活函數(shù)的提出
- 根據(jù)論文介紹,相同條件下,相比于之前的tanh非線性激活函數(shù),relu函數(shù)的計(jì)算速度是tanh函數(shù)的6倍,防止梯度消失,同時(shí),還不影響網(wǎng)絡(luò)的非線性表達(dá)能力
- 局部歸一化normlizational的使用
- 根據(jù)論文的實(shí)驗(yàn)結(jié)果能有效減小模型結(jié)果的錯(cuò)誤率,達(dá)到1.4%–1.2%,
- pooling層
- 同樣能有效減小模型的錯(cuò)誤率,到達(dá)0.4%–0.3%
- relu激活函數(shù)的提出
- 防止過(guò)擬合
- 數(shù)據(jù)增強(qiáng)
- 一種方式是對(duì)圖片進(jìn)行平移和水平翻轉(zhuǎn),另一種方式是變換顏色通道,結(jié)果是錯(cuò)誤率較少了1%以上。
- Dropout的使用
- 在網(wǎng)絡(luò)的全連接層加入dropout層,使隨機(jī)去除一部分神經(jīng)元
- 數(shù)據(jù)增強(qiáng)
得出的結(jié)論是什么
- ILSVRC-2012的這次競(jìng)賽,top-5(前五個(gè)的預(yù)測(cè)結(jié)果)的錯(cuò)誤率為15.3%,第二名的top-5為26.2%
keras代碼實(shí)現(xiàn)
# -*- coding:utf-8 -*- from keras.layers import Input,Dense,Conv2D,MaxPool2D,Flatten,BatchNormalization,Dropout from keras.models import Model from keras.utils import plot_model import warnings warnings.filterwarnings("ignore")inputs = Input(shape=(224,224,3))# layer 1 net = Conv2D(filters=48,kernel_size=11,strides=4,padding="same",activation="relu",kernel_initializer="uniform")(inputs) net = BatchNormalization()(net) net = MaxPool2D(pool_size=3,strides=2,padding="valid")(net)# layer 2 net = Conv2D(filters=128,kernel_size=3,strides=1,padding="same",activation="relu",kernel_initializer="uniform")(net) net = BatchNormalization()(net) net = MaxPool2D(pool_size=3,strides=2,padding="valid")(net)#layer 3 net = Conv2D(filters=196,kernel_size=3,strides=1,padding="same",activation="relu",kernel_initializer="uniform")(net)# layer 4 net = Conv2D(filters=196,kernel_size=3,strides=1,padding="same",activation="relu",kernel_initializer="uniform")(net)# layer 5 net = Conv2D(filters=128,kernel_size=3,strides=1,padding="same",activation="relu",kernel_initializer="uniform")(net)# layer 6 (fully connect 1) net = Flatten()(net) net = Dense(units=2048,activation="relu")(net) net = Dropout(rate=0.5)(net)# layer 7 (fully connect 2) net = Dense(units=2048,activation="relu")(net) net = Dropout(rate=0.5)(net)# layer 8 (fully connect 3) outputs = Dense(units=1000,activation="softmax")(net)# build model = Model(inputs=[inputs],outputs=[outputs]) model.summary()參考文獻(xiàn)
https://blog.csdn.net/wei18791957243/article/details/84258875
深度學(xué)習(xí)(花書(shū))
總結(jié)
- 上一篇: CV之路 —— Opencv学习
- 下一篇: CV之路——opencv基本操作