Выбор маржи для контрастных потерь в сиамской сети - PullRequest
0 голосов
/ 26 февраля 2019

Я строю сиамскую сеть для задачи обучения метрике, используя функцию контрастных потерь, и я не уверен, как установить гиперпараметр «маржи» для потерь.

Мои входные данные для функции потерь в настоящее время представляют собой плотные вложения размером 1024 из слоя RNN. Влияет ли размерность этого входа на то, как я выбираю запас?Должен ли я использовать плотный слой, чтобы сначала спроецировать его в пространство меньшего размера?Любые указатели о том, как выбрать конкретную величину маржи (или любое соответствующее исследование), будут очень благодарны!В случае, если это имеет значение, я использую PyTorch.

1 Ответ

0 голосов
/ 08 апреля 2019

Вам не нужно проецировать это в пространство более низкого измерения.Зависимость поля от размерности пространства зависит от того, как сформулирована потеря: если вы не нормализуете значения вложения и не вычислите глобальную разницу между векторами, правое поле будет зависеть от размерности.Но если вы вычислите нормированную разность, такую ​​как косинусное расстояние, значения полей не будут зависеть от размерности пространства внедрения.Здесь объясняются ранговые (или контрастные) потери, это может быть полезно [https://gombru.github.io/2019/04/03/ranking_loss/][1]

...