NeurIPS: Cómo conquistar la mejor conferencia de ML

NeurIPS –– una conferencia que actualmente se considera el evento más importante en el mundo del aprendizaje automático. Hoy les contaré sobre mi experiencia en participar en concursos de NeurIPS: cómo competir con los mejores académicos del mundo, obtener un premio y publicar un artículo.





¿Cuál es la esencia de la conferencia?


NeurIPS admite la introducción de métodos de aprendizaje automático en diversas disciplinas científicas. Se lanzan alrededor de 10 pistas anualmente para resolver problemas apremiantes del mundo académico. Según los resultados de la competencia, los ganadores hablan en la conferencia con informes, nuevos desarrollos y algoritmos. Sobre todo, me apasiona el aprendizaje reforzado (Reinforcement Learning o RL), por eso he estado participando en concursos de RL dedicados a NeurIPS por segundo año.


Por qué NeurIPS




NeurIPS se centra principalmente en la ciencia, no en el dinero. Al participar en concursos, está haciendo algo realmente importante, lidiando con problemas urgentes.

En segundo lugar, esta conferencia es un evento global, los científicos de diferentes países se reúnen en un solo lugar, con cada uno de los cuales puedes hablar.


Además, toda la conferencia está llena de los últimos logros científicos y resultados de vanguardia, es extremadamente importante que las personas del campo de la ciencia de datos los conozcan y supervisen.


Como empezar


Comenzar a participar en tales competiciones es bastante simple. Si comprende DL tanto que puede entrenar a ResNet , esto es suficiente: regístrese y listo. Siempre hay una tabla de clasificación pública en la que puede evaluar sobriamente su nivel en comparación con otros participantes. Y si algo no está claro, siempre hay canales en slack / discord / gitter / etc para discutir todos los temas emergentes. Si el tema es realmente "suyo", entonces nada le impedirá recibir el preciado resultado –– en todas las competiciones en las que participé, todos los enfoques y soluciones fueron estudiados e implementados en el transcurso de la competencia.


Estudio de caso de NeurIPS: aprender a correr




Problema


La marcha de una persona es el resultado de la interacción de músculos, huesos, órganos de la visión y el oído interno. En caso de interrupción del sistema nervioso central, pueden ocurrir ciertos trastornos motores, incluyendo trastornos de la marcha, abasia.
Investigadores del Laboratorio de Biomecánica Neuromuscular de Stanford decidieron conectar el aprendizaje automático con el problema del tratamiento para poder experimentar y probar sus teorías en un modelo virtual del esqueleto, y no en personas vivas.


Declaración del problema.


Los participantes recibieron un esqueleto humano virtual (en el simulador OpenSim ), que tenía una prótesis en lugar de una pierna. La tarea era enseñarle al esqueleto a moverse en cierta dirección a una velocidad dada. Durante la simulación, tanto la dirección como la velocidad podrían cambiar.




Para obtener un modelo de control de esqueleto virtual, se propuso utilizar el aprendizaje por refuerzo. El simulador nos dio algún estado del esqueleto S (un vector de ~ 400 números). Era necesario predecir qué acción A debe realizarse (las fuerzas de activación de los músculos de las piernas son un vector de 19 números). Durante la simulación, el esqueleto recibió un premio R, como una constante constante menos la penalización por desviarse de una velocidad y dirección determinadas.
Sobre entrenamiento de refuerzo

El aprendizaje por refuerzo (RL) es un área que se ocupa de la teoría de la decisión y la búsqueda de políticas de comportamiento óptimas.


Recordemos cómo enseñan gato perrito nuevos trucos. Repite alguna acción, da un delicioso para realizar un truco, y no des por incumplimiento. El perro debe entender todo esto y encontrar una estrategia de comportamiento ("política" o "política" en términos de RL), que maximiza la cantidad de dulces recibidos.


Formalmente, tenemos un agente (perro) que está capacitado en el historial de interacciones con el entorno (persona). Al mismo tiempo, el entorno, al evaluar las acciones del agente, le proporciona una recompensa (deliciosa): cuanto mejor sea el comportamiento del agente, mayor será la recompensa. En consecuencia, la tarea del agente es encontrar una política que maximice bien la recompensa por todo el tiempo de interacción con el medio ambiente.


Desarrollando más este tema, soluciones basadas en reglas (software 1.0, cuando todas las reglas fueron establecidas por el desarrollador, aprendizaje supervisado), el mismo software 2.0, cuando el sistema aprende a sí mismo utilizando los ejemplos disponibles y encuentra dependencias de datos, el aprendizaje de refuerzo está un paso más allá cuando el sistema mismo aprende a investigar, experimentar y encontrar las dependencias requeridas en sus decisiones. Cuanto más avanzamos, mejor intentamos repetir cómo aprende una persona.


Características de la tarea


La tarea parece un representante típico del aprendizaje reforzado para tareas con espacio de acción continua (RL para espacio de acción continua). Se diferencia del RL ordinario en que, en lugar de elegir una acción específica (presionar el botón del joystick), esta acción es necesaria para predecir con precisión (y hay infinitas posibilidades).


El enfoque básico de la solución ( Deep Deterministic Policy Gradient ) se inventó en 2015, que durante mucho tiempo según los estándares de DL, la región continúa desarrollándose activamente en aplicaciones de robótica y aplicaciones RL del mundo real. Hay algo que mejorar: enfoques robustos (para no romper un robot real), eficiencia de muestreo (para no recopilar datos de robots reales durante meses) y otros problemas de RL (compensación de exploración vs explotación, etc.). En esta competencia, no nos dieron un robot real, solo una simulación, pero el simulador en sí mismo fue 2.000 veces más lento que los de código abierto (en el que todos verifican sus algoritmos RL), y por lo tanto llevó el problema de la eficiencia de la muestra a un nuevo nivel.


Etapas de competencia


La competencia en sí tuvo lugar en tres etapas, durante las cuales la tarea y las condiciones cambiaron un poco.


  • Etapa 1: el esqueleto aprendió a caminar derecho a una velocidad de 3 metros por segundo. La tarea se consideró completada si el agente realizó 300 pasos.
  • Etapa 2: la velocidad y la dirección cambiaron con una frecuencia regular. La longitud de la distancia aumentó a 1000 pasos.
  • Etapa 3: la solución final tuvo que empaquetarse en una imagen acoplable y enviarse para su verificación. En total, se pueden hacer 10 paquetes.

La métrica de calidad principal se consideró la recompensa total por la simulación, que mostró cuán bien se adhirió el esqueleto a una dirección y velocidad determinadas a lo largo de la distancia.


Durante la primera y segunda etapa, el progreso de cada participante se mostró en la tabla de clasificación. La solución final debía enviarse como una imagen acoplable. Proporcionó restricciones sobre las horas de trabajo y los recursos.


Coolstory: tabla de clasificación pública y RL

Debido a la disponibilidad de la tabla de clasificación, nadie muestra su mejor modelo para dar "un poco más de lo habitual" en la ronda final y sorprender a sus rivales.


¿Por qué las imágenes de Docker son tan importantes?

El año pasado, ocurrió un pequeño incidente al evaluar las decisiones en la primera ronda. En ese momento, la verificación se realizó a través de la interacción http con la plataforma, y ​​se encontró una cara de las condiciones para la prueba. Uno podría descubrir en qué situaciones particulares se evaluó al agente y volver a capacitarlo solo en estas condiciones. Lo cual, por supuesto, no resolvió el problema real. Es por eso que decidieron transferir el sistema de envíos a imágenes acopladas y lanzarlo en los servidores remotos de los organizadores. Dbrain usa el mismo sistema para calcular el resultado de las competiciones precisamente por las mismas razones.


Puntos clave


El equipo




Lo primero que es importante para el éxito de toda la empresa es el equipo. No importa cuán bueno sea (y cuán poderosas sean sus patas): la participación en el equipo aumenta enormemente las posibilidades de éxito. La razón es simple: una variedad de opiniones y enfoques, volver a comprobar las hipótesis, la capacidad de paralelizar el trabajo y realizar más experimentos. Todo esto es extremadamente importante cuando se resuelven nuevos problemas que tiene que enfrentar.

Idealmente, sus conocimientos y habilidades deben estar en el mismo nivel y complementarse entre sí. Entonces, por ejemplo, este año planté nuestro equipo en PyTorch y obtuve algunas ideas iniciales sobre la implementación de un sistema de capacitación de agentes distribuidos.


¿Cómo encontrar un equipo? En primer lugar, puede unirse a las filas de ods y buscar personas con ideas afines allí. En segundo lugar, para los becarios de RL hay una sala de chat separada en un telegrama: RL club . En tercer lugar, puede tomar un curso maravilloso de ShAD - Practical RL , después del cual seguramente obtendrá un par de conocidos.


Sin embargo, vale la pena recordar la política de "sumisión, o no lo fue". Si quieres unirte, primero toma tu decisión, envía, aparece en la tabla de clasificación y muestra tu nivel. Como muestra la práctica, estos equipos están mucho más equilibrados.


Motivación


Como ya escribí, si el tema es "tuyo", nada te detendrá. Esto significa que la región no solo te quiere, sino que te inspira: la quemas, quieres convertirte en el mejor.
Conocí a RL hace 4 años, durante el paso del Berkeley 188x - Introducción a la IA , y todavía no puedo dejar de preguntarme por el progreso en esta área.


Sistemática


Tercero, pero igualmente importante: debe ser capaz de hacer lo que prometió, invertir en la competencia todos los días y simplemente ... resolverlo. Todos los dias Ningún talento innato se puede comparar con la capacidad de hacer algo, aunque sea un poco, pero todos los días. Es por esto que se requerirá motivación. Para tener éxito, recomiendo leer DeepWork y AMA ternaus .


Gestión del tiempo


Otra habilidad extremadamente importante es la capacidad de distribuir la fuerza de uno y usar correctamente el tiempo libre. Combinar el trabajo a tiempo completo y la participación en competiciones es una tarea no trivial. Lo más importante en estas condiciones es no quemarse y soportar toda la carga. Para hacer esto, debe administrar adecuadamente su tiempo, evaluar sobriamente su fuerza y ​​no olvidar relajarse a tiempo.


Exceso de trabajo


En la etapa final de la competencia, generalmente surge una situación en la que, literalmente, en una semana debes hacer no solo mucho, sino MUCHO. Para obtener el mejor resultado, debe poder obligarse a sentarse y dar el último impulso al codiciado premio.


Coolstory: plazo tras plazo

¿Por qué, en general, es posible que deba reciclar en beneficio de la competencia? La respuesta es bastante simple: transferencia de fecha límite. En tales competiciones, los organizadores a menudo no pueden predecir todo, por lo que la forma más fácil es dar a los participantes más tiempo. Este año, la competencia se extendió 3 veces: primero por un mes, luego por una semana y en el último momento (24 horas antes de la fecha límite), por otros 2 días. Y si durante las dos primeras transferencias solo necesitabas organizar el tiempo extra correctamente, en los últimos dos días solo tenías que arar.


Teoría



Entre otras cosas, no se olvide de la teoría: estar al tanto de lo que está sucediendo en el campo y ser capaz de anotar lo relevante. Entonces, por ejemplo, para resolver el año pasado, nuestro equipo despegó de los siguientes artículos:



Este año, se les agregaron un par más:



Lectura adicional

También aconsejo a OpenAI una selección de artículos sobre aprendizaje por refuerzo y su versión para mendeley . Y si está interesado en el tema de la capacitación de refuerzo, únase al club RL y los documentos RL .


Practica




Conocer la teoría por sí sola no es suficiente: es importante poder poner en práctica todos estos enfoques y establecer el sistema de validación correcto para evaluar las decisiones. Por ejemplo, este año nos enteramos de que nuestro agente maneja mal algunos casos regionales solo 2 días antes del final de la competencia. Debido a esto, no tuvimos tiempo para arreglar completamente nuestro modelo y literalmente no obtuvimos algunos puntos para el codiciado segundo lugar. Si encontramos esto incluso en una semana, el resultado podría ser mejor.
Coolstory: episodio III

El premio promedio por 10 episodios de prueba sirvió como la evaluación final de la solución.



El gráfico muestra los resultados de probar a nuestro agente: 9 de cada 10 episodios, nuestro esqueleto salió bien (promedio - 9955.66), pero un episodio ... El episodio 3 no se le dio (recompensa 9870). Fue este error lo que llevó a la caída de la velocidad final a 9947 (-8 puntos).


Buena suerte


Y finalmente, no te olvides de la suerte banal. No piense que este es un punto controvertido. Por el contrario, un poco de suerte contribuye en gran medida al trabajo constante sobre uno mismo: incluso si la probabilidad de suerte es solo del 10%, una persona que intentó participar en la competencia 100 veces tendrá mucho más éxito que alguien que lo intentó solo 1 vez y abandonó la idea.


Ida y vuelta: decisión del año pasado - tercer lugar




El año pasado, nuestro equipo, Mikhail Pavlov y yo, participamos en las competencias de NeurIPS por primera vez y la motivación principal era simplemente participar en la primera competencia de NeurIPS en el aprendizaje por refuerzo. Luego, acabo de terminar el curso Practical RL en el SHAD y quería probar las habilidades adquiridas. Como resultado, tomamos un honorable tercer lugar, perdiendo solo ante el nnaisene (Schmidhuber) y el equipo universitario de China. En ese momento, nuestra solución era "bastante simple" y se basaba en DDPG distribuido con ruido de parámetros ( publicación y presentación en ml . Capacitaciones ).

La decisión de este año es el tercer lugar



Ha habido un par de cambios este año. En primer lugar, no había ganas de participar en esta competencia, quería ganarla. En segundo lugar, la composición del equipo también ha cambiado: Alexey Grinchuk, Anton Pechenko y yo. Take and win - no funcionó, pero nuevamente tomamos el 3er lugar.
Nuestra solución se presentará oficialmente en NeurIPS, y ahora nos limitaremos a una pequeña cantidad de detalles. Con base en la decisión del año pasado y el éxito del aprendizaje de refuerzo fuera de la política de este año (artículos anteriores), agregamos una serie de nuestros propios desarrollos, de los que hablaremos en NeurIPS, y obtuvimos la Crítica del conjunto de cuantiles distribuidos, con la que obtuvimos el tercer lugar.


Todas nuestras mejores prácticas: un sistema de aprendizaje distribuido, algoritmos, etc. se publicarán y estarán disponibles en Catalyst.RL después de NeurIPS.


Coolstory: chicos grandes - armas grandes

Nuestro equipo fue con confianza al 1er lugar durante toda la competencia. Sin embargo, los grandes tenían otros planes: 2 grandes jugadores ingresaron a la competencia 2 semanas antes del final de la competencia: FireWork (Baidu) y nnaisense (Schmidhuber). Y si no se podía hacer nada con el Google chino, entonces con el equipo de Schmidhuber por un tiempo pudimos luchar honestamente por el segundo lugar, perdiendo solo con un margen mínimo. Me parece bastante bueno para los amantes.


¿Por qué es todo esto?


  • Comunicación. Los mejores investigadores acuden a la conferencia con los que puedes chatear en vivo, lo que no dará correspondencia por correo electrónico.
  • Publicación Si la solución se lleva el premio, se invita al equipo a la conferencia (o tal vez más de uno) para presentar su decisión y publicar el artículo.
  • Oferta de trabajo y doctorado. La publicación y un premio en dicha conferencia aumentan significativamente sus posibilidades de obtener un puesto en compañías líderes como OpenAI, DeepMind, Google, Facebook, Microsoft.
  • Valor del mundo real. NeurIPS se lleva a cabo para resolver problemas apremiantes del mundo académico y real. Puede estar seguro de que los resultados no irán a la mesa, sino que tendrán una gran demanda y ayudarán a mejorar el mundo.
  • Conducir Resolver tales concursos ... simplemente interesante. En una competencia, puedes encontrar muchas ideas nuevas, probar diferentes enfoques, solo para ser el mejor. Y seamos honestos, ¿cuándo más puedes conducir esqueletos, jugar juegos y todo esto con una mirada seria y por el bien de la ciencia?

Coolstory: visa y RL

No recomiendo tratar de explicarle al estadounidense que lo verifica que va a asistir a la conferencia, mientras entrena esqueletos virtuales para ejecutar simulaciones. Solo ve a la conferencia con una charla.


Resumen


Participar en NeurIPS es una experiencia difícil de sobreestimar. No tengas miedo a los titulares de alto perfil: solo necesitas unirte y comenzar a decidir.


Y ve a Catalyst.RL , entonces qué.

Source: https://habr.com/ru/post/es430712/


All Articles