Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Lanzado recentemente artigo, que mostra unha boa tendencia na aprendizaxe automática nos últimos anos. En resumo: o número de empresas de aprendizaxe automática caeu en picado nos últimos dous anos.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?
Ben. Vexamos "se estalou a burbulla", "como seguir vivindo" e falamos de onde vén este garabato en primeiro lugar.

En primeiro lugar, imos falar do que foi o impulsor desta curva. De onde veu ela? Probablemente recordarán todo vitoria aprendizaxe automática en 2012 no concurso ImageNet. Despois de todo, este é o primeiro evento mundial! Pero en realidade este non é o caso. E o crecemento da curva comeza un pouco antes. Descompoñeríao en varios puntos.

  1. En 2008 xurdiu o termo "big data". Comezaron os produtos reais aparecer dende 2010. O big data está directamente relacionado coa aprendizaxe automática. Sen big data, o funcionamento estable dos algoritmos que existían naquel momento é imposible. E estas non son redes neuronais. Ata 2012, as redes neuronais eran o dominio dunha minoría marxinal. Pero entón comezaron a funcionar algoritmos completamente diferentes, que existían durante anos, ou incluso décadas: SVM(1963,1993, XNUMX), Bosque aleatorio (1995), AdaBoost (2003),... As startups daqueles anos asócianse fundamentalmente ao tratamento automático de datos estruturados: caixas rexistradoras, usuarios, publicidade, moito máis.

    Un derivado desta primeira onda é un conxunto de frameworks como XGBoost, CatBoost, LightGBM, etc.

  2. En 2011-2012 redes neuronais convolutivas gañou unha serie de concursos de recoñecemento de imaxes. O seu uso real foi un pouco atrasado. Diría que en 2014 comezaron a aparecer startups e solucións moi significativas. Levou dous anos dixerir que as neuronas aínda funcionan, crear marcos convenientes que puidesen instalarse e lanzarse nun tempo razoable, desenvolver métodos que estabilizasen e acelerasen o tempo de converxencia.

    As redes convolucionais permitiron resolver problemas de visión por ordenador: clasificación de imaxes e obxectos na imaxe, detección de obxectos, recoñecemento de obxectos e persoas, mellora da imaxe, etc., etc.

  3. 2015-2017. O boom de algoritmos e proxectos baseados en redes recorrentes ou análogos (LSTM, GRU, TransformerNet, etc.). Apareceron algoritmos de voz a texto e sistemas de tradución automática que funcionan ben. Están baseados en parte en redes convolucionais para extraer características básicas. En parte debido ao feito de que aprendemos a recoller conxuntos de datos moi grandes e bos.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

"¿Rebentou a burbulla? O hype está superenriquecido? Morreron como unha cadea de bloques?
En caso contrario! Mañá Siri deixará de funcionar no teu teléfono e pasadomañá Tesla non saberá a diferenza entre un xiro e un canguro.

As redes neuronais xa están funcionando. Están en decenas de dispositivos. Realmente permítenche gañar cartos, cambiar o mercado e o mundo que te rodea. Hype parece un pouco diferente:

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

É só que as redes neuronais xa non son algo novo. Si, moitas persoas teñen grandes expectativas. Pero un gran número de empresas aprenderon a usar neuronas e a facer produtos baseados nelas. As neuronas proporcionan novas funcionalidades, permítenche recortar postos de traballo e reducir o prezo dos servizos:

  • As empresas fabricantes están integrando algoritmos para analizar defectos na liña de produción.
  • As explotacións gandeiras compran sistemas para controlar as vacas.
  • Cosechadoras automáticas.
  • Centros de chamadas automatizados.
  • Filtros en SnapChat. (ben, polo menos algo útil!)

Pero o principal, e non o máis obvio: "Non hai máis ideas novas, ou non traerán capital instantáneo". As redes neuronais resolveron ducias de problemas. E decidirán aínda máis. Todas as ideas obvias que existían deron lugar a moitas startups. Pero todo o que había na superficie xa estaba recollido. Nos últimos dous anos, non me atopei cunha idea nova para usar redes neuronais. Nin un só enfoque novo (ben, vale, hai algúns problemas cos GAN).

E cada inicio posterior é cada vez máis complexo. Xa non precisa de dous mozos que adestran unha neurona usando datos abertos. Require programadores, un servidor, un equipo de marcadores, soporte complexo, etc.

Como resultado, hai menos startups. Pero hai máis produción. Necesitas engadir o recoñecemento da matrícula? Hai centos de especialistas con experiencia relevante no mercado. Podes contratar a alguén e nun par de meses o teu empregado fará o sistema. Ou compra listo. Pero facendo unha nova startup?... Tolo!

Necesitas crear un sistema de seguimento de visitantes: por que pagar por unha morea de licenzas cando podes facer a túa propia en 3-4 meses, perfeccionalo para a túa empresa.

Agora as redes neuronais están pasando polo mesmo camiño polo que pasaron ducias doutras tecnoloxías.

Lembras como cambiou o concepto de "desenvolvedor de sitios web" desde 1995? O mercado aínda non está saturado de especialistas. Hai moi poucos profesionais. Pero podo apostar que dentro de 5-10 anos non haberá moita diferenza entre un programador Java e un desenvolvedor de redes neuronais. Haberá suficiente de ambos especialistas no mercado.

Simplemente haberá unha clase de problemas que poden ser resoltos por neuronas. Xurdiu unha tarefa: contratar un especialista.

"Que é o seguinte? Onde está a prometida intelixencia artificial?

Pero aquí hai un pequeno pero interesante malentendido :)

A pila tecnolóxica que existe hoxe, ao parecer, non nos levará á intelixencia artificial. As ideas e a súa novidade esgotáronse en gran medida. Imos falar sobre o que mantén o nivel actual de desenvolvemento.

Restricións

Comecemos cos coches autónomos. Parece claro que é posible facer coches totalmente autónomos coa tecnoloxía actual. Pero en cantos anos sucederá isto non está claro. Tesla cre que isto ocorrerá nun par de anos...


Hai moitos outros especialistas, quen o estiman entre 5 e 10 anos.

O máis probable é, na miña opinión, que dentro de 15 anos a propia infraestrutura das cidades cambie de tal xeito que a aparición dos automóbiles autónomos se faga inevitable e sexa a súa continuación. Pero isto non se pode considerar intelixencia. Tesla moderna é unha canalización moi complexa para filtrar datos, buscar e reciclar. Estas son regras-regras-regras, recollida de datos e filtros sobre elas (aquí aquí Escribín un pouco máis sobre isto, ou mira dende isto marcas).

O primeiro problema

E aquí é onde vemos primeiro problema fundamental. Big data. Isto é exactamente o que deu orixe á actual onda de redes neuronais e aprendizaxe automática. Hoxe en día, para facer algo complexo e automático, necesítanse moitos datos. Non só moito, senón moito, moito. Necesitamos algoritmos automatizados para a súa recollida, marcado e uso. Queremos que o coche vexa os camións mirando ao sol; primeiro debemos recoller un número suficiente deles. Queremos que o coche non se tolee cunha bicicleta atornillada ao maleteiro, máis mostras.

Ademais, un exemplo non é suficiente. Centos? Miles?

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Segundo problema

Segundo problema — visualización do que a nosa rede neuronal entendeu. Esta é unha tarefa moi non trivial. Ata agora, poucas persoas entenden como visualizar isto. Estes artigos son moi recentes, estes son só algúns exemplos, aínda que distantes:
Visualización obsesión polas texturas. Mostra ben no que tende a fixarse ​​a neurona + o que percibe como información inicial.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?
Visualización Atención en traducións. De feito, a atracción adoita usarse precisamente para mostrar o que causou esa reacción de rede. Vin cousas deste tipo tanto para a depuración como para as solucións de produtos. Hai moitos artigos sobre este tema. Pero canto máis complexos sexan os datos, máis difícil é entender como conseguir unha visualización robusta.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Ben, si, o bo vello conxunto de "mira o que hai dentro da malla filtros" Estas imaxes eran populares hai 3-4 anos, pero todos se decataron rapidamente de que as imaxes eran fermosas, pero non tiñan moito significado.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Non mencionei decenas doutros gadgets, métodos, hacks, investigacións sobre como mostrar o interior da rede. Funcionan estas ferramentas? Axúdanche a comprender rapidamente cal é o problema e a depurar a rede?... Obter o último por cento? Pois é o mesmo:

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Podes ver calquera competición en Kaggle. E unha descrición de como a xente toma as decisións finais. Apilamos 100-500-800 unidades de modelos e funcionou!

Esaxero, claro. Pero estes enfoques non proporcionan respostas rápidas e directas.

Tendo a experiencia suficiente, tendo en conta diferentes opcións, podes dar un veredicto sobre por que o teu sistema tomou esa decisión. Pero será difícil corrixir o comportamento do sistema. Instala unha muleta, move o limiar, engade un conxunto de datos, toma outra rede de backend.

Terceiro problema

Terceiro problema fundamental — as cuadrículas ensinan estatísticas, non lóxica. Estatisticamente isto a cara:

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Loxicamente, non é moi semellante. As redes neuronais non aprenden nada complexo a menos que se vexan obrigadas a facelo. Sempre ensinan os sinais máis sinxelos posibles. Tes ollos, nariz, cabeza? Así que esta é a cara! Ou pon un exemplo onde os ollos non signifiquen cara. E de novo - millóns de exemplos.

Hai moito espazo na parte inferior

Diría que son estes tres problemas globais os que limitan actualmente o desenvolvemento das redes neuronais e da aprendizaxe automática. E onde estes problemas non o limitaron, xa se usa activamente.

Este é o final? ¿Están activadas as redes neuronais?

Descoñecido. Pero, claro, todos esperan que non.

Hai moitos enfoques e direccións para resolver os problemas fundamentais que destaquei anteriormente. Pero, ata agora, ningún destes enfoques permitiu facer algo fundamentalmente novo, resolver algo que aínda non foi resolto. Ata o momento, todos os proxectos fundamentais estanse a facer sobre a base de enfoques estables (Tesla), ou seguen sendo proxectos de proba de institutos ou corporacións (Google Brain, OpenAI).

A grandes liñas, a dirección principal é crear algunha representación de alto nivel dos datos de entrada. En certo sentido, "memoria". O exemplo máis sinxelo de memoria son varias "Incrustacións" - representacións de imaxes. Pois, por exemplo, todos os sistemas de recoñecemento facial. A rede aprende a obter dunha cara algunha representación estable que non depende da rotación, da iluminación ou da resolución. Esencialmente, a rede minimiza a métrica de "caras diferentes están lonxe" e "caras idénticas están preto".

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Para esa formación son necesarios decenas e centos de miles de exemplos. Pero o resultado leva algúns dos rudimentos da "aprendizaxe única". Agora non necesitamos centos de caras para lembrar a unha persoa. Só unha cara e iso é todo o que somos imos averiguar!
Só hai un problema... A grella só pode aprender obxectos bastante sinxelos. Cando se trata de distinguir non caras, senón, por exemplo, "persoas pola roupa" (tarefa Reidentificación) - a calidade cae en moitas ordes de magnitude. E a rede xa non pode aprender cambios bastante obvios nos ángulos.

E aprender de millóns de exemplos tamén é divertido.

Hai traballo para reducir significativamente as eleccións. Por exemplo, pódese recordar inmediatamente un dos primeiros traballos Aprendizaxe OneShot de Google:

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Hai moitas obras deste tipo, por exemplo 1 ou 2 ou 3.

Hai un inconveniente: normalmente o adestramento funciona ben nalgúns exemplos sinxelos "MNIST". E ao pasar a tarefas complexas, necesitas unha gran base de datos, un modelo de obxectos ou algún tipo de maxia.
En xeral, o traballo sobre o adestramento One-Shot é un tema moi interesante. Atoparás moitas ideas. Pero na súa maior parte, os dous problemas que enumerei (formación previa nun conxunto de datos enorme / inestabilidade en datos complexos) interfiren moito coa aprendizaxe.

Por outra banda, as GAN -redes xerativas de confrontación- abordan o tema da incorporación. Probablemente leras unha chea de artigos sobre Habré sobre este tema. (1, 2,3)
Unha característica de GAN é a formación dalgún espazo de estado interno (esencialmente o mesmo Embedding), que permite debuxar unha imaxe. Pode ser caras, pode ser actividade.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

O problema con GAN é que canto máis complexo é o obxecto xerado, máis difícil é describilo na lóxica "xerador-discriminador". Como resultado, as únicas aplicacións reais de GAN das que se escoita son DeepFake, que, de novo, manipula representacións faciais (para as que hai unha base enorme).

Vin moi poucos outros usos útiles. Normalmente algún tipo de truco que implica terminar debuxos de imaxes.

E de novo. Ninguén ten idea de como isto nos permitirá avanzar cara un futuro máis brillante. Representar a lóxica/espazo nunha rede neuronal é bo. Pero necesitamos unha gran cantidade de exemplos, non entendemos como a neurona representa isto en si mesma, non entendemos como facer que a neurona lembre algunha idea realmente complexa.

Aprendizaxe de reforzo - este é un enfoque desde unha dirección completamente diferente. Seguro que lembras como Google gañou a todos en Go. Vitorias recentes en Starcraft e Dota. Pero aquí todo está lonxe de ser tan rosado e prometedor. El fala mellor de RL e das súas complexidades este artigo.

Para resumir brevemente o que escribiu o autor:

  • Os modelos fóra da caixa non encaixan/funcionan mal na maioría dos casos
  • Os problemas prácticos son máis fáciles de resolver doutras formas. Boston Dynamics non usa RL debido á súa complexidade/imprevisibilidade/complexidade computacional
  • Para que RL funcione, necesitas unha función complexa. Moitas veces é difícil crear/escribir
  • Difícil de adestrar modelos. Tes que pasar moito tempo para aumentar e saír do óptimo local
  • Como resultado, é difícil repetir o modelo, o modelo é inestable cos máis mínimos cambios
  • Moitas veces supera algúns patróns aleatorios, incluso un xerador de números aleatorios

O punto clave é que RL aínda non traballa na produción. Google ten algúns experimentos ( 1, 2 ). Pero non vin un só sistema de produto.

memoria. A desvantaxe de todo o descrito anteriormente é a falta de estrutura. Un dos enfoques para tentar ordenar todo isto é proporcionar á rede neuronal acceso a memoria separada. Para que poida gravar e reescribir alí os resultados dos seus pasos. Entón, a rede neuronal pódese determinar polo estado da memoria actual. Isto é moi semellante aos procesadores e ordenadores clásicos.

O máis famoso e popular artigo - de DeepMind:

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Parece que esta é a clave para comprender a intelixencia? Pero probablemente non. O sistema aínda require unha gran cantidade de datos para a formación. E funciona principalmente con datos tabulares estruturados. Ademais, cando Facebook decidido un problema semellante, entón tomaron o camiño "a memoria, só fai que a neurona sexa máis complicada e teña máis exemplos, e aprenderá por si só".

Desenredar. Outra forma de crear unha memoria significativa é tomar as mesmas incrustacións, pero durante o adestramento, introducir criterios adicionais que lle permitan resaltar os "significados" nelas. Por exemplo, queremos adestrar unha rede neuronal para distinguir o comportamento humano nunha tenda. Se seguimos o camiño estándar, teriamos que facer unha ducia de redes. Un busca unha persoa, o segundo determina o que fai, o terceiro é a súa idade, o cuarto é o seu xénero. A lóxica separada mira a parte da tenda onde fai/está adestrada para facelo. O terceiro determina a súa traxectoria, etc.

Ou, se houbese unha cantidade infinita de datos, sería posible adestrar unha rede para todos os resultados posibles (obviamente, tal conxunto de datos non se pode recoller).

O enfoque de desenredo dinos: imos adestrar a rede para que ela mesma poida distinguir os conceptos. De xeito que formaría unha incrustación baseada no vídeo, onde unha zona determinaría a acción, un determinaría a posición no chan no tempo, un determinaría a altura da persoa e un determinaría o xénero da persoa. Ao mesmo tempo, á hora de adestrar, gustaríame case non incitar á rede con conceptos tan fundamentais, senón que destacase e agrupase áreas. Hai bastantes artigos deste tipo (algúns deles 1, 2, 3) e en xeral son bastante teóricos.

Pero esta dirección, polo menos teoricamente, debería cubrir os problemas enumerados ao principio.

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Descomposición da imaxe segundo os parámetros "cor da parede/cor do chan/forma do obxecto/cor do obxecto/etc".

Estourou a burbulla de aprendizaxe automática ou é o comezo dun novo amencer?

Descomposición dun rostro segundo os parámetros "tamaño, cellas, orientación, cor da pel, etc".

Outro

Hai moitas outras áreas, non tan globais, que permiten reducir dalgún xeito a base de datos, traballar con datos máis heteroxéneos, etc.

Atención. Probablemente non teña sentido separalo como un método separado. Só un enfoque que mellora os demais. A el están dedicados moitos artigos (1,2,3). O punto de atención é mellorar a resposta da rede específicamente a obxectos significativos durante o adestramento. Moitas veces por algún tipo de designación de destino externo ou unha pequena rede externa.

Simulación 3D. Se fas un bo motor 3D, moitas veces podes cubrir o 90% dos datos de adestramento con el (incluso vin un exemplo onde case o 99% dos datos estaban cubertos por un bo motor). Hai moitas ideas e trucos sobre como facer que unha rede adestrada nun motor 3D funcione utilizando datos reais (axuste fino, transferencia de estilo, etc.). Pero moitas veces facer un bo motor é varias ordes de magnitude máis difícil que recoller datos. Exemplos de cando se fabricaron motores:
adestramento de robots (Google, braingarden)
formación recoñecemento bens na tenda (pero nos dous proxectos que fixemos, podíamos prescindir facilmente del).
Adestrando en Tesla (de novo, o vídeo anterior).

Descubrimentos

Todo o artigo son, en certo sentido, conclusións. Probablemente a mensaxe principal que quería facer era "os agasallos remataron, as neuronas xa non ofrecen solucións sinxelas". Agora temos que traballar duro para tomar decisións complexas. Ou traballar duro facendo investigación científica complexa.

En xeral, o tema é discutible. Quizais os lectores teñan exemplos máis interesantes?

Fonte: www.habr.com

Engadir un comentario