Digamos que tengo una imagen de arriba hacia abajo de una flecha, y quiero predecir el ángulo que forma esta flecha. Esto sería entre y grados, o entre y . El problema es que este objetivo es circular, y grados son exactamente lo mismo, lo que es una invariancia que me gustaría incorporar en mi objetivo, lo que debería ayudar a la generalización de manera significativa (esta es mi suposición). El problema es que no veo una forma limpia de resolver esto, ¿hay algún documento que intente abordar este problema (o similares)? Tengo algunas ideas con sus posibles desventajas:0 360
Use una activación sigmoide o tanh, escale al rango ( e incorpore la propiedad circular en la función de pérdida. Creo que esto fallará bastante, porque si está en la frontera (peor predicción), solo un poco de ruido empujará a los pesos a ir de una manera u otra. Además, los valores más cercanos al borde de y serán más difíciles de alcanzar porque el valor absoluto de preactivación deberá estar cerca del infinito.0 2 π
Regrese a dos valores, un valor e , y calcule la pérdida en función del ángulo que forman estos dos valores. Creo que este tiene más potencial, pero la norma de este vector es ilimitada, lo que podría conducir a una inestabilidad numérica y podría llevar a explosiones o ir a 0 durante el entrenamiento. Potencialmente, esto podría resolverse utilizando algún regularizador extraño para evitar que esta norma se aleje demasiado de 1.y
Otras opciones serían hacer algo con las funciones seno y coseno, pero creo que el hecho de que las preactivaciones múltiples se asignen a la misma salida también dificultará la optimización y las generalizaciones.