Структурное обучение и S-SVM

          Петр Ромов



        14 декабря 2011
Суть
  “Normal” Machine Learning
                      f :X →R
       вход X — объекты произвольной природы
       выход y — вещественное число

  Structured Output Learning
                      f :X →Y
       вход X — объекты произвольной природы
       выход y ∈ Y — сложный (имеющий внутреннюю
       структуру) объект
Outline



   Структурное предсказание
      Постановка задачи
      Conditional Random Fields
      Структурное обучение


   Струкрурный метод опорных векторов (S-SVM)
      Метод максимизации зазора
      Метод минимизации структурного риска
      Способы обучения S-SVM
Структурное предсказание


                           f :X →Y
                     f (x) := arg max g(x, y)
                                 y∈Y

     g(x, y) — функция совместности (compatibility function)
Структурное предсказание


                              f :X →Y
                       f (x) := arg max g(x, y)
                                      y∈Y



      Линейное решающее правило
      Y = {−1, +1}, g(x, y) = y · w ϕ(x)
      Много классов (one-vs-all)
                                        K
      Y = {1, . . . , K}, g(x, y) =     i=1 [y   = i] · wi ϕ(x)
      Много меток
      Y = Y1 × · · · × Yn ,   Yi = {1, . . . , K}
Структурные выходы


  В качестве “сложных” объектов будем рассматривать:

                       Y = Y1 × · · · × Yn ,
                    y ∈ Y,   y = (y1 , . . . , yn ).


      yi имеет конечное множество значений Yi ;
      существуют зависимости между переменными yi ;
      во многих задачах зрения Yi = L,
      yi называют метками;
1        5   j
    Y = ASCII translation , y = (y
   Пример структурного выхода 1 , . . . , y5 ), yj œ {A, . . . , Z }.
    feature functions has only unary terms
               1                              2
    Ï(x, y) = Ï1 (x, y1 ), . . . , Ï5 (x, y5 ) .
    F (x, y) = Èw1 , Ï1 (x, y1 )Í + · · · + Èw, Ï5 (x, y5 )Í


                                                      


                                                           


 dvantage: computing y ú = argmaxy F (x, y) is easy.
We can find each yiú independently, check 5 · 26 = 130 values.

 roblem: only local information, we can’t correct errors.
Y = ASCII translation , y = (y1 , . . . , y5 ), yj œ {A, . . . , Z }.
  Пример структурногоunary and pairwise terms
   feature function with выхода
                          1
              Ï(x, y) = Ï1 (y1 , x), Ï2 (y2 , x), . . . , Ï5 (y5 , x),
                                                                         2
                              Ï1,2 (y1 , y2 ), . . . , Ï4,5 (y4 , y5 )


                                                           


                                                                 


Compromise: computing y ú is still e cient (Viterbi best path)
Compromise: neighbor information allows correction of local errors.
Описание структуры: CRF

  Conditional Random Field
                  1                                    1
      p(y|x) =                 ψf (yN (f ) ; x) =          exp {−E(y|x)}
                 Z(x)                                 Z(x)
                        f ∈F


                        E(y|x) =              Ef (yN (f ) |x)
                                       f ∈F
                          x1             x2            x3




                   fa             fb             fc             fd
Пример CRF для описания структуры
Параметры  функций  d1, d2, λ настраиваются  «вручную»/grid search

               5-6  параметров,  две-три  стереопары

          слова




       части  речи/роль  в  предложении
              Миллион  параметров,  Сотни  тысяч  фраз
Пример CRF для описания структуры


  Example: object localization
                                                                         



     (x, y)=(
           ˆ                     ,                           )
                                                                                     

                                                                       




  Only one factor that includes y) = and ϕ(x, y)
                           E(x, all x w y:

          ϕ(x, y) — (x, y) , (x Õ , y Õ ) визуальных yслов Õв окне y.
                  k( гистограмма ) = kimage (x| , x Õ |y )

  with kimage image kernel and x|y is image region within box y.

  MAP prediction is just object localization with kimage -SVM.
                                     ÿ
                  f (x) = argmax         –iy Õ kimage (x i |y Õ , x|y )
Пример CRF для описания структуры

  Computer Vision Example: Human Pose Estimation




        input: image              body model         output: model fit

     input space X = {images}
         E(x, y) =    wi ϕf it (xi , yi ) +    wij ϕpose (yi , yj )
     output space Y i {positions/angles of K body parts} = R4K .
                    =                       ij                     ˆ
     prediction function: f : X æ Y
                            f (x) := argmin E(x, y)
                                       yœY
                        q                        q
     energy E(x, y) =       w Ïfit (xi , yi ) +
                              €
                                                     w € Ïpose (yi , yj )
Вывод в CRF
  Пусть ∆(y, y ) — функция потерь.
             ˆ

                       y (x) = arg min Ey∼p(y|x) ∆(y, y )
                       ˆ                              ˆ
                                    y
                                    ˆ


      Maximum aposteriori (MAP)

       ∆(y, y ) = [y = y ]
            ˆ          ˆ                           g(x, y) = p(y|x)
     y (x) = arg max p(y|x)
     ˆ
                      y
                      ˆ

      Max-marginals

     ∆(y, y ) =
          ˆ            [yi = yi ]
                             ˆ
                                                g(x, y) =       p(yi |x)
                  i
                                                            i
    yi (x) = arg max p(yi |x)
    ˆ
                      yi
                      ˆ
Вывод в CRF
  Пусть ∆(y, y ) — функция потерь.
             ˆ

                       y (x) = arg min Ey∼p(y|x) ∆(y, y )
                       ˆ                              ˆ
                                    y
                                    ˆ


      Maximum aposteriori (MAP)

       ∆(y, y ) = [y = y ]
            ˆ          ˆ                           g(x, y) = p(y|x)
     y (x) = arg max p(y|x)
     ˆ
                      y
                      ˆ

      Max-marginals

     ∆(y, y ) =
          ˆ            [yi = yi ]
                             ˆ
                                                g(x, y) =       p(yi |x)
                  i
                                                            i
    yi (x) = arg max p(yi |x)
    ˆ
                      yi
                      ˆ
Вывод в CRF
  Пусть ∆(y, y ) — функция потерь.
             ˆ

                       y (x) = arg min Ey∼p(y|x) ∆(y, y )
                       ˆ                              ˆ
                                    y
                                    ˆ


      Maximum aposteriori (MAP)

       ∆(y, y ) = [y = y ]
            ˆ          ˆ                           g(x, y) = p(y|x)
     y (x) = arg max p(y|x)
     ˆ
                      y
                      ˆ

      Max-marginals

     ∆(y, y ) =
          ˆ            [yi = yi ]
                             ˆ
                                                g(x, y) =       p(yi |x)
                  i
                                                            i
    yi (x) = arg max p(yi |x)
    ˆ
                      yi
                      ˆ
Параметризация CRF

  Энергия линейна по параметру w.

                 Ef (yf ; x, w) = w(yf ), ϕf (xf )



         E(x, y, w) = w ϕ(x, y)
                       n
                   =         wi ϕi (x, y) unary terms
                       i=1
                             n
                       +           wij ϕij (x, y) pairwise terms
                           i,j=1

                       + ...       higher-order terms
Обучение CRF


  Имеется:
                                  1
      модель p(y|x, w) =      Z(x,w) exp{−E(x, y, w)}
      набор данных    (x1 , y 1 ), . . . , (xN , y N )
  Требуется: настроить параметр w.

  Подходы
      Вероятностное обучение:
             регуляризованный максимум условного правдоподобия
             R(w) + log p(y|x, w) → maxw
      Максимизация зазора (Структурный SVM)
Линейная модель функции совместности



                     g(x, y, w) = w ψ(x, y)


      Линейное решающее правило
      Y = {−1, +1},
      g(x, y, w) = w (y · ϕ(x))
      Много меток
      Y = Y1 × · · · × Yn ,
      g(x, y, w) = −E(y|x) = w (−ϕ(x, y))
Outline



   Структурное предсказание
      Постановка задачи
      Conditional Random Fields
      Структурное обучение


   Струкрурный метод опорных векторов (S-SVM)
      Метод максимизации зазора
      Метод минимизации структурного риска
      Способы обучения S-SVM
Структурное обучение

  Задача (Loss-minimizing parameter learning)
  Реальное распределение данных d(x, y) неизвестно.
  С точностью до параметра w задана модель предиктора

                      fw (x) = arg max g(x, y, w).
                                      y

  Дано:
      D = {(x1 , y 1 ), . . . , (xn , y n )} ⊂ X × Y — однородная
      независимая выборка,
      ∆ : Y × Y → R+ — функция потерь.
  Требуется найти: w∗ , т.ч. Байесовский риск

                       E(x,y)∼d(x,y) ∆(y, fw∗ (x))

  насколько возможно мал.
Максимизация зазора



  Обучение, методом максимизации зазора1 :

               γ → max
              
              
                      w,γ
              
                 w ≤1
              
               g(xn , y n , w) − g(xn , y, w) ≥ γ
              
              
              
                     ∀n = 1, . . . , N, ∀y ∈ Y : y = y n
              

  γ — величина зазора
  g(xn , y n , w) − g(xn , y, w) — отступ между разметками




    1
        слишком много значков, пора рисовать картиночки на доске
Максимизация зазора

  Обучение, методом максимизации зазора1 :
              
               γ → max
                    w,γ
              
              
               w ≤1
              

                   g(xn , y n , w) − g(xn , y, w) ≥ γ
                  
                  
                  
                  
                       ∀n = 1, . . . , N, ∀y ∈ Y : y = y n
                  

  γ — величина зазора
   g(xn , y n , w) − g(xn , y, w) — отступ между разметками
  Физический смысл максимизации γ: помешать тому, чтобы
  значения функции совместности g были одинаково большими для
  правильного (y n ) и неправильного (y = y n ) ответов.



    1
        слишком много значков, пора рисовать картиночки на доске
Максимизация зазора
  Обучение, методом максимизации зазора1 :

               γ → max
              
              
                      w,γ
              
                 w ≤1
              
               g(xn , y n , w) − g(xn , y, w) ≥ γ
              
              
              
                     ∀n = 1, . . . , N, ∀y ∈ Y : y = y n
              



  Линейный SVM:

                          g(x, y, w) = y · w x
                     
                     γ → maxw,γ
                     
                       w =1
                      y · w xn ≥ γ , n = 1, . . . , N
                     
                      n
                                    2

    1
        слишком много значков, пора рисовать картиночки на доске
Максимизация зазора: функция потерь


  Обобщим понятие зазора на случай произвольной функции
  потерь. Пусть задана ∆ : Y × Y → R+ , ∆(y, y) = 0:

             γ → max
            
            
                    w,γ
            
               w ≤1
            
             g(xn , y n , w) − g(xn , y, w) ≥ γ∆(y n , y)
            
            
            
                   ∀n = 1, . . . , N, ∀y ∈ Y
            

  Чем больше потери от неправильной классификации — тем
  больший отступ требуем.
Максимизация зазора: QP



  В случае линейной модели g(x, y, w) = w ψ(x, y), метод
  можно сформулировать в виде задачи квадратичного
  программирования:
             
              w 2 → min
             
                       w
                     n n             n          n
              w (ψ(x , y ) − ψ(x , y)) ≥ ∆(y, y )
             
                  ∀n = 1, . . . , N, ∀y ∈ Y
             
Максимизация зазора: переменные невязки


  Не все выборки (в данном случае объектов из X × Y) линейно
  разделимы, введем переменные невязки (slack variables):
                                N
            
            
             w    2        1
                      +C ·           ξn → min
                            N
            
                                         w,ξ≥0
                                n=1
             w (ψ(xn , y n ) − ψ(xn , y)) ≥ ∆(y, y n ) − ξ
            
                                                           n
            
                 ∀n = 1, . . . , N, ∀y ∈ Y
            


  Физический смысл ξn : за определенную плату, разрешаем функции
  совместности g(x, y, w) отличать разные разметки “не так сильно”,
  как того требует зазор.
Обобщение hinge-loss




    lhinge (xn , y n , w) = max ∆(y n , y) + w (ψ(xn , y) − ψ(xn , y n ))
                          y


      выпуклая по w
      кусочно линейная по w
      является верхней гранью для функции потерь:
      ∆(y n , fw (xn )) ≤ lhinge (xn , y n , w) ∀w
Минимизация структурного риска



                              N
                         1
            R(fw ) + C ·           ∆(y n , fw (xn )) → min
                         N                             w
                             n=1

                             ≈Ed(x,y) ∆(y,f (x))


      Байесовский риск приближается ошибкой на обучении
      (эмпирический риск);
      регуляризатор R(f ) — емкость модели.
Структурный метод опорных векторов



  Кусочно-постоянная (по w) функция потерь ∆(y n , fw (xn ))
  заменяется выпуклой верхней гранью:

                                  N
             1     2          1
               w       +C ·             lhinge (xn , y n , w) → min
             2                N                                w
                                  n=1
        lhinge = max {∆(y n , y) + g(xn , y, w) − g(xn , y n , w)}
                   y
Двойственная формулировка


                                  1                                   ¯ nn
               αny ∆(y n , y) −                              αny αn y Kyy → max
                                  2                                        α≥0
     y∈Y                                y∈Y       y ∈Y
   n=1,...,N                          n=1,...,N n =1,...,N
                                             C
                     s.t.:          αny ≤      ,    n = 1, . . . , N
                                             N
                              y∈Y



                  ¯ nn   nn       nn      nn     nn
                  Kyy = Kyn yn − Kyn y − Kyyn + Kyy
                             Kyy = ψ(xn , y) ψ(xn , y )
                              nn
Двойственная формулировка


                                   1                                   ¯ nn
               αny ∆(y n , y) −                               αny αn y Kyy → max
                                   2                                        α≥0
     y∈Y                                 y∈Y       y ∈Y
   n=1,...,N                           n=1,...,N n =1,...,N
                                              C
                     s.t.:           αny ≤      ,    n = 1, . . . , N
                                              N
                               y∈Y



                  ¯ nn   nn       nn      nn     nn
                  Kyy = Kyn yn − Kyn y − Kyyn + Kyy
                             Kyy = k( (xn , y), (xn , y ) )
                              nn

                                              kernel trick
Двойственная формулировка


                                   1                                   ¯ nn
               αny ∆(y n , y) −                               αny αn y Kyy → max
                                   2                                        α≥0
     y∈Y                                 y∈Y       y ∈Y
   n=1,...,N                           n=1,...,N n =1,...,N
                                              C
                     s.t.:           αny ≤      ,    n = 1, . . . , N
                                              N
                               y∈Y



                  ¯ nn   nn       nn      nn     nn
                  Kyy = Kyn yn − Kyn y − Kyyn + Kyy
                             Kyy = k( (xn , y), (xn , y ) )
                              nn


                   g(x, y) =                 αny k( (xn , y ), (x, y) )
                                  y ∈Y
                                 n=1,...,N
Отложенная генерация ограничений (Cutting-Plane)


                                        N
                   1     2          1
                     w       +C ·             ξ n → min
                   2                N               x,ξ
                                        n=1
            w (ψ(xn , y n ) − ψ(xn , y)) ≥ ∆(y n , y) − ξ n
                       ∀y ∈ Y, n = 1, . . . , N

      Проблема: экспоненциально много ограничений
      (|Y| = |Yi |M )
      Предположение: много неактивных ограничений
      Идея: оптимизировать, используя не все ограничения,
      итеративно добавляя наиболее нарушаемые
Алгоритм Cutting-Plane
   Пусть S — полный набор ограничений.
       Suse ← ∅
       Повторять до сходимости
         1. Решаем QP, используя ограничения Suse . Получаем w∗ .
         2. Находим конфигурацию (значение y), соответствующую
            “максимально нарушенному ограничению”:
            y ∗ = arg maxy {∆(y n , y) + w ψ(xn , y)}
         3. Если не выполняется (с учетом точности)
            w∗ (ψ(xn , y n ) − ψ(xn , y ∗ )) ≥ ∆(y n , y) − ξ n
            то добавляем это ограничение в Suse
       Обученный параметр: последнее w∗ .

   Theorem (Tsochantaridis et al, 05)
   Алгоритм сходится за O( ε1 ) итераций, при этом значение
                            2
   функционала будет не более чем на ε больше оптимального
   значения.
Алгоритм Cutting-Plane

   Алгоритм секущих плоскостей использует т.н. отделяющий
   оракул, решающий задачу:

                      ∆(y n , y) + w ψ(xn , y) → max
                                                            y



   Обучение CRF:
       Оракул решает задачу вывода
       Ограничение на функцию потерь

       ∆(y n , y) =           yip ∆ip (y n ) +             yip yjq ∆ij,pq (y n ) + . . .
                      i   p                      ij   pq

       Вывод в CRF: NP-трудная задача, во многих случаях
       решается приближенно
Приближенный оракул



      undergenerating: Yunder ⊂ Y
      Алгоритмы вывода в графических моделях, которые находят
      разметку (Loopy-BP, покоординатный подъем, α-expansion).
      overgenerating: Y ⊂ Yover
      LP-релаксация, Yover = [0, 1]M .

  Результаты экспериментов Finley and Joachims [2008]:
  Подход overgenerating работает лучше.
Алгоритм Cutting-Plane


                                                                   10
             7                                                 x 10
         x 10                                              9
   2.5
                                                                                            lower (slacks)
                                     lower (slacks)        8                                s−svm (l)
                                     s−svm (l)
    2                                risk (delta)          7

                                                           6
   1.5
                                                           5

                                                           4
    1
                                                           3

   0.5                                                     2

                                                           1
    0
         0       5   10   15   20   25     30         35   0
                                                               0        5   10   15   20   25     30         35
Одна невязка


                            1       2
                              w         + Cξ → min
                            2                      w,ξ
        N                                                    N
    1                                                  1
              w   ψ(xn , y n ) − ψ(xn , y (n) ) ≥                  ∆(y n , y (n) ) − ξ
    N                                                  N
        n=1                                                  i=1
                          ∀ (y (1) , . . . , y (n) ) ∈ Y N


  Theorem (Joachims et al, 09)
  Алгоритм Cutting-Plane сходится за O( 1 ) итераций, при этом
                                        ε
  значение функционала будет не более чем на ε больше
  оптимального значения.

More Related Content

PDF
L2: Задача классификации и регрессии. Метрики ошибок
PDF
L6: Метод опорных векторов
PDF
L3: Линейная и логистическая регрессия
PDF
Лекция №6 "Линейные модели для классификации и регрессии"
PDF
Лекция №7 "Машина опорных векторов"
PDF
PDF
Многочлены наилучших среднеквадратичных приближений
PDF
Лекция №4 "Задача классификации"
L2: Задача классификации и регрессии. Метрики ошибок
L6: Метод опорных векторов
L3: Линейная и логистическая регрессия
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №7 "Машина опорных векторов"
Многочлены наилучших среднеквадратичных приближений
Лекция №4 "Задача классификации"

What's hot (20)

PDF
Лекция №10 "Алгоритмические композиции. Завершение"
PDF
Pr i-8
PDF
Лекция №9 "Алгоритмические композиции. Начало"
PDF
L5: Л5 Байесовские алгоритмы
PDF
Численное решение ОДУ. Метод Эйлера
PDF
Сплайн интерполяция
PPT
Derivative lesson
PDF
Методы численного интегрирования
PDF
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
PDF
L11: Метод ансамблей
PDF
L7:Задача кластеризации. Метрики качества
PDF
Integral1
PDF
Лекция №5 "Обработка текстов, Naive Bayes"
PDF
Решение краевых задач методом конечных элементов
PDF
Pr i-7
PDF
ИТМО Machine Learning. Рекомендательные системы — часть 1
PDF
ИТМО Machine Learning 2015. Рекомендательные системы
PDF
Метод конечных разностей
PDF
Лекция №3 "Различные алгоритмы кластеризации"
PPT
Метод проекции градиента для решения стационарной системы Стокса как задачи ...
Лекция №10 "Алгоритмические композиции. Завершение"
Pr i-8
Лекция №9 "Алгоритмические композиции. Начало"
L5: Л5 Байесовские алгоритмы
Численное решение ОДУ. Метод Эйлера
Сплайн интерполяция
Derivative lesson
Методы численного интегрирования
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
L11: Метод ансамблей
L7:Задача кластеризации. Метрики качества
Integral1
Лекция №5 "Обработка текстов, Naive Bayes"
Решение краевых задач методом конечных элементов
Pr i-7
ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning 2015. Рекомендательные системы
Метод конечных разностей
Лекция №3 "Различные алгоритмы кластеризации"
Метод проекции градиента для решения стационарной системы Стокса как задачи ...
Ad

Similar to Структурное обучение и S-SVM (18)

PDF
Структурный SVM и отчет по курсовой
PDF
CV2011 Lecture 6. Fitting
PPTX
0. основы r
PDF
К.В. Воронцов "Линейные методы классификации"
PDF
Machine Learning. Курс лекций
PDF
CV2011 Lecture 7. Recognition
PPTX
функция
PDF
CV2011-2. Lecture 02. Photomontage and graphical models.
ODP
Мезенцев Павел - Машинное обучение на MapReduce
PDF
20100919 computer vision_konushin_lecture03
PPT
Конкурс презентаций - Малашенко
PPTX
Математика для тестировщиков
PPTX
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
PPT
Математические модели нормального поведения сетевых приложений в ПКС сетях
PDF
Обзор алгоритмов машинного обучения
PPT
Тестирование гипотез о нелинейных связях с использованием языка программирова...
PDF
Lecture 10 cont_joint_distr
PDF
CV2011-2. Lecture 06. Structure from motion.
Структурный SVM и отчет по курсовой
CV2011 Lecture 6. Fitting
0. основы r
К.В. Воронцов "Линейные методы классификации"
Machine Learning. Курс лекций
CV2011 Lecture 7. Recognition
функция
CV2011-2. Lecture 02. Photomontage and graphical models.
Мезенцев Павел - Машинное обучение на MapReduce
20100919 computer vision_konushin_lecture03
Конкурс презентаций - Малашенко
Математика для тестировщиков
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
Математические модели нормального поведения сетевых приложений в ПКС сетях
Обзор алгоритмов машинного обучения
Тестирование гипотез о нелинейных связях с использованием языка программирова...
Lecture 10 cont_joint_distr
CV2011-2. Lecture 06. Structure from motion.
Ad

More from romovpa (11)

PDF
Машинное обучение для ваших игр и бизнеса
PPTX
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
PDF
Проекты для студентов ФКН ВШЭ
PDF
A Simple yet Efficient Method for a Credit Card Upselling Prediction
PPTX
Dota Science: Роль киберспорта в обучении анализу данных
PDF
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
PDF
Машинное обучение с элементами киберспорта
PDF
RecSys Challenge 2015: ensemble learning with categorical features
PDF
Факторизационные модели в рекомендательных системах
PDF
Fields of Experts (доклад)
PDF
Глобальная дискретная оптимизация при помощи разрезов графов
Машинное обучение для ваших игр и бизнеса
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Проекты для студентов ФКН ВШЭ
A Simple yet Efficient Method for a Credit Card Upselling Prediction
Dota Science: Роль киберспорта в обучении анализу данных
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Машинное обучение с элементами киберспорта
RecSys Challenge 2015: ensemble learning with categorical features
Факторизационные модели в рекомендательных системах
Fields of Experts (доклад)
Глобальная дискретная оптимизация при помощи разрезов графов

Структурное обучение и S-SVM

  • 1. Структурное обучение и S-SVM Петр Ромов 14 декабря 2011
  • 2. Суть “Normal” Machine Learning f :X →R вход X — объекты произвольной природы выход y — вещественное число Structured Output Learning f :X →Y вход X — объекты произвольной природы выход y ∈ Y — сложный (имеющий внутреннюю структуру) объект
  • 3. Outline Структурное предсказание Постановка задачи Conditional Random Fields Структурное обучение Струкрурный метод опорных векторов (S-SVM) Метод максимизации зазора Метод минимизации структурного риска Способы обучения S-SVM
  • 4. Структурное предсказание f :X →Y f (x) := arg max g(x, y) y∈Y g(x, y) — функция совместности (compatibility function)
  • 5. Структурное предсказание f :X →Y f (x) := arg max g(x, y) y∈Y Линейное решающее правило Y = {−1, +1}, g(x, y) = y · w ϕ(x) Много классов (one-vs-all) K Y = {1, . . . , K}, g(x, y) = i=1 [y = i] · wi ϕ(x) Много меток Y = Y1 × · · · × Yn , Yi = {1, . . . , K}
  • 6. Структурные выходы В качестве “сложных” объектов будем рассматривать: Y = Y1 × · · · × Yn , y ∈ Y, y = (y1 , . . . , yn ). yi имеет конечное множество значений Yi ; существуют зависимости между переменными yi ; во многих задачах зрения Yi = L, yi называют метками;
  • 7. 1 5 j Y = ASCII translation , y = (y Пример структурного выхода 1 , . . . , y5 ), yj œ {A, . . . , Z }. feature functions has only unary terms 1 2 Ï(x, y) = Ï1 (x, y1 ), . . . , Ï5 (x, y5 ) . F (x, y) = Èw1 , Ï1 (x, y1 )Í + · · · + Èw, Ï5 (x, y5 )Í        dvantage: computing y ú = argmaxy F (x, y) is easy. We can find each yiú independently, check 5 · 26 = 130 values. roblem: only local information, we can’t correct errors.
  • 8. Y = ASCII translation , y = (y1 , . . . , y5 ), yj œ {A, . . . , Z }. Пример структурногоunary and pairwise terms feature function with выхода 1 Ï(x, y) = Ï1 (y1 , x), Ï2 (y2 , x), . . . , Ï5 (y5 , x), 2 Ï1,2 (y1 , y2 ), . . . , Ï4,5 (y4 , y5 )        Compromise: computing y ú is still e cient (Viterbi best path) Compromise: neighbor information allows correction of local errors.
  • 9. Описание структуры: CRF Conditional Random Field 1 1 p(y|x) = ψf (yN (f ) ; x) = exp {−E(y|x)} Z(x) Z(x) f ∈F E(y|x) = Ef (yN (f ) |x) f ∈F x1 x2 x3 fa fb fc fd
  • 10. Пример CRF для описания структуры Параметры  функций  d1, d2, λ настраиваются  «вручную»/grid search 5-6  параметров,  две-три  стереопары слова части  речи/роль  в  предложении Миллион  параметров,  Сотни  тысяч  фраз
  • 11. Пример CRF для описания структуры Example: object localization   (x, y)=( ˆ , )    Only one factor that includes y) = and ϕ(x, y) E(x, all x w y: ϕ(x, y) — (x, y) , (x Õ , y Õ ) визуальных yслов Õв окне y. k( гистограмма ) = kimage (x| , x Õ |y ) with kimage image kernel and x|y is image region within box y. MAP prediction is just object localization with kimage -SVM. ÿ f (x) = argmax –iy Õ kimage (x i |y Õ , x|y )
  • 12. Пример CRF для описания структуры Computer Vision Example: Human Pose Estimation input: image body model output: model fit input space X = {images} E(x, y) = wi ϕf it (xi , yi ) + wij ϕpose (yi , yj ) output space Y i {positions/angles of K body parts} = R4K . = ij ˆ prediction function: f : X æ Y f (x) := argmin E(x, y) yœY q q energy E(x, y) = w Ïfit (xi , yi ) + € w € Ïpose (yi , yj )
  • 13. Вывод в CRF Пусть ∆(y, y ) — функция потерь. ˆ y (x) = arg min Ey∼p(y|x) ∆(y, y ) ˆ ˆ y ˆ Maximum aposteriori (MAP) ∆(y, y ) = [y = y ] ˆ ˆ g(x, y) = p(y|x) y (x) = arg max p(y|x) ˆ y ˆ Max-marginals ∆(y, y ) = ˆ [yi = yi ] ˆ g(x, y) = p(yi |x) i i yi (x) = arg max p(yi |x) ˆ yi ˆ
  • 14. Вывод в CRF Пусть ∆(y, y ) — функция потерь. ˆ y (x) = arg min Ey∼p(y|x) ∆(y, y ) ˆ ˆ y ˆ Maximum aposteriori (MAP) ∆(y, y ) = [y = y ] ˆ ˆ g(x, y) = p(y|x) y (x) = arg max p(y|x) ˆ y ˆ Max-marginals ∆(y, y ) = ˆ [yi = yi ] ˆ g(x, y) = p(yi |x) i i yi (x) = arg max p(yi |x) ˆ yi ˆ
  • 15. Вывод в CRF Пусть ∆(y, y ) — функция потерь. ˆ y (x) = arg min Ey∼p(y|x) ∆(y, y ) ˆ ˆ y ˆ Maximum aposteriori (MAP) ∆(y, y ) = [y = y ] ˆ ˆ g(x, y) = p(y|x) y (x) = arg max p(y|x) ˆ y ˆ Max-marginals ∆(y, y ) = ˆ [yi = yi ] ˆ g(x, y) = p(yi |x) i i yi (x) = arg max p(yi |x) ˆ yi ˆ
  • 16. Параметризация CRF Энергия линейна по параметру w. Ef (yf ; x, w) = w(yf ), ϕf (xf ) E(x, y, w) = w ϕ(x, y) n = wi ϕi (x, y) unary terms i=1 n + wij ϕij (x, y) pairwise terms i,j=1 + ... higher-order terms
  • 17. Обучение CRF Имеется: 1 модель p(y|x, w) = Z(x,w) exp{−E(x, y, w)} набор данных (x1 , y 1 ), . . . , (xN , y N ) Требуется: настроить параметр w. Подходы Вероятностное обучение: регуляризованный максимум условного правдоподобия R(w) + log p(y|x, w) → maxw Максимизация зазора (Структурный SVM)
  • 18. Линейная модель функции совместности g(x, y, w) = w ψ(x, y) Линейное решающее правило Y = {−1, +1}, g(x, y, w) = w (y · ϕ(x)) Много меток Y = Y1 × · · · × Yn , g(x, y, w) = −E(y|x) = w (−ϕ(x, y))
  • 19. Outline Структурное предсказание Постановка задачи Conditional Random Fields Структурное обучение Струкрурный метод опорных векторов (S-SVM) Метод максимизации зазора Метод минимизации структурного риска Способы обучения S-SVM
  • 20. Структурное обучение Задача (Loss-minimizing parameter learning) Реальное распределение данных d(x, y) неизвестно. С точностью до параметра w задана модель предиктора fw (x) = arg max g(x, y, w). y Дано: D = {(x1 , y 1 ), . . . , (xn , y n )} ⊂ X × Y — однородная независимая выборка, ∆ : Y × Y → R+ — функция потерь. Требуется найти: w∗ , т.ч. Байесовский риск E(x,y)∼d(x,y) ∆(y, fw∗ (x)) насколько возможно мал.
  • 21. Максимизация зазора Обучение, методом максимизации зазора1 :  γ → max    w,γ  w ≤1   g(xn , y n , w) − g(xn , y, w) ≥ γ    ∀n = 1, . . . , N, ∀y ∈ Y : y = y n  γ — величина зазора g(xn , y n , w) − g(xn , y, w) — отступ между разметками 1 слишком много значков, пора рисовать картиночки на доске
  • 22. Максимизация зазора Обучение, методом максимизации зазора1 :   γ → max  w,γ    w ≤1   g(xn , y n , w) − g(xn , y, w) ≥ γ     ∀n = 1, . . . , N, ∀y ∈ Y : y = y n  γ — величина зазора g(xn , y n , w) − g(xn , y, w) — отступ между разметками Физический смысл максимизации γ: помешать тому, чтобы значения функции совместности g были одинаково большими для правильного (y n ) и неправильного (y = y n ) ответов. 1 слишком много значков, пора рисовать картиночки на доске
  • 23. Максимизация зазора Обучение, методом максимизации зазора1 :  γ → max    w,γ  w ≤1   g(xn , y n , w) − g(xn , y, w) ≥ γ    ∀n = 1, . . . , N, ∀y ∈ Y : y = y n  Линейный SVM: g(x, y, w) = y · w x  γ → maxw,γ  w =1 y · w xn ≥ γ , n = 1, . . . , N   n 2 1 слишком много значков, пора рисовать картиночки на доске
  • 24. Максимизация зазора: функция потерь Обобщим понятие зазора на случай произвольной функции потерь. Пусть задана ∆ : Y × Y → R+ , ∆(y, y) = 0:  γ → max    w,γ  w ≤1   g(xn , y n , w) − g(xn , y, w) ≥ γ∆(y n , y)    ∀n = 1, . . . , N, ∀y ∈ Y  Чем больше потери от неправильной классификации — тем больший отступ требуем.
  • 25. Максимизация зазора: QP В случае линейной модели g(x, y, w) = w ψ(x, y), метод можно сформулировать в виде задачи квадратичного программирования:   w 2 → min   w n n n n  w (ψ(x , y ) − ψ(x , y)) ≥ ∆(y, y )  ∀n = 1, . . . , N, ∀y ∈ Y 
  • 26. Максимизация зазора: переменные невязки Не все выборки (в данном случае объектов из X × Y) линейно разделимы, введем переменные невязки (slack variables): N    w 2 1  +C · ξn → min N   w,ξ≥0 n=1  w (ψ(xn , y n ) − ψ(xn , y)) ≥ ∆(y, y n ) − ξ   n  ∀n = 1, . . . , N, ∀y ∈ Y  Физический смысл ξn : за определенную плату, разрешаем функции совместности g(x, y, w) отличать разные разметки “не так сильно”, как того требует зазор.
  • 27. Обобщение hinge-loss lhinge (xn , y n , w) = max ∆(y n , y) + w (ψ(xn , y) − ψ(xn , y n )) y выпуклая по w кусочно линейная по w является верхней гранью для функции потерь: ∆(y n , fw (xn )) ≤ lhinge (xn , y n , w) ∀w
  • 28. Минимизация структурного риска N 1 R(fw ) + C · ∆(y n , fw (xn )) → min N w n=1 ≈Ed(x,y) ∆(y,f (x)) Байесовский риск приближается ошибкой на обучении (эмпирический риск); регуляризатор R(f ) — емкость модели.
  • 29. Структурный метод опорных векторов Кусочно-постоянная (по w) функция потерь ∆(y n , fw (xn )) заменяется выпуклой верхней гранью: N 1 2 1 w +C · lhinge (xn , y n , w) → min 2 N w n=1 lhinge = max {∆(y n , y) + g(xn , y, w) − g(xn , y n , w)} y
  • 30. Двойственная формулировка 1 ¯ nn αny ∆(y n , y) − αny αn y Kyy → max 2 α≥0 y∈Y y∈Y y ∈Y n=1,...,N n=1,...,N n =1,...,N C s.t.: αny ≤ , n = 1, . . . , N N y∈Y ¯ nn nn nn nn nn Kyy = Kyn yn − Kyn y − Kyyn + Kyy Kyy = ψ(xn , y) ψ(xn , y ) nn
  • 31. Двойственная формулировка 1 ¯ nn αny ∆(y n , y) − αny αn y Kyy → max 2 α≥0 y∈Y y∈Y y ∈Y n=1,...,N n=1,...,N n =1,...,N C s.t.: αny ≤ , n = 1, . . . , N N y∈Y ¯ nn nn nn nn nn Kyy = Kyn yn − Kyn y − Kyyn + Kyy Kyy = k( (xn , y), (xn , y ) ) nn kernel trick
  • 32. Двойственная формулировка 1 ¯ nn αny ∆(y n , y) − αny αn y Kyy → max 2 α≥0 y∈Y y∈Y y ∈Y n=1,...,N n=1,...,N n =1,...,N C s.t.: αny ≤ , n = 1, . . . , N N y∈Y ¯ nn nn nn nn nn Kyy = Kyn yn − Kyn y − Kyyn + Kyy Kyy = k( (xn , y), (xn , y ) ) nn g(x, y) = αny k( (xn , y ), (x, y) ) y ∈Y n=1,...,N
  • 33. Отложенная генерация ограничений (Cutting-Plane) N 1 2 1 w +C · ξ n → min 2 N x,ξ n=1 w (ψ(xn , y n ) − ψ(xn , y)) ≥ ∆(y n , y) − ξ n ∀y ∈ Y, n = 1, . . . , N Проблема: экспоненциально много ограничений (|Y| = |Yi |M ) Предположение: много неактивных ограничений Идея: оптимизировать, используя не все ограничения, итеративно добавляя наиболее нарушаемые
  • 34. Алгоритм Cutting-Plane Пусть S — полный набор ограничений. Suse ← ∅ Повторять до сходимости 1. Решаем QP, используя ограничения Suse . Получаем w∗ . 2. Находим конфигурацию (значение y), соответствующую “максимально нарушенному ограничению”: y ∗ = arg maxy {∆(y n , y) + w ψ(xn , y)} 3. Если не выполняется (с учетом точности) w∗ (ψ(xn , y n ) − ψ(xn , y ∗ )) ≥ ∆(y n , y) − ξ n то добавляем это ограничение в Suse Обученный параметр: последнее w∗ . Theorem (Tsochantaridis et al, 05) Алгоритм сходится за O( ε1 ) итераций, при этом значение 2 функционала будет не более чем на ε больше оптимального значения.
  • 35. Алгоритм Cutting-Plane Алгоритм секущих плоскостей использует т.н. отделяющий оракул, решающий задачу: ∆(y n , y) + w ψ(xn , y) → max y Обучение CRF: Оракул решает задачу вывода Ограничение на функцию потерь ∆(y n , y) = yip ∆ip (y n ) + yip yjq ∆ij,pq (y n ) + . . . i p ij pq Вывод в CRF: NP-трудная задача, во многих случаях решается приближенно
  • 36. Приближенный оракул undergenerating: Yunder ⊂ Y Алгоритмы вывода в графических моделях, которые находят разметку (Loopy-BP, покоординатный подъем, α-expansion). overgenerating: Y ⊂ Yover LP-релаксация, Yover = [0, 1]M . Результаты экспериментов Finley and Joachims [2008]: Подход overgenerating работает лучше.
  • 37. Алгоритм Cutting-Plane 10 7 x 10 x 10 9 2.5 lower (slacks) lower (slacks) 8 s−svm (l) s−svm (l) 2 risk (delta) 7 6 1.5 5 4 1 3 0.5 2 1 0 0 5 10 15 20 25 30 35 0 0 5 10 15 20 25 30 35
  • 38. Одна невязка 1 2 w + Cξ → min 2 w,ξ N N 1 1 w ψ(xn , y n ) − ψ(xn , y (n) ) ≥ ∆(y n , y (n) ) − ξ N N n=1 i=1 ∀ (y (1) , . . . , y (n) ) ∈ Y N Theorem (Joachims et al, 09) Алгоритм Cutting-Plane сходится за O( 1 ) итераций, при этом ε значение функционала будет не более чем на ε больше оптимального значения.