
- •1.3. Активаційні функції нейронів
- •4. Одношарові нейронні мережі
- •1.5. Персептрони і зародження штучних нейромереж
- •1.6. Багатошарові нейронні мережі
- •1.7. Навчання нейронних мереж
- •1.8. Алгоритм зворотного розповсюдження помилки (backpropagation)
- •2. Порядок виконання лабораторної роботи Завдання для варіантів V 1...V 100
- •Довідка для роботи з програмою „NeuroNet_Image_12”
- •Контрольні запитання та завдання
- •Список використаної літератури
2. Порядок виконання лабораторної роботи Завдання для варіантів V 1...V 100
1. Згідно з номером
варіанта (V)
створити 4 початкові чорно-білі /бітові/
зображення (еталони) друкованих символів
(табл. 2.1) розміром 16*16 пікселів
(зображення зберегти у файлах формату
*.bmp). Якщо номер варіанта
,
то шрифт символів звичайний; якщо
,
то шрифт курсивний; якщо
,
то шрифт напівжирний; якщо
,
то шрифт напівжирний курсивний. Назви
файлів початкових зображень вибрати
відповідно до назви символів (наприклад,
файлА1.bmp для
символу „А”).
Для кожного початкового зображення створити наступні зображення розміром 16*16 пікселів (рис. 2.1):
зміщене / Shift / (назва файлу, наприклад, А1_S1.bmp);
повернуте / Rotate / (назва файлу, наприклад, А1_R1.bmp);
пошкоджене / Damage / (назва файлу, наприклад А1_D1.bmp);
масштабоване /sCale / (назва файлу, наприклад А1_С1.bmp).
а б
в
г
Рис. 2.1. Зображення символу „А”: а– початкове; б – зміщене;
в – повернуте; г – пошкоджене
Зміни зображень символів можна виконати за допомогою, наприклад, програм Paint та Adobe Photoshop.
2. Створити навчальну вибірку нейромережі – отримані 20 зображень записати у папку „Neuro_Data\Neuro_Train”, яка розміщена у папці головної програми (рис. 2.2).
Рис. 2.2. Фрагмент навчальної (train) вибірки ШНМ
Перелік зображень навчальної вибірки записати у файл „File_Name_tx1.txt” (рис. 2.3 а). У файл назв класів “Class_Name_ty1.txt” (рис. 2.3 б) записати назви символів згідно варіанту, при цьому назви класів пронумерувати (починаючи з 1 із кроком 1). У файлі навчальної вибірки (рис. 2.3 а) перед назвою кожного зображення записати номер відповідного класу (рис. 2.3 б). У вищеописаних файлах в кожному рядку номер і назва повинні розділятися одним пробілом.
а)б)
Рис. 2.3. Структура файлу навчальної вибірки (а) та файлу назв класів (б)
3. Створити тестову вибірку нейромережі з 16-ти зображень. Для цього на основі кожного початкового зображення потрібно створити 4 змінених зображення (аналогічно як для навчальної вибірки, але величина трансформації не повинна бути не більшою, ніж для відповідного зображення навчальної вибірки). Отримані 16 змінених зображень записати у папку „Neuro_Data\Neuro_Recogn”, яка розміщена у папці головної програми (рис. 2.4).
Рис. 2.4. Фрагмент тестової вибірки ШНМ
4. Виконати навчання ШНМ за допомогою програми „NeuroNet_Image_12” (рис. 2.5). Для цього потрібно спочатку встановити параметри навчання нейронної мережі (рис. 2.6). Навчання провести для таких значень допустимої похибки навчання mse_Min: 10-2, 10-3, 10-4 (всі інші параметри – за замовчуванням); для кожного випадку записати час навчання мережі та зберегти матриці ваг W у відповідних файлах.
5. Виконати розпізнавання 16-ти зображень створених символів з папки „Neuro_Data\Neuro_Recogn” за допомогою ШНМ, використовуючи матриці ваг W, отримані для різних значень допустимої похибки. Для кожного зображення записати отриманий вихідний вектор Y (рис. 2.7) та результат розпізнавання (оформити у вигляді таблиці звіту). На основі отриманих даних зробити висновки про ефективність розпізнавання. Які зображення розпізнаються краще?
6. Провести навчання ШНМ при зміні кількості нейронів у прихованих шарах (рис. 2.6) на величину -50 % та +50 %. Для парних варіантів змінювати кількість нейронів у шарі 1 (QV1), а для непарних – у шарі 2 (QV2). Всі значення часу навчання оформити у вигляді таблиці звіту. На основі отриманих даних зробити висновки про ефективність навчання.
7. Виконати навчання ШНМ при ввімкнених прапорцях візуалізації (рис. 2.6) та в покроковому режимі. Зробити 3 екранні форми для різних кроків та пояснити їх (додати до звіту).
Таблиця 2.1
Символи для варіантів V
(V1= V; якщо V > 30, то V1 = V - 30)
V1 |
Символ |
|
V1 |
Символ | ||||||
1 |
2 |
3 |
4 |
|
1 |
2 |
3 |
4 | ||
1 |
g |
е |
g |
е |
|
16 |
v |
с |
v |
с |
2 |
h |
є |
h |
є |
|
17 |
w |
т |
w |
т |
3 |
i |
ж |
i |
ж |
|
18 |
x |
у |
x |
у |
4 |
j |
з |
j |
з |
|
19 |
y |
ф |
y |
ф |
5 |
k |
и |
k |
и |
|
20 |
z |
х |
z |
х |
6 |
l |
і |
l |
і |
|
21 |
ы |
ц |
э |
ц |
7 |
m |
ї |
m |
ї |
|
22 |
э |
ч |
Ы |
ч |
8 |
n |
й |
n |
й |
|
23 |
1 |
ш |
6 |
ш |
9 |
o |
к |
o |
к |
|
24 |
2 |
щ |
7 |
щ |
10 |
p |
л |
p |
л |
|
25 |
3 |
ю |
8 |
ю |
11 |
q |
м |
q |
м |
|
26 |
4 |
я |
9 |
я |
12 |
r |
н |
r |
н |
|
27 |
5 |
ь |
0 |
ь |
13 |
s |
о |
s |
о |
|
28 |
d |
б |
d |
б |
14 |
t |
п |
t |
п |
|
29 |
e |
г |
e |
г |
15 |
u |
р |
u |
р |
|
30 |
f |
д |
f |
д |
8. Для одного з випадків навчання записати параметри різниці векторів D (рис. 2.9) для шару 2 на початку навчання та після його завершення, провести аналіз їх зміни та зробити відповідні екранні форми.
9. Додаткове завдання. Розглянути будову і функціонування програми „NeuroNet_Image_12” на рівні програмного коду. Створити спрощену схему алгоритму програми (оператори візуалізації та роботи з файлами не враховувати).