From 371b301921b779664eff8beb0b7c681534f9b721 Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Mon, 2 Oct 2023 21:25:43 +0200 Subject: [PATCH] Add SMM backpropagation --- .../img/_backward_pass.pdf | Bin 0 -> 42486 bytes .../img/_forward_pass.pdf | Bin 0 -> 54263 bytes .../img/auto_diff.png | Bin 0 -> 43566 bytes .../sections/_linear_algebra.tex | 4 +- .../sections/_vector_calculus.tex | 231 +++++++++++++++++- 5 files changed, 232 insertions(+), 3 deletions(-) create mode 100644 src/statistical-and-mathematical-methods-for-ai/img/_backward_pass.pdf create mode 100644 src/statistical-and-mathematical-methods-for-ai/img/_forward_pass.pdf create mode 100644 src/statistical-and-mathematical-methods-for-ai/img/auto_diff.png diff --git a/src/statistical-and-mathematical-methods-for-ai/img/_backward_pass.pdf b/src/statistical-and-mathematical-methods-for-ai/img/_backward_pass.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e31de424214d172b376ab43dd32a7ae6f495729 GIT binary patch literal 42486 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 Clq{c#O<=f4@P{d^fdl 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 literal 0 HcmV?d00001 diff --git a/src/statistical-and-mathematical-methods-for-ai/img/auto_diff.png b/src/statistical-and-mathematical-methods-for-ai/img/auto_diff.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a1f7895fb649590a43eb6e2fe8d1859c250105 GIT binary patch literal 43566 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 PL>jm5-7L9b@%aA$<8NSo literal 0 HcmV?d00001 diff --git a/src/statistical-and-mathematical-methods-for-ai/sections/_linear_algebra.tex b/src/statistical-and-mathematical-methods-for-ai/sections/_linear_algebra.tex index 633cb5b..e235829 100644 --- a/src/statistical-and-mathematical-methods-for-ai/sections/_linear_algebra.tex +++ b/src/statistical-and-mathematical-methods-for-ai/sections/_linear_algebra.tex @@ -259,8 +259,8 @@ it is possible to use the basis of $U$.\\ Let $m = \text{dim}(U)$ be the dimension of $U$ and $\matr{B} = (\vec{b}_1, \dots, \vec{b}_m) \in \mathbb{R}^{n \times m}$ an ordered basis of $U$. A projection $\pi_U(\vec{x})$ represents $\vec{x}$ as a linear combination of the basis: -\[ \pi_U(\vec{x}) = \sum_{i=1}^{m} \lambda_i \vec{b}_i = \matr{B}\vec{\lambda} \] -where $\vec{\lambda} = (\lambda_1, \dots, \lambda_m)^T \in \mathbb{R}^{m}$ are the new coordinates of $\vec{x}$ +\[ \pi_U(\vec{x}) = \sum_{i=1}^{m} \lambda_i \vec{b}_i = \matr{B}\vec{\uplambda} \] +where $\vec{\uplambda} = (\lambda_1, \dots, \lambda_m)^T \in \mathbb{R}^{m}$ are the new coordinates of $\vec{x}$ and is found by minimizing the distance between $\pi_U(\vec{x})$ and $\vec{x}$. diff --git a/src/statistical-and-mathematical-methods-for-ai/sections/_vector_calculus.tex b/src/statistical-and-mathematical-methods-for-ai/sections/_vector_calculus.tex index 2846305..be0e262 100644 --- a/src/statistical-and-mathematical-methods-for-ai/sections/_vector_calculus.tex +++ b/src/statistical-and-mathematical-methods-for-ai/sections/_vector_calculus.tex @@ -94,6 +94,61 @@ \end{split} \] \end{example} + + \begin{example} + Let $h: \mathbb{R} \rightarrow \mathbb{R}$ be defined as $h(t) = (f \circ g)(t)$ where: + \[ f: \mathbb{R}^2 \rightarrow \mathbb{R} \text{ is defined as } f(\vec{x}) = \exp(x_1 x_2^2) \] + \[ + g: \mathbb{R} \rightarrow \mathbb{R}^2 \text{ is defined as } + \vec{g}(t) = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix}t \cos(t) \\ t \sin(t) \end{pmatrix} + \] + The gradient of $h$ with respect to $t$ can be computed as: + \[ + \frac{\text{d} h}{\text{d} t} = + \frac{\partial f}{\partial \vec{g}} \frac{\partial \vec{g}}{\partial t} = + \begin{pmatrix} + \frac{\partial f}{\partial x_1} & \frac{\partial f}{\partial x_2} + \end{pmatrix} + \begin{pmatrix} + \frac{\partial x_1}{\partial t} \\ \frac{\partial x_2}{\partial t} + \end{pmatrix} + \] + \[ + = + \begin{pmatrix} \exp(x_1 x_2^2)x_2^2 & 2\exp(x_1 x_2^2)x_1 x_2 \end{pmatrix} + \begin{pmatrix} \cos(t) + (-t\sin(t)) \\ \sin(t) + t\cos(t) \end{pmatrix} + \] + \end{example} + + \begin{example}[Gradient of a least squares loss] \marginnote{Least squares loss gradient} + Given a linear model defined on $\vec{\uptheta}$: + \[ \vec{y} = \matr{\Phi}\vec{\uptheta} \] + \end{example} + with $\vec{\uptheta} \in \mathbb{R}^D$, $\matr{\Phi} \in \mathbb{R}^{N \times D}$ and $\vec{y} \in \mathbb{R}^N$. + We can define the least squares loss function as: + \[ L(\vec{e}) = \Vert \vec{e} \Vert_2^2 \] + \[ \vec{e}(\vec{\uptheta}) = \vec{y} - \matr{\Phi}\vec{\uptheta} \] + It must be noted that: + \[ L(\vec{e}) = \Vert \vec{e} \Vert_2^2 = \vec{e}^T\vec{e} = \sum_{i=1}^{N} \vec{e}_i^2 \] + + To compute the gradient of $L$ with respect to $\vec{\uptheta}$, we can use the chain rule: + \[ + \begin{split} + \nabla L(\vec{\uptheta}) &= \frac{\partial L}{\partial \vec{e}} \frac{\partial \vec{e}}{\partial \vec{\uptheta}} + = (2\vec{e}^T) (-\matr{\Phi}) \\ + & = -2(\vec{y}^T - \vec{\uptheta}^T \matr{\Phi}^T)\matr{\Phi} \\ + & = -2(\vec{y}^T\matr{\Phi} - \vec{\uptheta}^T \matr{\Phi}^T\matr{\Phi}) + \end{split} + \] + + Note that if we enforce $\nabla L(\vec{\uptheta}) = \nullvec$, we obtain the normal equation of \Cref{sec:lls}: + \[ + \begin{split} + \nabla L = 0 &\iff -2(\vec{y}^T\matr{\Phi} - \vec{\uptheta}^T \matr{\Phi}^T\matr{\Phi}) = \nullvec \\ + &\iff \vec{y}^T \matr{\Phi} - \vec{\uptheta}^T \matr{\Phi}^T\matr{\Phi} = \nullvec \\ + &\iff \matr{\Phi}^T \vec{y} - \matr{\Phi}^T \matr{\Phi} \vec{\uptheta} = \nullvec + \end{split} + \] \end{description} @@ -128,4 +183,178 @@ \] In other words, $J_{i,j} = \frac{\partial f_i}{\partial x_j}$. Note that the Jacobian matrix is a generalization of the gradient in the real-valued case. -\end{description} \ No newline at end of file + \end{description} + + + +\section{Backpropagation} +\marginnote{Backpropagation} +Backpropagation is used to tune the parameters of a neural network. +A neural network can be seen as a composition of many functions: +\[ \vec{y} = (\vec{f}_K \circ \vec{f}_{K-1} \circ \dots \circ \vec{f}_1)(\vec{x}) = \vec{f}_K(\vec{f}_{K-1}(\cdots \vec{f}_1(\vec{x}) \cdots)) \] +Each $\vec{f}_i$ takes as input the output of the previous layer $\vec{x}_{i-1}$ and has the form: +\[ \vec{f}_i(\vec{x}_{i-1}) = \sigma_i(\matr{A}_{i-1}\vec{x}_{i-1} + \vec{b}_{i-1}) \] +where $\sigma_i$ is an activation function\footnote{\url{https://en.wikipedia.org/wiki/Activation_function}} (a function to add nonlinearity), +while $\matr{A}_{i-1}$ (linear mapping) and $\vec{b}_{i-1}$ (biases) are the parameters of $\vec{f}_i$. + +\begin{figure}[ht] + \centering + \includegraphics[width=0.7\textwidth]{img/_forward_pass.pdf} + \caption{Forward pass} +\end{figure} + +We can more compactly denote a neural network with input $\vec{x}$ and $K$ layers as: +\[ + \begin{split} + \vec{f}_0 &= \vec{x} \\ + \vec{f}_i &= \sigma_i(\matr{A}_{i-1} \vec{f}_{i-1} + \vec{b}_{i-1}) \text{ } i=1, \dots, K + \end{split} +\] +Given the ground truth $\vec{y}$, we want to find the parameters $\matr{A}_j$ and $\vec{b}_j$ that minimizes the squared loss: +\[ L(\vec{\uptheta}) = \Vert \vec{y} - \vec{f}_K(\vec{\uptheta}, \vec{x}) \Vert^2 \] +where $\vec{\uptheta} = \{ \matr{A}_{0}, \vec{b}_{0}, \dots, \matr{A}_{K-1}, \vec{b}_{K-1} \}$ are the parameters of each layer. +This can be done by using the chain rule to compute the partial derivatives of $L$ with respect to the parameters $\vec{\uptheta}_j = \{ \matr{A}_j, \vec{b}_j \}$: +\[ + \begin{split} + \frac{\partial L}{\partial \vec{\uptheta}_{K-1}} &= + \overbrace{\frac{\partial L}{\partial \vec{f}_K} \frac{\partial \vec{f}_K}{\partial \vec{\uptheta}_{K-1}}}^{\mathclap{\text{New}}} \\ + \frac{\partial L}{\partial \vec{\uptheta}_{K-2}} &= + \overbrace{\frac{\partial L}{\partial \vec{f}_K}}^{\mathclap{\text{Known}}} + \overbrace{\frac{\partial \vec{f}_K}{\partial \vec{f}_{K-1}} \frac{\partial \vec{f}_{K-1}}{\partial \vec{\uptheta}_{K-2}}}^{\mathclap{\text{New}}} \\ + \frac{\partial L}{\partial \vec{\uptheta}_{K-3}} &= + \overbrace{\frac{\partial L}{\partial \vec{f}_K} \frac{\partial \vec{f}_K}{\partial \vec{f}_{K-1}}}^{\mathclap{\text{Known}}} + \overbrace{\frac{\partial \vec{f}_{K-1}}{\partial \vec{f}_{K-2}} \frac{\partial \vec{f}_{K-2}}{\partial \vec{\uptheta}_{K-3}}}^{\mathclap{\text{New}}} \\ + \vdots \\ + \frac{\partial L}{\partial \vec{\uptheta}_{i}} &= + \overbrace{\frac{\partial L}{\partial \vec{f}_K} \frac{\partial \vec{f}_K}{\partial \vec{f}_{K-1}} \dots}^{\mathclap{\text{Known}}} + \overbrace{\frac{\partial \vec{f}_{i+2}}{\partial \vec{f}_{i+1}} \frac{\partial \vec{f}_{i+1}}{\partial \vec{\uptheta}_{i}}}^{\mathclap{\text{New}}} + \end{split} +\] + +\begin{figure}[ht] + \centering + \includegraphics[width=0.7\textwidth]{img/_backward_pass.pdf} + \caption{Backward pass} +\end{figure} + + + +\section{Automatic differentiation} +Starting from the example below first is recommended.\\ + +\marginnote{Automatic differentiation} +Automatic differentiation allows to numerically compute +the gradient of complex functions using elementary functions, intermediate variables and the chain rule through a computation graph. +When the gradient has many components, it also allows to compute it more efficiently. + +Let $f$ be a function, +$x_1, \dots, x_d$ the input variables of $f$, +$x_{d+1}, \dots, x_{D-1}$ the intermediate variables and +$x_D$ the output variable. +The computation graph can be expressed as: +\[ + \forall i \in \{ d+1, \dots, D \}: x_i = g_i(x_{\text{Pa}(x_i)}) +\] +where $g_i$ are elementary functions and $x_{\text{Pa}(x_i)}$ are the parent nodes of $x_i$ in the graph. +In other words, each intermediate variable is expressed as an elementary function of its preceding nodes. +The derivatives of $f$ can then be computed step-by-step going backwards as: +\[ \frac{\partial f}{\partial x_D} = 1 \text{, as by definition } f = x_D \] +\[ + \frac{\partial f}{\partial x_i} = \sum_{\forall x_j: x_i \in \text{Pa}(x_j)} \frac{\partial f}{\partial x_j} \frac{\partial x_j}{\partial x_i} + = \sum_{\forall x_j: x_i \in \text{Pa}(x_j)} \frac{\partial f}{\partial x_j} \frac{\partial g_j}{\partial x_i} +\] +where $\text{Pa}(x_j)$ is the set of parent nodes of $x_j$ in the graph. +In other words, to compute the partial derivative of $f$ w.r.t. $x_i$, +we apply the chain rule by first computing +the partial derivative of $f$ w.r.t. the variables following $x_i$ in the graph (as the computation goes backwards). + +Automatic differentiation is applicable to all functions that can be expressed as a computational graph and +when the elementary functions are differentiable. +Note that backpropagation is a special case of automatic differentiation. + +\begin{example} + Given the function: + \[ f(x) = \sqrt{x^2 + \exp(x^2)} + \cos(x^2 + \exp(x^2)) \] + and the elementary functions $\{ (\cdot)^2, \exp(\cdot), +, \sqrt{\cdot}, \cos(\cdot) \}$, + $f$ can be decomposed in the following intermediate variables:\\ + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + a &= x^2 \\ + b &= \exp(a) \\ + c &= a + b \\ + d &= \sqrt{c} \\ + \end{split} + \] + \end{minipage}% + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + e &= \cos(c) \\ + f &= d + e \\ + \end{split} + \] + \end{minipage}\\ + + Which corresponds to the following computation graph: + \begin{center} + \includegraphics[width=0.75\textwidth]{img/auto_diff.png} + \end{center} + + We can then compute the derivatives of the intermediate variables w.r.t. their inputs (i.e. inbound edges):\\ + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + \frac{\partial a}{\partial x} &= 2x \\ + \frac{\partial b}{\partial a} &= \exp(a) \\ + \frac{\partial c}{\partial a} &= 1 \\ + \frac{\partial c}{\partial b} &= 1 + \end{split} + \] + \end{minipage}% + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + \frac{\partial d}{\partial c} &= \frac{1}{2\sqrt{c}} \\ + \frac{\partial e}{\partial c} &= -\sin(c) \\ + \frac{\partial f}{\partial d} &= 1 \\ + \frac{\partial f}{\partial e} &= 1 + \end{split} + \] + \end{minipage}\\ + + Finally, we can compute $\frac{\partial f}{\partial x}$ by going backward from the output ($f$) to the input ($x$):\\ + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + \frac{\partial f}{\partial d} &= \text{ already known (previous step)} \\ + \frac{\partial f}{\partial e} &= \text{ already known (previous step)} \\ + \frac{\partial f}{\partial c} &= + \frac{\partial f}{\partial d}\frac{\partial d}{\partial c} + \frac{\partial f}{\partial e}\frac{\partial e}{\partial c} \\ + \end{split} + \] + \end{minipage}% + \begin{minipage}{.5\linewidth} + \[ + \begin{split} + \frac{\partial f}{\partial b} &= \frac{\partial f}{\partial c}\frac{\partial c}{\partial b} \\ + \frac{\partial f}{\partial a} &= + \frac{\partial f}{\partial b}\frac{\partial b}{\partial a} + \frac{\partial f}{\partial c}\frac{\partial c}{\partial a} \\ + \frac{\partial f}{\partial x} &= \frac{\partial f}{\partial a}\frac{\partial a}{\partial x} + \end{split} + \] + \end{minipage}\\ + + In other words, to compute the partial derivative of $f$ w.r.t. a variable $x_i$, + all variables $w_j$ that follows $x_i$ in the graph are considered. + + Now, by substituting we obtain: + \[ + \begin{split} + \frac{\partial f}{\partial c} &= 1 \cdot \frac{1}{2\sqrt{c}} + 1 \cdot (-\sin(c)) \\ + \frac{\partial f}{\partial b} &= \frac{\partial f}{\partial c} \cdot 1 \\ + \frac{\partial f}{\partial a} &= \frac{\partial f}{\partial b} \cdot \exp(a) + \frac{\partial f}{\partial c} \cdot 1 \\ + \frac{\partial f}{\partial x} &= \frac{\partial f}{\partial a} \cdot 2x + \end{split} + \] +\end{example} \ No newline at end of file