2.3. Обучение сети
После создания нейронной сети необходимо задать параметры обучения в окне на рис. 2.7.
Здесь
Использовать для обучения сети % выборки - все примеры, подаваемые на вход нейросети, делятся на 2 множества – обучающее и тестовое. Этот параметр определяет, сколько процентов примеров будут использоваться в обучающей выборке. Записи, используемые для тестирования, выбираются случайно, но пропорции сохраняются.
Скорость обучения - параметр определяет амплитуду коррекции весов на каждом шаге обучения.
Момент - параметр определяет степень воздействия i-ой коррекции весов на i+1-ую.
Распознана, если ошибка по примеру< - если результат прогнозирования отличается от значения из обучаемого множества меньше указанной величины, то пример считается распознанным.
Использовать тестовое множество как валидационное - при выборе этой опции обучение будет прекращено, как только ошибка на тестовом множестве начнет увеличиваться. Это помогает избежать ситуации переобучения сети.
Критерии остановки обучения – осуществляется выбор условия завершения процесса обучения нейронной сети.
Рис. 2.7 – Окно задания параметров обучения
Далее, в окне на рис. 2.8 можно запустить процесс обучения и наблюдать ход обучения нейронной сети
Здесь
Пуск обучения/остановка обучения - запуск процесса обучения. В таблице над кнопкой можно наблюдать, как меняется ошибка обучения.
Распределение ошибки - на диаграмме отображается распределение ошибки. Зеленые столбцы – ошибка на обучающей выборке, красные – на тестовой выборке. Чем правее столбец, тем выше значение ошибки. Шкала от 0 до 1. Чем выше столбец, тем больше примеров с указанной ошибкой.
Распределение примеров в обучающей/тестовой выборке - на этих графиках можно отслеживать насколько результаты, предсказанные нейронной сетью, совпадают со значениями в обучающей (слева) и тестовой (справа) выборке. Каждый пример обозначен на графике точкой. Если точка попадает на выделенную линию (диагональ), то значит, сеть предсказала результат с достаточно высокой точностью. Если точка находится выше диагонали, значит, сеть недооценила, ниже – переоценила. Необходимо добиваться, чтобы точки располагались как можно ближе к диагонали.
Рис. 2.8 – Ход и результаты обучения сети
2.4. Проверка результатов обучения
После того как сеть обучена, можно проверить результаты обучения (рис. 2.9).
Рис. 2.9 – Проверка обучения
3. Задание на лабораторную работу
Создать НС, предназначенную для распознавания цифр от 0 до 9. Количество входов НС равно количеству точек в растре (рис. 2.10). Наличие черного квадрата (пикселя) соответствует 1, отсутствие 0. Выход НС один. Каждой цифре соответствует определенный уровень выходного сигнала (1-1; 2-2, 4-4 и т.д.)
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Рис. 2.10. Растр
Например, цифру 1 можно изобразить следующим образом:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.11. Пример изображения цифры «1»
б) Нарисовать структуру НС, распознающей цифры.
в) Результаты обучения представить в виде таблицы (табл. 2.2).
Таблица 2.2
|
Значение на выходе |
Ошибка |
|
НС |
|
0 |
|
|
1 |
|
|
. |
|
|
. |
|
|
9 |
|
|
г) предъявить обученной нейронной сети измененные цифры, оценить ошибку распознавания, результаты занести в таблицу
Таблица 2.3
|
Значение на выходе |
Ошибка |
|
НС |
|
0* |
|
|
1* |
|
|
. |
|
|
. |
|
|
9* |
|
|