• Nenhum resultado encontrado

Redes Neurais Siamesas

N/A
N/A
Protected

Academic year: 2021

Share "Redes Neurais Siamesas"

Copied!
28
0
0

Texto

(1)

Redes Neurais Siamesas

Matheus Gutoski

(2)

Introdução - Redes Neurais Siamesas

Alguns problemas requerem uma abordagem diferente da classificação

comum (CNN);

Problemas com muitas classes e poucos exemplos por classe

Necessidade constante de incluir ou remover classes do modelo

(3)

Exemplos

Problema clássico:

○ 10 classes

○ Milhares de exemplos por classe

Como resolver?

○ Rede Neural Convolucional com ativação Softmax

(4)

Exemplos

Reidentificação de pessoas:

○ Comum em sistemas de segurança e controle de acesso ○ Muitas classes (centenas / milhares / milhões)

○ Pouquíssimos exemplos por classe

■ geralmente na casa das poucas dezenas ○ Necessidade de inclusão ou exclusão de classes

■ Adicionar um novo ou remover um antigo funcionário

Como resolver?

(5)

Porque as CNNs falham neste tipo de problema

Necessidade de muitos dados por classe;

Alto custo computacional para modificar o modelo:

○ Adicionar uma nova classe implica em retreinar o modelo

(6)

Uma solução

(7)

Redes Neurais Siamesas

São modelos contendo duas ou mais sub redes que compartilham seus

pesos

Cada sub rede recebe uma entrada diferente, e o modelo “aprende” uma

função para medir a similaridade entre as entradas

(8)

Redes Neurais Siamesas

Por que aprender uma medida de similaridade?

○ O modelo leva à representações robustas onde a distância entre os pontos (por ex. distância Euclidiana) corresponde a um grau de similaridade semântico

○ Uma vez que o modelo é treinado, as features geradas por ele podem ser usadas para dados ou até classes até então desconhecidas

(9)

Redes Neurais Siamesas

No geral, redes siamesas não são usadas como classificadores

São usadas como um meio para gerar features robustas em um espaço de similaridade semântica

Após a aquisição das features, classificadores clássicos são utilizados

○ SVM

○ KNN (One Shot Learning)

○ MLP

(10)
(11)

Redes Neurais Siamesas

Sumário:

○ Treinamento ○ Contrastive Loss ○ Triplet Loss ○ Seleção de pares ○ One Shot Learning ○ Exemplo

(12)

Redes Neurais Siamesas - Treinamento

Dado um par de entradas, encontrar uma

função de distância

que produza:

Um valor pequeno, caso as entradas sejam da mesma classe

Um valor grande, caso as entradas pertençam a classes diferentes

(13)

Contrastive Loss Function

Definição de alguns termos:

Em que:

○ é um par de entradas

○ é uma função parametrizada que produz um mapeamento (neste caso a rede neural)

Portanto, corresponde à distância euclidiana entre os vetores de

saída das duas redes

(14)

Contrastive Loss Function

A função de loss final é definida como:

Em que:

○ Y é o label associado ao par de entradas

■ Se as entradas forem similares (mesma classe), Y = 0. Caso contrário, Y = 1 ○ m é um parâmetro que define a margem (distância mínima)

(15)

Contrastive Loss Function

Quando Y = 0 (mesma classe)

Este termo desaparece da eq. O loss diminui à medida

em que a distância entre as saídas diminui

(16)

Contrastive Loss Function

Quando Y = 1 (classes diferentes)

O loss se torna 0 caso a distância seja maior que a margem definida

Este termo desaparece da eq. O loss diminui à medida em que a distância entre

(17)

Triplet Loss Function

A Triplet Loss Function é uma alternativa para Contrastive Loss

Em vez de duas entradas, três entradas são utilizadas

○ A: Anchor ○ P: Positive ○ N: Negative

O objetivo é minimizar a distância entre A e P, e maximizar a distância entre A

e N

(18)

Triplet Loss Function

A função tenta satisfazer a condição

Em que:

são as representações das entradas anchor, positive e negative ○ é a margem e é o conjunto de treinamento

(19)

Triplet Loss Function

A função final de loss é:

Distância entre anchor e positive Distância entre anchor e negative

margem: define uma margem mínima e previne soluções triviais

(20)

Seleção de pares / triplets

É uma das questões mais cruciais quando se treina este tipo de modelo

Usar todos os pares ou triplets possíveis pode gerar problemas:

○ O número de combinações pode ser muito grande, dependendo do tamanho do dataset ○ Muitos destes pares / triplets podem não contribuir para o treinamento, por naturalmente

(21)

Seleção de pares / triplets

Portanto, é necessário que estes dados sejam escolhidos de uma forma mais

inteligente

Formar pares / triplets difíceis

Como?

A cada N iterações, usando o estado atual da rede, para um dado anchor, encontrar os

(22)

Seleção de pares / triplets

Problemas:

○ Calcular as distâncias entre todos os pares é muito custoso computacionalmente

Sugestões:

Selecionar anchors aleatoriamente, de modo em que haja um balanceamento de classes em cada batch

Usar todos os positives disponíveis para cada anchorSelecionar os negatives “difíceis”

Calcular distâncias entre anchors e negatives apenas dentro do batch

Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding for face recognition and clustering. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 815-823).

(23)

Seleção de pares / triplets

Usar apenas os pares mais difíceis pode atrapalhar o treinamento, por causa de outliers ou dados de má qualidade

Uma estratégia de seleção semi-difíceis pode ser utilizadaNegativos semi-difíceis ficam mais “longe” dos

(24)

One Shot Learning

Uma vez treinada, a Rede Siamesa permite o One-Shot Learning

○ Aprendizado com apenas 1 exemplo da nova classe ○ Geralmente utiliza KNN com K = 1

O novo dado passa pela rede siamesa, que gera uma representação

Esta representação é incluída no modelo do KNN

(25)

One Shot Learning

Um novo dado pode ser

classificado medindo a distância de

seu vetor de característica para

vetores pré existentes

É possível definir um threshold de

distância para “rejeitar” um dado

(26)

Diferenças no mapeamento (MNIST)

Rede Neural comum (softmax) Rede Neural siamesa

● O formato esférico dos clusters gerados pela rede siamesa melhora a performance de modelos baseados em distância Euclidiana, como o KNN

(27)

Exemplo com Keras

(28)

Referências

Hadsell, R., Chopra, S., & LeCun, Y. (2006). Dimensionality reduction by learning

an invariant mapping. In 2006 IEEE Computer Society Conference on Computer

Vision and Pattern Recognition (CVPR'06) (Vol. 2, pp. 1735-1742). IEEE.

Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding

for face recognition and clustering. In Proceedings of the IEEE conference on

computer vision and pattern recognition (pp. 815-823).

Taigman, Y., Yang, M., Ranzato, M. A., & Wolf, L. (2014). Deepface: Closing the

gap to human-level performance in face verification. In Proceedings of the IEEE

conference on computer vision and pattern recognition (pp. 1701-1708).

Referências

Documentos relacionados

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

Os personagens e as situações desta obra são reais apenas no universo da ficção; não se referem a pessoas e fatos concretos, e não emitem opinião sobre eles.. Dados Internacionais

Os resultados obtidos pela análise de eficiência produtiva e economica em empreendimentos agropecuários com múltiplos produtos e insumos através de DEA mostram que este

Ara bé: sé del cert que jo existeixo i sé també que totes les imatges (i, en general, totes les coses que es refereixen a la naturalesa dels cossos) potser són només somnis

Deste modo, na busca de indicadores que permitam um planejamento escolar visando contribuir com um crescimento saudável de nossos escolares, é que este estudo foi

Entre as estratégias de enfrentamento analisadas, os dados indicam maior frequência das Práticas Religiosas e Pensamentos Fantasiosos entre os participantes, seguida de

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

Super identificou e definiu construtos e a respectiva interacção no desenvolvimento da carreira e no processo de tomada de decisão, usando uma série de hipóteses: o trabalho não