restricted-botzmann-machine.tex 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. \documentclass{article}
  2. \usepackage[pdftex,active,tightpage]{preview}
  3. \setlength\PreviewBorder{2mm}
  4. \usepackage{amsmath}
  5. \usepackage{amssymb}
  6. \usepackage{tikz}
  7. \usetikzlibrary{shapes, calc, shapes, arrows, positioning}
  8. \tikzstyle{neuron}=[draw,circle,minimum size=20pt,inner sep=0pt, fill=white]
  9. \tikzstyle{stateTransition}=[thick]
  10. \tikzstyle{learned}=[text=red]
  11. \begin{document}
  12. \begin{preview}
  13. \begin{tikzpicture}[scale=2]
  14. % \draw ;
  15. \draw[fill=black!30, rounded corners] (-0.2, -0.2) rectangle (3.2, 0.2) {};
  16. \draw[fill=black!30, rounded corners] (0.3, 0.8) rectangle (2.7, 1.2) {};
  17. \node (v1)[neuron] at (0, 0) {$v_1$};
  18. \node (v2)[neuron] at (1, 0) {$v_2$};
  19. \node (v3)[neuron] at (2, 0) {$v_3$};
  20. \node (v4)[neuron] at (3, 0) {$v_4$};
  21. \node[right=0.1cm of v4] (v) {$\textbf{v} \in \{0, 1\}^4$};
  22. \node[learned,below=0.1cm of v1] (bv1) {$b_{v_1}$};
  23. \node[learned,below=0.1cm of v2] (bv2) {$b_{v_2}$};
  24. \node[learned,below=0.1cm of v3] (bv3) {$b_{v_3}$};
  25. \node[learned,below=0.1cm of v4] (bv4) {$b_{v_4}$};
  26. \node (h1)[neuron] at (0.5, 1) {$h_1$};
  27. \node (h2)[neuron] at (1.5, 1) {$h_2$};
  28. \node (h3)[neuron] at (2.5, 1) {$h_3$};
  29. \node[right=0.1cm of h3] (h) {$\textbf{h} \in \{0, 1\}^3$};
  30. \node[learned,above=0.1cm of h1] (bh1) {$b_{h_1}$};
  31. \node[learned,above=0.1cm of h2] (bh2) {$b_{h_2}$};
  32. \node[learned,above=0.1cm of h3] (bh3) {$b_{h_3}$};
  33. \node[learned] (W) at (3.5, 0.5) {$W \in \mathbb{R}^{3 \times 4}$};
  34. \draw[learned,stateTransition] (v1) -- (h1) node [midway,above=-0.06cm,sloped] {$w_{1,1}$};
  35. \draw[stateTransition] (v1) -- (h2) node [midway,above=-0.06cm,sloped] {};
  36. \draw[stateTransition] (v1) -- (h3) node [midway,above=-0.06cm,sloped] {};
  37. \draw[stateTransition] (v2) -- (h1) node [midway,above=-0.06cm,sloped] {};
  38. \draw[stateTransition] (v2) -- (h2) node [midway,above=-0.06cm,sloped] {};
  39. \draw[stateTransition] (v2) -- (h3) node [midway,above=-0.06cm,sloped] {};
  40. \draw[stateTransition] (v3) -- (h1) node [midway,above=-0.06cm,sloped] {};
  41. \draw[stateTransition] (v3) -- (h2) node [midway,above=-0.06cm,sloped] {};
  42. \draw[stateTransition] (v3) -- (h3) node [midway,above=-0.06cm,sloped] {};
  43. \draw[stateTransition] (v4) -- (h1) node [midway,above=-0.06cm,sloped] {};
  44. \draw[stateTransition] (v4) -- (h2) node [midway,above=-0.06cm,sloped] {};
  45. \draw[learned,stateTransition] (v4) -- (h3) node [midway,above=-0.06cm,sloped] {$w_{4,3}$};
  46. \end{tikzpicture}
  47. \end{preview}
  48. \end{document}