Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Neuronas artificiales con término independiente

Fernando P.    16/02/2018

Temas:  Fundamentos

Vamos a tratar en este artículo un detalle en la configuración de perceptrones y perceptrones multicapa que no es muy relevante desde el punto de vista teórico pero que sí que es importante a la hora de entrenar una red con datos reales.

Básicamente, de trata de introducir una pequeña modificación en la arquitectura de una red que nos permita entrenarla de forma supervisada con conjuntos de datos de entrada arbitrarios.

Conjuntos de datos separables
Los perceptrones no son más que agrupaciones de neuronas artificiales que son capaces de delimitar una región convexa en el espacio de datos de entrada usando varios hiperplanos que definen semiespacios. La intersección de esos semiespacios es la región convexa que es capaz de separar el perceptrón.

Esta cuestión ya la vimos de forma práctica cuando creábamos un clasificador de ejemplo usando un perceptrón. Pero este ejemplo era muy sencillo y el conjunto de datos de entrada se podía separar usando un único hiperplano que pasara por el origen de coordenadas.

¿ Qué hubiera sucedido si el conjunto de datos de entrada sólo fuera separable por un hiperplano que no pasara por el origen de coordenadas ?

Pues hubiera sucedido que no podríamos solucionar el problema de ninguna forma con el tipo de arquitectura que teníamos, ni siquiera añadiendo más neuronas al perceptrón o incluso usando un perceptrón multicapa.
Neuronas artificiales con término independiente
Con perceptrones multicapa no solucionamos esta cuestión porque las neuronas de la segunda capa (o sucesivas capas) funcionan igual que un perceptrón sencillo pero cuyos datos de entrada son la transformación realizada por la capa anterior.

En esos datos de entrada transformados puede ocurrir perfectamente que no sea posible separarlos usando hiperplanos que pasen por el origen de coordenadas (en el espacio transformado resultante de la capa de neuronas anterior).

Cuando introdujimos los perceptrones se incluía una ilustración de un conjunto de datos que era separable por hiperplanos, aunque algunos de ellos no pasaban por el origen de coordenadas. Obviamente esto no es posible con la versión básica de un perceptrón, que es la que se vio en su momento. Pero como idea general sobre lo que puede hacer un perceptrón, la ilustración es correcta ya que podemos introducir una modificación muy sencilla al concepto de neurona artificial que va a hacer esto posible.

Hiperplanos que no pasan por el origen de coordenadas
En la formulación más sencilla de una neurona artificial, esta actúa como un sumador de todas las entradas que recibe, ponderadas por sus correspondientes pesos y esta suma pasa a la función de activación, que decide si tiene suficiente valor para activar o no la neurona.

En notación matemática, tenemos lo siguiente:

Sea  x = (x1, x2…xn)  la entrada a una neurona

Y sea  w = (w1, w2…wn)  el vector de pesos correspondientes a la entrada  x

El semiespacio que delimitará esta neurona vendrá definido por el hiperplano  y = xtw

Naturalmente, la ecuación  y = xtw  representa un hiperplano que pasa por el origen de coordenadas en  n. Si este hiperplano no pudiera separar ciertos datos de entrada que sí fueran linealmente separables, necesitaríamos que este hiperplano no pase por el origen de coordenadas.

¿ Cómo se puede solucionar esto ?

Una posible solución a esta cuestión sería tratar de recodificar los datos de entrada a la red. Esto puede funcionar en problemas fáciles, separables linealmente y resolubles con un perceptrón simple. Pero, en general, no va a ser fácil y dependerá mucho de cada problema particular.

La mejor solución a este inconveniente sería que cada neurona de la red fuera capaz de definir la ecuación de un hiperplano en la forma  y = xtw + c, siendo el término independiente  c  una constante que hay que calcular junto con los pesos  w

Neuronas artificiales con término independiente
La forma más sencilla de conseguir que una neurona artificial defina la ecuación genetal de un hiperplano consiste en añadir artificialmente a cada una de estas neuronas una entrada extra que siempre tenga valor  1  y que tenga su peso correspondiente. De esta forma, el funcionamiento de una neurona quedaría de la siguiente forma:

Sea  X = (x1, x2…xn, 1)  la entrada a la neurona

Y sea  W = (w1, w2…wn,  c)  el vector de pesos correspondientes a la entrada  X

El semiespacio será capaz de discriminar esta neurona vendrá delimitado por el hiperplano  y = XtW = xtw + c

Es decir, el nuevo peso correspondiente a la entrada adicional va a ser el término independiente en la ecuación del hiperplano que permitirá que este no pase por el origen de coordenadas, si fuera necesario.

Un mecanismo de entrenamiento de la red como puede ser el algoritmo Back-Propagation se ocupará de buscar los mejores valores para los pesos en el vector  W, de forma que la neurona correspondiente sea capaz de ejecutar la mejor separación posible sobre los datos de entrada, sin las limitaciones vistas respecto a hiperplanos que tengan que pasar por el origen de coordenadas.

Con esta pequeña modificación en todas las neuronas de una red se soluciona por completo la cuestión de no poder ser entrenada para modelizar ciertos conjuntos de datos de entrada. El entrenamiento de la red se realiza exactamente igual que en el caso básico sin término independiente.

El único inconveniente que se deriva de esta modificación consiste en que se incrementa un poco el número de pesos y de entradas que deben manejarse para entrenar la red, va a resultar más pesado computacionalmente hacerlo, pero es el precio a pagar por aumentar la capacidad de la red.



Resulta muy sencillo modificar las neuronas artificiales de un perceptrón para que puedan definir cualquier hiperplano en su espacio de entrada. De esta forma no hay que preocuparse de la posición relativa de los datos de entrada respecto al origen de coordenadas.



Para saber más:

Libro de Russell Reed y Robert J Marks dedicado a redes neuronales artificiales orientadas hacia adelante. El capítulo 3 discute la configuración general de una neurona artificial e introduce el concepto de bias de la neurona que equivale a la idea de término independiente descrita aquí.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto