Facultat de Ciències
Memòria del Treball de Fi de Grau
Máquinas de aprendizaje y aplicaciones
Javier Cantero Lorenzo Grau de Física
Any acadèmic 2017-18
DNI de l’alumne: 43480488T
Treball tutelat per Claudio R. Mirasso Santos Departament de Física
S'autoritza la Universitat a incloure aquest treball en el Repositori Institucional per a la seva consulta en accés obert i difusió en línia, amb finalitats exclusivament acadèmiques i d'investigació
Autor Tutor
Sí No Sí No
X X
Paraules clau del treball:
Comunicaciones ópticas, Machine learning , Reservoir computing, Redes neuronales, Extreme learning machines, Clasificación.
Resumen
Este trabajo estudia la aplicación de distintas técnicas deMachine learning en la mejora del pro- cesamiento de señales ópticas de alta velocidad. Dichas señales temporales llegan distorsionadas al receptor de manera no lineal.
Se hará especial mención a la técnica dereservoir computing, en la que se introducirán recurren- cias dentro de la propia red, dotando así al sistema de memoria. Los resultados de este trabajo de fin de grado prueban que es posible reducir en dos órdenes de magnitud el bit-error-rate utilizando estas técnicas en comparación a métodos más rudimentarios de clasificación.
En primer lugar se introduce la importancia de las señales ópticas en telecomunicaciones y las principales técnicas utilizadas para corregir las distorsiones que sufre la señal durante su transmisión. Posteriormente se procederá a analizar de manera práctica estos métodos, poniendo de manifiesto sus ventajas y desventajas desde el punto de vista de los sistemas dinámicos.
A lo largo del trabajo se compararán los resultados obtenidos numéricamente para un tipo concreto de señal de comunicaciones ópticas conocida con los obtenidos experimentalmente (en hardware) por el Dr. Apostolos Argyris, el Dr. Ingo Fisher y Julián Bueno [1].
Además de la supervisión del Dr. Claudio Mirasso, la obtención y análisis de los resultados pre- sentados en este trabajo ha sido supervisada de manera continua bajo la agradecida colaboración del Dr. Miguel Cornelles Soriano.
Índice
1. Introducción 1
1.1. Señales ópticas . . . 1
1.2. Inteligencia artificial . . . 2
1.2.1. Machine learning . . . 2
2. Métodos 3 2.1. Datos de trabajo . . . 3
2.1.1. Origen de los datos . . . 3
2.1.2. Manipulación de los datos . . . 4
2.1.3. Evaluación de los datos . . . 4
2.2. Redes neuronales artificiales . . . 5
2.2.1. Neurona biológica vs neurona computacional . . . 5
2.2.2. Capas de neuronas . . . 5
2.2.3. Función de activación . . . 6
2.3. Motivación . . . 7
2.4. Predicción de la red . . . 7
2.5. Regresión en crudo sobre los datos . . . 8
2.5.1. Regresión lineal . . . 8
2.5.2. Regresión logística . . . 8
2.6. Extreme learning machines (ELM) . . . 9
2.7. Backpropagation . . . 9
2.8. Reservoir Computing . . . 9
3. Resultados 11 3.1. Regresión en crudo sobre los datos . . . 11
3.2. Extreme learning machines . . . 11
3.2.1. Nodos en capa oculta . . . 11
3.2.2. Comparación de los resultados . . . 12
3.2.3. Tiempos de ejecución . . . 13
3.2.4. Pesos de entrada y salida . . . 14
3.3. Redes neuronales con Backpropagation . . . 14
3.3.1. Nodos en capa oculta . . . 14
3.3.2. Comparación de los resultados . . . 15
3.3.3. Pesos de entrada y de salida . . . 16
3.3.4. Particularidades del entrenamiento con backpropagation . . . 16
3.4. Reservoir computing . . . 18
3.4.1. Parámetros del modelo . . . 18
3.5. Comparación de los resultados . . . 19
4. Conclusiones 21
1. Introducción
La evolución y perpetuidad del conocimiento adquirido por una especie depende en gran medida de la capacidad de ser comunicado a otros individuos. Uno de los principales elementos en la comunicación es el canal; el medio físico a través del cual un conjunto de datos es transmitido de emisor a receptor utilizando un cierto código conocido por ambos interlocutores.
A lo largo de la historia, la evolución de la complejidad de código y canal ha permitido de la misma manera un aumento en la complejidad del mensaje a ser transmitido. Así, mientras que en la prehistoria se contaba principalmente con la producción de sonidos primitivos, el descu- brimiento de la escritura permitió una transmisión del conocimiento más eficiente y avanzada.
En la actualidad, la enorme cantidad de datos a ser transmitidos e interpretados es tan grande y compleja que resulta necesario sustituir emisor y receptor por dispositivos con capacidades de interpretación mucho más veloces y eficientes que las de los interlocutores humanos.
Una de las principales formas de transmitir información es mediante su codificación en forma de onda, ya sea de presión (señal acústica), luz (señal óptica) o electromagnética. Sin embargo, debido a que la señal se transmite a través de un medio, distintos mecanismos físicos participan en su distorsión, variando amplitud, fase o frecuencia de la señal de manera desigual. Mientras mayor sea la longitud de la transmisión, mayor será la distorsión de la señal, y menor será la probabilidad de que el receptor sea capaz de recuperar el mensaje original.
Este problema puede ser tratado de dos maneras: la optimización del emisor y/o la búsqueda de métodos más eficientes en el receptor para recuperar la señal original a partir del residuo distorsionado que le llega tras la transmisión. La exploración de las técnicas centradas en la mejora de la recuperación de la señal en el receptor será el objetivo principal de este trabajo.
1.1. Señales ópticas
Se caracteriza con el nombre de señal óptica a toda aquella información codificada en forma de luz. Algunos ejemplos históricos de comunicación óptica son: las señales de humo, las bengalas de socorro o los reflectores de larga distancia.
Los métodos tradicionales de codificación en comunicación óptica son el código morse, usado en la transmisión de mensajes alfanuméricos principalmente entre interlocutores humanos, y el código binario, predominante en el campo de las telecomunicaciones y la tecnología digital. La principal ventaja del código binario es su codificación dicotómica de la información, en la que normalmente la ausencia de luz representa un 0 y su presencia representa un 1.
En la actualidad, el principal medio de transmisión en comunicación óptica es la fibra óptica; un fino "hilo" transparente a través del cual se envían los pulsos de luz que representan la información a transmitir. El haz de luz queda confinado en el interior de la fibra propagándose con un ángulo de reflexión superior al ángulo límite del medio en virtud de la ley de Snell.
La distancia y velocidad de comunicación por fibra óptica queda limitada por la distorsión de la transmisión debido a mecanismos físicos tales como el efecto Kerr, la dispersión cromática, o el fenómeno de four-wave mixing [2]. Las redes que utilizan fibra óptica han mostrado ser capaces de operar en la actualidad a una velocidad mayor a los Tb/s [3].
Por lo general, el receptor utiliza algoritmos de procesamiento de señal digital a alta velocidad (DSP) para compensar las distorsiones lineales y no-lineales de la señal [4]. Sin embargo, estos métodos dejan de ser eficientes para fuertes distorsiones no-lineales de la señal, lo que da pie a explorar nuevos algoritmos que puedan cubrir estas necesidades.
En este trabajo se explorará el uso de técnicas de procesamiento de información neuro-inspiradas en la tarea del procesamiento de señales en comunicaciones de alta velocidad y larga distancia.
Se profundizará en el uso de métodos propios delMachine learning como pueden ser lasextreme learning machines (ELM) [5] o el reservoir computing [6].
1.2. Inteligencia artificial
El uso de maquinaria capaz de interpretar algoritmos preprogramados para resolver una cierta tarea se remonta hasta mediados del s.XIX, con los primeros trabajos de Charles Babbage y Ada Lovelace [7]. La creciente complejidad de los problemas a ser resueltos y la paralela evolución tecnológica ha motivado la búsqueda de modelos de programación más avanzados así como una cierta tendencia de la ciencia hacia el abandono de lo analítico en virtud de los modelos numéricos.
El esquema clásico de programación se fundamenta en la manipulación de un conjunto de datos de entrada por parte de una colección de algoritmos preprogramados. Este tipo de programación posee grandes aplicaciones en la simulación de modelos físicos y en general en todas aquellas tareas que permitan una abstracción y representación en forma de lenguaje de programación. El elemento problema en este tipo de programación es la salida.
Figura 1: Esquema de programación clásico.
Sin embargo, este esquema no permite extender sus aplicaciones a otro tipo de tareas más com- plejas como pueden ser el manejo eficiente de grandes cantidades de datos, la interpretación continua del entorno, y en general aquellas tareas que requieran de una cierta capacidad de aprendizaje, generalización, cognición, y/o toma de decisiones.
A mediados del s.XX surge el concepto de inteligencia artificial; una búsqueda de distintas técnicas que permitieran dotar a las máquinas de aquellas capacidades comunmente asociadas a la inteligencia humana [8]. Una de las principales metodologías en inteligencia artificial, las redes neuronales artificiales, toma su inspiración en la manera en la que el cerebro de los animales procesa la información; una primera aproximación a la réplica de la inteligencia humana.
En este trabajo se hará uso principalmente de Machine learning, una rama propia de la inteli- gencia artificial basada en el entrenamiento de la red neuronal a base de ejemplos [9].
1.2.1. Machine learning
De manera coloquial, elMachine learning puede ser definido como el conjunto de técnicas compu- tacionales enfocadas a proporcionar una cierta capacidad cognitiva a una máquina a través del entrenamiento de una red neuronal mediante ejemplos. El objetivo principal es educar a la ma- quinaria para fomentar su autonomía en la realización de una cierta tarea.
Una definición un poco más formal es la propuesta por Tom M. Mitchell [10], no tanto en términos cognitivos sino operacionales: "Se dice que un programa informático aprende de la experiencia E respecto a algún tipo de tareas T con desempeño P si su desempeño en tareas T, tal y como es medido por P, mejora con la experiencia E.".
Dado un conjunto de entradas y sus correspondientes salidas (valores de entrenamiento), el programa debe ser capaz de entrenar y ajustar la algoritmia interna para poder predecir el resultado de nuevas entradas que no pertenezcan al conjunto de entrenamiento,
Figura 2: Esquema de programación en Machine learning.
El uso de técnicas de Machine learning ha demostrado ser de utilidad para un gran número de aplicaciones interdisciplinares tales como la conducción autónoma [11], el reconocimiento de patrones [12], estudios sociológicos [13], o en investigación biomédica [14].
2. Métodos
2.1. Datos de trabajo
Los datos que se analizarán a largo de este trabajo han sido generados y obtenidos gracias al Dr.
Apostolos Argyris y colaboradores [1].
2.1.1. Origen de los datos
El Dr. A. Argyris ha modelado de manera numérica la transmisión de los datos por fibra óptica utilizando un modelo de propagación basado en la ecuación de Schrödinger acoplada no-lineal (CNLSE) [2], resuelta utilizando split-step Fourier method (SSFM).
En la simulación se han considerado efectos de atenuación de la señal, dispersión cromática, efecto Kerr, y dispersión Raman estimulada, principalmente.
Con todos estos efectos, el campo óptico Etr(t, z) que viaja por el SSFM obedece la ecuación i∂Etr
∂z +ialoss
z Etr−β2
2
∂2Etr
∂t2 +γ|Etr|2Etr = 0 (1) donde z es la distancia en km, t es el tiempo relativo en el sistema de referencia que se mueve a la velocidad de grupo, aloss es el coeficiente de pérdida de transmisión por fibra óptica, β2 es el coeficiente de dispersión cromática, y γ es el coeficiente instántaneo de no linealidad de Kerr.
Se considera el siguiente conjunto de parámetros para la transmisión SSFM: aloss=0.2 db/km, β2=21.7 ps2/km y γ= 3·10−29 km2/mW.
Se ha utilizado un láser DFB de un solo modo emitiendo con un poder óptico de 10 mW a 1550 nm, con un ritmo de pulsación de 25 Gbps y un ratio de señal óptica a ruido de 33 dB. Las señales son transmitidas una distancia de 50 km sin compensar. Finalmente, la señal es filtrada de manera eléctrica con un filtro de paso bajo tipo Bessel de cuarto orden.
Se han generado tres secuencias de datos independientes de 16384 bits cada una. Por cada bit en la señal, se toman 8 muestras de la señal distorsionada.
Figura 3: Ejemplo de 10 bits de la señal medidos a la salida de la transmisión óptica. Este tipo de señal es la entrada a los algoritmos de Machine Learning usados a continuación. Por cada intervalo de tiempo se codifica un bit y se representa aquí por 8 muestras.
El objetivo de este TFG será recuperar los bits de la señal original a partir de las muestras de la señal recibida en el emisor. Para ello se utilizará una de las secuencias como entrenamiento (seq1) mientras las otras dos serán utilizadas como test (seq2, seq3).
2.1.2. Manipulación de los datos
Como se ha introducido en la sección anterior, por cada bit que entra en la fibra óptica se tomarán ocho muestras de la señal de salida. El objetivo principal será a partir de estas ocho muestras recuperar la información acerca del bit original que ha quedado distorsionado tras su transmisión.
Posteriores análisis muestran que no es suficiente con estudiar la señal en la ventana temporal del bit considerado, sino que es necesario acceder a la información de bits contiguos en la señal final para recuperar con mayor precisión el bit actual. Esto se debe a que los distintos efectos a los que se ve sometida la onda durante su transmisión provocan una dispersión de la información mucho más amplia que la ventana temporal propia del bit considerado.
Por este motivo, al intentar recuperar un bit se le asignará un número de vecinos considerados en el entrenamiento según el siguiente esquema:
Figura 4: Agrupamiento de información mediante vecinos.
A cada bit de señal original se le asignarán 8·n muestras de señal distorsionada, donde n es el número de bits considerados en el entrenamiento. No todos los bits poseen vecinos temporales, con lo que se dejará de considerar aquella información de los contornos que no permita acceder a sus vecinos.
2.1.3. Evaluación de los datos
El mecanismo principal utilizado para evaluar y comparar el rendimiento de los algoritmos uti- lizados será el bit error rate (BER).
Dada una señal conocida de entrada, y la señal recuperada tras su distorsión, se comparará bit a bit las coincidencias. Se define el BER como la fracción total de bits recuperados de manera errónea por el programa en proporción al número total de bits de la señal de entrada.
BER= # Bits no coincidentes
# Bits totales (2)
Debido a que cada secuencia de datos contiene 16384 bits de información, el límite estadístico accesible es de
BER lim
= 1
16384 = 6,1·10−5
lo que equivale a recuperar erróneamente únicamente un bit en toda la secuencia.
2.2. Redes neuronales artificiales
Las redes neuronales artificiales (ANN) surgen como una herramienta computacional de procesa- miento de la información con inspiración en las redes neuronales biológicas, las cuales constituyen los cerebros de los animales [15]. Son sistemas conectivos cuya estructura básica es un conjunto de nodos y enlaces entre ellos a similitud de las neuronas y las sinápsis biológicas.
Pese a no poseer de base una alta plausibilidad biológica (i.e. reproducir los comportamientos de las neuronas biológicas) distintos modelos más avanzados han sido propuestos para reproducir con mayor precisión los sistemas de neuronas biológicos [16], [17].
2.2.1. Neurona biológica vs neurona computacional
Las neuronas son células excitables que conducen impulsos y constituyen la unidad funcional del sistema nervioso [18]. Pese a que las neuronas pueden exhibir morfologías muy diversas, todas las neuronas presentan unas estructuras comunes: las dendritas, el soma y el axón.
Las dendritas son prolongaciones especializadas en recibir estímulos provenientes de otras neu- ronas (inputs de información) y el axón es una prolongación especializada en la conducción de impulsos (outputs de información). El soma es el cuerpo celular de la neurona en donde se encuentra su núcleo rodeado de citoplasma.
Con inspiración en la neurona biológica, el modelo más sencillo de neurona computacional que consideraremos consta de unas entradas (inputs), un núcleo de procesamiento de la información, y una salida (output).
Figura 5: Comparación entre una neurona biológica [19] y una neurona computacional.
2.2.2. Capas de neuronas
Una vez conocida la estructura de un nodo individual (i.e. neurona computacional), se procede a construir la red neuronal completa. Una de las estructuras más comunes es agrupar los nodos en capas, con similitud con la forma en la que la corteza visual cerebral procesa la información [20]. Distinguimos entre capa de entrada, capas ocultas, y capa de salida.
La capa de entrada se encarga de proyectar los datos de entrada sobre los nodos de la primera capa oculta. Esta capa posee tantos nodos como entradas sean requeridas por la aplicación. En este trabajo se considera un nodo en la capa de entrada por cada muestra en el entrenamiento.
La información de cada uno de los nodos de la capa de entrada pueden ser enviada a todos los nodos de la primera capa oculta (entrenamiento completo) o sólo a parte de ellos (entrenamiento parcial). En este trabajo se considerará entrenamiento completo por simplicidad.
Las capas ocultas se encargan del procesamiento de los datos que reciben de otras neuronas, aplicando sobre ellos una cierta transformación f(x), generalmente no-lineal. El número de capas ocultas es variable y depende del método en particular. Se considera como mínimo una capa oculta, sin existir límite máximo (véase Fig. 6). La última capa oculta envía los datos procesados a la capa de salida, la cual posee tantos nodos como salidas sean requeridas en cada aplicación.
El esquema más simple de conexión entre nodos se conoce como Feedforward, en el que la in- formación viaja siempre hacia delante en la red. En contraposición, encontramos las redes más generales con recurrencias, donde las conexiones entre neuronas pueden formar ciclos dando lugar a la retroalimentación.
Figura 6: Red neuronal con esquema de capas y propagación de la información Feedforward.
A cada uno de los enlaces entre dos nodos se le asigna un valor de ponderación (o peso). Este peso será un factor multiplicativo que determinará la importancia de la información transmitida entre los nodos, en similitud al funcionamiento de las sinápsis neuronales. Antes de poder ser utilizada, la red debe ser entrenada para ajustar los pesos asociados a las conexiones entre nodos.
2.2.3. Función de activación
La función de activaciónf :R→Rse define como la transformación aplicada sobre la entrada de información a un nodo para obtener su salida. En la literatura hay diversos ejemplos de posibles funciones de activación. En particular, la elección de la función de activación permite adaptar la red neuronal al sistema a tratar incluso en el caso de sistemas neuromórficos en hardware.
En este trabajo se ha escogido como función de activación la función sigmoide, definida como f(x) = 1
1 + e−x
La función sigmoide se utiliza con frecuencia en tareas de clasificación, pues permite obtener probabilidades al mapear el intérvalo (−∞,∞) al intérvalo (0,1) tal y como se puede ver en la Fig. 7. Además, es una función diferenciable y monótona, lo que facilita su optimización.
Figura 7: Representación de la función sigmoide.
2.3. Motivación
A lo largo de este trabajo se utilizará una red neuronal artificial de una única capa oculta;
principalmente por simplicidad. Se estudiará cómo al aplicar sobre la red algoritmos cada vez más complejos se obtiene una reducción creciente del error sobre la señal recuperada.
La primera técnica será realizar una regresión en crudo sobre los datos. Esto nos permitirá obtener un margen superior para el error que servirá como punto de referencia sobre la mejora del error al aplicar el resto de métodos de Machine learning.
A continuación se introducirá el primer método que actuará sobre la red neuronal artificial:
las extreme learning machines (ELM). Este algoritmo se caracteriza por escoger los pesos que conectan la capa de entrada con la capa oculta de manera aleatoria.
Aumentando en complejidad se introducirá el algoritmo de backpropagation, el cual permitirá entrenar tanto los pesos de entrada como los pesos de salida de la red. Se aprovechará este método para estudiar la influencia de añadir un mayor número de capas ocultas a la red en esta aplicación en particular.
Finalmente se introducirán recurrencias dentro de los nodos de la capa oculta, dotando a la red de memoria de los paquetes de entrenamiento anteriores. Esta técnica permite introducir el concepto de reservoir computing.
2.4. Predicción de la red
Procedemos a representar de manera matemática la obtención de la señal predicha por la red una vez ha sido entrenada.
Sea Xel conjunto de muestras de la señal distorsionada yYla señal objetivo conocida asociada a cada entrada,
X =
x(1)0 x(1)1 . . . x(1)n
... . .. ... ... x(n)0 . . . x(n)n
Y =
y0 y1 ... yn
donde x(j)i representa el i-ésimo elemento del paquete de entrenamiento j-ésimo. Sean Θint la matriz de pesos de entrada y Θout la matriz de pesos de salida, la señal predicha por la red vendrá determinada como
Ypred=f(XΘTint)ΘTout donde f(x) es la función de activación de cada nodo.
El objetivo será entrenar las matrices Θin y/oΘout para que la matrizYpred sea lo más cercana posible a la matrizY.
2.5. Regresión en crudo sobre los datos
La regresión en crudo sobre los datos permite obtener un margen superior para el error de recuperación de la señal original, pues será la técnica más rudimentaria utilizada en este trabajo y que no involucra redes neuronales.
El objetivo será entrenar una función predictora que transforme los datos de entrada en un cierto valor de salida. Definido un valor umbral, la función predictora será capaz de realizar tareas de clasificación dicotómica.
2.5.1. Regresión lineal
La primera propuesta es una función predictora lineal de la forma hθ(x) =θ0x0+θ1x1+θ2x2+. . .+θnxn
donde el conjunto de parámetrosθiasigna un peso a cada uno de los datos de entrada. Conociendo el resultado esperado para distintos conjuntos de datos de entrada será posible ajustar el valor de los pesos para optimizar la predicción del resultado del análisis de nuevas entradas.
Para obtener los parámetros óptimos es necesario definir una función de coste que cuantifique la diferencia entre la señal predicha y la señal conocida. Los parámetrosθique minimizan la función de coste son los escogidos para la función predictiva. Se comienza asumiendo unos parámetros iniciales arbitarios que son ajustados de manera iterativa tal y como se muestra en la Fig. 8.
Figura 8: Esquema de optimización de la función de coste mediante la técnica deGradient descent.
En el caso de la regresión lineal la función de coste considerada viene definida como J(θ0, . . . , θn) = 1
2
m
X
i=1
(hθ(Xi)−yi)2
donde Xi es el conjunto de datos de entrada,hθ(Xi)el valor predicho yyi el valor real conocido.
2.5.2. Regresión logística
La segunda propuesta es una función predictora sigmoide de la forma gθ(x) = 1
1 + e−xθT
Esta función mapea el intérvalo real (-∞, ∞) al intérvalo (0,1), lo que la hace una excelente propuesta para llevar a cabo tareas de clasificación probabilísticas.
Para encontrar los parámetros óptimos se utilizará la siguiente función de coste [21], J(θ0, . . . , θn) =−1
m
m
X
i=1
[yilog (gθ(Xi)) + (1−yi) log (1−gθ(Xi))]
2.6. Extreme learning machines (ELM)
La idea de las extreme learning machines (ELM) surge bajo la motivación de desarrollar un método capaz de simplificar y unificar el uso de redes neuronales artificiales [22]. Hasta la fecha se consideraban un gran número de algoritmos útiles según los distintos tipos de redes. Sin embargo, todos ellos requerían de una alta intervención humana, eran de lento procesamiento y poseían una baja escalabilidad de aprendizaje. El principal problema tras estos fenómenos era el uso de algoritmos de aprendizaje basados en gradientes, y la necesidad de entrenar todos los parámetros de la red de manera iterativa.
Las extreme learning machines (ELM) se proponen como un esquema de aprendizaje general para distintos tipos de redes. Las principales características perseguidas son la alta precisión en la predicción, una baja intervención humana, y sobretodo una considerable reducción en el tiempo de computación necesario, con el objetivo de alcanzar aprendizaje a tiempo real. Por ejemplo, mientras que algoritmos basados en deep learning tardan días, el uso de ELM es capaz de reducir el tiempo de computación a horas e incluso minutos.
La principal diferencia de ELM con respecto a otros algoritmos de aprendizaje es la asignación de pesos tanto de entrada como de conexión entre capas ocultas aleatorios distribuidos en el intérvalo [-1, 1]. Esta simple consideración reduce el entrenamiento de la red a una regresión sobre los datos de salida, lo cual es capaz de reducir altamente el tiempo de computación sin afectar gravemente al desempeño de la red [23].
2.7. Backpropagation
El método de Backpropagation es uno de los algoritmos de aprendizaje más utilizados en el entrenamiento completo de redes neuronales, especialmente en aquellas con un gran número de capas ocultas (Deep learning) [24]. El objetivo será entrenar los pesos asociados a todas las conexiones de la red neuronal, a diferencia de ELM donde sólo se entrenan los pesos de salida.
Para entrenar los pesos de la red es necesario conocer la diferencia entre los resultados predichos por la red y los valores reales conocidos, pues el objetivo será escoger unos pesos tales que esta diferencia sea mínima.
Inicialmente la información se propaga hacia delante (de entrada a salida), con el objetivo de calcular una primera propuesta. A continuación, se determina la diferencia entre la respuesta calculada y la respuesta real conocida utilizando una función de coste intermedia. Esta informa- ción se propaga de manera inversa a lo largo de la red (de salida a entrada) encontrando aquella combinación de parámetros que minimiza la función de coste (se entrena la red).
Pese a ser un algoritmo efectivo para entrenar todo el conjunto de pesos de la red, este procedi- miento iterativo requiere de un gran coste computacional debido al elevado número de cálculos que son requeridos. Además, debido a que el conjunto de parámetros a ser entrenados es tan grande, este método requiere de un amplio conjunto de datos de entrenamiento para obtener una red capaz de predecir resultados con precisión.
El uso de Backpropagation como algoritmo de aprendizaje ha resultado ser efectivo en multitud de aplicaciones comunmente relacionadas con elDeep learning, especialmente en el reconocimiento automático de letra escrita a mano [25].
2.8. Reservoir Computing
En todos los algoritmos revisados hasta ahora la información se propaga según un esquema Feedforward, de manera consecutiva entre capas de la red. El uso de varias capas ocultas resulta costoso computacionalmente pues requiere del entrenamiento de un gran número de parámetros para obtener una respuesta precisa.
Una posible mejora a esta metodología es introducir recurrencias entre los nodos dentro de sólo una capa oculta, dando lugar así a un nuevo espacio conocido como reservoir que se comporta como un sistema dinámico. La conexión entre nodos es inicializada de forma aleatoria y ya no se cambian durante el entrenamiento. Posteriormente sólo serán entrenados los pesos que conectan la salida del reservoir con la capa de salida. En la Fig.9, mostramos un ejemplo de una red neuronal típica de reservoir computing.
Figura 9: Esquema generalizado de la arquitectura de una ANN con Reservoir computing.
La existencia de bucles con recurrencias enreservoir permite acceder a la información de paquetes de entrenamiento anteriores, dotando así a la red neuronal de memoria. Por lo general no existe una estructura definida acerca de cómo deben interconectarse los nodos del reservoir, y suele ser establecida de manera arbitraria. En este trabajo se propone considerar como reservoir un único nodo no-lineal con retraso en su respuesta [26], lo que da lugar a una configuración en anillo. Esta simple pero inteligente estructura ha demostrado un alto desempeño en tareas como el reconocimiento del habla o la predicción de series temporales.
Figura 10: Esquema de la arquitectura de una ANN con reservoir constituido por un único nodo no-lineal con retraso en su respuesta.
El nodo 1 en la Fig. 10 representa el nodo no-lineal con retraso, mientras que el resto de nodos son imágenes virtuales de éste separados entre sí un intérvalo de tiempo τ. El retraso temporal del nodo no-lineal vendrá dado como t=Nτ donde N es el número de nodos virtuales.
Sea ri el nodo considerado y n el marco de referencia temporal dictado por la entrada, el valor de cada nodo delreservoir para esta configuración vendrá determinado como
r1(n) =F(αΘint(n)x(n) +β rN(n−2)) ri(n) =F(αΘint(n)x(n) +β ri−1(n−1))
donde α es el peso de la información de entrada y β el peso del estado anterior delreservoir.
3. Resultados
Las técnicas expuestas anteriormente en la sección Métodos serán aplicadas principalmente sobre la secuencia de datos seq2, que hará el papel de conjunto test, tras utilizar la secuencia de datos seq1 como conjunto de entrenamiento.
3.1. Regresión en crudo sobre los datos
La regresión sobre los datos en crudo de la señal óptica después de la transmisión en la fibra es una técnica relativamente rudimentaria que resulta útil como margen de error de referencia en la recuperación de la señal para evaluar si las correspondientes técnicas deMachine Learning están funcionando y en qué grado.
Tras aplicar regresión lineal y logística sobre la señalseq2 obtenemos los siguientes resultados:
Figura 11: Regresión en crudo sobre la secuencia de datos seq2. Comparativa entre regresión lineal y regresión logística.
En la Fig. 11 queda de manifiesto la mejora del error a medida que se considera la información contenida en un mayor número de vecinos del bit actual. También se observa como el uso de la función logística en la función de coste de la regresión proporciona una disminución del error, llegando incluso en el mejor de los casos a alcanzar una mejora de aproximadamente un orden de magnitud. Este resultado será de gran importancia en el posterior análisis del resto de técnicas, algunas de las cuales consideran una regresión final de los datos salientes de los nodos de la capa oculta. Debido a la simplicidad del método y a la ausencia de no linealidades, el tiempo de ejecución de este algoritmo resulta muy inferior al del resto de técnicas.
3.2. Extreme learning machines
El uso de extreme learning machines (ELM) corresponde al caso más simple de red neuronal artificial de una capa oculta.
3.2.1. Nodos en capa oculta
El número de nodos en la capa oculta de una extreme learning depende de la dificultad de la tarea y el tipo de datos disponibles. Por ello, procedemos a representar la evolución del BER en función del número de nodos de la capa oculta para la secuencia de datosseq2 y un número fijado de bits considerados en el entrenamiento. Considerando 4 bits por paquete de entrenamiento se obtienen los resultados de la Fig. 12.
Figura 12: Evolución del BER en función del número de nodos en la capa oculta considerando 4 bits por paquete de entrenamiento.
En la Fig. 12 puede comprobarse como al aumentar el número de nodos en la capa oculta el error de predicción de la señal original disminuye, hasta llegar a un cierto nivel de saturación en el que decrece la pendiente. Debido a que un mayor número de nodos en la capa oculta equivale a mayor coste computacional, se ha escogido como solución de compromiso un valor intermedio dentro de esta región de pendiente disminuida de 288 nodos. Esto equivale a tomar 72 nodos en la capa oculta por cada bit considerado en el entrenamiento. Hemos comprobado que resulta útil utilizar un número constante de nodos en capa oculta por cada bit considerado por paquete de entrenamiento.
3.2.2. Comparación de los resultados
Procedemos a aplicar el método de ELM sobre seq2, utilizando tanto la regresión lineal como la regresión logística mencionadas con anterioridad en el ajuste de los datos salientes de la capa oculta de la red neuronal. Debido a que los pesos de entrada se asignan de manera arbitraria, el resultado representado en la Fig. 13 es la media de diez ejecuciones independientes para una mayor generalización.
Figura 13: Aplicación del algoritmo ELM sobre la secuencia de datos seq2. Comparativa entre el uso de regresión lineal y regresión logística. Valores medios sobre 10 ejecuciones.
El primer resultado que se extrae es que al introducir una red neuronal intermedia, mejora en al menos un orden de magnitud el BER frente a la regresión en crudo de los datos (ver Fig. 11).
Tal y como se había comprobado en el apartado anterior, el uso de una regresión de tipo logís- tica resulta mucho más eficaz frente a una regresión de tipo lineal, sobretodo a medida que se consideran más bits en el proceso de entrenamiento.
En nuestro caso, las barras de error para la regresión logística con 9 y 10 bits surgen de superar el límite estadístico en algunas de las ejecuciones, lo que equivale a recuperar sin error la señal original al completo. Esto viene dado a que el uso de ELM con regresión logística ha sido capaz de mejorar por encima de lo esperado el BER frente al trabajo del Dr. A. Argyris y colaboradores [1]. Esta a priori sugerente propuesta requerirá de mayores análisis en la práctica debido a la dificultad de implementar la regresión logística en hardware, como se discutirá más adelante en este trabajo. Para determinar con precisión los límites del método ELM con regresión logística sería necesario el uso de señales formadas por un mayor número de bits de entrada.
En la Fig. 13 se distinguen dos mínimos óptimos en el entrenamiento con ELM. El primero resulta de considerar siete bits en el entrenamiento cuando ELM utiliza regresión lineal, y el segundo de considerar nueve bits en el entrenamiento cuando ELM utiliza regresión logística. El aumento en el error tras estos mínimos surge de considerar información demasiado alejada del bit actual, lo que introduce un sesgo en el entrenamiento.
3.2.3. Tiempos de ejecución
A la hora de valorar la mejora de la recuperación de la señal que proporciona el uso de la regresión logística resulta útil comprobar el tiempo de ejecución de cada uno de los algoritmos para determinar si el método es además eficiente computacionalmente. Los resultados de dicho análisis son presentados en la Fig. 14.
Figura 14: Diferencia entre los tiempos de ejecución del método ELM con regresión logística y ELM con regresión lineal. Los puntos verdes indican un menor tiempo computacional con el uso de regresión logística frente a la lineal.
Como se puede comprobar en la Fig. 14, el tiempo de ejecución de ambos métodos difiere como mucho en medio segundo, usando código en Python y una CPU de 2.5 GHz Intel Core i7. Esto implica que el uso de la regresión logística no resulta excesivamente caro computacionalmente para este ejemplo en comparación a la gran disminución de error que presenta. Además, resulta notorio que precisamente en la región en la que existe mayor diferencia en el BER, el uso de la regresión logística resulta computacionalmente más eficiente que el uso de la regresión lineal.
3.2.4. Pesos de entrada y salida
Debido a que los pesos de entrada son escogidos de manera aleatoria en ELM, se espera que estos no presenten ningún tipo de estructura, y que por lo tanto al entrenar los pesos de salida estos tampoco adquieran ninguna estructura ventajosa en particular. Se representa a continuación un mapa comparativo entre los pesos de entrada (en este caso forman una matriz) y los pesos de salida (en este caso forman un vector),
Figura 15: Comparación entre los pesos de entrada y salida utilizando el método de ELM sobre seq2. Se consideran 4 bits en cada paquete de entrenamiento.
En el siguiente apartado comprobaremos como técnicas más complejas dotan de cierta estructura a los pesos. Así, se pondrá de manifiesto qué zonas en particular de la información considera el algoritmo más importantes a la hora de recuperar la señal de entrada tras el entrenamiento. En el caso de la ELM no aparece ningún énfasis particular de la información de la capa oculta a la vista de los pesos de salida.
3.3. Redes neuronales con Backpropagation
El siguiente paso de complejidad dentro de las redes neuronales de una capa oculta es que tanto los pesos de entrada como los de salida se entrenen, lo cual es posible mediante algoritmos como backpropagation tal y como se ha explicado en la sección deMétodos.
3.3.1. Nodos en capa oculta
Para el estudio de este tipo de redes neuronales no existe una regla predefinida acerca del número de nodos a tomar en la capa oculta en función del número de bits considerados en el entrenamien- to. En consecuencia y para poder comparar las distintas técnicas utilizadas de manera consistente se toma de nuevo el criterio de escoger 72 nodos en la capa oculta por cada bit considerado en el entrenamiento. Resulta intuitivo considerar a priori una mejora en el rendimiento del algoritmo si se añaden capas ocultas adicionales (i.e. Multilayer perceptron). El número de nodos escogidos ad hoc para cada capa oculta adicional corresponde a la mitad del número de nodos de la capa anterior siguiendo uno de los criterios usado habitualmente en redes neuronales de varias capas.
3.3.2. Comparación de los resultados
A continuación, se muestra en la Fig. 16 la media de los resultados para una y dos capas ocultas tras aplicar este método tanto sobreseq2 como seq3, buscando una mayor generalización de los resultados.
Figura 16: Comparación entre el uso de una capa oculta y dos capas ocultas en una red neuronal con backpropagation.
En la Fig. 17 se representa la diferencia temporal entre la red neuronal de dos capas ocultas y la de una capa oculta.
Figura 17: Diferencia de tiempos de ejecución entre el uso de dos capas ocultas o una única capa.
Tal y como puede observarse en las Figs. 16 y 17, en general añadir capas ocultas adicionales no proporciona mejoras significativas en la reducción del BER, pese a introducir un alto coste computacional adicional. Por lo tanto para los posteriores análisis en este trabajo sólo se con- siderará el modelo de red neuronal con una única capa oculta. Es interesante mencionar que el uso de redes neuronales con backpropagation no proporciona mejoras a partir de alrededor de considerar paquetes de entrenamiento de 3 bits.
3.3.3. Pesos de entrada y de salida
Al usar redes neuronales con backpropagation tanto los pesos de entrada como los de salida son entrenados. Por ello resulta razonable considerar que la información sobre cómo la red neuronal maneja los datos de entrada subyace a la estructura que los pesos adoptan. En la Fig. 18 se representa a continuación un mapa comparativo entre los pesos de entrada y los pesos de salida para este algoritmo.
Figura 18: Comparación entre los pesos de entrada y salida utilizando una red neuronal de una capa oculta con backpropagation sobre la secuencia de datos seq2. Se consideran 4 bits en cada paquete de entrenamiento.
Tal y como se esperaba encontramos un cierto tipo de estructura en los pesos de entrada y salida en la Fig. 18. Dicha estructura no se encontraba presente al analizar el algoritmo de ELM (ver Fig. 15).
Pese a no obedecer un tipo de estructura claramente definido es posible extraer información a partir de la Fig. 18. Se identifican nodos de la red oculta cuyos pesos de entrada son destaca- blemente superiores al resto de nodos de la red (e.g. nodos 72, 98 y 220). Esta información es transmitida a los pesos de salida, donde pueden observarse picos para los mismos nodos de la red. En la Fig. 18 puede apreciarse como en general se les asigna un mayor peso a las muestras procedientes del bit actual y de los vecinos avanzados temporalmente. Esto sirve como indicati- vo de cómo se dispersa la información en la señal después de la transmisión en la fibra óptica.
También permite entender qué muestras poseen una mayor importancia a la hora de recuperar la señal entrante.
3.3.4. Particularidades del entrenamiento con backpropagation
Cuando no hay limitación en la cantidad de datos de entrenamiento ni limitación en la capacidad de cómputo, el uso de redes neuronales con backpropagation debe proporcionar mejores resultados que métodos menos complejos como ELM, ya que hay una mayor optimización de todas las capas de la red neuronal. En nuestro caso, sin embargo, comparando la Fig. 13 y la Fig. 16 se puede observar como a partir de tomar paquetes de cinco bits en el entrenamiento, ELM proporciona mejores resultados, especialmente al utilizar regresión logística.
La hipótesis inicial para esta discrepancia es que a partir de un cierto número umbral de nodos en la capa oculta, el número de ejemplos para este problema específico no es suficiente para entrenar completamente a la red neuronal.
En las Figs. 19 y 20 se representa la evolución del BER en función del número de ejemplos de entrenamiento para ambos algoritmos y dos configuraciones de nodos en la capa oculta de cada método.
Figura 19: Evolución del BER en función del número de ejemplos de entrenamiento utilizando Backpropagation sobreseq2. Se consideran 5 bits por paquete de entrenamiento.
Figura 20: Evolución del BER en función del número de ejemplos de entrenamiento utilizando ELM sobreseq2. Se consideran 5 bits por paquete de entrenamiento. Media de 3 ejecuciones.
En la Fig. 20 se comprueba como para ELM el número de ejemplos necesarios para alcanzar el mínimo BER posible enseguida alcanza un valor de saturación. Mientras más nodos son conside- rados en la capa oculta, mayor es el requerimiento de ejemplos para que la red quede totalmente entrenada. Sin embargo, para los rangos de nodos en la capa oculta de ELM que se consideran en este trabajo de fin de grado, el número de ejemplos de entrenamiento del que disponemos es más que suficiente.
En contraposición, en la Fig.19 se observa que para una red neuronal con Backpropagation, a medida que se aumenta el número de nodos en la capa oculta (proporcional al número de bits
considerados en el entrenamiento) se requiere de un mayor número de ejemplos para entrenar a la red. Mientras que utilizando 50 nodos el BER parece que alcanza su nivel de saturación, se observa como utilizando 500 nodos (i.e. seis bits por paquete de entrenamiento y superior) se requeriría de un mayor número de ejemplos de entrenamiento para alcanzar dicha saturación.
Por este motivo, al no ser capaz de alcanzar su máximo potencial (entrenamiento saturado) a partir de un cierto número de nodos en la capa oculta, la red neuronal con Backpropagation proporciona peores resultados que ELM.
Este resultado es un comportamiento especifico dependiente de los datos disponibles, y no un comportamiento general. Como la red neuronal con backpropagation entrena un mayor número de parámetros en comparación a ELM, se espera que con el suficiente número de ejemplos de entrenamiento la red neuronal con backpropagation presentará una mayor disminución del BER.
Debido a estas limitaciones prácticas y metodológicas no se considerará el método de red neuronal con backpropagation en el análisis comparativo final de nuestros datos. En general, la mayor ventaja de la red neuronal con backpropagation frente a la ELM es que alcanza cotas bajas de error incluso cuando se toman ventanas de pocos bits en los datos de entrada.
3.4. Reservoir computing
El método de reservoir computing es el método más complejo que se considera en este TFG para una red neuronal de una capa oculta, en la que en este caso se le introduce recurrencia entre los nodos de la capa oculta (i.e. conectividad con bucles dentro de la propia capa oculta).
3.4.1. Parámetros del modelo
El primer objetivo de esta sección es determinar la proporción entre el peso asociado a los datos de entrada y el asociado a la influencia de datos anteriores, es decir al estado anterior delreservoir.
Para ello el modelo ha sido ejecutado para distintos valores de los parámetros obteniéndose el mapa de error que se presenta en la Fig. 21.
Figura 21: Mapa de BER en función de los parámetros del algoritmo de Reservoir Computing sobre la secuencia seq2. Los datos entrantes se ponderan por el parámetro α y la influencia del estado anterior del reservoir por el parámetro β. Se han considerado cinco bits por paquete de entrenamiento. Media de 3 ejecuciones.
En la Fig. 21 se aprecia una zona diagonal (en azul oscuro) diferenciada del resto de la imagen.
Esta región muestra las combinaciones de parámetros que producen el menor BER siguiendo la relación aproximada de β = 2α.
En la Fig. 22 se compara el mapa de la Fig. 21 con el error dado por ELM para una red del mismo número de nodos y misma entrada
Figura 22: Comparación de mejora del BER utilizando Reservoir Computing frente a ELM sobre la secuenciaseq2. Se consideran cinco bits por paquete de entrenamiento. En rojo la combinación de parámetros para las que el uso de Reservoir Computing mejora al uso de ELM.
Comparando las Figs. 21 y 22 se encuentra coincidencia de resultados en la diagonal mencionada anteriormente. Esta equivale a considerar aproximadamente una relación 2 a 1 entre la influencia del estado anterior del reservoir y la entrada.
3.5. Comparación de los resultados
Una vez analizados de forma individual los distintos métodos se procede a hacer una comparara- tiva global de los resultados. Se representa en las Figs. 23 y 24 los resultados obtenidos utilizando regresión lineal y los resultados obtenidos utilizando regresión logística bien sobre los datos en crudo o en la capa de salida de los métodos ELM y RC.
Figura 23: Comparación entre los distintos métodos aplicados sobre la secuencia de datos seq2 utilizando regresión lineal bien sobre los datos en crudo o en la capa de salida de los métodos ELM y RC. Se considera la media de 10 ejecuciones tanto para ELM como para RC. En el método RC se utilizan los parámetros α= 1,5yβ = 3,0.
Figura 24: Comparación entre los distintos métodos aplicados sobre la secuencia de datos seq2 utilizando regresión logística bien sobre los datos en crudo o en la capa de salida de los métodos ELM y RC. Se considera la media de 10 ejecuciones tanto para ELM como para RC. En el método RC se utilizan los parámetros α= 1,5yβ = 3,0.
Tal y como se puede observar en las Figs. 23 y 24 se ha logrado una disminución del BER en la recuperación de la señal original cada vez mayor en relación a la complejidad del método utilizado. Aproximadamente la mayor mejora es de un orden de magnitud por método al utilizar los datos en crudo, ELM, o RC.
El uso de redes neuronales artificiales y de técnicas propias delMachine learning en el problema de recuperación de la señal en telecomunicaciones ha proporcionado buenos resultados frente a la regresión en crudo sobre los datos. Además, la incorporación de un reservoir mediante recurrencias en los nodos de la capa oculta de la red ha permitido reducir el BER sin acarrear un coste computacional adicional significativo.
Uno de los resultados más importantes de este trabajo de fin de grado ha sido comprobar como el uso de la regresión logística permite reducir considerablemente el BER frente al uso de la regresión lineal. Esto se consigue de manera eficiente, sin costes computacionales adicionales significativos (ver Fig. 14). Como puede comprobarse en la Fig. 24, el uso de regresión logística ha permitido obtener unos resultados que superan el límite estadístico disponible, con lo que son métodos con potencial para tratar problemas que incluyan la transmisión de un mayor número de datos. El hecho de que en algunos casos el promedio del BER esté por debajo del límite estadístico para una sola realización indica que varias realizaciones recuperan perfectamente los bits de entrada originales sin ningún error.
4. Conclusiones
El uso de técnicas propias del Machine learning presentan prometedores resultados en la tarea de la recuperación de señales ópticas en el campo de las telecomunicaciones.
Una vez analizados todos los métodos puede comprobarse como las extreme learning machines (ELM) surgen como un caso particular de reservoir computing donde no se considera el estado anterior delreservoir (β= 0). Por lo tanto los resultados presentados en las Figs. 23 y 24 parecen indicar la importancia de considerar el orden temporal de entrada de los datos, y como el contar con el estado anterior de la red tiene influencia positiva sobre los resultados.
El artículo original del Dr. Argyris y colaboradores [1] utiliza una función de activación más compleja centrada en su reproducción en hardware con láseres de semiconductor. Sin embargo, durante todo este trabajo se ha considerado una función de activación sigmoide en los nodos de la red para comprobar como se comportan las distintas técnicas en el contexto de una de las funciones de activación más comunes en Machine learning, y cuyos resultados son más sencillos de interpretar. Para incidir en la potencial importancia (o ausencia de importancia) de la función de activación pasamos a comprobar la influencia de la elección de la función de activación en el desempeño de la red. En la Fig. 25 se representan las curvas de aprendizaje del método ELM utilizando dos funciones de activación distintas: sigmoide y tangente hiperbólica, ambas usadas comunmente en Machine learning.
Figura 25: Comparación de las curvas de aprendizaje utilizando el método de ELM sobre la secuencia de datos seq2 y funciones de activación sigmoide y tangente hiperbólica.
En la Fig. 25 no se observan diferencias significativas según la no-linealidad utilizada como función de activación. Este resultado indica que los bit error rate aquí reportados no son una particularidad de la no-linealidad empleada sino más bien propios de los respectivos métodos de Machine learning.
A la vista de los resultados obtenidos en este TFG y en particular debido a la mejora de la recuperación de la señal obtenida mediante el uso de la función de activación sigmoide y re- gresión logística sobre la capa de salida de la red en comparación al artículo del Dr. Argyris y colaboradores [1], se espera poder profundizar en un futuro en este resultado y en sus posibles aplicaciones en hardware y/o software.
Referencias
[1] A. Argyris, J. Bueno, and I. Fischer, “Photonic machine learning implementation for signal recovery in optical communications,” Scientific Reports, vol. 8, p. 8487, 2018.
[2] G. Agrawal, Fiber-Optic Communication Systems (3rd ed, 2002), vol. 6. 2002.
[3] J. Yu and H. C. J. Zhang, “1.6Tb/s(4*400G)Unrepeatered Transmission over 205-km SSMF Using 65-GBaud PDM-16QAM with Joint LUT Pre-Distortion and Post DBP Nonlinearity Compensation,” Optical Fiber Communication Conference, pp. 6–8, 2017.
[4] E. Ip and J. M. Kahn, “Compensation of dispersion and nonlinear impairments using digital backpropagation,” Journal of Lightwave Technology, vol. 26, no. 20, pp. 3416–3425, 2008.
[5] G.-B. Huang, “An insight into extreme learning machines: Random neurons, random features and kernels.,” Cognitive Computation, vol. 6, pp. 376–390, 2014.
[6] M. Lukoševičius and H. Jaeger, “Reservoir computing approaches to recurrent neural network training.,” Computer Science Review, vol. 3, pp. 127–149, 2009.
[7] A. K. Lovelace, Ada, the Enchantress of Numbers: The Letters of Lord Byron’s Daughter and Her Description of the First Computer. Strawberry Press, 1992.
[8] M. Yazdani, “Artificial intelligence: Principles and applications,”
[9] S. B. Kotsiantis, “Supervised machine learning: A review of classification techniques,” inPro- ceedings of the 2007 Conference on Emerging Artificial Intelligence Applications in Computer Engineering., pp. 3–24, IOS Press, 2007.
[10] T. M. Mitchell, Machine Learning.
[11] Princeton Vison&Robotics, “DeepDriving: Learning Affordance for Direct Perception in Au- tonomous Driving,” Princeton Vison&Robotics, no. Figure 1, p. 1, 2018.
[12] C. M. Bishop, Pattern Recognition and Machine Learning, vol. 53. 2013.
[13] K. Lee, J. Caverlee, and S. Webb, “Uncovering Social Spammers: Social Honeypots plus Machine Learning,” Sigir 2010: Proceedings of the 33rd Annual International Acm Sigir Conference on Research Development in Information Retrieval, no. i, pp. 435–442, 2010.
[14] Ship, M. A., K. N. Ross, P. Tamayo, A. P. Weng, J. L. Kutok, R. C. Aguiar, and M. G.
et al., “Diffuse large b-cell lymphoma outcome prediction by gene-expression profiling and supervised machine learning,” Nature Medicine, vol. 8, no. 1, pp. 68–74, 2002.
[15] M. van Gerven and S. Bohte, “Editorial: Artificial neural networks as models of neural information processing,” Frontiers in Computational Neuroscience, vol. 11, p. 114, 2017.
[16] F. Zeldenrust, S. de Knecht, W. J. Wadman, S. Denève, and B. Gutkin, “Estimating the information extracted by a single spiking neuron from a continuous input time series,”
Frontiers in Computational Neuroscience, vol. 11, p. 49, 2017.
[17] G. Li, L. Deng, D. Wang, W. Wang, F. Zeng, Z. Zhang, H. Li, S. Song, J. Pei, and L. Shi,
“Hierarchical chunking of sequential memory on neuromorphic architecture with reduced synaptic plasticity,” Frontiers in Computational Neuroscience, vol. 10, p. 136, 2016.
[18] D. B. Stratton,Neurofisología. Editorial Limusa S.A., 1984.
[19] Wikipedia, the free encyclopedia, “Diagram of a Neuron,” 2008.
[20] C. D. Gilbert and J. P. Kelly, “The projections of cells in different layers of the cat’s visual cortex,” Journal of Comparative Neurology, vol. 163, no. 1, pp. 81–105.
[21] A. Cucchiara, “Applied logistic regression,” Technometrics, vol. 34, pp. 358–359, 2012.
[22] G. B. Huang, L. Chen, and C. Siew, “Universal approximation using incremental constructive feedforward networks with random hidden nodes,” IEEE Transactions on Neural Networks, vol. 17, no. 4, pp. 879–892, 2006.
[23] G. B. Huang, H. Zhou, X. Ding, and R. Zhang, “Extreme learning machine for regression and multiclass classification,” IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 42, no. 2, pp. 513–529, 2012.
[24] P. J. Werbos, “Backpropagation through time: what it does and how to do it,” Proceedings of the IEEE, vol. 78, no. 10, pp. 1550–1560, 1990.
[25] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D.
Jackel, “Backpropagation applied to handwritten zip code recognition,”Neural Computation, vol. 1, no. 4, pp. 541–551, 1989.
[26] S. Ortin, M. C. Soriano, L. Pesquera, D. Brunner, D. San-Martin, I. Fisher, C. R. Mirasso, and J. M. Gutierrez, “A unified framework for reservoir computing and extreme learning machines based on a single time-delayed neuron,” Scientific Reports, 2015.