Redes neuronales¶


Clase3: Arquitectura de una red neuronal y tipos de aprendizaje¶


Autor: Luis Fernando Apáez Álvarez


Contenido¶

  • Perceptrones multicapa
  • Arquitectura de una red neuronal
  • Aprendizajes

Perceptrones multicapa ¶

red001.PNG

Como se mencionó en la clase pasada, los modelos de redes neuronales de perceptrones simples tienen grandes limitaciones, que vienen a raíz de que con dicho modelo solo se pueden dividir patrones mediante hiperplanos, o rectas en el caso en que la red solo tiene dos entradas. Vimos que podemos obtener mayor versatilidad al colocar más neuronas a nuestro modelo del perceptrón, no obstante llega un punto en el cual dicho modelo tiene, de nuevo, grandes limitaciones. Una manera de solventar dichas limitaciones es mediante el modelo del percetrón multicapa, donde se agregan capas ocultas a la red neuronal. Recordemos que mediante el modelo del perceptrón simple podemos clasificar patrones, para dos valores de entrada, mediante un recta; luego, de nuevo para dos valores de entrada, si consideramos una capa oculta la red neuronal será capaz de discriminar regiones convexas y para más capas ocultas la regla de decisión será aplicable para regiones arbitrarias.

descarga%20%282%29.png

Mediante MLP (Multi-Layer Perceptron) utilizando solo una capa oculta se puede aproximar a cualquier función continua en un intervalo dado hasta el nivel deseado.

Arquitectura de una red neuronal ¶

Se denomina arquitectura a la topología (o estructura) en la que las distintas neuronas constituyen la red neuronal.

c2.PNG

Luego, los nodos o neuronas de la red se conectan por medio de sinapsis , donde la estructura de las conexiones sinápticas determinará el comportamiento de la red; además, las conexiones sinápticas son direccionales.

En general, las neuronas se suelen agrupar en capas, donde dentro de cada capa las neuronas se pueden agrupar formando grupos neuronales. Podemos distinguir tres tipos de capas.

  • Capa de entrada (o sensorial): formada por las neuronas que reciben la información.
  • Capa de salida: formada por las neuronas que proporcionan la respuesta o arrojan los resultados.
  • Capa oculta (o de procesamiento): aquella que no tiene conexión directa con el entorno.

Una red neurona puede definirse de manera forma:


Definición: Una red neurona es un grafo dirigido con las siguientes propiedades:

  • A cada nodo $i$ se le asocia una variable de estado $x^{i}$.
  • A cada conexión $(i,j)$ de los nodos $i$ y $j$ se le asocia un peso $w_{ij}\in \mathbb{R}$.
  • A cada nodo $i$ se le asocia un umbral (o bias) $b_{i}$.
  • Para cada nodo $i$ se define una función $f_{i}(x_{j}, w_{ij}, b_{i})$, que depende de los pesos de sus conexiones, del umbral y de los estados de los nodos $j$ conectados a $i$. Esta función proporciona el nuevo estado del nodo.

Por otro lado, las redes neuronales que hemos abordado en las clase anteriores se denominan redes neuronales multicapa, en la cual existen múltiples capas intermedias entre la capa de entrada y la de salida, donde esta red puede estar totalmente o parcialmente conectada. Casos particulares de redes neuronales multicapa son todas las que hemos abordado en clases anteriores. Otros tipos son:

  • Redes neuronales recurrentes (RNN): Se diferencia de las redes neuronales multicapa al tener lazos de realimentación en la red, donde estos lazos pueden ser entre neuronas de diferentes capas, neuronas de las mismas capas o entre una misma neurona. Este tipo de estructura las hace muy adecuadas para estudiar la dinámica de sistemas dinámicos no lineales.

red002.PNG


Red neuronal clásica Red neuronal recurrente
Los vectores de entrada producen vectores de salida Tratan datos secuenciales de forma eficiente
No mezclan información entre ejecuciones Recuerdan las salidas anteriores como entrada
Tratan una secuencia de datos de una sola vez Pueden tratar secuencias muy largas, elemento a elemento
  • Redes neuronales convolucionales: Una red neuronal convolucional es un tipo de red neuronal artificial donde las neuronas artificiales corresponden a campos receptivos de una manera muy similar a las neuronas en la corteza visual primaria (V1) de un cerebro biológico. Este tipo de red es una variación de un perceptron multicapa, sin embargo, debido a que su aplicación es realizada en matrices bidimensionales, son muy efectivas para tareas de visión artificial, como en la clasificación y segmentación de imágenes, entre otras aplicaciones. Las redes neuronales convolucionales consisten en múltiples capas de filtros convolucionales de una o más dimensiones. Después de cada capa, por lo general se añade una función para realizar un mapeo causal no-lineal.

Aprendizajes ¶

Bajo este contexto puede decirse que el aprendizaje es el proceso en el cual se produce un ajuste de los parámetros libres de la red neuronal a partir de un proceso de estimulación por el entorno que rodea a la red. Básicamente, el aprendizaje consiste en determinar un conjunto de pesos sinápticos que permitan a la red realizar correctamente el tipo de procesamiento deseado.

Al inicio se configuran los pesos sinápticos como nulos o aleatorios, para posteriormente comenzar a entrenar la red. El entrenamiento se puede llevar a cabo en dos niveles:

  1. Modificación de los pesos sinápticos siguiendo una cierta regla de aprendizaje, construida usualmente a partir de la optimización de una función de error que mide la eficacia actual de la operación de la red.

red003.PNG

Considerando una neurona $j$ (presináptica) que se conecta a la neurona $i$ (postsináptica), así como el peso $w_{ij}$ de dicha conexión. Consideremos la iteración $t$, entonces el algoritmo de aprendizaje en función de las señales (o información) que llegan procedentes del entorno al instante $t$ proporcinará el valor $\delta w_{ij}(t)$ que da la modificación que se debe incorporar en dicho peso, el cual quedará actualizado de la siguiente forma:

$$ \Delta w_{ij}(t+1) = w_{ij}(t)+\Delta w_{ij}(t) \ \ \ \ \ \ (\star) $$

esto es, el peso de la actualización $\Delta w_{ij}(t+1)$ será igual al peso original $w_{ij}$ más el peso obtenido por el algoritmo de aprendizaje $\Delta w_{ij}(t)$. El proceso de aprendizaje es usualmente iterativo, donde los pesos se estarán actualizando como se describió en la ecuación $(\star)$

  1. A través de la creación o eliminación de neuronas, modificándose así la misma arquitectura de la red neuronal.

Los tipos de aprendizaje que consideraremos son basados usualmente en métodos numéricos iterativos que tratan de minimizar una función de error. En el proceso de aprendizaje es importante distinguir entre el nivel de error alcanzado al final de la fase de aprendizaje para el conjunto de datos de entrenamiento, y el error que la red ya entrenada comete ante patrones no utilizados en el aprendizaje, lo cual mide la capacidad de generalización de la red. Consideramos los siguientes tipos de aprendizaje:

  • Aprendizaje supervisado: Para este caso se le presenta a la red un conjunto de patrones, con los resultados deseados, e iterativamente la red ajustará los pesos hasta que la salida de la red es muy cercana a los resultados deseados, utilizando para ello información detallada del error que se comete en cada paso.

  • Aprendizaje no supervisado: Se puede describir al aprendizaje no supervisado como la estimación de la función de densidad de probabilidad $p(x)$ que describe la distribución de patrones $x\in R$ (espacio generado por las entradas). En este tipo de aprendizaje se presentan patrones a la red sin adjuntar la respuesta esperada, donde, la red por medio de la regla de aprendizaje estima $p(x)$, para lo cual podremos reconocer regularidades en el conjunto de entradas, extraer rasgos o agrupar patrones según su similitud (clustering).

  • Aprendizaje híbrido: En la red neuronal se ocuparán los aprendizajes tanto supervisado como no supervisado.

  • Aprendizaje por reforzamiento: Se sitúa en un camino medio entre el aprendizaje supervisado y no supervisado. Se empleará entonces información sobre el error cometido, pero solo le estaremos indicando a la red lo bien o lo mal que está actuando. Como en el caso del aprenizaje no supervisado, no se adjunta explícitamente la salida deseada.


Recursos:¶

  • Notas
  • Notas
  • Notas