Digamos que tenho uma imagem de cima para baixo de uma seta e quero prever o ângulo que essa seta faz. Isso seria entre e 360 graus, ou entre 0 e 2 π . O problema é que esse alvo é circular, 0 e 360 graus são exatamente os mesmos, o que é uma invariância que eu gostaria de incorporar ao meu alvo, o que deve ajudar a generalizar significativamente (essa é minha suposição). O problema é que não vejo uma maneira clara de resolver isso. Existem documentos que tentam resolver esse problema (ou similares)? Eu tenho algumas idéias com suas possíveis desvantagens:
Use uma ativação sigmóide ou tanh, dimensione-a para a faixa ( e incorpore a propriedade circular na função de perda. Eu acho que isso falhará bastante, porque se estiver na fronteira (pior previsão), apenas um pouquinho de ruído empurrará os pesos para seguir um caminho ou outro. Além disso, os valores mais próximos da borda de 0 e 2 π serão mais difíceis de alcançar porque o valor absoluto de pré-ativação precisará estar próximo do infinito.
Regredir para dois valores, um e y de valores e calcular a perda com base no ângulo estes dois valores fazem. Eu acho que esse tem mais potencial, mas a norma desse vetor é ilimitada, o que pode levar à instabilidade numérica e a explosões ou a 0 durante o treinamento. Isso pode ser resolvido usando um regularizador estranho para impedir que essa norma fique muito longe de 1.
Outras opções estariam fazendo algo com funções seno e cosseno, mas sinto que o fato de várias pré-ativações serem mapeadas para a mesma saída também tornará a otimização e generalizações muito difíceis.