• Redes Neuronales: Una breve introducció...

Redes Neuronales: Una breve introducción Parte 1

El uso de las ANN (Artificial Neuronal Networks), es reciente en la manufactura de productos. Se basa en la imitación del funcionamiento del cerebro humano, donde las neuronas pasan a ser los perceptrones (nodos), los cuales están conectados a otros perceptrones ubicados en diferentes capas, donde fluyen las salidas y entradas de datos procesados.

En primer lugar, el objetivo del uso de las ANN, es su capacidad de predicción, mediante el ingreso de datos experimentales. A diferencia de los métodos convencionales de experimentación, ensayo y luego análisis de resultados (uso de tablas y gráficas), las ANN nos permite trabajar con gran cantidad y variedad en cuanto a límite de parámetros haciendo predicciones en tiempo real, siendo el tiempo y precisión sus ventajas principales.

La ecuación matemática que nos relaciona las entradas con las salidas se muestra a continuación.

Donde y(t)= salida

x(r) = entrada

u= nodos ocultos j

v= nodos de entrada i

w = peso de nodo i al nodo j

w (0) = peso inicial

f = función de activación

La función f no debe ser lineal, ya que los modelo no son lineales generalmente, normalmente se elige:

En la arquitectura de nuestra red se necesita conocer el número de nodos y el número de capas, siendo las más difíciles de determinar lo que concierne a las capas y nodos ocultos. Para comenzar se recomienda probar la cantidad de neuronas en un rango de 5 a 20 y las capas ocultas entre 1 y 4. En este caso se eligieron 3 capas ocultas con 12, 14 ,16 nodos respectivamente.

Ahora debemos de entrenar y validar nuestra ANN para eso se sugiere dividir 200 parejas inputs y outputs en las siguientes categorías, nótese que esta ANN es entrenada de manera supervisada, ya que existen otras ANN como por ejemplo de reconocimiento de patrones gráficos que no lo están, ya que los algoritmos no se basan en salidas deseadas sino en la búsqueda de patrones similares.

Subgrupo de entrenamiento: Consta de 150 grupos de inputs y outputs (en este caso). Cada vez que el sistema encuentra diferencias entre la salida deseada y la predicción, comienza a recalibrar todos los pesos de adelante hacia atrás (método de backpropagation algorithm).

Subgrupo de validación: Existe el problema de que las ANN pueden sobre ajustarse, es decir que su estructura sea cada vez más rígida y que sólo trabaje con datos que guarden cierta relación con el primer grupo, para evitar esto se usan los nuevos 25 pares de inputs y outputs, si el error comienza comienza a ser superior a cierta tolerancia, entre el grupo de validación y de entrenamiento, mientras se está entrenando la ANN, este proceso de entrenamiento se detiene.

Subgrupo de prueba: Se podría decir que son los datos que ponen a prueba a la ANN, si hay mucho error se vuelve a proceder a reasignar los pesos de las salidas y entradas.

Lo que se busca es encontrar el equilibrio entre predicción y error, evitando el sobreajuste. La función que se desea minimizar bajo estas condiciones es el siguiente error:

Donde y(p) son los outputs deseados y y(d) son las predicciones echas por la ANN.

A continuación, se muestra la ecuación con los criterios que se usan para dar pesos a los flujos.

Δw(k) = vector de pesos (nota: el triángulo no significa variación)

α(k) = ratio de aprendizaje

g(k) = gradiente

m = momento

La ratio y el momento se eligen arbitrariamente entre 0.001 y 0.999.

Este artículo se hizo con mis conocimientos del 2017. Las próximas entregas serán más teóricas.