From ba882174cbd092269d3a5ddde715459cba413eb9 Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Mon, 13 May 2024 20:26:30 +0200 Subject: [PATCH] Add IPCV2 convolutional layer --- .../module2/img/2d_convolution.png | Bin 0 -> 33482 bytes .../module2/img/2d_convolution_multi_out.png | Bin 0 -> 117877 bytes .../module2/sections/_classification.tex | 248 +++++++++++++++++- 3 files changed, 245 insertions(+), 3 deletions(-) create mode 100644 src/year1/image-processing-and-computer-vision/module2/img/2d_convolution.png create mode 100644 src/year1/image-processing-and-computer-vision/module2/img/2d_convolution_multi_out.png diff --git a/src/year1/image-processing-and-computer-vision/module2/img/2d_convolution.png b/src/year1/image-processing-and-computer-vision/module2/img/2d_convolution.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2df7014eef94533fbe4971438b02d1a0bece33 GIT binary patch literal 33482 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 literal 0 HcmV?d00001 diff --git a/src/year1/image-processing-and-computer-vision/module2/img/2d_convolution_multi_out.png b/src/year1/image-processing-and-computer-vision/module2/img/2d_convolution_multi_out.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5823a1438f8c71b05371214521c02ffb7c31fb GIT binary patch literal 117877 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 literal 0 HcmV?d00001 diff --git a/src/year1/image-processing-and-computer-vision/module2/sections/_classification.tex b/src/year1/image-processing-and-computer-vision/module2/sections/_classification.tex index 084a0d5..0177117 100644 --- a/src/year1/image-processing-and-computer-vision/module2/sections/_classification.tex +++ b/src/year1/image-processing-and-computer-vision/module2/sections/_classification.tex @@ -430,7 +430,7 @@ Image filtering can be implemented through: Given an image of size $H \times W$, the layer requires: \begin{itemize} \item $(H \cdot W) \cdot (H \cdot (W-1)) \approx H^2W^2$ parameters. - \item $2 (H \cdot W) \cdot (H \cdot (W-1)) \approx 2H^2W^2$ FLOPS (multiplications and additions). + \item $2 (H \cdot W) \cdot (H \cdot (W-1)) \approx 2H^2W^2$ FLOPs (multiplications and additions). \end{itemize} \item[Convolution/Correlation] \marginnote{Image filtering with convolutions} @@ -443,7 +443,7 @@ Image filtering can be implemented through: Given an image of size $H \times W$, a convolution requires: \begin{itemize} \item $2$ parameters. - \item $3 (H \cdot (W-1)) \approx 3HW$ FLOPS. + \item $3 (H \cdot (W-1)) \approx 3HW$ FLOPs. \end{itemize} \begin{description} @@ -458,7 +458,249 @@ Image filtering can be implemented through: \begin{figure}[H] \centering - \includegraphics[width=0.5\linewidth]{./img/convolution_matrix.png} + \includegraphics[width=0.45\linewidth]{./img/convolution_matrix.png} + \caption{Multiplication matrix of a $1 \times 2$ convolution} \end{figure} \end{description} \end{descriptionlist} + + +\subsection{Convolutional layer} + +\begin{description} + \item[Multi-channel convolution] \marginnote{Multi-channel convolution} + On inputs with multiple channels (i.e. 3D inputs), different 2D convolutions are applied across the different channels. + + Given a $C_\text{in} \times H_\text{in} \times W_\text{in}$ image $I$, a convolution kernel $K$ will have shape $C_\text{in} \times H_K \times W_K$ + and the output activation at each pixel is computed as: + \[ + [K * I](j, i) = + \sum_{n=1}^{C_\text{in}} + \sum_{m = -\lfloor \frac{H_K}{2} \rfloor}^{\lfloor \frac{H_K}{2} \rfloor} + \sum_{l = -\lfloor \frac{W_K}{2} \rfloor}^{\lfloor \frac{W_K}{2} \rfloor} + K_n(m, l) I_n(j-m, i-l) + b + \] + where $b$ is a bias term associated with the filter. + + \begin{figure}[H] + \centering + \includegraphics[width=0.2\linewidth]{./img/2d_convolution.png} + \end{figure} + + \item[2D convolutional layer] \marginnote{2D convolutional layer} + Given a $C_\text{in} \times H_\text{in} \times W_\text{in}$ image $I$ and a desired number of channels $C_\text{out}$ in the output activation, + multiple different convolution kernels $K^{(i)}$ are applied and their results are stacked: + \[ + [K * I]_k(j, i) = \sum_{n=1}^{C_\text{in}} \sum_{m} \sum_{l} K_n^{(k)}(m, l) I_n(j-m, i-l) + b^{(k)} \,\,\text{ for $k=1, \dots, C_\text{out}$} + \] + + \begin{figure}[H] + \centering + \includegraphics[width=0.65\linewidth]{./img/2d_convolution_multi_out.png} + \end{figure} + + \begin{remark} + Only applying convolutions results in a linear transformation of the input. Therefore, an activation function is applied after convolving. + \end{remark} + + \item[Padding] + \phantom{} + \begin{description} + \item[No padding] \marginnote{No padding} + Convolutions are only applied at pixels on which they do not overflow. + + Given a $H_\text{in} \times W_\text{in}$ image and a $H_K \times W_K$ kernel, + the output shape is: + \[ H_\text{out} = H_\text{in} - H_K + 1 \hspace{2em} W_\text{out} = W_\text{in} - W_K + 1 \] + + \begin{remark} + This type of padding is referred to as \texttt{valid}. + \end{remark} + + \item[Zero padding] \marginnote{Zero padding} + Zeros are added around the image. + + Given a $H_\text{in} \times W_\text{in}$ image and a $H_K \times W_K$ kernel, + the padding is usually $P=\frac{H_K-1}{2}$ (for odd square kernels) and the output shape is: + \[ H_\text{out} = H_\text{in} - H_K + 1 + 2P \hspace{2em} W_\text{out} = W_\text{in} - W_K + 1 + 2P \] + + \begin{remark} + This type of padding is referred to as \texttt{same}. + \end{remark} + \end{description} + + + \item[Stride] \marginnote{Stride} + Amount of pixels the convolution kernel is slid after each application. This is useful for downsampling the image. + + Given a $H_\text{in} \times W_\text{in}$ image and a $H_K \times W_K$ kernel, + the output with stride $S$ and padding $P$ has shape: + \[ + H_\text{out} = \left\lfloor \frac{H_\text{in} - H_K + 2P}{2} \right\rfloor + 1 + \hspace{2em} + W_\text{out} = \left\lfloor \frac{W_\text{in} - W_K + 2P}{2} \right\rfloor + 1 + \] + + + \item[Receptive field] \marginnote{Receptive field} + Number of pixels in the input image that affects a hidden unit. + + Given a $H_K \times W_K$ kernel, without stride, the receptive field of a neuron at the $L$-th layer is: + \[ r_L = \big( 1 + L \cdot (H_K - 1) \big) \cdot \big( 1 + L \cdot (W_K - 1) \big) \] + + If each layer has a stride $S_l$, then the receptive field of the $L$-th activation is: + \[ + r_L = \left( 1 + \sum_{l=1}^{L} \left( (H_K - 1) \prod_{i=1}^{l-1}S_i \right) \right) \cdot + \left( 1 + \sum_{l=1}^{L} \left( (W_K - 1) \prod_{i=1}^{l-1}S_i \right) \right) + \] + + \begin{remark} + Without stride, the receptive field grows linearly with the number of layers. + With the same stride ($> 1$) across all the layers, the growth becomes exponential as $\prod_{i=1}^{l-1}S_i = S^{l-1}$. + \end{remark} + + \item[Computational cost] \marginnote{Computational cost} + \phantom{} + \begin{description} + \item[Parameters] + Given a $C_\text{in} \times H_\text{in} \times W_\text{in}$ image, a kernel $H_K \times W_K$ and a desired number of output channels $C_\text{out}$, + the corresponding convolutional layer has the following number of parameters: + \[ C_\text{out} ( C_\text{in} H_K W_K + 1 ) \] + + \item[Floating-point operations] + Given a $C_\text{in} \times H_\text{in} \times W_\text{in}$ input image, a kernel $H_K \times W_K$ and + the corresponding output image of size $C_\text{out} \times H_\text{out} \times W_\text{out}$, + the number of FLOPs (multiplications and additions) is: + \[ 2 (C_\text{out} H_\text{out} W_\text{out}) (C_\text{in} H_K W_K) \] + + \item[Multiply-accumulate operations] + A MAC operation implemented in hardware allows to perform a multiplication and an addition in a single clock cycle. + Therefore, the number of MACs is: + \[ \cancel{2} (C_\text{out} H_\text{out} W_\text{out}) (C_\text{in} H_K W_K) \] + \end{description} + + \item[Other convolutional layers] + \phantom{} + \begin{description} + \item[1D convolutional layer] \marginnote{1D convolutional layer} + Suitable for time series. + \[ + [K * S]_k(i) = \sum_{n=1}^{C_\text{in}} \sum_{l} K_n^{(k)}(l) S_n(i-l) + b^{(k)} + \] + + \item[3D convolutional layer] \marginnote{3D convolutional layer} + Suitable for videos. + \[ + [K * V]_k(h, j, i) = \sum_{n=1}^{C_\text{in}} \sum_{p} \sum_{m} \sum_{l} K_n^{(k)}(p, m, l) V_n(h-p, j-m, i-l) + b^{(k)} + \] + \end{description} +\end{description} + + +\subsection{Pooling layer} +\marginnote{Pooling layer} + +Kernel that aggregates several values through a fixed function into one output. +Each input channel is processed independently (i.e. $C_\text{in} = C_\text{out}$). + +\begin{remark} + Traditionally, pooling layers were used for downsampling. Therefore, the stride is usually $> 1$. +\end{remark} + +\begin{description} + \item[Max pooling] \marginnote{Max pooling} + Select the maximum within the kernel. + + \begin{remark} + Max pooling is invariant to small (depending on the receptive field, it can also be big w.r.t the input image) spatial translations. + \end{remark} +\end{description} + +\begin{remark} + Mean pooling can be represented through normal convolutions. +\end{remark} + + +\subsection{Batch normalization layer} +\marginnote{Batch normalization layer} + +Normalize the output of a layer during training in such a way that it has zero mean and unit variance. + +\begin{description} + \item[Training] + During training, normalization is done on the current batch. + Given the $B$ activations of a batch $\{ \vec{a}^{(i)} \in \mathbb{R}^{D} \mid i = 1, \dots, B \}$, + mean and variance are computed as: + \[ + \vec{\mu}_j = \frac{1}{B} \sum_{i=1}^{B} \vec{a}_j^{(i)} + \hspace{1.5em} + \vec{v}_j = \frac{1}{B} \sum_{i=1}^{B} \left( \vec{a}_j^{(i)} - \vec{\mu}_j \right)^2 + \hspace{2em} + \text{ for $j = 1, \dots, D$} + \] + + Then, the normalized activation is computed as: + \[ \hat{\vec{a}}_j^{(i)} = \frac{\vec{a}_j^{(i)} - \vec{\mu}_j}{\sqrt{\vec{v}_j + \varepsilon}} \hspace{2em} \text{ for $j = 1, \dots, D$} \] + where $\varepsilon$ is a small constant. + + To introduce some flexibility, the final activation $\vec{s}^{(i)}$ is learned as: + \[ \vec{s}_j^{(i)} = \vec{\gamma}_j \hat{\vec{a}}_j^{(i)} + \vec{\beta}_j \hspace{2em} \text{ for $j = 1, \dots, D$} \] + where $\vec{\gamma}_j$ and $\vec{\beta}_j$ are parameters. + + To estimate the mean and variance of the entire dataset to use during inference, their running averages are also computed. + At the $t$-th step, the running averages of mean and variance are computed as: + \[ + \vec{\mu}_j^{(t)} = (1-\beta) \vec{\mu}_j^{(t-1)} + \beta \vec{\mu}_j + \hspace{1.5em} + \vec{v}_j^{(t)} = (1-\beta) \vec{v}_j^{(t-1)} + \beta \vec{v}_j + \hspace{2em} \text{ for $j = 1, \dots, D$} + \] + where $\beta$ is the momentum (usually $\beta = 0.1$). + + \begin{remark} + All training steps of batch normalization are differentiable and can be integrated into gradient descent. + If normalization is done outside gradient descent, the optimization process might undo it. + \end{remark} + + \begin{remark} + For convolutional layers, mean and variance are computed along the spatial dimension (i.e. pixels in the same output channel are normalized in the same way). + \end{remark} + + + \item[Inference] + During inference, the final running averages of mean $\vec{\mu}$ and variance $\vec{v}$ are used to normalize the activations (i.e. they are considered constants). + Given the learned parameters $\vec{\gamma}$ and $\vec{\beta}$, an activation is normalized as follows: + \[ + \begin{split} + \vec{s}_j^{(i)} &= \vec{\gamma}_j \frac{\vec{a}_j^{(i)} - \vec{\mu}_j}{\sqrt{\vec{v}_j + \varepsilon}} + \vec{\beta}_j \\ + &= \left( \frac{\vec{\gamma}_j}{\sqrt{\vec{v}_j + \varepsilon}} \right) \vec{a}_j^{(i)} + + \left( \vec{\beta}_j - \frac{\vec{\gamma}_j \vec{\mu}_j}{\sqrt{\vec{v}_j + \varepsilon}} \right) + \end{split} + \hspace{2em} \text{ for $j = 1, \dots, D$} + \] + + \begin{remark} + Normalization during inference can be seen as a linear transformation. Therefore, it can be merged with the previous layer. + \end{remark} + + + \item[Properties] + The advantages of batch normalization are: + \begin{itemize} + \item It allows to use a higher learning rate and makes initialization less important. + \item Training becomes non-deterministic, introducing some regularization. + \item During inference, there is no overhead as it can be merged with the previous layer. + \end{itemize} + The disadvantages are: + \begin{itemize} + \item It is not clear why it works. + \item Training and inference work differently. + \item It does not scale with batches that are too small. + \end{itemize} + + \begin{remark}[Internal covariate shift] + A possible motivation for batch normalization is that each layer of a neural network expects an input distribution that changes at each training iteration. + On the other hand, the distribution of the input itself depends on the previous layer and it also changes at each iteration. + Therefore, each layer is disrupted by the update of the previous one. Batch normalization aims to minimize this by maintaining a fixed distribution. + \end{remark} +\end{description} \ No newline at end of file