Top Banner
Нейронные сети совсем чуть-чуть И. Куралёнок, Н. Поваров Яндекс СПб, 2016 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 28
37

Машинное обучение, часть 1, осень 2016: Нейронные сети II

Jan 16, 2017

Download

Documents

CS Center
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Нейронные сетисовсем чуть-чуть

И. Куралёнок, Н. Поваров

Яндекс

СПб, 2016

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 28

Page 2: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Постановка задачи обучения

С построением фичей: повесим на клиента датчикиНаша цель повесить датчики правильно, зная какуюинформацию мы хотим получить.Похоже на glass box

Без построения фичей: льется поток неведомыхданныхХотим выделить сигналы, имеющие отношение кискомомуПохоже на black box

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 28

Page 3: Машинное обучение, часть 1, осень 2016: Нейронные сети II

ПримерПо дороге Пенза-Копейск ездят автомобили. Народ на обочинехочет с них получить доход.

В.П. Гаврилов — работник заправки, для него главное:

Машина дорогая

Машина чистая

Водитель не бугай

etc.

Э.С. Светлакова — продавец картошки/рыбы/воздушных змеев:

Машина семейная

Едет в направлении города

Едет не очень быстро

Никого не обгоняет

etc.

Вот наша сетка и решает кем ей в этой жизни стать, и какие параметрыважны :).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 28

Page 4: Машинное обучение, часть 1, осень 2016: Нейронные сети II

ПримерПо дороге Пенза-Копейск ездят автомобили. Народ на обочинехочет с них получить доход.В.П. Гаврилов — работник заправки, для него главное:

Машина дорогая

Машина чистая

Водитель не бугай

etc.

Э.С. Светлакова — продавец картошки/рыбы/воздушных змеев:

Машина семейная

Едет в направлении города

Едет не очень быстро

Никого не обгоняет

etc.

Вот наша сетка и решает кем ей в этой жизни стать, и какие параметрыважны :).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 28

Page 5: Машинное обучение, часть 1, осень 2016: Нейронные сети II

ПримерПо дороге Пенза-Копейск ездят автомобили. Народ на обочинехочет с них получить доход.В.П. Гаврилов — работник заправки, для него главное:

Машина дорогая

Машина чистая

Водитель не бугай

etc.

Э.С. Светлакова — продавец картошки/рыбы/воздушных змеев:

Машина семейная

Едет в направлении города

Едет не очень быстро

Никого не обгоняет

etc.

Вот наша сетка и решает кем ей в этой жизни стать, и какие параметрыважны :).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 28

Page 6: Машинное обучение, часть 1, осень 2016: Нейронные сети II

ПримерПо дороге Пенза-Копейск ездят автомобили. Народ на обочинехочет с них получить доход.В.П. Гаврилов — работник заправки, для него главное:

Машина дорогая

Машина чистая

Водитель не бугай

etc.

Э.С. Светлакова — продавец картошки/рыбы/воздушных змеев:

Машина семейная

Едет в направлении города

Едет не очень быстро

Никого не обгоняет

etc.

Вот наша сетка и решает кем ей в этой жизни стать, и какие параметрыважны :).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 28

Page 7: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассуждений

А можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

Если преобразование монотонное, то можно его длякрасоты применить и к результату

Дополним рекурсией и будем подбирать не одну функциюа несколько

⇒Понятно, что так писать не удобно.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 8: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассужденийА можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

F =∑i

wi

(vTi x)

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

Если преобразование монотонное, то можно его длякрасоты применить и к результату

Дополним рекурсией и будем подбирать не одну функциюа несколько

⇒Понятно, что так писать не удобно.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 9: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассужденийА можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

F =∑i

wig(vTi x)

Если преобразование монотонное, то можно его длякрасоты применить и к результату

Дополним рекурсией и будем подбирать не одну функциюа несколько

⇒Понятно, что так писать не удобно.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 10: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассужденийА можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

Если преобразование монотонное, то можно его длякрасоты применить и к результату

F = g

(∑i

wig(vTi x))

Дополним рекурсией и будем подбирать не одну функциюа несколько

⇒Понятно, что так писать не удобно.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 11: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассужденийА можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

Если преобразование монотонное, то можно его длякрасоты применить и к результату

Дополним рекурсией и будем подбирать не одну функциюа несколько

Fi = g(wT

dig(Wd−1g(. . . g(W0x)))

⇒Понятно, что так писать не удобно.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 12: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного рассужденийА можно ли одновременно оптимизировать ивыделение полезной информации и обучение?

Ограничимся линейными моделями как в решающейфункции, так и в построении FE

Но так все сведется к линейной регрессии! Давайтедобавим какое-нибудь нелинейное преобразование

Если преобразование монотонное, то можно его длякрасоты применить и к результату

Дополним рекурсией и будем подбирать не одну функциюа несколько

Fi = g(wT

dig(Wd−1g(. . . g(W0x)))

⇒Понятно, что так писать не удобно.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 28

Page 13: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Персептрон Розенблатта

Fi = g(wT

dig(Wd−1g(. . . g(W0x)))

Как можно видеть, система состоит из некоторого количестваблоков g(Wtu). Если блок 1, g = sign(x) и мы подбираем однуфункцию, то

это элементарный персептрон Розенблатта. Если блоков много,то сложный :).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 28

Page 14: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Но на самом деле всебыло не так!

Искусственные нейронные сети (ИНС) — математическиемодели, а также их программные или аппаратные реализации,построенные по принципу организации и функционирования

биологических нейронных сетей — сетей нервных клеток живогоорганизма.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 28

Page 15: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Но на самом деле всебыло не так!

Искусственные нейронные сети (ИНС) — математическиемодели, а также их программные или аппаратные реализации,построенные по принципу организации и функционирования

биологических нейронных сетей — сетей нервных клеток живогоорганизма.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 28

Page 16: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Нейрон I

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 28

Page 17: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Нейрон II

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 28

Page 18: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Примеры приложений

Предсказание финансовых временных рядовПсиходиагностикаХемоинформатикаНейроуправлениеЭкономика

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 28

Page 19: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Карго I

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 28

Page 20: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Карго II

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 28

Page 21: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Карго III

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 12 из 28

Page 22: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Карго IV

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 28

Page 23: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Немного истории

1 McCulloch, Pitts. “A Logical Calculus of IdeasImmanent in Nervous Activity”. 1943

2 “Кибернетическая модель мозга” 19573 ЭВМ Mark I 19604 Minsky, Papert “Perceptrons: an introduction to

computational geometry” 19695 ЭВМ Mark III 19856 Google Brain vs. Котики 2011 (Andrew Ng and co.)7 Krizhevsky, A., Sutskever, I. and Hinton, G. E.

“ImageNet Classification with Deep ConvolutionalNeural Networks” 2012

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 28

Page 24: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Отличия от машин фон Неймана

Массовый параллелизм;Распределённое представление информации ивычисленияСпособность к обучению и обобщениюАдаптивностьСвойство контекстуальной обработки информацииТолерантность к ошибкамНизкое энергопотребление

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 28

Page 25: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Типы нейро компьютеров

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 28

Page 26: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Виды нейронных сетей

По числу слоев:ОднослойныеДвухслойныеМногослойные

По способу взаимодействия нейронов:C обратной связьюБез обратной связиПо нескольким соседям

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 28

Page 27: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Известные типы сетей

Персептронные сетиАссоциативная памятьSOMetc.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 28

Page 28: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Персептрон Розенблатта

Fi = g(wT

dig(Wd−1g(. . . g(W0x)))

Как можно видеть, система состоит из некоторого количестваблоков g(Wtu). Если блок 1, g = sign(x) и мы подбираем однуфункцию, то

это элементарный персептрон Розенблатта. Если блоков много,то сложный :).Без обратной связи, многослойная

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 28

Page 29: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Обучение персептронной сетиОбратное распространение ошибки в случае MSE

С sign работать тяжело, поэтому возьмем g поглаже:

T = −12

∑k(yk − ok)2

g(u) = 11+e−2αu

∆wi ,j = η ∂T∂wi,j

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 20 из 28

Page 30: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Обратное распространение ошибки вслучае MSEПоследний слой

Sj =∑

i wi ,jxi∂T∂wi,j

= ∂T∂Sj

∂Sj∂wi,j

= xi∂T∂Sj

∂T∂Sj

= ∂T∂oj

∂oj∂Sj

= ... = −2αoj(1− oj)(yj − oj)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 28

Page 31: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Обратное распространение ошибки вслучае MSEНе последний слой

∂T∂Sj

=∑

k∂T∂Sk

∂Sj∂wi,j

= xi∂T∂Sj

∂Sk∂Sj

= ∂Sk∂oj

∂oj∂Sj

= ... = −2αwj ,koj(1− oj)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 22 из 28

Page 32: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Обратное распространение ошибки вслучае MSEИтого

Для последнего слоя:

δj = −2αoj(1− oj)(yj − oj)

Для внутреннего слоя:

δj = −2αoj(1− oj)∑k

(δkwj ,k)

Для всех:∆wi ,j = ηδjoi

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 23 из 28

Page 33: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Сети ХопфилдаАвто-ассоциативная память

Подадим сигнал на входы x = {−1, 1}n

Подождем пока они по закону x t+1 = −1sign(Wx t−θ)

Узнаем какие код решения

С обратной связью, однослойнаяИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 24 из 28

Page 34: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Обучение сетей Хопфилда

На самом деле, мы знаем куда это добро сойдется, если податьзаданный сигнал x

arg minu0=x

1E (u) = arg minu0=x−12uTWu + θTu

мы дойдем до локального минимума, которых может бытьмного в зависимости от W . Если:

W =1m

m∑k=1

xkxTk

то минимумы будут именно в этих точках.

1При фиксированной выше процедуре оптимизации (конвергенции),которая даже сходится в асинхронном случае

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 25 из 28

Page 35: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Свойства сетей Хопфилда

Не думают, а скорее реализуют адаптивнуюфункцию ближайшего соседаСходятся, имеют эффективную параллельнуюреализациюМогут работать долго и в результате дать“химеру”

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 26 из 28

Page 36: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Как ту же идею заставить “думать”Bolzmann machine

Немного поменяем как все это добро работает: сделаем значения в нодахиз {0, 1}, договоримся о 0-х на диагонали W . Будем надеяться, чтосостояния системы распределены по Больцману:

p(s|W , θ) ∼ esTWs+θT s

kT

Тогда веса W и θ мы можем исходя из близости этого распределения итого, которое хотим получить:

argminW ,θ

∑s

p(s|X )logp(s|X )

p(s|W )

Отдельно рассматривают ограничение на связи внутри думающего (hidden)уровня, такое называют RBM.С обратной связью, двухслойная

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 27 из 28

Page 37: Машинное обучение, часть 1, осень 2016: Нейронные сети II

Что мы сегодня узнали

Можно решать задачи обучения в комплексеЕсть прямые аналогии в биологии и этимпробовали пользоваться ⇒ культ каргоЭто сложно (получается при большой удаче) и дляэтого есть специальный языкЕсть разные принципы построениявзаимодействия внутри сетиПрирода все равно без датчиков не живет

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 28 из 28