Brief and overall introduction to Artificial Neural Network (ANN).
-history of ANN
-learning technique (backpropagation)
-Generations of Neural net from 1st to 3rd
2. Warren McCulloch and Walter Pitts (1943) created a
computational model for neural networks based on
mathematics and algorithms. They called this model
threshold logic.
Neural networks, as used in artificial intelligence, have
traditionally been viewed as simplified models of neural
processing in the brain.
Introduction
29. Learning as a Function Minimization
Given:
X=(X1...Xk) input vectors, Xi∈Rn
A=(A1...Ak) correct output vectors, Ai∈Rm
(X,A) learning set
W vector which contains all weights
N(W,X) neuron network’s function
Y = N(W,X) neuron network’s response Y∈Rm
D(Y,A) = ∑m
j=1(Y[j]-A[j])2 error function
D(Yi)=D(Y,Ai) error function on i-th example
Ei(W)=Di(N(W,Xi)) network’s error on i-th example
E(W)=∑k
i=1Ei(W) network’s error in whole set
Goal:
Find vector W such that E(W)➝min (learning in the whole set)
Find vector W such that Ei(W)➝min (learning in the particular example)
31. Gradient Descent Method
Algorithm for single variable Algorithm for GDM
1. Initialize x1 with random value from
R
2. i=1
3. xi+1 = xi-દf’(xi)
4. i++
5. if f(xi ) - f(xi+1) > c goto 3
1. Initialize W1 with random value
from Rn
2. i=1
3. Wi+1 = Wi-દ▽f(Wi)
4. W++
5. if f(Wi ) - f(Wi+1 )> c goto 3
33. Backpropagation Method
Given:
X=(X1...Xk) input vectors, Xi∈Rn
A=(A1...Ak) correct output vectors, Ai∈Rm
(X,A) learning set
W vector which contains all weights
N(W,X) neuron network’s function
Y = N(W,X) neuron network’s response Y∈Rm
D(Y,A) = ∑m
j=1(Y[j]-A[j])2 error function
D(Yi)=D(Y,Ai) error function on i-th example
Ei(W)=Di(N(W,Xi)) network’s error on i-th example
E(W)=∑k
i=1Ei(W) network’s error in whole set
Goal:
Find vector W such that E(W)➝min (learning in the whole set)
Find vector W such that Ei(W)➝min (learning in the particular example)
36. Backpropagation Method
Dk(y1,y2)=(y1- a1)2 + (y2- a2)2
= 2(y1- a1) = 2(y2- a2)
y1=y1(w01,w11,w21) = f( sssssssssss )
But y1 is also a function. Let’s consider it as function of weights.
Now we are able to calculate its partial derivatives.
38. Backpropagation Method
Dk(y1,y2)=(y1- a1)2 + (y2- a2)2
= 2(y1- a1) = 2(y2- a2)
y1=y1(w01,w11,w21) = f( ssssssssss )
= f’(S1) x2 = 0
Ek(W)=Dk(y1(w01, w11, w21 ), y2 (w02, w12, w22 ))
y2=y2(w02,w12,w22) = f( sssssssssss )
And now we are able to calculate
partial derivative to function Ek on
each weight.
43. Backpropagation Method
yi = yi(x1 , … , xm ) xj = xj(v0j , … , vrj )
If would be that Dk= Dk(x1 ,.., xm ) it means that
44. Backpropagation Method
yi = yi(x1 , … , xm ) xj = xj(v0j , … , vrj )
If would be that Dk= Dk(x1 ,.., xm ) it means that
We don’t know only that, so let calculate it!
45. Backpropagation Method
Dk(y1,y2)=(y1- a1)2 + (y2- a2)2
= 2(y1- a1) = 2(y2- a2)
y1=y1(w01,w11,w21) = f( sssssssssss )
Now let’s consider f function as a function of xi and
calculate its derivative
46. Backpropagation Method
Dk(y1,y2)=(y1- a1)2 + (y2- a2)2
= 2(y1- a1) = 2(y2- a2)
y2=y2(w02,w12,w22) = f( sssssssssss )
Now let’s consider f function as a function of xi and
calculate its derivative
47. Backpropagation Method
Dk(y1,y2)=(y1- a1)2 + (y2- a2)2
= 2(y1- a1) = 2(y2- a2)
y1=y1(w01,w11,w21) = f( sssssssssss )
Now we are able to calculate
derivative of Dk function of x1
50. Offline Learning
Train the ANN
on example set
Use the ANN
on the real data
But what if the real data is not i.i.d.?
51. Online learning
1. Receive an instance
2. Predict the outcome
3. Obtain the real outcome
Learn one instance at a time
However, in practice it is not always possible
to obtain the real outcome
52. Spiking Neural Network
● Third-generation of ANN models
● Adds the concept of time to the neuron
● One SNN neuron can replace hundreds of
hidden neurons in conventional ANN models
● Requires huge computational power
0)
Introduction
1)
-Биологический нейрон и его модель (7-1)
-Персептрон и булевые функции
-Обучение персептрона
-Демонстрация обучения
2)
-Функция XOR и многослойный персептрон (7-5)
- Обучение как минимизация функции (8-1)
- Метод градиентного спуска (8-2)
3)
- Обратное распространение ошибки, веса (8-4)
- Обратное распространение ошибки, входы (8-5)
- Обратное распространение ошибки, пояснения (8-6)
- Локальные и глобальные минимумы (8-7)
4)
8-8 Онлайн и оффлайн обучение
- 8-9 Методы ускорения обучения
и по желанию что нить из 4-ого
5)
потом добавить про новый нейробиологическо инсперированный подоход к енйросети
поговорим об истоках нейронной сети, Мы знаем что нейронные сети были предложены McCulloch-Pitts была представлена как модель биологическмих нейронов. Это была попытка создания искусственного интелекта моделирования имитации его внутренней структуры . И если мы скопируем смоделируем внутреннее устройство мозга возожно нам удастся его создать. И действительно это привело довольно к хорошим результатам Не ахти но нейронные сети могут решать многие довольно сложные задачи.
Давай поговорим о нервной системе. нервная система есть практически у всех представителей царства животных. кроме губок. Потому что они представляют практически собой пласты колоннии клеток это уже начало симбиоза разных клеток внутри одного организма, но самое примитивное его стадия. Чем больше клеток в организме тем он сложнее, и требуется как то координировать функцию всех этих клеток: передавать информацию от одних клеток другим. Иммено этой цели служит нервная система. Нервная система состоит из нейронов. Выглядит это так:
нейрон:
это тело клетки которая называется сомой.
это ядро
имеет 2 типо отростка:
дендриды: отростки по которым нейроны поступают, им много и они ветвящиеся
аксон: по которому инфомрация из нейрона выходит и передается следующему нейрону через синапс.
вот здесь видно соединение дендрина одного нейрона с отростками аксона другого нейрона.
Таким образрм нейроны соединятся в между собою образуя сети.
Каким образм это все работает?
Нейроны передают друг другу инфомрацию через синапсы. Каждый нейрон может нахолиться в возбужденном или стационарном состоянии: в возбужденном состоянии он проводит ток а станционарном не проводит. Таким образом у нас появляются проводящие учатски по которым идут импульсы и таким образом информация передается по нервным тканям.
Нейроны могут переходить из состояния в состояние. И меняя состояния они руководствуюдся мнением соседних нейронов:
Внутри аксонового отростка есть специальные молекулы которые называются нейромедиторами: это сератонин дофамин адреналин.
И когда нейрон находится в возбужденном состоянии эти молекулы проникают через синапс в клетку 2-ого нейрона.
некоторые нейромедиаторы оказывают тормозящий эффект, что способствует его переход в стационарное состояние, а некоторые оказывают возбуждающее воздейстие.
После того как возбуждающих становится больше чем тормозящих этот второй нейрон перейдет в возбужденное состояние и тоже начнет передавать электрический ток и начнет передавать нейромедиаторы уже тем нейронам которые подключены к нему.
Таким образом это распространяется по нервным тканям, возбужденные нейроны выстраиваются в цепочки и по ним идет ток (к примеру мышеч клетки заставляя их сокращаться )
А возбуждение распространяется по сети при помощи нейромедиаторов
Таким образ в нервной ткани формируются нейронные дуги.
Так, на входе, откуда возникает самый 1-ый импульс?
Импульсы возникают от рецепторных клеток. Эти рецепторные клетки передают возбуждение рецепторным нейронам которые соединены непосредственно с ними, те передают возбуждение интронейронам то есть промежуточным нейронам. и так постепенно сигнал доходит до эффекторных клеток. В первую очередь ээто клетки мускулатурные и железы. То есть нервная система имеет возмоность управять гормональной системой. Вот это все называется рефлекторной дугой. от рецептора до эффектора.
Есть длинные рефлеторные дуги (как коленное) и длинные.
Могут быть более сложные рефлеторные дуги: они могут заходить в разные отделы головного мозга как например те рефлеторные дуги которы управляют нашей речью, управляют нашим восприятием, мышлением они заходят в лобную доли и вот там как то вот из всех вот этих цепей вызревает наше осмысленное поведение. Тем не менее простейшая регуляция она есть у малюсков и на самом деле там так мало нейронов что возможно составить карту всех нейронов. и проследить каким именно образом разложение тех или иных рецепторов управляет эфеекторами.
Вот эту модель и была использована в работе McCulloch-Pitts, они ввели математическую модель нейрона устроенного следующим образом.- Фактически нейрон это функция, которая вычисляет свое значение по нескольки переданным в нее параметрам.
Графически нейрон можно представить следующим образом. Вот это клетка нейрона, вот входящие в нейрон ифнормация, то есть нейкий аналог дендридных окончаний, и вот исходящая из нейрона информация которая соответсвует аксону.
На вход нейрону подаются сигналы, x1 x2 x3. Сигнал это обычные числа.
Далее нейрон получив эти сигналы вычисляет их взвешанное произведение. С каждым входом ассоциирован его вес. каждый сигнал умножается на вес соотв входа.
ps: веса позволяют моделировать различия в синапсах. Если вес положительный то этот синапс получается разгоняющим, как будто он передает разгоняющий нейромедиатор. и в то же время разная интесивность влияние входов на общий результат, тоже достигается за счет больших или ментьших весов. То есть X1 2 3 это входы в дендриды и выходы из аксонов предыдущего, w 1 2 3 это настройки синапса. и y это резальтат.
y вычисляется как некая нелинейная сумма от взвешанной суммы. и к примеру это может быть фкнкция сигнум. То есть функция которая равна -1 при отриц арг и +1 при полож.
Вот такая модель достаточно грубая но она передает основные черты системы. Различное влияние нейроном друг на длруга. учет совместный всех этих влияний. и к тому же нелинейный порог которая на самом деле в нейронныхсистемах тоже есть, потому что нейрон он не может быть в промежуточном состоянии. Либо возюужден либо стационарен.
Вместо sign может исопльзоваться и другая функция, важно чтобы она была нелинейной.
Например гиперболический тангенс с коэффициентом b, то есть это такой непрерывный аналог sign: sign в некотором смысле это предельное поведение гиперболического тангенса.
Этот коэффициент позволяет нам управлять раз мазонностью тангенса. Вот если коэффициент гамма больше чем бета то то функция будет больше похожа на сигнум ну и sign это как бы когда этот коэффициент равен безконечности. Вот благодаря этому тангенсу мы будем применять непрерывную математику к нейрону.Такие фкнции называются биполярными, потому что у них два поля(прокрутить слайды обратно)
+ и - один . Есть так же униполярная, например вычисляемая по этой формуле она позволяет она позволяет получить нелинейную ту же саму картину от 0 до 1 .Но нам проще будет использовать биполярные функции.
В модель нейрона часто вводят так называемую модель активации, Это дополнительный вес, на который всегда подается единичный сигнал.
Он как бы соответствует родному порогу возбудимости. То есть он может быть очень сильно возбудимым нейроном. Если вес w0 положителен, то он всегда имеет нектурую предрасположенность. То есть его надо затормозить чтобы перевести в стационарное состояние. Или он отрицателен и тогда надо приложить дополнительные усилия. чтобы нейрон открылся.
На самом деле формально мы добавляем сюда дополнитеьный вход и считаем что на него всегда подается единичный сигнал. что он не свзяан с выходами других нейронов. с эффекторными клетками, а связан с единичкой.
На самом деле нейронная сеть и нейроны McCulloch-Pitts не является хорошими математическими моделями нейрона, этоочень упрощенный подход.
В настоящий момент поведение нейронов оячень хорошо изучены и отлично расписаны дифференциальные уравнения которые точно описывают поведение нейроновНо грубы модели считаются очень юыстро а точные модели вычисля.тся очень долго
Мы с рождения умеет распозновать лица, делает нас восприимчивыми к языкам.
Эти нейроны позволяют решать задачи даже эта грубая модель.
замечательоне Свойства
они могут реализовывать различные функции а именно логическкие функции, и казалось что нервные клетки магиячески реализуют знания, но оказалось оно реализуют то же самое поведение что и логические функции.
Это означает что наше мысшление основано на логике.
Например я хочу построить нейрон которая реализует функцию конъюнкции.Еще раз отмечу то что в нейронных сетях ложь это минус единицы. Вспомним что y вычисляется как взвешанный сигнал его суммы. Тогда единственная возможность настроить его это подобрать правильно коэффициенты .
То есть правильно настроить synapse кто же время это имеет биологическое сходность мохнатая не перестраивается, меняются привычки, появляется память. Не за счет того что нейроны как то видоизменяются, а за счет того что между ними появляется синапс когда мы учим что то тогда появляютсясинапсы которые формиру.т части нашего мозга. Тем самым мы запоминаем. То есть обучение человека формирование нового поведения то есть формирование новых ассоциации внутри головного мозга возникает за счет формирования новых синапсов а не за счет того что отдельные клетки каким-то образом обучаются и меняют свое поведение . Клетки остаются те же самые только меняются соединения между ними. И то же самое в нейронной сети : функция которая вычисляет математический нейрон, оно всегда одинаково, но она настраивается с помощью весов которое выполняет роль синапсов . Давайте вернемся к нашей логической функции .
x-ы здесь известны, мы ищем веса, для этого можно решить систему уравнений.
Так вот таким образом мы научились подбирая коэффициент подбирая настраивая синапсы. Много научили наш нейрон становится конъюнкцией.
Получается что математическая модель нейрона может становится то конъюнкцией дизъюнкцией, Толи отрицанием либо стрелка пирса и др.
как мозг то одно то другое
свойство их важное свойство это адаптивность по коэффициентам.
В зависимости от коэффициентов ,
Геометричекая интерпертация, одни точки с одной стороны другие с другой.
векторы w1 и w2 задают прямую в нашем случае, в общем случае он задает гиперплоскость, к примеру в 3d это была секущая плоскость.
w1 w1 определяют наклон и w0 определяет даленность от начала координат.Это геометрическая интерпретации возникает вот из этой формулы(пред слайд),
а в общем случаеи из формуллы суммы.
Наша прямая делит наше двумерное простаранство на 2 части.
Таким образом нейрон выполняте классификацию пространства и делаит на 2 части.
И точки одной части он классифицирует с единицей и точки другой с минус единицей.
С другой стороный нейрон классифицирует пространство, мы выбираем пространство признаков, помечаем что некоторые точки мы хотим чтобы попали в один класс а другие в другой.
решение системы неравенств это не очень интересно, так как это сложная задача.
С 3-мя входами это легко, но если взятьс большим кол-во входов весов, то решить соответсвующую систему неравенств очень тяжело.
Оказывается это не нужно, нейроны способны обучаться.
Они могут сами находить веса которые позволяют им становиться той или инйо функций.
К примеру метод известный как: Ensemble-Teacher Learning Perceptron.
сначала мы задаем вопрос нашему нейрону, то есть подаем на него входной вектор, он дает некторый ответ.
И мы сравниваем этот ответ с правильным.
После этого мы провожим оучение нейрона на правильном ответе. То есть нам нужно изначально знать как правильно.
Frank Rosenblatt.
То есть решаем данную задачу обучения не путем решения системы уравнений, а путем этого итерационного процесса обучения с учителем.
мы разуверились в 3-ем советчике он нерелевантный рандомный.
получаем sign(-1.5) = -1
В итоге мы обучили нейрон
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.
И вот именно эти клетки нейроны, моделировали McCulloch-Pittsd в своей работе.
Они ввели математичческую модель нейрона, утроенно оно следующим образом.
Фактически нейрон это функция, которая вычисляет свое значение по нескольким переданным в нее параметрам.