Upload
cs-center
View
280
Download
6
Embed Size (px)
Citation preview
Обучение метрикипо Tutorial on Metric Learning by Brian Kulis
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2016
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 34
Метрики в контексте IBL
В прошлый раз использовали несколько buzzword,сегодня поговорим об одном из них — дистанциимежду точками
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 34
Пример с Михалычем
Василий Петрович, хочет сталкиваться с ПетромМихалычем чаще, причем желательно вдали от другихрабочих завода.Классы разные людиТочки появление в пространстве/времени человека
c
Действия поговорить в громкоговоритель (одинаковоповлиять на всех людей)
Надо помочь Петровичу правильно говорить вгромкоговоритель.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 34
Как может выглядеть задача
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 34
Как может выглядеть задача
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 34
Как может выглядеть решение
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 34
Как может выглядеть задача
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 34
Как может выглядеть решение
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 34
Mahalanobis distance (постановка)
Классы нетуТочки какие-то точки, которых навалило
Направления одинаково значимые направления,померянные разной линейкой
Действия линейные преобразования пространства
⇒ хотим посчитать дистанцию, без учета линейки
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 34
Mahalanobis distance (решение)
X = xi |xi ∈ Rnµ(a, b) = ‖a − b‖22
⇒Σ =
∑i ,j (xi − x) (xj − x)T
µ(a, b) = (a − b) Σ−1 (a − b)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 34
Mahalanobis distance (решение)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 34
Постановка задачи обучения метрики
Дано:1 Набор точек: X = xi |xi ∈ Rn2 Исходная метрика µ0(a, b) (например ‖a − b‖q,
etc.)3 Условия группировки точек (классы/отношение
расстояний/etc.): T (X , µ), µ ∈MНайти:
µ = arg maxµ∈M
T (X , µ)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 12 из 34
Постановка обучения Mahalanobis
Будем искать решения в классе:
M = µA(a, b)|µA(a, b) = (a − b)TA(a − b),A ∈ PSD(Rn×n)
Почему PSD?
Если будет отрицательное собственное число,получится отрицательное значение метрики длясобственного вектора
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 34
Постановка обучения Mahalanobis
Будем искать решения в классе:
M = µA(a, b)|µA(a, b) = (a − b)TA(a − b),A ∈ PSD(Rn×n)
Почему PSD?
Если будет отрицательное собственное число,получится отрицательное значение метрики длясобственного вектора
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 34
Немного о метриках
Метрика это такое преобразование µ : X 2 → R:
1 µ(a, b) ≥ 0
2 µ(a, b) = 0⇔ a = b
3 µ(a, b) = µ(b, a)
4 µ(a, c) ≤ µ(a, b) + µ(b, c)
µA — не метрика. Метрикой является µ∗ =√µA в случае, когда
A 0. Такое добро зовется “псевдометрика”.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 34
Вспоминая исходный пример
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 34
Как может выглядеть решение
A =
(1 00 ε
)И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 34
Свойства Mahalanobis метрик
Надо хранить матрицу A, которая большая и вобщем случае denseРаботает только в случае линейной разделимости“разных” примеров
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 34
Варианты целевой функции
Желания по тому какими свойствами должна обладать метрикаможно выражать по-разному:Условия группировки
Есть два множества S,D ⊂ X 2 точек, которые должны бытьпоближе/подальше
(a, b) ∈ S ⇔ µA(a, b) ≤ l , (a, b) ∈ D ⇔ µA(a, b) ≥ u
Условия относительной близости
Зададим такое множество троек K ⊂ X 3, в котором первая точкадолжна быть поближе ко второй чем к третьей
(a, b, c) ∈ K ⇔ µA(a, b) ≤ µA(a, c)−m
Оба эти случая мы можем аггрегировать простымсуммированием введя расслабляющие коэффициенты
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 34
Варианты регуляризации
Нас могут устраивать больше одни варианты A нежелидругие, мы можем выразить это регуляризацией:
Отклонение по Фробениусу от какой-то хорошейматрицы (например от прошлого оптимума):
‖A− A0‖2F
LogDet divergence от хорошей матрицы:Dld(A,A0) = tr(AA−1
0 )− log det(AA−10 )− d
Простая фробениус норма ‖A‖F — аналог l2tr(AC0) — аналог l1
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 34
Немного про LogDetDivИспользуется в основном в картинках. Пусть X = VΛV T , а Y = UΘUT ,тогда:
Dld(X ,Y ) = tr(XY−1)− log det(XY−1)− d
= tr(Y− 12XY− 1
2 )− log det(Y− 12XY− 1
2 )− d
= tr(Y− 12XY− 1
2 − logY− 12XY− 1
2 − E )
=∑
i
∑j(v
Ti , uj)
2(
λi
θj− log(λi
θj)− 1
)Обладает такими свойствами:
Инвариантна к линейному обратимому преобразованию
0 только при равенстве, иначе позитивна
Pythagorean условие на выпуклых множествах Ω (упрощенныйтреугольник)
Несимметрична
Можно расширить на полуопределенные матрицы
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 20 из 34
MMC
maxA∑
(a,b)∈D√µA(a, b)
c(A) =∑
(a,b)∈S µA(a, b) ≤ 1A 0
D это множество различающихся, а S -множество одинаковыхПытаемся максимизировать сумму расстоянийдля различающихсяХотим маленькую сумму расстояний одинаковых
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 34
MMC: алгоритм
Градиентный спуск сопровождается поискомподходящей A
Ограничение c(A) линейно по A, а значитразрешается дёшево
Несмотря на относительную простоту, алгоритммедленныйНе масштабируется
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 22 из 34
Schultz and Joachims
minA‖A‖2FµA(xi , xk)− µA(xi , xj) ≥ 1 ∀(xi , xj , xk) ∈ KA 0
В такой формулировке может не иметь решения, тогда
minA,ξ‖A‖2F + γ∑
(i ,j ,k)∈R ξijkµA(xi , xk)− µA(xi , xj) ≥ 1− ξijk ∀(xi , xj , xk) ∈ Kξijk ≥ 0 ∀(i , j , k) ∈ RA 0
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 23 из 34
Schultz and Joachims: Алгоритм
Главное упрощение:A = MTDM , где фиксировано и известно, а D -диагональная
µA(xi , xj) = (xi − xj)TA(x−xj)
= (xi − xj)TMTDM(x−xj)
= (Mxi −Mxj)TD(Mx−Mxj)
Итоговая оптимизационная проблема очень похожана SVM
С помощью M метод можно кернелизироватьАлгоритм быстрый, но менее общий, чемMahalanobis
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 24 из 34
Neighbourhood Components Analysis
maxA0
∑(i ,j)∈S
e−µA(xi ,xj)∑k 6=i e
−µA(xi ,xk)
Минимизируем LOO kNN классификатор:
если честный LOO, то получим прерывную функцию;
вместо значения 0/1 из ближайшего соседа, переписываемв soft max моделируя вероятность так:
pij =e−µA(xi ,xj )∑k 6=i e
−µA(xi ,xk )
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 25 из 34
Neighbourhood Components AnalysisАлгоритм и свойства
Оптимизация:Проблема невыпуклаПереписываем A = GTG , чтобы не думать проA 0Градиентный спуск по компонентам G
Свойства:Легко контролировать ранк A, контролируя ранк G
Простая безусловная оптимизацияБез гарантий глобальной сходимости
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 26 из 34
Онлайн постановка, POLAЧасто данные приходят последовательно. Попробуемстроить µA последовательно:
На каждом шагу наблюдаем тройку: (at , bt , yt),если yt = 1, то хотим точки поближе, еслиyt = −1 — сделаем подальше.Будем оптимизировать такой loss
(hinge loss)
l(A, y) = max(0, yt(µA(at , bt)− b) + 1)
Оптимизировать будем (как и в любой onlineпостановке):
RT =T∑t=1
lt(A∗, b∗)−
T∑t=1
lt(At , bt)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 27 из 34
Онлайн постановка, POLAЧасто данные приходят последовательно. Попробуемстроить µA последовательно:
На каждом шагу наблюдаем тройку: (at , bt , yt),если yt = 1, то хотим точки поближе, еслиyt = −1 — сделаем подальше.Будем оптимизировать такой loss (hinge loss)
l(A, y) = max(0, yt(µA(at , bt)− b) + 1)
Оптимизировать будем (как и в любой onlineпостановке):
RT =T∑t=1
lt(A∗, b∗)−
T∑t=1
lt(At , bt)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 27 из 34
POLA: алгоритм
1 Введем 2 выпуклых множества:
Ct = (A, b)|lt(A, b) = 0CA = (A, b)|A 0b > 0
2 Научимся проецировать на эти множетсва (естьидеи как?)
3 На каждом шагу будем сначала проэцировать нановый Ct , а потом на CA
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 28 из 34
ITML как пример LogDet
Так долго говорили про LogDet, надо бы где-нибудьпоиспользовать :).
minK∈PSD(Rm×m) T (K ,K0)(a − b)TA(a − b) ≤ u,∀(a, b) ∈ S(a − b)TA(a − b) ≥ l ,∀(a, b) ∈ D
Там много математики, но смысл в том, что можносвести к такому построению матрицы:
At+1 = At + βtAt(xi − xj)(xi − xj)TAt
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 29 из 34
Не-Махаланобисовы методы: LDFLocal distance functions
Хотим сделать громкоговоритель локальнее: в столовой — один,в цеху — другой. Для этого пожертвуем сложностью модели,забыв о зависимости по осям:
µ(a, b) =∑m
wa(m)d(am, bm)
Заметим, что несмотря на несимметричность модели, мы все жеможем построить kNN.⇒ можно поставить задачу совместной оптимизации w .Например так:
minw∑
i ‖wi‖qµ(a, b)− µ(a, c) ≥ 1,∀(a, b, c) ∈ Kwi ≥ 0, ∀i
Сравните постановку с Schultz and JoachimsИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 30 из 34
Проблема линейной неразделимостиГде-то мы это уже видели, сделаем ядро!
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 31 из 34
Кернелизация ITMLВспомним шаг алгоритма:
At+1 = At + βtAt(xi − xj)(xi − xj)TAt
Домножим слева/справа на матрицу X и раскроемскобки в терминах новых скалярных произведений(xTAy):
XTAt+1X = XTAtX +βtXTAtX (ei−ej)(ei−ej)TXTAtX
Тогда в терминах ядер (k tij = xTi Atxj):
K t+1 = K tβtKt(ei − ej)(ei − ej)
TK t
Также можно делать и с другими алгоритмами,которые мы сегодня рассмотрели
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 32 из 34
Постановка kernel learning для metriclearningДавайте ограничемся только квадратом евклидовой метрики(уже в kernel space):
‖a − b‖22 = xTi xi + xTj xj − 2xTi xj
Что можно переписать в терминах ядер:
kii + kjj − 2kij
Будем считать, что условия у нас заданы в терминахгруппировки. Тогда оптимизацию можно переписать:
minK∈PSD(Rm×m) T (K ,K0)kii + kjj − 2kij ≤ u, ∀(i , j) ∈ Skii + kjj − 2kij ≥ l ,∀(i , j) ∈ D
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 33 из 34
Что мы сегодня узнали
Расстояние можно менятьУдобно работать с неметриками, убрав правилотреугольникаТочно как поставить задачу обучения метрикиЕсть несколько способов обучить линейноепреобразование, в том числе onlineСообщество любителей ядер постаралось и наэтой ниве, что позволяет решать линейнонеразделимые задачи
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 34 из 34