Explicación de los fundamentos del aprendizaje profundo o "Deep Learning" por el reportero de tecnología de Michael Copeland.
La inteligencia artificial (IA) es el futuro. La inteligencia artificial es ciencia ficción. La inteligencia artificial ya es parte de nuestras vidas. Todas estas afirmaciones son correctas, dependiendo de cuál es el sabor de la IA a la que nos referimos.
Por ejemplo, cuando el programa AlphaGo de DeepMind de Goggle venció al Maestro de Corea del Sur Lee Se-dol en el juego de mesa Go a principios de año, los términos IA, aprendizaje de máquinas (computadoras) y aprendizaje profundo fueron utilizados en los medios para describir cómo ganó Mente Profunda. Y los tres son parte de la razón de por qué AlphaGo le ganó a Lee Se-Dol. Pero no son la misma cosa.
La manera más sencilla para pensar en su relación es visualizarlos en círculos concéntricos con la inteligencia artificial — la idea que surgió primero — es la más grande, después aprendizaje de máquinas — el cual floreció después, y finalmente aprendizaje profundo — el cual impulsa la explosión de la IA el día de hoy — quedando dentro de las dos.
De la nada al Boom
La inteligencia artificial ha sido parte de nuestra imaginación y ha estado latente en los laboratorios de investigación desde que un puñado de científicos acuñó el término en las Conferencias de Dartmouth en 1956 y le dieron vida al campo de la IA. A lo largo de las décadas, la IA ha sido de manera alternativa la clave del futuro de nuestra civilización, y como la locura tecnológica que nunca se va a realizar. Francamente, hasta 2012, era un poco de ambas.
En años recientes la IA ha explotado y especialmente desde el 2015. Mucho tiene que ver con la disponibilidad de la GPU (Unidad de Procesamiento Gráfico) que realizar procesamiento paralelo mucho más rápido a bajo costo y con gran potencia. También tiene que ver con el atinado almacenamiento prácticamente infinito y el flujo de datos de todo tipo (movimientos de Gran Cantidad de Información, Big Data) – imágenes, texto, transacciones, mapas, lo que sea.
Veamos cómo los científicos de la computación han avanzado desde lo que parecía un fracaso — hasta 2012 — a un boom que ha generado aplicaciones utilizadas por cientos de millones de personas a diario.
Inteligencia Artificial — Inteligencia Humana exhibida por Máquinas
Yéndonos atrás a la conferencia del verano de 56 el sueño de esos pioneros de la IA era construir máquinas complejas — habilitadas por computadoras emergentes — que poseían las mismas características de la inteligencia humana. Este es el concepto en el cual pensamos como “IA General” — máquinas fabulosas que tienen a todos nuestros sentidos (tal vez más), todo nuestro razonamiento, y piensan tal como nosotros. Hemos visto a estas máquinas en muchas películas como amigo — C-3PO — y como enemigo — En Terminator. Las máquinas de IA General se han mantenido en las películas y en las novelas de ciencia ficción por una buena razón; no podemos construirlas, todavía.
Lo que podemos hacer cae en el concepto de “IA Limitada.” Tecnologías que son capaces de realizar tareas específicas tan bien como, o mejor que los humanos podemos. Ejemplos de Inteligencia Artificial Limitada son la clasificación de imágenes en un servicio como Pinterest y el reconocimiento facial en Facebook.
Esos son ejemplos de IA Limitada en práctica. Estas tecnologías muestran algunas facetas de inteligencia humana. ¿Pero cómo? ¿De dónde viene esa inteligencia? Eso nos lleva al siguiente círculo. Aprendizaje de Máquinas.
Aprendizaje de Máquinas o Machine Learning — Un enfoque para lograr Inteligencia Artificial
El Aprendizaje de Máquinas en su práctica más elemental usa algoritmos para procesar información, aprender de ella, y luego hacer una determinación o predicción acerca de algo en el mundo. Así que en vez de escribir a mano rutinas de programación con un conjunto de instrucciones específico para lograr una tarea en particular, la máquina es “entrenada” usando grandes cantidades de información y algoritmos que le dan la habilidad de aprender cómo realizar la tarea.
El aprendizaje de máquinas vino directamente de las mentes de los pioneros de la IA, y los enfoques de algoritmos incluían árbol de decisiones de aprendizaje, programación lógica inductiva, clusters, aprendizaje por reforzamiento, y redes Bayesianas entre otros. Como sabemos, ninguno logró el objetivo principal de la IA General, y aún la IA Limitada estuvo casi fuera de alcance con los primeros enfoques de aprendizaje de máquinas.
Con el paso del tiempo, una de las mejores aplicaciones para el aprendizaje de máquinas fue por muchos años la visión de la computadora, aunque todavía requería una gran cantidad de código manual para realizar el trabajo. La gente escribía clasificadores a mano tales como filtros de detección de aristas para que el programa pudiera detectar dónde un objeto iniciaba y terminaba; detección de formas para determinar si tenía 8 lados; un clasificador para reconocer las letras “S-T-O-P.” De todos los clasificadores escritos a mano desarrollaban algoritmos para que la imagen tuviera sentido y “aprendiera” a determinar si era o no una señal de Alto.
Pero no especialmente grandioso. Especialmente en un día con niebla cuando la señal no era visible, o un árbol lo tapaba parcialmente. Hay una razón por la cual la visión de computadora y la detección de imágenes nunca llegó cerca de rivalizar con los seres humanos hasta hace muy poco, sus resultados eran poco confiables.
El tiempo, y los algoritmos de aprendizaje correctos hicieron toda la diferencia.
Aprendizaje Profundo o Deep Learning — Una Técnica para Implementar en Aprendizaje de Máquinas
Otro enfoque de algoritmos del primer grupo de aprendizaje de máquinas, Redes Neurológicas Artificiales, pasó desapercibida a lo largo de las décadas. Las redes neuronales están inspiradas en el funcionamiento biológico del cerebro humano – todas esas interconexiones entre las neuronas. Pero, a diferencia de un cerebro biológico donde cualquier neurona puede conectarse con cualquier otra dentro de una distancia específica, estas redes neuronales artificiales tienen niveles discretos, conexiones y dirección de propagación de datos.
Usted puede, por ejemplo, tomar una imagen, cortarla en pedacitos que se alimentan al primer nivel de la red neuronal. En el primer nivel neuronas individuales, y pasa al segundo nivel. El segundo nivel de neuronas realiza su tarea, y así sucesivamente, hasta que nivel superior donde se produce el resultado final.
Cada neurona asigna un peso a su valor — qué tan correcto o incorrecto es con respecto a la tarea realizada. El resultado se determina por el total de esas asignaciones de peso. Piense en la señal de alto por ejemplo. Los atributos de una señal de alto se cortan y son “examinadas” por las neuronas — su forma octogonal, su color rojo bombero, sus letras distintivas, su tamaño de señal de tránsito, y su movimiento o su falta de él. La tarea de la red neuronal es determinar si es una señal de alto o no. Genera un vector de “probabilidad”, que realmente es una hipótesis altamente educada, basada en los pesos asignados. En nuestro ejemplo el sistema puede tener una confianza del 86% que la imagen es una señal de alto, 7% de confianza que es una señal de límite de velocidad, y 5% que es un papalote que se atoró en un árbol, etc. — y la arquitectura de la red le dice a la red neuronal si está bien o no.
Aún este ejemplo se adelanta a sí mismo, porque sólo hasta ahora las redes neuronales habían sido casi olvidadas por la comunidad de la Inteligencia Artificial. Ellas habían estado desde los primeros días de la IA, y habían producido muy poca “inteligencia”. El problema era que aún las redes más básicas eran muy intensivas en computación, y no había máquinas que las pudieran soportar. Aún así, un pequeño grupo de investigadores “herejes” siguiendo el liderazgo de Geoffrey Hinton de la Universidad de Toronto siguieron trabajando en ellas, finalmente paralelizando los algoritmos para que pudieran correr en supercomputadoras y probando el concepto, pero no fue hasta que se implementaron en GPUs que los esfuerzos rindieron frutos.
Si nos regresamos al ejemplo de la señal de alto, es posible que al inicio la red empiece a “entrenarse” y calibrarse dando respuestas equivocadas — muchas de ellas. Lo que necesita es entrenamiento. Necesita ver cientos de miles, tal vez millones de imágenes, hasta que el peso de la alimentación de imágenes para las neuronas se calibre de forma tan precisa que da el resultado correcto casi siempre — con o sin niebla, llueve o haga sol. Es en este punto en que la red neuronal se ha enseñado a sí misma cómo se ve una señal de alto; o la cara de tu mamá en el caso de Facebook; o un gatito, que es lo que Andrew Ng hizo en 2012 en Google.
La hazaña de Ng fue tomar estas redes neuronales y esencialmente hacerlas enormes, incrementando los niveles y las neuronas, y entonces correr grandes cantidades de información a través del sistema para entrenarlo. En el caso de Ng fueron imágenes de 10 millones de videos de YouTube. Ng puso lo “profundo” en el aprendizaje profundo, lo que describe todos los niveles en estas redes neuronales.
Hoy, el reconocimiento de imágenes por máquinas entrenadas a través del aprendizaje profundo en algunos escenarios es mejor que los humanos, y eso va desde gatos hasta identificar indicaciones de cáncer en la sangre y tumores en escaneos de resonancia magnética (MRI). Alpha Go de Google aprendió el juego, y se entrenó para su competencia Go — calibró su red neuronal — al jugar contra sí misma una y otra y otra vez.
Gracias al Aprendizaje Profundo, la Inteligencia Artificial tiene un Brillante Futuro
El Aprendizaje Profundo ha permitido muchas aplicaciones prácticas del Aprendizaje de Máquinas y por consecuencia de todo el campo de la IA. El aprendizaje profundo parte las tareas de maneras que hace posible toda clase de asistencia por medio de máquinas sea posible y probable. Los vehículos autónomos, mejores prevenciones del cuidado de la salud, inclusive mejores recomendaciones para ver una película, están aquí ahora o cerca en el horizonte. La IA está presente y en el futuro. Con la ayuda del Aprendizaje Profundo, la IA puede tal vez adentrarse en el mundo de ciencia ficción que tanto hemos imaginado. Si tiene un C-3PO, yo lo quiero, usted puede conservar su Terminator.
Fuente: desde el blog de NVIDIA por Michael Copeland