Similar presentations:
Обратное распространение ошибки. Практика
1. Обратное распространение ошибки
ПрактикаКорлякова М.О.
2019
2. Нейронная сеть
Число слоев/число нейронов по слоямОбратные связи
Активационные функции
Число входов
Число выходов
Алгоритм настройки весов(обучения)
Тип задачи, решаемой сетью
3. Режимы функционирования нейросетей
ОбучениеРабота
4. Виды обучения
С учителемT={(Xi,di)}, i=1,N
Xi- входной вектор
di – выходной вектор
Без учителя
T={Xi}, i=1,N
Xi- входной вектор
5. Однослойная сеть
wy1
OUT1
x1
y2OUT2
x2
yp OUTn
xn
персептрон
Слой 1
y i = fi (
е
l = 0,n
x l wl )
6. Многослойная сеть (2 слоя)
Слой 0Слой 1
W2к
W1w
x1
Слой 2
y1
1
1
y2
x2
2
2
yk
y
xn
m
k
2
yi = fi (
е
j = 0.m
2
f j ( е xl wl )W j )
1
1
l = 0,n
7. Слой нейросети
Группа нейронов сети:Общие функции (задачи)
Общие внешние связи
Общие входы
Зачем выделять слой?
8. Сеть прямого распространения
x11
x2
2
Слой 0
x3
i
m
Слой 1
y1
ym
9. Многослойная сеть прямого распространения (к слоев)
w1(11)X1
wk(11)
1
1
y1
1
D1
-
E1
w2(1s)
X2
Eyi
i
wk(i,j)
yj
j
Dj
-
Exj
j+1
Yj+1
…
…
…
…
Xn
W 1(nm)
Dj+1
…
yp
m
1
s
p
k-1
y i = fi (
е
j = 0.m
Dp
-
k
Ep
f j ( е xl wl )W j )
l = 0,n
10. Обратное распространение ошибки
11. Фрагмент сети
скрытыйПредварит
слой
p-2j-1
слой
скрытый
Скрытый
слой
p-1
слой j
Выходной
слой (к)
w11,k
Yj(n)
w12,k
OUT i
i
Si(n)
Yi(n)
Q
ней
рон
d1,k
E(n)
w1n,k
ej
Слой p
12. Обучение по ошибке
Глобальная задача – сложная.E(n)= ej(n)2
ej(n)=Dj-Yj(n)
Зависит от всех настраиваемых
параметров.
13. Функции пакета Neural NetWork ToolBox MatLab
net = newff([0 8],[2 1],{'tansig' ‘purelin'},'trainlm');net=train(net,p,t);
y2 = sim(net,p)
lab3_prim.m
14. Алгоритмы
TRAINCGBTRAINBFG
TRAINOSS
TRAINGD
TRAINRP
TRAINLM
15. Neural Network object architecture
numInputs: 1numLayers: 2
biasConnect: [1; 1]
inputConnect: [1; 0]
layerConnect: [0 0; 1 0]
outputConnect: [0 1]
targetConnect: [0 1]
16.
numOutputs: 1 (read-only)numTargets: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)
17. subobject structures:
inputs: {1x1 cell} of inputslayers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
targets: {1x2 cell} containing 1 target
biases: {2x1 cell} containing 2 biases
inputWeights: {2x1 cell} containing 1 input weight
layerWeights: {2x2 cell} containing 1 layer weight
18. functions:
adaptFcn: 'trains'initFcn: 'initlay'
performFcn: 'mse'
trainFcn: 'trainlm'
19. trainParam:
.epochs,.goal,
.show,
.time
20. weight and bias values:
IW: {2x1 cell} containing 1 input weight matrixLW: {2x2 cell} containing 1 layer weight
matrix
b: {2x1 cell} containing 2 bias vectors
21. Ошибка обучения
(Р, Т) – обучающая выборкаР – входные вектора
Т – выходные вектора
net – нейронная сеть
Y=sim(net, P) – выходы сети
Средняя Абсолютная ошибка обучения
Е_обучения =mean(abs(Y-T))
22. Ошибка обучения
(Р, Т) – обучающая выборкаР – входные вектора
Т – выходные вектора {-1, 1}
N – число обучающих пар
net – нейронная сеть
Y=sim(net, P) – выходы сети
Ошибка классификации обучения
Е_обучения_cls =sum((sign(Y)=~T))/N
23. Ошибка обобщения (теста)
(Р_тест, Т_тест) – тест выборкаР_тест – входные вектора
Т_тест – выходные вектора
net – нейронная сеть
Y_тест=sim(net, P_тест) – выходы сети
Средняя Абсолютная ошибка обучения
Е_тест =mean(abs(Y_тест-T_тест))
24. Ошибка обобщения
(Р_тест, Т_тест) – тест выборкаР_тест – входные вектора
Т_тест – выходные вектора {-1, 1}
N – число тестовых пар
net – нейронная сеть
Y_тест=sim(net, P_тест) – выходы сети
Ошибка классификации обучения
Е_тест_cls =sum(abs(sign(Y_тест)-T_тест))/N
25. Обучение сети. lab3_prim_2.m
3 – нелинейных нейрона, градиентныйалгоритм
Без
Обучения
Целевое
состояние
Обучение
26. Обучение сети
8 – нелинейных нейронов, градиентныйалгоритм
Без
Обучения
Целевое
состояние
Обучение
27. Обучение сети
8 – нелинейных нейронов, градиентныйалгоритм
Без
Обучения
Целевое
состояние
Обучение
28. Добавим обучения net_train2.m
21.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10
29.
21.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10
30.
21.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10
31.
21.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10
32. Обучение сети
8 – нелинейных нейронов, сопряженноградиентный алгоритм, 100 эпохБез
Обучения
Обучение
Целевое
состояние
33. Обучение сети
8 – нелинейных нейронов, сопряженноградиентный алгоритм, 600 эпохБез
Обучения
Обучение
Целевое
состояние
34. Классификатор. newffLm.m
1412
10
8
6
4
2
0
-2
-2
0
2
4
6
8
10
12
14
35. Траектория весов
0.360.34
0.32
0.3
0.28
0.26
0.24
0.22
0.2
0.18
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
36. результаты
1.5Y_net, T
1
0.5
ошибка
0
1.6
1.4
-0.5
1.2
1
-1
0.8
-1.5
0
100
200
300
400
500
600
700
0.6
800
0.4
0.2
0
0
100
200
300
400
500
600
700
800
37. Проблемы
Локальные минимумыПереобучение
Паралич сети
Устойчивость/пластичность
38. Вопрос
Приведите общую схему обучениямногослойной сети с обратным
распространением ошибки.