\documentclass{article} \usepackage[pdftex,active,tightpage]{preview} \setlength\PreviewBorder{2mm} \usepackage{amsmath} \usepackage{tikz} \usetikzlibrary{shapes, calc, shapes, arrows, snakes} \newcommand{\width}{0.2} \begin{document} \begin{preview} \tikzset{sigmoid/.style={path picture= { \begin{scope}[x=1pt,y=10pt] \draw plot[domain=-7:7] (\x,{1/(1 + exp(-\x))-0.5}); \end{scope} } } } \tikzset{relu/.style={path picture= { \begin{scope}[x=7pt,y=6pt] \draw plot[domain=-1:0] (\x,0); \draw plot[domain=0:1] (\x,\x); \end{scope} } } } \tikzstyle{input}=[draw,fill=red!50,circle,minimum size=20pt,inner sep=0pt] \tikzstyle{hidden}=[draw,fill=green!50,circle,minimum size=20pt,inner sep=0pt] \tikzstyle{output}=[draw,fill=white,circle,minimum size=20pt,inner sep=0pt] \tikzstyle{bias}=[draw,dashed,fill=gray!50,circle,minimum size=20pt,inner sep=0pt] \tikzstyle{layer}=[fill=gray!70] \tikzstyle{stateTransition}=[->, very thick] \begin{tikzpicture}[scale=2] \node (i0)[bias] at (0, 0) {1}; \node (i1)[input] at (0, 0.5) {}; \node (i2)[input] at (0, 1.0) {}; \node (i3)[input] at (0, 1.5) {}; \node (h1)[hidden] at (1, 2.0) {}; \node (h2)[hidden] at (2, 2.5) {}; \node (h3)[hidden] at (3, 3.0) {}; \node (o1)[output] at (4, 3.5) {}; \node (o2)[output] at (5, 3.5) {}; \draw[stateTransition] (i0) -- (6, 0); \draw[stateTransition] (i1) -- (6, 0.5); \draw[stateTransition] (i2) -- (6, 1.0); \draw[stateTransition] (i3) -- (6, 1.5); \draw[stateTransition] (h1) -- (6, 2.0); \draw[stateTransition] (h2) -- (6, 2.5); \draw[stateTransition] (h3) -- (6, 3.0); \draw[stateTransition] (1, 0) -- (h1); \draw[stateTransition] (2, 0) -- (h2); \draw[stateTransition] (3, 0) -- (h3); \draw[stateTransition] (4, 0) -- (o1); \draw[stateTransition] (5, 0) -- (o2); \foreach \x in {1,...,3} { \pgfmathsetmacro{\limy}{(2+\x) / 2} \foreach \y in {0, 0.5, ..., \limy} { \node[rectangle,draw=black,fill=black,minimum size=12] (box) at (\x,\y) {}; } } \foreach \x in {4,...,5} { \foreach \y in {0, ..., 6} { \pgfmathsetmacro{\yn}{0.5*\y} \node[rectangle,draw=black,fill=white,minimum size=12] (box) at (\x,\yn) {}; } } % \node (h11)[hidden, sigmoid] at (1, 1.5) {}; % \node (h12)[hidden, sigmoid] at (1, 0.5) {}; % \node[circle, inner sep=0] (h13) at (1,-0.5) {\vdots}; % \node (h14)[hidden, sigmoid] at (1,-1.5) {}; % \node (h21)[hidden, relu] at (2, 1.5) {}; % \node (h22)[hidden, relu] at (2, 0.5) {}; % \node[circle, inner sep=0] (h23) at (2,-0.5) {\vdots}; % \node (h24)[hidden, relu] at (2,-1.5) {}; % \node (o1)[output, sigmoid] at (3,0) {}; % \draw[stateTransition] (r) -- (h11) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (r) -- (h12) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (r) -- (h13) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (r) -- (h14) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (g) -- (h11) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (g) -- (h12) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (g) -- (h13) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (g) -- (h14) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (b) -- (h11) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (b) -- (h12) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (b) -- (h13) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (b) -- (h11) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h11) -- (h21) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h11) -- (h22) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h11) -- (h23) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h11) -- (h24) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h12) -- (h21) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h12) -- (h22) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h12) -- (h23) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h12) -- (h24) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h13) -- (h21) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h13) -- (h22) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h13) -- (h23) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h13) -- (h24) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h14) -- (h21) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h14) -- (h22) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h14) -- (h23) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h14) -- (h21) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h21) -- (o1) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h22) -- (o1) node [midway,above=-0.10cm] {}; % \draw[stateTransition] (h23) -- (o1) node [midway,above=-0.06cm] {}; % \draw[stateTransition] (h24) -- (o1) node [midway,above=-0.06cm] {}; % \draw [ % thick, % decoration={ % brace, % mirror, % raise=0.5cm % }, % decorate % ] (1+-\width, -1.8) -- (2+\width, -1.8) % node [pos=0.5,anchor=north,yshift=-0.55cm] {50\% dropout}; \end{tikzpicture} \end{preview} \end{document}