O que é aprendizado auto-supervisionado no aprendizado de máquina?


Respostas:


29

O aprendizado auto-supervisionado (ou auto-supervisão) é uma técnica de aprendizado relativamente recente (no aprendizado de máquina), em que os dados de treinamento são rotulados de forma autônoma (ou automática). Ainda é um aprendizado supervisionado, mas os conjuntos de dados não precisam ser rotulados manualmente por um ser humano, mas podem, por exemplo, ser rotulados localizando e explorando as relações (ou correlações) entre diferentes sinais de entrada (ou seja, entradas provenientes de diferentes modalidades de sensores). )

Uma vantagem e conseqüência natural da aprendizagem auto-supervisionada é que ela pode ser realizada mais facilmente (com relação, por exemplo, à aprendizagem supervisionada) on-line (dado que os dados podem ser coletados e rotulados sem intervenção humana), onde os modelos podem ser atualizados ou atualizados. treinado completamente do zero. Portanto, o aprendizado auto-supervisionado também deve ser adequado para alterar ambientes, dados e, em geral, situações.

Por exemplo, considere um robô equipado com um sensor de proximidade (que é um sensor de curto alcance capaz de detectar objetos em frente ao robô a curtas distâncias) e uma câmera (que é um sensor de longo alcance , mas que não fornece uma maneira direta de detectar objetos). Você também pode assumir que este robô é capaz de realizar odometria . Um exemplo desse robô é o Mighty Thymio .

Considere agora a tarefa de detectar objetos na frente do robô a intervalos maiores do que o permitido pelo sensor de proximidade. Em geral, poderíamos treinar uma CNN para conseguir isso. No entanto, para treinar essa CNN, no aprendizado supervisionado, precisamos primeiro de um conjunto de dados rotulado, que contenha imagens (ou vídeos) rotulados, onde os rótulos possam, por exemplo, ser "objeto na imagem" ou "nenhum objeto na imagem". No aprendizado supervisionado, esse conjunto de dados precisaria ser rotulado manualmente por um ser humano, o que claramente exigiria muito trabalho.

Para superar esse problema, podemos usar uma abordagem de aprendizado auto-supervisionada. Neste exemplo, a idéia básica é associar a saída dos sensores de proximidade em uma etapa de tempo com a saída da câmera na etapa de tempo (uma etapa de tempo menor que ).t>ttt

Mais especificamente, suponha que o robô esteja inicialmente nas coordenadas (no plano), no passo . Neste ponto, ainda não temos informações suficientes para rotular a saída da câmera (ao mesmo tempo, etapa ). Suponha agora que, no momento , o robô esteja na posição . No passo , a saída do sensor de proximidade será, por exemplo, "objeto na frente do robô" ou "nenhum objeto na frente do robô". Sem perda de generalidade, suponha que a saída do sensor de proximidade em seja "nenhum objeto na frente do robô",(x,y)ttt(x,y)tt>tt será "nenhum objeto na frente do robô".

Para obter mais detalhes sobre esse exemplo específico, consulte o artigo Aprendendo a percepção de longo alcance usando a auto-supervisão de sensores e odômetros de curto alcance de Mirko Nava, Jérôme Guzzi, R. Omar Chavez-Garcia, Luca M. Gambardella e Alessandro Giusti.

Observe que o aprendizado auto-supervisionado é definido de maneira um pouco diferente, dependendo do contexto ou da área, que pode, por exemplo, ser robótica, aprendizado reforçado ou aprendizado de representação (ou recurso). Mais precisamente, a definição dada acima é usada em robótica. Veja, por exemplo, também este documento Aprendizado visual auto-supervisionado de várias tarefas . Para uma definição ligeiramente diferente de aprendizado auto-supervisionado, consulte, por exemplo, o artigo Cavando na estimativa de profundidade monocular auto-supervisionada .

Para outra introdução ao aprendizado auto-supervisionado, consulte este artigo na Web: https://hackernoon.com/self-supervised-learning-gets-us-closer-to-autonomous-learning-be77e6c86b5a . Neste artigo, o autor também compara o aprendizado auto-supervisionado ao aprendizado não supervisionado, o aprendizado semi-supervisionado e o aprendizado por reforço.

Além disso, se você quiser conhecer os métodos atuais que estão sendo usados ​​para o aprendizado auto-supervisionado, consulte este artigo: https://amitness.com/2020/02/illustrated-self-supervised-learning . Neste artigo, o autor resume as idéias principais dos métodos auto-supervisionados existentes, com diagramas e visualização.

Há também uma lista com curadoria de links para artigos em que essa abordagem de aprendizado é usada no seguinte URL: https://github.com/jason718/awesome-self-supervised-learning .


Eu discordo que o aprendizado auto-supervisionado significa que os dados são rotulados, de modo que a camada de saída seja idealmente igual às camadas. Tomemos este e este trabalho, por exemplo, os dois dizem que usam aprendizado auto-supervisionado, mas não usam rótulos. Em vez disso, a perda é calculada distorcendo um quadro no vídeo de acordo com a saída da rede e comparando o quadro distorcido com outro quadro.
HelloGoodbye

@ HelloGoodbye Existem, de fato, diferentes definições de aprendizado auto-supervisionado. Eu devo atualizar esta resposta. A definição que usei é a mais comum e usada em robótica. Todos os outros não estão muito relacionados ao aprendizado supervisionado, portanto, seu uso é um pouco inadequado ou enganoso. Esse uso do aprendizado auto-supervisionado, em robótica, é o mais apropriado, dada a sua relação com o aprendizado supervisionado.
Nbro

2
Obrigado por ligar o meu post sobre o meio-dia de hackers
Dickey Singh

6

O aprendizado auto-supervisionado é quando você usa algumas partes das amostras como rótulos para uma tarefa que exige um bom grau de compreensão para ser resolvida. Vou enfatizar esses dois pontos-chave, antes de dar um exemplo:

  • Os rótulos são extraídos da amostra , para que possam ser gerados automaticamente, com algum algoritmo muito simples (talvez apenas seleção aleatória).

  • A tarefa requer entendimento . Isso significa que, para prever a saída, o modelo precisa extrair alguns bons padrões dos dados, gerando no processo uma boa representação.

Um caso muito comum para aprendizado semi-supervisionado ocorre no processamento de linguagem natural, quando você precisa resolver uma tarefa, mas possui poucos dados rotulados. Nesses casos, você precisa aprender uma boa representação ou modelo de linguagem, para tomar sentenças e executar tarefas de auto-supervisão de sua rede como estas:

  • Peça à rede para prever a próxima palavra em uma frase (que você sabe porque a tirou).

  • Mascarar uma palavra e pedir à rede para prever qual palavra vai para lá (que você sabe porque teve que mascará-la).

  • Altere a palavra por uma aleatória (que provavelmente não faz sentido) e pergunte à rede qual palavra está errada.

Como você pode ver, essas tarefas são bastante simples de formular e os rótulos fazem parte da mesma amostra, mas exigem uma certa compreensão do contexto a ser resolvido.

E é sempre assim: altere seus dados de alguma forma, gerando o rótulo no processo e pergunte ao modelo algo relacionado a essa transformação. Se a tarefa exigir entendimento suficiente dos dados, você terá sucesso.


2

O reconhecimento visual auto-supervisionado é frequentemente aplicado ao aprendizado de representação. Aqui, aprendemos primeiro recursos sobre dados não rotulados (aprendizado de representação) e depois aprendemos o modelo real sobre recursos extraídos dos dados rotulados. Isso faz especialmente sentido quando temos muitos dados não rotulados e poucos dados rotulados.

Os recursos podem ser aprendidos resolvendo as chamadas tarefas de pretexto . Exemplos de tarefas de pretexto são prever rotação de uma imagem tremida, reconhecer instâncias tremidas de uma mesma imagem ou prever relação espacial de amostras de imagens.

Uma boa visão geral e resultados interessantes podem ser encontrados neste artigo recente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.