Лекция №11 "Основы нейронных сетей"
TRANSCRIPT
Лекция n1Основы нейронных сетей
Нестеров Павел
4 декабря 2014 г.
План лекции
Предпосылки
Краткая история теории нейронных сетей
Многоснойная нейронная сеть прямого распространения
Алгоритм обратного распространения ошибки
Что дальше?
1 / 55
Принципиальное отличие
Теория статистического обученияЛинейная и логистическая регрессии,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
С другой стороны
Искусственная нейронная сетьI алгоритмическая композиция (ансамбль) слабых моделейI байесова или марковская сетьI ???I или любое другое обобщение, важны идеи лежащие в основе
теории
3 / 55
Нервная система до нейробиологии
Рис.: 17 век, Рене Декарт о нервной системе: «Раздражение ступнипередаётся по нервам в мозг, взаимодействует там с духом и такимобразом порождает ощущение боли».
4 / 55
Нервная система в современном понимании
I В 1906 году врач и гистолог Сантьяго Рамон-и-Кахальсовместно с врачем Камилло Гольджи получают нобелевскуюпремию за "за работы по структуре нервной системы"; ихработы заложили основы нейронной теории нервной системы исовременной нейробиологии.
Рис.: Блок-схема нервной системы1
1Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin5 / 55
Мозг человека, #1
6 / 55
Мозг человека, #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
Схема биологического нейрона
8 / 55
Нейронные ансамбли
I Физиолог и нейропсихолог Дональд Хебб разработал теориювзаимосвязи головного мозга и мыслительных процессов вкниге "The Organization of Behavior"(1949).
I Нейронный ансамбль - совокупность нейронов, составляющихфункциональную группу в высших отделах мозга.
I Нейроансамбль - распределенный способ кодированияинформации.
I Нейрон сам по себе генерирует по мимо сигнала еще и шум, ноансамбль в среднем генерирует чистый сигнал (bagging? ).
9 / 55
Нейронная модель Ходжкина-Хаксли, #1
I Модель Ходжкина—Хаксли (1952 год) — математическаямодель, описывающая генерацию и распространениепотенциалов действия в нейронах2.
I Потенциал действия — волна возбуждения, перемещающаяся помембране живой клетки в процессе передачи нервного сигнала.
I Нобелевская премия по физиологии и медицине "за открытия,касающиеся ионных механизмов возбуждения и торможения впериферических и центральных участках нервных клеток"(1963год).
2см. приложение Cellmembranion.gif10 / 55
Нейронная модель Ходжкина-Хаксли, #2
Каждому элементу схемы соответствует свой биохимический аналог:I Cm - электроемкость внутреннего липидного слоя клеточной
мембраны;I gn - потенциал-зависимые ионные каналы отвечают за
нелинейную электрическую проводимость;I gL - каналы мембранных пор отвечают за пассивную
проводимость;I Ex - источники напряжения побуждает ионы к движению через
мембранные каналы.
11 / 55
Модель МакКаллока-Питтса (1943 год)
I a (x) = θ(∑n
j=1 wj · xi − w0
);
I θ (z) = [z ≥ 0] ={
0,z<01,z≥0 - функция Хевисайда;
I эквивалентно линейному классификатору.
Данная модель, с незначительными изменениями, актуальна и посей день.
12 / 55
Правила Хебба (1949)
В своей книге Дональд Хебб описал процесс адаптированиянейронов в мозге в процессе обучения, и сформулировал базовыемеханизмы нейропластичности:1. если два нейрона по разные стороны от синапсов активируются
синхронно, то "вес"синапса слегка возрастает;2. если два нейрона по разные стороны от синапсов активируются
асинхронно, то "вес"синапса слегка ослабевает или синапсудаляется3.
Эти правила легли в основу зарождающейся теории нейросетей,сегодня в мы можем увидеть этот мета-алгоритм в основныхметодах обучения нейронных сетей.
3это расширенное правило, в оригинале второй части не было13 / 55
Правила Хебба, математическая формулировка, #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
Правила Хебба, математическая формулировка, #2Тогда нейрон может совершить два типа ошибок:1. yi = 0 ∧ yi = 1⇒ увеличить веса при тех входах равных 1
I не преодолели порог ⇒ увеличить скалярное произведение2. yi = 1 ∧ yi = 0⇒ уменьшить веса при тех входах равных 1
I перешагнули порог ⇒ уменьшить скалярное произведение
15 / 55
Однослойный персептрон Розенблатта (1958 год)
Нейрофизиолог Френк Розенблатт предложил схему устройства,моделирующего процесс человеческого восприятия, и назвал его"персептроном". По мимо этого:
I показал, что персептрон может выполнять базовые логическиеоперации;
I разработал алгоритм обучения такой модели - метод коррекцииошибки;
I доказал сходимость алгоритма (теорема сходимостиперсептрона), но только для линейно разделимых классов;
I реализовал физический прототип такой модели;I реализовал первый в мире нейрокомпьютер "MARK-1".
16 / 55
Нейрокомпьютер MARK-1
17 / 55
Элементарный персептрон
Метод коррекции ошибки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
Недостатки элементарного персептрона, AND
19 / 55
Недостатки элементарного персептрона, XOR
20 / 55
Анимация сходимости для операций 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
Доказательства неэффективности нейронных сетей
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
Период "забвения"
Исследования искусственных нейросетей не спеша продолжаются, нов режиме поиска чего-то нового:
I 1972: Т. Кохонен разрабатывает новый тип нейросетей,способных функционировать в качестве памяти;
I 1975-1980: К. Фукусима разрабатывает когнитрон инеокогнитрон, совершенно новый тип многослойной сверточнойсети, созданной по аналогии со строением зрительной системы;
I 1982: Дж. Хопфилд разрабатывает новый тип нейросети собратными связями, выполняющей функции ассоциативнойпамяти;
I 1986: Дэвид Румельхарт, Дж. Хинтон и Рональд Вильямсразрабатывают вычислительно эффективный многослойныхнейросетей - метод обратного распространения ошибки (именноработа этих авторов возрождает интерес к нейронным сетям вмире).
23 / 55
Теорема универсальной аппроксимации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
Универсальный аппроксиматор
В чем проблема универсального аппроксиматора, исходя из условийтеоремы?
25 / 55
Демонстрация сходимости нейросети с одним скрытымслоем
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
Многоснойная нейронная сеть прямого распространения
Рис.: Архитектура сети с двумя скрытыми слоями8
8Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin27 / 55
Отличие персептрона Румельхарта от персептронаРозенблатта
I Нелинейная функция активации;I один и более скрытых слоев (до работ Хинтона по ограниченной
машине Больцмана, на практике не использовали более двухскрытых слоев, а чаще всего один);
I сигналы на входе и на выходе не обязательно бинарные;I произвольная архитектура сети (в рамках многослойности);I ошибка сети интерпретирует в смысле некоторой меры, а не как
число неправильных образов в режиме обучения.
28 / 55
Модифицированная модель нейрона МакКаллока-Питтса
Рис.: Схема искусственного нейрона9
9Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin29 / 55
Функция активацииЗадача функции активации - ограничить амплитуду выходногозначения нейрона; чаще всего для этого используется одна изсигмоидальных (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
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
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
Градиентный спуск, #1
Алгоритм backprop - это модификация классического градиентногоспуска. Параметрами модели являются только веса всех нейроновсети:
δ(n)ij = −η
∂E(~y (n), ~t
)∂w
(n)ij
(3)
I η - скорость обучения (спуска, learning rate)I ~y (n) - вектор выходов нейросети (выходы последнего слоя)I ~t - ожидаемые выходы нейросети для текущего примера
Есть идеи?
33 / 55
Градиентный спуск, #2
I∂E
∂w(n)ij
=∂E
∂z(n)j
∂z(n)j
∂w(n)ij
I ???
34 / 55
Градиентный спуск, #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
Градиентный спуск, выходной слой, #1
I∂E
∂w(n)ij
= x(n−1)i
∂E
∂z(n)j
I E (y(z), t) ???
36 / 55
Градиентный спуск, выходной слой, #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
Градиентный спуск, любой скрытый слой, #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
Градиентный спуск, любой скрытый слой, #2
Рис.: Схема прямого (нелинейного) и обратного (линейного)распространения сигнала в сети
39 / 55
Градиентный спуск, любой скрытый слой, #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
Градиентный спуск, любой скрытый слой, #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
Некоторые функции стоимости, #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
Некоторые функции стоимости, #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
Некоторые функции активации, #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
Некоторые функции активации, #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
Режимы обучения
I online learningI batch learningI full-batch learning
46 / 55
Регуляризация в нейронной сети, #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
Регуляризация в нейронной сети, #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
Регуляризация в нейронной сети, #2
(a) RBM, no reg (b) RBM, L2 reg
Рис.: Иллюстрация эффекта регуляризации
49 / 55
Регуляризация в нейронной сети, #3
(a) RBM, L2 reg (b) RBM, L1 reg
Рис.: Иллюстрация эффекта регуляризации
50 / 55
Критерий остановки
Рис.: Кроссвалидация
51 / 55
Ускорение сходимостиДобавление момента обучения:
∆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
Планы
I softmax слой в сети прямого распространенияI обучение без учителя;I стохастический нейрон и стохастическая нейросеть;I ограниченная машина Больцмана.I глубокие сети
53 / 55
Вопросы