Full text
UNIVERSIDAD DE ZARAGOZA CENTRO POLITÉCNICO SUPERIOR Proyecto Fin de Carrera Ingeniería de Telecomunicación REDES DE CREENCIA PROFUNDA PARA EL RECONOCIMIENTO DE ERPS EN SEÑALES DE EEG Autor: David Pérez Arbués Director: Luis Montesano del Campo Departamento de Informática e Ingeniería de Sistemas Zaragoza, Septiembre 2010
Índie general 1. Intro duión 4 1.1. Ob jetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Desrip ión del do umento . . . . . . . . . . . . . . . . . . . . 6 2. Redes neuronales y DBN 8 2.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2. Máquinas de Boltzmann . . . . . . . . . . . . . . . . . . . . . 9 2.2.1. Méto dos de entrenamiento . . . . . . . . . . . . . . . . 13 2.3. Belief Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1. Entrenamiento de DBN . . . . . . . . . . . . . . . . . 21 2.3.2. Algoritmo Up-Down . . . . . . . . . . . . . . . . . . . 23 2.3.3. Mo delo no sup ervisado frente a sup ervisado . . . . . . 24 3. Mo delos kernel y máquinas de vetores sop orte (SVM) 27 3.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2. Prinipios teórios . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3. Máquinas de vetores sop orte . . . . . . . . . . . . . . . . . . 28 4. Conjuntos de datos a Analizar 30 4.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2. Datos de test . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.3. Base de datos del MNIST . . . . . . . . . . . . . . . . . . . . 31 4.4. Datos de EEG . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5. Tests 36 5.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2. Test en generaión . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3. Test en reono imiento . . . . . . . . . . . . . . . . . . . . . . 37 5.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.4.1. Datos de test . . . . . . . . . . . . . . . . . . . . . . . 38 5.4.2. MNIST . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.4.3. EEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.5. Test de onvergenia . . . . . . . . . . . . . . . . . . . . . . . 43 1
6. Fases del proyeto 46 7. Conlusiones y traba jo futuro 49 A. Variaiones al mo delo original de RBM 52 A.1. Rao-Blakwellisation . . . . . . . . . . . . . . . . . . . . . . . 52 A.2. Tasa de aprendiza je . . . . . . . . . . . . . . . . . . . . . . . 53 A.3. Momento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A.4. Agrupaión en grup os de datos . . . . . . . . . . . . . . . . . 54 A.5. Valores reales en entrada . . . . . . . . . . . . . . . . . . . . . 55 A.6. Deaimiento de los p esos . . . . . . . . . . . . . . . . . . . . . 55 B. Tratamiento previo de los datos de EEG 56 B.1. Saturaión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B.2. Normalizaión . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B.3. Reduión del tamaño de las muestras . . . . . . . . . . . . . 60 B.3.1. Subsampleado . . . . . . . . . . . . . . . . . . . . . . . 61 B.3.2. Seleión inteligente de anales . . . . . . . . . . . . . 61 B.4. Transformaiones de la señal . . . . . . . . . . . . . . . . . . . 62 B.5. Esalado exp onenial . . . . . . . . . . . . . . . . . . . . . . . 62 B.6. PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 B.7. CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C. Programas Matlab y su manejo 66 C.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 C.2. Entrenamiento y testeo de una DBN . . . . . . . . . . . . . . 66 C.2.1. General_v5 . . . . . . . . . . . . . . . . . . . . . . . . 67 C.2.2. leeonf_v1 . . . . . . . . . . . . . . . . . . . . . . . . 68 C.2.3. Fihero de onguraión . . . . . . . . . . . . . . . . . 68 C.2.4. reaRed . . . . . . . . . . . . . . . . . . . . . . . . . . 70 C.2.5. preparaDatos . . . . . . . . . . . . . . . . . . . . . . . 70 C.2.6. pretrainingBath_v3 . . . . . . . . . . . . . . . . . . . 71 C.2.7. up dateRBM_v6 . . . . . . . . . . . . . . . . . . . . . 71 C.2.8. netuning_v3 . . . . . . . . . . . . . . . . . . . . . . . 72 C.2.9. Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 C.2.10. Porenta je_v3 . . . . . . . . . . . . . . . . . . . . . . 72 C.3. Prepro esado de los datos de EEG . . . . . . . . . . . . . . . 72 C.3.1. Pospro . . . . . . . . . . . . . . . . . . . . . . . . . . 73 C.3.2. ortasignal . . . . . . . . . . . . . . . . . . . . . . . . 74 C.3.3. Saturaión . . . . . . . . . . . . . . . . . . . . . . . . . 74 C.3.4. CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 C.3.5. Normalizaión . . . . . . . . . . . . . . . . . . . . . . . 75 C.4. Otras funiones y sripts . . . . . . . . . . . . . . . . . . . . . 75 C.4.1. Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2
C.4.2. Sript . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3
Capítulo 1 Intro duión 1.1. Ob jetivos Dentro del Grup o de Rob ótia de la universidad de Zaragoza, se viene traba jando en los últimos años en la utilizaión de ténias de aprendiza je y de interfaes erebro omputador para el ontrol de rob ots inteligentes. El ob jetivo último de estos traba jos es el de rear una simbiosis entre el usuario y el rob ot que p ermita un aprendiza je ontinuo y mutuo entre amb os. Uno de los retos eseniales planteados en este esenario es la p osibilidad de utilizar la atividad erebral del usuario para evaluar el omp ortamiento del rob ot. En partiular, el Grup o de Rob ótia ha estado estudiando los p oteniales de error, un tip o de atividad erebral que se genera esp ontáneamente omo resultado de una aión ejeutada u observada. Si la aión o su resultado no han sido los esp erados, se genera un p otenial partiular en el erebro. Para traba jar on estos p oteniales, se utilizan lo que omúnmente se denomina eletro enefalograma (EEG en adelante), o leturas de la atividad elétria del erebro a lo largo del tiemp o tomadas en determinadas áreas de la sup erie de la ab eza. Uno de los retos más imp ortantes en este ontexto, y en el amp o de los interfaes erebro-omputador en general, es el desarrollo de algoritmos de deteión y lasiaión ables, ya que las medidas de los p oteniales de error obtenidas on EEG suelen ser altamente ruidosas y no estaionarias. En la literatura, se pueden enontrar distintos méto dos de lasiaión on diferentes grados de omplejidad y on mayor o menor tasa de aierto. El méto do que se había venido utilizando en el grup o había sido las máquinas de sop orte vetorial o SVM. Esta soluión ha venido siendo la más utilizada en la literatura p or ser la que menor tasa de error ometía en una amplia variedad de apliaiones de EEG, inluyendo la lasiaión de p oteniales de error. Reientemente, se han desarrollado un nuevo tip o de redes neuronales llamadas redes de reenia profunda o deep b elief networks (en adelante 4
DBN), intro duidas p or Georey Hinton en 2002 [15℄. Diversos traba jos han ido desarrollando algoritmos de entrenamiento, estudios de onvergenia y apliando este tip o de mo delos a varios problemas de aprendiza je omo la lasiaión de imágenes, la generaión de movimiento a partir de datos apturados o las series temp orales, entre otros. Las DBN han demostrado ser una soluión muy efetiva en una amplia variedad de problemas, sup erando en la mayoría de los asos a la mayor parte de las soluiones propuestas hasta el momento. Además de su gran versatilidad, (son apaes de afrontar problemas de aprendiza je sup ervisado omo no sup ervisado), las DBN pueden llegar a ser entrenadas de una manera esp eialmente rápida y pro duir redes de gran eaia. El ob jetivo de este proyeto es estudiar el omp ortamiento de estas redes de nueva apariión sobre los datos de EEG orresp ondientes a p oteniales de error, para evaluar su tasa de error y omparar sus prestaiones on el méto do de lasiaión basado en SVM utilizado hasta el momento. La realizaión del proyeto ha onsistido en tres tareas seueniales. En primer lugar, la do umentaión disp onible está basada prinipalmente en artíulos publiados en onferenias internaionales. Ésta ontiene multitud de versiones de redes y variaiones de los algoritmos de entrenamiento originales, siendo difíil evaluar sus diferenias y ompararlas entre sí. En otras palabras, to davía no existe un onsenso denitivo en uanto a qué algoritmos funionan mejor en ada aso. Obviamente, tamp o o existe una librería de ó digo que p ermita utilizar las DBN omo una herramienta estándar y simplemente a justar los parámetros del méto do. Por lo tanto, la primera tarea ha onsistido en realizar un estudio en profundidad del estado del arte tratando de identiar los distintos méto dos para seleionar aquellos que fuesen mas adeuados a nuestro problema. Una vez realizado el estudio de las DBN y de sus distintos algoritmos de entrenamiento, el segundo paso es realizar una implementaión de los mo delos de redes de reenia profunda y los méto dos de entrenamiento orresp ondientes. Para ello se omenzó on un mo delo básio al que inrementalmente se le añadieron las mo diaiones y mejoras seleionadas. Este pro eso p ermite tomar ontato on las DBNs y, sobre to do, omparar los resultados de la implementaión on los resultados obtenidos en los diferentes artíulos ientíos publiados hasta la feha en la literatura. En partiular, nos entraremos en el estudio de la base de datos del MNIST, ompuesta p or ifras esritas a mano que deb en de lasiarse orretamente en 10 lases entre el 0 y el 9. Una vez desarrollado el software de entrenamiento y lasiaión y veri- ado su orreto funionamiento, la última tarea fue estudiar la apliaión del mo delo de red seleionado a los datos de EEG. Para ello se utilizó un pro- to olo de p oteniales de error (en adelante, ERPS) desarrollado en el Grup o de Rob ótia que prop oriono los datos orresp ondientes. Como se ha diho anteriormente, los datos de EEG son altamente ruidosos y normalmente re- 5
quieren un pre-pro esamiento que inluye la apliaión de diferentes ltros antes de ser utilizados para lasiaión. Los ltros implementados inluyen ténias estándar omo reduión de dimensionalidad basado en omp onentes prinipales y/o indep endientes y ltrado en freuenias así omo ltros espaiales esp eialmente diseñados para señales EEG, los Common Spatial Patterns. Los datos pro esados fueron nalmente usados para lasiaión utilizando tanto las DBNs omo SVM. 1.2. Desrip ión del do umento Se ha intentado on el do umento agrupar de la mejor manera p osible las distintas áreas que se han venido tratando a lo largo de la realizaión del proyeto, intentando rear un do umento laro que p ermita al letor familiarizarse progresivamente on to das las tenologías utilizadas. Sin embargo y debido a restriiones de espaio, se presentan numerosas referenias que pueden ampliar los datos que aquí se presentan. En el primer apítulo, se intenta presentar un resumen de los ob jetivos del proyeto, de la meto dología utilizada y de los resultados obtenidos, así omo dar una p equeña intro duión a lo que se puede enontrar en el resto del do umento. El segundo apítulo intro due las redes de reenia profunda, desde sus orígenes omo máquinas restringidas de Boltzmann hasta las tendenias más atuales. Puede enontrarse más informaión a este resp eto en los anexos, donde se presentan las mo diaiones más omunes y que han sido utilizadas en este proyeto y en las numerosas referenias que se van itando a lo largo del texto. El terer apítulo trata, de una manera ligera ya que no es el tema entral del proyeto, la teoría que sostiene las máquinas de vetores sop orte o SVM y las distintas implementaiones que de él se dan en la literatura. En el uarto apítulo presentamos los distintos onjuntos de datos que se han utilizado a lo largo del proyeto, presentando sus araterístias más esp eiales y prestando un esp eial interés al análisis de los datos de EEG, su pre-pro esado y las distintas manipulaiones realizadas sobre estos datos antes de alimentar las redes de reenia profunda. En el quinto apítulo, se presentan los resultados obtenidos p or las DBN en ada uno de los onjuntos de datos, así omo los análisis de onvergenia que se han realizado sobre estas redes para demostrar su orreto funionamiento. Por último, el sexto y séptimo apítulo quedan reservados, resp etivamente, a la presentaión de la evoluión que ha seguido el proyeto a lo largo del tiemp o y a las onlusiones nales. En los anexos puede enontrarse informaión detallada aera de las variaiones más omúnmente itadas p or los distintos artíulos sobre las DBN, 6
algunas de las uales pro duen mejoras evidentes en los resultados, omo hemos p o dido omprobar a lo largo del proyeto. También puede enontrarse una p equeña intro duión y tutorial de los distintos programas esritos a lo largo del proyeto, p or si se desea ampliar el estudio y se quieren utilizar omo base para futuros desarrollos. 7
Capítulo 2 Redes neuronales y DBN 2.1. Intro duión Las redes neuronales, aunque han demostrado su alta apaidad de representar funiones de alta no linealidad y gran variabilidad, han presentado tradiionalmente un problema de entrenamiento que reía onforme aumentaban el número de apas y el tamaño de estas apas. Aunque se ha p o dido demostrar que en multitud de apliaiones, al aumentar el número de apas, las soluiones ap ortadas en términos de parámetros y resultados son muho más eientes [5℄, la diultad de entrenamiento en redes muy profundas, suele ausar que, al partir de p esos iniiales aleatorios, las redes queden atasadas en mínimos lo ales muy alejados del mínimo real de la funión de energía de la red. Esto ha provo ado que en problemas de gran omplejidad, las soluiones ap ortadas p or redes muy simples (una o dos apas o ultas) hayan dado iguales o mejores resultados que las redes más omplejas [30℄, a p esar de que las redes de mayor profundidad pudieran, en teoría, aproximar mejor la distribuión de probabilidad de los datos. Las redes de reenia profunda o deep b elief networks (de ahora en adelante DBN), son un aso onreto de redes neuronales multiapa que, dadas sus araterístias que p osteriormente expliaremos, se han apliado reientemente y on muho éxito en ámbitos omo la lasiaión, la reduión de dimensionalidad [12℄, el ltrado olab orativo [24℄ o omparaión de do umentos [26℄... Este éxito radia prinipalmente en la forma de entrenamiento, ya que, a diferenia de lo que se venía haiendo on las redes multiapas, el entrenamiento deja de haerse p or retropropagaión (bakpropagation), que ausaba que las redes se estabilizaran en torno a mínimos de energía lo ales, para pasar a utilizar el méto do desrito p or Georey Hinton [15℄, que restringe la onetividad de las redes multiapa y asimila de esta forma una red multiapa on una pila de máquinas restringidas de Boltzman (en adelante Restrited Boltzmann Mahine o RBM), para las que existe una forma extremadamente rápida y a la vez preisa de entrenamiento. 8
que ada una de las muestras del onjunto de entrenamiento sean intro duidas varias vees en la red, ya que las primeras muestras que entran a la red enuentran una red muy p o o a justada y ap enas son reordadas p or ella. Como puede verse, estimar la formula (2.8) y p or tanto las reglas de a- tualizaión (2.9) y (2.10) es intratable en el aso de utilizar una o más apas o ultas, ya que esto impliaría ono er la distribuión de probabilidad en las apas o ultas y p o der extraer muestras de ella, y, aun en este último aso, impliaría esp erar a que la red alanzara el equilibrio y tomar muestras de este equilibrio, muestras que, debido a tratarse de variables esto ástias, pueden llegar a ser muy ruidosas. Por ello, se han propuesto determinados algoritmos que busan soluiones al entrenamiento de las máquinas de Boltzmann. Por supuesto, los algoritmos presentados de ahora en adelante úniamente explian el pro eso a seguir para un aso onreto de dato de entrada, siendo neesario para un orreto entrenamiento rep etir el mismo algoritmo para ada uno de los datos de entrada. La aproximaión más utilizada para aprender en una BM [1℄ onsta de dos fases, en la primera fase (fase p ositiva) damos un valor a las entradas y una vez alanzado el equilibrio, aumentamos el p eso entre las onexiones entre dos neuronas que se enuentren enendidas. En la segunda fase (fase negativa), no se da ningún valor en las entradas y se deja a la red libre, una vez alanzado el equilibrio, se derementa el p eso de las onexiones entre dos neuronas que se enuentren ativadas. El prinipal problema de este tip o de entrenamiento es la lentitud, deb emos rep etir muhas vees la fase p ositiva y la fase negativa para onseguir lograr aerar la red a un estado óptimo. Es p or este motivo que, a p esar de sus buenas araterístias omo aproximador, las máquinas de Boltzmann han sido reemplazadas p or mo delos más senillos y limitados. Las RBM, al tener limitada su onetividad, onsiguen que las unidades o ultas sean ondiionalmente indep endientes dado un valor de entrada en la apa visible, p or lo que es p osible obtener una muestra no sesgada de < vihj>data en un únio paso. Sin embargo, sigue resultando ompliado obtener una muestra de < vihj>model , ya que impliaría esp erar hasta que la red se estabilizara. Aunque simpliada enormemente, el entrenamiento de estas redes siguió siendo relativamente lento hasta la intro duión en 2002 de lo que Georey Hinton denominó Contrastive Divergene learning algorithm, un méto do que, a p esar de no seguir estritamente el gradiente de la variaión del logaritmo de la probabilidad, sí que, al menos, es apaz, en media, de indiar el sentido de variaión adeuado, aunque el valor no sea el orreto. Este algoritmo, que detallaremos p osteriormente on detalle, omienza una adena de Markov on uno de los datos que utilizamos para alular (< vihj>data) , omo punto de partida para, tras realizar varios pro esos de alternating Gibbs sampling ompletos, tomar la onguraión resultante omo una estimaión del estado del mo delo, < vihj>model . 15
datos v01 2 Ni 2 3 M j 1 vihj < < 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < ∞ 0 h0h1h2h∞ v1v2v∞ k=0 k=1 k=2 k=∞ Figura 2.3: Entrenamiento de una RBM tradiional Contrastive divergene Como ya habíamos diho, el álulo del segundo término de la euaión 2.8 es intratable omputaionalmente. Así que se propuso una nueva té- nia denominada Contrastive Divergene [15℄ para mejorar la velo idad de álulo. No vamos a entrar demasiado a fondo en las justiaiones matemátias y la onvergenia del méto do, p orque este es un amp o que to davía se mantiene abierto y sobre el que se plantean estudios tanto de onvergenia omo de análisis, p o demos itar entre ellos [9℄, [34℄ o [4℄. Por este motivo, vamos a limitarnos a expliar de una manera lo más senilla p osible el algoritmo a seguir para entrenar la red, ya que es la pieza fundamental para el entrenamiento de las DBN. Como ya habíamos expliado anteriormente, el ob jetivo es enontrar aquellos p esos y biases que maximien la probabilidad de que la red repro duza los datos de entrenamiento, p or lo tanto, nuestro ob jetivo no es otro que reduir el logaritmo de la probabilidad (ver euaión 2.8). La forma tradiional de estimar la segunda parte de la euaión (2.8) onsistía en lanzar una adena de Markov a partir de ada uno de los datos en la que se van tomando muestras utilizando un sampleado alterno de Gibbs hasta llegar al equilibrio (Ver Figura 2.3). Esta muestra en equilibrio se onsideraba una aproximaión a la respuesta del mo delo de la red < vihj>model =< vihj>∞ . La idea es que p o demos tener una buena aproximaión a < vihj>model trunando la adena de Markov tras K iteraiones (on K normalmente menor a 15) y utilizando en su lugar < vihj>K . El algoritmo es el siguiente: (Ver Figura 2.4) 1. Tomamos un dato de entrada y forzamos las unidades visibles a los valores dados p or el dato de entrada, obteniendo un vetor v0 2. Calulamos la probabilidad de ativaión de ada una de las unidades o ultas dado el dato de entrada v0 ( P(h0 j= 1|v0) ) on la euaión (2.3) 3. Una vez alulada la distribuión de probabilidad en apa o ulta, tomamos una muestra de esta distribuión, dando un valor a ada una de las neuronas de la apa o ulta, la denominamos h0 16
datos v01 2 Ni 2 3 M j 1 vihj < < 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < h0h1h2hK v1v2v k=0 k=1 k=2 k=K K 0 K Figura 2.4: Algoritmo CD-K apliado a una RBM 4. Con v0 y h0 p o demos alular < vihj>data (ver euaión 2.8), tomando vi=v0 i y hj=h0 i 5. A partir de ahora dejamos a la red que se estabilie, para ello, lib eramos la apa visible de datos, y tratamos de que la red llegue a un equilibrio. A partir de ahora, rep etiremos durante K vees el siguiente pro eso (emp ezamos on k= 1 ): Tomando hk−1 omo dato de partida, alulamos la distribuión de probabilidad en apa visible P(vk i= 1|hk−1) on la euaión 2.3 Generamos una fantasía en la apa visible, que denominaremos vk tras tomar una muestra de la distribuión alulada. A partir de esta muestra, rep etimos el pro eso para alular un hk al muestrear la distribuión de probabilidad P(hk j= 1|vk) , alulada a partir de vk 6. Terminado el pro eso, estimamos < vihj>model , segundo término de la euaión (2.8), omo vK ihK i 7. Atualizamos los p esos entre las apas ( wij ) y los biases de ada una de las apas ( bi para apa o ulta y ci para apa visible) de auerdo a las euaiones (2.9) y (2.10), que quedan onvertidas en: wt ij =wt−1 ij +ǫ(v0 ih0 j−vK ihK j)t−1 (2.11) bt j=bt−1 j+ǫ(h0 j−hK j)t−1 (2.12) ct i=ct−1 i+ǫ(v0 i−vK i)t−1 (2.13) 8. Rep etimos el pro eso tomando otro dato de entrada distinto y aumentando el valor de t. Sobre este mo delo, se pueden apliar numerosas variaiones que traten de mo diar y mejorar el omp ortamiento del entrenamiento, las utilizadas en este proyeto quedan desritas en el anexo A. En la mayoría de los asos, la estimaión del segundo término de la eua- ión (2.8) es suientemente buena tomando úniamente un K= 1 (denominado CD-1) (ver gura 2.5), lo que úniamente nos indiaría la direión 17
datos v01 2 Ni 2 3 M j 1 vihj < < 1 2 Ni 2 3 M j 1 vihj < < 1 0 h0h1 v1 k=0 k=1 Figura 2.5: Algoritmo CD-1 apliado a una RBM en la que deb eríamos movernos para disminuir la energía. Valores mayores de K son también omunes, lo que vendría a dar la nomenlatura general CD-K para referirse al algoritmo ontrastive divergene. La idea detrás de to do este algoritmo es exatamente la misma que utilizábamos en las redes de Hopeld, esto es, aumentar el p eso de una onexión uando una araterístia j se ativa a la vez que un pixel i, reba jándolo uando esta araterístia se ativa sobre una fantasía i. PCD El algoritmo Contrastive Divergene, en onreto CD-1, es muy rápido, presenta una varianza ba ja y es una relativa buena aproximaión al gradiente, sin embargo, en algunos asos puede no ser suiente. Normalmente y si el tiemp o de entrenamiento lo p ermitiera, sería reomendable utilizar CD-K on K lo suientemente elevado omo para obtener una aproximaión lo suientemente buena de la respuesta de la red neuronal en ausenia de estímulos externos. Sin embargo, el tiemp o de entrenamiento de una RBM y p or extensión, omo p osteriormente veremos, de una DBN, es un parámetro ruial, p or lo que, siguiendo las diretries maradas en [21℄ para redes de reenia (Belief nets o BN de ahora en adelante), se propuso un nuevo algoritmo basado en CD-K denominado Persistent Contrastive Divergene o PCD [31℄. La idea básia sobre la que se asienta este nuevo algoritmo es que, si las variaiones de los p esos son muy esasas entre las distintas iteraiones del algoritmo PCD, el mo delo de la red neuronal entre una iteraión y la siguiente es prátiamente estable, p or lo que, partiendo del estado estable anterior, en unos p o os muestreos alternos de Gibbs, p o demos volver a alanzar la distribuión propia de la red. Si la red ap enas ha ambiado, < vihj>model en una iteraión, será muy pareido al valor en la siguiente iteraión. Por lo que, para variaiones de los p esos tendiendo a ero y usando un algoritmo 18
CD-K on K tendiendo a innito, esta sup osiión es orreta. Como p osteriormente veremos uando hablemos de los parámetros de entrenamiento, este algoritmo neesita una tasa de aprendiza je muy p equeña, para que las variaiones entre iteraiones sean esasas a la vez que presenta muy buenos resultados on tamaños de bath grandes (ver Anexo A.4), ya que p ermite realizar una mejor aproximaión al gradiente. Como ya vimos, en el algoritmo CD-K estamos trunando una adena de Markov tras K iteraiones, esto nos hae p erder informaión de la respuesta original de la red. En PCD se pretende no realizar ese trunado, sino ontinuarlo en la siguiente iteraión del algoritmo. A diferenia de lo que haríamos en CD-K, no usamos h0 para alular una fantasía en la apa visible vK sino que, si nos enontramos en la primera iteraión, haemos un paso de Gibbs sampling para obtener una fantasia a partir de unos datos aleatorios gaussianos, o si no, usamos diretamente la fantasía vK de la iteraión anterior. (Ver Figura 2.6) De esta forma, el nuevo algoritmo a utilizar para ada vetor de datos quedaría de la siguiente forma: 1. Tomamos un dato de entrada v0 y alulamos la probabilidad de a- tivaión de ada una de las unidades o ultas dado el dato de entrada P(h0 j= 1|v0) y tomamos una muestra h0 de esta distribuión. 2. A partir de v0 y h0 obtenemos < vihj>datos , tomando vi=v0 i y hj=h0 j 3. Si nos enontramos en la primera iteraión, haemos un paso de alternating Gibbs sampling para obtener una fantasía a partir de unos datos aleatorios gaussianos. Si no es la primera iteraión usamos dire- tamente la fantasía vK de la iteraión anterior. 4. A partir de esta fantasía, iniiamos una adena de Markov de K pasos, para alular un nuevo vK , que guardamos omo fantasía de iniio para la próxima iteraión, y un hK muestreando P(hK j= 1|vK) 5. Terminado el pro eso, estimamos el segundo término de la euaión (2.8) omo vK ihK j (Donde vK es el resultante de la última iteraión de la adena de Markov) 6. Por último, al igual que en CD-K atualizamos los p esos entre las apas ( wij ) y los biases de auerdo a las euaiones (A.1), (A.2) y (A.3) 7. Rep etimos el pro eso on un nuevo dato de entrada y aumentamos el valor de t Como puede verse, estamos haiendo de nuevo una aproximaión, ya que el mo delo de red está ambiando p o o a p o o mientras se realiza el pro eso 19
datos v01 2 Ni 2 3 M j 1 vihj < < 0 h0 aleatorio v01 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < K h0h1h2hK v1v2vK 1ª iteración fantasía fantasía v01 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < K h0h1h2hK v1v2vK Resto iteraciones fantasía FASE POSITIVA FASE NEGATIVA k=0 k=0 k=1 k=2 k=K k=0 k=1 k=2 k=K Figura 2.6: Algoritmo PCD sobre una RBM de aprendiza je. Sin embargo, en el límite, uando la tasa de aprendiza je es innitesimalmente p equeña, la aproximaión se onvierte en exata, p or lo tanto, la aproximaión realizada p or este algoritmo requiere utilizar tasas de aprendiza je muy p equeñas. La adena de Markov puede trunarse pasado un ierto tiemp o, (p or ejemplo 10 iteraiones), aunque los estudios demuestran que los mejores resultados se obtienen sin trunar la adena de Markov en ningún momento. Máxima verosimilitud esto ástia (SML) Antes de la publiaión del algoritmo CD-K, se había desarrollado otro méto do para el entrenamiento de redes de Boltzmann [33℄, on un ierto pareido on el ya desrito PCD, denominado Sto hasti Maximum Likeliho o d o SML. En la mayoría de los estudios realizados [19℄, [7℄, los resultados obtenidos on SML son mejores que los obtenidos on CD-k, aunque no se ha planteado ningún estudio omparativo on PCD, on el que omparten muhas araterístias. En nuestro aso y dadas las esasas diferenias entre amb os algoritmos, hemos utilizado amb os en nuestro estudio. La idea subyaente en SML es prátiamente la misma que en PCD, utilizar una adena de Markov p ersistente que intentará seguir las evoluiones de la respuesta intrínsea del mo delo de red para realizar un des-aprendiza je lo más orreto p osible, sin embargo, a diferenia de en PCD, la fantasía no se rea a partir de unos datos aleatorios gaussianos, sino que pro ede de los datos utilizados en la primera iteraión del algoritmo. De esta forma, el vK alulado en la primera iteraión, pasa a ser la fantasía para las siguientes iteraiones. (Ver Figura 2.7) 20
datos v01 2 Ni 2 3 M j 1 vihj < < 0 h0 fantasía v01 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < K h0h1h2hK v1v2vKfantasía FASE POSITIVAFASE NEGATIVA 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 1 2 Ni 2 3 M j 1 vihj < < K h1h2hK v1v2vKfantasía k=0 k=1 k=2 k=K k=0 k=1 k=2 k=K Salvo 1ª iteración Sólo para 1ª Iteración Figura 2.7: Algoritmo SML sobre una RBM 2.3. Belief Networks La prinipal limitaión que tiene el traba jar on RBM, soluionado el tiemp o de entrenamiento, deriva de la omplejidad de las distribuiones que son apaes de mo delar, al utilizar una únia apa o ulta, lo que es lo mismo, una únia apa de detetores de araterístias, el mo delo es demasiado rígido para adaptarse a no linealidades de alto orden, lo que nos plantea la neesidad de utilizar un mayor número de apas o ultas. Sin embargo, la utilizaión de un mayor número de apas o ultas (Ver Figura 2.8), nos devuelve de lleno al problema del entrenamiento. Para ello, Georey Hinton en [15℄ plantea onsiderar una red neuronal profunda (on varias apas o ultas) omo un apilamiento de RBM en la que la primera máquina sea entrenada on los datos de entrada a mo delar, mientras que las subsiguientes, toman omo datos de entrada la probabilidad de ativaión de la apa o ulta de la máquina anterior frente a los datos de entrenamiento (Ver Figura 2.8). Este esquema, fue denominado p or Hinton omo red de reenia profunda o Deep Belief Network (DBN) La onvergenia de este tip o de redes queda demostrada al ser onvergentes las máquinas de Boltzmann que la omp onen, p ero la apliaión del algoritmo Contrastive Divergene, al tratarse de una aproximaión, hae ne- esario, en algunos asos, un rep esado nal de la red, utilizando méto dos tradiionales omo bakpropagation, u otros diseñados esp eíamente para DBN omo Wake-Sleep [14℄, o su variante Up-Down. 2.3.1. Entrenamiento de DBN El entrenamiento de una DBN se puede dividir en dos fases, la segunda de ellas op ional, p ero reomendable. En la primera de ellas, la red se entrena p or apas, agrupando las apas de dos en dos formando RBMs, y utilizando el algoritmo de Contrastive Divergene menionado en el apítulo anterior. Posteriormente a este entrenamiento, que nos aera a una solu- ión óptima, deb eremos realizar un entrenamiento tradiional y más ostoso 21
Figura 2.8: Red de reenia profunda o DBN (dereha) y su división en RBMs (izquierda) omputaionalmente, omo Up-Down, que expliaremos más adelante. En la primera parte, los p esos de reono imiento (p esos que generan una distribuión de probabilidad en una apa sup erior a partir de datos en una inferior) entre v y h, se mantienen iguales a los de generaión (los que realizan el pro eso ontrario, inriendo un estado para las apas inferiores a partir del estado de las sup eriores), p or lo que WT rec =Wgen para to das los pares de apas. El algoritmo básio de entrenamiento (para un mo delo más ompleto ver seión A) se p o dría resumir de la siguiente forma: 1. Al prinipio, se omienza entrenando una RBM formada p or la apa 1 y la 2 a partir de los datos de entrada 2. Entrenada la primera RBM, se intro duen de nuevo los datos, para alular la distribuión de probabilidad generada en la apa o ulta. 3. Esta distribuión se toma omo dato de entrada para el entrenamiento de la RBM formada p or la apa 2 y 3. 4. El pro eso se rep etiría hasta entrenar to das las apas. Una vez rep etido este pro eso para to do el onjunto de entrenamiento, tenemos una red profunda entrenada al onjunto de los datos de entrada, p ero de una manera no óptima. Para ompletar el pro eso de entrenamiento, tenemos que haer uso del algoritmo Wake-Sleep o su variante para DBN, Up-Down. 22
v0v2 v1vN h0h2 h1hM d3g3 d2g2 d1g1dNgN h0h2 h1hO h0h2 h1hP 11 1 1 22 2 2 LL L L Reconocimiento Generación Generación Reconocimiento Figura 2.9: Separaión entre p esos de reono imiento (naranja) y generaión (ro jo) 2.3.2. Algoritmo Up-Down Una vez que se han aprendido to dos los p esos en to das las apas de una DBN omo un apilamiento de RBM, tenemos una buena red, p ero no la óptima, esto se deb e a que ni los p esos, ni el pro edimiento utilizado son óptimos para las apas ba jas. El no utilizar una soluión óptima puede ser no demasiado grave en asos omo la lasiaión, donde un ierto grado de error puede ser más b eneioso que un sobrea juste de la red. Pero en asos omo la generaión de datos a partir de un mo delo, puede dar lugar a verdaderos problemas. Para llegar a una soluión to davía más a justada, se utiliza una variante del algoritmo wake-sleep [14℄ denominada p or G. Hinton omo el algoritmo Up-Down. Tras hab er obtenido unos buenos parámetros de iniializaión, el primer paso es separar los p esos utilizados en reono imiento de los utilizados en generaión para to das las RBM que omp onen la DBN salvo para la última, (Ver Figura 2.9) puesto que es neesario atualizarlos p or separado. Dado que wij 6=wji ya no p o demos utilizar la euaión (2.8) para la atualizaión de p esos, sino que deb emos de usar diretamente (2.7) que, apliada a nuestro aso, quedaría de la siguiente forma: ∂log P(v) ∂wij =< h0 j(v0 i−v1 i)> (2.14) que, apliando una tasa de aprendiza je, vendría a onvertirse en: wt ij =wt−1 ij +ǫ(h0 j(v0 i−v1 i))t−1 (2.15) A esta euaión se le pueden apliar y de heho en la mayoría de asos se aplian, de igual mo do, to dos los méto dos desritos en el anexo A. 23
Teniendo en uenta to do lo diho hasta el momento, para ada uno de los datos de entrenamiento, el pro eso a seguir para la atualizaión de los p esos es muy senillo: 1. Separamos los p esos de generaión de los de reono imiento. 2. Tomando un dato de entrada v0 , alulamos los estados en ada una de las apas de la DBN usando los p esos de reono imiento. Obteniendo así h0 para ada una de las apas. 3. A partir de ada una de los estados h0 de ada una de las apas, alulamos, usando los p esos de generaión, una fantasía en la apa inmediatamente inferior v1 . 4. Atualizamos los p esos de generaión en ada RBM exepto en la última usando la euaión (2.15). 5. Realizamos un entrenamiento RBM onvenional en las dos últimas apas de la DBN. 6. Tomando el estado de la última iteraión del alternating Gibbs sampling, propagamos el estado de la última apa hasta la primera, usando los p esos de generaión y reando fantasías en to das las apas. Conseguimos así v2 y un h2 para ada una de las apas o ultas. 7. Partiendo de la fantasía generada en ada una de las apas, alulamos, usando los p esos de reono imiento, una fantasía en la apa inmediatamente sup erior h3 . 8. De forma similar y mo diando la euaión (2.15), atualizamos los p esos de reono imiento omo wt ji =wt−1 ji +ǫv0 i(h0 j−h1 j) . 9. Rep etimos de nuevo el pro eso tomando un nuevo dato de entrada. Como puede observarse, el pro eso puede dividirse laramente en tres fases, en la primera se hae una pasada de aba jo haia arriba en la DBN para atualizar los p esos de generaión, en la segunda se entrena una RBM en la apa sup erior y en la última se hae una pasada de arriba a aba jo, atualizando los p esos de reono imiento. To do este pro eso puede verse de una forma más lara en la gura (2.10) 2.3.3. Mo delo no sup ervisado frente a sup ervisado Hasta el momento hemos venido hablando de méto dos de aprendiza je de datos, p ero en ningún momento nos hemos aproximado al problema de la la- siaión. Las máquinas de Boltzmann, así omo las DBN, fueron diseñadas en sus orígenes omo generadores de datos, es deir, tras hab er reibido una 24
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Figura 4.1: Clases del onjunto de test sin ruido y on ruido imágenes en un vetor de datos. El orden en el que se lea la imagen para dar lugar al vetor es totalmente indiferente, siempre que to dos los datos se lean en el mismo orden. Es p or ello que se pierde ompletamente la informaión de proximidad entre los pixeles. 4.3. Base de datos del MNIST La base de datos del MNIST [32℄ ontiene 60.000 imágenes de entrenamiento y 10.000 imágenes de test de dígitos esritos a mano del 0 al 9 p or alrededor de 250 autores distintos. Los dígitos han sido previamente normalizados en tamaño y entrados en un uadrado de 28x28 pixeles. La intensidad de ada uno de los pixeles también ha sido normalizada de forma que se sitúe entre 0 y 255. Para utilizarlos en nuestra red, úniamente tenemos que normalizar los valores de los dígitos entre 0 y 1. Po demos observar un ejemplo de los datos de la base de datos MNIST en la gura 4.3 La imp ortania de esta base de datos radia en los ontinuos exp erimentos que se han venido realizando on distintos algoritmos, lo que p ermite una muy fáil omparaión entre las distintas tendenias en reono imiento de imágenes. Nuestro prinipal ob jetivo es omprobar que los resultados des- ritos en las publiaiones ientías son aordes on los que obtenemos en nuestra red. Esto nos p ermite a justar los parámetros y familiarizarnos on el entorno para estar preparados para analizar los datos de EEG. 4.4. Datos de EEG Los datos provenientes de eletro enefalogramas (EEG) son un méto do no invasivo para medir la atividad erebral durante el pro eso ognitivo. 31
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 300 350 400 450 Figura 4.2: Histograma del onjunto de datos de test 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 Figura 4.3: Media y un ejemplo onreto de ada uno de los dígitos de la base de datos del MNIST 32
Figura 4.4: Monta je para la grabaión de las señales de EEG Los p oteniales elétrios están ligados en tiemp o a unos estímulos presentados al sujeto, sujeto que ativa inonsientemente una o varias partes de su erebro en respuesta al estímulo. Estas respuestas, quedan grabadas en 32 reeptores situados alrededor de la ab eza del sujeto, para su p osterior estudio y lasiaión. Entre los distintos tip os de p oteniales que se pueden medir, son de partiular interés los p oteniales de error (ErrP). Estos p oteniales se generan uando se pro due una disonformidad entre lo que el usuario esp era y lo que que realmente o urre. Existen diversos tip os, p or ejemplo, uando un sujeto se da uenta de hab er ometido un error al realizar una tarea ba jo un tip o de presión externa (ErrP de respuesta), al dársele al sujeto un estímulo que le die que ha ometido un error (ErrP de realimentaión), uando el sujeto observa un error ometido p or otra p ersona (ErrP de observaión) o uando el sujeto manda una orden y una máquina ejeuta otra (ErrP de interaión). El grup o de rob ótia de la Universidad de Zaragoza, omo se puede ver en [17℄, se enuentra traba jando en lasiadores de esta lase de p oteniales de error para su apliaión al ontrol y aprendiza je en rob ótia. En este aso onreto (ver gura 4.4) el sujeto es presentado frente a una pantalla en la que se muestra las 5 p osibles p osiiones haia las que es p osible que el rob ot se mueva. Se onsidera que la entral (p osiión 3) es la orreta, mientras que las p osiiones más eranas al entro (p osiión 2 y 4) se onsideran errores leves y las p osiiones más alejadas (p osiión 1 y 5) son onsideradas errores graves. El onjunto de datos está formado p or las señales ERP de 32 anales de 3 sujetos distintos enfrentados a 500 movimientos del rob ot, distribuidos 33
0 100 200 300 400 500 600 700 800 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Figura 4.5: Media de la señal de EEG y 5 ejemplos de señal equitativamente entre las 5 p osiiones nales y p or una señal de ontrol, sinronizada a los datos, que india el aso mostrado al sujeto. De esta forma, p o dríamos deir que tenemos 100 asos orretos, 200 asos p erteneientes a errores leves (100 error leve a dereha, 100 error leve a izquierda) y 200 asos p erteneientes a errores graves (100 a dereha y 100 a izquierda). Estas señales son grabadas durante el segundo y medio p osterior a la presentaión del estímulo, muestreadas a 256Hz y p osteriormente ltradas para eliminar la señal entre 0.5 y 10Hz. Es p osible también onseguir otras 1.236 muestras p erteneientes a la no atividad del sujeto, grabadas durante los intervalos de desanso entre muestras. Las p osibilidades de lasiaión son varias, aunque nos hemos entrado en el estudio de ada sujeto p or separado, ya que tratar de lasiar simultáneamente las señales erebrales de varios sujetos, se presenta exesivamente ompliado. De entre to das las p osibilidades restantes, nos hemos entrado en tres prinipalmente: 1. Distinguir, error frente a no error (100 muestras orretas frente a 400 inorretas) 2. Separar error frente a no error y frente a no atividad (100 muestras orretas, 400 inorretas y 1.236 de no atividad) 3. Clasiar ada una de las ino señales de movimiento del rob ot El heho de estar tratando, aun on un únio sujeto, un tamaño imp ortante en los datos de entrada, onretamente 32 anales de 384 muestras ada uno, nos obliga a reduir el número de datos de entrada. De no ser así, una DBN tendría que ontener en su primera apa 12.288 neuronas, (el MNIST usaba 784), y el tamaño de las matries de p esos y el tiemp o de entrenamiento para lograr una soluión orreta sería exesivo. De igual forma, la gran omplejidad de la señal, tanto p or su alto nivel de ruido, omo p or su gran variabilidad (ver gura 4.5, nos obliga a realizar un omplejo prepro esado de la señal. Teniendo en uenta las numerosas p osibilidades a la hora de reduir la dimensionalidad omo a la hora de esoger la normalizaión o el tratamiento 34
Cortado de la señal Datos puros Datos cortados Saturación CSP PCA Subsampling Selección de canales Normalización global Normalización por señal Normalización por canal Normalización por valor Normalización mixta Normalización Exponencial Correcto / Incorrecto Corr / Incorr / No señal Clasificación 5 clases Figura 4.6: Esquema de las diferentes op iones para prepro esar la señal de los datos, p o demos deir que estamos traba jando on un set de test muy extenso, omo se puede ver en la gura 4.6. Más informaión sobre los distintos pro esos de normalizaión, reduión del tamaño de datos y seleión inteligente de los anales a utilizar puede enontrarse en el anexo B. 35
Capítulo 5 Tests 5.1. Intro duión En esta seión vamos a tratar de presentar de la manera más resumida p osible to dos los resultados que se han obtenido en el análisis de los distintos tip os de onjuntos de datos. Aunque se presentan los análisis para los tres onjuntos de datos menionados en el apítulo anterior, hay que reseñar que el análisis de EEG presenta a su vez un onjunto asi innito de sub onjuntos de datos, ya que ada una de las tres p osibles tareas de lasiaión menionadas anteriormente, presenta, omo se omenta en los anexos, numerosas p osibilidades de normalizaión y de transformaión de los datos. Es p or ello que se presentan los mejores resultados obtenidos para ada uno de los tres problemas de lasiaión menionados anteriormente. 5.2. Test en generaión Las redes de reenia profunda o DBN, omo ya se omentó en su momento, naieron omo un tip o de redes apaes de aprender la distribuión de probabilidad subyaente en los datos y generar nuevas muestras a partir de esta distribuión. Una vez entrenada una DBN resulta relativamente senillo extraer muestras de ella, basta on dar valores aleatorios a la p enúltima apa de la DBN y jar la etiqueta que representa a la lase de la que queremos generar nuevas muestras. Tras varios pro esos de muestreado alternativo en las últimas apas (dejando siempre jas las etiquetas), la red irá tendiendo haia un equilibrio en las últimas apas (Ver gura 5.1). A partir de ese equilibrio p o demos emp ezar a utilizar los p esos de generaión para dar valor a las apas inferiores, hasta generar una fantasía en la apa visible. Si la red está onvenientemente entrenada, la salida deb ería ser muy similar al onjunto de datos de entrada. 36
23 1 0Q2 3 1Q 2 3 1 R 2 3 1 kQ 2 3 1 R 2 3 1Q 2 3 1 kR 2 3 1P 2 3 1 v2N hL-1 hL-1 1hL-1 hL 1 hL 0hL k+1 hL-1 2 hL-2 etiquetas aleatorio etiquetas etiquetas etiquetas Figura 5.1: Funionamiento de una DBN en generaión Una vez que la red ha alanzado el equilibrio en las apas sup eriores, la red, al ser esto ástia, irá generando muestras diferentes de la misma lase. 5.3. Test en reono imiento El test en reono imiento es el más imp ortante y el que más ha entrado nuestros esfuerzos, ya que es en él donde realmente se prueba la apaidad lasiadora de la red. A lo largo de la literatura se presentan varios méto dos de probar la red en reono imiento, el más utilizado omienza tomando la muestra a analizar y alimentando on ella la red. Posteriormente, p o demos muestrear una a una las apas utilizando los p esos de reono imiento hasta llegar a la p enúltima apa. Llegados a este punto e iniializando las etiquetas a un valor aleatorio, se realiza un sampleado alternativo de Gibbs hasta que se onsidere que la red ha alanzado la estabilidad. Durante este pro eso, úniamente se p ermite ambiar de valor en la p enúltima apa a las neuronas que representan las etiquetas, el resto quedan jas on la señal proveniente de las apas inferiores. Una vez estable la red, p o demos extraer el valor de las etiquetas de las neuronas destinadas a ello. To do este pro eso puede verse en la gura 5.2. Los resultados se validan on dos sub onjuntos de datos, el primero extraído del onjunto de datos de entrenamiento, y el segundo de ellos es un onjunto de datos que no ha sido utilizado para el entrenamiento y que p or lo tanto la red no ono e, denominado onjunto de datos de test. 37
datos 2 3 1 v0N 2 3 1 h10M 2 3 1 0Q2 3 1Q 2 3 1 R 2 3 1 kQ 2 3 1 R 2 3 1Q 2 3 1 kR hL-1 hL-1 1hL-1 hL 1 hL 0hL k+1 hL-1 2 3 1 0M etiqueta hL-2 Figura 5.2: Funionamiento de una DBN en Reono imiento 5.4. Resultados 5.4.1. Datos de test Para los datos de test hemos entrenado una red de reenia profunda de 4 apas on la distribuión mostrada en la gura 5.3. La primera apa tiene tantas neuronas omo la dimensión de los datos, 36, la segunda y terera tienen 20 neuronas y la última apa tiene 100. La apa lateral, en la que se intro duen las etiquetas, tiene 3 neuronas. En su entrenamiento hemos usado PCD, utilizando 40 pasadas de los datos para el entrenamiento de ada RBM. La tasa de aprendiza je se ha jado en 0.1, el deaimiento en 0.001, el momento en 0.3 para el primer 70 % del entrenamiento y de 0.8 para el último 30 %. El tamaño de bath, teniendo en uenta el p equeño número de muestras del que disp onemos, se ha jado en 10 muestras. Dado que los resultados obtenidos han sido inmejorables, no hemos utilizado ningún tip o de rep esado nal. En el onjunto de datos de entrenamiento, el p orenta je de aierto ha sido del 96,15 % obteniendo la siguiente matriz de onfusión (en tanto p or iento): 95,122 2,2727 2,2222 0 97,727 2,2222 4,878 0 95,556 En el onjunto de datos de test el p orenta je de aierto es un p o o inferior, del 94,67 % , on una matriz de onfusión dada p or: 38
datos 2 3 1 v0N 2 3 1 h10M 2 3 1 h10O 2 3 1 h10P 2 3 1 h10T etiquetas Figura 5.3: Esquema general de la DBN usada para las pruebas 96 4 4 0 92 0 4 4 96 La generaión de datos en el onjunto de datos de test funiona de manera uida, dando muestras prátiamente iguales a las que se utilizaron para el entrenamiento (Ver gura 5.4) Figura 5.4: Ejemplo de datos generados p or la DBN 39
Figura 5.5: Ejemplo de dígitos generados p or la DBN (1,3,6 y 9) 5.4.2. MNIST El mo delo de red utilizado para los datos del MNIST es el mismo mostrado en la gura 5.3, salvo que el tamaño de las apas varía. La primera apa tiene en este aso 784 neuronas, la segunda y terera 500 y la última 2.000, mientras que la apa de etiquetas tiene 10 neuronas. En uanto a los parámetros de entrenamiento, realizamos 10 pasadas de los datos en el entrenamiento de ada RBM. Estos datos han sido agrupados en onjuntos de 100 muestras. Hemos utilizado PCD on k=3, una tasa de aprendiza je de 0.1, un deaimiento de 0.001 y un momento al iniio de 0.3, que ambia a 0.8 sup erado el 70 % del entrenamiento. La generaión de datos para el MNIST neesita de un mayor tiemp o de estabilizaión en las apas sup eriores de la red, p ero aun así, es p osible generar muestras de la red sin ningún problema. En la gura 5.5 se muestran algunos ejemplos de números generados on la red DBN. A la hora de reono er, las DBN se omp ortan de una manera más que aeptable, obteniendo un 90,22 % de aiertos en el reono imiento de los datos de entrenamiento. La matriz de onfusión se muestra a ontinuaión: 40
EEG distaban muho de los obtenidos on otras ténias omo las máquinas de vetores sop orte, p or lo que se estudiaron las bases de las máquinas de vetores sop orte y se probaron rep etidamente sobre las distintas formas de prepro esar la señal, omprobando que los resultados ofreidos p or las máquinas de vetores sop orte eran muho mejores a los obtenidos p or las DBN en to das las onguraiones probadas. Dados los problemas de las DBN en separar inluso las señales orretas de las inorretas, se deidió probar un méto do ono ido omo patrones espa- iales omunes (Common Spatial Patterns o CSP) para intentar prepro esar la señal de forma que se failitase a las DBN el reono imiento. Este prepro- esado mejoró el reono imiento de la red, p ero no llegó en ningún aso a sup erar los resultados obtenidos on las máquinas de vetores sop orte. Por último, se trató de realizar un estudio más no de los parámetros de las DBN que obligó a una reestruturaión ompleta del software para lograr analizar en profundidad las variaiones que ada uno de los parámetros p o día ap ortar a la mejora del reono imiento en EEG. Sin embargo, se omprob ó que la red, en el aso de EEG, onvergía siempre a unos valores que no eran óptimos, quedando atrapada en mínimos de energía lo ales. 47
Figura 6.1: Diagrama de Gantt on las fases del proyeto y su distribuión en el tiemp o 48
Capítulo 7 Conlusiones y traba jo futuro El ob jetivo del proyeto era desarrollar los algoritmos neesarios para evaluar el p otenial de las DBNs en tareas de lasiaión de p oteniales de error medidos on EEG y su omparaión on los lasiadores utilizados hasta el momento. Para lograrlo, se ha realizado un estudio detallado del estado del arte, a partir de una reopilaión de artíulos publiados en onferenias internaionales aera de las DBN y de la teoría que las sustentaban, omo las RBM o las Boltzmann Mahine, así omo de los distintos méto dos de entrenamiento y de sus diversas variantes. Esta reopilaión y su estudio detallado, además de dar una expliaión atualizada del estado del arte atual de las DBN y de sus futuras tendenias, ha p ermitido desarrollar una ompleta guía tutorial prátiamente inédita en el mundo de las DBN. En estos momentos, úniamente existe un tutorial, publiado durante la realizaión de este proyeto, aera de las DBN, de similares araterístias al que aquí se presenta [18℄. El estudio en profundidad de las redes de reenia profunda y sus distintos algoritmos de entrenamiento nos ha p ermitido lograr una implementaión de las DBN en Matlab que ontiene un onjunto amplio de las distintas variantes presentadas en la literatura. Se ha desarrollado una librería propia (ver Anexo C que p ermite automatizar el pro eso de entrenamiento de la red y su p osterior funionamiento y testeo, p ermitiendo la arga de los parámetros neesarios ómo damente desde heros de onguraión. Este software p ermite además seleionar de manera externa el algoritmo de entrenamiento que se desea utilizar de entre los varios desritos en los artíulos ientíos, siendo p or tanto muy senillo omparar los resultados obtenidos on ada uno de ellos. Esta librería es únia p or el momento ya que previamente a este traba jo úniamente había una versión de entrenamiento de las DBN muy rudimentaria prop orionada p or Hinton en su página web [25℄. Sin embargo, esta versión requería una mo diaión de los parámetros diretamente en el ó digo fuente y no implementaba algoritmos de entrenamiento omo CD-K, PCD o SML ni p ermitía un orreto testeo de la red. 49
Para omprobar el orreto funionamiento de las soluiones implementadas, se han reado onjuntos de datos de test y se han evaluado los resultados obtenidos en distintas publiaiones ientías sobre la base de datos del MNIST, siendo los resultados obtenidos on nuestro software omparables on los obtenidos p or la omunidad ientía. De la misma forma que on el entrenamiento y testeo de las redes de reenia profunda, se han desarrollado programas para automatizar to dos los pro esos de prepro esado de la señal de EEG, desde los más simples omo la normalizaión o saturaión, hasta los más omplejos omo los Common Spatial Patterns. También se han validado los resultados obtenidos en el grup o de rob ótia de la Universidad de Zaragoza on los lasiadores SVM, p ermitiéndonos omprobar que el prepro esado realizado a la señal era el adeuado. Una vez que la implementaión de los algoritmos estaba ompleta y validada, se utilizo para lasiar los datos de EEG orresp ondientes a los p oteniales de error y su omparaión on el lasiador SVM. A p esar de los esfuerzos realizados a nivel de pre-pro esamiento y de a juste de parámetros de la DBN, los resultados no han sido sueriores a los onseguidos p or SVM. Los motivos que haen que las DBN no funionen para este tip o de señal pueden ser varios. Entre ellos el más destaable es el esaso número de muestras de ada una de las lases, la base de datos del MNIST p or ejemplo uenta on 60.000 dígitos, mientras que en EEG ap enas ontábamos on 500. Otros fatores omo la alta variabilidad de las señales de EEG, la normaliza- ión, la diferente distribuión de probabilidad de los datos del MNIST y de EEG o inluso la neesidad de mo delos más omplejos de DBN que tengan en uenta la evoluión temp oral de los datos, pueden ser otros fatores a tener en uenta. En onlusión y a p esar de no obtener los resultados esp erados on EEG, se presenta un traba jo pionero en la investigaión de las DBN, ofreiendo simultáneamente un tutorial de las DBN y una ompleta plataforma de pruebas, que puede ser utilizado en el futuro para la reaión de nuevos la- siadores sobre distintos tip os de datos, así omo ampliarse fáilmente para inorp orar las nuevas tendenias que pueden ir surgiendo. Para terminar, este proyeto no deb ería ser un punto y aparte, quedan muhas osas p or haer y que investigar, ya no sólo en la apliaión de las DBN a otros tip os de tareas de lasiaión, que sería lo más senillo, ni siquiera en ontinuar la investigaión de las DBN on las tendenias más atuales. Puede ontinuarse el estudio de las DBN apliadas al amp o de la lasiaión de EEG on mo delos más omplejos omo las redes de reen- ia profunda onvoluionales (CDBN), que tienen en uenta la dep endenia temp oral de las señales y que paree que han dado buenos resultados en señales de audio, mo diando los algoritmos de entrenamiento de las RBM utilizando p esos rápidos (FPCD) o utilizando amp os medios (MFCD). Como se puede ver, estamos hablando de una tenología muy novedosa, que 50
está evoluionando muy rápido y que presenta numerosas apliaiones en el futuro. Sería también reomendable la grabaión de nuevas señales de EEG, osa que lleva meses de traba jo y que, p or salirse fuera del ámbito del proyeto, no se ha p o dido realizar. Con estas nuevas señales p o dría ontinuarse el estudio de la apliaión de las DBN a las señales de EEG, p orque, omo se ha demostrado en numerosos estudios, en presenia de una gran antidad de datos de entrenamiento, las DBN son apaes de sup erar a los mejores méto dos de lasiaión utilizados hasta el momento. 51
Bibliografía [1℄ D Akley, G Hinton, and T Sejnowski. A learning algorithm for b oltzmann mahines. Cognitive Siene , (9), 1985. [2℄ David H. Akley, Georey E. Hinton, and Terrene J. Sejnowski. Boltzmann mahines: Constraint satisfation networks that learn. Tehnial rep ort, Carnegie-Mellon University, Dept. of Computer Siene, 1984. [3℄ David H. Akley, Georey E. Hinton, and Terrene J. Sejnowski. A learning algorithm for b oltzmann mahines. Cognitive Siene , 9:147 169, 1985. [4℄ Y Bengio, P Lamblin, D Pop ovii, and H Laro helle. Greedy layer-wise training of deep networks. In In NIPS , 2007. [5℄ Y Bengio and LeCun. Y.: Saling learning algorithms towards ai. In Large-Sale Kernel Mahines , pages 321388. MIT Press, 2007. [6℄ Steven Lemm Motoaki Kawanab e Klaus-Rob ert Müller Benjamin Blankertz, Ryota Tomioka. Optimizing spatial lters for robust eeg singletrial analysis. IEEE Signal Proessing magazine , 2008. [7℄ Bo Chen Nando de Freitas Benjamin Marlin, Kevin Swersky. Induti- ve priniples for restrited b oltzmann mahine learning. JMLR WCP , (9):509516, 2010. [8℄ B E Boser, I M Guyon, and V N Vapnik. A training algorithm for optimal margin lassiers. In In Proeedings of the Fifth Annual ACM Workshop on Computational Learning Theory , pages 144152. ACM Press, 1992. [9℄ M A Carreira-Perpignan and G E Hinton. On ontrastive divergene learning. Artiial Intel ligene and Statistis , 2005. [10℄ Corinna Cortes and Vladimir Vapnik. Supp ort-vetor networks. In Mahine Learning , 1995. 52
[11℄ Andreas Mller Hannes Shulz and Sven Behnke. Exploiting lo al stru- ture in staked b oltzmann mahines. In European Symposium on Arti- ial Neural Networks, Computational Intel ligene and Mahine Learning (ESANN) , 2010. [12℄ G Hinton and R R Salakhutdinov. Reduing the dimensionality of data with neural networks. Siene , (313). [13℄ G E Hinton. Training pro duts of exp erts by minimizing ontrastive divergene. Neural Comput , (14), 2002. [14℄ G E Hinton, P Dayan, B J Frey, and R M Neal. The wake-sleep algorithm for unsup ervised neural networks. Siene , (268):11581161, 1995. [15℄ G E Hinton, S Osindero, and Y W Teh. A fast learning algorithm for deep b elief nets. Neural Comp , (18), 2006. [16℄ J J Hopeld. Neural networks and physial systems with emergent olletive omputational abilities. In Pro. Nat. Aadem. Sienes USA, Vol 79 , pages 25542558, 1982. [17℄ L.Montesano I.Iturrate and J.Minguez. Rob ot reinforement learning using eeg-based reward signals. IEEE International Conferene on Robotis and Automation (ICRA) , 2010. [18℄ Ben Marlin Kevin Swersky, Bo Chen and Nando de Freitas. A tutorial on sto hasti approximation algorithms for training restrited b oltzmann mahines and deep b elief nets. 2010. [19℄ Benjamin Marlin Kevin Swersky, Bo Chen and Nando de Freitas. A tutorial on sto hasti approximation algorithms for training restrited b oltzmann mahines and deep b elief nets. Information Theory and Appliations (ITA) Workshop , 2010. [20℄ Honglak Lee, Roger Grosse, Ra jesh Ranganath, and Andrew Y. Ng. Convolutional deep b elief networks for salable unsup ervised learning of hierarhial representations, 2009. [21℄ Radford M Neal. Connetionist learning of b elief networks. Artiial Intel ligene , (56):71113, 1992. [22℄ M Norouzi, M Ranjbar, and G Mori. Staks of onvolutional restrited b oltzmann mahines for shift-invariant feature learning. In In CVPR , 2009. [23℄ S Osindero and G E Hinton. Mo deling image pathes with a direted hierarhy of markov random elds. In In NIPS , 2008. 53
[24℄ R Salakhutdinov, A Mnih, and G Hinton. Restrited b oltzmann ma- hines for ollab orative ltering. In In Pro. Of the 24th international onferene on Mahine learning , pages 791798, 2007. [25℄ Ruslan Salakhutdinov and Geo Hinton. Training a deep auto enoder or a lassier on mnist digits. http://www.s.toronto.edu/ hinton/MatlabForSienePap er.html. [26℄ Ruslan Salakhutdinov and Georey E Hinton. Semanti hashing. International Journal of Approximate Reasoning , (50):969978, 2009. [27℄ Terrene J. Sejnowski. Higher-order b oltzmann mahines. In Neural Networks for Computing , pages 398403. Amerian Institute of Physis, 1986. [28℄ Terrene J. Sejnowski. Higher-order b oltzmann mahines. In Neural Networks for Computing , pages 398403. Amerian Institute of Physis, 1986. [29℄ Paul Smolensky. Information pro essing in dynamial systems: foundations of harmony theory. MIT Press Cambridge , 1986. [30℄ G Tesauro. Pratial issues in temp oral dierene learning. In Mah Learn 8:257277 , 1992. [31℄ Tijmen Tieleman. Training restrited b oltzmann mahines using approximations to the likeliho o d gradient. In In Proeedings of the 25th international onferene on Mahine learning , pages 10641071, 2008. [32℄ Wang. The mnist database of handwritten digits, 2002. [33℄ L Younes. Parametri inferene for imp erfetly observed gibbsian elds, springer-verlag probability theory and related elds 82. IEEE Trans , (33):625645, 1989. [34℄ Alan Yuille. The onvergene of ontrastive divergenes. Advanes in Neural Information Proessing Systems , 2004. [35℄ Qibin Zhao and Liqing Zhang. Temp oral and spatial features of singletrial eeg for brain-omputer interfae. Computational Intel ligene and Neurosiene , 2007. 54