Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Нейросетевые ядерные методы

Нейросетевые ядерные методы

Machinelearner

October 22, 2020
Tweet

More Decks by Machinelearner

Other Decks in Education

Transcript

  1. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Нейросетевые ядерные методы Максим Юрьевич Винниченко 22 октября 2020 г. Винниченко М.Ю. Ядерные методы 1/29
  2. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ядерный трюк Есть объекты X, которые плохо разделимы линейной моделью. Переведём объекты X в пространство φ(X), где они хорошо разделяются линейной моделью. Для обучения линейной модели нужно уметь считать только функцию k ”ядро” [4]: k(z, x) = ⟨φ(z), φ(x)⟩ Винниченко М.Ю. Ядерные методы 2/29
  3. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kernel Regression [4] Обучаем модель на объектах X и соответствующих ответах Y. Обозначения: K(Z, X) = φ(Z)φ(X)T, K = K(X, X) Матрицу K назовём матрицей ядра Обучение линейной модели: α = K−1Y Предсказание линейной модели на объектах Z: f(Z) = K(Z, X)α Винниченко М.Ю. Ядерные методы 3/29
  4. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Случай необратимой матрицы Обучение линейной модели: α = (K + λE)−1Y Предсказание линейной модели на объектах Z: f(Z) = K(Z, X)α Винниченко М.Ю. Ядерные методы 4/29
  5. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Откуда формулы? Линейная модель f с параметрами θ: f(x) = ⟨x, θ⟩ Ядерный трюк: θ = n ∑ i=1 xiαi f(x) = ⟨x, θ⟩ = ⟨x, n ∑ i=1 xiαi⟩ = ∑ ⟨x, xi⟩αi f(X) = XXTα α = ( XXT ) −1 Y Винниченко М.Ю. Ядерные методы 5/29
  6. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Связь с нейронными сетями Есть связь между широкими нейронными сетями и ядерными методами [3]. Обучение бесконечно широкой сети – это обучение ядерной модели с ядром NTK [2]: k(z, x) = Eθ⟨∇θ f(z, θ), ∇θ f(x, θ)⟩. Обучение нейросетевого гауссовского процесса – это обучение ядерной модели с ядром NNGP: k(z, x) = Eθ f(z, θ) · f(x, θ) Винниченко М.Ю. Ядерные методы 6/29
  7. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural tangent kernel f(x; θt) – нейронная сеть с параметрами θt, где t – число итераций обучения Разложим в ряд Тейлора: f(x; θt) ≈ f(x; θ0) + ⟨∇θ0 f(x; θ0), θt − θ0⟩ f(x; θ0) + ⟨∇θ0 f(x; θ0), θt − θ0⟩ - линейная модель. Соответствующее ядро: NTKf(x, y) = ⟨∇θ0 f(x; θ), ∇θ0 f(y; θ)⟩ Винниченко М.Ю. Ядерные методы 7/29
  8. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Аналитическое вычисление NNGP ядра Двухслойная сеть f, с весами W и линейным классификатором θ: f(x, θ, W) = θTWx √ n Обучаем последний слой методом kernel regression: k(x, y) = lim n→∞ ⟨ 1 √ n Wnx, 1 √ n Wny ⟩ = ⟨x, y⟩ Доказательство: lim n→∞ ⟨ 1 √ n Wnx, 1 √ n Wny ⟩ = lim n→∞ 1 n ∑n i=1 ⟨x, wi⟩⟨y, wi⟩ = Ew ⟨x, w⟩ · ⟨y, w⟩ = E ∑ ij wi xi · wj yj = E ∑ i w2 i xi yj = ∑ i xi · yi = ⟨x, y⟩ Винниченко М.Ю. Ядерные методы 8/29
  9. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Активации Добавим функцию активации φ: f(x, θ, W) = θTφ(Wx) √ n k(x, y) = lim n→∞ ⟨ φ(Wnx) √ n , φ(Wny) √ n ⟩ Для ||x|| = ||y|| = 1: активация φ(z) скалярное произведение k(x, y) identity z ⟨x, y⟩ relu max(0, z) √ 2 1 π (sin β + (π − β) cos β), где β = arccos⟨x, y⟩ rff eiz e⟨x,y⟩−1 Винниченко М.Ю. Ядерные методы 9/29
  10. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural Kernels without Tangents Что делают? Предобработка данных с помощью ZCA. Вводят операции для расчёта ядер на многомерных массивов. Строят ядро, опираясь на архитектуру MyrtleCNN. Показывают, что их ядро лучше остальных ядер на CIFAR-10 Винниченко М.Ю. Ядерные методы 10/29
  11. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Их результаты на Cifar10 Винниченко М.Ю. Ядерные методы 11/29
  12. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Проблемы Плохо масштабируются на большие обучающие выборки. Пусть N – размер обучающей выборки, P – число пикселей в изображении, тогда: сложность вычисления ядра аналитически O(N2P2) сложность обращения ядра O(N3) Винниченко М.Ю. Ядерные методы 12/29
  13. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Моё исследование: цели и задачи Цель: улучшить масштабируемость нейросетевых ядерных методов. Задачи: Научиться работать с необратимой матрицей ядра Избавиться от кубической сложности работы с матрицей ядра Построить приближение аналитического ядра Винниченко М.Ю. Ядерные методы 13/29
  14. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решение задачи 1: Градиентный спуск c непрерывным шагом Обучаем линейную модель f с параметром θ на объектах X и ответах Y. Градиентный спуск c функций потерь L(F) = 1 2 ||F − Y||2: fi(X) = φ(X)θi θi+1 = θi − η dL(fi(X)) dθ Это приближённое решение дифференциального уравнения [3]: ft(X) = φ(X)θt ˙ θt = −η dL(ft(X)) dθ Винниченко М.Ю. Ядерные методы 14/29
  15. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решаем диффур ˙ θt = −η dL(ft(X)) dθ = −η ⟨ ∂ft(X) ∂θ , ∂L ∂f ⟩ = −η φT(X)(ft(X) − Y) ˙ ft(X) = φ(X) ˙ θt = −η φ(X)φT(X) (ft(X) − Y) d(ft(X) − Y) dt = −ηK(ft(X) − Y) ft(X) − Y = e−ηKt(f0(X) − Y) ft(X) = (e−ηKt − E)(−Y) + e−ηKtf0(X) Винниченко М.Ю. Ядерные методы 15/29
  16. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решение дифференциального уравнения Введём двойственные переменные αt: αt = K−1(e−ηKt − E)(−Y) Точное решение диффура: ft(Z) = K(Z, X)αt θt = φT(X)αt Винниченко М.Ю. Ядерные методы 16/29
  17. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Вычисление решения Вычислим двойственные переменные αt = K−1(e−ηKt − E)(−Y) Заметим, что: ( · K−1(e−ηKt − E) · · ) = −ηt exp ( −ηtK E 0 0 ) Теорема верна для необратимой матрицы K. Винниченко М.Ю. Ядерные методы 17/29
  18. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Идея доказательства exp(M) = E 0! + M 1! + M2 2! + . . . M−1(eM − E) = E 1! + M 2! + M2 3! + . . . Винниченко М.Ю. Ядерные методы 18/29
  19. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Леммы Лемма1: ( M E 0 0 )k = ( Mk Mk−1 0 0 ) Лемма2: exp ( M E 0 0 ) = ( eM M−1 ( eM − E ) 0 E ) Доказательство теоремы: подставляем M = −ηtK Винниченко М.Ю. Ядерные методы 19/29
  20. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Граниентный бустинг [1] Регрессор Fn(Z) на n-м шаге является линейной комбинацией слабых регрессоров fi : Fn(Z) = n ∑ i=1 βj fj(Z) Определим остатки: y_resi(x) = − δL(Fi−1 (x)) δFi−1 Обучение: fi = optimizef ||f(X) − y_resi(X)||2 Fi = Fi−1 + β · fi Винниченко М.Ю. Ядерные методы 20/29
  21. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Задача2: Избавляемся от O(N3) Итерация обучения: Разобьём обучающую выборку X на подмножества X(1) ⊔ X(2) ⊔ . . . ⊔ X(l) ⊔ Xleftover В качестве слабого регрессора на шаге i выступает модель fi(Z) = φ(Z)θi с усреднённым 1 параметром θi : θi = 1 l l ∑ j=1 θij θij = φ(X(j))T α(j) Комментарий: Из-за линейности моделей можем усреднять параметр, вместо усреднения предсказаний регрессоров. 1усреднение производится по результатам обучения на подмножествах: X(1), X(2), . . . , X(m) Винниченко М.Ю. Ядерные методы 21/29
  22. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты Точность классификации на СIFAR-10 Ядро 2 Бустинг Kernel Ridge 3 Myrtle10 Gaussian Kernel 88.0 88.2 Myrtle10 Gaussian Kernel + Flips 89.5 89.8 Сложность обучения O(steps NM2) O(N3) Таблица: Точность классификации (accuracy) на СIFAR-10. 2Используются аналитические ядра из материалов статьи ”Neural Kernels Without Tangents” [5] 3Колонка Kernel Ridge взята из результатов же статьи. Винниченко М.Ю. Ядерные методы 22/29
  23. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Задача3: Приближение аналитического ядра Построим огромную 4 нейросетевую модель, как конкатенацию маленьких моделей. Обучаем только последний слой (Linear). 4размер выхода последнего слоя достигает 800 тыс. значений. Винниченко М.Ю. Ядерные методы 23/29
  24. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Архитектуры моделей Рис.: Архитектура Myrtle5 Винниченко М.Ю. Ядерные методы 24/29
  25. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Архитектуры моделей Рис.: Архитектуры Myrtle7 и Myrtle10 соответственно Винниченко М.Ю. Ядерные методы 25/29
  26. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты на подмножествах CIFAR-10 Точность классификации на подмножествах размера 1280 Ядро Оценка ядра Аналитическое ядро 5 Myrtle5 64.2 ± .3 61.9 ± .7 Myrtle7 65.3 ± .8 - Myrtle10 66.6 ± .8 64.4 ± .5 Таблица: Точность классификации (accuracy) на случайных подмножествах СIFAR-10, состоящих 1280 объектов. 5Колонка аналитическое ядро взята из статьи ”Neural Kernels Without Tangents”. [5] Винниченко М.Ю. Ядерные методы 26/29
  27. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты на CIFAR-10 Точность классификации на СIFAR-10 Ядро Широкая сеть Оценка ядра Аналитическое ядро 6 Myrtle7 - 85.1 86.6 Myrtle10 ≤ 80. 7 86.1 87.5 Время - ≤ 9 ч ≈ 200 ч Таблица: Точность классификации (accuracy) на СIFAR-10. Замечание: сравниваемся на ядре, заданном relu, а не на гауссовском ядре. 6Колонка аналитическое ядро взята статьи ”Neural Kernels Without Tangents”. [5] 7https://twitter.com/Vaishaal/status/1248293486228459520 Винниченко М.Ю. Ядерные методы 27/29
  28. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Выводы Теория о нейросетевых гауссовских процессах из статьи Wide Neural Networks of Any Depth [3] применима на практике. Разработан метод машинного обучения с меньшей вычислительной сложностью. Приближение ядра превосходит аналитическое ядро на небольших обучающих выборках. Однако, приближение не даёт ту же точность на всём CIFAR-10 и нуждается в дальнейшей доработке. Винниченко М.Ю. Ядерные методы 28/29
  29. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Список литературы I Jerome H Friedman. “Stochastic gradient boosting”. В: Computational statistics & data analysis 38.4 (2002), с. 367—378. Arthur Jacot, Franck Gabriel и Clément Hongler. “Neural tangent kernel: Convergence and generalization in neural networks”. В: Advances in neural information processing systems. 2018, с. 8571—8580. Jaehoon Lee и др. “Wide neural networks of any depth evolve as linear models under gradient descent”. В: Advances in neural information processing systems. 2019, с. 8570—8581. Craig Saunders, Alexander Gammerman и Volodya Vovk. “Ridge regression learning algorithm in dual variables”. В: (1998). Vaishaal Shankar и др. “Neural Kernels Without Tangents”. В: arXiv preprint arXiv:2003.02237 (2020). Винниченко М.Ю. Ядерные методы 29/29