Finish writing
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
This commit is contained in:
96
img/ccnn.pgf
Normal file
96
img/ccnn.pgf
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
%\newlength{\layer}
|
||||||
|
\newlength{\layerheight}
|
||||||
|
\newlength{\perspective}
|
||||||
|
\newlength{\filters}
|
||||||
|
%\newlength{\unit}
|
||||||
|
|
||||||
|
\setlength{\layer}{3cm}
|
||||||
|
\setlength{\layerheight}{3cm}
|
||||||
|
\setlength{\perspective}{1cm}
|
||||||
|
\setlength{\filters}{0.01cm}
|
||||||
|
\setlength{\unit}{0.225cm}
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
|
||||||
|
% first layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + \perspective, \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + \perspective, \perspective) -- (\layer + \perspective, \perspective + \layerheight) -- (\layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 0cm) -- (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters, \layerheight) -- (\layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 180 * \filters, 0cm) -- (\layer + 180 * \filters + \perspective, \perspective) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + 180 * \filters, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \layerheight) -- (\layer + 180 * \filters, \layerheight) -- (\layer + 180 * \filters + \perspective, \perspective + \layerheight) -- (\layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=north west, scale=0.65] at (\layer, 0cm) {$180 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% second layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + \perspective, \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + \perspective, \perspective) -- (2 * \layer + \perspective, \perspective + \layerheight) -- (2 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters, \layerheight) -- (2 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0cm) -- (2 * \layer + 100 * \filters + \perspective, \perspective) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + 100 * \filters, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \layerheight) -- (2 * \layer + 100 * \filters, \layerheight) -- (2 * \layer + 100 * \filters + \perspective, \perspective + \layerheight) -- (2 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=north west, scale=0.65] at (2 * \layer, 0cm) {$100 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% third layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + \perspective, \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + \perspective, \perspective) -- (3 * \layer + \perspective, \perspective + \layerheight) -- (3 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 0cm) -- (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters, \layerheight) -- (3 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0cm) -- (3 * \layer + 40 * \filters + \perspective, \perspective) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + 40 * \filters, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \layerheight) -- (3 * \layer + 40 * \filters, \layerheight) -- (3 * \layer + 40 * \filters + \perspective, \perspective + \layerheight) -- (3 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=north west, scale=0.65] at (3 * \layer, 0cm) {$40 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% fourth layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + \perspective, \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + \perspective, \perspective) -- (4 * \layer + \perspective, \perspective + \layerheight) -- (4 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + 20 * \filters, \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \layerheight) -- (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer + 20 * \filters + \perspective, \perspective + \layerheight) -- (4 * \layer + \perspective, \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=north west, scale=0.65] at (4 * \layer, 0cm) {$20 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% flatten layer
|
||||||
|
\foreach \x in {2,...,7} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (4 * \layer + 3cm, 0.5cm * \x) circle (\unit);
|
||||||
|
\draw (4 * \layer + 3cm + \unit, 0.5cm * \x) -- (5 * \layer + 2cm - \unit, 2.5cm);
|
||||||
|
};
|
||||||
|
\node[anchor=north, scale=0.5, below=15pt, align=center] at (4 * \layer + 3cm, 1cm) {flatten};
|
||||||
|
|
||||||
|
% output layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (5 * \layer + 2cm, 2.5cm - \unit) -- (5 * \layer + 2cm, 2.5cm) circle (\unit) -- (5 * \layer + 2cm, 2.5cm + \unit);
|
||||||
|
\draw (5 * \layer + 2cm + 0.05cm, 2.5cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (5 * \layer + 2cm + 0.10cm, 2.5cm) -- (5 * \layer + 2cm + 0.15cm, 2.5cm + 0.05cm);
|
||||||
|
|
||||||
|
% draw first convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters, \layerheight) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters, \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (\layer + 180 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer, 0.8 * \layerheight) -- (\layer + 180 * \filters, \layerheight) -- cycle;
|
||||||
|
|
||||||
|
% draw second convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (2 * \layer + 100 * \filters + 0.4 * \perspective, 0.4 * \layerheight + 0.4 * \perspective) -- (3 * \layer, 0.2 * \layerheight) -- (2 * \layer + 100 * \filters, 0.4 * \layerheight) -- cycle;
|
||||||
|
|
||||||
|
% draw third convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight - 0.3 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.5] (3 * \layer + 40 * \filters + 0.4 * \perspective, 0.6 * \layerheight + 0.4 * \perspective) -- (4 * \layer, 0.3 * \layerheight) -- (3 * \layer + 40 * \filters, 0.6 * \layerheight) -- cycle;
|
||||||
|
|
||||||
|
% draw the "flatenisation"
|
||||||
|
\draw[dashed] (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer + 3 cm, 3.5cm + \unit) -- (4 * \layer + 20 * \filters + \perspective, \layerheight + \perspective) -- cycle;
|
||||||
|
\draw[dashed] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 3 cm, 1cm - \unit) -- (4 * \layer + 20 * \filters + \perspective, \perspective) -- cycle;
|
||||||
|
|
||||||
|
% hidden layer labels
|
||||||
|
\node[anchor=base, align=center, text width=3.9cm, scale=0.75] (c) at (11cm, 5.5cm) {convolutional layers ($5 \times 5$ kernel, ReLU activation)};
|
||||||
|
\draw[->] (c) -- (\layer + 180 * \filters + \perspective, \layerheight + \perspective + \unit);
|
||||||
|
\draw[->] (c) -- (2 * \layer + 100 * \filters + \perspective, \layerheight + \perspective + \unit);
|
||||||
|
\draw[->] (c) -- (3 * \layer + 40 * \filters + \perspective, \layerheight + \perspective + \unit);
|
||||||
|
\draw[->] (c) -- (4 * \layer + 0.5 * \perspective, \layerheight + \perspective + \unit);
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
% vim: ft=tex
|
||||||
BIN
img/cicy_best_plots.pdf
Normal file
BIN
img/cicy_best_plots.pdf
Normal file
Binary file not shown.
BIN
img/cicy_matrix_plots.pdf
Normal file
BIN
img/cicy_matrix_plots.pdf
Normal file
Binary file not shown.
BIN
img/corr-matrix_orig.pdf
Normal file
BIN
img/corr-matrix_orig.pdf
Normal file
Binary file not shown.
160
img/fc.pgf
Normal file
160
img/fc.pgf
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
\newlength{\unit}
|
||||||
|
\newlength{\layer}
|
||||||
|
|
||||||
|
\setlength{\unit}{0.225cm}
|
||||||
|
\setlength{\layer}{1cm}
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
|
||||||
|
% draw the first layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (\layer, -0.75cm - \unit) -- (\layer, -0.75cm) circle (\unit) -- (\layer, -0.75cm + \unit);
|
||||||
|
\draw (\layer + 0.05cm, -0.75cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [876 units]} -- (\layer + 0.10cm, -0.75cm) -- (\layer + 0.15cm, -0.75cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (\layer, -0.75cm + 1.25 * \unit) {$\vdots$};
|
||||||
|
|
||||||
|
\foreach \x in {0,...,5} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (\layer, 0.5cm * \x - \unit) -- (\layer, 0.5cm * \x) circle (\unit) -- (\layer, 0.5cm * \x + \unit);
|
||||||
|
\draw (\layer + 0.05cm, 0.5cm * \x) -- (\layer + 0.10cm, 0.5cm * \x) -- (\layer + 0.15cm, 0.5cm * \x + 0.05cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (\layer, 3.25cm - \unit) -- (\layer, 3.25cm) circle (\unit) -- (\layer, 3.25cm + \unit);
|
||||||
|
\draw (\layer + 0.05cm, 3.25cm) -- (\layer + 0.10cm, 3.25cm) -- (\layer + 0.15cm, 3.25cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (\layer, 3.25cm - 2\unit) {$\vdots$};
|
||||||
|
|
||||||
|
% draw the second layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (2 * \layer, -\unit) -- (2 * \layer, 0cm) circle (\unit) -- (2 * \layer, \unit);
|
||||||
|
\draw (2 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [461 units]} -- (2 * \layer + 0.10cm, 0cm) -- (2 * \layer + 0.15cm, 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (2 * \layer, 1.25 * \unit) {$\vdots$};
|
||||||
|
|
||||||
|
\foreach \x in {1.5,...,3.5} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 0.5cm * \x - \unit) -- (2 * \layer, 0.5cm * \x) circle (\unit) -- (2 * \layer, 0.5cm * \x + \unit);
|
||||||
|
\draw (2 * \layer + 0.05cm, 0.5cm * \x) -- (2 * \layer + 0.10cm, 0.5cm * \x) -- (2 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 2.5cm - \unit) -- (2 * \layer, 2.5cm) circle (\unit) -- (2 * \layer, 2.5cm + \unit);
|
||||||
|
\draw (2 * \layer + 0.05cm, 2.5cm) -- (2 * \layer + 0.10cm, 2.5cm) -- (2 * \layer + 0.15cm, 2.5cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (2 * \layer, 2.5cm - 2\unit) {$\vdots$};
|
||||||
|
|
||||||
|
% draw the third layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (3 * \layer, -\unit) -- (3 * \layer, 0cm) circle (\unit) -- (3 * \layer, \unit);
|
||||||
|
\draw (3 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [437 units]} -- (3 * \layer + 0.10cm, 0cm) -- (3 * \layer + 0.15cm, 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (3 * \layer, 1.25 * \unit) {$\vdots$};
|
||||||
|
|
||||||
|
\foreach \x in {1.5,...,3.5} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 0.5cm * \x - \unit) -- (3 * \layer, 0.5cm * \x) circle (\unit) -- (3 * \layer, 0.5cm * \x + \unit);
|
||||||
|
\draw (3 * \layer + 0.05cm, 0.5cm * \x) -- (3 * \layer + 0.10cm, 0.5cm * \x) -- (3 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 2.5cm - \unit) -- (3 * \layer, 2.5cm) circle (\unit) -- (3 * \layer, 2.5cm + \unit);
|
||||||
|
\draw (3 * \layer + 0.05cm, 2.5cm) -- (3 * \layer + 0.10cm, 2.5cm) -- (3 * \layer + 0.15cm, 2.5cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (3 * \layer, 2.5cm - 2\unit) {$\vdots$};
|
||||||
|
|
||||||
|
% draw the fourth layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (4 * \layer, -0.75cm - \unit) -- (4 * \layer, -0.75cm) circle (\unit) -- (4 * \layer, -0.75cm + \unit);
|
||||||
|
\draw (4 * \layer + 0.05cm, -0.75cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [929 units]} -- (4 * \layer + 0.10cm, -0.75cm) -- (4 * \layer + 0.15cm, -0.75cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (4 * \layer, -0.75cm + 1.25 * \unit) {$\vdots$};
|
||||||
|
|
||||||
|
\foreach \x in {0,...,5} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 0.5cm * \x - \unit) -- (4 * \layer, 0.5cm * \x) circle (\unit) -- (4 * \layer, 0.5cm * \x + \unit);
|
||||||
|
\draw (4 * \layer + 0.05cm, 0.5cm * \x) -- (4 * \layer + 0.10cm, 0.5cm * \x) -- (4 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 3.25cm - \unit) -- (4 * \layer, 3.25cm) circle (\unit) -- (4 * \layer, 3.25cm + \unit);
|
||||||
|
\draw (4 * \layer + 0.05cm, 3.25cm) -- (4 * \layer + 0.10cm, 3.25cm) -- (4 * \layer + 0.15cm, 3.25cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (4 * \layer, 3.25cm - 2\unit) {$\vdots$};
|
||||||
|
|
||||||
|
% draw the fifth layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (5 * \layer, -\unit) -- (5 * \layer, 0cm) circle (\unit) -- (5 * \layer, \unit);
|
||||||
|
\draw (5 * \layer + 0.05cm, 0cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {FC layer [404 units]} -- (5 * \layer + 0.10cm, 0cm) -- (5 * \layer + 0.15cm, 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (5 * \layer, 1.25 * \unit) {$\vdots$};
|
||||||
|
|
||||||
|
\foreach \x in {1.5,...,3.5} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 0.5cm * \x - \unit) -- (5 * \layer, 0.5cm * \x) circle (\unit) -- (5 * \layer, 0.5cm * \x + \unit);
|
||||||
|
\draw (5 * \layer + 0.05cm, 0.5cm * \x) -- (5 * \layer + 0.10cm, 0.5cm * \x) -- (5 * \layer + 0.15cm, 0.5cm * \x + 0.05cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 2.5cm - \unit) -- (5 * \layer, 2.5cm) circle (\unit) -- (5 * \layer, 2.5cm + \unit);
|
||||||
|
\draw (5 * \layer + 0.05cm, 2.5cm) -- (5 * \layer + 0.10cm, 2.5cm) -- (5 * \layer + 0.15cm, 2.5cm + 0.05cm);
|
||||||
|
\node[anchor=base, scale=0.35] at (5 * \layer, 2.5cm - 2\unit) {$\vdots$};
|
||||||
|
|
||||||
|
% draw the output layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (6 * \layer, 1.25cm - \unit) -- (6 * \layer, 1.25cm) circle (\unit) -- (6 * \layer, 1.25cm + \unit);
|
||||||
|
\draw (6 * \layer + 0.05cm, 1.25cm) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (6 * \layer + 0.10cm, 1.25cm) -- (6 * \layer + 0.15cm, 1.25cm + 0.05cm);
|
||||||
|
|
||||||
|
% draw weights 1 --> 2 and 4 --> 5
|
||||||
|
\foreach \x in {\layer, 4 * \layer} {
|
||||||
|
\foreach \y in {-0.75cm, 3.25cm} {
|
||||||
|
\foreach \z in {0cm, 2.5cm} {
|
||||||
|
\draw (\x + \unit, \y) -- (\x + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {0,...,5} {
|
||||||
|
\foreach \z in {1.5,...,3.5} {
|
||||||
|
\draw (\x + \unit, 0.5cm * \y) -- (\x + \layer - \unit, 0.5cm * \z);
|
||||||
|
};
|
||||||
|
\foreach \z in {0cm, 2.5cm} {
|
||||||
|
\draw (\x + \unit, 0.5 * \y) -- (\x + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {1.5,...,3.5} {
|
||||||
|
\draw (\x + \unit, 3.25cm) -- (\x + \layer - \unit, 0.5cm * \y);
|
||||||
|
\draw (\x + \unit, -0.75cm) -- (\x + \layer - \unit, 0.5cm * \y);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
% draw weights 2 --> 3
|
||||||
|
\foreach \y in {0cm, 2.5cm} {
|
||||||
|
\foreach \z in {0cm, 2.5cm} {
|
||||||
|
\draw (2 * \layer + \unit, \y) -- (2 * \layer + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {1.5,...,3.5} {
|
||||||
|
\foreach \z in {1.5,...,3.5} {
|
||||||
|
\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, 0.5cm * \z);
|
||||||
|
};
|
||||||
|
\foreach \z in {0cm, 2.5cm} {
|
||||||
|
\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {1.5,...,3.5} {
|
||||||
|
\draw (2 * \layer + \unit, 2.5cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y);
|
||||||
|
\draw (2 * \layer + \unit, 0cm) -- (2 * \layer + \layer - \unit, 0.5cm * \y);
|
||||||
|
};
|
||||||
|
|
||||||
|
% draw weights 3 --> 4
|
||||||
|
\foreach \y in {0cm, 2.5cm} {
|
||||||
|
\foreach \z in {-0.75cm, 3.25cm} {
|
||||||
|
\draw (3 * \layer + \unit, \y) -- (3 * \layer + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {1.5,...,3.5} {
|
||||||
|
\foreach \z in {0,...,5} {
|
||||||
|
\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, 0.5cm * \z);
|
||||||
|
};
|
||||||
|
\foreach \z in {0cm, 2.5cm} {
|
||||||
|
\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, \z);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
\foreach \y in {0,...,5} {
|
||||||
|
\draw (3 * \layer + \unit, 2.5cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y);
|
||||||
|
\draw (3 * \layer + \unit, 0cm) -- (3 * \layer + \layer - \unit, 0.5cm * \y);
|
||||||
|
};
|
||||||
|
|
||||||
|
% draw weights 5 --> output
|
||||||
|
\foreach \y in {0cm, 2.5cm} {
|
||||||
|
\draw (5 * \layer + \unit, \y) -- (5 * \layer + \layer - \unit, 1.25cm);
|
||||||
|
};
|
||||||
|
\foreach \y in {1.5,...,3.5} {
|
||||||
|
\draw (5 * \layer + \unit, 0.5cm * \y) -- (5 * \layer + \layer - \unit, 1.25cm);
|
||||||
|
};
|
||||||
|
|
||||||
|
% draw hidden layers legend
|
||||||
|
\node[anchor=base, align=center, text width=3.5cm, scale=0.5] (h) at (4cm, 4.5cm) {hidden layers (ReLU activation)};
|
||||||
|
\draw[->] (h) -- (\layer + \unit, 3.6cm);
|
||||||
|
\draw[->] (h) -- (2 * \layer + \unit, 2.85cm);
|
||||||
|
\draw[->] (h) -- (3 * \layer + 0.5 * \unit, 2.85cm);
|
||||||
|
\draw[->] (h) -- (4 * \layer, 3.6cm);
|
||||||
|
\draw[->] (h) -- (5 * \layer - 0.5 * \unit, 2.85cm);
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
% vim: ft=tex
|
||||||
193
img/icnn.pgf
Normal file
193
img/icnn.pgf
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
%\newlength{\layer}
|
||||||
|
%\newlength{\layerheight}
|
||||||
|
%\newlength{\perspective}
|
||||||
|
%\newlength{\filters}
|
||||||
|
%\newlength{\unit}
|
||||||
|
\newlength{\upperlevel}
|
||||||
|
\newlength{\bottomlevel}
|
||||||
|
\newlength{\concatheight}
|
||||||
|
|
||||||
|
\setlength{\layer}{3cm}
|
||||||
|
\setlength{\layerheight}{3cm}
|
||||||
|
\setlength{\perspective}{1cm}
|
||||||
|
\setlength{\filters}{0.01cm}
|
||||||
|
\setlength{\unit}{0.225cm}
|
||||||
|
\setlength{\upperlevel}{2.25cm}
|
||||||
|
\setlength{\bottomlevel}{-2.25cm}
|
||||||
|
\setlength{\concatheight}{0cm}
|
||||||
|
|
||||||
|
\usetikzlibrary{decorations.pathreplacing}
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
|
||||||
|
% input layer
|
||||||
|
\filldraw[fill=cyan!20, draw=black, fill opacity=0.5] (1cm, 0cm) -- (1cm + \perspective, \perspective) -- (1cm + \perspective, \perspective + \layerheight) -- (1cm, \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (1cm, \layerheight) {$1 @ 12 \times 15$};
|
||||||
|
\node[anchor=north west, scale=0.65] at (1cm, 0cm) {input layer};
|
||||||
|
|
||||||
|
% first layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + \perspective, \upperlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + \perspective, \upperlevel + \perspective) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel) -- (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- (\layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, \upperlevel) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \upperlevel + \layerheight) -- (\layer + 32 * \filters, \upperlevel + \layerheight) -- (\layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (\layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + \perspective, \bottomlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + \perspective, \bottomlevel + \perspective) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- (\layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, \bottomlevel) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, \bottomlevel + \layerheight) -- (\layer + 32 * \filters, \bottomlevel + \layerheight) -- (\layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (\layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% first concatenation
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + \perspective, \concatheight + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + \perspective, \concatheight + \perspective) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- (2 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + 64 * \filters, \concatheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, \concatheight + \layerheight) -- (2 * \layer + 64 * \filters, \concatheight + \layerheight) -- (2 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (2 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (2 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\draw (\layer + 32 * \filters + 1.2 * \perspective, \upperlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, \upperlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.2 * \perspective, \bottomlevel + 0.5 * \layerheight);
|
||||||
|
\filldraw[fill=red!20, draw=black] (\layer + 32 * \filters + 1.7 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
|
||||||
|
\draw[-latex] (\layer + 32 * \filters + 1.7 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
|
||||||
|
|
||||||
|
% second layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + \perspective, \upperlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + \perspective, \upperlevel + \perspective) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- (3 * \layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, \upperlevel) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \upperlevel + \layerheight) -- (3 * \layer + 64 * \filters, \upperlevel + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \upperlevel + \layerheight) {$64 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + \perspective, \bottomlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + \perspective, \bottomlevel + \perspective) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- (3 * \layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, \bottomlevel) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, \bottomlevel + \layerheight) -- (3 * \layer + 64 * \filters, \bottomlevel + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (3 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, \bottomlevel + \layerheight) {$64 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% second concatenation
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + \perspective, \concatheight + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + \perspective, \concatheight + \perspective) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- (4 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + 128 * \filters, \concatheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, \concatheight + \layerheight) -- (4 * \layer + 128 * \filters, \concatheight + \layerheight) -- (4 * \layer + 128 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (4 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (4 * \layer, \concatheight + \layerheight) {$128 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\draw (3 * \layer + 64 * \filters + 1.1 * \perspective, \upperlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, \upperlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.1 * \perspective, \bottomlevel + 0.5 * \layerheight);
|
||||||
|
\filldraw[fill=red!20, draw=black] (3 * \layer + 64 * \filters + 1.6 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
|
||||||
|
\draw[-latex] (3 * \layer + 64 * \filters + 1.6 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
|
||||||
|
|
||||||
|
% third layer
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + \perspective, \upperlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + \perspective, \upperlevel + \perspective) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- (5 * \layer, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, \upperlevel) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \upperlevel + \layerheight) -- (5 * \layer + 32 * \filters, \upperlevel + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, \upperlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \upperlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \upperlevel + \layerheight) {$32 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + \perspective, \bottomlevel + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + \perspective, \bottomlevel + \perspective) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- (5 * \layer, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, \bottomlevel) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, \bottomlevel + \layerheight) -- (5 * \layer + 32 * \filters, \bottomlevel + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, \bottomlevel + \perspective + \layerheight) -- (5 * \layer + \perspective, \bottomlevel + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, \bottomlevel + \layerheight) {$32 @ 12 \times 15$};
|
||||||
|
|
||||||
|
% third concatenation
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + \perspective, \concatheight + \perspective) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + \perspective, \concatheight + \perspective) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- (6 * \layer, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + 64 * \filters, \concatheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- cycle;
|
||||||
|
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, \concatheight + \layerheight) -- (6 * \layer + 64 * \filters, \concatheight + \layerheight) -- (6 * \layer + 64 * \filters + \perspective, \concatheight + \perspective + \layerheight) -- (6 * \layer + \perspective, \concatheight + \perspective + \layerheight) -- cycle;
|
||||||
|
\node[anchor=south west, scale=0.65, rotate=45] at (6 * \layer, \concatheight + \layerheight) {$64 @ 12 \times 15$};
|
||||||
|
|
||||||
|
\draw (5 * \layer + 32 * \filters + 1.2 * \perspective, \upperlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, \upperlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, \bottomlevel + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.2 * \perspective, \bottomlevel + 0.5 * \layerheight);
|
||||||
|
\filldraw[fill=red!20, draw=black] (5 * \layer + 32 * \filters + 1.7 * \perspective, \concatheight + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\unit);
|
||||||
|
\draw[-latex] (5 * \layer + 32 * \filters + 1.7 * \perspective + \unit, \concatheight + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective + 3 * \unit, \concatheight + 0.5 * \layerheight);
|
||||||
|
|
||||||
|
% flatten layer
|
||||||
|
\foreach \x in {0,...,4} {
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (6 * \layer + 3cm, \concatheight + \unit + 0.75 * \x cm) circle (\unit);
|
||||||
|
\draw (6 * \layer + 3cm + \unit, \concatheight + \unit + 0.75 * \x cm) -- (7 * \layer + 2cm - \unit, \concatheight + \unit + 0.5 * \layerheight);
|
||||||
|
};
|
||||||
|
\node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, \concatheight + \unit) {flatten};
|
||||||
|
|
||||||
|
% draw the "flatenisation"
|
||||||
|
\draw[dashed] (6 * \layer + 64 * \filters, \layerheight) -- (6 * \layer + 3 cm, 3cm + 2 * \unit) -- (6 * \layer + 64 * \filters + \perspective, \layerheight + \perspective) -- cycle;
|
||||||
|
\draw[dashed] (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 3 cm, 0cm) -- (6 * \layer + 64 * \filters + \perspective, \perspective) -- cycle;
|
||||||
|
|
||||||
|
% output layer
|
||||||
|
\filldraw[fill=cyan!10, draw=black] (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight - \unit) -- (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight) circle (\unit) -- (7 * \layer + 2cm, \concatheight + \unit + 0.5 * \layerheight + \unit);
|
||||||
|
\draw (7 * \layer + 2cm + 0.05cm, \concatheight + \unit + 0.5 * \layerheight) node[anchor=north, below=10pt, text width=2cm, scale=0.35, align=center] {output layer [1 unit]} -- (7 * \layer + 2cm + 0.10cm, \concatheight + \unit + 0.5 * \layerheight) -- (7 * \layer + 2cm + 0.15cm, \concatheight + \unit + 0.5 * \layerheight + 0.05cm);
|
||||||
|
|
||||||
|
% draw the first convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (1cm + \perspective, 0.9 * \layerheight + \perspective) -- (1cm + \perspective, \layerheight + \perspective) -- (1cm, \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, 0.9 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + \perspective, 0.9 * \layerheight + \perspective) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm + \perspective, \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (\layer, \upperlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
|
||||||
|
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (1cm + 0.2 * \perspective, 0.2 * \perspective) -- (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- (1cm, \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm + 0.2 * \perspective, 0.2 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + 0.2 * \perspective, 0.2 * \perspective) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm + 0.2 * \perspective, \layerheight + 0.2 * \perspective) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, \bottomlevel + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
|
||||||
|
|
||||||
|
% draw the second convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
|
||||||
|
% draw the second convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters, 0.4 * \layerheight) -- (3 * \layer, \upperlevel + 0.6 * \layerheight) -- (2 * \layer + 64 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, \bottomlevel + 0.9 * \layerheight) -- (2 * \layer + 64 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
|
||||||
|
% draw the third convolution
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + \perspective, 0.4 * \layerheight + \perspective) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0.5 * \layerheight + \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters, 0.4 * \layerheight) -- (5 * \layer, \upperlevel + 0.6 * \layerheight) -- (4 * \layer + 128 * \filters, 0.5 * \layerheight) -- cycle;
|
||||||
|
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.4 * \perspective, 0.4 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.4 * \perspective, \layerheight + 0.4 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, \bottomlevel + 0.9 * \layerheight) -- (4 * \layer + 128 * \filters + 0.3 * \perspective, \layerheight + 0.3 * \perspective) -- cycle;
|
||||||
|
|
||||||
|
% hidden layer labels
|
||||||
|
\draw[decorate, decoration={brace}] (\layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 1} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
|
||||||
|
\draw[decorate, decoration={brace}] (3 * \layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 2} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
|
||||||
|
\draw[decorate, decoration={brace}] (5 * \layer, \upperlevel + 1.25 * \layerheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, \upperlevel + 1.25 * \layerheight + \perspective) node[midway, anchor=south, above=2cm, align=center] {concatenation module 3} node[midway, anchor=south, above=0.8cm, align=center, text width=4cm] {hor: $1 \times 15$ kernel ver: $12 \times 1$ kernel} node[midway, anchor=south] {(ReLU activation)};
|
||||||
|
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
% vim: ft=tex
|
||||||
BIN
img/inc_nn_learning_curve.pdf
Normal file
BIN
img/inc_nn_learning_curve.pdf
Normal file
Binary file not shown.
BIN
img/inc_nn_learning_curve_h11.pdf
Normal file
BIN
img/inc_nn_learning_curve_h11.pdf
Normal file
Binary file not shown.
BIN
img/input_mat.png
Normal file
BIN
img/input_mat.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
BIN
img/label-distribution-compare_orig.pdf
Normal file
BIN
img/label-distribution-compare_orig.pdf
Normal file
Binary file not shown.
BIN
img/label-distribution_orig.pdf
Normal file
BIN
img/label-distribution_orig.pdf
Normal file
Binary file not shown.
422
img/marchenko-pastur.nb
Normal file
422
img/marchenko-pastur.nb
Normal file
@@ -0,0 +1,422 @@
|
|||||||
|
(* Content-type: application/vnd.wolfram.mathematica *)
|
||||||
|
|
||||||
|
(*** Wolfram Notebook File ***)
|
||||||
|
(* http://www.wolfram.com/nb *)
|
||||||
|
|
||||||
|
(* CreatedBy='Mathematica 12.1' *)
|
||||||
|
|
||||||
|
(*CacheID: 234*)
|
||||||
|
(* Internal cache information:
|
||||||
|
NotebookFileLineBreakTest
|
||||||
|
NotebookFileLineBreakTest
|
||||||
|
NotebookDataPosition[ 158, 7]
|
||||||
|
NotebookDataLength[ 18991, 414]
|
||||||
|
NotebookOptionsPosition[ 18069, 390]
|
||||||
|
NotebookOutlinePosition[ 18498, 407]
|
||||||
|
CellTagsIndexPosition[ 18455, 404]
|
||||||
|
WindowFrame->Normal*)
|
||||||
|
|
||||||
|
(* Beginning of Notebook Content *)
|
||||||
|
Notebook[{
|
||||||
|
Cell[BoxData[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"n", "=", "10000"}], ";"}], " ",
|
||||||
|
RowBox[{"(*", " ", "rows", " ", "*)"}]}], "\[IndentingNewLine]",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"p", "=", "1000"}], ";"}], " ",
|
||||||
|
RowBox[{"(*", " ", "columns", " ", "*)"}]}]}], "Input",
|
||||||
|
CellChangeTimes->{{3.814164590690421*^9, 3.814164608377831*^9}, {
|
||||||
|
3.8141648314838877`*^9, 3.8141648430424347`*^9}, {3.814165688469067*^9,
|
||||||
|
3.814165694713544*^9}},
|
||||||
|
CellLabel->"In[1]:=",ExpressionUUID->"e07ea3b1-6853-427d-a42f-55af95fd957a"],
|
||||||
|
|
||||||
|
Cell[BoxData[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"eig", "=",
|
||||||
|
RowBox[{"RandomVariate", "[",
|
||||||
|
RowBox[{"MatrixPropertyDistribution", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"Eigenvalues", "[", "x", "]"}], "/", "n"}], ",",
|
||||||
|
RowBox[{"Distributed", "[",
|
||||||
|
RowBox[{"x", ",",
|
||||||
|
RowBox[{"WishartMatrixDistribution", "[",
|
||||||
|
RowBox[{"n", ",",
|
||||||
|
RowBox[{"IdentityMatrix", "[", "p", "]"}]}], "]"}]}], "]"}]}],
|
||||||
|
"]"}], "]"}]}], ";"}], " ",
|
||||||
|
RowBox[{"(*", " ",
|
||||||
|
RowBox[{"eigenvalues", " ", "distribution"}], " ",
|
||||||
|
"*)"}]}], "\[IndentingNewLine]",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"eighist", "=",
|
||||||
|
RowBox[{"Histogram", "[",
|
||||||
|
RowBox[{"eig", ",",
|
||||||
|
RowBox[{"{", "0.05", "}"}], ",", "\"\<PDF\>\""}], "]"}]}],
|
||||||
|
";"}], "\[IndentingNewLine]",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"marcpast", "=",
|
||||||
|
RowBox[{"Plot", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"PDF", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"MarchenkoPasturDistribution", "[",
|
||||||
|
RowBox[{"p", "/", "n"}], "]"}], ",", "x"}], "]"}], ",",
|
||||||
|
RowBox[{"{",
|
||||||
|
RowBox[{"x", ",", "0", ",", "1.8"}], "}"}], ",",
|
||||||
|
RowBox[{"PlotStyle", "\[Rule]", "Thick"}], ",",
|
||||||
|
RowBox[{"PlotRange", "\[Rule]", "All"}], ",",
|
||||||
|
RowBox[{"PlotLegends", "\[Rule]", "None"}], ",",
|
||||||
|
RowBox[{"Exclusions", "\[Rule]", "None"}]}], "]"}]}], ";"}], " ",
|
||||||
|
RowBox[{"(*", " ",
|
||||||
|
RowBox[{"MP", " ", "distribution"}], " ", "*)"}]}]}], "Input",
|
||||||
|
CellChangeTimes->{{3.81416457947685*^9, 3.814164825544231*^9}, {
|
||||||
|
3.814164859931432*^9, 3.8141648687684603`*^9}, {3.814164899060389*^9,
|
||||||
|
3.8141649473920717`*^9}, {3.814165059908477*^9, 3.814165064986815*^9}, {
|
||||||
|
3.8141652656624937`*^9, 3.814165289294182*^9}, 3.814165482471281*^9, {
|
||||||
|
3.814165576485319*^9, 3.814165589899877*^9}, {3.814165670536396*^9,
|
||||||
|
3.814165713057708*^9}},
|
||||||
|
CellLabel->"In[3]:=",ExpressionUUID->"888d2e13-08b5-4891-9154-b2c963d80b02"],
|
||||||
|
|
||||||
|
Cell[CellGroupData[{
|
||||||
|
|
||||||
|
Cell[BoxData[
|
||||||
|
RowBox[{"mpplot", "=",
|
||||||
|
RowBox[{"Labeled", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"Show", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"{",
|
||||||
|
RowBox[{"eighist", ",", "marcpast"}], "}"}], ",",
|
||||||
|
RowBox[{"ImageSize", "\[Rule]", "Large"}], ",",
|
||||||
|
RowBox[{
|
||||||
|
"PlotLabel", "\[Rule]",
|
||||||
|
"\"\<Distribution of the Eigenvalues of a Wishart Data Matrix and \
|
||||||
|
Marchenko-Pastur Limiting Distribution\>\""}]}], "]"}], ",",
|
||||||
|
"\"\<n = \!\(\*SuperscriptBox[\(10\), \(4\)]\), p = \!\(\*SuperscriptBox[\
|
||||||
|
\(10\), \(3\)]\)\>\""}], "]"}]}]], "Input",
|
||||||
|
CellChangeTimes->{{3.814164924131678*^9, 3.814164957440431*^9}, {
|
||||||
|
3.814165071108502*^9, 3.814165168626462*^9}, {3.81416519957753*^9,
|
||||||
|
3.8141652259696913`*^9}, 3.814165261963818*^9, {3.8141657313926287`*^9,
|
||||||
|
3.81416573420116*^9}, {3.814167350854034*^9, 3.8141673998497458`*^9}},
|
||||||
|
CellLabel->"In[6]:=",ExpressionUUID->"8a44eccc-ab0a-4669-9976-f4eef79642cb"],
|
||||||
|
|
||||||
|
Cell[BoxData[
|
||||||
|
TemplateBox[{
|
||||||
|
GraphicsBox[{{{
|
||||||
|
Directive[
|
||||||
|
EdgeForm[
|
||||||
|
Directive[
|
||||||
|
Thickness[Small],
|
||||||
|
Opacity[0.504]]],
|
||||||
|
RGBColor[0.987148, 0.8073604000000001, 0.49470040000000004`]], {{}, {
|
||||||
|
Directive[
|
||||||
|
EdgeForm[
|
||||||
|
Directive[
|
||||||
|
Thickness[Small],
|
||||||
|
Opacity[0.504]]],
|
||||||
|
RGBColor[0.987148, 0.8073604000000001, 0.49470040000000004`]], {{{
|
||||||
|
|
||||||
|
RectangleBox[{0.45, 0}, {0.5, 0.2600000000000001},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.5, 0}, {0.55, 0.7999999999999994},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.55, 0}, {0.6000000000000001, 0.9799999999999992},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.6000000000000001, 0}, {0.65, 1.0600000000000014`},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.65, 0}, {0.7, 1.1000000000000014`},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.7, 0}, {0.75, 1.119999999999999},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.75, 0}, {0.8, 1.119999999999999},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.8, 0}, {0.8500000000000001, 1.119999999999999},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.8500000000000001, 0}, {0.9, 1.0800000000000014`},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.9, 0}, {0.95, 1.0600000000000014`},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{0.95, 0}, {1., 0.9599999999999992},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1., 0}, {1.05, 0.9999999999999991},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.05, 0}, {1.1, 0.9199999999999993},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.1, 0}, {1.1500000000000001`, 0.8599999999999993},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.1500000000000001`, 0}, {1.2, 0.860000000000003},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.2, 0}, {1.25, 0.8199999999999993},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.25, 0}, {1.3, 0.7599999999999993},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.3, 0}, {1.35, 0.6999999999999994},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.35, 0}, {1.4000000000000001`, 0.6399999999999995},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.4000000000000001`, 0}, {1.45, 0.6200000000000022},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.45, 0}, {1.5, 0.5999999999999995},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.5, 0}, {1.55, 0.45999999999999963`},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.55, 0}, {1.6, 0.3999999999999997},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.6, 0}, {1.6500000000000001`, 0.3599999999999997},
|
||||||
|
"RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.6500000000000001`, 0}, {1.7,
|
||||||
|
0.24000000000000082`}, "RoundingRadius" -> 0]}}, {{
|
||||||
|
|
||||||
|
RectangleBox[{1.7, 0}, {1.75, 0.09999999999999992},
|
||||||
|
"RoundingRadius" ->
|
||||||
|
0]}}}}, {}, {}}}, {{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, \
|
||||||
|
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}}}, {{{{}, {},
|
||||||
|
TagBox[{
|
||||||
|
Directive[
|
||||||
|
Opacity[1.],
|
||||||
|
RGBColor[0.368417, 0.506779, 0.709798],
|
||||||
|
AbsoluteThickness[1.6],
|
||||||
|
Thickness[Large]],
|
||||||
|
LineBox[CompressedData["
|
||||||
|
1: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
|
||||||
|
"]]},
|
||||||
|
Annotation[#, "Charting`Private`Tag$2636#1"]& ]}}, {}}}, {
|
||||||
|
ImageSize -> Large, PlotLabel ->
|
||||||
|
FormBox["\"Distribution of the Eigenvalues of a Wishart Data Matrix and \
|
||||||
|
Marchenko-Pastur Limiting Distribution\"", TraditionalForm], AspectRatio ->
|
||||||
|
NCache[GoldenRatio^(-1), 0.6180339887498948], Axes -> {True, True},
|
||||||
|
AxesLabel -> {None, None}, AxesOrigin -> {0.424, 0},
|
||||||
|
FrameLabel -> {{None, None}, {None, None}},
|
||||||
|
FrameTicks -> {{Automatic, Automatic}, {Automatic, Automatic}},
|
||||||
|
GridLines -> {None, None}, GridLinesStyle -> Directive[
|
||||||
|
GrayLevel[0.5, 0.4]], PlotRange -> {{0.45, 1.75}, {All, All}},
|
||||||
|
PlotRangePadding -> {{
|
||||||
|
Scaled[0.02],
|
||||||
|
Scaled[0.02]}, {
|
||||||
|
Scaled[0.02],
|
||||||
|
Scaled[0.05]}}, Ticks -> {Automatic, Automatic}}],
|
||||||
|
"\"n = \\!\\(\\*SuperscriptBox[\\(10\\), \\(4\\)]\\), p = \
|
||||||
|
\\!\\(\\*SuperscriptBox[\\(10\\), \\(3\\)]\\)\""},
|
||||||
|
"Labeled",
|
||||||
|
DisplayFunction->(GridBox[{{
|
||||||
|
TagBox[
|
||||||
|
ItemBox[
|
||||||
|
PaneBox[
|
||||||
|
TagBox[#, "SkipImageSizeLevel"], Alignment -> {Center, Baseline},
|
||||||
|
BaselinePosition -> Baseline], DefaultBaseStyle -> "Labeled"],
|
||||||
|
"SkipImageSizeLevel"]}, {
|
||||||
|
ItemBox[#2, DefaultBaseStyle -> "LabeledLabel"]}},
|
||||||
|
GridBoxAlignment -> {"Columns" -> {{Center}}, "Rows" -> {{Center}}},
|
||||||
|
AutoDelete -> False,
|
||||||
|
GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
|
||||||
|
BaselinePosition -> {1, 1}]& ),
|
||||||
|
InterpretationFunction->(RowBox[{"Labeled", "[",
|
||||||
|
RowBox[{#, ",", #2}], "]"}]& )]], "Output",
|
||||||
|
CellChangeTimes->{{3.8141649350400352`*^9, 3.814164957792368*^9}, {
|
||||||
|
3.814165074474577*^9, 3.814165106326329*^9}, {3.8141651475548*^9,
|
||||||
|
3.814165169222849*^9}, {3.8141652623143*^9, 3.814165302492792*^9},
|
||||||
|
3.814165533438848*^9, {3.814165585850946*^9, 3.8141655989169416`*^9},
|
||||||
|
3.814165681040098*^9, 3.814165734914089*^9, 3.8141674097658978`*^9},
|
||||||
|
CellLabel->"Out[6]=",ExpressionUUID->"cfd9fe62-75fc-4a7d-a43e-e70326d3e274"]
|
||||||
|
}, Open ]],
|
||||||
|
|
||||||
|
Cell[CellGroupData[{
|
||||||
|
|
||||||
|
Cell[BoxData[
|
||||||
|
RowBox[{"Export", "[",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"FileNameJoin", "[",
|
||||||
|
RowBox[{"{",
|
||||||
|
RowBox[{
|
||||||
|
RowBox[{"NotebookDirectory", "[", "]"}], ",",
|
||||||
|
"\"\<marchenko-pastur.pdf\>\""}], "}"}], "]"}], ",", "mpplot", ",",
|
||||||
|
"\"\<PDF\>\""}], "]"}]], "Input",
|
||||||
|
CellChangeTimes->{{3.8141657274690123`*^9, 3.814165866323689*^9}},
|
||||||
|
CellLabel->"In[7]:=",ExpressionUUID->"353f095a-0bff-4b63-bbe1-d484dee8f355"],
|
||||||
|
|
||||||
|
Cell[BoxData["\<\"/home/riccardo/documents/thesis_beamer/img/marchenko-pastur.\
|
||||||
|
pdf\"\>"], "Output",
|
||||||
|
CellChangeTimes->{
|
||||||
|
3.814165786375692*^9, {3.8141658293920183`*^9, 3.814165839439434*^9},
|
||||||
|
3.8141658714284563`*^9, 3.814167414286223*^9},
|
||||||
|
CellLabel->"Out[7]=",ExpressionUUID->"b0e30f48-ebd4-4574-9684-78b2d9ef9265"]
|
||||||
|
}, Open ]]
|
||||||
|
},
|
||||||
|
WindowSize->{1097.25, 573.75},
|
||||||
|
WindowMargins->{{0, Automatic}, {-0.75, Automatic}},
|
||||||
|
Magnification:>0.8 Inherited,
|
||||||
|
FrontEndVersion->"12.1 for Linux x86 (64-bit) (June 19, 2020)",
|
||||||
|
StyleDefinitions->"Default.nb",
|
||||||
|
ExpressionUUID->"330d46d3-10f2-431d-beb3-d05b4008f49d"
|
||||||
|
]
|
||||||
|
(* End of Notebook Content *)
|
||||||
|
|
||||||
|
(* Internal cache information *)
|
||||||
|
(*CellTagsOutline
|
||||||
|
CellTagsIndex->{}
|
||||||
|
*)
|
||||||
|
(*CellTagsIndex
|
||||||
|
CellTagsIndex->{}
|
||||||
|
*)
|
||||||
|
(*NotebookFileOutline
|
||||||
|
Notebook[{
|
||||||
|
Cell[558, 20, 517, 12, 40, "Input",ExpressionUUID->"e07ea3b1-6853-427d-a42f-55af95fd957a"],
|
||||||
|
Cell[1078, 34, 1919, 47, 75, "Input",ExpressionUUID->"888d2e13-08b5-4891-9154-b2c963d80b02"],
|
||||||
|
Cell[CellGroupData[{
|
||||||
|
Cell[3022, 85, 922, 19, 58, "Input",ExpressionUUID->"8a44eccc-ab0a-4669-9976-f4eef79642cb"],
|
||||||
|
Cell[3947, 106, 13320, 259, 348, "Output",ExpressionUUID->"cfd9fe62-75fc-4a7d-a43e-e70326d3e274"]
|
||||||
|
}, Open ]],
|
||||||
|
Cell[CellGroupData[{
|
||||||
|
Cell[17304, 370, 425, 10, 25, "Input",ExpressionUUID->"353f095a-0bff-4b63-bbe1-d484dee8f355"],
|
||||||
|
Cell[17732, 382, 321, 5, 26, "Output",ExpressionUUID->"b0e30f48-ebd4-4574-9684-78b2d9ef9265"]
|
||||||
|
}, Open ]]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
*)
|
||||||
|
|
||||||
BIN
img/marchenko-pastur.pdf
Normal file
BIN
img/marchenko-pastur.pdf
Normal file
Binary file not shown.
BIN
img/ml_map.png
Normal file
BIN
img/ml_map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 757 KiB |
BIN
img/scalar-features_orig.pdf
Normal file
BIN
img/scalar-features_orig.pdf
Normal file
Binary file not shown.
BIN
img/svd_orig.pdf
Normal file
BIN
img/svd_orig.pdf
Normal file
Binary file not shown.
634
thesis.tex
634
thesis.tex
@@ -1,4 +1,4 @@
|
|||||||
\documentclass[10pt, aspectratio=169]{beamer}
|
\documentclass[10pt, aspectratio=169, compress]{beamer}
|
||||||
|
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
@@ -119,30 +119,30 @@
|
|||||||
\end{center}
|
\end{center}
|
||||||
}
|
}
|
||||||
|
|
||||||
% \setbeamertemplate{footline}{%
|
\setbeamertemplate{footline}{%
|
||||||
% \usebeamerfont{footnote}
|
\usebeamerfont{footnote}
|
||||||
% \usebeamercolor{footnote}
|
\usebeamercolor{footnote}
|
||||||
% \hfill
|
\hfill
|
||||||
% \insertframenumber{}~/~\inserttotalframenumber{}
|
\insertframenumber{}~/~\inserttotalframenumber{}
|
||||||
% \hspace{1em}
|
\hspace{1em}
|
||||||
% \vspace{1em}
|
\vspace{1em}
|
||||||
% \par
|
\par
|
||||||
% }
|
}
|
||||||
|
|
||||||
% \AtBeginSection[]
|
\AtBeginSection[]
|
||||||
% {%
|
{%
|
||||||
% {%
|
{%
|
||||||
% \setbeamertemplate{footline}{}
|
\setbeamertemplate{footline}{}
|
||||||
% \usebackgroundtemplate{%
|
\usebackgroundtemplate{%
|
||||||
% \transparent{0.1}
|
\transparent{0.1}
|
||||||
% \includegraphics[width=\paperwidth]{img/torino.png}
|
\includegraphics[width=\paperwidth]{img/torino.png}
|
||||||
% }
|
}
|
||||||
% \addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{}
|
\addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{}
|
||||||
% \begin{frame}[noframenumbering]{\contentsname}
|
\begin{frame}[noframenumbering]{\contentsname}
|
||||||
% \tableofcontents[currentsection]
|
\tableofcontents[currentsection]
|
||||||
% \end{frame}
|
\end{frame}
|
||||||
% }
|
}
|
||||||
% }
|
}
|
||||||
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@@ -601,7 +601,7 @@
|
|||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Doubling Trick and Spinor Representation}
|
\begin{frame}{Doubling Trick and Spinor Representation}
|
||||||
\begin{block}{Doubling Trick}
|
\begin{equationblock}{Doubling Trick}
|
||||||
\begin{equation*}
|
\begin{equation*}
|
||||||
\partial_z \mathcal{X}( z )
|
\partial_z \mathcal{X}( z )
|
||||||
=
|
=
|
||||||
@@ -628,12 +628,12 @@
|
|||||||
}
|
}
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
where $\mathscr{H}_{\gtrless}^{(t)} = \qty{z \in \mathds{C} \mid \Im z \gtrless 0~\text{or}~z \in D_{(t)} }$ and $\updelta_{\pm} = \upeta \pm i 0^+$.
|
where $\mathscr{H}_{\gtrless}^{(t)} = \qty{z \in \mathds{C} \mid \Im z \gtrless 0~\text{or}~z \in D_{(t)} }$ and $\updelta_{\pm} = \upeta \pm i 0^+$.
|
||||||
\end{block}
|
\end{equationblock}
|
||||||
|
|
||||||
\pause
|
\pause
|
||||||
|
|
||||||
\begin{tikzpicture}[remember picture, overlay]
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
\draw[line width=4pt, red] (31em,6em) ellipse (0.8cm and 1.2cm);
|
\draw[line width=4pt, red] (31em,6em) ellipse (0.8cm and 1cm);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|
||||||
\pause
|
\pause
|
||||||
@@ -700,8 +700,7 @@
|
|||||||
\frac{1}{\Upgamma( c_n )}\,
|
\frac{1}{\Upgamma( c_n )}\,
|
||||||
\tensor[_2]{F}{_1}( a_n,\, b_n;\, c_n;\, \upomega_z )
|
\tensor[_2]{F}{_1}( a_n,\, b_n;\, c_n;\, \upomega_z )
|
||||||
\\
|
\\
|
||||||
\qty( -\upomega_z )^{1 - c_n}\,
|
\frac{\qty( -\upomega_z )^{1 - c_n}}{\Upgamma( 2 - c_n )}\,
|
||||||
\frac{1}{\Upgamma( 2 - c_n )}\,
|
|
||||||
\tensor[_2]{F}{_1}( a_n + 1 - c_n,\, b_n + 1 - c_n;\, 2 - c_n;\, \upomega_z )
|
\tensor[_2]{F}{_1}( a_n + 1 - c_n,\, b_n + 1 - c_n;\, 2 - c_n;\, \upomega_z )
|
||||||
)
|
)
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
@@ -1177,13 +1176,586 @@
|
|||||||
\subsection[NBO]{Null Boost Orbifold}
|
\subsection[NBO]{Null Boost Orbifold}
|
||||||
|
|
||||||
\begin{frame}{Null Boost Orbifold}
|
\begin{frame}{Null Boost Orbifold}
|
||||||
|
Start from $\qty( x^+,\, x^-,\, x^2,\, \vec{x} ) \in \mathscr{M}^{1,\, D-1}$:
|
||||||
|
\begin{equation*}
|
||||||
|
\begin{cases}
|
||||||
|
u & = x^-
|
||||||
|
\\
|
||||||
|
z & = \frac{x^2}{\Updelta\, x^-}
|
||||||
|
\\
|
||||||
|
v & = x^+ - \frac{1}{2} \frac{\qty( x^2 )^2}{x^-}
|
||||||
|
\end{cases}
|
||||||
|
\qquad
|
||||||
|
\Rightarrow
|
||||||
|
\qquad
|
||||||
|
\dd{s}^2 = -2 \dd{u} \dd{v} + \qty( \Updelta\, u )^2\, \dd{z}^2 + \updelta_{ij} \dd{x}^i \dd{x}^j
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{equationblock}{Killing Vector and Null Boost Oribfold}
|
||||||
|
\begin{equation*}
|
||||||
|
\upkappa = -i \qty( 2 \uppi \Updelta ) J_{+2} = 2 \uppi \partial_z
|
||||||
|
\Rightarrow
|
||||||
|
z \sim z + 2 \uppi n
|
||||||
|
\end{equation*}
|
||||||
|
\end{equationblock}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
Consider \highlight{scalar QED:}
|
||||||
|
\begin{equation*}
|
||||||
|
\upphi_{\qty{ k_+,\, l,\, \vec{k},\, r}}\qty( u,\, v,\, z,\, \vec{x} )
|
||||||
|
=
|
||||||
|
e^{i \qty( k_+ v + l z + \vec{k} \cdot \vec{x} )}\,
|
||||||
|
\widetilde{\upphi}_{\qty{ k_+,\, l,\, \vec{k},\, r}}\qty( u )
|
||||||
|
=
|
||||||
|
\frac{e^{i \qty( k_+ v + l z + \vec{k} \cdot \vec{x} )}}{\sqrt{\qty( 2 \uppi )^D\, \abs{2 \Updelta k_+ u}}}\,
|
||||||
|
e^{-i \frac{l^2}{2 \Updelta^2 k_+} \frac{1}{u} + i \frac{\norm{\vec{k}}^2 + r}{2 k_+} u}
|
||||||
|
\end{equation*}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Scalar QED Interactions}
|
||||||
|
Scalar--photon interactions:
|
||||||
|
\begin{equation*}
|
||||||
|
S_{\text{sQED}}^{\text{(int)}}
|
||||||
|
=
|
||||||
|
\int\limits_{\Upomega} \dd[D]{x} \sqrt{- g }\,
|
||||||
|
\qty(%
|
||||||
|
-i\, e\, g^{\upalpha\upbeta} a_{\upalpha} \qty( \upphi^*\, \partial_{\upbeta} \upphi - \partial_{\upbeta} \upphi^*\, \upphi )
|
||||||
|
+ e^2\, g^{\upalpha\upbeta} a_{\upalpha} a_{\upbeta} \abs{\upphi}^2
|
||||||
|
- \frac{g_4}{4}\, \abs{\upphi}^4
|
||||||
|
)
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
Terms involved:
|
||||||
|
\begin{equation*}
|
||||||
|
\begin{split}
|
||||||
|
\mathcal{I}^{\qty[\upnu]}_{\qty{N}}
|
||||||
|
& =
|
||||||
|
\int\limits_{-\infty}^{+\infty} \dd{u}
|
||||||
|
\abs{\Updelta\, u} u^{\upnu}
|
||||||
|
\prod\limits_{i = 1}^N
|
||||||
|
\widetilde{\upphi}_{\qty{ k_{+\, (i)},\, l_{(i)},\, \vec{k}_{(i)},\, r_{(i)}}}\qty( u )
|
||||||
|
\\
|
||||||
|
\mathcal{J}^{\qty[\upnu]}_{\qty{N}}
|
||||||
|
& =
|
||||||
|
\int\limits_{-\infty}^{+\infty} \dd{u}
|
||||||
|
\abs{\Updelta} \abs{u}^{1 + \upnu}
|
||||||
|
\prod\limits_{i = 1}^N
|
||||||
|
\widetilde{\upphi}_{\qty{ k_{+\, (i)},\, l_{(i)},\, \vec{k}_{(i)},\, r_{(i)}}}\qty( u )
|
||||||
|
\end{split}
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\it
|
||||||
|
most terms \textbf{do not converge} and cannot be recovered even with a \textbf{distributional interpretions} due to the term $\propto u^{-1}$ in the exponentatial
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{String and Field Theory}
|
||||||
|
So far:
|
||||||
|
\begin{itemize}
|
||||||
|
\item field theory presents \textbf{divergences}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item issues are \textbf{still present} in sQED (eikonal?)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item divergences are \textbf{not (only) gravitational}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{equationblock}{Massive String States}
|
||||||
|
\begin{equation*}
|
||||||
|
V_M\qty( x;\, k,\, S,\, \upxi )
|
||||||
|
=
|
||||||
|
\colon
|
||||||
|
\qty(%
|
||||||
|
\frac{i}{\sqrt{2 \upalpha'}}\,
|
||||||
|
\upxi \cdot \partial^2_x X( x,\, x )
|
||||||
|
+
|
||||||
|
\qty( \frac{i}{\sqrt{2 \upalpha'}} )^2\,
|
||||||
|
S_{\upalpha\upbeta}
|
||||||
|
\partial_x X^{\upalpha}( x,\, x )
|
||||||
|
\partial_x X^{\upbeta}( x,\, x )
|
||||||
|
)
|
||||||
|
e^{i k \cdot X( x,\, x )}
|
||||||
|
\colon
|
||||||
|
\end{equation*}
|
||||||
|
\end{equationblock}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\it
|
||||||
|
string theory cannot do \textbf{better than field theory} (EFT) if the latter \textbf{does not exist} (even a Wilson line around $z$ does not prevent such behaviour)
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Resolution and Motivation}
|
||||||
|
Introduce the \highlight{generalised NBO:}
|
||||||
|
\begin{equation*}
|
||||||
|
\begin{cases}
|
||||||
|
u & = x^-
|
||||||
|
\\
|
||||||
|
z & = \frac{1}{2 x^-} \qty( \frac{x^2}{\Updelta_2} + \frac{x^3}{\Updelta_3} )
|
||||||
|
\\
|
||||||
|
w & = \frac{1}{2 x^-} \qty( \frac{x^2}{\Updelta_2} - \frac{x^3}{\Updelta_3} )
|
||||||
|
\\
|
||||||
|
v & = x^+ - \frac{1}{2 x^-} \qty( \qty( x^2 )^2 + \qty( x^3 )^2 )
|
||||||
|
\end{cases}
|
||||||
|
\qquad
|
||||||
|
\Rightarrow
|
||||||
|
\qquad
|
||||||
|
\upkappa
|
||||||
|
=
|
||||||
|
-2 \uppi i \qty( \Updelta_2 J_{+2} + \Updelta_3 J_{+3} )
|
||||||
|
=
|
||||||
|
2 \uppi \partial_z
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{equationblock}{Distributional Interpretation}
|
||||||
|
\begin{equation*}
|
||||||
|
\widetilde{\upphi}_{\qty{ k_+,\, p,\, l,\, \vec{k},\, r}}\qty( u )
|
||||||
|
=
|
||||||
|
\frac{1}{2 \sqrt{\qty(2 \uppi)^D \abs{\Updelta_2 \Updelta_3 k_+}}}
|
||||||
|
\frac{1}{\abs{u}}
|
||||||
|
e^{-i\, \qty( \frac{1}{8 k_+ u} \qty[ \frac{(l + p)^2}{\Updelta_2^2} + \frac{(l - p)^2}{\Updelta_3^2} ] - \frac{\norm{\vec{k}}^2 + r}{2 k_+} u )}
|
||||||
|
\end{equation*}
|
||||||
|
\end{equationblock}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{On the Divergences and Their Nature}
|
||||||
|
\begin{itemize}
|
||||||
|
\item divergences are present in sQED and \textbf{open string} sector
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item singularities $\Rightarrow$ \textbf{massive states} are no longer spectators
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item vanishing volume (\textbf{compact orbifold directions}) $\Rightarrow$ particles ``cannot escape''
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item \textbf{non compact} orbifold directions $\Rightarrow$ interpretation of \textbf{amplitudes as distributions}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item issue not restricted to NBO/GNBO but also BO, null brane, etc. (it is a \textbf{general issues} connected to the geometry of the underlying space)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\vspace{2em}
|
||||||
|
\begin{center}
|
||||||
|
\it
|
||||||
|
spacetime singularities are \textbf{hidden into contact terms} and interactions with \textbf{massive states} (the gravitational eikonal deals with massless interactions)
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\draw[line width=4pt, red] (0em, 4.5em) rectangle (40em, 1em);
|
||||||
|
\end{tikzpicture}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\section[Deep Learning]{Deep Learning the Geometry of String Theory}
|
\section[Deep Learning]{Deep Learning the Geometry of String Theory}
|
||||||
|
|
||||||
\begin{frame}{CCC}
|
|
||||||
c
|
\subsection[Introduction]{Machine Learning and Deep Learning}
|
||||||
|
|
||||||
|
\begin{frame}{The Simplest Calabi--Yau}
|
||||||
|
Focus on Calabi--Yau \highlight{3-folds:}
|
||||||
|
\begin{equation*}
|
||||||
|
h^{r,\, s} = \dim\limits_{\mathds{C}} H_{\overline{\partial}}^{r,\, s}\qty( M,\, \mathds{C} )
|
||||||
|
\qquad
|
||||||
|
\Rightarrow
|
||||||
|
\qquad
|
||||||
|
\begin{cases}
|
||||||
|
h^{0,\, 0} & = h^{3,\, 0} = 1
|
||||||
|
\\
|
||||||
|
h^{r,\, 0} & = 0 \quad \text{if} \quad r \neq 3
|
||||||
|
\\
|
||||||
|
h^{r,\, s} & = h^{3 - r,\, 3 - s}
|
||||||
|
\\
|
||||||
|
h^{1,\, 1},\, h^{2,\, 1} \in \mathds{N}
|
||||||
|
\end{cases}
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{block}{Complete Intersection Calabi--Yau Manifolds}
|
||||||
|
Intersection of hypersurfaces in
|
||||||
|
\begin{equation*}
|
||||||
|
\mathcal{A} = \mathds{P}^{n_1} \times \dots \times \mathds{P}^{n_m}
|
||||||
|
\end{equation*}
|
||||||
|
where
|
||||||
|
\begin{equation*}
|
||||||
|
\mathds{P}^n\colon
|
||||||
|
\qquad
|
||||||
|
\begin{cases}
|
||||||
|
p_a\qty( Z^0,\, \dots,\, Z^n ) & = P_{I_1 \dots I_a} Z^{I_1} \dots Z^{I_a} = 0
|
||||||
|
\\
|
||||||
|
p_a\qty( \uplambda Z^0,\, \dots,\, \uplambda Z^n ) & = \uplambda^a p_a\qty( Z^0,\, \dots,\, Z^n )
|
||||||
|
\end{cases}
|
||||||
|
\end{equation*}
|
||||||
|
\end{block}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Representation of the Output}
|
||||||
|
CICY can be generalised to \highlight{$m$ projective spaces and $k$ equations.}
|
||||||
|
The problem is thus mapped to:
|
||||||
|
\begin{equation*}
|
||||||
|
\begin{tabular}{@{}lccc@{}}
|
||||||
|
$\mathscr{R}\colon$
|
||||||
|
&
|
||||||
|
$\mathds{Z}^{m \times k}$
|
||||||
|
&
|
||||||
|
$\longrightarrow$
|
||||||
|
&
|
||||||
|
$\mathds{N}$
|
||||||
|
\\[1em]
|
||||||
|
&
|
||||||
|
$\qty[%
|
||||||
|
\begin{tabular}{@{}c|ccc@{}}
|
||||||
|
$\mathds{P}^{n_1}$ & $a_1^1$ & $\dots$ & $a_k^1$
|
||||||
|
\\
|
||||||
|
$\vdots$ & $\vdots$ & $\ddots$ & $\vdots$
|
||||||
|
\\
|
||||||
|
$\mathds{P}^{n_m}$ & $a_1^m$ & $\dots$ & $a_k^m$
|
||||||
|
\end{tabular}
|
||||||
|
]$
|
||||||
|
&
|
||||||
|
$\longrightarrow$
|
||||||
|
&
|
||||||
|
$h^{1,\, 1} \quad \text{or} \quad h^{2,\, 1}$
|
||||||
|
\end{tabular}
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{block}{Machine Learning Approach}
|
||||||
|
What is $\mathscr{R}$?
|
||||||
|
\begin{equation*}
|
||||||
|
\mathscr{R}( M ) \longrightarrow \mathscr{R}_n( M;\, w )
|
||||||
|
\qquad
|
||||||
|
\text{s.t.}
|
||||||
|
\qquad
|
||||||
|
\lim\limits_{n \to \infty} f( M;\, w ) = \lim\limits_{n \to \infty} \abs{\mathscr{R}( M ) - \mathscr{R}_n( M;\, w )} = 0
|
||||||
|
\end{equation*}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Machine Learning}
|
||||||
|
\begin{itemize}
|
||||||
|
\item exchange \textbf{analytical solution} with \textbf{optimisation problem}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item use \textbf{various algorithms} and exploit \textbf{large datasets}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item learn a \textbf{representation} rather than a \textbf{solution}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item effectively use knowledge from \textbf{computer science, mathematics and physics} to solve problems
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\linewidth]{img/label-distribution_orig}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\subsection[Machine Learning]{Machine Learning for String Theory}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}{Exploratory Data Analysis}
|
||||||
|
Machine Learning \highlight{pipeline:}
|
||||||
|
\begin{center}
|
||||||
|
\textbf{exploratory} data analysis
|
||||||
|
$\rightarrow$
|
||||||
|
feature \textbf{selection}
|
||||||
|
$\rightarrow$
|
||||||
|
Hodge numbers
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.9\columnwidth]{img/corr-matrix_orig}
|
||||||
|
\end{column}
|
||||||
|
\hfill
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.9\columnwidth, trim={0 0 6in 0}, clip]{img/scalar-features_orig}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Dataset}
|
||||||
|
\begin{itemize}
|
||||||
|
\item $7890$ CICY manifolds (full dataset)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item \textbf{dataset pruning}: no product spaces, no ``very far'' outliers (reduction of $0.49\%$)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item $h^{1,\, 1} \in \qty[ 1,\, 16 ]$ and $h^{2,\, 1} \in \qty[ 15,\, 86 ]$
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item $80\%$ training, $10\%$ validation, $10\%$ test
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item choose \textbf{regression}, but evaluate using \textbf{accuracy} (round the result)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\linewidth]{img/label-distribution-compare_orig}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Machine Learning}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.85\linewidth]{img/ml_map}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\draw[line width=10pt, red, -latex] (-18em,1em) -- (-14.5em, 6em);
|
||||||
|
\draw[line width=10pt, red, -latex] (19em, 7em) -- (14em, 4em);
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\draw[line width=4pt, red] (12em,12em) ellipse (2cm and 1.5cm);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{A Word on PCA}
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.4\linewidth}
|
||||||
|
What is PCA for a $X \in \mathds{R}^{n \times p}$?
|
||||||
|
\begin{itemize}
|
||||||
|
\item find new coordinates to \textbf{``put the variance in order''}
|
||||||
|
|
||||||
|
\item \highlight{equivalently} compute the \textbf{eigenvectors} of $X X^T$ or the \textbf{singular values} of $X$
|
||||||
|
|
||||||
|
\item isolate \textbf{the signal} from the \textbf{background}
|
||||||
|
|
||||||
|
\item ease the machine learning job of finding a better representation of the input
|
||||||
|
\end{itemize}
|
||||||
|
\end{column}
|
||||||
|
\hfill
|
||||||
|
\begin{column}{0.6\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.5\columnwidth]{img/marchenko-pastur}
|
||||||
|
\includegraphics[width=\columnwidth]{img/svd_orig}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Machine Learning Results}
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\textbf{Configuration Matrix Only}
|
||||||
|
\includegraphics[width=0.8\columnwidth, trim={0 0 3.3in 0}, clip]{img/cicy_matrix_plots}
|
||||||
|
\end{column}
|
||||||
|
\hfill\pause
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\textbf{Best Training Set}
|
||||||
|
\includegraphics[width=0.8\columnwidth, trim={0 0 3.3in 0}, clip]{img/cicy_best_plots}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\subsection[Deep Learning]{AI Implementations for Geometry and Strings}
|
||||||
|
|
||||||
|
\begin{frame}{Artificial Intelligence and Neural Networks}
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.6\linewidth}
|
||||||
|
\begin{itemize}
|
||||||
|
\item use \textbf{gradient descent} to optimise \textbf{weights}
|
||||||
|
|
||||||
|
\item learn highly \textbf{non linear} representations of the input
|
||||||
|
|
||||||
|
\item can be \highlight{``large''} to have enough parameters
|
||||||
|
|
||||||
|
\item can be \highlight{``deep''} to to learn \textbf{complicated functions}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{block}{Neural Networks}
|
||||||
|
\vspace{0.5em}
|
||||||
|
\begin{tabular}{@{}lc@{}}
|
||||||
|
fully connected:
|
||||||
|
&
|
||||||
|
$a^{\qty(i)\, \qty{l+1}} = \upphi\qty( a^{\qty(i)\, \qty{l}} \cdot W^{\qty{l}} + b^{\qty{l}} \mathds{1} )$
|
||||||
|
\\
|
||||||
|
convolutional:
|
||||||
|
&
|
||||||
|
$a^{\qty(i)\, \qty{l+1}} = \upphi\qty( a^{\qty(i)\, \qty{l}}\, *\, W^{\qty{l}} + b^{\qty{l}} \mathds{1} )$
|
||||||
|
\end{tabular}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
Non linearity ensured by:
|
||||||
|
\begin{equation*}
|
||||||
|
\upphi( z ) = \mathrm{ReLU}\qty( z ) = \max\qty(0,\, z)
|
||||||
|
\end{equation*}
|
||||||
|
\end{column}
|
||||||
|
\hfill
|
||||||
|
\begin{column}{0.4\linewidth}
|
||||||
|
\centering
|
||||||
|
\resizebox{\columnwidth}{!}{\import{img}{fc.pgf}}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Convolutional Neural Networks}
|
||||||
|
Why convolutional?
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.4\linewidth}
|
||||||
|
\begin{itemize}[<+->]
|
||||||
|
\item retain \textbf{spacial awareness}
|
||||||
|
|
||||||
|
\item smaller \textbf{no.\ of parameters} ($\approx 2 \times 10^5$ vs.\ $\approx 2 \times 10^6$)
|
||||||
|
|
||||||
|
\item weights are \textbf{shared}
|
||||||
|
|
||||||
|
\item CNN can isolate \textbf{``defining features''}
|
||||||
|
|
||||||
|
\item find patterns as in \textbf{computer vision}
|
||||||
|
\end{itemize}
|
||||||
|
\end{column}
|
||||||
|
\hfill
|
||||||
|
\begin{column}{0.6\linewidth}
|
||||||
|
\centering
|
||||||
|
\only<1>{\includegraphics[width=0.75\columnwidth, trim={12in 10in 0 0}, clip]{img/input_mat}}
|
||||||
|
\only<2>{\includegraphics[width=0.75\columnwidth, trim={12in 5in 0 5in}, clip]{img/input_mat}}
|
||||||
|
\only<3>{\includegraphics[width=0.75\columnwidth, trim={12in 0 0 10in}, clip]{img/input_mat}}
|
||||||
|
\only<4->{\resizebox{\columnwidth}{!}{\import{img}{ccnn.pgf}}}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Inception Neural Networks}
|
||||||
|
Recent development by Google's deep learning teams led to:
|
||||||
|
\begin{itemize}
|
||||||
|
\item neural networks with \textbf{better generalisation properties}
|
||||||
|
|
||||||
|
\item smaller networks (both parameters and depth)
|
||||||
|
|
||||||
|
\item different \textbf{concurrent kernels} (e.g.\ one over \textbf{equations} one over \textbf{coordinates})
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\resizebox{0.75\linewidth}{!}{\import{img}{icnn.pgf}}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Deep Learning Results and Generalisation Properties}
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\textbf{Best Training Set}
|
||||||
|
\includegraphics[width=\columnwidth]{img/cicy_best_plots}
|
||||||
|
\end{column}
|
||||||
|
\hfill
|
||||||
|
\begin{column}{0.5\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\columnwidth]{img/inc_nn_learning_curve_h11}
|
||||||
|
\includegraphics[width=0.75\columnwidth]{img/inc_nn_learning_curve}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{A Few Comments and Future Directions}
|
||||||
|
Why \highlight{deep learning in physics?}
|
||||||
|
\begin{itemize}
|
||||||
|
\item reliable \textbf{predictive method} \pause (provided good data analysis)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item reliable \textbf{source of inspiration} \pause (provided good data analysis)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item reliable \textbf{generalisation method} \pause (provided good data analysis)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item \textbf{CNNs are powerful tools} (this is the \emph{first time in physics!})
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item interdisciplinary approach $=$ win-win situation!
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
What now?
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item representation learning $\Rightarrow$ what is the best way to represent CICYs?
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item study invariances $\Rightarrow$ invariances should not influence the result (graph representations?)
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item higher dimensions $\Rightarrow$ what about CICY 4-folds?
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item geometric deep learning $\Rightarrow$ explain the geometry of the ``AI'' behind deep learning!
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\item reinforcement learning $\Rightarrow$ give the rules, not the result!
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
{%
|
||||||
|
\setbeamertemplate{footline}{}
|
||||||
|
\usebackgroundtemplate{%
|
||||||
|
\transparent{0.1}
|
||||||
|
\includegraphics[width=\paperwidth]{img/torino.png}
|
||||||
|
}
|
||||||
|
\addtobeamertemplate{background canvas}{\transfade[duration=0.25]}{}
|
||||||
|
\begin{frame}[noframenumbering]{The End?}
|
||||||
|
\begin{center}
|
||||||
|
\Huge
|
||||||
|
THANK YOU!
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
Reference in New Issue
Block a user