Comments 17
Кажется, в неравенстве, характеризующем TPE в правой половине неравенства перепутаны xp и xn
А зачем в последнем алгоритме ограничиваться линейной функцией, почему бы не прикрутить туда нейронную сеть? не такие уж CNN и гигантские, с точки зрения количества весов
1) Авторы оригинальный статьи показали работоспособность подхода только для линейной функции.
2) Я пробовал встраивать в TPE более глубокую архитектуру в другой задаче, этот поход не работал. Даже добавление единственной нелинейности в виде гиперболического тангенса или сигмоиды ухудшает ситуацию.
3) С такими размерностями и количеством данных более глубокая архитектура, наверное, очень быстро переобучилась бы.

Идеологически подход заключается в том, что мы начинаем с обученного PCA и пытаемся его улучшить. Для более глубокой архитектуры, скорее всего, необходима подобная хорошая инициализация
Упс… не заметил, что в качестве признаков используются embedings…
1. Так как всё таки формируется batch? Мы рэндомно дергаем из базы тройки сэмплов и смотрим выполняется ли неравенство и добавляем тройку в батч?
2. Как влияет на обучение (когда у нас задача классификации на N индивидов) то что у нас разное кол-во фоток на каждого индивида? (по идее не сбалансированная выборка должна плохо влиять).
1. В мой реализации — да. В оригинальной работе введены такие понятия, как hard negative — наиболее близкий негативный пример и hard positive — наиболее далёкий позитивный пример. Показано, что лучше начинать со случайного выбора, а затем включать hard negative.
2. Не изучал. Думаю, что никак не влияет. Тот же LFW очень не сбалансированный, однако на нём учат хорошие модели.
Так получается c hard negative перед тем как сформировать batch нужно пробежать всю базу?
В идеале — да. На практике, конечно, так не делают. Используют выборку из базы некоторого фиксированного размера (порядка 2000 элементов, например), считают на ней расстояния и уже из неё формируют батч с выбором hard negative примеров.
спасибо за статью.
есть вопрос

В задаче классификации мы можем посмотреть accuracy на валидационном множестве — долю правильно классифицированных примеров. Для задачи идентификации такая метрика не применима.


поясните пожалуйста, почему?
и чем выбранные метрики отличаются от нее.
Не применима потому, что у нас нет правильно или неправильно классифицированных примеров, для каждой пары примеров мы имеем лишь вероятность наличия признака — вещественное число. Если бы мы возвращали 1 или 0, то можно было бы использовать accuracy = 1 — EER.

Концептуально метрики в идентификации отличается от accuracy тем, что классы не равнозначны и их нужно рассматривать отдельно (см. пример про разные FRR и FAR в разных задачах).
Кто нибудь код с гитхаба запускал? Там в model.py есть «интересная строка»
scores = xs @ ys.T

кто нибудь знает что такое эта собака @? а то python на это ругается, говорит SyntaxError: invalid syntax

@ — один из бинарных операторов в Python, описан в PEP465, добавлен в версии 3.5. Акутальная версия, кстати, уже 3.6.

Only those users with full accounts are able to leave comments. Log in, please.