七月算法(julyedu.com)12月機器學習在線班學習筆記http://www.julyedu.com 算法
三個要點 網絡
1: 首先將輸入數據當作三維的張量(Tensor) 架構
2: 引入Convolution(卷積)操做,單元變成卷積核,部分鏈接共享權重 框架
3:引入Pooling(採樣)操做,下降輸入張量的平面尺寸 機器學習
高,寬度,深度,eg:彩色圖像:rgb,3個深度,圖像的大小是160高度,320, ide
(3,160,320)一個三維張量 函數
一維信號的卷積:學習
卷積核:1,0,-1 spa
如圖步長stride:2 具體的操做是於卷積覈對應位置相乘後續相加即 0*1+1*0+2*(-1)=-2這就是第一個數據和卷積核相乘相加獲得的-2;後面一次類推設計
那麼3D-張量的卷積操做以下:
nn.Spatisl Convolution(3,2,3,3) 第一個3,是輸入圖像的深度爲3,第一個數字2是兩個卷積核,後面的3,3,是生成圖像的大小3*3的,一共有2張圖。
卷積操做在深度上面不滑動,爲了後面的共享全鏈接
以下圖,將藍色的部分和對應紅色的部分相乘後香蕉,以後再將三個卷積覈對應操做獲得的數值所有相加,能夠獲得數值9,這也就是3維張量的卷積操做,
Padding:1在左右都加上0,其中爲了能更好的適應卷積的操做須要將圖像的邊緣一週所有加上0,爲了尺寸的方便。 (3,5,3,3, 1,1 1,1)後面兩個都是補0操做。
Bias:偏移量,每一個卷積核都帶有一個,b0[:,:,0]
特徵是由深度網絡學習出來的,而不是提取出來的
三種:ReLU LeakReLU ELU
對應區域,按照規則,求最大,或者求平均以下圖,爲了調整尺寸,深度不減小,可是能夠將H*W處理的尺寸降下來。
將一組圖像調整成0均值,調整偏移量offset
針對圖像識別的卷及網絡設計
1, 儘可能使用3x3尺寸的卷積核,甚至更小(2x2或者1x1), stride取1(除去第一層能夠採用稍大尺寸的卷積核),後面的層次採起較密集的滑動
2, 使用Pooling(2x2)對網絡進行1/4下采樣
3, 採用多層次架構,採用殘差結構實現更深的網絡
1, [CONV-RELU-POOL]xN+[FC一RELU]xM+SOFTMAX 卷積CONV, RELU的激活函數,降維到1/4,重複N,
2, [CONV-RELU一CONV-RELU一POOL]xN+[FC一RELU]xM+SOFTMAX 卷積兩次降維一次,(注意最後一層FC,不採用ReLU激活函數)
輸入圖像 224*224*3
第一層
1,(3,3,3)一共有64個卷積核,1728個權重, 第一個3是深度,第二個3*3是卷積核的大小,輸出224*224*64,(人工指定)會輸出64張圖。
2,輸入224*224*64,以後深度變爲64,參數:(3*3*64)36864個權重,由於有64個深度
3,poling3一次,將圖片大小變爲112*112*64 ,由3.2M變爲800K
……
FC進行全鏈接
1,核心:依然是鏈式規則
2,利用框架搭建網絡
3,對本身實現的結構,嚴格用,數值計算驗證
跑一邊epoch
1,訓練時,對圖像增長隨機噪聲,
2,在257x257圖像中,隨機採樣224x224的子圖
3,圖像採用隨機左右鏡像
4,在FC層之間使用Dropout技術,能夠用用殘差的網絡
5,嘗試BN,殘差結構
(Waifu2X實驗示例)