]> AND Private Git Repository - presentation_reservoir.git/blob - reservoir.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
[presentation_reservoir.git] / reservoir.tex
1 \documentclass{beamer}
2
3 \usepackage{beamerthemefemto}
4
5 \usepackage[latin1]{inputenc}
6 \usepackage[T1]{fontenc}
7 \usepackage{amsfonts,amsmath,amssymb,stmaryrd}
8 \usepackage[frenchb]{babel}
9
10
11 \usepackage{graphicx}
12 \DeclareGraphicsExtensions{.jpg, .png , .pdf, .bmp, .pdftex}
13
14
15 \title{Parallelization and optimization \\
16 of the neuromorphic simulation code.
17 Application on the MNIST problem} 
18
19 \author{Rapha\"el Couturier, {\bf Michel Salomon}}
20
21 \institute[FEMTO-ST Institute]{\textit{FEMTO-ST - DISC Department - AND Team}}
22
23 \date{November 2 \& 3, 2015 / Besançon \\
24   Dynamical Systems and Brain-inspired Information Processing Workshop}
25
26 %  ____  _____ ____  _   _ _____ 
27 % |  _ \| ____| __ )| | | |_   _|
28 % | | | |  _| |  _ \| | | | | |  
29 % | |_| | |___| |_) | |_| | | |  
30 % |____/|_____|____/ \___/  |_|  
31
32
33 \begin{document}
34 \setbeamertemplate{background}{\titrefemto}
35
36 \begin{frame}[plain]
37 \titlepage
38 \end{frame}
39  
40 \setbeamertemplate{background}{\pagefemto}
41
42 \begin{frame}{Introduction} % Slide 1
43   % 1 - Photonic implementation of reservoir computing through NLDDE in Laurent's team
44   % 2 - Motivation
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
49   \begin{femtoBlock}
50     {Background}
51     \begin{itemize}
52     \item Emergence of hardware RC implementation
53       \begin{center}
54         Analogue electronic; {\bf optoelectronic}; fully optical
55       \end{center}
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)}
58     \item Simulation code 
59       \begin{itemize}
60       \item Study processing conditions
61       \item Tuning parameters
62       \item Pre and post-processing by computer
63       \end{itemize}
64     \end{itemize}
65   \end{femtoBlock}
66   \medskip
67   \begin{femtoBlock}
68     {Motivation}
69     \begin{itemize}
70     \item Study the concept of Reservoir Computing
71     \item Design a faster simulation code
72     \item Apply it to a new problem
73     \end{itemize}
74   \end{femtoBlock}
75 \end{frame}
76
77 \begin{frame}{Outline}
78 \setbeamertemplate{section in toc}[sections numbered] 
79 \tableofcontents
80 \end{frame}
81
82 \section{Neuromorphic processing}
83
84 \begin{frame}{Delay Dynamics as a Reservoir} % Slide 2
85   \begin{femtoBlock}
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})\\}
88     \centering
89     \includegraphics[width=7.5cm]{ntc.png}
90     \begin{itemize}
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}$
93     \end{itemize}
94   \end{femtoBlock}
95   % Slide 21 + equation a retard du NTC
96   \begin{femtoBlock}
97     {Computer simulation with an Ikeda type NLDDE}
98     $$
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]
100     $$
101     \centering
102     $\alpha \rightarrow \mbox{feedback scaling}; \beta \rightarrow \mbox{gain}; \rho \rightarrow \mbox{amplification};
103     \Phi_0 \rightarrow \mbox{offset}$
104   \end{femtoBlock}
105 \end{frame}
106
107 \begin{frame}{Photonic Reservoir Computing} % Slide 3
108   \begin{femtoBlock}
109     {Optoelectronic setup ({\NoAutoSpaceBeforeFDP \tiny Larger~{\em et al.}~-~Opt.~Express~20:3~2012})\\}
110     \vspace{0.25cm}
111     \centering
112     \includegraphics[width=7.5cm]{photonic-RC.png}
113     \vspace{0.25cm}
114   \end{femtoBlock}
115   \begin{femtoBlock}
116     {Spoken digits recognition task}
117     \begin{itemize}
118     \item Input data $\rightarrow$ {\small matrix obtained by Lyon ear model transformation}
119     \item Output data $\rightarrow$ {\small matrix describing the spoken digit}
120     \end{itemize}
121   \end{femtoBlock}
122 \end{frame}
123
124 \begin{frame}{Spoken Digits Recognition} % Slide 4
125   \begin{femtoBlock}
126     {Input (pre-processing) \\}
127     \begin{itemize}
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 
132     \end{itemize}
133     \centering
134     \includegraphics[width=7.5cm]{sdr.png}
135   \end{femtoBlock}
136   \begin{femtoBlock}
137     {Reservoir transient response\\}
138     \vspace{0.125cm}
139     \centering
140     Temporal series recorded for Read-Out processing
141   \end{femtoBlock}
142 \end{frame}
143
144 \begin{frame}{Spoken Digits Recognition} % Slide 5
145   \begin{femtoBlock}
146     {Output (post-processing)\\}
147     \begin{itemize}
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$
151       \vspace{-0.25cm}
152       $$
153       W^R_{\mbox{opt}}=\left(A^TA - \lambda I\right)^{-1} A^T B
154       $$
155       \vspace{-0.5cm}
156       \begin{itemize}
157       \item $A$ = concatenates reservoir transient response for each digit
158       \item $B$ = concatenates target matrices
159       \end{itemize}
160     \end{itemize}
161   \end{femtoBlock}
162   \begin{femtoBlock}
163     {Testing\\}
164     \begin{itemize}
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
168     \end{itemize}
169   \end{femtoBlock}
170 \end{frame}
171
172 \begin{frame}{Matlab Simulation Code} % Slide 7
173   % Grandes lignes a partir du pdf de Laurent
174   \begin{femtoBlock}
175     {Main lines\\}
176     \begin{itemize}
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)
181     \end{itemize}
182   \end{femtoBlock}
183   % Inconvenient de ce code => temps de calcul
184   \begin{femtoBlock}
185     {Computation time\\}
186     12 min for 500 words recognition (2013)
187   \end{femtoBlock}
188 \end{frame}
189
190 \section{Parallelization and optimization}
191
192 \begin{frame}{Parallelization Scheme} % Slide 8
193   \begin{itemize}
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++
200     with MPI
201   \end{itemize}
202   % 1 - Comment le paralleliser
203   % 2 - Langage et bibliotheque
204 \end{frame}
205
206 \begin{frame}{Finding the Optimal Parameters} % Slide 9
207   % 1 - Quels parametres et pourquoi ?
208   \begin{femtoBlock}
209     {What parameters can be optimized?\\}
210     Currently:
211     \begin{itemize}
212     \item Pitch 
213     \item Delta 
214     \item Beta 
215     \item Phi
216     \item Lambda
217     \end{itemize}
218     Next:
219     \begin{itemize}
220     \item Number of nodes that significantly improve the solution (threshold)
221     \item Form of a convolutional filter?
222     \item Potentially any parameters
223     \end{itemize}
224
225   \end{femtoBlock}
226 \end{frame}
227
228 \begin{frame}{Finding the Optimal Parameters} % Slide 10
229   % 2 - Optimisation par recuit simule
230   \begin{femtoBlock}
231     {Optimization heuristics\\}
232     \begin{itemize}
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
236     \end{itemize}
237   \end{femtoBlock}
238 \end{frame}
239
240 \begin{frame}{Performances} % Slide 11
241   % 1 - Taux d'erreur en terme de classification
242   % 2 - Gain en temps d'execution / speedup curve
243 \end{frame}
244
245 \section{Performances on the MNIST problem}
246
247 \begin{frame}{Application on the MNIST problem} % Slide 12
248   % 1 - Decrire ce qu'est le MNIST
249   % 2 - Setup de notre reservoir
250 \end{frame}
251
252 \begin{frame}{Comparison with other approaches} % Slide 13
253   % 1 - Convolutional Neural Networks
254   % 2 - Reservoir en pipeline (papier de 2015)
255 \end{frame}
256
257 \begin{frame}{Comparison with other approaches} % Slide 14
258   % Tableau recapitulant les performances
259 \end{frame}
260
261 \section{Conclusion and perspectives}
262
263 \begin{frame}{Conclusion and perspectives} % Slide 15
264
265
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
270   them\\
271   Test other large problems in simulation before in real\\
272   => Try to test many configuration and to find optimal parameters
273   
274 \end{frame}
275
276 \begin{frame}{Thank you for your attention}
277   \begin{center}
278     \LARGE Questions ?
279   \end{center}
280 \end{frame}
281   
282 %\begin{frame}{Titre du slide}
283
284 %       \begin{femtoBlock}
285 %               {Ceci est un femtoBlock\\}
286 %               Et ici le texte dans le femtoBlock
287 %               \begin{itemize}
288 %                       \item premier item
289 %                       \item deuxième item
290 %               \end{itemize}%
291 %       \end{femtoBlock}
292 %       \begin{femtoBlock}
293 %               {Autre femtoBlock\\}
294 %               \begin{itemize}
295 %                       \item bla bla
296 %                       \item bla bla
297 %               \end{itemize}
298 %       \end{femtoBlock}
299 %\end{frame}
300
301 %\section{Titre2}
302
303 %\begin{frame}{Autre titre}
304
305 %       \begin{femtoBlock}
306 %               {Utilisation possible de block (standard)\\}
307                 
308 %               \begin{block}{Titre du block}
309 %               texte contenu dans le block
310 %               \begin{itemize}
311 %                       \item bla bla
312 %                       \item bla bla
313 %               \end{itemize}
314 %               \end{block}
315 %       \end{femtoBlock}
316         
317 %\end{frame}
318  
319 \end{document}
320 %  _____ ___ _   _ 
321 % |  ___|_ _| \ | |
322 % | |_   | ||  \| |
323 % |  _|  | || |\  |
324 % |_|   |___|_| \_|
325 %