En 1998, cuando apareció la base de datos MNIST, tomó semanas entrenar las computadoras más avanzadas, lo que logró resultados mucho peores que las computadoras de hoy, que tardan menos de una hora en llegar a la GPU. Por lo tanto, MNIST ya no es una tarea que empuja los límites de la tecnología; La velocidad del entrenamiento sugiere que esta tarea es adecuada para estudiar esta tecnología. Mientras tanto, la investigación va más allá y el trabajo moderno estudia problemas mucho más complejos. En esta sección, describiré brevemente algunos ejemplos de trabajos en curso relacionados con el reconocimiento de imágenes utilizando redes neuronales.
Esta sección es diferente del resto del libro. En el libro, me concentré en ideas presumiblemente de larga vida: propagación hacia atrás, regularización, redes convolucionales. Traté de evitar los resultados considerados de moda al momento de escribir, cuyo valor a largo plazo parecía dudoso. En la ciencia, estos resultados suelen ser efímeros, desaparecen rápidamente y no tienen un efecto a largo plazo. Ante esto, el escéptico diría: “Por supuesto, el progreso reciente en el reconocimiento de imágenes puede considerarse un ejemplo de tal viaje de un día? En dos o tres años, todo cambiará. Entonces, ¿es probable que estos resultados sean de interés para un pequeño número de profesionales que compiten en primer plano? ¿Por qué discutirlos en absoluto?
Tal escéptico tendrá razón en que los pequeños detalles de trabajos recientes están perdiendo gradualmente importancia percibida. Sin embargo, en los últimos años ha habido mejoras increíbles en la resolución de problemas particularmente complejos de reconocimiento de imágenes utilizando redes neuronales profundas (GNS). Imagine un historiador de la ciencia escribiendo material sobre visión por computadora en 2100. Definirán 2011-2015 (y probablemente varios años después de eso) como un período de avances significativos impulsados por redes de convolución profunda (GSS). Esto no significa que el GOS se seguirá utilizando en 2100, sin mencionar detalles como la excepción, ReLU y más. Pero todo esto significa que hay una transición importante en la historia de las ideas en el momento actual. Esto es similar a observar el descubrimiento del átomo, la invención de los antibióticos: la invención y el descubrimiento de proporciones históricas. Por lo tanto, sin entrar en detalles, vale la pena hacerse una idea de los interesantes descubrimientos que se están haciendo hoy.
Trabajo 2012 LRMD
Permítanme comenzar con el
trabajo de 2012, escrito por un grupo de investigadores de Stanford y Google. La llamaré LRMD, por las primeras letras de los nombres de los primeros cuatro autores. LRMD usó NS para clasificar imágenes de la base de datos ImageNet, que es una tarea muy difícil de reconocimiento de patrones. Los datos que utilizaron en ImageNet 2011 incluyeron 16 millones de imágenes a todo color, divididas en 20,000 categorías. Las imágenes fueron descargadas de Internet y clasificadas por Mechanical Turk de Amazon. Aquí hay algunos de ellos:




Pertenecen a las categorías, respectivamente: paperas, hongo de raíz marrón, leche pasteurizada, lombrices intestinales. Si desea hacer ejercicio, le recomiendo que visite la lista de herramientas manuales de ImagNet, donde se hacen diferencias entre montículos, cepilladores, cepilladores para biselar y docenas de otros tipos de cepilladores, sin mencionar otras categorías. No sé sobre usted, pero no puedo distinguir con certeza todas estas herramientas. ¡Esto es obviamente mucho más desafiante que MNIST! La red LRMD obtuvo un resultado decente con una precisión de reconocimiento de imagen del 15.8% de ImageNet. Esto puede no parecer un resultado tan impresionante, pero fue una gran mejora sobre el resultado anterior de 9.3%. Tal salto sugiere que los NS pueden ofrecer un enfoque efectivo para tareas de reconocimiento de imágenes muy complejas, como ImageNet.
Trabajo 2012 KSH
El trabajo de LRMD en 2012 fue seguido por el
trabajo de Krizhevsky, Sutskever y Hinton (KSH). KSH entrenó y probó GSS utilizando un subconjunto limitado de datos ImagNet. Este subconjunto está definido por la popular competencia de aprendizaje automático: el desafío de reconocimiento visual a gran escala ImageNet (ILSVRC). El uso de este subconjunto les dio una manera conveniente de comparar su enfoque con otras técnicas líderes. El conjunto ILSVRC 2012 contiene aproximadamente 1.2 millones de imágenes de 1000 categorías. Los conjuntos de verificación y confirmación contienen 150,000 y 50,000 imágenes, respectivamente, de las mismas 1000 categorías.
Uno de los desafíos de la competencia ILSVRC es que muchas imágenes de ImageNet contienen múltiples objetos. Por ejemplo, en la imagen, el Labrador Retriever corre tras un balón de fútbol. T.N. La clasificación "correcta" de ILSVRC puede corresponder a la etiqueta del Labrador Retriever. ¿Es necesario seleccionar puntos del algoritmo si marca la imagen como un balón de fútbol? Debido a tal ambigüedad, el algoritmo se consideró correcto si la clasificación de ImageNet se encontraba entre las 5 conjeturas más probables del algoritmo con respecto al contenido de la imagen. Según este criterio, de los 5 primeros, el GSS de KSH logró una precisión del 84.7%, mucho mejor que el oponente anterior, que logró una precisión del 73.8%. Usando una métrica más rigurosa, cuando la etiqueta debe coincidir exactamente con la prescrita, la precisión de KSH alcanzó el 63.3%.
Vale la pena describir brevemente la red KSH, ya que inspiró tantos trabajos que siguieron. También, como veremos, está estrechamente relacionado con las redes que hemos entrenado en este capítulo, aunque es más complejo. KSH utilizó GSS entrenado en dos GPU. Usaron dos GPU porque su tarjeta particular (NVIDIA GeForce GTX 580) no tenía suficiente memoria para almacenar toda la red. Por lo tanto, dividen la red en dos partes.
La red KSH tiene 7 capas de neuronas ocultas. Las primeras cinco capas ocultas son convolucionales (algunas usan la agrupación máxima), y las siguientes 2 están completamente conectadas. La capa softmax de salida consta de 1000 neuronas correspondientes a 1000 clases de imágenes. Aquí hay un boceto de la red, tomado del trabajo de KSH. Los detalles se describen a continuación. Tenga en cuenta que muchas capas se dividen en 2 partes correspondientes a dos GPU.

En la capa de entrada hay una neurona 3x224x224 que indica los valores RGB para una imagen de tamaño 224x224. Recuerde que ImageNet contiene imágenes de varias resoluciones. Esto presenta un problema, ya que la capa de red de entrada suele ser de un tamaño fijo. KSH se ocupó de esto escalando cada imagen para que su lado corto tuviera una longitud de 256 píxeles. Luego cortaron un área de 256x256 píxeles desde el centro de la imagen redimensionada. Finalmente, KSH recupera piezas aleatorias de imágenes de 224x224 (y sus reflejos horizontales) de imágenes de 256x256. Este corte aleatorio es una forma de expandir los datos de entrenamiento para reducir el reciclaje. Esto ayuda especialmente a entrenar una red tan grande como KSH. Y finalmente, estas imágenes de 224x224 se utilizan como entrada a la red. En la mayoría de los casos, la imagen recortada contiene el objeto principal de la imagen original.
Pasamos a las capas ocultas de la red KSH. La primera capa oculta es convolucional, con un paso de extracción máxima. Utiliza campos receptivos locales de tamaño 11x11 y un paso de 4 píxeles. En total, se obtienen 96 tarjetas de características. Las cartas de personaje se dividen en dos grupos de 48 piezas, con las primeras 48 cartas en una GPU y la segunda en la otra. La agrupación máxima en esta y las capas subsiguientes se realiza mediante secciones de 3x3, pero las secciones de agrupación pueden solaparse y están ubicadas a una distancia de solo 2 píxeles entre sí.
La segunda capa oculta también es convolucional, con agrupación máxima. Utiliza campos receptivos locales de 5x5 y tiene 256 tarjetas de funciones, divididas en 128 piezas para cada GPU. Los mapas de funciones usan solo 48 canales entrantes, y no todas las 96 salidas de la capa anterior, como de costumbre. Esto se debe a que cualquier tarjeta de función recibe información de la GPU en la que está almacenada. En este sentido, la red se está alejando de la arquitectura convolucional que describimos anteriormente en este capítulo, aunque, obviamente, la idea básica sigue siendo la misma.
Las capas tercera, cuarta y quinta son convolucionales, pero sin agrupación máxima. Sus parámetros: (3) 384 mapas de características, campos receptivos locales 3x3, 256 canales entrantes; (4) 384 mapas de características, campos receptivos locales 3x3, 192 canales entrantes; (5) 256 tarjetas de funciones, campos receptivos locales 3x3, 192 canales entrantes. En la tercera capa, los datos se intercambian entre las GPU (como se muestra en la imagen) para que los mapas de características puedan usar los 256 canales entrantes.
Las capas ocultas sexta y séptima están completamente conectadas, 4096 neuronas cada una.
La capa de salida es softmax, consta de 1000 unidades.
La red KSH aprovecha muchas técnicas. En lugar de utilizar la tangente sigmoidea o hiperbólica como función de activación, utiliza ReLU, que acelera enormemente el aprendizaje. La red KSH contiene alrededor de 60 millones de parámetros de entrenamiento y, por lo tanto, incluso con un gran conjunto de datos de entrenamiento, está sujeta a reciclaje. Para hacer frente a esto, los autores ampliaron el conjunto de capacitación recortando imágenes al azar, como se describió anteriormente. Luego usaron la variante de regularización L2 y la excepción. La red fue entrenada usando el descenso de gradiente estocástico basado en el impulso y con mini paquetes.
Esta es una breve descripción de muchas de las ideas clave de KSH. Omití algunos detalles; búscalos en el artículo tú mismo. También puede ver el proyecto de Alex Krizhevsky
cuda-convnet (y sus seguidores), que contiene código que implementa muchas de las ideas descritas. También se ha
desarrollado una versión de esta red
basada en Theano . Puede reconocer ideas en el código que son similares a las que desarrollamos en este capítulo, aunque el uso de múltiples GPU complica las cosas. El marco Caffe tiene su propia versión de la red KSH, consulte sus "
modelos de zoológico " para más detalles.
Concurso ILSVRC 2014
Desde 2012, el progreso ha sido bastante rápido. Asista a la competencia ILSVRC 2014. Como en 2012, los participantes tuvieron que entrenar redes para 1.2 millones de imágenes de 1000 categorías, y una de las 5 predicciones probables en la categoría correcta era un criterio de calidad.
El equipo ganador , compuesto principalmente por empleados de Google, utilizó el GSS con 22 capas de neuronas. Llamaron a su red GoogLeNet, después de LeNet-5. GoogLeNet logró una precisión del 93,33% según los criterios de las cinco mejores opciones, lo que mejoró seriamente los resultados del ganador de 2013 (Clarifai, del 88,3%) y el ganador de 2012 (KSH, del 84,7%).
¿Qué tan buena es la precisión de GoogLeNet 93.33%? En 2014, un equipo de investigación escribió una
revisión de la competencia ILSVRC. Una de las cuestiones abordadas fue qué tan bien las personas podrían hacer frente a la tarea. Para el experimento, crearon un sistema que permite a las personas clasificar imágenes con ILSVRC. Como explica uno de los autores del trabajo, Andrei Karpaty, en una entrada informativa en su blog, fue muy difícil llevar la efectividad de las personas a los indicadores de GoogLeNet:
La tarea de marcar imágenes con cinco categorías de 1000 posibles rápidamente se volvió extremadamente difícil, incluso para aquellos de mis amigos en el laboratorio que habían estado trabajando con ILSVRC y sus categorías durante algún tiempo. Primero, queríamos enviar la tarea a Amazon Mechanical Turk. Luego decidimos intentar contratar estudiantes por dinero. Por lo tanto, organicé una fiesta de marcado entre expertos en mi laboratorio. Después de eso, desarrollé una interfaz modificada que utilizaba las predicciones de GoogLeNet para reducir el número de categorías de 1000 a 100. Sin embargo, la tarea fue difícil: la gente omitió categorías, dando errores del orden del 13-15%. Al final, me di cuenta de que para acercarme aún más al resultado de GoogLeNet, el enfoque más efectivo sería que me sentara y pasara por un proceso de aprendizaje imposiblemente largo y el posterior proceso de marcado completo. Al principio, el marcado fue a una velocidad del orden de 1 pieza por minuto, pero se aceleró con el tiempo. Algunas imágenes fueron fáciles de reconocer, mientras que otras (por ejemplo, ciertas razas de perros, especies de pájaros o monos) requirieron varios minutos de concentración. Me hice muy bueno para distinguir entre razas de perros. En base a mi muestra de imágenes, se obtuvieron los siguientes resultados: GoogLeNet se equivocó en el 6,8% de los casos; mi tasa de error fue de 5.1%, que fue aproximadamente 1.7% mejor.
En otras palabras, el experto, que trabajó con mucho cuidado, solo haciendo esfuerzos serios, pudo adelantarse un poco al STS. Karpaty informa que el segundo experto, capacitado en menos imágenes, logró reducir el error en solo un 12% al elegir hasta 5 etiquetas por imagen, que es mucho menos que GoogLeNet.
Resultados impresionantes Y desde la llegada de este trabajo, varios equipos han informado sobre el desarrollo de sistemas cuya tasa de error al elegir las 5 mejores etiquetas fue incluso inferior al 5,1%. A veces, estos logros fueron cubiertos en los medios como la aparición de sistemas capaces de reconocer imágenes mejor que las personas. Aunque los resultados son generalmente sorprendentes, hay muchos matices que no se pueden considerar que la visión por computadora funciona mejor en estos sistemas que en los humanos. En muchos sentidos, la competencia ILSVRC es una tarea muy limitada: los resultados de una búsqueda de imágenes en una red abierta no se corresponderán necesariamente con lo que el programa encontrará en una tarea práctica. Y, por supuesto, el criterio "una de las cinco mejores calificaciones" es bastante artificial. Todavía tenemos un largo camino por recorrer para resolver el problema del reconocimiento de imágenes, sin mencionar la tarea más general de la visión por computadora. Pero aún así es genial ver cuánto progreso se ha logrado en la resolución de una tarea tan difícil en solo unos pocos años.
Otras tareas
Me concentré en ImageNet, sin embargo, hay muchos otros proyectos que usan NS para el reconocimiento de imágenes. Permítanme describir brevemente algunos resultados interesantes obtenidos recientemente, solo para tener una idea del trabajo moderno.
Un equipo de Google obtuvo un
conjunto práctico inspirador
de resultados , que aplicó GSS a la tarea de reconocimiento de placa de dirección en Google Street View. En su trabajo, informan cómo descubrieron y reconocieron automáticamente casi 100 millones de placas de direcciones con una precisión comparable al trabajo humano. Y su sistema es rápido: ¡fue capaz de descifrar datos de todas las imágenes de Google Street View en Francia en menos de una hora! Escriben: "Obtener este nuevo conjunto de datos ha aumentado significativamente la calidad de la geocodificación de Google Maps en varios países, especialmente donde no había otras fuentes de geocodificación". Luego hacen una declaración más general: "Creemos que, gracias a este modelo, resolvimos el problema del reconocimiento óptico de secuencias cortas de una manera que es aplicable en muchas aplicaciones prácticas".
Quizás creé la impresión de un desfile de resultados victoriosos e inspiradores. Por supuesto, los informes más interesantes se refieren a cosas fundamentales que aún no nos quedan claras. Por ejemplo, en el
trabajo de 2013 se demostró que la Asamblea Nacional tiene, de hecho, puntos ciegos. Echa un vistazo a las imágenes a continuación. A la izquierda está la imagen de ImageNet, que la red de investigadores clasificó correctamente. A la derecha hay una imagen ligeramente modificada (en el medio se muestran las diferencias), que la red ya no pudo reconocer correctamente. Y los autores descubrieron que dichos cambios "adversarios" se pueden seleccionar para cualquier imagen de la base de datos, y no solo para la élite.

Resultado desagradable. Usamos una red basada en el mismo código que la red KSH, es decir, es una red que se usa cada vez más. Y aunque tales NS calculan, en principio, funciones continuas, resultados similares sugieren que probablemente calculen funciones casi discretas. Peor aún, resultan ser discretos de una manera que viola nuestra noción intuitiva de comportamiento inteligente. Esto es un problema Además, no está muy claro qué conduce exactamente a la discreción, cuál es el problema: ¿en la función de pérdida? ¿Qué funciones de activación usar? ¿En arquitectura de red? En otra cosa? No lo sabemos
Pero estos resultados no son tan malos como parecen. Aunque tales cambios adversos son bastante comunes, es poco probable que se encuentren en la práctica. Como se indica en el trabajo:
La existencia de negativos adversos contradice la capacidad de la red para lograr una alta generalización. De hecho, si la red pudiera generalizarse bien, ¿cómo podría ser engañada por tales negativas adversarias que no se pueden distinguir de los ejemplos ordinarios? La explicación es que un conjunto de negativos competitivos tiene una probabilidad extremadamente baja y, por lo tanto, no se observa (o casi no se observa) en el conjunto de datos de entrenamiento, sin embargo, tiene una alta densidad (aproximadamente como números racionales) y, por lo tanto, se puede encontrar en casi cualquier caso .
Sin embargo, es desagradable que comprendamos tan mal el trabajo de la Asamblea Nacional que este resultado se descubrió recientemente. Por supuesto, la principal ventaja de tales resultados será que estimularon la aparición de trabajos posteriores sobre este tema.
Un trabajo reciente en 2014 mostró que es posible que una red capacitada cree imágenes que parezcan ruido blanco para una persona, y la red las clasificará en categorías conocidas con un alto grado de confianza. Esta es otra demostración que todavía tenemos mucho que entender en el trabajo del NS y en su uso para el reconocimiento de imágenes.Pero, a pesar de la presencia de resultados similares, el panorama general es inspirador. Estamos viendo un rápido progreso en la realización de pruebas extremadamente complejas como ImageNet. También estamos viendo un rápido progreso en la resolución de problemas del mundo real, como el reconocimiento de placas de direcciones en StreetView. Pero, a pesar de la inspiración, no basta con observar mejoras en el rendimiento de las pruebas de velocidad o incluso en las tareas del mundo real. Hay fenómenos fundamentales, cuya esencia todavía no entendemos bien, por ejemplo, la existencia de imágenes competitivas. Y si bien estos problemas fundamentales aún se abren (sin mencionar la solución de ellos), sería prematuro hablar sobre abordar la solución del problema de reconocimiento de imágenes. Pero al mismo tiempo, estos problemas son excelentes incentivos para seguir trabajando.Otros enfoques para redes neuronales profundas
En este libro, nos centramos en una tarea: la clasificación de números MNIST. Una tarea excelente que nos hizo comprender muchas ideas efectivas: descenso de gradiente estocástico, propagación hacia atrás, redes convolucionales, regularización, etc. Sin embargo, esta también es una tarea bastante limitada. Después de leer la literatura sobre redes neuronales, se encontrará con muchas ideas que no discutimos: NS recurrentes, máquinas de Boltzmann, modelos generativos, transferencia de entrenamiento, aprendizaje reforzado, y así sucesivamente. Las redes neuronales son un área extensa. Sin embargo, muchas ideas importantes son variaciones de esas ideas que ya hemos discutido, y son bastante fáciles de entender. En esta sección, abriré ligeramente la cortina sobre estas vastas extensiones. Su discusión no sería detallada y exhaustiva; esto inflaría extremadamente el libro. Será impresionistaun intento de mostrar la riqueza conceptual de esta área y conectar algunos conceptos con los que ya hemos visto. En el texto daré varias referencias a otras fuentes, en cuanto a materiales para capacitación adicional. Por supuesto, muchos de ellos pronto serán reemplazados por otros, y es posible que desee buscar literatura más reciente. Sin embargo, creo que muchas ideas básicas seguirán siendo interesantes durante mucho tiempo.Redes neuronales recurrentes (RNS)
En las redes de propagación directa que utilizamos, hay una entrada que determina completamente la activación de todas las neuronas en las capas posteriores. Esta es una imagen muy estática: todo en la red es fijo y tiene un carácter cristalino congelado. Pero supongamos que permitimos que los elementos de la red cambien dinámicamente. Por ejemplo, el comportamiento de las neuronas ocultas puede determinarse no solo por activaciones en capas anteriores, sino también por activaciones que ocurrieron antes en el tiempo. La activación de una neurona puede determinarse parcialmente por su activación anterior. En redes con distribución directa, esto claramente no sucede. O, tal vez, la activación de las neuronas ocultas y de salida estará determinada no solo por la entrada actual a la red, sino también por las anteriores.Las redes neuronales con este tipo de comportamiento variable en el tiempo se conocen como redes neuronales recurrentes o RNS. Hay muchas formas de formalizar matemáticamente la descripción informal del párrafo anterior. Puedes hacerte una idea al leer el artículo de Wikipedia . Al momento de escribir este artículo, en la versión en inglés del artículo, se describen al menos 13 modelos diferentes [en el momento de la traducción en 2019, ya 18 / aprox. transl.].
Pero, si dejamos de lado los detalles matemáticos, entonces la idea general del RNS es la presencia de cambios dinámicos en la red que ocurren con el tiempo. Y, como era de esperar, son especialmente útiles para analizar datos o procesos que cambian con el tiempo. Tales datos y procesos aparecen naturalmente en tareas como el análisis del habla o el lenguaje natural.Una de las formas actuales de usar RNS es integrar mejor las redes neuronales con los métodos tradicionales de representación de algoritmos, con conceptos como una máquina de Turing y lenguajes de programación comunes. En el trabajo desde 2014RNS fue desarrollado, capaz de aceptar una descripción letra por letra de un programa python muy simple, y predecir el resultado de su trabajo. Hablando informalmente, la red está aprendiendo a "comprender" ciertos programas de Python. El segundo trabajo de 2014 utilizó el RNS como punto de partida para el desarrollo de la neuromáquina de Turing (BDC). Esta es una computadora universal, cuya estructura completa puede ser entrenada usando el gradiente de descenso. Entrenaron a su BDC para construir algoritmos para varias tareas simples, como ordenar o copiar.Estos, por supuesto, son modelos de juguete muy simples. ¡Aprender a ejecutar un programa en python como print (398345 + 42598) no convierte a una red neuronal en un intérprete completo del lenguaje! No está claro qué tan fuertes serán estas ideas. Sin embargo, los resultados son bastante interesantes. Históricamente, las redes neuronales hicieron un buen trabajo al reconocer patrones que tropezaron con los enfoques algorítmicos convencionales. Y viceversa, los enfoques algorítmicos convencionales hacen un buen trabajo resolviendo problemas que son complejos para NS. ¡Hoy, nadie está tratando de implementar un servidor web o una base de datos basada en NS! Sería genial desarrollar modelos integrados que integren las fortalezas de los enfoques algorítmicos tradicionales y NS. RNS, y las ideas inspiradas por ellos, pueden ayudarnos a hacer esto.En los últimos años, RNS se ha utilizado para resolver muchos otros problemas. Eran especialmente útiles en el reconocimiento de voz. Los enfoques basados en RNS establecen récords de calidad de reconocimiento de fonemas. También se utilizaron para desarrollar modelos mejorados del lenguaje utilizado por las personas. Los modelos de lenguaje mejorados ayudan a reconocer ambigüedades en el habla que suenan similares. Un buen modelo de lenguaje puede decirnos que la frase "hacia adelante hasta el infinito" es mucho más probable que la frase "hacia adelante sin extremidades", aunque suenen similares. RNS se utilizó para obtener logros récord en ciertas pruebas de idiomas.Este trabajo es parte del uso más amplio de NS de todo tipo, no solo de RNS, para resolver el problema del reconocimiento de voz. Por ejemplo, un enfoque basado en GNS ha mostrado excelentes resultados al reconocer el habla continua con un vocabulario amplio. Otro sistema basado en GNS se implementa en el sistema operativo Android de Google.Hablé un poco sobre lo que los RNC son capaces de hacer, pero no expliqué cómo funcionan. Es posible que no se sorprenda al saber que muchas de las ideas del mundo de las redes de distribución directa también se pueden utilizar en RNS. En particular, podemos entrenar el RNS modificando el descenso del gradiente y la propagación hacia atrás en la frente. Muchas otras ideas utilizadas en redes de distribución directa, desde técnicas de regularización hasta convolución y activación y funciones de costo, también serán útiles. Además, muchas de las ideas que desarrollamos como parte del libro se pueden adaptar para su uso en el RNS.Módulos de memoria a corto plazo (DCT) a largo plazo
Uno de los problemas de RNS es que los primeros modelos eran muy difíciles de entrenar, más complicados que incluso GNS. La razón fueron los problemas del gradiente inestable, que discutimos en el Capítulo 5. Recuerde que la manifestación habitual de este problema es que el gradiente disminuye todo el tiempo cuando se propaga a través de las capas en la dirección opuesta. Esto ralentiza extremadamente el aprendizaje de las primeras capas. En RNS, este problema empeora aún más, ya que los gradientes se propagan no solo en la dirección opuesta a lo largo de las capas, sino también en la dirección opuesta en el tiempo. Si la red funciona durante un tiempo bastante largo, el gradiente puede volverse extremadamente inestable y, en consecuencia, será muy difícil de aprender. Afortunadamente, una idea conocida como módulos de memoria a corto plazo (DCT) a largo plazo se puede incluir en el RNS . Por primera vez, los módulos introducidosHochreiter y Schmidguber en 1997 , específicamente para ayudar a resolver el problema de un gradiente inestable. Las DCT hacen que sea más fácil obtener buenos resultados en el aprendizaje de RNS, y muchos trabajos recientes (incluidos los que ya he mencionado) usan DCT o ideas similares.Redes de confianza profunda, modelos generativos y máquinas Boltzmann
Hoy en día, el interés en el aprendizaje profundo ha ganado un segundo impulso en 2006, después de la publicación de trabajos ( 1 , 2 ) que explican cómo enseñar un tipo especial de NS llamado red de confianza profunda (GDS). GDS durante varios años influyó en el campo de la investigación, pero luego su popularidad comenzó a disminuir, y las redes de distribución directa y los NS recurrentes se pusieron de moda. A pesar de esto, algunas de las propiedades de GDS los hacen muy interesantes.Primero, los GDS son un ejemplo de modelo generativo. En una red de distribución directa, especificamos activaciones de entrada y determinan la activación de neuronas características más abajo en la red. El modelo generativo puede usarse de manera similar, pero puede establecer los valores de las neuronas en él y luego ejecutar la red "en la dirección opuesta", generando los valores de las activaciones de entrada. Más específicamente, un GDS capacitado en imágenes de dígitos escritos a mano puede generar imágenes similares a los dígitos escritos a mano (potencialmente, y después de ciertas acciones). En otras palabras, GDM en cierto sentido puede aprender a escribir. En este sentido, los modelos generativos son similares al cerebro humano: no solo pueden leer números, sino también escribirlos. El famoso dicho de Jeffrey Hintonestablece que para el reconocimiento de patrones, primero debe aprender a generar imágenes.En segundo lugar, son capaces de aprender sin un maestro y casi sin un maestro. Por ejemplo, cuando se entrena en imágenes, los GDS pueden aprender signos que son útiles para comprender otras imágenes, incluso si no hay marcas en las imágenes de entrenamiento. La capacidad de aprender sin un maestro es extremadamente interesante tanto desde un punto de vista científico fundamental como desde un punto de vista práctico, si se puede hacer que funcione lo suficientemente bien.Dados todos estos puntos atractivos del GDS como modelos para el aprendizaje profundo, ¿por qué su popularidad disminuyó? En parte debido al hecho de que otros modelos, como la distribución directa y las redes recurrentes, han logrado resultados sorprendentes, en particular, avances en las áreas de reconocimiento de imagen y habla. No es sorprendente que estos modelos hayan recibido tanta atención y sean muy merecidos. Sin embargo, una conclusión desagradable se sigue de esto. El mercado de ideas a menudo funciona de acuerdo con el esquema "el ganador lo consigue todo", y casi toda la atención se dirige a lo que está más de moda en esta área ahora. Puede ser extremadamente difícil para las personas trabajar en ideas actualmente impopulares, incluso si es obvio que pueden ser de interés a largo plazo. Mi opinión personal es que el GDS y otros modelos generativos merecen más atención de la que reciben.No me sorprenderá si el GDM o modelo similar supera alguna vez a los modelos populares de hoy. LeerEste artículo es para una introducción al campo de GDM. Este artículo también puede ser útil . No se trata completamente de GDM, pero tiene muchas cosas útiles sobre las máquinas de Boltzmann limitadas, un componente clave de GDM.Otras ideas
¿Qué más está sucediendo en el campo de la Asamblea Nacional y la Defensa Civil? Una gran cantidad de trabajo interesante. Entre las áreas activas de investigación se encuentra el uso de NS para
procesar lenguaje natural,
traducción automática y aplicaciones más inesperadas, por ejemplo,
informática musical . Hay muchas otras áreas. En muchos casos, después de leer este libro, podrá comprender el trabajo reciente, aunque, por supuesto, es posible que necesite llenar algunos vacíos de conocimiento.
Terminaré esta sección con una mención de un trabajo particularmente interesante. Ella combina redes convolucionales profundas con una técnica llamada
aprendizaje de refuerzo para
aprender a jugar videojuegos (y
otro artículo sobre esto). La idea es utilizar una red convolucional para simplificar los datos de píxeles de la pantalla del juego, convertirlos en un conjunto más simple de atributos que luego se puedan usar para tomar decisiones sobre acciones adicionales: "ir a la izquierda", "ir a la derecha", "disparar" y etc. Particularmente interesante es que una red aprendió bastante bien a jugar siete videojuegos clásicos diferentes, por delante de los expertos en tres de ellos. Esto, por supuesto, parece un truco, y el trabajo se promocionó activamente bajo el título "Jugar juegos de Atari con aprendizaje de refuerzo". Sin embargo, detrás de un brillo superficial, vale la pena considerar el hecho de que el sistema toma datos de píxeles en bruto, ni siquiera conoce las reglas del juego, y sobre su base está capacitado para tomar decisiones de buena calidad en varias situaciones muy diferentes y muy competitivas, cada una de las cuales tiene su propio conjunto complejo de reglas. Bastante bien
El futuro de las redes neuronales.
Interfaces de intención de usuario
En una vieja broma, un profesor impaciente le dice a un estudiante confundido: "No escuches mis palabras, escucha lo que quiero decir". Históricamente, las computadoras a menudo no entendían, como un estudiante confundido, lo que un usuario quiere decir. Sin embargo, la situación está cambiando. Todavía recuerdo la primera vez que me sorprendí cuando escribí una solicitud por error a Google, y el motor de búsqueda me dijo: "¿Quiso decir [solicitud correcta]?" El Director de Google, Larry Page,
una vez describió el motor de búsqueda perfecto como un sistema que comprende exactamente lo que significan sus consultas y le brinda exactamente lo que desea.
Esta es la idea de una interfaz basada en la intención del usuario. En él, en lugar de responder a las solicitudes literales de los usuarios, el motor de búsqueda utilizará el MO para tomar una solicitud vaga del usuario, comprender exactamente lo que significa y actuar sobre esta base.
La idea de una interfaz basada en la intención del usuario puede aplicarse más ampliamente que solo en la búsqueda. Durante las próximas décadas, miles de compañías crearán productos en los que MO se utilizará para interfaces de usuario, refiriéndose con calma a acciones inexactas del usuario y adivinando sus verdaderas intenciones. Ya vemos ejemplos tempranos de tales interfaces basadas en la intención: Apple Siri; Wolfram Alpha; IBM Watson sistemas que etiquetan automáticamente fotos y videos, y más.
La mayoría de ellos fallarán. El desarrollo de interfaces es algo complicado, y sospecho que en lugar de inspirar interfaces, muchas compañías crearán interfaces sin vida sobre la base de MO. El mejor MO del mundo no te ayudará si tu interfaz apesta. Sin embargo, algunos productos tendrán éxito. Con el tiempo, esto conducirá a un cambio serio en nuestra relación con las computadoras. No hace mucho tiempo, por ejemplo, en 2005, los usuarios daban por sentado que interactuar con las computadoras requiere una alta precisión. La naturaleza literal de la computadora sirvió para difundir la idea de que las computadoras son muy literales; El único punto y coma olvidado podría cambiar completamente la naturaleza de la interacción con la computadora. Pero creo que en las próximas décadas desarrollaremos varias interfaces exitosas basadas en la intención del usuario, y esto cambiará radicalmente nuestras expectativas al trabajar con computadoras.
Aprendizaje automático, ciencia de datos y el círculo inmaculado de innovación
Por supuesto, MO no solo se usa para crear interfaces basadas en la intención del usuario. Otra aplicación interesante de MO es la ciencia de datos, donde se utiliza para buscar "incógnitas conocidas" ocultas en los datos obtenidos. Este ya es un tema de moda, sobre el cual se han escrito muchos artículos, por lo que no lo extenderé por mucho tiempo. Quiero mencionar una consecuencia de esta moda, que no se menciona a menudo: a la larga, es posible que el mayor avance en la región de Moscú no sea solo un avance conceptual. El mayor avance será que la investigación en el campo de MO será rentable mediante el uso de datos en ciencias y otras áreas. Si una empresa puede invertir un dólar en investigación de MO y obtener un dólar y diez centavos de ingresos con bastante rapidez, entonces se invertirá mucho dinero en la región MO. En otras palabras, MO es el motor que nos impulsa a la aparición de varios grandes mercados y áreas de crecimiento tecnológico. Como resultado, aparecerán grandes equipos de personas expertas en este campo que tendrán acceso a recursos increíbles. Esto moverá el MO aún más lejos, creará aún más mercados y oportunidades, que serán el círculo inmaculado de la innovación.
El papel de las redes neuronales y el aprendizaje profundo.
Describí MO en términos generales como una forma de crear nuevas oportunidades para el desarrollo tecnológico. ¿Cuál será el papel específico de la Asamblea Nacional y la Sociedad Civil en todo esto?
Para responder a la pregunta, es útil pasar a la historia. En la década de 1980, hubo un avivamiento alegre y optimista asociado con las redes neuronales, especialmente después de la popularización de la propagación hacia atrás. Pero la recuperación disminuyó, y en la década de 1990, el bastón MO se transfirió a otras tecnologías, por ejemplo, el método del vector de soporte. Hoy, la Asamblea Nacional está nuevamente en el caballo, estableciendo todo tipo de récords y superando a muchos rivales en varios problemas. Pero, ¿quién garantiza que mañana no se desarrollará un nuevo enfoque que eclipsará nuevamente a NA? ¿O, tal vez, el progreso en el campo de la Asamblea Nacional comenzará a detenerse y nada los reemplazará?
Por lo tanto, es mucho más fácil pensar en el futuro del Ministerio de Defensa en su conjunto que específicamente en la Asamblea Nacional. Parte del problema es que entendemos muy mal la Asamblea Nacional. ¿Por qué NS es tan bueno compilando información? ¿Cómo evitan el reentrenamiento tan bien, dada la gran cantidad de opciones? ¿Por qué el descenso de gradiente estocástico funciona tan bien? ¿Qué tan bien funcionará NS al escalar conjuntos de datos? Por ejemplo, si ampliamos la base de ImageNet 10 veces, ¿el rendimiento del NS mejorará más o menos que la efectividad de otras tecnologías de MO? Todas estas son preguntas simples y fundamentales. Y hasta ahora tenemos una comprensión muy pobre de las respuestas a estas preguntas. En este sentido, es difícil decir qué papel jugará la Asamblea Nacional en el futuro de la Región de Moscú.
Haré una predicción: creo que GO no irá a ninguna parte. La capacidad de estudiar jerarquías de conceptos, de construir diferentes capas de abstracciones, aparentemente, es fundamental para el conocimiento del mundo. Esto no significa que las redes GO del mañana no diferirán radicalmente de las de hoy. Podemos encontrar cambios importantes en sus componentes, arquitecturas o algoritmos de aprendizaje. Estos cambios pueden llegar a ser lo suficientemente dramáticos como para que dejemos de considerar los sistemas resultantes como redes neuronales. Sin embargo, seguirán participando en la defensa civil.
¿NS y GO conducirán pronto a la aparición de inteligencia artificial?
En este libro, nos centramos en el uso de NS para resolver problemas específicos, por ejemplo, la clasificación de imágenes. Expandamos nuestras consultas: ¿qué pasa con las computadoras de pensamiento de propósito general? ¿Pueden la Asamblea Nacional y la Sociedad Civil ayudarnos a resolver el problema de crear una IA de propósito general? Y si es así, dada la alta velocidad de progreso en el campo de la defensa civil, ¿veremos el surgimiento de la IA en el futuro cercano?
Una respuesta detallada a tal pregunta requeriría un libro separado. En cambio, permíteme ofrecerte una observación basada en
la ley de Conway :
Las organizaciones que diseñan sistemas se limitan a un diseño que copia la estructura de comunicaciones de esta organización.
Es decir, por ejemplo, la ley de Conway establece que el diseño del avión Boeing 747 reflejará la estructura ampliada de Boeing y sus contratistas en el momento en que se desarrolló el modelo 747. U otro ejemplo simple y concreto: considere una compañía que está desarrollando un software complejo. Si el panel de control del software debe estar conectado con el algoritmo MO, entonces el diseñador del panel debe comunicarse con el experto en MO de la compañía. La ley de Conway simplemente formaliza esta observación.
Por primera vez cuando escucharon la ley de Conway, muchas personas dicen "¿No es una evidencia común?" O "¿Es así?" Comenzaré con un comentario sobre su infidelidad. Pensemos: ¿cómo se refleja la contabilidad de Boeing en el modelo 747? ¿Qué pasa con el departamento de limpieza? ¿Un personal de alimentación? La respuesta es que estas partes de la organización probablemente no aparecen explícitamente en ningún otro lugar del Esquema 747. Por lo tanto, debe comprender que la ley de Conway se aplica solo a aquellas partes de la organización que están directamente involucradas en el diseño y la ingeniería.
¿Qué pasa con el comentario sobre banalidad y evidencia? Quizás sea así, pero no lo creo, porque las organizaciones a menudo trabajan para rechazar la ley de Conway. Los equipos que desarrollan nuevos productos a menudo se inflan debido al número excesivo de empleados o, por el contrario, carecen de una persona con conocimientos críticos. Piense en todos los productos con características inútiles y complicadas. O piense en productos con defectos obvios, por ejemplo, con una interfaz de usuario terrible. En ambas clases de programas, a menudo surgen problemas debido a un desajuste entre el equipo necesario para lanzar un buen producto y el equipo que realmente se reunió. La ley de Conway puede ser obvia, pero eso no significa que la gente no pueda ignorarla regularmente.
La ley de Conway es aplicable al diseño y la creación de sistemas en los casos en que desde el principio imaginamos en qué partes constituyentes estará compuesto el producto y cómo fabricarlos. No se puede aplicar directamente al desarrollo de la IA, ya que la IA no es (todavía) una tarea como esta: no sabemos en qué partes consiste. Ni siquiera estamos seguros de qué preguntas básicas puede hacer. En otras palabras, en este momento, la IA es más un problema de la ciencia que los ingenieros. Imagine que necesita comenzar a desarrollar el 747 sin saber nada sobre los motores a reacción o los principios de la aerodinámica. No sabría qué expertos contratar en su organización. Como escribió Werner von Braun, "la investigación básica es lo que estoy haciendo cuando no sé lo que estoy haciendo". ¿Existe una versión de la ley de Conway que se aplique a tareas que están más relacionadas con la ciencia que los ingenieros?
Para encontrar la respuesta a esta pregunta, recordemos la historia de la medicina. En los primeros días, la medicina era dominio de practicantes, como
Galeno o
Hipócrates , que estudiaban todo el cuerpo humano. Pero con el crecimiento en el volumen de nuestro conocimiento, tuve que especializarme. Hemos descubierto muchas ideas profundas: recordar la teoría microbiana de las enfermedades o comprender el principio del funcionamiento de los anticuerpos o el hecho de que el corazón, los pulmones, las venas y las arterias forman el sistema cardiovascular. Estas ideas profundas formaron la base de disciplinas más estrechas, como la epidemiología, la inmunología y la acumulación de áreas superpuestas relacionadas con el sistema cardiovascular. Así es como la estructura de nuestro conocimiento formó la estructura social de la medicina. Esto es especialmente notable en el caso de la inmunología: la idea de la existencia de un sistema inmune digno de un estudio separado era muy poco trivial. Por lo tanto, tenemos todo un campo de la medicina, con especialistas, conferencias, premios, etc., organizados en torno a algo que no solo es invisible, sino que tal vez ni siquiera está separado.
Tal desarrollo de eventos a menudo se repitió en muchas disciplinas científicas establecidas: no solo en medicina, sino también en física, matemáticas, química y otras. Las regiones nacen monolíticas, con pocas ideas profundas en existencia. Los primeros expertos pueden cubrirlos a todos. Pero con el tiempo, la solidez cambia. Descubrimos muchas nuevas ideas profundas, y hay demasiadas para que alguien pueda realmente dominarlas todas. Como resultado, la estructura social de la región se está reorganizando y dividiendo, concentrándose en torno a estas ideas. En lugar de un monolito, tenemos campos divididos por campos divididos por campos: una estructura social compleja y recursiva que se refiere a sí misma, cuya organización refleja las conexiones entre las ideas más profundas. Así es como la estructura de nuestro conocimiento forma la organización social de la ciencia. Sin embargo, esta forma social a su vez limita y ayuda a determinar lo que podemos detectar. Este es el análogo científico de la ley de Conway.
Pero, ¿qué tiene que ver todo esto con el aprendizaje profundo o la IA?
Bueno, desde los primeros días del desarrollo de la IA
, se ha debatido que todo irá "no demasiado complicado, gracias a nuestra super arma", o "la super arma no será suficiente". El aprendizaje profundo es el último ejemplo de una super arma que se ha utilizado en las disputas que he visto. En las primeras versiones de tales disputas, se usaba la lógica, o Prolog, o sistemas expertos, o alguna otra tecnología, que entonces era la más poderosa. El problema con tales disputas es que no le dan la oportunidad de decir exactamente cuán poderosos serán cualquiera de los candidatos a las super armas. Por supuesto, acabamos de pasar un capítulo entero revisando evidencia de que la defensa civil puede resolver problemas extremadamente complejos. Definitivamente se ve muy interesante y prometedor. Pero este fue el caso con sistemas como Prolog o Eurisko, o con sistemas expertos. Por lo tanto, solo el hecho de que un conjunto de ideas parezca prometedor no significa nada especial. ¿Cómo sabemos que GO es realmente diferente de estas ideas iniciales? ¿Hay alguna manera de medir cuán poderoso y prometedor es un conjunto de ideas? De la ley de Conway se deduce que podemos utilizar la complejidad de la estructura social asociada con estas ideas como una métrica cruda y heurística.
Por lo tanto, tenemos dos preguntas. Primero, ¿qué tan poderoso es el conjunto de ideas relacionadas con la sociedad civil de acuerdo con esta métrica de complejidad social? En segundo lugar, ¿qué tan poderosa es la teoría que necesitamos para crear una IA de propósito general?
Sobre la primera pregunta: cuando miramos la defensa civil hoy, este campo se ve interesante y en rápido desarrollo, pero relativamente monolítico. Tiene varias ideas profundas y se llevan a cabo varias conferencias importantes, algunas de las cuales se superponen mucho. El trabajo en el trabajo utiliza el mismo conjunto de ideas: descenso de gradiente estocástico (o su equivalente cercano) para optimizar la función de costo. Es genial que estas ideas tengan tanto éxito. Lo que no estamos observando hasta ahora es una gran cantidad de áreas más pequeñas bien desarrolladas, cada una de las cuales exploraría su propio conjunto de ideas profundas, que moverían a la sociedad civil en muchas direcciones. Por lo tanto, de acuerdo con la métrica de la complejidad social, el aprendizaje profundo, perdón por el juego de palabras, mientras que sigue siendo un área de investigación muy superficial. Una persona aún puede dominar la mayoría de las ideas profundas de esta área.
Sobre la segunda pregunta: ¿cuánto se necesitará un conjunto complejo y poderoso de ideas para crear IA? Naturalmente, la respuesta será: nadie lo sabe con certeza. Pero en el epílogo del libro, estudié algunas de las pruebas existentes sobre este tema. Llegué a la conclusión de que, incluso de acuerdo con estimaciones optimistas, la creación de IA requerirá muchas, muchas ideas profundas. Según la ley de Conway, para llegar a este punto, debemos ver el surgimiento de muchas disciplinas interrelacionadas, con una estructura compleja e inesperada que refleja la estructura de nuestras ideas más profundas. Todavía no observamos una estructura social tan compleja cuando usamos NS y defensa civil. Por lo tanto, creo que, al menos, estamos a varias décadas de usar GO para desarrollar IA de uso general.
Dediqué mucho esfuerzo a crear un argumento especulativo, que, tal vez, parece bastante obvio y no lleva a una cierta conclusión. Esto seguramente decepcionará a las personas amantes de la certeza. Conozco a muchas personas en línea que anuncian públicamente sus opiniones muy definidas y confiadas sobre la IA, a menudo basadas en argumentos inestables y evidencia inexistente. Puedo decir honestamente: creo que es demasiado pronto para juzgar. Como en el viejo chiste: si le preguntas a un científico cuánto más tenemos que esperar para cualquier descubrimiento, y él dice "10 años" (o más), entonces, de hecho, quiere decir "no tengo idea". Antes del advenimiento de la IA, como en el caso de la fusión nuclear controlada y algunas otras tecnologías, "10 años" han permanecido durante más de 60 años. Por otro lado, lo que definitivamente tenemos en el campo de la defensa civil es una tecnología efectiva, cuyos límites aún no hemos descubierto, y muchas tareas fundamentales abiertas. Y abre increíbles oportunidades creativas.