Las neuronas naturales

Son las principales células del sistema nervioso. Están especializadas en la recepción de estímulos y conducción del impulso nervioso. Para comprender un poco mejor cual fue la idea que propusieron la siguiente imagen contiene una neurona con sus partes fundamentales.

Neurona

Neurona

  • Cuerpo celular o soma. En él se encuentran el núcleo, que gobierna toda la actividad neuronal.
  • El axón conduce el impulso nervioso desde el soma hacia otras neuronas que tienen sinapsis.
  • Las dendritas reciben las señales generadas en las neuronas vecinas (con sinápsis) y las transmiten hacia su propio soma.

Las neuronas tienen la capacidad de comunicarse con otras células mediante señales eléctricas denominadas impulsos nerviosos.  La conexión entre una neurona y otra por la que se transmite el impulso se denomina sinapsis. Los impulsos tienen su origen en el cambio transitorio de la permeabilidad en la membrana plasmática de la célula. Debido a una diferencia de potencial entre ambas neuronas, estos impulsos nerviosos se transfieren por la sinapsis. Luego los impulsos viajan por toda la neurona desde las dendritas hasta el soma y posteriormente hasta llegar a los botones terminales que se conectan con otras células.

La idea de la neurona artificial

En 1943 McCulloch y Pitts propusieron un modelo de neurona artificial que modelaba aspectos físicos de las neuronas naturales como axón y dendritas. El modelo de neurona artificial que propusieron tenía una salida binaria que se obtenía a partir de los estados de las conexiones de entrada y de los pesos relativos de cada entrada. También se le agregaba una entrada adicional permanentemente activada a la que se la denominaba “bias” o polarización. Este modelo matemático trataba de semejar el funcionamiento de las neuronas naturales. Los resultados obtenidos en base al modelo de McCulloch y Pitts sirvieron de base para el futuro modelado de sistemas de redes neuronales.

 

Neurona Artificial

Neurona Artificial

 

Este modelo aplicaba la función:

y=\theta(\sum_{j}w_{ij}x_j\ +\ \mu_i)

x_j es la entrada

w_{ij} son los pesos relativos de las entradas

\theta es la función escalón que devuelve 1 si su entrada es mayor que 0 y 0 en el resto de los casos.

La historia del perceptrón

Rosenblatt alrededor de 1957 desarrolla el perceptrón que es una red neuronal de una sola capa, aportando principalmente en su implementación un mecanismo de aprendizaje. El principal objetivo que proponía era poder reconocer patrones. Este modelo era capaz de generalizar luego de haber aprendido una serie de patrones, y podía entonces reconocer otros elementos similares, aunque éstos no se hubieran utilizado durante el entrenamiento. Este modelo tenía algunas limitaciones importantes ya que no podía clasificar correctamente si las clases no eran linealmente separables.

Minsky y Papert en 1969 presentaron un análisis muy detallado de la convergencia de los parámetros o pesos del perceptrón durante su aprendizaje cuando existe una solución que satisface el problema. Pero por otro lado, también fue algo desalentador debido a que probaron que existe una limitación práctica del perceptrón. No siempre existe una solución a todos los problemas debido a su modelo matemático y su limitación de la separabilidad lineal. Debido a esto y a que los avances eran insuficientes para la mayoría de las tareas de reconocimiento de patrones, las expectativas de ser un clasificador universal pronto se disiparon por casi dos décadas.

 

BackPropagation

La aparición de la regla de aprendizaje para redes neuronales multicapa, dio origen a un nuevo impulso en la investigación. La posibilidad de utilizar múltiples capas permitió superar las limitaciones encontradas en el perceptrón.

La minimización de errores durante el aprendizaje usando el método del descenso por el gradiente del error en las redes neuronales se ha discutido al menos desde principios de los años 1960. Este método consiste en minimizar el error ajustando los parámetros del modelo (pesos) en función del gradiente de la función error para llegar a su mínimo.

En la década de 1980 se aplicaron nuevos algoritmos de aprendizaje para perceptrones multicapa. Para ello usaron el método conocido como regla delta generalizada para el aprendizaje por backpropagation. Su versión moderna, también llamada diferenciación automática, fue publicada por primera vez en 1970 en la tesis del estudiante finlandés Linnainmaa. Esto permitió resolver algunos problemas prácticos mediante este tipo de redes multicapa lo que le dio un nuevo impulso en esta década. Backpropagation pronto se utilizó explícitamente para minimizar las funciones de costos, pérdida o error mediante la adaptación de los parámetros de control o pesos y por este motivo es uno de los principales modelos de redes neuronales que todavía se sigue utilizando actualmente en todas las herramientas de Deep Learning.

Aprendizaje supervisado

El objetivo del aprendizaje supervisado es el de crear una función capaz de predecir el valor correspondiente a cualquier entrada válida. Esto se logra a partir de una serie de ejemplos conocidos de entradas y valores esperados de salida, lo que se conoce como datos de entrenamiento. Estos datos de entrenamiento contienen entonces los componentes que se usan para realizar la predicción y el resultado esperado de esa predicción.

Durante el entrenamiento, estos datos son presentados de forma tal que permitan al algoritmo de aprendizaje, realizar los ajustes necesarios para obtener los valores esperados. Para ello, tiene que, en líneas generales, poder generalizar las situaciones no vistas previamente a partir de los datos presentados. Es por eso, por lo que se utilizan distintos conjuntos de datos conocidos como datos de entrenamiento, datos de validación y datos de test a los efectos de determinar que tan bueno fue el entrenamiento.

 

El perceptrón

El modelo de aprendizaje del perceptrón de capa única propuesta por Rosenblatt, es uno de los primeros modelos de aprendizaje supervisado en redes neuronales y consiste en ajustar los pesos y el parámetro de polarización mediante ajustes pequeños.

Este modelo de aprendizaje es un modelo supervisado ya que se presenta a la red los valores de entrada y la salida esperada. Si esta salida esperada no coincide con la salida de la red perceptrón el algoritmo ajusta los pesos y la polarización para que coincidan. A medida que son presentados los distintos ejemplos de entrenamiento, la real neuronal va ajustando lentamente los pesos tratando de minimizar los errores.

En la siguiente imagen puede darse un modelo de perceptrón donde podemos distinguir las distintas entradas X, sus pesos W, el Valor de activación A que es el producto escalar del vector de entrada por el vector de pesos y la aplicación de la función de activación F al valor de activación de lo que podemos resumir en la siguiente ecuación:

y_p = f(\sum_{i}w_{i} \cdot x_i\ +\ b)

Ejemplo de perceptrón con polarización:

Modelo Perceptron

Modelo Perceptron

 

Épocas  o Epoch

Otra característica del proceso de entrenamiento es que los distintos ejemplos son presentados más de una vez a la red. Cuando todo el conjunto de datos de entrenamiento es presentado completo, sin importar el orden en que se presenten los ejemplos, esto se lo conoce como una época o epoch.

Es importante entender que los pesos si bien son ajustados durante el entrenamiento no son inicializados a cero ante cada nuevo ejemplo que es presentado. Por lo tanto los pesos representan lo aprendido por el perceptrón.

Normalmente se presentan los datos de entrada utilizando más de una época para poder minimizar los errores mediante el ajuste de los pesos.

 

La regla de aprendizaje del perceptrón

El error a la salida lo podemos expresar como:

E(W) = \frac{1}{2} (y_{esperado} - y_{perceptron})

Reemplazando la salida del perceptrón por su ecuación tenemos:

E(W) = \frac{1}{2} (y_{esperado} - f(\displaystyle\sum_{i}w_{i} \cdot x_i\ +\ b))

Entonces si llamamos

d_{i} = y_{perceptron}

La regla de aprendizaje del perceptrón propuesta fue:

\Delta w_{ij}=\alpha y_{i}(d_{j}-y_{j})

Este modelo de aprendizaje no fue el único. Existen otros algoritmos más eficientes que éste, y que no tienen la limitación que presenta el algoritmo de Rosenblatt, como lo es el no considerar la magnitud del terror global cometido durante el proceso de aprendizaje de la red, ya que considera únicamente los errores individuales correspondientes al aprendizaje de cada información por separado.

Otra forma de aprendizaje utilizada en el perceptrón es la regla delta o regla del error cuadrado mínimo. Este mecanismo utiliza el error global cometido durante el proceso de entrenamiento del perceptrón, y ajustar los pesos en base al error global en lugar del terror individual de cada caso. Entonces el objetivo es encontrar los pesos del perceptrón que minimizan esta función de error. El ajuste de los presos de las conexiones se realiza en forma proporcional a la variación relativa del error o gradiente que se obtiene al variar el peso correspondiente luego de haber aplicado los casos de entrenamiento.

El error se define como:

E(W) = \frac{1}{2} (y_{esperado} - y_{perceptron})^2

Entonces si:

d_{i} = y_{perceptron}

Y aplicamos a todas las entradas y lo dividimos por la cantidad de entradas obtenemos el error global el cual se puede expresar como:

Error_{Global}=\frac{1}{2P} \displaystyle\sum_{k=1}^{P}\sum_{i=1}^{N}(y_{i}^{(k)} - d_{i}^{(k)})^{2}

Luego el error permite ajustar los pesos mediante la siguiente ecuación:

\Delta w_{ij} = k \frac{\partial Error_{Global} }{\partial w_{ij}}

 

En definitiva podemos minimizar el error del perceptrón utilizando el algoritmo propuesto originalmente por Rosenblatt o usando descenso por el gradiente, el cual Se sigue utilizando en los toolkits actuales.

 

Conclusión

El aprendizaje profundo o Deep learming es un tema emocionante que está cambiando rápidamente nuestra sociedad. En esta publicación contamos algunos detalles de los elementos que dieron origen a esta tecnología. Hablamos de una red neuronal muy básica llamada perceptrón (de una sola capa) y aprendimos cómo funciona el modelo de aprendizaje del perceptrón.

 


Dejá un comentario

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.