Enseñar al robot reconocimiento facial: Deep Learning a Brain Spikes 2

reconocimiento facial e inteligencia artificial en el robot spiking neural networks

Además de lo que comentamos en la entrada anterior sobre implementar un modelo de reconocimiento facial, en nuestra charla se introdujo el concepto de Receptive Field de una neurona. Podría definirse como la región del espacio del estímulo de entrada que provoca que dicha neurona se active.

Otra limitación de la capa de Pooling es que, si el tamaño del Receptive Field es pequeño, entonces los efectos del operador de Pooling solo se sentirán en las capas más profundas de la red, que es donde normalmente los Feature Maps de salida de las capas convolucionales son más pequeños. Por lo tanto, las capas intermedias de la red serán menos robustas frente a grandes variaciones en los datos de entrada. Es decir, si a la hora de emplear el modelo para realizar predicciones los datos de entradas no son muy parecidos a los datos con los que se entrenó la red, el modelo no realizará predicciones correctas.

Spatial Transformer Network

Esta falta de generalización a la hora de realizar el aprendizaje nos llevó a citar algunas de las técnicas que hemos empleado para aumentar la variabilidad de los datos presentes en el conjunto de entrenamiento y a poner foco en una de ellas, conocida como Spatial Transformer Network. Si queréis conocer en detalle este tipo de redes, hemos escrito los siguientes artículos detallando su funcionamiento:

A grandes rasgos, la técnica de Spatial Transformer Network (STN) es un módulo diferenciable que se puede insertar en cualquier parte de la red principal (en nuestro caso, la que se encargará de realizar el reconocimiento facial) y que permite que dicha red principal aprenda de forma autónoma a aplicar transformaciones afines (rotaciones, traslaciones, escalados y transvecciones) al Feature Map donde la STN ha sido introducida. Con ello, aumentará la variabilidad de los ejemplos de entrenamiento y habrá más posibilidades de que funcione mejor a la hora de realizar predicciones en un entorno real.

Pero el problema de la dependencia de un conjunto de entrenamiento que sea muy parecido en variedad a los datos de entrada, que se encontrará el modelo en tiempo de predicción, sigue estando ahí. Por ello, hace falta cambiar la forma en la que estamos orientando la Inteligencia Artificial actual.

Integramos el aprendizaje de la Neurociencia a la inteligencia artificial

En la charla, quise introducir una vía que vamos a probar en datahack, que está más orientada al campo de la Neurociencia, encargada del estudio del funcionamiento e interacción de neuronas biológicas en distintos tipos de seres vivos.

El modelo más avanzado de sistema cognitivo con capacidad de razonamiento y generalización durante su aprendizaje es el cerebro humano. Así que no es descabellado pensar que, si de verdad queremos generar inteligencia de forma artificial, una buena forma de aproximarse a este problema es tratando de conocer más sobre el funcionamiento del cerebro humano y de emularlo de la forma más fiel posible.

Además, sería necesario avanzar en paralelo en el estudio de la naturaleza de nuestro entorno, lo que lleva a un conocimiento más profundo de la materia que lo compone.

Por ello, en la charla quise citar, como camino alternativo para hacer que la Inteligencia Artificial progrese, combinar conocimientos de áreas como la Computación Cuántica y la Neurociencia. Como el tiempo de la charla era muy limitado, quise finalizarla mostrando una introducción a las Spiking Neural Networks y más en concreto al modelo Leaky Integrate and Fire.

Spiking Neural Networks

Las Spiking Neural Networks (SNN) son redes que están inspiradas en la neurociencia de forma mucho más fiel que los modelos de Deep Learning. Las SNN emplean Spikes, es decir, activaciones de neuronas a lo largo del tiempo. Y es justamente en la información temporal que se obtiene al observar dichas activaciones donde está la base de su funcionamiento. El modelo Leaky Integrate and Fire es una simulación de una neurona que implementa diversas características de las neuronas biológicas. Combinando estas características con reglas de aprendizaje también basadas en comportamientos biológicos, como, por ejemplo, aproximaciones de Spike Timing Dependent Plasticity, el objetivo es construir redes que se aproximen más a la forma de funcionamiento de cerebros presentes en la naturaleza y conseguir una mayor capacidad de abstracción y razonamiento.

Esta es una de las vías que vamos a seguir en Datahack así que, si estáis interesados en ir conociendo qué resultados obtenemos, seguid atentos a las redes sociales de Datahack y a esta web para informaros de futuros eventos y artículos.

 

¡Nos vemos pronto en el evento de Innodata del 3 de Diciembre en Campus Madrid para seguir compartiendo ideas sobre Inteligencia Artificial, Robótica y Neurociencia!


Rubén Martínez, Data engineer en datahack

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *