Profundizando en las redes neuronales

Las redes neuronales son un grupo de modelos de aprendizaje basados en el funcionamiento de los cerebros biológicos, obtienen información, la interpretan y aprenden para usar esa información en el futuro.


En la actualidad se usan constantemente para interpretar imágenes. Tienen una precisión alta en la mayoría de los casos, pero es sorprendente lo poco que sabemos sobre el funcionamiento o razonamiento de las redes neuronales, porque en algunos casos cometen errores que parecen muy evidentes, y no sabemos por que exactamente.


Ejemplo de la interpretación de una red neuronal a la que se le han proporcionado 4 imágenes.


Uno de los retos de las redes neuronales es entender lo que pasa en concreto en en cada capa. A grandes rasgos, sabemos que cada capa extrae progresivamente características más complejas de la imagen, hasta que la última capa toma una decisión sobre lo que muestra la imagen. Por ejemplo, la primera capa busca bordes o esquinas. Las capas intermedias interpretan las características básicas, buscan formas o componentes generales, como una puerta o una hoja. Por último, las capas finales reúnen toda la información y devuelven una respuesta completa, como que la imagen es de un edificio o un árbol.


Para averiguar el proceso que siguen las redes neuronales se ha seguido un curioso proceso, primero se entrenó a una red neuronal enseñándole millones de fotos sin darle ningún otro tipo de información, y luego se le pidió que analizara imágenes de ruido aleatorias y que devolviese otras con la interpretación de los resultados.


Ejemplo de una red neuronal que ha sido enseñada a reconocer plátanos a la que se l proporciona una imagen de ruido aleatorio.

Los investigadores se llevaron una sorpresa: las redes neuronales que fueron entrenadas para discriminar entre diferentes tipos de imágenes tienen información necesaria para generar imágenes relacionadas con lo que han aprendido. Echad un vistazo a algunos ejemplos más que se han generado partiendo de imágenes de ruido.


También probaron a retroalimentar las imágenes a la red neuronal, esto es como pedir que la red neuronal nos saque más información sobre la información que ya ha analizado. Es decir, sobre-interpreta imágenes, donde ve algo con forma de pájaro lo interpreta como un pájaro, haciendo que aparezcan figuras de la nada.



Los resultados son interesantes, incluso una red neuronal relativamente simple puede sobre-interpretar una imagen, los resultados son figuras parecidas a las que veíamos de niños mirando nubes e interpretando figuras. Esta red fue entrenada en su mayoría en imágenes de animales, así que naturalmente tiende a interpretar las formas como animales.



Todo esto podéis reproducirlo con las imágenes que queráis, google ha hecho su red neuronal código abierto en github (https://github.com/google/deepdream), a si que los que seáis más valientes disfrutad creando extrañas figuras y compartidlas con nosotros en los comentarios.


Os dejamos con un vídeo de algunas personas que han experimentado con sus imágenes y los resultados obtenidos.

Deja un comentario

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