假設s這裡誤差單位1,到達,z 1(3),error is δ 1(3) =1 ,因為最後乙個神經元沒有非線性變換。
到達a1(2), error is δ 1(3)*w12
越過神經元maps z12 to a12,δ 1(2) = w1(2)* σ一撇 (z1 (2))
卷積的一些要點:
輸入32*32*3,引數個數:5*5 (模板)* 3(前一通道厚度)=75
輸入7*7 模板3*3 stride1,輸出大小5*5;stride2,,輸出3*3
input (不care前一層,只care有多少個模板) 32*32*3 receptive fields 5*5 stride 1 number neurons 5 output volume?
out = 28*28*5 weights :5*5*3*5 = 75
input 7*7 核 3*3 stride 1 pad with1 pixel 輸出 7*7
227 *227 *3 11*11 1個 stride 4 no zero pad 輸出:55*55 (227-11)/4+1,每乙個卷積模板引數:11*11*3
例題;pytorch :nn.conv16 33 3 stride=2 ,pad =1),input = torch.randn(20,16,50,100)
output 20(batchsize )*33(output channel)*25*50
(3、2、1組合通常下取樣2倍,3、1、1原來比例)
import torchimport torch.nn as nn
x = torch.randn(20, 16, 50, 100) # batch, channel , height , width
print(x.shape)
m = nn.conv2d(16, 33, (3), (2),padding =1) # in_channel, out_channel ,kennel_size,stride
print(m)
y = m(x)
print(y.shape)
Tensorflow 卷積的梯度反向傳播
我們分兩種不同的情況討論valid卷積的梯度 第一種情況,在已知卷積核的情況下,對未知張量求導 即對張量中每乙個變數求導 第二種情況,在已知張量的情況下,對未知卷積核求導 即對卷積核中每乙個變數求導 1.已知卷積核,對未知張量求導 我們用乙個簡單的例子理解valid卷積的梯度反向傳播。假設有乙個3x...
1 卷積反向傳播
1.x 0,0 x n,c,h,w n表示樣本標號,一般是乙個batch乙個batch輸入的 0表示樣本標號為0 c 表示影象的channel 對於灰度圖來講有三個r g b h 表示影象的高 w 表示影象的寬 2.池化 mean forward 1 3 2 2 2 backward 2 0.5 0...
Tensorflow 卷積的梯度反向傳播
我們分兩種不同的情況討論valid卷積的梯度 第一種情況,在已知卷積核的情況下,對未知張量求導 即對張量中每乙個變數求導 第二種情況,在已知張量的情況下,對未知卷積核求導 即對卷積核中每乙個變數求導 1.已知卷積核,對未知張量求導 我們用乙個簡單的例子理解valid卷積的梯度反向傳播。假設有乙個3x...