Nota: Este
artículo es una traducción del original que aparece en el sitio de FOSSBYTES: Whatis Deep Learning?
Muchas gracias por permitir su publicación en español.
Muchas gracias por permitir su publicación en español.
Resumen: Recibe el nombre de aprendizaje profundo
el campo de aplicación de las redes neuronales profundas a la tarea de aprender
una determinada función. Y las redes neuronales profundas son básicamente redes
neuronales con más de una capa oculta. En este post trataré de hacer una
introducción al aprendizaje profundo que resulte atractiva y sin entrar en
detalles matemáticos.
Una pequeña historia sobre inteligencia
artificial
Cuando
se inició el estudio de la inteligencia artificial, todos los investigadores se
centraron en 'resolver' problemas, ya que se habían formado precisamente para
ese fin. Por ejemplo, encontrar automáticamente una solución a un laberinto.
Tuvo
que producirse un cambio de paradigma en el pensamiento antes de que la gente
comenzara a abordar los problemas de una manera diferente.
El
nuevo enfoque no era resolver una tarea, sino «imitar» su solución. No todos
los problemas se pueden resolver. Esto ya era sabido por los matemáticos desde
hace tiempo. Bueno, uno tiene que buscar lo que puede ser una solución. Por
ejemplo, la ecuación
carecía
de soluciones hasta que se introdujo el concepto de números complejos. Pero,
hay otros problemas que son verdaderamente irresolubles (en cierto sentido).
Los problemas del mundo real son demasiado complejos para encontrarles una
solución. Por lo tanto, era necesario introducir el concepto de 'imitar' una
solución para abordar cuestiones muy complejas del mundo real. El mejor ejemplo
para comparar estos dos paradigmas sería el computador Deep Blue que venció a
Kasparov en 1996 y el computador AlphaGo que venció a Lee Sedol en 2016. El
primero 'busca' el mejor movimiento en el ajedrez, mientras que el segundo
'imita' los movimientos de un jugador experto en Go.
Demostración de que algo se
puede 'aprender'
Sin
un sólido respaldo matemático no es posible avanzar en determinados campos de
investigación. Por lo tanto, las tareas se tradujeron en problemas de
matemáticas, e 'imitar' una solución se tradujo a 'ajustar' una función.
Entonces,
¿se pueden 'ajustar' todas las funciones? '¡La respuestas es 'sí'!' O al menos
la mayoría de las funciones que necesitamos para tratar los problemas del mundo
real. A esto se le conoce como teorema de aproximación universal (TAU). Y
requiere una determinada arquitectura, a la que llamaremos red neuronal. Así que se desarrolló una arquitectura que
garantizaba que cualquier función se puede ajustar con la precisión que se
necesite. Algunas observaciones interesantes sobre esta arquitectura fueron:
·
Un conjunto de entradas discretas era capaz de aproximarse incluso a funciones continuas (es decir,
funciones sin saltos bruscos).
·
Al menos era necesario utilizar una capa más (llamada capa
oculta) de nodos discretos.
·
La información de un nodo podía volver hacia atrás y utilizarse
como entrada, parecido a un mecanismo de retroalimentación.
·
Debía incorporarse a la red algún tipo de 'no linealidad'
(llamada función de activación).
Imitación y suposición
El
problema con el método descrito anteriormente es que debemos saber cuál es la
solución al problema. Esto plantea la pregunta de que si conocemos la solución
¿por qué molestarse en aproximarse a ella? La respuesta es doble: 1) El cálculo
de la solución exacta puede requerir una gran cantidad de recursos de
computación. 2) Muchos de los problemas de IA en el mundo real hoy en día
consisten en imitar el comportamiento y las tareas de las personas.
Pero,
el primer problema sigue sin respuesta. Debemos conocer la solución de
antemano. Para resolver una tarea sin conocer la solución, un computador tiene
que 'hacer suposiciones', 'suposiciones' con fundamento. Por lo tanto, hay una
bifurcación en el tipo de 'problemas de aprendizaje': ..imitación y suposición.
El primero se denomina 'aprendizaje supervisado' y el segundo 'aprendizaje no
supervisado'. Un ejemplo de aprendizaje no supervisado sería agrupar un
conjunto de datos basados en algún atributo. El conjunto de estos métodos se
denomina aprendizaje automático.
Fig 1 : Aprendizaje supervisado
Fig 2: Aprendizaje no supervisado
En
el aprendizaje supervisado, se facilitaron los puntos de datos (rojo) y la red
aprendió a ajustar la función (azul), en este caso, una función sinc. En el
aprendizaje sin supervisión, sólo se le dio la imagen y se le dijo a la red que
clasificara la imagen basada en el color de cada píxel en 8 grupos. Como se
pudo comprobar, la red hizo un buen trabajo agrupando los píxeles.
Profundizando en las redes
neuronales
Entonces,
¿qué es eso tan profundo en las redes neuronales profundas? Las redes
neuronales profundas son básicamente redes neuronales con más de una capa
oculta. Por lo tanto, se ven 'más extensas', en lugar de verse 'más profundas'.
Hay pocas preguntas que responder sobre esto.
Si
una red con solo una capa oculta puede aproximarse a cualquier función (TAU),
¿por qué agregar varias capas? Esta es una de las preguntas fundamentales. Cada
capa oculta actúa como un 'extractor de características'. Si tenemos una sola
capa oculta, existen dos problemas:
·
La capacidad de la red en lo que se refiere a extracción de
características es mucho menor, lo que significa que tenemos que proporcionar
las características adecuadas a la red. Esto añade una operación de extracción
de características que es específica para esa aplicación. Por lo tanto, la red,
en cierta medida, pierde su capacidad para aprender una variedad de funciones,
y ya no se puede decir que sea 'automática'.
·
Incluso para aprender las características que se le indican, el
número de nodos en las capas ocultas crece exponencialmente, lo que causa
problemas aritméticos durante el aprendizaje.
Para
resolver esto, necesitamos que la red aprenda las características por sí misma.
Por lo tanto, agregamos varias capas ocultas cada una con un menor número de
nodos. Y, ¿cómo de bien funciona esto? Estas redes neuronales profundas
aprendieron a jugar con los juegos Atari simplemente mirando las imágenes de la
pantalla.
El(los)
avance(s)
Así
que, ¿por qué y cómo tuvo tanto éxito el aprendizaje profundo en los últimos
años? En lo que se refiere a la parte del porqué, las ideas revolucionarias
sobre algoritmos de aprendizaje profundo las aportó el Dr. Goeffry Hinton en
los años 90. En cuanto a la parte del quién, fueron responsables un montón de
factores. Había disponibles cantidades ingentes de datos. Habían mejorado las
arquitecturas de hardware. Se crearon bibliotecas de software. Se consiguieron
grandes avances en el campo de la optimización convexa.
Actuar
con precaución
Un
descubrimiento relativamente reciente sugiere que estos modelos profundamente
entrenados son altamente vulnerables a los ataques. Las RNP tienen éxito si no
hay efectos adversos en los datos. Lo ilustra la siguiente imagen:
Esta
vulnerabilidad se debe a que el modelo es muy sensible a las características.
Cambios imperceptibles por el ser humano de las características pueden
inhabilitar completamente la red para el aprendizaje. Se han propuesto nuevos
modelos, llamados redes adversarias,
pero esa es una historia que dejamos para otro día. Otro efecto frecuente es el
ajuste excesivo de los datos, que puede conducir a una alta precisión en el
entrenamiento, pero se produce un rendimiento muy bajo durante las pruebas.
Entonces,
¿Qué piensa usted sobre el futuro del aprendizaje profundo? ¿Cuáles son los
problemas que se plantean en el aprendizaje profundo? Coméntelo y compártalo
con nosotros.
No comments:
Post a Comment