3 \usepackage{beamerthemefemto}
5 \usepackage[latin1]{inputenc}
6 \usepackage[T1]{fontenc}
7 \usepackage{amsfonts,amsmath,amssymb,stmaryrd}
8 \usepackage[frenchb]{babel}
12 \DeclareGraphicsExtensions{.jpg, .png , .pdf, .bmp, .pdftex}
15 \title{Parallelization and optimization \\
16 of the neuromorphic simulation code.
17 Application on the MNIST problem}
19 \author{Rapha\"el Couturier, {\bf Michel Salomon}}
21 \institute[FEMTO-ST Institute]{\textit{FEMTO-ST - DISC Department - AND Team}}
23 \date{November 2 \& 3, 2015 / Besançon \\
24 Dynamical Systems and Brain-inspired Information Processing Workshop}
26 % ____ _____ ____ _ _ _____
27 % | _ \| ____| __ )| | | |_ _|
28 % | | | | _| | _ \| | | | | |
29 % | |_| | |___| |_) | |_| | | |
30 % |____/|_____|____/ \___/ |_|
34 \setbeamertemplate{background}{\titrefemto}
40 \setbeamertemplate{background}{\pagefemto}
42 \begin{frame}{Introduction} % Slide 1
43 % 1 - Photonic implementation of reservoir computing through NLDDE in Laurent's team
45 % -> Success of reservoir computing
46 % -> Hardware implementation allowing fast processing
47 % 3 - Simulation by a Matlab code - pre and post-processing by computer
48 % -> Drawback = redhibitory computation time
52 \item Emergence of hardware RC implementation
54 Analogue electronic; {\bf optoelectronic}; fully optical
56 {\scriptsize Larger {\em et al.} - {\it Photonic information processing beyond Turing: an optoelectronic
57 implementation of reservoir computing}, Opt. Express 20, 3241-3249 (2012)}
60 \item Study processing conditions
61 \item Tuning parameters
62 \item Pre and post-processing by computer
70 \item Study the concept of Reservoir Computing
71 \item Design a faster simulation code
72 \item Apply it to a new problem
77 \begin{frame}{Outline}
78 \setbeamertemplate{section in toc}[sections numbered]
82 \section{Neuromorphic processing}
84 \begin{frame}{Delay Dynamics as a Reservoir} % Slide 2
86 % Reprendre le schema de la figure 2 du pdf NTC de Laurent
87 {Spatio-temporal viewpoint of a DDE ({\NoAutoSpaceBeforeFDP \tiny Larger {\em et al.} - Opt. Express 20:3 2012})\\}
89 \includegraphics[width=7.5cm]{ntc.png}
91 \item $\delta_t \rightarrow \mbox{temporal spacing}; \tau_D \rightarrow \mbox{time delay}$
92 \item $f(x) \rightarrow \mbox{nonlinear transformation}; h(t) \rightarrow \mbox{impulse response}$
95 % Slide 21 + equation a retard du NTC
97 {Computer simulation with an Ikeda type NLDDE}
99 \tau \frac{dx}{dt}(t)=-x(t)+\beta \sin^2 [\alpha\,x(t-\tau_D)+\rho\,u_{\mbox{in}}(t-\tau_D)+\Phi_0]
102 $\alpha \rightarrow \mbox{feedback scaling}; \beta \rightarrow \mbox{gain}; \rho \rightarrow \mbox{amplification};
103 \Phi_0 \rightarrow \mbox{offset}$
107 \begin{frame}{Photonic Reservoir Computing} % Slide 3
109 {Optoelectronic setup ({\NoAutoSpaceBeforeFDP \tiny Larger~{\em et al.}~-~Opt.~Express~20:3~2012})\\}
112 \includegraphics[width=7.5cm]{photonic-RC.png}
116 {Spoken digits recognition task}
118 \item Input data $\rightarrow$ {\small matrix obtained by Lyon ear model transformation}
119 \item Output data $\rightarrow$ {\small matrix describing the spoken digit}
124 \begin{frame}{Spoken Digits Recognition} % Slide 4
126 {Input (pre-processing) \\}
128 \item Lyon ear model transformation \\
129 $\rightarrow$ 60 samples $\times$ 86 frequency channels
130 \item Channels connection to reservoir (400 neurons) \\
131 $\rightarrow$ sparse and random
134 \includegraphics[width=7.5cm]{sdr.png}
137 {Reservoir transient response\\}
140 Temporal series recorded for Read-Out processing
144 \begin{frame}{Spoken Digits Recognition} % Slide 5
146 {Output (post-processing)\\}
148 \item Training of the Read-Out \\
149 $\rightarrow$ optimize $W^R$ matrix for the digits of the training set
150 \item Regression problem for $A \times W^R \approx B$
153 W^R_{\mbox{opt}}=\left(A^TA - \lambda I\right)^{-1} A^T B
157 \item $A$ = concatenates reservoir transient response for each digit
158 \item $B$ = concatenates target matrices
165 \item Dataset of 500 speech samples $\rightarrow$ 5 female speakers
166 \item 20-fold cross-validation $\rightarrow$ 20 $\times$ 25 test samples
167 \item Performance evaluation $\rightarrow$ {\bf W}ord {\bf E}rror {\bf R}ate
172 \begin{frame}{Matlab Simulation Code} % Slide 7
173 % Grandes lignes a partir du pdf de Laurent
177 \item Numerical integration to compute the nonlinear transient
178 response (runge kuta in C)
179 \item[] $\Rightarrow$ computation of matrices $A$ and $B$
180 \item Computation of the Readout
181 \item Test of the solution (cross validation)
184 % Inconvenient de ce code => temps de calcul
187 12 min for 500 words recognition (2013)
191 \section{Parallelization and optimization}
193 \begin{frame}{Parallelization Scheme} % Slide 8
195 \item Rewrite the code in C++
196 \item Parallelization with MPI (Message Passing Interface)
197 \item Computation of data response (sound, image) is independent so
198 it can be parallelized (computation of matrices A and B)
199 \item Different regression tests are also independent
200 \item Test of new idea? First test with matlab and then adapt to C++
203 % 1 - Comment le paralleliser
204 % 2 - Langage et bibliotheque
207 \begin{frame}{Finding the Optimal Parameters} % Slide 9
208 % 1 - Quels parametres et pourquoi ?
210 {What parameters can be optimized?\\}
221 \item Number of nodes that significantly improve the solution (threshold)
222 \item Input filter (convolutional filter for images)
223 \item Potentially any parameters
229 \begin{frame}{Finding the Optimal Parameters} % Slide 10
230 % 2 - Optimisation par recuit simule
232 {Optimization heuristics\\}
234 \item Now: Simulated annealing
235 \item[] $\Rightarrow$ probabilistic technique for approximating the global optimum of a given function.
236 \item Next: maybe other heuristics
240 {Similar results with the SDR problem\\}
244 \begin{frame}{Performances} % Slide 11
245 % 1 - Taux d'erreur en terme de classification
246 % 2 - Gain en temps d'execution / speedup curve
249 \section{Performances on the MNIST problem}
251 \begin{frame}{Application on the MNIST problem} % Slide 12
252 % 1 - Decrire ce qu'est le MNIST
253 % 2 - Setup de notre reservoir
256 \begin{frame}{Comparison with other approaches} % Slide 13
257 % 1 - Convolutional Neural Networks
258 % 2 - Reservoir en pipeline (papier de 2015)
261 \begin{frame}{Comparison with other approaches} % Slide 14
262 % Tableau recapitulant les performances
265 \section{Conclusion and perspectives}
267 \begin{frame}{Conclusion and perspectives} % Slide 15
270 Many perspectives (we are just beginning)
271 Improvement of the code\\
272 Test of many ideas : number of comities\\
273 One reservoir to learn and another one to learn error and correct
275 Test other large problems in simulation before in real\\
276 => Try to test many configuration and to find optimal parameters
280 \begin{frame}{Thank you for your attention}
286 %\begin{frame}{Titre du slide}
289 % {Ceci est un femtoBlock\\}
290 % Et ici le texte dans le femtoBlock
293 % \item deuxième item
297 % {Autre femtoBlock\\}
307 %\begin{frame}{Autre titre}
310 % {Utilisation possible de block (standard)\\}
312 % \begin{block}{Titre du block}
313 % texte contenu dans le block