Лекция №11 "Основы нейронных сетей"

55
Лекция n1 Основы нейронных сетей Нестеров Павел 4 декабря 2014 г.

Upload: technosphere1

Post on 18-Jul-2015

136 views

Category:

Education


10 download

TRANSCRIPT

Page 1: Лекция №11 "Основы нейронных сетей"

Лекция n1Основы нейронных сетей

Нестеров Павел

4 декабря 2014 г.

Page 2: Лекция №11 "Основы нейронных сетей"

План лекции

Предпосылки

Краткая история теории нейронных сетей

Многоснойная нейронная сеть прямого распространения

Алгоритм обратного распространения ошибки

Что дальше?

1 / 55

Page 3: Лекция №11 "Основы нейронных сетей"

Принципиальное отличие

Теория статистического обученияЛинейная и логистическая регрессии,expectation-maximization, naive bayes classifier, randomforest, support vectior machine, gradient boosting trees ит.д.

Имитация работы мозга человекаPerceptron, cognitron, self-organizing maps, multi-layerfeedforward network, convolution network, Boltzmannmachine, deep neural network и т.д.

2 / 55

Page 4: Лекция №11 "Основы нейронных сетей"

С другой стороны

Искусственная нейронная сетьI алгоритмическая композиция (ансамбль) слабых моделейI байесова или марковская сетьI ???I или любое другое обобщение, важны идеи лежащие в основе

теории

3 / 55

Page 5: Лекция №11 "Основы нейронных сетей"

Нервная система до нейробиологии

Рис.: 17 век, Рене Декарт о нервной системе: «Раздражение ступнипередаётся по нервам в мозг, взаимодействует там с духом и такимобразом порождает ощущение боли».

4 / 55

Page 6: Лекция №11 "Основы нейронных сетей"

Нервная система в современном понимании

I В 1906 году врач и гистолог Сантьяго Рамон-и-Кахальсовместно с врачем Камилло Гольджи получают нобелевскуюпремию за "за работы по структуре нервной системы"; ихработы заложили основы нейронной теории нервной системы исовременной нейробиологии.

Рис.: Блок-схема нервной системы1

1Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin5 / 55

Page 7: Лекция №11 "Основы нейронных сетей"

Мозг человека, #1

6 / 55

Page 8: Лекция №11 "Основы нейронных сетей"

Мозг человека, #2

I 86 · 109 нейронов в мозге, из них 16.3 · 109 вкоре

I CPU: 15-core Xeon IvyBridge-EX - 4.3 · 109транзисторов

I GPU: Nvidia Tesla GK110 Kepler - 7.08 · 109транзисторов

I нейроны (и мозг в целом) обладаютнейропластичностью - способностьюизменяться под действием опыта;

I мозг - комплексная, нелинейная системапараллельной обработки данных, способнаяизменять структуру своих составныхчастей;

I мозг решает определенный тип задачзначительно быстрее чем любойсовременный компьютер, несмотря на то,что нейрон крайне медленнаявычислительная единица.

7 / 55

Page 9: Лекция №11 "Основы нейронных сетей"

Схема биологического нейрона

8 / 55

Page 10: Лекция №11 "Основы нейронных сетей"

Нейронные ансамбли

I Физиолог и нейропсихолог Дональд Хебб разработал теориювзаимосвязи головного мозга и мыслительных процессов вкниге "The Organization of Behavior"(1949).

I Нейронный ансамбль - совокупность нейронов, составляющихфункциональную группу в высших отделах мозга.

I Нейроансамбль - распределенный способ кодированияинформации.

I Нейрон сам по себе генерирует по мимо сигнала еще и шум, ноансамбль в среднем генерирует чистый сигнал (bagging? ).

9 / 55

Page 11: Лекция №11 "Основы нейронных сетей"

Нейронная модель Ходжкина-Хаксли, #1

I Модель Ходжкина—Хаксли (1952 год) — математическаямодель, описывающая генерацию и распространениепотенциалов действия в нейронах2.

I Потенциал действия — волна возбуждения, перемещающаяся помембране живой клетки в процессе передачи нервного сигнала.

I Нобелевская премия по физиологии и медицине "за открытия,касающиеся ионных механизмов возбуждения и торможения впериферических и центральных участках нервных клеток"(1963год).

2см. приложение Cellmembranion.gif10 / 55

Page 12: Лекция №11 "Основы нейронных сетей"

Нейронная модель Ходжкина-Хаксли, #2

Каждому элементу схемы соответствует свой биохимический аналог:I Cm - электроемкость внутреннего липидного слоя клеточной

мембраны;I gn - потенциал-зависимые ионные каналы отвечают за

нелинейную электрическую проводимость;I gL - каналы мембранных пор отвечают за пассивную

проводимость;I Ex - источники напряжения побуждает ионы к движению через

мембранные каналы.

11 / 55

Page 13: Лекция №11 "Основы нейронных сетей"

Модель МакКаллока-Питтса (1943 год)

I a (x) = θ(∑n

j=1 wj · xi − w0

);

I θ (z) = [z ≥ 0] ={

0,z<01,z≥0 - функция Хевисайда;

I эквивалентно линейному классификатору.

Данная модель, с незначительными изменениями, актуальна и посей день.

12 / 55

Page 14: Лекция №11 "Основы нейронных сетей"

Правила Хебба (1949)

В своей книге Дональд Хебб описал процесс адаптированиянейронов в мозге в процессе обучения, и сформулировал базовыемеханизмы нейропластичности:1. если два нейрона по разные стороны от синапсов активируются

синхронно, то "вес"синапса слегка возрастает;2. если два нейрона по разные стороны от синапсов активируются

асинхронно, то "вес"синапса слегка ослабевает или синапсудаляется3.

Эти правила легли в основу зарождающейся теории нейросетей,сегодня в мы можем увидеть этот мета-алгоритм в основныхметодах обучения нейронных сетей.

3это расширенное правило, в оригинале второй части не было13 / 55

Page 15: Лекция №11 "Основы нейронных сетей"

Правила Хебба, математическая формулировка, #1

Допустим у нас имеется набор бинарных векторов размерности n,каждому из которых соответствует бинарный выход y :

I X = {~x1, ~x2, . . . , ~xm} ,∀~xi ∈ {0, 1}n

I Y = {y1, y2, . . . , ym} ,∀yi ∈ {0, 1}I D = {(x1, y1) , (x2, y2) , . . . , (xn, yn)}

Тогда нейрон может совершить два типа ошибок:1. yi = 0 ∧ yi = 1⇒ увеличить веса при тех входах равных 1

I зачем?

2. yi = 1 ∧ yi = 0⇒ уменьшить веса при тех входах равных 1I зачем?

14 / 55

Page 16: Лекция №11 "Основы нейронных сетей"

Правила Хебба, математическая формулировка, #2Тогда нейрон может совершить два типа ошибок:1. yi = 0 ∧ yi = 1⇒ увеличить веса при тех входах равных 1

I не преодолели порог ⇒ увеличить скалярное произведение2. yi = 1 ∧ yi = 0⇒ уменьшить веса при тех входах равных 1

I перешагнули порог ⇒ уменьшить скалярное произведение

15 / 55

Page 17: Лекция №11 "Основы нейронных сетей"

Однослойный персептрон Розенблатта (1958 год)

Нейрофизиолог Френк Розенблатт предложил схему устройства,моделирующего процесс человеческого восприятия, и назвал его"персептроном". По мимо этого:

I показал, что персептрон может выполнять базовые логическиеоперации;

I разработал алгоритм обучения такой модели - метод коррекцииошибки;

I доказал сходимость алгоритма (теорема сходимостиперсептрона), но только для линейно разделимых классов;

I реализовал физический прототип такой модели;I реализовал первый в мире нейрокомпьютер "MARK-1".

16 / 55

Page 18: Лекция №11 "Основы нейронных сетей"

Нейрокомпьютер MARK-1

17 / 55

Page 19: Лекция №11 "Основы нейронных сетей"

Элементарный персептрон

Метод коррекции ошибкиI yi = 0 ∧ yi = 1⇒ ∆w = η(n) · x(n)

I yi = 1 ∧ yi = 0⇒ ∆w = −η(n) · x(n)I η(n) - скорость обучения, зависящая от итерацииI x(n) - входной образ на итерации n

18 / 55

Page 20: Лекция №11 "Основы нейронных сетей"

Недостатки элементарного персептрона, AND

19 / 55

Page 21: Лекция №11 "Основы нейронных сетей"

Недостатки элементарного персептрона, XOR

20 / 55

Page 22: Лекция №11 "Основы нейронных сетей"

Анимация сходимости для операций AND и XOR

I операция OR - 1layer-net-or.gifI операция AND - 1layer-net-and1.gifI операция XOR - 1layer-net-xor.gif 4

4http://theclevermachine.wordpress.com/2014/09/11/a-gentle-introduction-to-artificial-neural-networks/

21 / 55

Page 23: Лекция №11 "Основы нейронных сетей"

Доказательства неэффективности нейронных сетей

I В 1969 году математик и исследователь ИИ Марвин Минскийпровел детальный математический анализ персептрона иопубликовал формальное доказательство ограниченности этоймодели.

I "There is no reason to suppose that any of these virtues carryover to the many-layered version. Nevertheless, we consider it to bean important research problem to elucidate (or reject) our intuitivejudgement that the extension to multilayer systems is sterile."5

I Отсутствие преимуществ + ограничения модели в итогепоубавили интерес научного сообщества к нейронным сетям,требовалось, что то принципиально новое

5Персептроны, Марвин Минский в соавторстве с Сеймуром Папертом, MITPress, 1969

22 / 55

Page 24: Лекция №11 "Основы нейронных сетей"

Период "забвения"

Исследования искусственных нейросетей не спеша продолжаются, нов режиме поиска чего-то нового:

I 1972: Т. Кохонен разрабатывает новый тип нейросетей,способных функционировать в качестве памяти;

I 1975-1980: К. Фукусима разрабатывает когнитрон инеокогнитрон, совершенно новый тип многослойной сверточнойсети, созданной по аналогии со строением зрительной системы;

I 1982: Дж. Хопфилд разрабатывает новый тип нейросети собратными связями, выполняющей функции ассоциативнойпамяти;

I 1986: Дэвид Румельхарт, Дж. Хинтон и Рональд Вильямсразрабатывают вычислительно эффективный многослойныхнейросетей - метод обратного распространения ошибки (именноработа этих авторов возрождает интерес к нейронным сетям вмире).

23 / 55

Page 25: Лекция №11 "Основы нейронных сетей"

Теорема универсальной аппроксимации6

Введем следующие обозначения:I φ(x) - не тождественная, ограниченная и монотонно

возрастающая функцияI In - n-мерный единичный гиперкубI C (In) - множество непрерывных функций на In

⇒ ∀f ∧ ∀ε > 0∃I m ∈ NI {βi}i=1...m ,∀βi ∈ RI {αi}i=1...m ,∀αi ∈ RI {wij}j=1...n,i=1...m ,∀wij ∈ R

∧∃F (x1, . . . , xn) =∑m

i=1 αiφ(∑n

j=1 wij · xj + βi

):

I |F (x1, . . . , xn)− f (x1, . . . , xn)| < ε

Какая архитектура нейросети удовлетворяет такой формулировке?

6Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin24 / 55

Page 26: Лекция №11 "Основы нейронных сетей"

Универсальный аппроксиматор

В чем проблема универсального аппроксиматора, исходя из условийтеоремы?

25 / 55

Page 27: Лекция №11 "Основы нейронных сетей"

Демонстрация сходимости нейросети с одним скрытымслоем

I операция XOR - 2layer-net-xor.gifI бинарная классификация - 2layer-net-ring.gifI аппроксимация функции sin - 2layer-net-regression-sine.gifI аппроксимация функции abs - 2layer-net-regression-abs.gif7

7http://theclevermachine.wordpress.com/2014/09/11/a-gentle-introduction-to-artificial-neural-networks/

26 / 55

Page 28: Лекция №11 "Основы нейронных сетей"

Многоснойная нейронная сеть прямого распространения

Рис.: Архитектура сети с двумя скрытыми слоями8

8Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin27 / 55

Page 29: Лекция №11 "Основы нейронных сетей"

Отличие персептрона Румельхарта от персептронаРозенблатта

I Нелинейная функция активации;I один и более скрытых слоев (до работ Хинтона по ограниченной

машине Больцмана, на практике не использовали более двухскрытых слоев, а чаще всего один);

I сигналы на входе и на выходе не обязательно бинарные;I произвольная архитектура сети (в рамках многослойности);I ошибка сети интерпретирует в смысле некоторой меры, а не как

число неправильных образов в режиме обучения.

28 / 55

Page 30: Лекция №11 "Основы нейронных сетей"

Модифицированная модель нейрона МакКаллока-Питтса

Рис.: Схема искусственного нейрона9

9Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin29 / 55

Page 31: Лекция №11 "Основы нейронных сетей"

Функция активацииЗадача функции активации - ограничить амплитуду выходногозначения нейрона; чаще всего для этого используется одна изсигмоидальных (S-образных) функций:

I логистическая функция: f (z) =1

1 + e−a·z,∀a ∈ R

I гиперболический тангенс: f (z) =ea·x − e−a·x

ea·x + e−a·x,∀a ∈ R

Рис.: Логистический сигмоид

30 / 55

Page 32: Лекция №11 "Основы нейронных сетей"

Backprop, обозначения #1

z(n)j = b

(n)j +

Nn−1∑i=1

w(n)ij x

(n)i =

Nn−1∑i=0

w(n)ij x

(n)i (1)

y(n)k = f

(n)k

(z(n)k

)(2)

Рис.: Схема передачи сигнала между слоями31 / 55

Page 33: Лекция №11 "Основы нейронных сетей"

Backprop, обозначения #2

Обычное обучение с учителем:I дан набор данных

D ={

(x1, t1) , (x2, t2) , . . . ,(x|D|, t|D|

)}, xi ∈ RNinput , yi ∈ RNoutput

I необходимо построить такое отображение (нейросеть)fnetwork : X → Y , которое минимизирует некоторыйфункционал ошибки E : RNoutput × RNoutput → R, например

I Евклидово расстояние для задачи регрессииI логарифм функции правдоподобия распределения Бернулли для

задачи классификации среди пересекающихся классовI кросс-энтропия для задачи классификации среди

непересекающихся классов

32 / 55

Page 34: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, #1

Алгоритм backprop - это модификация классического градиентногоспуска. Параметрами модели являются только веса всех нейроновсети:

δ(n)ij = −η

∂E(~y (n), ~t

)∂w

(n)ij

(3)

I η - скорость обучения (спуска, learning rate)I ~y (n) - вектор выходов нейросети (выходы последнего слоя)I ~t - ожидаемые выходы нейросети для текущего примера

Есть идеи?

33 / 55

Page 35: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, #2

I∂E

∂w(n)ij

=∂E

∂z(n)j

∂z(n)j

∂w(n)ij

I ???

34 / 55

Page 36: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, #3

I∂E

∂w(n)ij

=∂E

∂z(n)j

∂z(n)j

∂w(n)ij

I∂z

(n)j

∂w(n)ij

=∑

i

∂w(n)ij x

(n−1)i

∂w(n)ij

= x(n−1)i

В итоге получим:∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

(4)

35 / 55

Page 37: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, выходной слой, #1

I∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

I E (y(z), t) ???

36 / 55

Page 38: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, выходной слой, #2

∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

= x(n−1)i

∂E

∂y(n)j

∂y(n)j

∂z(n)j

(5)

Таким образом при условии дифференцируемости целевой функциии функции активации, вычисление градиента любого из весоввыходного слоя становится легко решаемой задачей.

37 / 55

Page 39: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, любой скрытый слой, #1

∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂ynj

∂ynj

∂znj

I∂z

(n+1)k

∂ynj

???

38 / 55

Page 40: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, любой скрытый слой, #2

Рис.: Схема прямого (нелинейного) и обратного (линейного)распространения сигнала в сети

39 / 55

Page 41: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, любой скрытый слой, #3

∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂ynj

∂ynj

∂znj

I∂z

(n+1)k

∂ynj

=∑

i

∂w (n+1)ik yni

∂ynj

= w(n+1)ik

40 / 55

Page 42: Лекция №11 "Основы нейронных сетей"

Градиентный спуск, любой скрытый слой, #4

∂E

∂w(n)ij

= x(n−1)i

∂E

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂z(n)j

= x(n−1)i

∑k

∂E

∂z(n+1)k

∂z(n+1)k

∂ynj

∂ynj

znj

= x(n−1)i

∑k

w(n+1)ik

∂E

∂z(n+1)k

∂ynj

∂znj

41 / 55

Page 43: Лекция №11 "Основы нейронных сетей"

Некоторые функции стоимости, #1

Среднеквадратичная ошибка:

I E =1

2

∑i∈output (ti − yi )

2

I∂E

∂yi???

Логарифм правдоподобия Бернулли:I E = −

∑i∈output (ti log yi + (1− ti ) log (1− yi ))

I∂E

∂yi???

42 / 55

Page 44: Лекция №11 "Основы нейронных сетей"

Некоторые функции стоимости, #2

Среднеквадратичная ошибка:

I E =1

2

∑i∈output (ti − yi )

2

I∂E

∂yi= yi − ti

Логарифм правдоподобия Бернулли:I E = −

∑i∈output (ti log yi + (1− ti ) log (1− yi ))

I∂E

∂yi=

tiyi− 1− ti

1− yi

43 / 55

Page 45: Лекция №11 "Основы нейронных сетей"

Некоторые функции активации, #1

Логистическая функция:

I f (z) =1

1 + e−a·z

I∂f

∂z???

Гиперболический тангенс:

I f (z) =ea·z − e−a·z

ea·z + e−a·z

I∂f

∂z???

44 / 55

Page 46: Лекция №11 "Основы нейронных сетей"

Некоторые функции активации, #2

Логистическая функция:

I f (z) =1

1 + e−a·z

I∂f

∂z= a · f (z) · (1− f (x))

Гиперболический тангенс:

I f (z) =ea·z − e−a·z

ea·z + e−a·z

I∂f

∂z= a ·

(1− f 2(z)

)

45 / 55

Page 47: Лекция №11 "Основы нейронных сетей"

Режимы обучения

I online learningI batch learningI full-batch learning

46 / 55

Page 48: Лекция №11 "Основы нейронных сетей"

Регуляризация в нейронной сети, #1

Что это и зачем?

I ER = E(~y , ~t)

+ R(W )

Примеры L1 и L2 регуляризации:

I RL1(W ) =∑

ijn

∣∣∣w (n)ij

∣∣∣I∂RL1(W )

∂w(n)ij

???

I RL2(W ) =1

2

∑ijn

(w

(n)ij

)2I∂RL2(W )

∂w(n)ij

???

47 / 55

Page 49: Лекция №11 "Основы нейронных сетей"

Регуляризация в нейронной сети, #2

I ER = E(~y , ~t)

+ λ · R(W )

Примеры L1 и L2 регуляризации:

I RL1(W ) =∑

ijn

∣∣∣w (n)ij

∣∣∣I∂RL1(W )

∂w(n)ij

= sign(w

(n)ij

)I RL2(W ) =

1

2

∑ijn

(w

(n)ij

)2I∂RL2(W )

∂w(n)ij

= w(n)ij

48 / 55

Page 50: Лекция №11 "Основы нейронных сетей"

Регуляризация в нейронной сети, #2

(a) RBM, no reg (b) RBM, L2 reg

Рис.: Иллюстрация эффекта регуляризации

49 / 55

Page 51: Лекция №11 "Основы нейронных сетей"

Регуляризация в нейронной сети, #3

(a) RBM, L2 reg (b) RBM, L1 reg

Рис.: Иллюстрация эффекта регуляризации

50 / 55

Page 52: Лекция №11 "Основы нейронных сетей"

Критерий остановки

Рис.: Кроссвалидация

51 / 55

Page 53: Лекция №11 "Основы нейронных сетей"

Ускорение сходимостиДобавление момента обучения:

∆wij(τ) = η (µ∆wij (τ − 1) +∇wij) (6)

Локальная скорость обучения:

δ(n)ij = −η · r (n)ij · (· · · ) (7)

r(n)ij =

r(n)ij = b + r

(n)ij ,∇w (n)

ij (τ − 1) · ∇w (n)ij (τ) > 0

r(n)ij = p · r (n)ij

(8)

гдеI b - аддитивный бонусI p - мультпликативный штрафI b + p = 1

I естьсмысл добавить верхнюю и нижнюю границы для значенияr(n)ij

52 / 55

Page 54: Лекция №11 "Основы нейронных сетей"

Планы

I softmax слой в сети прямого распространенияI обучение без учителя;I стохастический нейрон и стохастическая нейросеть;I ограниченная машина Больцмана.I глубокие сети

53 / 55

Page 55: Лекция №11 "Основы нейронных сетей"

Вопросы