Jugando con Redes Neuronales

Hace unos días escribí sobre las redes neuronales intentando explicar de manera simple como funcionan y por que este tipo de tecnología es llamado «inteligencia artificial».

Lo importante de esta técnica y lo que la hace tan revolucionaria es el concepto de entrenamiento, pero muchas veces es difícil imaginar como sucede esto y como afectan los parámetros al resultado.

Para nuestra ayuda, nuestros amigos de tensorflow crearon una herramienta gráfica que nos muestra el proceso de entrenamiento de una red neuronal, disponible en http://playground.tensorflow.org/

Para los que no saben muy bien como interpretar la aplicación explicaré los componentes básicos de esta, para ello, utilizaré de ejemplo el pantallazo siguiente:

 

Para los anciosos que ya quieren ver la app. Si presionan el botón «play», comenzará  a entrenar la red neuronal para predecir los colores de los puntitos a la derecha.

Para los más mateos. La explicación comienza aquí (yo fuí hancioso). La aplicación se divide en 5 secciones: el menú superior (en blanco), DATA, INPUT, HIDDEN LAYERS y OUTPUT. Los colores naranjos representan valores negativos mientras que los azules, los positivos, un colo blanco, significa algo cercano a 0.

DATA contiene parámetros sobre la muestra para entrenar la la red neuronal. Primero pueden elegir la forma general de los datos, luego el porcentaje de datos dejados para probar el modelo (ver sección OUTPUT), un factor de ruido para hacerle el trabajo más «real» a la red neuronal y para terminar el número de casos que entrará  a cada ciclo de entrenamiento.

INPUT es la segunda sección y es para elegir las variables que entrarán al modelo. Vienen predefinidas x1 y x2 que representan los ejes vertical y horizontal de la sección OUTPUT, pero también se pueden elegir transformaciones sobre estas como x1*x2, sin(x1) o sin(x2). Las lineas que salen de cada cajita, corresponden al valor de la constante asociada a la entrada del parámetro en la función de activación o respuesta.

HIDDEN LAYERS es para configurar las conexiones que tendrá la red neuronal, en las cajitas se puede ver la forma que toma la función a medida que x1 y x2 se mueven las lineas que las conectan representan el valor de la constante asociada al dato que viene desde la función/neurona anterior, en otras palabras, si es gruesa, significa que tiene alto impacto y si es azul que tiene una constante positiva, mientras que si es naranja, entonces es negativa.

OUTPUT muestra el contraste entre el valor que obtiene la red neuronal y los datos a los que debe ajustarse (se lee igual que las cajas en HIDDEN LAYER). Cuando comiencen a entrenar, arriba del gráfico grande, verán se ve un gráfico más chiquitito que muestra como evoluciona el porcentaje de error de la red neuronal para el grupo de control y el de entrenamiento. Abajo del gráfico grande, se puede pedir que se discretice (naranja o azul)  la salida de la red y también que muestre el grupo de control. El grupo de control se utiliza para medir la predictividad del modelo, nunca se entrena la red con estos.

Menú Superior es donde se hace la magia, para comenzar el entrenamiento, debes presionar el botón play y todo comenzará. En interactions se ve cuantas veces se ha entrenado con toda la muestra de puntitos, después vienen los parámetros:

  • Learning Rate: Potencia del impulso o aprendizaje de las redes.
  • Activation: Forma de la función objetivo de las neuronas, por defecto la tanh o curva S, la más usada en este tipo de modelo.
  • Regularization: La verdad no se que es…. ojalá me pudiera ayudar alguien abajo, me imagino que es para simular el «olvido», cuando no se recibe un estimulo negativo en un numero de ciclos, debería olvidar.
  • Regularization Rate: Parámetro de velocidad para lo anterior….
  • Problem Type: Tipo de problema, si es de clasificación o de generar una función objetivo.

Ahora se pueden poner a jugar con esta pagina web, lo que si, deben saber que el uso de redes neuronales es más magia que ciencia y en general simplemente hay que probar distintos parámetros para cada problema, entrenar, tomar un café y reintentar.

Si quedaron muy perdidos, recomiendo leer mi artículo anterior sobre las redes neuronales.

Si te gustó, síguenos en cualquiera de nuestros medios, allí aparecerán todas las publicaciones.

Y no olvides compartir en tus RRSS, vuestras visitas son mi motivación.

Print Friendly, PDF & Email