Compare commits

...

10 Commits

Author SHA1 Message Date
Riccardo Finotello
f11def51ce Update workflow and distribution
All checks were successful
Compile PDF / Compile-PDF (push) Successful in 2m57s
2025-01-12 22:46:42 +01:00
fb2fe7b6c6 Typo in the slides
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-18 09:37:34 +01:00
c7c972c423 Shorter presentation and change in the last slide
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-17 19:30:27 +01:00
2bb3e82da4 Update presentation and typos
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-17 16:13:41 +01:00
8217370bd5 Add talk reference and title change
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-17 14:41:48 +01:00
b5ca88d432 Typos
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-16 16:01:11 +01:00
284840990b Some modifications and presentation outline
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-16 14:17:52 +01:00
4cf246f755 Add the presentation text
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-14 20:46:24 +01:00
330130b662 Shorter and contained version
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-14 15:05:42 +01:00
e2f4bae156 Add explanations and fix typos
Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
2020-12-03 16:49:07 +01:00
12 changed files with 1871 additions and 496 deletions

View File

@@ -0,0 +1,44 @@
name: Compile PDF
run-name: ${{ gitea.actor }} is compiling a PDF 🚀
on: [push]
jobs:
Compile-PDF:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
root_file: thesis.tex
latexmk_use_xelatex: true
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Archive artifacs
uses: christopherhx/gitea-upload-artifact@v4
with:
name: thesis
path: thesis.pdf
- name: Upload to S3
uses: bxb100/action-upload@main
with:
provider: s3
provider_options: |
root=/
region=${{ secrets.S3REGION }}
bucket=${{ secrets.S3BUCKET }}
endpoint=${{ secrets.S3ENDPOINT }}
access_key_id=${{ secrets.S3ACCESSKEY }}
secret_access_key=${{ secrets.S3ACCESSSECRET }}
include: '*.pdf'
- run: echo "🍏 This job's status is ${{ job.status }}."

316
.gitignore vendored
View File

@@ -1,16 +1,308 @@
img/*.xcf
## Core latex/pdflatex auxiliary files:
*.pdf
*.aux
*.fdb_latexmk
*.fls
*.lof
*.log
*.nav
*.lot
*.fls
*.out
*.snm
*.synctex.gz
*.thm
*.toc
img/animation/*.aux
img/animation/*.fdb_latexmk
img/animation/*.fls
img/animation/*.log
img/animation/*.synctex.gz
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bbl-SAVE-ERROR
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
*.rubbercache
rubber.cache
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hypdoc
*.hd
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib

26
README.md Normal file
View File

@@ -0,0 +1,26 @@
# Ph.D. Thesis
This project contains the LaTeX code of the **Beamer presentation** of the thesis of my Ph.D. defence.
The LaTeX file compiles using PDFLaTeX as backend.
Make sure to download all the style files (`debug.sty` and `sciencestuff.sty`) and the class `thesis.cls`.
## Abstract
We present topics of (semi-)phenomenological relevance in string theory ranging from particle physics amplitudes and Big Bang-like singularities to the study of state-of-the-art deep learning techniques for string compactifications based on recent advancements in artificial intelligence.
We show the computation of the leading contribution to amplitudes in the presence of non Abelian twist fields in intersecting D-branes scenarios in non factorised tori.
This is a generalisation to the current literature which mainly covers factorised internal spaces.
We also study a new method to compute amplitudes in the presence of an arbitrary number of spin fields introducing point-like defects on the string worldsheet.
The procedure can then be treated as an alternative computation with respect to bosonization and approaches based on the Reggeon vertex.
We then present an analysis of Big Bang-like cosmological divergences in string theory on time-dependent orbifolds.
We show that divergences are not due to gravitational feedback but to the lack of an underlying effective field theory.
We also introduce a new orbifold structure capable of fixing the issue and reinstate a distributional interpretation to field theory amplitudes.
We finally present a new artificial intelligence approach to algebraic geometry and string compactifications.
We compute the Hodge numbers of Complete Intersection Calabi-Yau 3-folds using deep learning techniques based on computer vision and object recognition techniques.
We also include a methodological study of machine learning applied to data in string theory: as in most applications machine learning almost never relies on the blind application of algorithms to the data but it requires a careful exploratory analysis and feature engineering.
We thus show how such an approach can help in improving results by processing the data before utilising them.
We then show that deep learning the configuration matrix of the manifolds reaches the highest accuracy in the task with smaller networks, less parameters and less data.
This is a novel approach to the task: differently from previous attempts we focus on using convolutional neural networks capable of reaching higher accuracy on the predictions and ensuring phenomenological relevance to results.
In fact parameter sharing and concurrent scans of the configuration matrix retain better generalisation properties and adapt better to the task than fully connected networks.

View File

@@ -2,13 +2,13 @@
\newlength{\layerheight}
\newlength{\perspective}
\newlength{\filters}
%\newlength{\unit}
%\newlength{\myunit}
\setlength{\layer}{3cm}
\setlength{\layerheight}{3cm}
\setlength{\perspective}{1cm}
\setlength{\filters}{0.01cm}
\setlength{\unit}{0.225cm}
\setlength{\myunit}{0.225cm}
\begin{tikzpicture}
@@ -50,13 +50,13 @@
% 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);
\filldraw[fill=cyan!10, draw=black] (4 * \layer + 3cm, 0.5cm * \x) circle (\myunit);
\draw (4 * \layer + 3cm + \myunit, 0.5cm * \x) -- (5 * \layer + 2cm - \myunit, 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);
\filldraw[fill=cyan!10, draw=black] (5 * \layer + 2cm, 2.5cm - \myunit) -- (5 * \layer + 2cm, 2.5cm) circle (\myunit) -- (5 * \layer + 2cm, 2.5cm + \myunit);
\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
@@ -81,15 +81,15 @@
\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;
\draw[dashed] (4 * \layer + 20 * \filters, \layerheight) -- (4 * \layer + 3 cm, 3.5cm + \myunit) -- (4 * \layer + 20 * \filters + \perspective, \layerheight + \perspective) -- cycle;
\draw[dashed] (4 * \layer + 20 * \filters, 0cm) -- (4 * \layer + 3 cm, 1cm - \myunit) -- (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);
\draw[->] (c) -- (\layer + 180 * \filters + \perspective, \layerheight + \perspective + \myunit);
\draw[->] (c) -- (2 * \layer + 100 * \filters + \perspective, \layerheight + \perspective + \myunit);
\draw[->] (c) -- (3 * \layer + 40 * \filters + \perspective, \layerheight + \perspective + \myunit);
\draw[->] (c) -- (4 * \layer + 0.5 * \perspective, \layerheight + \perspective + \myunit);
\end{tikzpicture}

View File

@@ -1,160 +1,160 @@
\newlength{\unit}
\newlength{\myunit}
\newlength{\layer}
\setlength{\unit}{0.225cm}
\setlength{\myunit}{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);
\filldraw[fill=cyan!10, draw=black] (\layer, -0.75cm - \myunit) -- (\layer, -0.75cm) circle (\myunit) -- (\layer, -0.75cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (\layer, -0.75cm + 1.25 * \myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (\layer, 0.5cm * \x - \myunit) -- (\layer, 0.5cm * \x) circle (\myunit) -- (\layer, 0.5cm * \x + \myunit);
\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);
\filldraw[fill=cyan!10, draw=black] (\layer, 3.25cm - \myunit) -- (\layer, 3.25cm) circle (\myunit) -- (\layer, 3.25cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (\layer, 3.25cm - 2\myunit) {$\vdots$};
% draw the second layer
\filldraw[fill=cyan!10, draw=black] (2 * \layer, -\unit) -- (2 * \layer, 0cm) circle (\unit) -- (2 * \layer, \unit);
\filldraw[fill=cyan!10, draw=black] (2 * \layer, -\myunit) -- (2 * \layer, 0cm) circle (\myunit) -- (2 * \layer, \myunit);
\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$};
\node[anchor=base, scale=0.35] at (2 * \layer, 1.25 * \myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 0.5cm * \x - \myunit) -- (2 * \layer, 0.5cm * \x) circle (\myunit) -- (2 * \layer, 0.5cm * \x + \myunit);
\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);
\filldraw[fill=cyan!10, draw=black] (2 * \layer, 2.5cm - \myunit) -- (2 * \layer, 2.5cm) circle (\myunit) -- (2 * \layer, 2.5cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (2 * \layer, 2.5cm - 2\myunit) {$\vdots$};
% draw the third layer
\filldraw[fill=cyan!10, draw=black] (3 * \layer, -\unit) -- (3 * \layer, 0cm) circle (\unit) -- (3 * \layer, \unit);
\filldraw[fill=cyan!10, draw=black] (3 * \layer, -\myunit) -- (3 * \layer, 0cm) circle (\myunit) -- (3 * \layer, \myunit);
\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$};
\node[anchor=base, scale=0.35] at (3 * \layer, 1.25 * \myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 0.5cm * \x - \myunit) -- (3 * \layer, 0.5cm * \x) circle (\myunit) -- (3 * \layer, 0.5cm * \x + \myunit);
\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);
\filldraw[fill=cyan!10, draw=black] (3 * \layer, 2.5cm - \myunit) -- (3 * \layer, 2.5cm) circle (\myunit) -- (3 * \layer, 2.5cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (3 * \layer, 2.5cm - 2\myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (4 * \layer, -0.75cm - \myunit) -- (4 * \layer, -0.75cm) circle (\myunit) -- (4 * \layer, -0.75cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (4 * \layer, -0.75cm + 1.25 * \myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 0.5cm * \x - \myunit) -- (4 * \layer, 0.5cm * \x) circle (\myunit) -- (4 * \layer, 0.5cm * \x + \myunit);
\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);
\filldraw[fill=cyan!10, draw=black] (4 * \layer, 3.25cm - \myunit) -- (4 * \layer, 3.25cm) circle (\myunit) -- (4 * \layer, 3.25cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (4 * \layer, 3.25cm - 2\myunit) {$\vdots$};
% draw the fifth layer
\filldraw[fill=cyan!10, draw=black] (5 * \layer, -\unit) -- (5 * \layer, 0cm) circle (\unit) -- (5 * \layer, \unit);
\filldraw[fill=cyan!10, draw=black] (5 * \layer, -\myunit) -- (5 * \layer, 0cm) circle (\myunit) -- (5 * \layer, \myunit);
\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$};
\node[anchor=base, scale=0.35] at (5 * \layer, 1.25 * \myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 0.5cm * \x - \myunit) -- (5 * \layer, 0.5cm * \x) circle (\myunit) -- (5 * \layer, 0.5cm * \x + \myunit);
\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);
\filldraw[fill=cyan!10, draw=black] (5 * \layer, 2.5cm - \myunit) -- (5 * \layer, 2.5cm) circle (\myunit) -- (5 * \layer, 2.5cm + \myunit);
\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$};
\node[anchor=base, scale=0.35] at (5 * \layer, 2.5cm - 2\myunit) {$\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);
\filldraw[fill=cyan!10, draw=black] (6 * \layer, 1.25cm - \myunit) -- (6 * \layer, 1.25cm) circle (\myunit) -- (6 * \layer, 1.25cm + \myunit);
\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);
\draw (\x + \myunit, \y) -- (\x + \layer - \myunit, \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);
\draw (\x + \myunit, 0.5cm * \y) -- (\x + \layer - \myunit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (\x + \unit, 0.5 * \y) -- (\x + \layer - \unit, \z);
\draw (\x + \myunit, 0.5 * \y) -- (\x + \layer - \myunit, \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 (\x + \myunit, 3.25cm) -- (\x + \layer - \myunit, 0.5cm * \y);
\draw (\x + \myunit, -0.75cm) -- (\x + \layer - \myunit, 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);
\draw (2 * \layer + \myunit, \y) -- (2 * \layer + \layer - \myunit, \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);
\draw (2 * \layer + \myunit, 0.5cm * \y) -- (2 * \layer + \layer - \myunit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (2 * \layer + \unit, 0.5cm * \y) -- (2 * \layer + \layer - \unit, \z);
\draw (2 * \layer + \myunit, 0.5cm * \y) -- (2 * \layer + \layer - \myunit, \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 (2 * \layer + \myunit, 2.5cm) -- (2 * \layer + \layer - \myunit, 0.5cm * \y);
\draw (2 * \layer + \myunit, 0cm) -- (2 * \layer + \layer - \myunit, 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);
\draw (3 * \layer + \myunit, \y) -- (3 * \layer + \layer - \myunit, \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);
\draw (3 * \layer + \myunit, 0.5cm * \y) -- (3 * \layer + \layer - \myunit, 0.5cm * \z);
};
\foreach \z in {0cm, 2.5cm} {
\draw (3 * \layer + \unit, 0.5cm * \y) -- (3 * \layer + \layer - \unit, \z);
\draw (3 * \layer + \myunit, 0.5cm * \y) -- (3 * \layer + \layer - \myunit, \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 (3 * \layer + \myunit, 2.5cm) -- (3 * \layer + \layer - \myunit, 0.5cm * \y);
\draw (3 * \layer + \myunit, 0cm) -- (3 * \layer + \layer - \myunit, 0.5cm * \y);
};
% draw weights 5 --> output
\foreach \y in {0cm, 2.5cm} {
\draw (5 * \layer + \unit, \y) -- (5 * \layer + \layer - \unit, 1.25cm);
\draw (5 * \layer + \myunit, \y) -- (5 * \layer + \layer - \myunit, 1.25cm);
};
\foreach \y in {1.5,...,3.5} {
\draw (5 * \layer + \unit, 0.5cm * \y) -- (5 * \layer + \layer - \unit, 1.25cm);
\draw (5 * \layer + \myunit, 0.5cm * \y) -- (5 * \layer + \layer - \myunit, 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) -- (\layer + \myunit, 3.6cm);
\draw[->] (h) -- (2 * \layer + \myunit, 2.85cm);
\draw[->] (h) -- (3 * \layer + 0.5 * \myunit, 2.85cm);
\draw[->] (h) -- (4 * \layer, 3.6cm);
\draw[->] (h) -- (5 * \layer - 0.5 * \unit, 2.85cm);
\draw[->] (h) -- (5 * \layer - 0.5 * \myunit, 2.85cm);
\end{tikzpicture}
% vim: ft=tex
% vim: ft=tex

View File

@@ -2,19 +2,13 @@
%\newlength{\layerheight}
%\newlength{\perspective}
%\newlength{\filters}
%\newlength{\unit}
\newlength{\upperlevel}
\newlength{\bottomlevel}
\newlength{\concatheight}
%\newlength{\myunit}
\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}
\setlength{\myunit}{0.225cm}
\usetikzlibrary{decorations.pathreplacing}
@@ -26,166 +20,166 @@
\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, 2.25cm) -- (\layer + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + \perspective, 2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 2.25cm) -- (\layer + \perspective, 2.25cm + \perspective) -- (\layer + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 2.25cm) -- (\layer + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters, 2.25cm + \layerheight) -- (\layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, 2.25cm) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + 32 * \filters, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, 2.25cm + \layerheight) -- (\layer + 32 * \filters, 2.25cm + \layerheight) -- (\layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (\layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, 2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm) -- (\layer + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + \perspective, -2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm) -- (\layer + \perspective, -2.25cm + \perspective) -- (\layer + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm) -- (\layer + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters, -2.25cm + \layerheight) -- (\layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer + 32 * \filters, -2.25cm) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + 32 * \filters, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (\layer, -2.25cm + \layerheight) -- (\layer + 32 * \filters, -2.25cm + \layerheight) -- (\layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (\layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (\layer, -2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + \perspective, 0cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + \perspective, 0cm + \perspective) -- (2 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm) -- (2 * \layer + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters, 0cm + \layerheight) -- (2 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer + 64 * \filters, 0cm) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + 64 * \filters, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (2 * \layer, 0cm + \layerheight) -- (2 * \layer + 64 * \filters, 0cm + \layerheight) -- (2 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (2 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (2 * \layer, 0cm + \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);
\draw (\layer + 32 * \filters + 1.2 * \perspective, 2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, 2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective, -2.25cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.2 * \perspective, -2.25cm + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (\layer + 32 * \filters + 1.7 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit);
\draw[-latex] (\layer + 32 * \filters + 1.7 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (\layer + 32 * \filters + 1.7 * \perspective + 3 * \myunit, 0cm + 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, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + \perspective, 2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 2.25cm) -- (3 * \layer + \perspective, 2.25cm + \perspective) -- (3 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters, 2.25cm + \layerheight) -- (3 * \layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, 2.25cm) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, 2.25cm + \layerheight) -- (3 * \layer + 64 * \filters, 2.25cm + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, 2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + \perspective, -2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm) -- (3 * \layer + \perspective, -2.25cm + \perspective) -- (3 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters, -2.25cm + \layerheight) -- (3 * \layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer + 64 * \filters, -2.25cm) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + 64 * \filters, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (3 * \layer, -2.25cm + \layerheight) -- (3 * \layer + 64 * \filters, -2.25cm + \layerheight) -- (3 * \layer + 64 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (3 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (3 * \layer, -2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + \perspective, 0cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + \perspective, 0cm + \perspective) -- (4 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm) -- (4 * \layer + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters, 0cm + \layerheight) -- (4 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer + 128 * \filters, 0cm) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + 128 * \filters, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (4 * \layer, 0cm + \layerheight) -- (4 * \layer + 128 * \filters, 0cm + \layerheight) -- (4 * \layer + 128 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (4 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (4 * \layer, 0cm + \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);
\draw (3 * \layer + 64 * \filters + 1.1 * \perspective, 2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, 2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective, -2.25cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.1 * \perspective, -2.25cm + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (3 * \layer + 64 * \filters + 1.6 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit);
\draw[-latex] (3 * \layer + 64 * \filters + 1.6 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (3 * \layer + 64 * \filters + 1.6 * \perspective + 3 * \myunit, 0cm + 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, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + \perspective, 2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, 2.25cm) -- (5 * \layer + \perspective, 2.25cm + \perspective) -- (5 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters, 2.25cm + \layerheight) -- (5 * \layer, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, 2.25cm) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, 2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, 2.25cm + \layerheight) -- (5 * \layer + 32 * \filters, 2.25cm + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, 2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, 2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, 2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + \perspective, -2.25cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm) -- (5 * \layer + \perspective, -2.25cm + \perspective) -- (5 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters, -2.25cm + \layerheight) -- (5 * \layer, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer + 32 * \filters, -2.25cm) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + 32 * \filters, -2.25cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (5 * \layer, -2.25cm + \layerheight) -- (5 * \layer + 32 * \filters, -2.25cm + \layerheight) -- (5 * \layer + 32 * \filters + \perspective, -2.25cm + \perspective + \layerheight) -- (5 * \layer + \perspective, -2.25cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (5 * \layer, -2.25cm + \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$};
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm) -- (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + \perspective, 0cm + \perspective) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\filldraw[dashed, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm) -- (6 * \layer + \perspective, 0cm + \perspective) -- (6 * \layer + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm) -- (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters, 0cm + \layerheight) -- (6 * \layer, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer + 64 * \filters, 0cm) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + 64 * \filters, 0cm + \layerheight) -- cycle;
\filldraw[thick, fill=orange!20, draw=black, fill opacity=0.5] (6 * \layer, 0cm + \layerheight) -- (6 * \layer + 64 * \filters, 0cm + \layerheight) -- (6 * \layer + 64 * \filters + \perspective, 0cm + \perspective + \layerheight) -- (6 * \layer + \perspective, 0cm + \perspective + \layerheight) -- cycle;
\node[anchor=south west, scale=0.65, rotate=45] at (6 * \layer, 0cm + \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);
\draw (5 * \layer + 32 * \filters + 1.2 * \perspective, 2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, 2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective, -2.25cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.2 * \perspective, -2.25cm + 0.5 * \layerheight);
\filldraw[fill=red!20, draw=black] (5 * \layer + 32 * \filters + 1.7 * \perspective, 0cm + 0.5 * \layerheight) node[anchor=center, scale=0.8] {$C$} circle (\myunit);
\draw[-latex] (5 * \layer + 32 * \filters + 1.7 * \perspective + \myunit, 0cm + 0.5 * \layerheight) -- (5 * \layer + 32 * \filters + 1.7 * \perspective + 3 * \myunit, 0cm + 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);
\filldraw[fill=cyan!10, draw=black] (6 * \layer + 3cm, 0cm + \myunit + 0.75 * \x cm) circle (\myunit);
\draw (6 * \layer + 3cm + \myunit, 0cm + \myunit + 0.75 * \x cm) -- (7 * \layer + 2cm - \myunit, 0cm + \myunit + 0.5 * \layerheight);
};
\node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, \concatheight + \unit) {flatten};
\node[anchor=north, scale=0.5, below=15pt, align=center] at (6 * \layer + 3cm, 0cm + \myunit) {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, \layerheight) -- (6 * \layer + 3 cm, 3cm + 2 * \myunit) -- (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);
\filldraw[fill=cyan!10, draw=black] (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight - \myunit) -- (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight) circle (\myunit) -- (7 * \layer + 2cm, 0cm + \myunit + 0.5 * \layerheight + \myunit);
\draw (7 * \layer + 2cm + 0.05cm, 0cm + \myunit + 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, 0cm + \myunit + 0.5 * \layerheight) -- (7 * \layer + 2cm + 0.15cm, 0cm + \myunit + 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, 0.9 * \layerheight) -- (\layer, 2.25cm + 0.9 * \layerheight) -- (1cm + \perspective, 0.9 * \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, \layerheight) -- (\layer, 2.25cm + 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, 2.25cm + 0.9 * \layerheight) -- (1cm + \perspective, \layerheight + \perspective) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0.9 * \layerheight) -- (\layer, 2.25cm + 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;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, -2.25cm + 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, -2.25cm + 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, -2.25cm + 0.9 * \layerheight) -- (1cm, \layerheight) -- cycle;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (1cm, 0cm) -- (\layer, -2.25cm + 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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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.4 * \layerheight) -- (3 * \layer, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (2 * \layer + 64 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (3 * \layer, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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.4 * \layerheight) -- (5 * \layer, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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, 2.25cm + 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;
\filldraw[fill=red!50, draw=black, fill opacity=0.2] (4 * \layer + 128 * \filters + 0.3 * \perspective, 0.3 * \perspective) -- (5 * \layer, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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, -2.25cm + 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)};
\draw[decorate, decoration={brace}] (\layer, 2.25cm + 1.25 * \layerheight + \perspective) -- (2 * \layer + 64 * \filters + \perspective, 2.25cm + 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, 2.25cm + 1.25 * \layerheight + \perspective) -- (4 * \layer + 128 * \filters + \perspective, 2.25cm + 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, 2.25cm + 1.25 * \layerheight + \perspective) -- (6 * \layer + 64 * \filters + \perspective, 2.25cm + 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}

Binary file not shown.

BIN
img/unito.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

1009
presentation.txt Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff