Aprendizado único com a rede siamesa [para reconhecimento facial]
Publicados: 2021-02-08O artigo a seguir fala sobre a necessidade de usar o aprendizado One-shot juntamente com suas variações e desvantagens.
Para começar, para treinar qualquer modelo de aprendizado profundo, precisamos de uma grande quantidade de dados para que nosso modelo execute a tarefa de previsão ou classificação desejada com eficiência. Por exemplo, detectar um cão a partir de imagens exigirá que você treine um modelo de rede neural em centenas e milhares de imagens de cães e não cães para distinguir com precisão uma da outra. No entanto, esse modelo de rede neural não funcionará se for treinado em um ou muito poucos dados de treinamento.
Com a falta de dados, a extração de recursos relevantes em diferentes camadas se torna difícil. O modelo não será capaz de generalizar bem entre diferentes classes, afetando assim seu desempenho geral.
Para ilustração, considere o exemplo de reconhecimento facial em um aeroporto. Neste, não temos a liberdade de treinar nosso modelo de centenas e milhares de imagens de cada pessoa contendo diferentes expressões, iluminação de fundo et al. Com mais de milhares de passageiros chegando diariamente é uma tarefa impossível! Além disso, armazenar uma quantidade tão grande de dados aumenta o custo.
Para resolver o problema acima, usamos uma técnica na qual tarefas de classificação ou categorização podem ser realizadas com um ou alguns exemplos para classificar muitos novos exemplos. Essa técnica é chamada de aprendizado one-shot.
Nos últimos anos, a tecnologia de aprendizado one-shot está sendo amplamente usada em reconhecimento facial e verificações de passaporte. O conceito utilizado é: O modelo recebe 2 imagens de entrada; sendo uma a imagem do passaporte e a outra a imagem da pessoa olhando para a câmera. O modelo então gera um valor que é a semelhança entre as 2 imagens. Se o valor da saída for baixo, as duas imagens são semelhantes, senão são diferentes.
Índice
Rede Siamesa
A arquitetura usada para o aprendizado One-shot é chamada de Rede Siamese. Essa arquitetura compreende duas redes neurais paralelas, cada uma recebendo uma entrada diferente. A saída do modelo é um valor ou um índice de similaridade que indica se as duas imagens de entrada são iguais ou não. Um valor abaixo de um limite pré-definido corresponde à alta similaridade entre as duas imagens e vice-versa.
Quando as imagens passam por uma série de camadas convolucionais, camadas de pool máximo e camadas totalmente conectadas, o que obtemos é um vetor que codifica os recursos das imagens. Aqui, porque inserimos duas imagens, dois vetores abrangendo as características das imagens de entrada serão gerados. O valor do qual estávamos falando é a distância entre os dois vetores de características que pode ser calculada encontrando a norma da diferença entre os dois vetores.
Função de perda de tripleto
Como o nome sugere, para treinar o modelo, precisamos de três imagens - uma imagem âncora (A), uma imagem positiva (P) e uma imagem negativa (N). Como duas entradas podem ser fornecidas ao modelo, uma imagem âncora com uma imagem positiva ou negativa é fornecida. O modelo aprende o parâmetro de tal forma que a distância entre a imagem âncora e a imagem positiva seja baixa, enquanto a distância entre a imagem âncora e a imagem negativa seja alta.
A função de perda construtiva penaliza o modelo se a distância entre A e N for baixa ou A e P for alta, enquanto encoraja o modelo ou aprende características quando a distância entre A e N é alta e A e P é baixa.
Para entender mais sobre a âncora, imagens positivas e negativas, vamos considerar o exemplo anterior disso em um aeroporto. Nesse caso, a imagem âncora será a sua imagem quando você olhar para a câmera, a imagem positiva será a da foto do seu passaporte e a imagem negativa será uma imagem aleatória de um passageiro presente no aeroporto.
Sempre que treinamos uma rede Siaseme disponibilizamos-lhe as imagens dos trios APN (Âncora, positivo e negativo). Criar esse conjunto de dados é muito mais fácil e exigiria menos imagens para treinar.
Limitações do aprendizado one-shot
O aprendizado one-shot ainda é um algoritmo de aprendizado de máquina maduro e possui algumas limitações. Por exemplo, o modelo não funcionará bem se a imagem de entrada tiver algumas modificações - uma pessoa usando um chapéu, óculos de sol et al. Além disso, um modelo treinado para um aplicativo não pode ser generalizado para outro aplicativo.
Continuando, vamos ver algumas variações do aprendizado One-shot, que envolve o aprendizado Zero-shot e o aprendizado Few-shot.
Aprendizado de tiro zero
O aprendizado de tiro zero é a capacidade do modelo de identificar dados rotulados novos ou não vistos enquanto é treinado em dados vistos e conhece os recursos semânticos de dados novos ou não vistos. Por exemplo, uma criança que viu um gato pode identificá-lo por suas características distintas. Além disso, se a criança estiver ciente de que o cachorro late e possui características mais sólidas do que um gato, então a criança não terá problemas em reconhecer o cachorro.
Para concluir, podemos dizer que o reconhecimento ZSL funciona de uma maneira que leva em consideração o conjunto de treinamento rotulado de classes vistas juntamente com o conhecimento sobre como cada classe não vista está semanticamente relacionada às classes vistas.
Aprendizado N-shot
Como o nome sugere, em N shot learning teremos n dados rotulados de cada classe disponíveis para treinamento. O modelo é treinado em K classes, cada uma contendo n dados rotulados. Depois de extrair recursos e padrões relevantes, o modelo deve categorizar uma nova imagem não rotulada em uma das K classes. Eles usam redes de correspondência que funcionam na abordagem baseada nos vizinhos mais próximos treinados totalmente de ponta a ponta.
Conclusão
Em conclusão, o campo de aprendizagem One-shot e seus homólogos têm imenso potencial para resolver alguns dos problemas desafiadores. No entanto, sendo uma área de pesquisa relativamente nova, está progredindo rapidamente e os pesquisadores estão trabalhando para tentar preencher a lacuna entre máquinas e humanos.
Com isso, chegamos ao fim deste post, espero que tenham gostado da leitura.
Se você estiver interessado em aprender mais sobre aprendizado de máquina, confira o PG Diploma in Machine Learning & AI do IIIT-B e upGrad, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, IIIT- B Status de ex-aluno, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.
Aprenda ML Course das melhores universidades do mundo. Ganhe Masters, Executive PGP ou Advanced Certificate Programs para acelerar sua carreira.