NeurIPS: Como conquistar a melhor conferência de ML

NeurIPS - uma conferência que atualmente é considerada o evento mais importante do mundo do aprendizado de máquina. Hoje vou falar sobre minha experiência em participar de concursos do NeurIPS: como competir com os melhores acadêmicos do mundo, ganhar um prêmio e publicar um artigo.





Qual é a essência da conferência?


O NeurIPS suporta a introdução de métodos de aprendizado de máquina em várias disciplinas científicas. Aproximadamente 10 faixas são lançadas anualmente para resolver problemas prementes do mundo acadêmico. De acordo com os resultados da competição, os vencedores falam na conferência com relatórios, novos desenvolvimentos e algoritmos. Acima de tudo, sou apaixonada por aprendizado reforçado (Reinforcement Learning ou RL), é por isso que tenho participado de concursos de RL dedicados ao NeurIPS pelo segundo ano.


Porquê NeurIPS




O NeurIPS é focado principalmente na ciência, não no dinheiro. Ao participar de concursos, você está fazendo algo realmente importante, lidando com questões prementes.

Em segundo lugar, esta conferência é um evento global, cientistas de diferentes países se reúnem em um só lugar, com cada um dos quais você pode conversar.


Além disso, toda a conferência é repleta das mais recentes realizações científicas e resultados de última geração, é extremamente importante para as pessoas do campo da ciência de dados conhecê-las e monitorá-las.


Como começar?


Começar a participar de tais competições é bastante simples. Se você entende tanto de DL que pode treinar o ResNet - basta: inscreva-se e pronto. Sempre existe uma tabela de classificação pública na qual você pode avaliar com sobriedade seu nível em comparação com outros participantes. E se algo não estiver claro - sempre existem canais em folga / discórdia / violência / etc para discutir todas as questões emergentes. Se o tópico for realmente “seu”, nada o impedirá de receber o valor estimado - em todas as competições em que participei, todas as abordagens e soluções foram estudadas e implementadas no decorrer da competição.


Estudo de caso do NeurIPS: aprendendo a correr




Edição


A marcha de uma pessoa é o resultado da interação de músculos, ossos, órgãos de visão e ouvido interno. Em caso de perturbação do sistema nervoso central, podem ocorrer certos distúrbios motores, incluindo distúrbios da marcha - abasia.
Pesquisadores do Laboratório de Biomecânica Neuromuscular de Stanford decidiram conectar o aprendizado de máquina à questão do tratamento para poder experimentar e testar suas teorias em um modelo virtual do esqueleto, e não em pessoas vivas.


Declaração do problema


Os participantes receberam um esqueleto humano virtual (no simulador OpenSim ), que possuía uma prótese no lugar de uma perna. A tarefa era ensinar o esqueleto a se mover em uma determinada direção a uma determinada velocidade. Durante a simulação, a direção e a velocidade podem mudar.




Para obter um modelo de controle do esqueleto virtual, foi proposto o uso de aprendizado por reforço. O simulador nos deu algum estado do esqueleto S (um vetor de ~ 400 números). Era necessário prever que ação A precisa ser executada (as forças de ativação dos músculos das pernas são um vetor de 19 números). No decorrer da simulação, o esqueleto recebeu um prêmio R - como uma espécie de constante menos uma penalidade por desviar-se de uma determinada velocidade e direção.
Sobre treinamento de reforço

Aprendizado por Reforço (RL) é uma área que lida com a teoria da decisão e a busca de políticas comportamentais ideais.


Lembre-se de como eles ensinam gato truques novos do cachorrinho. Repita alguma ação, dê um gostoso por executar um truque e não dê por não cumprimento. O cão deve entender tudo isso e encontrar uma estratégia comportamental ("política" ou "política" em termos de RL), que maximize o número de doces recebidos.


Formalmente, temos um agente (cão) treinado na história das interações com o meio ambiente (pessoa). Ao mesmo tempo, o ambiente, avaliando as ações do agente, oferece a ele uma recompensa (deliciosa) - quanto melhor o comportamento do agente, maior a recompensa. Consequentemente, a tarefa do agente é encontrar uma política que maximize bem a recompensa por todo o tempo de interação com o ambiente.


Desenvolvendo esse tópico ainda mais, soluções baseadas em regras - software 1.0, quando todas as regras foram definidas pelo desenvolvedor, aprendizado supervisionado - o próprio software 2.0, quando o sistema aprende a si próprio usando os exemplos disponíveis e encontra dependências de dados, o aprendizado por reforço é um passo um pouco mais longe quando o próprio sistema aprende a pesquisar, experimentar e encontrar as dependências necessárias em suas decisões. Quanto mais avançamos, melhor tentamos repetir como uma pessoa aprende.


Recursos da tarefa


A tarefa se parece com um representante típico do aprendizado reforçado para tarefas com espaço de ação contínuo (RL para espaço de ação contínua). Difere da RL comum, pois, em vez de escolher uma ação específica (pressionando o botão do joystick), essa ação é necessária para prever com precisão (e existem infinitas possibilidades).


A abordagem básica da solução ( Deep Deterministic Policy Gradient ) foi inventada em 2015, que por um longo tempo pelos padrões da DL, a região continua a se desenvolver ativamente em aplicativos para robótica e aplicativos RL do mundo real. Há algo a ser aprimorado: abordagens robustas (para não quebrar um robô real), eficiência da amostra (para não coletar dados de robôs reais por meses) e outros problemas de RL (trade-off de exploração x exploração, etc.). Nesta competição, eles não nos deram um robô real - apenas uma simulação, mas o simulador em si era 2.000 vezes mais lento que os de código aberto (nos quais todos verificam seus algoritmos de RL) e, portanto, trouxe o problema da eficiência da amostra para um novo nível.


Etapas da competição


A competição ocorreu em três etapas, durante as quais a tarefa e as condições mudaram um pouco.


  • Etapa 1: o esqueleto aprendeu a andar em linha reta a uma velocidade de 3 metros por segundo. A tarefa foi considerada concluída se o agente passou por 300 etapas.
  • Etapa 2: velocidade e direção alteradas com uma frequência regular. O comprimento da distância aumentou para 1000 etapas.
  • Etapa 3: a solução final teve que ser empacotada em uma imagem do docker e enviada para verificação. No total, 10 parcelas podem ser feitas.

A principal métrica de qualidade foi considerada a recompensa total pela simulação, que mostrou o quão bem o esqueleto aderiu a uma determinada direção e velocidade ao longo da distância.


Durante a 1ª e a 2ª etapa, o progresso de cada participante foi exibido na tabela de classificação. A solução final precisava ser enviada como uma imagem do docker. Previa restrições quanto ao horário e recursos de trabalho.


Coolstory: ranking público e RL

Devido à disponibilidade da tabela de classificação, ninguém mostra o seu melhor modelo para dar "um pouco mais do que o habitual" na rodada final e surpreender os rivais.


Por que as imagens do docker são tão importantes

No ano passado, ocorreu um pequeno incidente ao avaliar as decisões no primeiro turno. Naquela época, a verificação passou pela interação http com a plataforma, e uma face das condições para o teste foi encontrada. Pode-se descobrir em quais situações particulares o agente foi avaliado e treiná-lo novamente nessas condições. O que, é claro, não resolveu o problema real. Por isso, eles decidiram transferir o sistema de envios para imagens de encaixe e iniciá-lo nos servidores remotos dos organizadores. Dbrain usa o mesmo sistema para calcular o resultado de competições precisamente pelas mesmas razões.


Pontos-chave


A equipe




A primeira coisa que é importante para o sucesso de toda a empresa é a equipe. Não importa quão bom você seja (e quão poderoso seja suas patas) - a participação na equipe aumenta muito as chances de sucesso. A razão é simples - uma variedade de opiniões e abordagens, revisando hipóteses, a capacidade de paralelizar o trabalho e realizar mais experimentos. Tudo isso é extremamente importante na solução de novos problemas que você precisa enfrentar.

Idealmente, seus conhecimentos e habilidades devem estar no mesmo nível e se complementam. Por exemplo, este ano, plantei nossa equipe no PyTorch e tive algumas idéias iniciais sobre a implementação de um sistema de treinamento de agentes distribuídos.


Como encontrar uma equipe? Em primeiro lugar, você pode se juntar às fileiras dos ods e procurar pessoas com a mesma opinião. Em segundo lugar, para os bolsistas da RL há uma sala de bate-papo separada em um telegrama - clube da RL . Em terceiro lugar, você pode fazer um curso maravilhoso com o ShAD - Practical RL , após o qual você certamente conhecerá alguns conhecidos.


No entanto, vale lembrar a política de "submissão - ou não era". Se você quiser se unir, primeiro tome sua decisão, envie, apareça na tabela de classificação e mostre seu nível. Como mostra a prática, essas equipes são muito mais equilibradas.


Motivação


Como já escrevi, se o tópico for “seu”, nada o impedirá. Isso significa que a região não gosta apenas de você, mas a inspira - você a queima, quer se tornar a melhor.
Conheci a RL há quatro anos - durante a passagem do Berkeley 188x - Introdução à IA - e ainda não consigo parar de me perguntar sobre o progresso nessa área.


Sistemática


Terceiro, mas igualmente importante - você deve ser capaz de fazer o que prometeu, investir na competição todos os dias e apenas ... resolvê-la. Todo dia Nenhum talento inato pode ser comparado com a capacidade de fazer algo, mesmo que um pouco, mas todos os dias. É para isso que a motivação será necessária. Para ter sucesso, recomendo a leitura do DeepWork e da AMA ternaus .


Gerenciamento de tempo


Outra habilidade extremamente importante é a capacidade de distribuir a força e usar corretamente o tempo livre. Combinar trabalho em tempo integral e participação em competições é uma tarefa não trivial. O mais importante nessas condições é não queimar e suportar toda a carga. Para fazer isso, você precisa gerenciar adequadamente seu tempo, avaliar sobriamente sua força e não se esqueça de relaxar na hora certa.


Excesso de trabalho


Na fase final da competição, geralmente surge uma situação em que literalmente em uma semana você precisa fazer não muito, mas MUITO. Para o melhor resultado, você precisa se forçar a sentar e dar o último impulso ao cobiçado prêmio.


Coolstory: prazo após prazo

Por que, em geral, pode ser necessário reciclar para o benefício da competição? A resposta é bastante simples - transferência de prazo. Nessas competições, os organizadores geralmente não conseguem prever tudo, por isso a maneira mais fácil é dar mais tempo aos participantes. Este ano, a competição foi prorrogada três vezes: primeiro por um mês, depois por uma semana e no último momento (24 horas antes do prazo) - por mais 2 dias. E se durante as duas primeiras transferências você apenas precisou organizar o tempo extra corretamente, nos últimos dois dias você apenas teve que arar.


Teoria



Entre outras coisas, não se esqueça da teoria - estar ciente do que está acontecendo no campo e ser capaz de observar o relevante. Por exemplo, para resolver no ano passado, nossa equipe decolou dos seguintes artigos:



Este ano, mais alguns foram adicionados a eles:



Leitura adicional

Também aconselho à OpenAI uma seleção de artigos sobre aprendizado por reforço e sua versão para mendeley . E se você estiver interessado no tópico de treinamento por reforço, junte-se aos documentos do clube e da RL .


Prática




Conhecer a teoria por si só não é suficiente - é importante poder colocar todas essas abordagens em prática e estabelecer o sistema de validação correto para avaliar decisões. Por exemplo, este ano descobrimos que nosso agente lida mal com alguns casos regionais apenas 2 dias antes do final da competição. Por causa disso, não tivemos tempo para consertar completamente nosso modelo e não conseguimos literalmente alguns pontos para o cobiçado segundo lugar. Se descobríssemos isso mesmo em uma semana - o resultado poderia ser melhor.
História legal: episódio III

O prêmio médio para 10 episódios de teste serviu como avaliação final da solução.



O gráfico mostra os resultados do teste do nosso agente: 9 de 10 episódios, nosso esqueleto correu bem (média - 9955,66), mas um episódio ... O episódio 3 não foi dado a ele (recompensa 9870). Foi esse erro que levou à queda da velocidade final para 9947 (-8 pontos).


Boa sorte


E finalmente - não se esqueça da sorte banal. Não pense que este é um ponto controverso. Pelo contrário, um pouco de sorte contribui muito para o trabalho constante: mesmo que a probabilidade de sorte seja de apenas 10%, uma pessoa que tentou participar da competição 100 vezes terá muito mais sucesso do que alguém que tentou apenas uma vez e abandonou a ideia.


Ida e volta: decisão do ano passado - terceiro lugar




No ano passado, nossa equipe - Mikhail Pavlov e eu - participamos das competições NeurIPS pela primeira vez e a principal motivação era simplesmente participar da primeira competição NeurIPS no aprendizado por reforço. Acabei de terminar o curso de RL prática no SHAD e queria testar as habilidades adquiridas. Como resultado, conquistamos um terceiro lugar honroso, perdendo apenas para o nnaisene (Schmidhuber) e a equipe universitária da China. Naquela época, nossa solução era "bastante simples" e baseava-se no DDPG distribuído com parâmetros de ruído ( publicação e apresentação em ml . Trainings ).

A decisão deste ano é o terceiro lugar



Houve algumas mudanças este ano. Em primeiro lugar, não havia desejo de apenas participar desta competição, eu queria vencê-la. Em segundo lugar, a composição da equipe também mudou: Alexey Grinchuk, Anton Pechenko e eu. Pegue e ganhe - não funcionou, mas novamente conquistamos o 3º lugar.
Nossa solução será apresentada oficialmente no NeurIPS e agora nos limitaremos a um pequeno número de detalhes. Com base na decisão do ano passado e no sucesso do aprendizado de reforço fora da política deste ano (artigos acima), adicionamos vários desenvolvimentos próprios, sobre os quais falaremos no NeurIPS, e obtivemos o Critic Distributed Quantile Ensemble, com o qual ocupamos o terceiro lugar.


Todas as nossas práticas recomendadas - um sistema de aprendizado distribuído, algoritmos etc. serão publicadas e disponíveis no Catalyst.RL após o NeurIPS.


Coolstory: meninos grandes - armas grandes

Nossa equipe confiantemente foi para o 1º lugar durante toda a competição. No entanto, os grandões tinham outros planos - dois grandes jogadores entraram na competição duas semanas antes do final da competição: FireWork (Baidu) e nnaisense (Schmidhuber). E se não pudéssemos fazer nada com o Google chinês, então com a equipe Schmidhuber por um bom tempo conseguimos lutar honestamente pelo segundo lugar, perdendo apenas com uma margem mínima. Parece-me muito bom para os amantes.


Por que isso é tudo?


  • Comunicação. Os principais pesquisadores vêm à conferência com quem você pode conversar ao vivo, o que não fornecerá nenhuma correspondência por e-mail.
  • Publicação Se a solução receber o prêmio, a equipe será convidada para a conferência (ou talvez mais de uma) para apresentar sua decisão e publicar o artigo.
  • Oferta de emprego e doutorado. A publicação e o prêmio em uma conferência desse tipo aumentam significativamente suas chances de conseguir uma posição em empresas líderes como OpenAI, DeepMind, Google, Facebook, Microsoft.
  • Valor do mundo real. O NeurIPS é realizado para solucionar problemas prementes do mundo acadêmico e real. Você pode ter certeza de que os resultados não irão para a mesa, mas serão realmente procurados e ajudarão a melhorar o mundo.
  • Drive Resolver tais concursos ... apenas interessante. Em uma competição, você pode ter muitas idéias novas, testar diferentes abordagens - apenas para ser o melhor. E vamos ser honestos, quando mais você pode dirigir esqueletos, jogar e tudo isso com um olhar sério e pelo bem da ciência?

História legal: visto e RL

Eu não recomendo tentar explicar ao americano que você está indo para a conferência, enquanto treina esqueletos virtuais para executar simulações. Basta ir à conferência com uma palestra.


Sumário


Participar do NeurIPS é uma experiência difícil de superestimar. Não tenha medo de títulos de destaque: basta se recompor e começar a decidir.


E vá para Catalyst.RL , então o que.

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


All Articles