Casa > O > O Que São Redes Neurais Siamesas, Para Que Aplicações Elas Servem E Por Quê?

O que são redes neurais siamesas, para que aplicações elas servem e por quê?

Na minha própria experiência, as Redes Siamêses podem oferecer 3 vantagens distintas sobre a CLASSIFICAÇÃO Tradicional!

Estas vantagens são um pouco verdadeiras para qualquer tipo de dados, e não apenas para Imagens (onde estas são atualmente mais utilizadas).

  1. PODERÁ SER MAIS ROBUSTOSO EXTREME A IMBALANÇA DE CLASSE.
  2. PODERÁ SER BEM-VINDO COM UM CLASSIFICADOR.
  3. CAN YIELD BETTER EMBEDDEDDINGS.

Vamos dizer que queremos aprender a prever o que é um animal numa dada imagem.

  • Fase 1 : se são apenas 2 classes de animais para prever (Gato vs Cão) e dados milhões de imagens de cada classe, pode-se treinar um Classificador CNN profundo. Easy!
  • Caso 2 : mas e se tivermos dezenas de milhares de classes de animais e para a maioria destas, temos apenas algumas dezenas de exemplos de imagens? Tentar aprender cada animal como uma Classe usando a CNN profunda parece menos viável agora. Tal classificador pode funcionar mal para classes de treinamento raramente vistas, por exemplo, digamos que havia apenas 4 imagens de treinamento de 'enguias'

Siamese Network is a Model Architecture used alongside a Distance-based Loss.

>ul>< aprende o que faz com que 2 pares de entradas sejam iguais (por exemplo, cão cão cão, enguia).> Em Comparação, a Classificação aprende o que faz com que uma entrada seja um cão/ gato/ enguia, etc.

Vantagens dessa aprendizagem podem ser:

  1. MAIS ROBUST TO CLASS IMBALANCE. Se o modelo aprendeu bem o que torna qualquer 2 animais iguais, um exemplo de uma aula como 'enguia' em treinamento pode ser suficiente para prever / reconhecer uma enguia no futuro. Isto é incrível! Veja One-Shot learning>li>NICE TO ENSEMBLE WITH BEST CLASSIFIER. Dado que o seu mecanismo de aprendizagem é um pouco diferente da Classificação, o cálculo da média simples com um Classificador pode fazer muito melhor do que calcular a média de 2 modelos supervisionados correlacionados (por exemplo, GBM & RF classifier). Experimentei-o pessoalmente.>li>BETTER EMBEDDDINGS. O Siamês foca na aprendizagem de embutimentos (em camada mais profunda) que colocam as mesmas aulas / conceitos próximos uns dos outros. Assim, pode aprender similaridade semântica.
    • Esta é diferente da Perda de Classificação (por exemplo, perda logística) que é explicitamente recompensada apenas para tornar as classes linearmente separáveis.
    • Isto torna as suas incrustações mais úteis num sentido genérico, por exemplo, pode-se calcular a distância sobre ela. Por exemplo, pode-se usar seus últimos embeddings de camada para construir um aplicativo 'search-by-image'. Claramente as incrustações siamesas não são apenas separáveis linearmente, mas também adequadas para o cálculo da distância.
>main-qimg-d1fd949737da3ecf2e2e9013f5c005ff main-qimg-9b637f7f554ff5c8adb4e9345dfb5813

Downside can be:

  • Training involves Pairwise Learning => quadratic pairs to learn from (in order to see all information available) => slower than Classification (pointwise learning)
  • Prediction can add a few HyperParameters and can be slightly slower. Não produz facilmente Probabilidades de Classe, mas distâncias de cada Classe.

De Gaylene Habbyshaw

Qual é a alternativa ao Raspberry Pi 3 com 4GB de RAM, processadores mais rápidos, e também com baixo custo? :: Qual é a sua opinião sobre a Elites Grid?