Eu sou Shusen Wang. Sou professor assistente no Stevens Institute of Technology. Nesta palestra, darei uma breve introdução ao aprendizado de poucos tiros. O aprendizado de poucos disparos significa fazer classificação ou regressão com base em um número muito pequeno de amostras. Antes de começar, vamos jogar. Eu mostro 4 imagens. Por favor, olhe com cuidado. As duas imagens da esquerda são tatus. Os dois da direita são Pangolins. Você pode nunca ter ouvido falar de tatu ou pangolim, mas não importa. Você só quer prestar atenção às suas diferenças e tentar distinguir os dois animais. Se você não sabe a diferença deles, posso lhe dar uma dica. Observe as orelhas e o tamanho das escamas. Agora, dou-lhe uma imagem de consulta. Você acha que é tatu ou pangolim? A maioria das pessoas não sabe a diferença entre tatu e pangolim.
Eles podem nem ter ouvido falar de tatu ou pangolim. Mas o ser humano pode aprender a distinguir os dois animais usando apenas 4 amostras de treinamento. Para um humano, fazer uma previsão com base em 4 amostras de treinamento não é difícil. Mas os computadores também podem fazer isso? Se uma classe tiver apenas duas amostras, os computadores podem fazer a previsão correta? Isso é mais difícil do que o problema de classificação padrão. O número de amostras é muito pequeno para treinar uma rede neural profunda. Lembre-se das terminologias: conjunto de suporte e consulta. Conjunto de suporte é um pequeno conjunto de amostras.
É muito pequeno para treinar um modelo. O aprendizado de poucos disparos é o problema de fazer previsões com base em um número limitado de amostras. O aprendizado de poucos tiros é diferente do aprendizado supervisionado padrão. O objetivo do aprendizado de poucos disparos é não permitir que o modelo reconheça as imagens no conjunto de treinamento e depois generalize para o conjunto de teste. Em vez disso, o objetivo é aprender a aprender. “Aprenda a aprender” parece difícil de entender. Você pode pensar nisso desta maneira. Eu treino o modelo em um grande conjunto de treinamento. O objetivo do treinamento não é saber o que é elefante e o que é tigre.
O objetivo é não ser capaz de reconhecer elefantes e tigres invisíveis. Em vez disso, o objetivo é saber a semelhança e a diferença entre os objetos. Após o treinamento, você pode mostrar as duas imagens ao modelo e perguntar se os dois são do mesmo tipo de animal. O modelo aprendeu a semelhança e a diferença entre os objetos. Assim, o modelo é capaz de dizer que o conteúdo das duas imagens é o mesmo tipo de objeto. Dê uma olhada em nossos dados de treinamento novamente. Os dados de treinamento possuem 5 classes que não incluem a classe esquilo. Assim, o modelo é incapaz de reconhecer esquilos. Se você mostrar uma imagem do esquilo ao modelo, o modelo não saberá que é um esquilo. Quando o modelo vê as duas imagens, não sabe que são esquilos.
No entanto, o modelo sabe que eles são parecidos. O modelo pode dizer com alta confiança que eles são o mesmo tipo de objeto. Pela mesma razão, o modelo nunca viu um coelho durante o treinamento, então não sabe que as duas imagens são coelhos. Mas o modelo conhece a semelhança e a diferença entre as coisas. O modelo sabe que os conteúdos das duas imagens são muito parecidos. Assim, o modelo pode dizer que eles são o mesmo objeto. Então eu mostro as duas imagens para o modelo. Embora a modelo nunca tenha visto um pangolim e um buldogue, ela sabe que os dois animais são bem diferentes. O modelo acredita que são objetos diferentes. Agora, faço uma pergunta diferente. Eu tenho uma imagem de consulta.
Eu mostro para o modelo e pergunto o que é. O modelo é incapaz de responder à minha pergunta. O modelo não viu esse tipo de objeto durante o treinamento. Em seguida, forneço informações adicionais ao modelo. Mostro 6 imagens adicionais ao modelo. Digo ao modelo que são raposa, esquilo, coelho, hamster, lontra e castor.
Agora, o modelo pode responder à minha pergunta. O modelo compara a imagem de consulta com cada uma das 6 imagens. O modelo encontra a consulta mais semelhante à imagem da lontra. Assim, o modelo acredita que a consulta é uma lontra. "Conjunto de suporte" é o jargão do metalearning. O pequeno conjunto de imagens rotuladas é chamado de conjunto de suporte. Observe a diferença entre o conjunto de treinamento e o conjunto de suporte. O conjunto de treinamento é grande. Cada classe no conjunto de treinamento tem muitos exemplos. O conjunto de treinamento é grande o suficiente para aprender uma rede neural profunda. Em contraste, o conjunto de suporte é pequeno. Cada classe tem no máximo algumas amostras. Neste exemplo, cada classe tem apenas uma amostra. É impossível treinar uma rede neural profunda usando um conjunto tão pequeno de dados. O conjunto de suporte só pode fornecer informações adicionais no momento do teste.
Aqui está a ideia básica do aprendizado de poucos tiros. Treinamos um grande modelo usando um grande conjunto de treinamento. Em vez de treinar o modelo para reconhecer objetos específicos como tigre e elefante no conjunto de treinamento, treinamos o modelo para saber a semelhança e a diferença entre objetos Com as informações adicionais fornecidas pelo conjunto de suporte, o modelo pode dizer que a imagem de consulta é uma lontra embora a lontra não esteja entre as classes do conjunto de treinamento, vou explicar o que é aprendizagem de poucos tiros e meta-aprendizagem. Você já deve ter ouvido falar em meta-aprendizagem. O aprendizado de poucos tiros é um tipo de meta-aprendizado. A meta-aprendizagem é diferente da aprendizagem supervisionada tradicional. O aprendizado supervisionado tradicional solicita que o modelo reconheça os dados de treinamento e generalize para dados de teste não vistos. Diferentemente, o objetivo do metalearning é aprender a aprender. Como entender "aprender a aprender"? Você leva seu filho ao zoológico. Ele está animado para ver o animal fofo na água que ele nunca viu antes.
Ele te perguntou: papai, o que é isso? Embora nunca tenha visto esse animal antes, ele é um garoto esperto e pode aprender sozinho. Agora, você dá ao garoto um conjunto de cartas. Em cada carta, há um animal e seu nome. O garoto nunca viu o animal na água. Ele também nunca viu os animais nas cartas. Mas o garoto é tão esperto que, olhando todas as cartas, sabe que o bicho na água é uma lontra. O animal na água é mais parecido com a lontra da carta.
Ensinar a criança a aprender sozinha chama-se meta-aprendizagem. Antes de ir ao zoológico, o garoto já conseguia aprender sozinho. Ele conhecia a semelhança e a diferença entre os animais. Embora nunca tenha visto lontra antes, ele pode aprender sozinho. Ao ler as cartas, ele sabe que o animal é uma lontra. A criança quer conhecer o animal na água que nunca viu antes. No meta-aprendizado, o animal desconhecido é chamado de consulta. Você dá a ele um conjunto de cartas e o deixa aprender sozinho. O conjunto de cartas é o conjunto de suporte. O que é meta-aprendizagem? Aprender a aprender por si mesmo é chamado de meta-aprendizagem. Neste exemplo, deixar a criança distinguir diferentes animais é um meta-aprendizado. Antes de ir ao zoológico, o garoto não tinha ouvido falar em lontra, mas sabia relacionar a lontra na água com a lontra do cartão.
Neste exemplo, a criança aprende a reconhecer a lontra usando um baralho. Existe apenas um cartão para cada espécie. Ele aprende a reconhecer a lontra usando apenas um cartão. Isso é chamado de aprendizado único. Aqui eu comparo o aprendizado supervisionado tradicional com o aprendizado de poucos tiros. O aprendizado supervisionado tradicional é assim. Primeiro, aprenda um modelo usando um grande conjunto de treinamento. Depois que o modelo é treinado, podemos usá-lo para fazer previsões.
Mostramos uma amostra de teste para o modelo. A amostra de teste nunca foi vista antes; não está no conjunto de treinamento. Felizmente, esta amostra de teste é de uma classe conhecida. A amostra de teste é um husky. Pertence a esta classe. Existem centenas de amostras sob a classe “husky”. Embora o modelo nunca tenha visto esse husky, o modelo já viu centenas de huskies. Não é difícil para o modelo dizer que esta amostra de teste é um husky. O aprendizado de poucos tiros é um problema diferente. A amostra de consulta nunca foi vista antes. Além disso, a amostra de consulta é de uma classe desconhecida. A amostra de consulta é um coelho. Não está entre as classes do conjunto de treinamento. A modelo nunca viu nenhum coelho durante o treinamento. Essa é a principal diferença do aprendizado supervisionado tradicional. O conjunto de treinamento não possui uma classe de coelho, portanto, o modelo não sabe que a amostra de consulta é. Precisamos fornecer mais informações ao modelo.
Podemos mostrar as cartas ao modelo. Cada cartão tem uma imagem e um nome. O conjunto de cartas é o conjunto de suporte. Ao comparar a consulta com as cartas, o modelo encontra a consulta mais semelhante à carta do coelho. Portanto, o modelo prevê que a consulta é um coelho. Caminho e tiro são terminologias de aprendizado de poucos tiros. K-way significa que o conjunto de suporte possui k classes. Neste exemplo, o conjunto de suporte possui 6 classes: raposa, esquilo, coelho, hamster, lontra e castor.
Então K é 6. N-shot significa que cada classe tem n amostras. Neste exemplo, cada classe tem apenas uma amostra. Portanto, n é 1. Esse conjunto de suporte é chamado de 6 vias e 1 disparo. Dê uma olhada em outro conjunto de suporte. Possui 4 classes: esquilo, coelho, hamster e lontra. Portanto, é de 4 vias. Há duas amostras em cada classe.
Portanto, é 2 tiros. O conjunto de suporte é chamado 4-way 2-shot. Ao realizar o aprendizado de poucos tiros, a precisão da previsão depende do número de maneiras e do número de tiros. Nesta figura, o eixo x é o número de caminhos, ou seja, o número de classes no conjunto de suporte.
O eixo y é a precisão da previsão. À medida que o número de maneiras aumenta, a precisão da previsão diminui. Por que isso acontece? Há uma lontra no zoológico. A criança não sabe o que é. Eu dou 3 cartas para a criança e peço que ela escolha uma das três. Este é o aprendizado de 1 tiro de 3 vias. E se eu der 6 cartas para a criança? Então, isso seria um aprendizado de 1 tiro de 6 vias. Qual você acha que é mais fácil, 3 vias ou 6 vias? Obviamente, 3 vias é mais fácil do que 6 vias. Escolher um de 3 é mais fácil do que escolher um de 6. Portanto, 3 vias tem maior precisão do que 6 vias. Nesta figura, o eixo x é o número de tiros, ou seja, o número de amostras por classe. O eixo y é a precisão da previsão. À medida que o número de disparos aumenta, a precisão da previsão melhora.
O fenômeno é fácil de interpretar. O acima é um conjunto de suporte de 2 tiros. Abaixo está um conjunto de suporte de 1 tiro. Com mais amostras, a previsão se torna mais fácil. Assim, 2 tiros são mais fáceis do que 1 tiro. A ideia básica do aprendizado de poucos tiros é treinar uma função que prevê similaridade. Denote a função de similaridade por sim(x, x'). Ele mede a similaridade entre as duas amostras, x e x’. Aqui estão 3 imagens. Eles são bulldog, bulldog e raposa.
Denote-os por x1, x2 e x3. Idealmente, tomando x1 e x2 como entrada, a função de similaridade produz um, o que significa que os dois animais são iguais. Tomando x1 e x3 como entrada, ou tomando x2 e x3 como entrada, a função de similaridade produz zero, o que significa que os dois animais são diferentes. A ideia pode ser implementada desta forma. Primeiro, aprenda uma função de similaridade de um conjunto de dados de treinamento em larga escala. A função de similaridade nos diz o quão semelhantes são duas imagens. Na próxima aula estudaremos a rede siamesa que pode ser uma função de similaridade. A rede pode ser treinada usando um conjunto de dados de grande escala, como o ImageNet. Após o treinamento, a função de similaridade aprendida pode ser usada para fazer previsões para consultas não vistas. Podemos usar a função de similaridade para comparar a consulta com cada amostra no conjunto de suporte e calcular as pontuações de similaridade. Em seguida, encontre a amostra com a maior pontuação de similaridade e use-a como previsão.
Eu uso este exemplo para demonstrar como fazer uma previsão. Dada esta imagem de consulta, quero saber qual é a imagem. Podemos comparar a consulta com cada amostra no conjunto de suporte. Compare a consulta com greyhound. A função de similaridade gera uma pontuação de similaridade de 0,2. A pontuação de similaridade entre a consulta e o bulldog é de 0,1. A similaridade entre a consulta e o tatu é de 0,03. Faça o mesmo para todas as amostras no conjunto de suporte para obter todas as pontuações de similaridade.
Entre essas pontuações de similaridade, este 0,7 é o maior. Assim, o modelo prevê que a consulta é uma lontra. O aprendizado único pode ser realizado dessa maneira. Dado um conjunto de suporte, podemos calcular a similaridade entre a consulta e cada amostra no conjunto de suporte para encontrar a amostra mais semelhante. Se você fizer pesquisas sobre meta-aprendizagem, precisará de conjuntos de dados para avaliar seu modelo. Aqui, apresento 2 conjuntos de dados que são mais amplamente usados em trabalhos de pesquisa. Omniglot é o conjunto de dados usado com mais frequência. O conjunto de dados é pequeno; apenas alguns megabytes. Omniglot é um conjunto de dados manuscrito semelhante ao MNIST. O conjunto de dados MNIST é para reconhecimento de dígitos. MNIST tem 10 aulas; cada classe tem 6 mil amostras. Em contraste, Omniglot tem mais de 1 mil classes. Mas cada classe tem apenas 20 dígitos. Isso torna a classificação para Omniglot mais difícil do que MNIST.
Você pode baixar o conjunto de dados usando o link ou importar o conjunto de dados usando o TensorFlow. O conjunto de dados tem 50 alfabetos, como hebraico, grego, latim, etc. Cada alfabeto tem muitos caracteres. Por exemplo, o grego tem 24 letras, como alfa, beta, gama, até ômega. Para cada caractere, existem 20 dígitos escritos por pessoas diferentes. Aqui está um resumo de Omniglot. Possui 50 alfabetos, incluindo vários idiomas, como latim, grego e hebraico. Todo alfabeto tem vários caracteres, por exemplo, o grego tem 24 letras. Os 50 alfabetos têm um total de 1623 caracteres únicos. Portanto, o conjunto de dados possui 1623 classes. Cada personagem foi escrito por 20 pessoas diferentes. Isso significa que cada classe tem 20 amostras. Todas as amostras são imagens de 105 por 105. O conjunto de treinamento possui 30 alfabetos, que contêm 964 caracteres e, portanto, 964 classes. O conjunto de treinamento contém um total de 19.280 amostras. O conjunto de teste possui 20 alfabetos, que contêm 659 caracteres e, portanto, 659 classes. O conjunto de teste tem um total de 13.180 amostras. Outro conjunto de dados comumente usado é o Mini-ImageNet. Possui 100 classes, como cogumelo, laranja, milho, pássaro e cobra. Cada classe tem 600 amostras. O conjunto de dados tem um total de 60 mil amostras.
Aprendemos os conceitos básicos de aprendizagem de poucos tiros e meta-aprendizagem. Na próxima aula, estudaremos a rede siamesa para aprendizado de poucos tiros..


![Giới thiệu các kênh Marketing 0 đồng [ Bài 1] – Công cụ marketing](https://59s.com.br/wp-content/uploads/2022/12/htmlF_IMG_638b365461402-1024x576.jpg)