27 oct 2016

Redes Neuronales - lo básico

El primer método a utilizar para identificar el motor DC, serán las redes neuronales. Para contextualizar el trabajo de identificación que se va a desarrollar mas adelante, primero se presentarán de manera general algunas nociones de redes neuronales (Adaptado de [1])
En la siguiente figura se muestra el modelo de una neurona con una sola entrada. (las figuras son tomadas de [1])

En este modelo, una entrada escalar p es multiplicada por el escalar w (weight w), el valor resultante de esta operación es enviado al sumador; al mismo tiempo la otra entrada es multiplicada por un valor offset o sesgo (bias b) y el resultado enviado también al sumador. La salida del sumador (n) pasa a una función de transferencia o señal de activación (f) que produce la salida de la neurona, un escalar (a).
La salida de la neurona es calculada como: a = f(wp+b). La salida real dependerá de la función de transferencia f que se seleccione. Algunas de las funciones mas utilizadas son: Hard Limit (hardlim), Linear (purelin), Log-Sigmoid (logsig), Hyperbolic Tangent Sigmoid (tansig).
Típicamente una neurona tiene múltiples entradas, en la siguiente figura se muestra el modelo de una neurona con R entradas.
En este caso la salida de la neurona es calculada como: a = f(Wp+b). Donde W es la matriz de importancia y p es el vector de entradas.
En la siguiente figura se muestra la misma neurona, pero utilizando una notación abreviada.

Habitualmente una sola neurona, aun teniendo muchas entradas, puede no ser suficiente; se podrían necesitar varias trabajando en paralelo, esto se conoce como capa (layer). En la siguiente figura se presenta una red de una única capa con S neuronas, observe que cada una de las R entradas está conectada a cada una de las neuronas y que la matriz de importancia tiene ahora S filas.

Una red puede tener varias capas; cada capa tiene su propia matriz de importancia W, su propio vector de sesgos b, un vector de entrada a la red n y su propio vector de salida a. La siguiente figura es la representación de una red de tres capas.

La representación simplificada de esta red se muestra a continuación.

Nota: El tema de redes neuronales es muy amplio y no se pretende ni se puede abarcar aquí; si se desea conocer más, un buen libro que recomiendo para empezar  es [1], el cual se tomó como base para este resumen-sinopsis.

El primer método identificación a evaluar (aplicado al motor Dc) corresponde al uso de redes neuronales sin retroalimentación (feed-forward), se iniciará con redes neuronales de varias capas y una entrada; paulatinamente se incrementarán el número de neuronas por capa, y el número de capas. En cada caso se visualizará su efectividad en modelar el comportamiento del motor, la particularidad y los resultados obtenidos serán presentados en un próximo post.

Este post está asociado a la secuencia: 
  1. Modelo de motor DC,
  2. Modelo de motor DC en Simulink,
  3. Pruebas de Identificación de motor DC –Parte A: Simulación del motor


Bibliografía
[1]    M. T. Hagan, H. B. Demuth, and M. H. Beale, “Neural Network Design,” pp. 1–1012, 1995.


GT 2016     @ProyectoGio