Redes Neuronales Convolucionales

20
DETECCIÓN DE ONDAS P300 PARA INTERFACES CEREBRO COMPUTADORA (BCI) HUBERT CECOTTI Y AXEL GRÄSER Redes Neuronales Convolucionales EEE Transactions on pattern analysis and machine intelligence, Vol 33, N° 3, March 2011

Transcript of Redes Neuronales Convolucionales

Page 1: Redes Neuronales Convolucionales

DETECCIÓN DE ONDAS P300 PARA INTERFACES CEREBRO COMPUTADORA (BCI )

H U B E RT C E C O T T I Y A X E L G R Ä S E R

Redes Neuronales Convolucionales

IEEE Transactions on pattern analysis and machine intelligence, Vol 33, N° 3, March 2011

Page 2: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

La mayoría de las técnicas utilizadas en la comunidad BCI para el reconocimiento de ondas P300 se basan en SVMs (Support Vector Machines). Sin embargo, métodos de aprendizaje tales como las redes neuronales convolucionales han resultado exitosos en el reconocimiento de patrones y han demostrado tener un mejor desempeño (Bengio and LeCun, 2007).

Page 3: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Redes Neuronales Convolucionales CNN

• Es un Perceptrón Multicapa (MLP) con una topología especial, con más de 1 capa escondida.

• Normalmente se utiliza en reconocimiento de objetos y letra escrita.

• Puede trabajar como extractor y clasificador de características, lo cual depende de su topología.

• Es capaz de trabajar directamente en la señal en bruto e incluir funciones de procesamiento.

Page 4: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Normalización de la Entrada

• La dimensión de la entrada debe ser i x j. Donde i se refiere al número de canales y j al número de puntos de la señal (Tseñal*Fseñal).

• Los datos fueron normalizados en tres pasos:

1. La señal fue submuestreada para reducir su tamaño (240 Hz a 120 Hz).

2. Luego, fue procesada por un filtro pasabanda de 0.1 a 20 Hz.

3. Por último, la señal fue transformada de la siguiente manera:

Page 5: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Características:

• La red se compone de 5 capas; 1 de entrada, 1 de salida y 3 escondidas, de las cuales algunas poseen uno o más mapas.

• Un mapa representa la identidad de la capa. Por ejemplo, un mapa de la primera capa escondida es una combinación de canales, lo que caracteriza a la capa como filtro espacial.

• En términos generales, la señal primero es filtrada espacialmente seleccionando la óptima combinación de canales. Luego, la señal es subsampleada (6 partes) y procesada en el dominio del tiempo. Ambos procesos se realizan Finalmente, se produce la clasificación.

Page 6: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

L0

• Entrada / Señal

L1

•Filtro espacial

L2

•Subsampleo

•Procesamiento en el dominio del tiempo

L3

•Clasificación

L4

•Salida / Decisión

Page 7: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Arquitectura de la Red

Page 8: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

• Toda neurona se define como n(l,m,j). Donde l: capa, m: mapa y j: número de neurona en el mapa.

• Y el valor de cada neurona es:

• La función de transferencia f depende de la capa.

• Para las primeras dos capas escondidas (L0 y L1) se utilizó un tipo de función sigmoidea basada en la tangente hiperbólica:

• S=[-1,1]

• Para las últimas dos capas se utilizó la clásica función sigmoidea:

S=[0,1]

Page 9: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

• El valor de σ representa el producto escalar entre las entradas y el peso de las conexiones entre las neuronas involucradas.

• Y se definió σ para todas las capas.

Para L1:

• Donde w(1,0,j) es el umbral.• Cada mapa posee Ncanales+1 pesos.• La convolución representa el filtro espacial.• El kernel utilizado es de [1 x Ncanales]

Page 10: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Para L2:

• Donde w(2,0,j) es el umbral.• El kernel utilizado es de [Npuntos/6 x 1]. ([13

x 1])• Reduce el tamaño de la señal mientras

aplica una transformación lineal idéntica para las 6 neuronas de cada mapa.

Para L3:

• Donde w(3,0,j) es el umbral.• Cada neurona de L3 se conecta a todas las

neuronas de L2.

Page 11: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Para L4:

• Donde w(4,0,j) es el umbral.• Cada neurona de L4 se conecta a todas las

neuronas de L3.

Los pesos de entrada y los umbrales fueron inicializados con una distribución estándar de ±1 / Nentradas. Donde Nentradas se refiere al número de entradas de una neurona determinada.

Page 12: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

• El algoritmo de aprendizaje para definir los pesos de la red utilizó la clásica retropropagación (Hristev, 1998). Además, los pesos fueron corregidos debido al descenso de gradiente.

• Cada época de entrenamiento estuvo compuesto por un 95 % de entrenamiento con la base de datos y un 5 % de validación.

• Y como la capa de salida L4 se compone de dos neuronas X4(1) y X4(0), las cuales representan presencia y ausencia de onda P300, respectivamente. La clasificación queda expresada de la siguiente manera:

Page 13: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Se utilizaron 7 clasificadores basados en CNN:

Clasificadores únicos:

• CNN-1: Clasificador de referencia que utilizó la totalidad de los datos en el entrenamiento.

• CNN-2a: Utilizó sólo 8 canales como entrada basados en la literatura.

• CNN-2b: También utiliza 8 canales pero basados en los pesos obtenidos en CNN-1.

• CNN-3: Posee un solo mapa en la primera capa oculta, es decir, se refiere a la clasificación de un solo canal.

Page 14: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Multi-Clasificadores:

• MCNN-1: Los datos de entrenamiento poseen igual cantidad de señales sin P300 que con P300. Se crean 5 clasificadores con diferentes señales sin P300.

• MCNN-2: Se divide la totalidad de los datos en 5 partes iguales para entrenar a 5 clasificadores diferentes.

• MCNN-3: Se crean 3 clasificadores tipo CNN-1 con inicializaciones de pesos al azar.

Page 15: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Detección de P300 para un sujeto A

Detección de P300 para un sujeto B

Page 16: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Porcentaje de Reconocimiento de Caracter

Page 17: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Tasa de transferencia de información (ITR, en bits por minuto) en relación a las épocas

Page 18: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

Comparación entre clasificadores SVM y CNN

Comparación de resultados con la literatura

Page 19: Redes Neuronales Convolucionales

Índice:

Introducción

Definición

Entrada

Topología

Aprendizaje

Clasificadores

Resultados

Aportes

• El error de una selección de un carácter puede provenir de la fuente y no de la clasificación.

• Las características arquitectónicas de las redes convolucionales como el peso compartido son imposibles de implementar utilizando el Toolbox de redes neuronales de MatLab. Para esto, Mihail Sirotenko (2009) desarrolló una clase independiente que trabaja con este tipo de redes neuronales.

Page 20: Redes Neuronales Convolucionales

Referencias: Bengio, Y. and LeCun, Y., (2007). Scaling Learning

Algorithms towards AI, Large-Scale Kernel Machines. L. Bottou, O. Chapelle, D. DeCoste, and J. Weston, eds., MIT Press.

Cecotti, H and Gräser, A. (2011). Convolutional Neural Networks for P300 Detection with Application to Brain-Computer Interfaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33, 3.

Hristev, R. M., (1988). The ANN Book. GNU Public License.