Допустим, у меня есть стрелка сверху вниз, и я хочу предсказать угол, под которым эта стрелка. Это будет от до градусов или от до . Проблема в том, что эта цель круговая, и градусов - это одно и то же, что является инвариантностью, которую я хотел бы включить в свою цель, что должно значительно помочь в обобщении (это мое предположение). Проблема в том, что я не вижу четкого способа решения этой проблемы, есть ли какие-либо документы, которые пытаются решить эту проблему (или подобные)? У меня есть некоторые идеи с их потенциальными недостатками:
Используйте сигмовидную или коричневую активацию, масштабируйте ее до ( диапазона и включите свойство округления в функцию потерь. Я думаю, что это будет довольно сложно, потому что, если он находится на границе (худший прогноз), лишь небольшой шум подтолкнет весы к тому или иному пути. Кроме того, значения ближе к границе и будет труднее достичь, поскольку абсолютное значение предварительной активации должно быть близко к бесконечности.
Вернитесь к двум значениям, значениям и и рассчитайте потери на основе угла, который составляют эти два значения. Я думаю, что у этого есть больший потенциал, но норма этого вектора не ограничена, что может привести к нестабильности чисел и может привести к взлетам или к нулю во время тренировки. Это может быть потенциально решено с помощью некоторого странного регуляризатора, чтобы предотвратить слишком большое отклонение этой нормы от 1.
Другими вариантами было бы что-то делать с функциями синуса и косинуса, но я чувствую, что тот факт, что несколько предварительных активаций отображаются на один и тот же вывод, также усложнит оптимизацию и обобщения.