¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Lanzado recientemente artículo, lo que muestra una buena tendencia en el aprendizaje automático en los últimos años. En resumen: el número de startups de aprendizaje automático se ha desplomado en los últimos dos años.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?
Bien. Veamos “si la burbuja ha estallado”, “cómo seguir viviendo” y hablemos de dónde viene este garabato en primer lugar.

Primero, hablemos de cuál fue el impulsor de esta curva. ¿De dónde viene ella? Probablemente recordarán todo victoria aprendizaje automático en 2012 en la competencia ImageNet. Después de todo, ¡este es el primer evento global! Pero en realidad este no es el caso. Y el crecimiento de la curva empieza un poco antes. Lo dividiría en varios puntos.

  1. En 2008 surgió el término “big data”. Productos reales comenzaron aparecer desde 2010. Big data está directamente relacionado con el aprendizaje automático. Sin big data, el funcionamiento estable de los algoritmos que existían en ese momento es imposible. Y estas no son redes neuronales. Hasta 2012, las redes neuronales eran dominio exclusivo de una minoría marginal. Pero entonces empezaron a funcionar algoritmos completamente diferentes, que habían existido durante años, o incluso décadas: SVM(1963,1993), Bosque al azar (1995) AdaBoost (2003),... Las startups de esos años están asociadas principalmente al procesamiento automático de datos estructurados: cajas registradoras, usuarios, publicidad, mucho más.

    Un derivado de esta primera ola es un conjunto de marcos como XGBoost, CatBoost, LightGBM, etc.

  2. En 2011-2012 redes neuronales convolucionales Ganó varios concursos de reconocimiento de imágenes. Su uso real se retrasó un poco. Yo diría que en 2014 comenzaron a aparecer startups y soluciones enormemente significativas. Se necesitaron dos años para digerir que las neuronas todavía funcionan, para crear marcos convenientes que pudieran instalarse y lanzarse en un tiempo razonable, para desarrollar métodos que estabilizaran y aceleraran el tiempo de convergencia.

    Las redes convolucionales permitieron resolver problemas de visión por computadora: clasificación de imágenes y objetos en la imagen, detección de objetos, reconocimiento de objetos y personas, mejora de imágenes, etc., etc.

  3. 2015-2017. El auge de los algoritmos y proyectos basados ​​en redes recurrentes o sus análogas (LSTM, GRU, TransformerNet, etc.). Han aparecido algoritmos de conversión de voz a texto y sistemas de traducción automática que funcionan bien. Se basan en parte en redes convolucionales para extraer características básicas. En parte debido al hecho de que aprendimos a recopilar conjuntos de datos realmente grandes y buenos.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

“¿Ha estallado la burbuja? ¿Está sobrecalentado el revuelo? ¿Murieron como blockchain?
¡De lo contrario! Mañana Siri dejará de funcionar en tu teléfono y pasado mañana Tesla no sabrá la diferencia entre un giro y un canguro.

Las redes neuronales ya están funcionando. Están en decenas de dispositivos. Realmente te permiten ganar dinero, cambiar el mercado y el mundo que te rodea. Hype se ve un poco diferente:

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Lo que pasa es que las redes neuronales ya no son algo nuevo. Sí, mucha gente tiene grandes expectativas. Pero un gran número de empresas han aprendido a utilizar neuronas y fabricar productos basados ​​en ellas. Las neuronas proporcionan nuevas funciones, le permiten eliminar puestos de trabajo y reducir el precio de los servicios:

  • Las empresas manufactureras están integrando algoritmos para analizar defectos en la línea de producción.
  • Las explotaciones ganaderas compran sistemas para controlar las vacas.
  • Cosechadoras automáticas.
  • Centros de llamadas automatizados.
  • Filtros en Snapchat. (bueno, ¡al menos algo útil!)

Pero lo más importante, y no lo más obvio: "No habrá más ideas nuevas o no aportarán capital instantáneo". Las redes neuronales han resuelto decenas de problemas. Y decidirán aún más. Todas las ideas obvias que existían dieron origen a muchas startups. Pero todo lo que había en la superficie ya había sido recogido. En los últimos dos años no he encontrado ni una sola idea nueva para el uso de redes neuronales. Ni un solo enfoque nuevo (bueno, está bien, hay algunos problemas con las GAN).

Y cada puesta en marcha posterior es cada vez más compleja. Ya no se necesitan dos personas que entrenen una neurona utilizando datos abiertos. Requiere programadores, un servidor, un equipo de marcadores, soporte complejo, etc.

Como resultado, hay menos empresas emergentes. Pero hay más producción. ¿Necesita agregar reconocimiento de matrículas? Hay cientos de especialistas con experiencia relevante en el mercado. Puedes contratar a alguien y en un par de meses tu empleado creará el sistema. O cómprelo ya hecho. ¿Pero hacer una nueva startup?... ¡Loco!

Necesita crear un sistema de seguimiento de visitantes: ¿por qué pagar por un montón de licencias cuando puede crear el suyo propio en 3 o 4 meses y perfeccionarlo para su negocio?

Ahora las redes neuronales están recorriendo el mismo camino que han recorrido decenas de otras tecnologías.

¿Recuerdas cómo ha cambiado el concepto de “desarrollador de sitios web” desde 1995? El mercado aún no está saturado de especialistas. Hay muy pocos profesionales. Pero puedo apostar que dentro de 5 a 10 años no habrá mucha diferencia entre un programador Java y un desarrollador de redes neuronales. Habrá suficientes especialistas en el mercado.

Simplemente habrá una clase de problemas que las neuronas podrán resolver. Ha surgido una tarea: contratar a un especialista.

"¿Que sigue? ¿Dónde está la inteligencia artificial prometida?

Pero aquí hay un pequeño pero interesante malentendido :)

La tecnología que existe hoy en día, aparentemente, no nos llevará a la inteligencia artificial. Las ideas y su novedad se han agotado en gran medida. Hablemos de lo que depara el nivel actual de desarrollo.

restricciones

Empecemos por los coches autónomos. Parece claro que es posible fabricar coches totalmente autónomos con la tecnología actual. Pero no está claro en cuántos años sucederá esto. Tesla cree que esto sucederá en un par de años.


Hay muchos otros expertos, que estiman que será de 5 a 10 años.

Lo más probable, en mi opinión, en 15 años la infraestructura de las ciudades cambiará de tal manera que la aparición de los coches autónomos será inevitable y se convertirá en su continuación. Pero esto no puede considerarse inteligencia. El Tesla moderno es un sistema muy complejo de filtrado, búsqueda y reentrenamiento de datos. Estas son reglas-reglas-reglas, recopilación de datos y filtros sobre ellas (aquí aquí Escribí un poco más sobre esto, o mira desde este marcas).

Primer problema

Y aquí es donde vemos primer problema fundamental. Grandes datos. Esto es exactamente lo que dio origen a la actual ola de redes neuronales y aprendizaje automático. Hoy en día, para hacer algo complejo y automático, se necesitan muchos datos. No sólo mucho, sino mucho, muchísimo. Necesitamos algoritmos automatizados para su recopilación, marcado y uso. Queremos que el coche vea los camiones de cara al sol; primero debemos recoger un número suficiente de ellos. Queremos que el coche no se vuelva loco con una bicicleta atornillada al maletero: más muestras.

Además, un ejemplo no basta. ¿Cientos? ¿Miles?

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Segundo problema

Segundo problema — visualización de lo que ha entendido nuestra red neuronal. Ésta es una tarea nada trivial. Hasta ahora, pocas personas saben cómo visualizar esto. Estos artículos son muy recientes, estos son sólo algunos ejemplos, aunque lejanos:
Visualización Obsesión por las texturas. Muestra bien en qué tiende a fijarse la neurona + qué percibe como información inicial.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?
Visualización Atención en traducciones. De hecho, la atracción a menudo puede usarse precisamente para mostrar qué causó tal reacción en la red. He visto cosas así tanto para la depuración como para las soluciones de productos. Hay muchos artículos sobre este tema. Pero cuanto más complejos son los datos, más difícil es entender cómo lograr una visualización sólida.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Bueno, sí, el viejo juego de "mira lo que hay dentro de la malla en filtros" Estas imágenes fueron populares hace 3 o 4 años, pero todos rápidamente se dieron cuenta de que eran hermosas, pero no tenían mucho significado.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

No mencioné docenas de otros dispositivos, métodos, trucos e investigaciones sobre cómo mostrar el interior de la red. ¿Funcionan estas herramientas? ¿Le ayudan a comprender rápidamente cuál es el problema y a depurar la red?... ¿Obtener el último porcentaje? Bueno, es más o menos lo mismo:

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Puedes ver cualquier competición en Kaggle. Y una descripción de cómo las personas toman decisiones finales. ¡Apilamos 100-500-800 unidades de modelos y funcionó!

Estoy exagerando, por supuesto. Pero estos enfoques no proporcionan respuestas rápidas y directas.

Al tener suficiente experiencia y haber examinado diferentes opciones, puede dar un veredicto sobre por qué su sistema tomó tal decisión. Pero será difícil corregir el comportamiento del sistema. Instale una muleta, mueva el umbral, agregue un conjunto de datos, tome otra red de backend.

Tercer problema

Tercer problema fundamental — Las cuadrículas enseñan estadística, no lógica. Estadísticamente esto cara:

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Lógicamente no es muy parecido. Las redes neuronales no aprenden nada complejo a menos que se las obligue a hacerlo. Siempre enseñan las señales más simples posibles. ¿Tienes ojos, nariz, cabeza? ¡Así que esta es la cara! O dé un ejemplo en el que ojos no signifiquen cara. Y nuevamente, millones de ejemplos.

Hay mucho espacio en la parte inferior

Yo diría que son estos tres problemas globales los que actualmente limitan el desarrollo de las redes neuronales y el aprendizaje automático. Y donde estos problemas no lo limitaron, ya se utiliza activamente.

¿Esto es el fin? ¿Están activas las redes neuronales?

Desconocido. Pero, por supuesto, todo el mundo espera que no.

Hay muchos enfoques y direcciones para resolver los problemas fundamentales que destaqué anteriormente. Pero hasta ahora, ninguno de estos enfoques ha permitido hacer algo fundamentalmente nuevo, resolver algo que aún no se ha resuelto. Hasta ahora, todos los proyectos fundamentales se realizan según enfoques estables (Tesla) o siguen siendo proyectos de prueba de institutos o corporaciones (Google Brain, OpenAI).

En términos generales, la dirección principal es crear alguna representación de alto nivel de los datos de entrada. En cierto sentido, "memoria". El ejemplo más simple de memoria son varias "incrustaciones": representaciones de imágenes. Pues por ejemplo, todos los sistemas de reconocimiento facial. La red aprende a obtener de una cara alguna representación estable que no depende de la rotación, la iluminación o la resolución. Básicamente, la red minimiza la métrica "caras diferentes están lejos" y "caras idénticas están cerca".

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Para dicha formación se necesitan decenas y cientos de miles de ejemplos. Pero el resultado contiene algunos de los rudimentos del “aprendizaje de una sola vez”. Ahora no necesitamos cientos de caras para recordar a una persona. Sólo una cara y eso es todo lo que somos vamos a averiguar!
Sólo hay un problema... La cuadrícula sólo puede aprender objetos bastante simples. Al intentar distinguir no caras, sino, por ejemplo, “personas por ropa” (tarea Reidentificación) - la calidad cae en muchos órdenes de magnitud. Y la red ya no puede aprender cambios de ángulos bastante obvios.

Y aprender de millones de ejemplos también es divertido.

Hay trabajo para reducir significativamente las elecciones. Por ejemplo, uno puede recordar inmediatamente uno de los primeros trabajos sobre Aprendizaje OneShot de Google:

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Hay muchas obras de este tipo, por ejemplo. 1 o 2 o 3.

Solo hay un inconveniente: por lo general, la capacitación funciona bien en algunos ejemplos simples "MNIST". Y para pasar a tareas complejas, necesita una gran base de datos, un modelo de objetos o algún tipo de magia.
En general, trabajar en el entrenamiento One-Shot es un tema muy interesante. Encuentras muchas ideas. Pero en su mayor parte, los dos problemas que enumeré (entrenamiento previo en un conjunto de datos enorme/inestabilidad en datos complejos) interfieren en gran medida con el aprendizaje.

Por otro lado, las GAN (redes generativas de confrontación) abordan el tema de la incrustación. Probablemente hayas leído muchos artículos sobre Habré sobre este tema. (1, 2,3)
Una característica de GAN es la formación de algún espacio de estado interno (esencialmente la misma incrustación), que le permite dibujar una imagen. Puede ser personas, puede ser acciones.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

El problema con GAN es que cuanto más complejo es el objeto generado, más difícil es describirlo en la lógica de "generador-discriminador". Como resultado, las únicas aplicaciones reales de GAN de las que se tiene noticia son DeepFake, que, nuevamente, manipula representaciones faciales (para las cuales existe una base enorme).

He visto muy pocos otros usos útiles. Por lo general, algún tipo de truco que implica terminar dibujos de imágenes.

Y otra vez. Nadie tiene idea de cómo esto nos permitirá avanzar hacia un futuro mejor. Representar la lógica/el espacio en una red neuronal es bueno. Pero necesitamos una gran cantidad de ejemplos, no entendemos cómo la neurona representa esto en sí misma, no entendemos cómo hacer que la neurona recuerde alguna idea realmente compleja.

Aprendizaje reforzado - Este es un enfoque desde una dirección completamente diferente. Seguro que recuerdas cómo Google venció a todos en Go. Victorias recientes en Starcraft y Dota. Pero aquí todo está lejos de ser tan color de rosa y prometedor. Habla mejor sobre RL y sus complejidades. este articulo.

Para resumir brevemente lo que escribió el autor:

  • Los modelos listos para usar no encajan o funcionan mal en la mayoría de los casos
  • Los problemas prácticos son más fáciles de resolver de otras maneras. Boston Dynamics no utiliza RL debido a su complejidad/imprevisibilidad/complejidad computacional
  • Para que RL funcione, necesita una función compleja. A menudo es difícil crear/escribir
  • Modelos difíciles de entrenar. Tienes que dedicar mucho tiempo a animarte y salir del óptimo local.
  • Como resultado, es difícil repetir el modelo, el modelo es inestable con los más mínimos cambios.
  • A menudo sobreajusta algunos patrones aleatorios, incluso un generador de números aleatorios.

El punto clave es que RL aún no está en producción. Google tiene algunos experimentos ( 1, 2 ). Pero no he visto un solo sistema de producto.

Salud Cerebral. La desventaja de todo lo descrito anteriormente es la falta de estructura. Uno de los enfoques para intentar ordenar todo esto es proporcionar a la red neuronal acceso a una memoria separada. Para que pueda registrar y reescribir los resultados de sus pasos allí. Entonces la red neuronal puede ser determinada por el estado actual de la memoria. Esto es muy similar a los procesadores y computadoras clásicos.

Los más famosos y populares. artículo - de DeepMind:

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

¿Parece que esta es la clave para entender la inteligencia? Pero probablemente no. El sistema todavía requiere una gran cantidad de datos para el entrenamiento. Y funciona principalmente con datos tabulares estructurados. Además, cuando Facebook decidido Ante un problema similar, entonces tomaron el camino de "al diablo con la memoria, simplemente complica la neurona y ten más ejemplos, y aprenderá por sí sola".

Desenredo. Otra forma de crear un recuerdo significativo es tomar las mismas incrustaciones, pero durante el entrenamiento, introducir criterios adicionales que le permitan resaltar "significados" en ellas. Por ejemplo, queremos entrenar una red neuronal para distinguir el comportamiento humano en una tienda. Si siguiéramos el camino estándar, tendríamos que crear una docena de redes. Uno busca a una persona, el segundo determina lo que está haciendo, el tercero es su edad, el cuarto es su género. La lógica separada analiza la parte de la tienda donde hace o está capacitado para hacer esto. El tercero determina su trayectoria, etc.

O, si hubiera una cantidad infinita de datos, entonces sería posible entrenar una red para todos los resultados posibles (obviamente, tal conjunto de datos no se puede recopilar).

El enfoque de desenredo nos dice: entrenemos a la red para que ella misma pueda distinguir entre conceptos. De modo que se formaría una incrustación basada en el video, donde un área determinaría la acción, otra determinaría la posición en el piso en el tiempo, otra determinaría la altura de la persona y otra determinaría el género de la persona. Al mismo tiempo, durante la formación, me gustaría casi no incitar a la red con estos conceptos clave, sino más bien que destaque y agrupe áreas. Hay bastantes artículos de este tipo (algunos de ellos 1, 2, 3) y en general son bastante teóricos.

Pero esta dirección, al menos teóricamente, debería abarcar los problemas enumerados al principio.

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Descomposición de la imagen según los parámetros “color de la pared/color del suelo/forma del objeto/color del objeto/etc.”

¿Ha estallado la burbuja del aprendizaje automático o es el comienzo de un nuevo amanecer?

Descomposición de un rostro según los parámetros “tamaño, cejas, orientación, color de piel, etc.”

otro

Hay muchas otras áreas, no tan globales, que permiten de alguna manera reducir la base de datos, trabajar con datos más heterogéneos, etc.

Atención. Probablemente no tenga sentido separar esto como un método separado. Sólo un enfoque que mejora a los demás. Muchos artículos están dedicados a él (1,2,3). El punto de atención es mejorar la respuesta de la red específicamente a objetos importantes durante el entrenamiento. A menudo mediante algún tipo de designación de objetivo externo o una pequeña red externa.

simulación 3D. Si creas un buen motor 3D, a menudo puedes cubrir el 90% de los datos de entrenamiento con él (incluso vi un ejemplo en el que casi el 99% de los datos estaban cubiertos por un buen motor). Hay muchas ideas y trucos sobre cómo hacer que una red entrenada en un motor 3D funcione utilizando datos reales (ajuste fino, transferencia de estilo, etc.). Pero a menudo fabricar un buen motor es mucho más difícil que recopilar datos. Ejemplos de cuándo se fabricaron los motores:
Entrenamiento de robots (google, jardín de ideas)
Educación reconocimiento productos en la tienda (pero en los dos proyectos que hicimos, pudimos prescindir de ellos fácilmente).
Entrenamiento en Tesla (nuevamente, el video de arriba).

Hallazgos

Todo el artículo son, en cierto sentido, conclusiones. Probablemente el mensaje principal que quería transmitir era "se acabaron los obsequios, las neuronas ya no ofrecen soluciones simples". Ahora necesitamos trabajar duro para tomar decisiones complejas. O trabajar duro realizando investigaciones científicas complejas.

En general, el tema es discutible. ¿Quizás los lectores tengan ejemplos más interesantes?

Fuente: habr.com

Añadir un comentario