7
Deep Learning (Fach) / Convolutional Neural Networks (CNNs) (Lektion)
- What is a Convolutional Neural Network? - a Neural Networrk with convolution operations instead of matrix multiplications in at least one of the layers - convolutional kernels perform feature extraction
- What is a convolution? Convolution is the manipulation of two signals to form a third. y[n]=x[n]*h[n]=sum(i=-inf, inf, x[i]h[n,i]) y[n]=x[m,n]*h[m,n]=sum(i=-inf, inf, sum(j=-inf, inf, x[i,j]h[m-i,n-j]) -> flip, shift, multiple
- What are the properties of Convolutional Layers? 1. Some patterns are much smaller than the whole image 2. The same patterns appear in different regions
- How to calculate (dL/dX) in Convolutions? - dL/dX is the loss gradient that is passed pack - Convolution between a F rotated by 180° and the loss gradient (dL/dO) dL/dX11 dL/dX12 dL/dX13 F22 F21 dL/dO11 dL/dO12 (dL/dX21 dL/dX22 dL/dX23) = Convolution( F12 F11, dL/dO21 dL/dO22) dL/dX31 dL/dX32 dL/dX33 Whereby dL/dO is padded with zeros
- How to calculate dL/dF for Convolutions? - dL/dF is the loss gradient to update the filter - Convolution of the input matrix X and the loss gradient (dL/dO) dL/dF11 dL/dF12 X11 X12 X13 dL/dO11 dL/dO12 (dL/dF21 dL/dF22) = Convolution( X21 X22 X23, dL/dO21 dL/dO22) X31 X32 X33
- Convolutional Layers: Be W1xH1xD1 with number of filters = K size of filters F stride S the amount of zero padding P How does the produe output W2xH2xD2 look like? How many weights does this filter have? W2=(W1-F+2P)/S+1 H2=(H1-F+2P)/S+1 D2=K #parameters? FxFxD1xK weights + K biases
- Be W1xH1xD1 the input to a Max Pooling layer with a filtersize F and a stride S How does the output W2xH2XD2 look like? How many learnable parameters has a Max Pooling Layer? W2 = (W1 - F) / S + 1 H2 = (W1 - F) / S + 1 D2 = D1 #parameters? zero
Anzeige