Обратное распространение ошибки
Нейронная сеть
Режимы функционирования нейросетей
Виды обучения
Однослойная сеть
Многослойная сеть (2 слоя)
Слой нейросети
Сеть прямого распространения
Многослойная сеть прямого распространения (к слоев)
Обратное распространение ошибки
Фрагмент сети
Обучение по ошибке
Функции пакета Neural NetWork ToolBox MatLab
Алгоритмы
Neural Network object architecture
subobject structures:
functions:
trainParam:
weight and bias values:
Ошибка обучения
Ошибка обучения
Ошибка обобщения (теста)
Ошибка обобщения
Обучение сети. lab3_prim_2.m
Обучение сети
Обучение сети
Добавим обучения net_train2.m
Обучение сети
Обучение сети
Классификатор. newffLm.m
Траектория весов
результаты
Проблемы
Вопрос
634.00K
Category: informaticsinformatics

Обратное распространение ошибки. Практика

1. Обратное распространение ошибки

Практика
Корлякова М.О.
2019

2. Нейронная сеть

Число слоев/число нейронов по слоям
Обратные связи
Активационные функции
Число входов
Число выходов
Алгоритм настройки весов(обучения)
Тип задачи, решаемой сетью

3. Режимы функционирования нейросетей

Обучение
Работа

4. Виды обучения

С учителем
T={(Xi,di)}, i=1,N
Xi- входной вектор
di – выходной вектор
Без учителя
T={Xi}, i=1,N
Xi- входной вектор

5. Однослойная сеть

w
y1
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. Сеть прямого распространения

x1
1
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. Алгоритмы

TRAINCGB
TRAINBFG
TRAINOSS
TRAINGD
TRAINRP
TRAINLM

15. Neural Network object architecture

numInputs: 1
numLayers: 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 inputs
layers: {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 matrix
LW: {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

2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10

29.

2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10

30.

2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-8
-6
-4
-2
0
2
4
6
8
10

31.

2
1.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

14
12
10
8
6
4
2
0
-2
-2
0
2
4
6
8
10
12
14

35. Траектория весов

0.36
0.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.5
Y_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. Вопрос

Приведите общую схему обучения
многослойной сети с обратным
распространением ошибки.
English     Русский Rules