\begin{tikzpicture} \node[circle,thick,draw=red!60,fill=blue!20,minimum size=5mm,anchor=center] (inode0) at (0,0) {$i_0$}; \node[circle,thick,draw=red!60,fill=blue!30,minimum size=5mm] (inode1) [below of=inode0] {$i_1$}; \node[circle,thick,draw=red!60,fill=blue!40,minimum size=5mm] (inode2) [below of=inode1] {$i_2$}; \node[circle,thick,draw=red!60,fill=blue!50,minimum size=5mm] (inode3) [below of=inode2] {$i_3$}; \node[circle,draw=black,fill=ForestGreen!20,minimum size=5mm,anchor=center] (onode0) at (2cm,0.5cm) {$o_0$}; \node[circle,thick,draw=red!60,fill=ForestGreen!30,minimum size=5mm] (onode1) [below of=onode0] {$o_1$}; \node[circle,draw=black,fill=ForestGreen!40,minimum size=5mm] (onode2) [below of=onode1] {$o_2$}; \node[circle,draw=black,fill=ForestGreen!50,minimum size=5mm] (onode3) [below of=onode2] {$o_3$}; \node[circle,draw=black,fill=ForestGreen!60,minimum size=5mm] (onode4) [below of=onode3] {$o_4$}; \draw (inode0.east) to (onode0.west); \draw (inode1.east) to (onode0.west); \draw (inode2.east) to (onode0.west); \draw (inode3.east) to (onode0.west); \draw (inode0.east) to (onode2.west); \draw (inode1.east) to (onode2.west); \draw (inode2.east) to (onode2.west); \draw (inode3.east) to (onode2.west); \draw (inode0.east) to (onode3.west); \draw (inode1.east) to (onode3.west); \draw (inode2.east) to (onode3.west); \draw (inode3.east) to (onode3.west); \draw (inode0.east) to (onode4.west); \draw (inode1.east) to (onode4.west); \draw (inode2.east) to (onode4.west); \draw (inode3.east) to (onode4.west); \draw[red!60,thick] (inode0.east) to (onode1.west); \draw[red!60,thick] (inode1.east) to (onode1.west); \draw[red!60,thick] (inode2.east) to (onode1.west); \draw[red!60,thick] (inode3.east) to (onode1.west); \matrix (matrix) [matrix of nodes,left delimiter=(,right delimiter=),right=1.5cm of onode2] { $w_{0,0}$ & $w_{0,1}$ & $w_{0,2}$ & $w_{0,3}$ \\ $w_{1,0}$ & $w_{1,1}$ & $w_{1,2}$ & $w_{1,3}$ \\ $w_{2,0}$ & $w_{2,1}$ & $w_{2,2}$ & $w_{2,3}$ \\ $w_{3,0}$ & $w_{3,1}$ & $w_{3,2}$ & $w_{3,3}$ \\ $w_{4,0}$ & $w_{4,1}$ & $w_{4,2}$ & $w_{4,3}$ \\ }; \node (prod) [right=4mm of matrix] {$\times$}; \matrix (input_vector) [matrix of nodes,left delimiter=(,right delimiter=),right=4mm of prod] { $i_{0}$ \\ $i_{1}$ \\ $i_{2}$ \\ $i_{3}$ \\ }; \node (eq) [right=4mm of input_vector] {$=$}; \matrix (output_vector) [matrix of nodes,left delimiter=(,right delimiter=),right=4mm of eq] { $o_{0}$ \\ $o_{1}$ \\ $o_{2}$ \\ $o_{3}$ \\ $o_{4}$ \\ }; \node[draw,thick,red!60,rounded corners,inner sep=0,fit=(matrix-2-1) (matrix-2-4)] {}; \node[draw,thick,red!60,rounded corners,inner sep=0,fit=(input_vector-1-1) (input_vector-4-1)] {}; \node[draw,thick,red!60,rounded corners,inner sep=0,fit=(output_vector-2-1) (output_vector-2-1)] {}; \end{tikzpicture}