-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Realizar identificação de parentesco #33
Comments
- Adapt `FIW` dataset to return kinship relation - Copy `train.py` in a new `train_classification.py` to modify training loop. Ref.: #33
Deixei um treinamento rodando de ontem para hoje e obtive os resultados abaixo. Esse treinamento devia ter ido até a época 160, mas parou na 107, porque os pares de treino acabaram. A razão é que os autores originais fizeram assim. No treinamento para verificação de parentesco, por exemplo, parece que cada par é visto apenas uma vez pelo modelo. Talvez para nosso classo possamos mudar? Minhas mudanças foram pontuais nos códigos originais
Mantive todo o resto, como SGD com lr=1e-4 e momento = 0.9. |
Havia inserido uma camada dentro da sequência de classificação self.classification = nn.Sequential(
torch.nn.BatchNorm1d(256),
torch.nn.ReLU(),
# add linear, bn1d, relu
torch.nn.Linear(256, 128),
torch.nn.BatchNorm1d(128),
torch.nn.ReLU(),
torch.nn.Linear(128, 11), # number of kin relations
) todavia os resultados não melhoraram O treinamento foi na RIG2, com bs=60, epochs=20, onde cada época vê o dataset. Enquanto escrevo isso, lembro que os dados de treino não são aleatórios. Vou modificar e retreinar. |
Also simplified classification layer. Ref.: #33
Após a call de sexta, foi identificado os alguns problemas
Após resolver (2e89a1e) esse segundo item, os resultados foram "piores" -- faz sentido, dado que a tarefa ficou mais difícil. Vale ressaltar que o dataset é bem desbalanceado, onde, por exemplo, há 10k amostras para o tipo de parentesco |
Enable class filtering. Also, add histogram for kinship relations (non-kin included). Ref.: #33
Em 12 épocas, a acurácia estagnou em <0.447. Usei apenas as classes: fs, ms, md, fd. Nem |
Esse resultado está enviesado porque faltou modificar a saída do modelo. |
Pensei que havia pares |
A razão para tal está na seção III do artigo
research/rfiw2021/Track1/losses.py Lines 6 to 15 in 92f57e2
Durante o treinamento, Posteriormente obtém-se a similaridade entre os tensores A ideia geral, ao meu ver, é que a divisão convirja para de 1 a partir da esquerda tal que o negativo do log se aproxime de 0 pela direita. As similaridades para Agora a questão é: como inserir informações sobre a diferença de idade (e gênero, possivelmente) nessa perda? |
Na verdade, o numerador deve também ser maximizado.
Isso reflete a equação 1 do artigo. Considerando isso, o numerador deve crescer o máximo possível. Abaixo um gráfico exemplificando o processo Esse outro gráfico mostra o que conseguimos ao variar |
Será realizada em futuras estratégias ainda, possivelmente. |
No description provided.
The text was updated successfully, but these errors were encountered: