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 response
178 \item[] $\Rightarrow$ computation of matrices $A$ and $B$
179 \item Computation of the Readout
180 \item Test of the solution (cross validation)
183 % Inconvenient de ce code => temps de calcul
186 12 min for 500 words recognition (2013)
190 \section{Parallelization and optimization}
192 \begin{frame}{Parallelization Scheme} % Slide 8
194 \item Port of the code in C++
195 \item Parallelization with MPI (Message Passing Interface)
196 \item Computation of data response (sound, image) is independent so
197 it can be parallelized
198 \item Different regression tests are also independent
199 \item Test of new idea? First test with matlab and then adapt to C++
202 % 1 - Comment le paralleliser
203 % 2 - Langage et bibliotheque
206 \begin{frame}{Finding the Optimal Parameters} % Slide 9
207 % 1 - Quels parametres et pourquoi ?
209 {What parameters can be optimized?\\}
220 \item Number of nodes that significantly improve the solution (threshold)
221 \item Form of a convolutional filter?
222 \item Potentially any parameters
228 \begin{frame}{Finding the Optimal Parameters} % Slide 10
229 % 2 - Optimisation par recuit simule
231 {Optimization heuristics\\}
233 \item Now: Simulated annealing
234 \item[] $\Rightarrow$ probabilistic technique for approximating the global optimum of a given function.
235 \item Next: maybe other heuristics
240 \begin{frame}{Performances} % Slide 11
241 % 1 - Taux d'erreur en terme de classification
242 % 2 - Gain en temps d'execution / speedup curve
245 \section{Performances on the MNIST problem}
247 \begin{frame}{Application on the MNIST problem} % Slide 12
248 % 1 - Decrire ce qu'est le MNIST
249 % 2 - Setup de notre reservoir
252 \begin{frame}{Comparison with other approaches} % Slide 13
253 % 1 - Convolutional Neural Networks
254 % 2 - Reservoir en pipeline (papier de 2015)
257 \begin{frame}{Comparison with other approaches} % Slide 14
258 % Tableau recapitulant les performances
261 \section{Conclusion and perspectives}
263 \begin{frame}{Conclusion and perspectives} % Slide 15
266 Many perspectives (we are just beginning)
267 Improvement of the code\\
268 Test of many ideas : number of comities\\
269 One reservoir to learn and another one to learn error and correct
271 Test other large problems in simulation before in real\\
272 => Try to test many configuration and to find optimal parameters
276 \begin{frame}{Thank you for your attention}
282 %\begin{frame}{Titre du slide}
285 % {Ceci est un femtoBlock\\}
286 % Et ici le texte dans le femtoBlock
289 % \item deuxième item
293 % {Autre femtoBlock\\}
303 %\begin{frame}{Autre titre}
306 % {Utilisation possible de block (standard)\\}
308 % \begin{block}{Titre du block}
309 % texte contenu dans le block