Diagramme TikZ d'un réseau de neurones simple à 3 couches : couche d'entrée (3 neurones bleus), couche cachée (4 neurones verts), couche de sortie (2 neurones rouges), avec connexions denses entre les couches. Légendes de couches et codage couleur. Idéal pour cours de machine learning, présentations sur les réseaux de neurones, ou diapositives Beamer.
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning, calc}
\begin{document}
\begin{tikzpicture}[
>=stealth,
every neuron/.style={
circle, draw, thick, minimum size=22pt, inner sep=0pt
},
input/.style ={every neuron, fill=blue!15, draw=blue!60!black},
hidden/.style={every neuron, fill=green!15, draw=green!60!black},
output/.style={every neuron, fill=red!15, draw=red!60!black},
every label/.style={font=\footnotesize\bfseries}
]
% --- Input layer (3 neurons) ---
\foreach \i [count=\y from 0] in {1,2,3}
\node[input] (I-\i) at (0, -\y * 1.2) {$x_{\i}$};
% --- Hidden layer (4 neurons) ---
\foreach \i [count=\y from 0] in {1,2,3,4}
\node[hidden] (H-\i) at (3, -\y * 1.2 + 0.6) {$h_{\i}$};
% --- Output layer (2 neurons) ---
\foreach \i [count=\y from 0] in {1,2}
\node[output] (O-\i) at (6, -\y * 1.2 - 0.6) {$y_{\i}$};
% --- Fully connected edges ---
\foreach \i in {1,2,3}
\foreach \j in {1,2,3,4}
\draw[gray!60, thin] (I-\i) -- (H-\j);
\foreach \i in {1,2,3,4}
\foreach \j in {1,2}
\draw[gray!60, thin] (H-\i) -- (O-\j);
% --- Layer labels ---
\node[above=12pt of I-1, blue!60!black] {\textbf{Input}};
\node[above=12pt of H-1, green!60!black] {\textbf{Hidden}};
\node[above=12pt of O-1, red!60!black] {\textbf{Output}};
\end{tikzpicture}
\end{document}