scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

Dentro del Grupo de Robótica de la universidad de Zaragoza, se viene trabajando en la utilización de técnicas para el control de robots inteligentes. Uno de los retos planteados en este escenario es utilizar la actividad cerebral para evaluar el comportamiento del robot. Para ello se pueden utilizar electroencefalogramas (EEG en adelante). Uno de los retos más importantes es el desarrollo de algoritmos de detección y clasificación fiables, ya que las medidas obtenidas con EEG suelen ser altamente ruidosas y no estacionarias. El método que se había venido utilizando en el grupo y en la literatura, por sus buenas prestaciones, había sido las máquinas de soporte vectorial o SVM. Recientemente, se han desarrollado un nuevo tipo de redes neuronales llamadas redes de creencia profunda (en adelante DBN). Diversos trabajos han ido aplicando este tipo de modelos a varios problemas de aprendizaje, demostrando que estas redes son una solución muy efectiva en una amplia variedad de problemas, superando en la mayoría de los casos a la mayor parte de las soluciones propuestas hasta el momento. El objetivo de este proyecto es estudiar el comportamiento de estas redes sobre los datos de EEG, comparando sus prestaciones con el método de clasificación basado en SVM utilizado hasta el momento. Se ha realizado un estudio detallado del estado del arte de las DBN que ha permitido desarrollar una completa guía tutorial prácticamente inédita en el mundo de las DBN. Este estudio nos ha permitido desarrollar una librería propia en Matlab que permite automatizar el proceso de entrenamiento de la red y su posterior funcionamiento y testeo. Para comprobar el correcto funcionamiento de las librerías, se han creado conjuntos de datos de test y se han evaluado los resultados obtenidos en distintas publicaciones científicas sobre la base de datos de dígitos escritos a mano del MNIST, siendo los resultados obtenidos con nuestro software comparables con los obtenidos por la comunidad científica. Se han automatizado todos los procesos de preprocesado de la señal de EEG, desde los más simples, hasta los más complejos como los Common Spatial Patterns, validando los resultados obtenidos en el grupo de robótica de la Universidad de Zaragoza con los clasificadores SVM. Una vez que la implementación de los algoritmos estaba completa y validada, se utilizo para clasificar los datos de EEG correspondientes a los potenciales de error y su comparación con el clasificador SVM. A pesar de los esfuerzos realizados a nivel de preprocesamiento y de ajuste de parámetros de la DBN, los resultados no han sido superiores a los conseguidos por SVM. Pérez Arbués, David; Montesano del Campo, Luis

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 Índie general 1. Intro duión 4 1.1. Ob jetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Desrip ión del do umento . . . . . . . . . . . . . . . . . . . . 6 2. Redes neuronales y DBN 8 2.1. Intro duió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 vetores sop orte (SVM) 27 3.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2. Prinipios teórios . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3. Máquinas de vetores sop orte . . . . . . . . . . . . . . . . . . 28 4. Conjuntos de datos a Analizar 30 4.1. Intro duió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 duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2. Test en generaión . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3. Test en reono 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 onvergenia . . . . . . . . . . . . . . . . . . . . . . . 43 1 6. Fases del proyeto 46 7. Conlusiones y traba jo futuro 49 A. Variaiones al mo delo original de RBM 52 A.1. Rao-Blakwellisation . . . . . . . . . . . . . . . . . . . . . . . 52 A.2. Tasa de aprendiza je . . . . . . . . . . . . . . . . . . . . . . . 53 A.3. Momento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A.4. Agrupaión en grup os de datos . . . . . . . . . . . . . . . . . 54 A.5. Valores reales en entrada . . . . . . . . . . . . . . . . . . . . . 55 A.6. Deaimiento de los p esos . . . . . . . . . . . . . . . . . . . . . 55 B. Tratamiento previo de los datos de EEG 56 B.1. Saturaión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B.2. Normalizaión . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B.3. Reduión del tamaño de las muestras . . . . . . . . . . . . . 60 B.3.1. Subsampleado . . . . . . . . . . . . . . . . . . . . . . . 61 B.3.2. Seleión inteligente de anales . . . . . . . . . . . . . 61 B.4. Transformaiones de la señal . . . . . . . . . . . . . . . . . . . 62 B.5. Esalado exp onenial . . . . . . . . . . . . . . . . . . . . . . . 62 B.6. PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 B.7. CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C. Programas Matlab y su manejo 66 C.1. Intro duión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 C.2. Entrenamiento y testeo de una DBN . . . . . . . . . . . . . . 66 C.2.1. General_v5 . . . . . . . . . . . . . . . . . . . . . . . . 67 C.2.2. leeonf_v1 . . . . . . . . . . . . . . . . . . . . . . . . 68 C.2.3. Fihero de onguraión . . . . . . . . . . . . . . . . . 68 C.2.4. reaRed . . . . . . . . . . . . . . . . . . . . . . . . . . 70 C.2.5. preparaDatos . . . . . . . . . . . . . . . . . . . . . . . 70 C.2.6. pretrainingBath_v3 . . . . . . . . . . . . . . . . . . . 71 C.2.7. up dateRBM_v6 . . . . . . . . . . . . . . . . . . . . . 71 C.2.8. netuning_v3 . . . . . . . . . . . . . . . . . . . . . . . 72 C.2.9. Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 C.2.10. Porenta 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. Saturaión . . . . . . . . . . . . . . . . . . . . . . . . . 74 C.3.4. CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 C.3.5. Normalizaión . . . . . . . . . . . . . . . . . . . . . . . 75 C.4. Otras funiones y sripts . . . . . . . . . . . . . . . . . . . . . 75 C.4.1. Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2 C.4.2. Sript . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3 Capítulo 1 Intro duión 1.1. Ob jetivos Dentro del Grup o de Rob ótia de la universidad de Zaragoza, se viene traba jando en los últimos años en la utilizaión de ténias de aprendiza je y de interfaes 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 eseniales planteados en este esenario es la p osibilidad de utilizar la atividad erebral del usuario para evaluar el omp ortamiento del rob ot. En partiular, el Grup o de Rob ótia ha estado estudiando los p oteniales de error, un tip o de atividad erebral que se genera esp ontáneamente omo resultado de una aión ejeutada u observada. Si la aión o su resultado no han sido los esp erados, se genera un p otenial partiular en el erebro. Para traba jar on estos p oteniales, se utilizan lo que omúnmente se denomina eletro enefalograma (EEG en adelante), o leturas de la atividad elétria del erebro a lo largo del tiemp o tomadas en determinadas áreas de la sup erie de la ab eza. Uno de los retos más imp ortantes en este ontexto, y en el amp o de los interfaes erebro-omputador en general, es el desarrollo de algoritmos de deteión y lasiaión ables, ya que las medidas de los p oteniales de error obtenidas on EEG suelen ser altamente ruidosas y no estaionarias. En la literatura, se pueden enontrar distintos méto dos de lasiaión on diferentes grados de omplejidad y on mayor o menor tasa de aierto. El méto do que se había venido utilizando en el grup o había sido las máquinas de sop orte vetorial o SVM. Esta soluió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 apliaiones de EEG, inluyendo la lasiaión de p oteniales de error. Reientemente, se han desarrollado un nuevo tip o de redes neuronales llamadas redes de reenia profunda o deep b elief networks (en adelante 4 DBN), intro duidas p or Georey Hinton en 2002 [15℄. Diversos traba jos han ido desarrollando algoritmos de entrenamiento, estudios de onvergenia y apliando este tip o de mo delos a varios problemas de aprendiza je omo la lasiaión de imágenes, la generaión de movimiento a partir de datos apturados o las series temp orales, entre otros. Las DBN han demostrado ser una soluión muy efetiva en una amplia variedad de problemas, sup erando en la mayoría de los asos a la mayor parte de las soluiones propuestas hasta el momento. Además de su gran versatilidad, (son apaes de afrontar problemas de aprendiza je sup ervisado omo no sup ervisado), las DBN pueden llegar a ser entrenadas de una manera esp eialmente rápida y pro duir redes de gran eaia. El ob jetivo de este proyeto es estudiar el omp ortamiento de estas redes de nueva apariión sobre los datos de EEG orresp ondientes a p oteniales de error, para evaluar su tasa de error y omparar sus prestaiones on el méto do de lasiaión basado en SVM utilizado hasta el momento. La realizaión del proyeto ha onsistido en tres tareas seueniales. En primer lugar, la do umentaión disp onible está basada prinipalmente en artíulos publiados en onferenias internaionales. Ésta ontiene multitud de versiones de redes y variaiones de los algoritmos de entrenamiento originales, siendo difíil evaluar sus diferenias y ompararlas entre sí. En otras palabras, to davía no existe un onsenso denitivo en uanto a qué algoritmos funionan 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 identiar los distintos méto dos para seleionar aquellos que fuesen mas adeuados a nuestro problema. Una vez realizado el estudio de las DBN y de sus distintos algoritmos de entrenamiento, el segundo paso es realizar una implementaión de los mo delos de redes de reenia profunda y los méto dos de entrenamiento orresp ondientes. Para ello se omenzó on un mo delo básio al que inrementalmente se le añadieron las mo diaiones y mejoras seleionadas. Este pro eso p ermite tomar ontato on las DBNs y, sobre to do, omparar los resultados de la implementaión on los resultados obtenidos en los diferentes artíulos ientíos publiados hasta la feha en la literatura. En partiular, nos entraremos en el estudio de la base de datos del MNIST, ompuesta p or ifras esritas a mano que deb en de lasiarse orretamente en 10 lases entre el 0 y el 9. Una vez desarrollado el software de entrenamiento y lasiaión y veri- ado su orreto funionamiento, la última tarea fue estudiar la apliaión del mo delo de red seleionado a los datos de EEG. Para ello se utilizó un pro- to olo de p oteniales de error (en adelante, ERPS) desarrollado en el Grup o de Rob ótia que prop oriono los datos orresp ondientes. Como se ha diho anteriormente, los datos de EEG son altamente ruidosos y normalmente re- 5 quieren un pre-pro esamiento que inluye la apliaión de diferentes ltros antes de ser utilizados para lasiaión. Los ltros implementados inluyen ténias estándar omo reduión de dimensionalidad basado en omp onentes prinipales y/o indep endientes y ltrado en freuenias así omo ltros espaiales esp eialmente diseñados para señales EEG, los Common Spatial Patterns. Los datos pro esados fueron nalmente usados para lasiaión utilizando tanto las DBNs omo SVM. 1.2. Desrip 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 realizaión del proyeto, intentando rear un do umento laro que p ermita al letor familiarizarse progresivamente on to das las tenologías utilizadas. Sin embargo y debido a restriiones de espaio, se presentan numerosas referenias que pueden ampliar los datos que aquí se presentan. En el primer apítulo, se intenta presentar un resumen de los ob jetivos del proyeto, de la meto dología utilizada y de los resultados obtenidos, así omo dar una p equeña intro duión a lo que se puede enontrar en el resto del do umento. El segundo apítulo intro due las redes de reenia profunda, desde sus orígenes omo máquinas restringidas de Boltzmann hasta las tendenias más atuales. Puede enontrarse más informaión a este resp eto en los anexos, donde se presentan las mo diaiones más omunes y que han sido utilizadas en este proyeto y en las numerosas referenias que se van itando a lo largo del texto. El terer apítulo trata, de una manera ligera ya que no es el tema entral del proyeto, la teoría que sostiene las máquinas de vetores sop orte o SVM y las distintas implementaiones 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 proyeto, presentando sus araterístias más esp eiales y prestando un esp eial interés al análisis de los datos de EEG, su pre-pro esado y las distintas manipulaiones realizadas sobre estos datos antes de alimentar las redes de reenia 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 onvergenia que se han realizado sobre estas redes para demostrar su orreto funionamiento. Por último, el sexto y séptimo apítulo quedan reservados, resp etivamente, a la presentaión de la evoluión que ha seguido el proyeto a lo largo del tiemp o y a las onlusiones nales. En los anexos puede enontrarse informaión detallada aera de las variaiones más omúnmente itadas p or los distintos artíulos sobre las DBN, 6 algunas de las uales pro duen mejoras evidentes en los resultados, omo hemos p o dido omprobar a lo largo del proyeto. También puede enontrarse una p equeña intro duión y tutorial de los distintos programas esritos a lo largo del proyeto, 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 duión Las redes neuronales, aunque han demostrado su alta apaidad de representar funiones de alta no linealidad y gran variabilidad, han presentado tradiionalmente 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 apliaiones, al aumentar el número de apas, las soluiones ap ortadas en términos de parámetros y resultados son muho más eientes [5℄, la diultad de entrenamiento en redes muy profundas, suele ausar que, al partir de p esos iniiales aleatorios, las redes queden atasadas en mínimos lo ales muy alejados del mínimo real de la funión de energía de la red. Esto ha provo ado que en problemas de gran omplejidad, las soluiones 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 distribuión de probabilidad de los datos. Las redes de reenia profunda o deep b elief networks (de ahora en adelante DBN), son un aso onreto de redes neuronales multiapa que, dadas sus araterístias que p osteriormente expliaremos, se han apliado reientemente y on muho éxito en ámbitos omo la lasiaión, la reduión de dimensionalidad [12℄, el ltrado olab orativo [24℄ o omparaión de do umentos [26℄... Este éxito radia prinipalmente en la forma de entrenamiento, ya que, a diferenia de lo que se venía haiendo on las redes multiapas, el entrenamiento deja de haerse p or retropropagaión (bakpropagation), 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 desrito p or Georey Hinton [15℄, que restringe la onetividad de las redes multiapa y asimila de esta forma una red multiapa on una pila de máquinas restringidas de Boltzman (en adelante Restrited Boltzmann Mahine o RBM), para las que existe una forma extremadamente rápida y a la vez preisa de entrenamiento. 8 que ada una de las muestras del onjunto de entrenamiento sean intro duidas varias vees en la red, ya que las primeras muestras que entran a la red enuentran una red muy p o o a justada y ap enas son reordadas p or ella. Como puede verse, estimar la formula (2.8) y p or tanto las reglas de a- tualizaión (2.9) y (2.10) es intratable en el aso de utilizar una o más apas o ultas, ya que esto impliaría ono er la distribuión de probabilidad en las apas o ultas y p o der extraer muestras de ella, y, aun en este último aso, impliaría esp erar a que la red alanzara el equilibrio y tomar muestras de este equilibrio, muestras que, debido a tratarse de variables esto ástias, pueden llegar a ser muy ruidosas. Por ello, se han propuesto determinados algoritmos que busan soluiones al entrenamiento de las máquinas de Boltzmann. Por supuesto, los algoritmos presentados de ahora en adelante úniamente explian el pro eso a seguir para un aso onreto de dato de entrada, siendo neesario para un orreto entrenamiento rep etir el mismo algoritmo para ada uno de los datos de entrada. La aproximaió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 alanzado el equilibrio, aumentamos el p eso entre las onexiones entre dos neuronas que se enuentren enendidas. En la segunda fase (fase negativa), no se da ningún valor en las entradas y se deja a la red libre, una vez alanzado el equilibrio, se derementa el p eso de las onexiones entre dos neuronas que se enuentren ativadas. El prinipal problema de este tip o de entrenamiento es la lentitud, deb emos rep etir muhas vees la fase p ositiva y la fase negativa para onseguir lograr aerar la red a un estado óptimo. Es p or este motivo que, a p esar de sus buenas araterístias omo aproximador, las máquinas de Boltzmann han sido reemplazadas p or mo delos más senillos y limitados. Las RBM, al tener limitada su onetividad, onsiguen que las unidades o ultas sean ondiionalmente 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 únio paso. Sin embargo, sigue resultando ompliado obtener una muestra de < vihj>model , ya que impliaría esp erar hasta que la red se estabilizara. Aunque simpliada enormemente, el entrenamiento de estas redes siguió siendo relativamente lento hasta la intro duión en 2002 de lo que Georey Hinton denominó Contrastive Divergene learning algorithm, un méto do que, a p esar de no seguir estritamente el gradiente de la variaión del logaritmo de la probabilidad, sí que, al menos, es apaz, en media, de indiar el sentido de variaión adeuado, aunque el valor no sea el orreto. Este algoritmo, que detallaremos p osteriormente on detalle, omienza una adena de Markov on uno de los datos que utilizamos para alular (< vihj>data) , omo punto de partida para, tras realizar varios pro esos de alternating Gibbs sampling ompletos, tomar la onguraión resultante omo una estimaió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 tradiional Contrastive divergene Como ya habíamos diho, el álulo del segundo término de la euaión 2.8 es intratable omputaionalmente. Así que se propuso una nueva té- nia denominada Contrastive Divergene [15℄ para mejorar la velo idad de álulo. No vamos a entrar demasiado a fondo en las justiaiones matemátias y la onvergenia 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 onvergenia omo de análisis, p o demos itar entre ellos [9℄, [34℄ o [4℄. Por este motivo, vamos a limitarnos a expliar de una manera lo más senilla 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 expliado anteriormente, el ob jetivo es enontrar aquellos p esos y biases que maximien la probabilidad de que la red repro duza los datos de entrenamiento, p or lo tanto, nuestro ob jetivo no es otro que reduir el logaritmo de la probabilidad (ver euaión 2.8). La forma tradiional de estimar la segunda parte de la euaió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 aproximaión a la respuesta del mo delo de la red < vihj>model =< vihj>∞ . La idea es que p o demos tener una buena aproximaión a < vihj>model trunando la adena de Markov tras K iteraiones (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 vetor v0 2. Calulamos la probabilidad de ativaión de ada una de las unidades o ultas dado el dato de entrada v0 ( P(h0 j= 1|v0) ) on la euaión (2.3) 3. Una vez alulada la distribuión de probabilidad en apa o ulta, tomamos una muestra de esta distribuió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 apliado a una RBM 4. Con v0 y h0 p o demos alular < vihj>data (ver euaión 2.8), tomando vi=v0 i y hj=h0 i 5. A partir de ahora dejamos a la red que se estabilie, 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 vees el siguiente pro eso (emp ezamos on k= 1 ): Tomando hk−1 omo dato de partida, alulamos la distribuión de probabilidad en apa visible P(vk i= 1|hk−1) on la euaión 2.3 Generamos una fantasía en la apa visible, que denominaremos vk tras tomar una muestra de la distribuión alulada. A partir de esta muestra, rep etimos el pro eso para alular un hk al muestrear la distribuión de probabilidad P(hk j= 1|vk) , alulada a partir de vk 6. Terminado el pro eso, estimamos < vihj>model , segundo término de la euaión (2.8), omo vK ihK i 7. Atualizamos 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 auerdo a las euaiones (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 apliar numerosas variaiones que traten de mo diar y mejorar el omp ortamiento del entrenamiento, las utilizadas en este proyeto quedan desritas en el anexo A. En la mayoría de los asos, la estimaión del segundo término de la eua- ión (2.8) es suientemente buena tomando úniamente un K= 1 (denominado CD-1) (ver gura 2.5), lo que úniamente nos indiaría la direió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 apliado 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 nomenlatura general CD-K para referirse al algoritmo ontrastive divergene. La idea detrás de to do este algoritmo es exatamente la misma que utilizábamos en las redes de Hopeld, esto es, aumentar el p eso de una onexión uando una araterístia j se ativa a la vez que un pixel i, reba jándolo uando esta araterístia se ativa sobre una fantasía i. PCD El algoritmo Contrastive Divergene, en onreto CD-1, es muy rápido, presenta una varianza ba ja y es una relativa buena aproximaión al gradiente, sin embargo, en algunos asos puede no ser suiente. Normalmente y si el tiemp o de entrenamiento lo p ermitiera, sería reomendable utilizar CD-K on K lo suientemente elevado omo para obtener una aproximaión lo suientemente buena de la respuesta de la red neuronal en ausenia 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 ruial, p or lo que, siguiendo las diretries maradas en [21℄ para redes de reenia (Belief nets o BN de ahora en adelante), se propuso un nuevo algoritmo basado en CD-K denominado Persistent Contrastive Divergene o PCD [31℄. La idea básia sobre la que se asienta este nuevo algoritmo es que, si las variaiones de los p esos son muy esasas entre las distintas iteraiones del algoritmo PCD, el mo delo de la red neuronal entre una iteraión y la siguiente es prátiamente estable, p or lo que, partiendo del estado estable anterior, en unos p o os muestreos alternos de Gibbs, p o demos volver a alanzar la distribuión propia de la red. Si la red ap enas ha ambiado, < vihj>model en una iteraión, será muy pareido al valor en la siguiente iteraión. Por lo que, para variaiones de los p esos tendiendo a ero y usando un algoritmo 18 CD-K on K tendiendo a innito, esta sup osiión es orreta. Como p osteriormente veremos uando hablemos de los parámetros de entrenamiento, este algoritmo neesita una tasa de aprendiza je muy p equeña, para que las variaiones entre iteraiones sean esasas a la vez que presenta muy buenos resultados on tamaños de bath grandes (ver Anexo A.4), ya que p ermite realizar una mejor aproximaión al gradiente. Como ya vimos, en el algoritmo CD-K estamos trunando una adena de Markov tras K iteraiones, esto nos hae p erder informaión de la respuesta original de la red. En PCD se pretende no realizar ese trunado, sino ontinuarlo en la siguiente iteraión del algoritmo. A diferenia de lo que haríamos en CD-K, no usamos h0 para alular una fantasía en la apa visible vK sino que, si nos enontramos en la primera iteraión, haemos un paso de Gibbs sampling para obtener una fantasia a partir de unos datos aleatorios gaussianos, o si no, usamos diretamente la fantasía vK de la iteraión anterior. (Ver Figura 2.6) De esta forma, el nuevo algoritmo a utilizar para ada vetor de datos quedaría de la siguiente forma: 1. Tomamos un dato de entrada v0 y alulamos la probabilidad de a- tivaió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 distribuión. 2. A partir de v0 y h0 obtenemos < vihj>datos , tomando vi=v0 i y hj=h0 j 3. Si nos enontramos en la primera iteraión, haemos un paso de alternating Gibbs sampling para obtener una fantasía a partir de unos datos aleatorios gaussianos. Si no es la primera iteraión usamos dire- tamente la fantasía vK de la iteraión anterior. 4. A partir de esta fantasía, iniiamos una adena de Markov de K pasos, para alular un nuevo vK , que guardamos omo fantasía de iniio para la próxima iteraión, y un hK muestreando P(hK j= 1|vK) 5. Terminado el pro eso, estimamos el segundo término de la euaión (2.8) omo vK ihK j (Donde vK es el resultante de la última iteraión de la adena de Markov) 6. Por último, al igual que en CD-K atualizamos los p esos entre las apas ( wij ) y los biases de auerdo a las euaiones (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 haiendo de nuevo una aproximaió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 innitesimalmente p equeña, la aproximaión se onvierte en exata, p or lo tanto, la aproximaión realizada p or este algoritmo requiere utilizar tasas de aprendiza je muy p equeñas. La adena de Markov puede trunarse pasado un ierto tiemp o, (p or ejemplo 10 iteraiones), aunque los estudios demuestran que los mejores resultados se obtienen sin trunar la adena de Markov en ningún momento. Máxima verosimilitud esto ástia (SML) Antes de la publiaión del algoritmo CD-K, se había desarrollado otro méto do para el entrenamiento de redes de Boltzmann [33℄, on un ierto pareido on el ya desrito 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 muhas araterístias. En nuestro aso y dadas las esasas diferenias entre amb os algoritmos, hemos utilizado amb os en nuestro estudio. La idea subyaente en SML es prátiamente la misma que en PCD, utilizar una adena de Markov p ersistente que intentará seguir las evoluiones de la respuesta intrínsea del mo delo de red para realizar un des-aprendiza je lo más orreto p osible, sin embargo, a diferenia 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 iteraión del algoritmo. De esta forma, el vK alulado en la primera iteraión, pasa a ser la fantasía para las siguientes iteraiones. (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 prinipal limitaión que tiene el traba jar on RBM, soluionado el tiemp o de entrenamiento, deriva de la omplejidad de las distribuiones que son apaes de mo delar, al utilizar una únia apa o ulta, lo que es lo mismo, una únia apa de detetores de araterístias, el mo delo es demasiado rígido para adaptarse a no linealidades de alto orden, lo que nos plantea la neesidad de utilizar un mayor número de apas o ultas. Sin embargo, la utilizaión de un mayor número de apas o ultas (Ver Figura 2.8), nos devuelve de lleno al problema del entrenamiento. Para ello, Georey 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 ativaió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 reenia profunda o Deep Belief Network (DBN) La onvergenia de este tip o de redes queda demostrada al ser onvergentes las máquinas de Boltzmann que la omp onen, p ero la apliaión del algoritmo Contrastive Divergene, al tratarse de una aproximaión, hae ne- esario, en algunos asos, un rep esado nal de la red, utilizando méto dos tradiionales omo bakpropagation, 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 reomendable. 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 Divergene menionado en el apítulo anterior. Posteriormente a este entrenamiento, que nos aera a una solu- ión óptima, deb eremos realizar un entrenamiento tradiional y más ostoso 21 Figura 2.8: Red de reenia profunda o DBN (dereha) y su división en RBMs (izquierda) omputaionalmente, omo Up-Down, que expliaremos más adelante. En la primera parte, los p esos de reono imiento (p esos que generan una distribuió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 generaión (los que realizan el pro eso ontrario, inriendo 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ásio de entrenamiento (para un mo delo más ompleto ver seión A) se p o dría resumir de la siguiente forma: 1. Al prinipio, 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 duen de nuevo los datos, para alular la distribuión de probabilidad generada en la apa o ulta. 3. Esta distribuió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 haer 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: Separaión entre p esos de reono imiento (naranja) y generaió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 soluión óptima puede ser no demasiado grave en asos omo la lasiaión, donde un ierto grado de error puede ser más b eneioso que un sobrea juste de la red. Pero en asos omo la generaión de datos a partir de un mo delo, puede dar lugar a verdaderos problemas. Para llegar a una soluió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 iniializaión, el primer paso es separar los p esos utilizados en reono imiento de los utilizados en generaión para to das las RBM que omp onen la DBN salvo para la última, (Ver Figura 2.9) puesto que es neesario atualizarlos p or separado. Dado que wij 6=wji ya no p o demos utilizar la euaión (2.8) para la atualizaión de p esos, sino que deb emos de usar diretamente (2.7) que, apliada a nuestro aso, quedaría de la siguiente forma: ∂log P(v) ∂wij =< h0 j(v0 i−v1 i)> (2.14) que, apliando 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 euaión se le pueden apliar y de heho en la mayoría de asos se aplian, de igual mo do, to dos los méto dos desritos en el anexo A. 23 Teniendo en uenta to do lo diho hasta el momento, para ada uno de los datos de entrenamiento, el pro eso a seguir para la atualizaión de los p esos es muy senillo: 1. Separamos los p esos de generaión de los de reono imiento. 2. Tomando un dato de entrada v0 , alulamos los estados en ada una de las apas de la DBN usando los p esos de reono 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, alulamos, usando los p esos de generaión, una fantasía en la apa inmediatamente inferior v1 . 4. Atualizamos los p esos de generaión en ada RBM exepto en la última usando la euaión (2.15). 5. Realizamos un entrenamiento RBM onvenional en las dos últimas apas de la DBN. 6. Tomando el estado de la última iteraión del alternating Gibbs sampling, propagamos el estado de la última apa hasta la primera, usando los p esos de generaió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, alulamos, usando los p esos de reono imiento, una fantasía en la apa inmediatamente sup erior h3 . 8. De forma similar y mo diando la euaión (2.15), atualizamos los p esos de reono 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 hae una pasada de aba jo haia arriba en la DBN para atualizar los p esos de generaión, en la segunda se entrena una RBM en la apa sup erior y en la última se hae una pasada de arriba a aba jo, atualizando los p esos de reono 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- siaión. Las máquinas de Boltzmann, así omo las DBN, fueron diseñadas en sus orígenes omo generadores de datos, es deir, tras hab er reibido 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 vetor de datos. El orden en el que se lea la imagen para dar lugar al vetor es totalmente indiferente, siempre que to dos los datos se lean en el mismo orden. Es p or ello que se pierde ompletamente la informaió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 esritos 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, úniamente 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 ortania de esta base de datos radia en los ontinuos exp erimentos que se han venido realizando on distintos algoritmos, lo que p ermite una muy fáil omparaión entre las distintas tendenias en reono imiento de imágenes. Nuestro prinipal ob jetivo es omprobar que los resultados des- ritos en las publiaiones ientías son aordes 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 eletro enefalogramas (EEG) son un méto do no invasivo para medir la atividad 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 onreto de ada uno de los dígitos de la base de datos del MNIST 32 Figura 4.4: Monta je para la grabaión de las señales de EEG Los p oteniales elétrios están ligados en tiemp o a unos estímulos presentados al sujeto, sujeto que ativa inonsientemente una o varias partes de su erebro en respuesta al estímulo. Estas respuestas, quedan grabadas en 32 reeptores situados alrededor de la ab eza del sujeto, para su p osterior estudio y lasiaión. Entre los distintos tip os de p oteniales que se pueden medir, son de partiular interés los p oteniales de error (ErrP). Estos p oteniales se generan uando se pro due una disonformidad 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 die que ha ometido un error (ErrP de realimentaión), uando el sujeto observa un error ometido p or otra p ersona (ErrP de observaión) o uando el sujeto manda una orden y una máquina ejeuta otra (ErrP de interaión). El grup o de rob ótia de la Universidad de Zaragoza, omo se puede ver en [17℄, se enuentra traba jando en lasiadores de esta lase de p oteniales de error para su apliaión al ontrol y aprendiza je en rob ótia. En este aso onreto (ver gura 4.4) el sujeto es presentado frente a una pantalla en la que se muestra las 5 p osibles p osiiones haia las que es p osible que el rob ot se mueva. Se onsidera que la entral (p osiión 3) es la orreta, mientras que las p osiiones más eranas al entro (p osiión 2 y 4) se onsideran errores leves y las p osiiones más alejadas (p osiió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 osiiones nales y p or una señal de ontrol, sinronizada a los datos, que india el aso mostrado al sujeto. De esta forma, p o dríamos deir que tenemos 100 asos orretos, 200 asos p erteneientes a errores leves (100 error leve a dereha, 100 error leve a izquierda) y 200 asos p erteneientes a errores graves (100 a dereha y 100 a izquierda). Estas señales son grabadas durante el segundo y medio p osterior a la presentaió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 erteneientes a la no atividad del sujeto, grabadas durante los intervalos de desanso entre muestras. Las p osibilidades de lasiaión son varias, aunque nos hemos entrado en el estudio de ada sujeto p or separado, ya que tratar de lasiar simultáneamente las señales erebrales de varios sujetos, se presenta exesivamente ompliado. De entre to das las p osibilidades restantes, nos hemos entrado en tres prinipalmente: 1. Distinguir, error frente a no error (100 muestras orretas frente a 400 inorretas) 2. Separar error frente a no error y frente a no atividad (100 muestras orretas, 400 inorretas y 1.236 de no atividad) 3. Clasiar ada una de las ino señales de movimiento del rob ot El heho de estar tratando, aun on un únio sujeto, un tamaño imp ortante en los datos de entrada, onretamente 32 anales de 384 muestras ada uno, nos obliga a reduir 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 matries de p esos y el tiemp o de entrenamiento para lograr una soluión orreta sería exesivo. 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 reduir la dimensionalidad omo a la hora de esoger la normalizaió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 deir que estamos traba jando on un set de test muy extenso, omo se puede ver en la gura 4.6. Más informaión sobre los distintos pro esos de normalizaión, reduión del tamaño de datos y seleión inteligente de los anales a utilizar puede enontrarse en el anexo B. 35 Capítulo 5 Tests 5.1. Intro duión En esta seió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 menionados en el apítulo anterior, hay que reseñar que el análisis de EEG presenta a su vez un onjunto asi innito de sub onjuntos de datos, ya que ada una de las tres p osibles tareas de lasiaión menionadas anteriormente, presenta, omo se omenta en los anexos, numerosas p osibilidades de normalizaión y de transformaión de los datos. Es p or ello que se presentan los mejores resultados obtenidos para ada uno de los tres problemas de lasiaión menionados anteriormente. 5.2. Test en generaión Las redes de reenia profunda o DBN, omo ya se omentó en su momento, naieron omo un tip o de redes apaes de aprender la distribuión de probabilidad subyaente en los datos y generar nuevas muestras a partir de esta distribuión. Una vez entrenada una DBN resulta relativamente senillo 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 haia 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 generaió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: Funionamiento de una DBN en generaión Una vez que la red ha alanzado el equilibrio en las apas sup eriores, la red, al ser esto ástia, irá generando muestras diferentes de la misma lase. 5.3. Test en reono imiento El test en reono 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 apaidad lasiadora de la red. A lo largo de la literatura se presentan varios méto dos de probar la red en reono 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 reono imiento hasta llegar a la p enúltima apa. Llegados a este punto e iniializando las etiquetas a un valor aleatorio, se realiza un sampleado alternativo de Gibbs hasta que se onsidere que la red ha alanzado la estabilidad. Durante este pro eso, úniamente 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: Funionamiento de una DBN en Reono imiento 5.4. Resultados 5.4.1. Datos de test Para los datos de test hemos entrenado una red de reenia profunda de 4 apas on la distribuión mostrada en la gura 5.3. La primera apa tiene tantas neuronas omo la dimensión de los datos, 36, la segunda y terera tienen 20 neuronas y la última apa tiene 100. La apa lateral, en la que se intro duen 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 deaimiento 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 bath, 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 orenta je de aierto 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 orenta je de aierto 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 generaión de datos en el onjunto de datos de test funiona de manera uida, dando muestras prátiamente 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 terera 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 deaimiento de 0.001 y un momento al iniio de 0.3, que ambia a 0.8 sup erado el 70 % del entrenamiento. La generaión de datos para el MNIST neesita de un mayor tiemp o de estabilizaió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 reono er, las DBN se omp ortan de una manera más que aeptable, obteniendo un 90,22 % de aiertos en el reono imiento de los datos de entrenamiento. La matriz de onfusión se muestra a ontinuaión: 40 EEG distaban muho de los obtenidos on otras ténias omo las máquinas de vetores sop orte, p or lo que se estudiaron las bases de las máquinas de vetores sop orte y se probaron rep etidamente sobre las distintas formas de prepro esar la señal, omprobando que los resultados ofreidos p or las máquinas de vetores sop orte eran muho mejores a los obtenidos p or las DBN en to das las onguraiones probadas. Dados los problemas de las DBN en separar inluso las señales orretas de las inorretas, se deidió 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 failitase a las DBN el reono imiento. Este prepro- esado mejoró el reono imiento de la red, p ero no llegó en ningún aso a sup erar los resultados obtenidos on las máquinas de vetores sop orte. Por último, se trató de realizar un estudio más no de los parámetros de las DBN que obligó a una reestruturaión ompleta del software para lograr analizar en profundidad las variaiones que ada uno de los parámetros p o día ap ortar a la mejora del reono 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 proyeto y su distribuión en el tiemp o 48 Capítulo 7 Conlusiones y traba jo futuro El ob jetivo del proyeto era desarrollar los algoritmos neesarios para evaluar el p otenial de las DBNs en tareas de lasiaión de p oteniales de error medidos on EEG y su omparaión on los lasiadores utilizados hasta el momento. Para lograrlo, se ha realizado un estudio detallado del estado del arte, a partir de una reopilaión de artíulos publiados en onferenias internaionales aera de las DBN y de la teoría que las sustentaban, omo las RBM o las Boltzmann Mahine, así omo de los distintos méto dos de entrenamiento y de sus diversas variantes. Esta reopilaión y su estudio detallado, además de dar una expliaión atualizada del estado del arte atual de las DBN y de sus futuras tendenias, ha p ermitido desarrollar una ompleta guía tutorial prátiamente inédita en el mundo de las DBN. En estos momentos, úniamente existe un tutorial, publiado durante la realizaión de este proyeto, aera de las DBN, de similares araterístias al que aquí se presenta [18℄. El estudio en profundidad de las redes de reenia profunda y sus distintos algoritmos de entrenamiento nos ha p ermitido lograr una implementaió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 funionamiento y testeo, p ermitiendo la arga de los parámetros neesarios ómo damente desde heros de onguraión. Este software p ermite además seleionar de manera externa el algoritmo de entrenamiento que se desea utilizar de entre los varios desritos en los artíulos ientíos, siendo p or tanto muy senillo omparar los resultados obtenidos on ada uno de ellos. Esta librería es únia p or el momento ya que previamente a este traba jo úniamente había una versión de entrenamiento de las DBN muy rudimentaria prop orionada p or Hinton en su página web [25℄. Sin embargo, esta versión requería una mo diaión de los parámetros diretamente en el ó digo fuente y no implementaba algoritmos de entrenamiento omo CD-K, PCD o SML ni p ermitía un orreto testeo de la red. 49 Para omprobar el orreto funionamiento de las soluiones implementadas, se han reado onjuntos de datos de test y se han evaluado los resultados obtenidos en distintas publiaiones 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 reenia 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 normalizaión o saturaió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 ótia de la Universidad de Zaragoza on los lasiadores SVM, p ermitiéndonos omprobar que el prepro esado realizado a la señal era el adeuado. Una vez que la implementaión de los algoritmos estaba ompleta y validada, se utilizo para lasiar los datos de EEG orresp ondientes a los p oteniales de error y su omparaión on el lasiador 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 haen que las DBN no funionen para este tip o de señal pueden ser varios. Entre ellos el más destaable es el esaso 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 fatores omo la alta variabilidad de las señales de EEG, la normaliza- ión, la diferente distribuión de probabilidad de los datos del MNIST y de EEG o inluso la neesidad de mo delos más omplejos de DBN que tengan en uenta la evoluión temp oral de los datos, pueden ser otros fatores a tener en uenta. En onlusión y a p esar de no obtener los resultados esp erados on EEG, se presenta un traba jo pionero en la investigaión de las DBN, ofreiendo simultáneamente un tutorial de las DBN y una ompleta plataforma de pruebas, que puede ser utilizado en el futuro para la reaión de nuevos la- siadores sobre distintos tip os de datos, así omo ampliarse fáilmente para inorp orar las nuevas tendenias que pueden ir surgiendo. Para terminar, este proyeto no deb ería ser un punto y aparte, quedan muhas osas p or haer y que investigar, ya no sólo en la apliaión de las DBN a otros tip os de tareas de lasiaión, que sería lo más senillo, ni siquiera en ontinuar la investigaión de las DBN on las tendenias más atuales. Puede ontinuarse el estudio de las DBN apliadas al amp o de la lasiaión de EEG on mo delos más omplejos omo las redes de reen- ia profunda onvoluionales (CDBN), que tienen en uenta la dep endenia temp oral de las señales y que paree que han dado buenos resultados en señales de audio, mo diando 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 tenología muy novedosa, que 50 está evoluionando muy rápido y que presenta numerosas apliaiones en el futuro. Sería también reomendable la grabaión de nuevas señales de EEG, osa que lleva meses de traba jo y que, p or salirse fuera del ámbito del proyeto, no se ha p o dido realizar. Con estas nuevas señales p o dría ontinuarse el estudio de la apliaión de las DBN a las señales de EEG, p orque, omo se ha demostrado en numerosos estudios, en presenia de una gran antidad de datos de entrenamiento, las DBN son apaes de sup erar a los mejores méto dos de lasiaión utilizados hasta el momento. 51 Bibliografía [1℄ D Akley, G Hinton, and T Sejnowski. A learning algorithm for b oltzmann mahines. Cognitive Siene , (9), 1985. [2℄ David H. Akley, Georey E. Hinton, and Terrene J. Sejnowski. Boltzmann mahines: Constraint satisfation networks that learn. Tehnial rep ort, Carnegie-Mellon University, Dept. of Computer Siene, 1984. [3℄ David H. Akley, Georey E. Hinton, and Terrene J. Sejnowski. A learning algorithm for b oltzmann mahines. Cognitive Siene , 9:147 169, 1985. [4℄ Y Bengio, P Lamblin, D Pop ovii, and H Laro helle. Greedy layer-wise training of deep networks. In In NIPS , 2007. [5℄ Y Bengio and LeCun. Y.: Saling learning algorithms towards ai. In Large-Sale Kernel Mahines , pages 321388. 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 Proessing magazine , 2008. [7℄ Bo Chen Nando de Freitas Benjamin Marlin, Kevin Swersky. Induti- ve priniples for restrited b oltzmann mahine learning. JMLR WCP , (9):509516, 2010. [8℄ B E Boser, I M Guyon, and V N Vapnik. A training algorithm for optimal margin lassiers. In In Proeedings of the Fifth Annual ACM Workshop on Computational Learning Theory , pages 144152. ACM Press, 1992. [9℄ M A Carreira-Perpignan and G E Hinton. On ontrastive divergene learning. Artiial Intel ligene and Statistis , 2005. [10℄ Corinna Cortes and Vladimir Vapnik. Supp ort-vetor networks. In Mahine Learning , 1995. 52 [11℄ Andreas Mller Hannes Shulz and Sven Behnke. Exploiting lo al stru- ture in staked b oltzmann mahines. In European Symposium on Arti- ial Neural Networks, Computational Intel ligene and Mahine Learning (ESANN) , 2010. [12℄ G Hinton and R R Salakhutdinov. Reduing the dimensionality of data with neural networks. Siene , (313). [13℄ G E Hinton. Training pro duts of exp erts by minimizing ontrastive divergene. 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. Siene , (268):11581161, 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 Hopeld. Neural networks and physial systems with emergent olletive omputational abilities. In Pro. Nat. Aadem. Sienes USA, Vol 79 , pages 25542558, 1982. [17℄ L.Montesano I.Iturrate and J.Minguez. Rob ot reinforement learning using eeg-based reward signals. IEEE International Conferene on Robotis and Automation (ICRA) , 2010. [18℄ Ben Marlin Kevin Swersky, Bo Chen and Nando de Freitas. A tutorial on sto hasti approximation algorithms for training restrited b oltzmann mahines 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 restrited b oltzmann mahines and deep b elief nets. Information Theory and Appliations (ITA) Workshop , 2010. [20℄ Honglak Lee, Roger Grosse, Ra jesh Ranganath, and Andrew Y. Ng. Convolutional deep b elief networks for salable unsup ervised learning of hierarhial representations, 2009. [21℄ Radford M Neal. Connetionist learning of b elief networks. Artiial Intel ligene , (56):71113, 1992. [22℄ M Norouzi, M Ranjbar, and G Mori. Staks of onvolutional restrited b oltzmann mahines for shift-invariant feature learning. In In CVPR , 2009. [23℄ S Osindero and G E Hinton. Mo deling image pathes with a direted hierarhy of markov random elds. In In NIPS , 2008. 53 [24℄ R Salakhutdinov, A Mnih, and G Hinton. Restrited b oltzmann ma- hines for ollab orative ltering. In In Pro. Of the 24th international onferene on Mahine learning , pages 791798, 2007. [25℄ Ruslan Salakhutdinov and Geo Hinton. Training a deep auto enoder or a lassier on mnist digits. http://www.s.toronto.edu/ hinton/MatlabForSienePap er.html. [26℄ Ruslan Salakhutdinov and Georey E Hinton. Semanti hashing. International Journal of Approximate Reasoning , (50):969978, 2009. [27℄ Terrene J. Sejnowski. Higher-order b oltzmann mahines. In Neural Networks for Computing , pages 398403. Amerian Institute of Physis, 1986. [28℄ Terrene J. Sejnowski. Higher-order b oltzmann mahines. In Neural Networks for Computing , pages 398403. Amerian Institute of Physis, 1986. [29℄ Paul Smolensky. Information pro essing in dynamial systems: foundations of harmony theory. MIT Press Cambridge , 1986. [30℄ G Tesauro. Pratial issues in temp oral dierene learning. In Mah Learn 8:257277 , 1992. [31℄ Tijmen Tieleman. Training restrited b oltzmann mahines using approximations to the likeliho o d gradient. In In Proeedings of the 25th international onferene on Mahine learning , pages 10641071, 2008. [32℄ Wang. The mnist database of handwritten digits, 2002. [33℄ L Younes. Parametri inferene for imp erfetly observed gibbsian elds, springer-verlag probability theory and related elds 82. IEEE Trans , (33):625645, 1989. [34℄ Alan Yuille. The onvergene of ontrastive divergenes. Advanes in Neural Information Proessing Systems , 2004. [35℄ Qibin Zhao and Liqing Zhang. Temp oral and spatial features of singletrial eeg for brain-omputer interfae. Computational Intel ligene and Neurosiene , 2007. 54