You are on page 1of 41

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДЕПАРТАМЕНТ ОСВІТИ І НАУКИ


ВИКОНАВЧОГО ОРГАНУ КИЇВСЬКОЇ МІСЬКОЇ РАДИ
(КИЇВСЬКОЇ МІСЬКОЇ ДЕРЖАВНОЇ АДМІНІСТРАЦІЇ)

КИЇВСЬКЕ ТЕРИТОРІАЛЬНЕ ВІДДІЛЕННЯ МАЛОЇ АКАДЕМІЇ НАУК УКРАЇНИ


(КИЇВСЬКА МАЛА АКАДЕМІЯ НАУК)

відділення: комп’ютерні науки

секція: інформаційні системи, бази даних та системи штучного інтелекту

ОПТИМІЗАЦІЯ НАВЧАННЯ НЕЙРОННИХ МЕРЕЖ

РОБОТУ ВИКОНАВ:
Макаренко Максим Олегович
дата народження: 11.04.2006 р.
учень 9 класу
Технічного ліцею міста Києва
Домашня адреса: Київ,
Дарницький бульвар, 10 а
Контактний телефон: +380973701192
Педагогічний керівник:
Рибак Ольга Стефанівна,
Технічний ліцей міста Києва,
вчитель інформатики
вищої кваліфікаційної категорії,
вчитель методист,
роб. телефон 044-221-13-97
Науковий керівник
Дем’яненко Валентина Борисівна,
Кандидат педагогічних наук,
Відділ інформаційно-дидактичного
моделювання, Завідувач відділу, 
Національний центр «Мала академія наук
України»
КИЇВ – 2021
Київське територіальне відділення Малої академії наук України
(Київська Мала академія наук)

Анотація

Макаренко Максим Олегович,


учень 9 класу Технічного ліцею міста Києва

Науковий керівник: Дем’яненко Валентина Борисівна, к.п.н.

Педагогічний керівник: Рибак Ольга Стефанівна, вчитель інформатики


Технічного ліцею м. Києва

Оптимізація навчання нейронних мереж


Дослідницьку роботу присвячено аналізу можливостей оптимізації навчання
нейронних мереж.

Досліджено відомі методи оптимізації навчання штучних нейронних мереж.


З’ясовано, що досліджені методи неповною мірою забезпечують одночасно
високу якість та швидкість тренування і саме тому пошук нових методів
оптимізації навчання нейронних мереж є актуальною та перспективною задачею.

Змодельовано залежність між характеристиками нейронних мереж та їх


оптимізаційними показниками.

Розроблено програмне забезпечення для формування набору даних про


навчання та роботу нейронних мереж створених на основі випадкових
характеристик.

Проаналізовано отримані дані методами візуального аналізу, первинного


аналізу вибірки, лінійного регресійного аналізу.

Розроблено нейронну мережу для оптимізації навчання нейронних мереж.

Ключові слова: Машинне навчання, нейронні мережі, тренування


нейронних мереж, оптимізатор, функція оптимізації, функція втрат, критерій
якості, Backpropagation, регресійний аналіз, класифікація.
3
ЗМІСТ

ВСТУП..............................................................................................................................5

РОЗДІЛ 1 ТЕОРЕТИЧНІ ЗАСАДИ ДОСЛІДЖЕННЯ.................................................7

1.1. ПОНЯТТЯ НЕЙРОННИХ МЕРЕЖ......................................................................................7


1.2. НЕЙРОННІ МЕРЕЖІ ПРЯМОГО ПОШИРЕННЯ.....................................................................8
1.3. ЗГОРТКОВІ НЕЙРОННІ МЕРЕЖІ.......................................................................................9
1.4. РЕКУРЕНТНІ НЕЙРОННІ МЕРЕЖІ...................................................................................12
1.5. АЛГОРИТМ НАВЧАННЯ НЕЙРОННИХ МЕРЕЖ..................................................................13
1.5.1. Градієнтний спуск..........................................................................................13
1.5.2. Backpropagation.............................................................................................14
1.5.3. Критерій якості та функція втрат..................................................................15
ВИСНОВКИ ДО РОЗДІЛУ 1.................................................................................................16
РОЗДІЛ 2 АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ...................................................17

2.1. ЗАЛЕЖНІСТЬ МІЖ КЛАСОМ ОПТИМІЗАТОРА ТА ЧАСОМ НАВЧАННЯ НЕЙРОННИХ МЕРЕЖ.....17


2.2. ЗАЛЕЖНІСТЬ МІЖ РОЗМІРОМ НАВЧАЛЬНОЇ ВИБІРКИ, ВТРАТАМИ ТА ЧАСОМ НАВЧАННЯ
НЕЙРОННИХ МЕРЕЖ.........................................................................................................19
2.3. ЗАЛЕЖНІСТЬ МІЖ АРХІТЕКТУРНИМИ ХАРАКТЕРИСТИКАМИ, ВТРАТАМИ ТА ЧАСОМ НАВЧАННЯ
.....................................................................................................................................20
2.5. ФАКТОРНИЙ АНАЛІЗ ТА КОМБІНОВАНИЙ ВІЗУАЛЬНИЙ АНАЛІЗ........................................22
2.6. РІВНЕВИЙ. ФАКТОРНИЙ ТА ВІЗУАЛЬНИЙ АНАЛІЗ...........................................................25
2.7. МОДЕЛЬ ЗАЛЕЖНОСТІ ОПТИМІЗАЦІЙНИХ ПОКАЗНИКІВ..................................................27
ВИСНОВКИ ДО РОЗДІЛУ 2.................................................................................................28
РОЗДІЛ 3 ОГЛЯД ВИКОРИСТАНИХ РІШЕНЬ........................................................29

3.1. ВИКОРИСТАНІ МОВИ ПРОГРАМУВАННЯ ТА СЕРЕДОВИЩА РОЗРОБКИ................................29


3.2. СКЛАДОВІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ОТРИМАННЯ І ОБРОБКИ СТАТИСТИЧНОГО
МАТЕРІАЛУ.....................................................................................................................29
ВИСНОВКИ ДО РОЗДІЛУ 3.................................................................................................30
ВИСНОВКИ...................................................................................................................31

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ.....................................................................33


4
5

ВСТУП
Актуальність: Відомі методи оптимізації навчання штучних нейронних мереж не
забезпечують одночасно високу якість та швидкість тренування. Тому пошук
нових методів оптимізації навчання нейронних мереж є актуальною та
перспективною задачею.
Мета: проаналізувати залежність між параметрами нейронних мереж та їх
оптимізаційними показниками. Змоделювати залежність між параметрами
нейронних мереж та їх оптимізаційними показниками. Розробити алгоритм
автоматизації навчання нейронних мереж.
Об’єкт дослідження: методи навчання нейронних мереж.
Предмет дослідження: оптимізація навчання нейронних мереж.
Для досягнення мети необхідно виконати низку завдань:
1. Узагальнити актуальні наукові напрацювання за темою;
2. Створити програмне забезпечення для збору статистичної інформації про
навчання та роботу нейронних мереж:
 зібрати статистичний матеріал про залежність часу навчання від класу
оптимізатора;
 зібрати статистичний матеріал про залежність втрат нейронної мережі
від класу оптимізатора та функції втрат;
 зібрати статистичний матеріал про залежність часу навчання та втрат
нейронної мережі від розміру навчальної вибірки;
 зібрати статистичний матеріал про залежність часу навчання та втрат
нейронної мережі від архітектурних характеристик нейронної мережі.
3. Проаналізувати отримані дані: візуальний аналіз, описовий аналіз,
факторний аналіз, аналіз розподілення, регресійний аналіз;
4. Створити програмне забезпечення для збору статистичної інформації про
навчання та роботу нейронних мереж, створених на основі випадкових
характеристи;
6
5. Проаналізувати отримані дані: візуальний аналіз, описовий аналіз,
факторний аналіз, аналіз розподілення, регресійний аналіз;
6. Змоделювати залежність між характеристиками нейронних мереж та їх
оптимізаційними показниками;
7. Розробити алгоритм автоматизації навчання нейронних мереж.
7

РОЗДІЛ 1
ТЕОРЕТИЧНІ ЗАСАДИ ДОСЛІДЖЕННЯ
1.1.Поняття нейронних мереж

Узагальнимо існуючі визначення нейронних мереж.

Джеймс Чен дає таке визначення нейронних мереж: «Нейронна мережа - це


низка алгоритмів, які призначені для розпізнавання основних взаємозв'язків в
наборі даних за допомогою процесу, що імітує роботу людського мозку.» [1]

Ноель Кейзерс дає таке визначення нейронних мереж: «Нейронні мережі- це


математичні моделі, що використовують алгоритми навчання, натхненні
біологічними нейронними мережами для обробки інформації.» [2]

Сарат Кумар дає таке визначення нейронних мереж: «Штучні нейронні


мережі - це представлення системи взаємопов'язаних штучних нейронів, які
обробляють вхідну інформацію за допомогою деякої цільової функції, яка
підбирається в результаті навчання.» [3]

Вікіпедія дає таке визначення нейронних мереж: «Штучні нейронні мережі -


це обчислювальні системи, натхненні біологічними нейронними мережами, які
складають мозок тварин .

Штучні нейронні мережі базуються на колекції з’єднаних одиниць або вузлів,


званих штучними нейронами, які моделюють нейрони біологічного мозку.» [4]

На основі узагальнення існуючих понять про нейронні мережі сформулюємо


власне визначення. Штучна нейронна мережа (NN) – це математична модель
призначена для розпізнавання основних взаємозв’язків в певному наборі даних.
Штучні нейронні мережі базуються на колекції з’єднаних одиниць або вузлів,
званих штучними нейронами, які обробляють вхідну інформацію за допомогою
деякої цільової функції, яка підбирається в результаті навчання.
8

Рис. 1.1

1.2. Нейронні мережі прямого поширення

Узагальнюючи інформацію подану в статті «Feedforward Neural


Networks»[5] :

Нейронні мережі прямого поширення – це архітектура нейронних мереж в


якій нейрони розташовані прошарками, таким чином, що кожен нейрон вхідного
та прихованих прошарків пов'язаний з кожним нейроном наступного прошарку.
Отже, інформація постійно передається вперед. Нейронні мережі прямого
поширення не мають рекурентних прошарків, нейрони не мають зв’язків між
нейронами свого, або попередніх прошарків, зв’язки між нейронами не
утворюють циклу. Нейронні мережі прямого поширення були першим і
найпростішим типом штучних нейронних мереж. Такі нейронні мережі в
основному використовуються для контрольованого навчання в тих випадках, коли
дані, що підлягають опрацюванню, не є ані послідовними, ані часовими.

Найпростіший тип нейронної мережі прямого поширення - це персептрон


(SLP), нейронна мережа прямого поширення без прихованих одиниць. Таким
чином, персептрон має лише вхідний і вихідний рівень. Вихідні одиниці
обчислюються безпосередньо з суми добутку їх ваги з відповідними вхідними
одиницями, плюс деяке зміщення.
9

Рис. 1.2
Модель персептрона.

Багатошаровий персептрон (MLP) - це штучна нейронна мережа, що


складається з багатьох персептронів. На відміну від одношарових персептронів,
MLP здатні навчитися обчислювати нелінійно-відокремлювані функції. Оскільки
вони можуть вивчати нелінійні функції, вони є однією з основних технік
машинного навчання як для регресії, так і для класифікації при контрольованому
навчанні. MLP зазвичай організовані у вигляді послідовних прошарків. Штучна
нейронна мережа прямого поширення складається з вхідного шару, деякої
кількості (можливо, нуля) прихованих шарів та вихідного шару. У випадку
одношарового персептрона прихованих шарів немає, тому загальна кількість
шарів - два. MLP, навпаки, мають принаймні один прихований шар, кожен з яких
складається з колекції персептронів.

Рис. 1.3
Багатошаровий персептрон

1.3. Згорткові нейронні мережі

Узагальнюючи інформацію подану в статті «Convolutional Neural


Network»[7] :
10
Згорткові нейронні мережі (CNN) - це архітектура нейронних мереж
глибокого навчання, призначена для обробки структурованих масивів даних,
таких як зображення. Згорткові нейронні мережі широко використовуються в
комп’ютерному зорі – технологія обробки графічної інформації (розпізнавання,
класифікація, кластеризація зображень) . Також нейромережі такої архітектури
досягли успіху в обробці природних мов, в класифікації тексту.

Згорткові нейронні мережі – це нейронні мережі прямого поширення, які


мають хоча б один згортковий прошарок призначений для розпізнавання дрібних
образів, таких як лінія, гострі кути, градієнти, тощо. Згорткові нейронні мережі
базуються на архітектурі нейронних мереж прямого поширення і влаштовані
подібним чином. Вони зазвичай мають 20-30 згорткових прошарків, які
накладаються один на одного. При цьому кожен наступний прошарок здатний
розпізнавати все більш складніші та витонченіші форми. Таким чином згорткові
нейронні мережі можуть досліджувати ієрархічні особливості образу. Після ряду
згорткових прошарків, як правило, присутні декілька (один і більше)
повнозвя’зних прошарків прямого поширення (MLP).

Рис. 1.4
Згорткова нейронна мережа.

Розберемо влаштування загорткової нейронної мережі на прикладі LeNet-5


для класифікації зображень розміром 32×32 пікселі по 10 категоріям, результати
наведено у табл. 1.1.
11
Таблиця 1.1

Прошарок Опис

Перший згортковий прошарок, складається з шести згорткових


ядер(5×5), передає до наступного прошарку шість
C1
зображень(28×28), призначений для розпізнавання найголовніших
деталей зображення.
Перший підвибірковий прошарок, також відомий як середній шар
об'єднання, передає до наступного прошарку шість
S2
зображень(14×14), призначений для усереднення блоків (2×2) до
одного пікселя.
Другий згортковий прошарок, складається з шістнадцяти
C3 згорткових ядер(5×5), передає до наступного прошарку
шістнадцять зображень(10×10).
Другий підвибірковий прошарок, передає до наступного
S4 прошарку шістнадцять зображень(5×5), призначений для
усереднення блоків (2×2) до одного пікселя.
Третій згортковий прошарок, передає до наступного прошарку
C5 одномірний масив з 120 елементів, призначений для перетворення
масиву (5×5×16) в одномірний.
Перший та єдиний повнозвя’зний прошарок, передає до
F6
наступного прошарку масив з 10 елементів.
Softmax прошарок, повертає масив з 10 елементів, призначений
Вихідний
для інтерпретації результатів в категорії ймовірностей (сума
прошарок
елементів масива дорівнює одиниці – 100%)

Рис. 1.5
Модель LeNet-5

Згортковий прошарок – це основний структурний елемент згорткових


нейронних мереж. Головна частина такого прошарку – це згорткове ядро. Після
того як вхідний тензор був розбитий на ряд тензорів розміру аналогічного до
розміру згорткового ядра, знаходиться тензор скалярних добутків отриманих
тензорів на саме згорткове ядро.
12

Рис. 1.6
Принцип робот згорткового ядра.

1.4. Рекурентні нейронні мережі

Узагальнюючи інформацію подану в статті «Recurrent Neural Networks»[8] :

Рекурентні нейронні мережі (RNN) – це архітектура нейронних мереж,


призначена для обробки інформації типу «серія», послідовностей, або колекцій з
не лімітованим розміром.

Рекурентні нейронні мережі обробляють кожну одиницю вхідної інформації


враховуючі результати обробки попередньої одиниці. RNN не мають лімітованих
входів і виходів, вони можуть приймати та повертати будь яку кількість
структурованих масивів даних. На вихід RNN впливає не тільки вагові коефіцієнт,
як у звичайної нейронної мережі прямого поширення, але і прихований вектор
стану - контекст попередньо обробленої інформації. Отже, один і той же вхід
може давати різний результат залежно від попередніх входів у серії.

Підводячи підсумок, в MLP розмір вхідного вектору фіксований, як і розмір


вихідного вектора. Така мережа стає рекурентною коли до неї неодноразово
застосовується перетворення до ряду заданих входів і створюється серія вихідних
векторів. Не існує попередньо встановленого обмеження на розмір вхідного і
вихідного вектора. Окрім генерування вихідних даних, RNN оновлює
прихований стан мережі на основі вхідних даних і використовує його при обробці
наступного вхідного сигналу.
13

Рис. 1.7
Рекурентна нейронна мережа

1.5. Алгоритм навчання нейронних мереж

1.5.1. Градієнтний спуск

Будь-який алгоритм навчання нейронних мереж націлений на мінімізацію


помилки, оціненої за деяким критерієм якості. Найпопулярнішим алгоритмом
навчання нейронних мереж є алгоритм «Backpropagation», оснований на
алгоритмі «градієнтний спуск». «градієнтний спуск – це ітераційний алгоритм
оптимізації першого порядку, в якому для знаходження локального мінімуму
функції здійснюються кроки, пропорційні протилежному значенню градієнту
функції в поточній точці.»[9]

Розглянемо принцип роботи градієнтного спуски для мінімізації функції F (x),


де F (x) – визначена, диференційована. Початкова точка a . Для мінімізації
вищеописаної функції потрібно зробити крок в напрямку ∇ F (a). Для визначення
довжини кроку використовується коефіцієнт λ при ∇ F (a). Отже для мінімізації
функції будемо використовувати правило: a t+1 =at −λ ⋅∇ F (a t ). При цьому
виконується нерівність F ( at +1 ) ≤ F( at ).

Рис. 1.8
Градієнтний спуск
14
1.5.2. Backpropagation

Backpropagation – це узагальнена назва групи алгоритмів навчання


нейронних мереж, які основані на алгоритмі градієнтного списку. До цієї групи
входять такі класи оптимізаторів: Adadelta, Adagrad, Adam, Adamax, Ftrl, Nadam,
RMSprop, SGD.

Розглянемо принцип роботи алгоритму Backpropagation. Помилку нейронної


мережі будемо визначати, як E=C(t , y), де C (t , y ) – функція втрат, t – цільовий
результат, y – фактичний результат. Для кожного нейрона j , його вихід v j будем
визначати як зазначено у формулі (1.1)

n
v j=φ ( net j )=φ
( ∑ ω kj ⋅v k
k=1
)
Формула (1.1)

net j – вхідна інформація, k – нейрони попереднього прошарку, ω – ваговий

коефіцієнт, φ – функція активації. Визначати локальні градієнти кожного нейрона


l вихідного прошарку будемо, як δ l=E ⋅ φ ' (v ¿¿ k )¿, де v k – сума вхідних сигналів.

Визначати локальний градієнт для кожного нейрона j вхідного та прихованих


прошарків будемо як δ j=δ n ⋅ ω jn ⋅ φ' (v ¿¿ k) ¿, де v k – сума вхідних сигналів, n – нейрон
наступного прошарку . Отже ваги будемо корегувати по формулі (1.2):
ω kj=ωkj −λ ⋅δ j ⋅v k

Формула (1.2)

j – нейрон ваговий коефіцієнт якого корегується, k – нейрон попереднього

прошарку, λ – крок збіжності (коефіцієнт корекції).


15

Рис. 1.9
Алгоритм Backpropagation
1.5.3. Критерій якості та функція втрат

Важливою частиною процесу машинного навчання є оцінка втрат моделі


(помилки). Для оцінки втрат використовують критерії якості. Критерій якості – це
функція, яка оцінює розбіжність між практичними передбаченнями моделі та
цільовими (істинними). Критерій якості який використовується безпосередньо в
процесі навчання називається функцією втрат. При моделюванні нейронних
мереж всі дані діляться на дві або три підвибірки: навчальна, валідаційна, тестова.
Навчальна вибірка – це масив спостережень, який використовується при навчанні
моделі. Валідаційна вибірка – це масив спостережень, який використовується для
об’єктивної оцінки якості навчання нейронної мережі. Якщо валідаційна
підвибірка якимось чином бере участь у процесі навчання (наприклад, зростання
втрат на валідаційній вибірці може стати приводом для зупинки процесу
навчання), то вводиться тестова підвибірка. На основі тестової вибірки
оцінюються втрати моделі вже після завершення процесу навчання. Валідаційна
та тестова підвибірки, як правило становлять, 20-25% від навчальної (кожна).
Розглянемо основні критерії якості які використовуються для моделювання
нейронних мереж при вирішенні задач регресії:
n

MAE (mean absolute error) ∑ ¿ y i−^y i∨¿ ;


i=1
¿ ¿
n
16
n
100 % y i− ^y i
MAPE (mean absolute percentage error) ¿ n ⋅ ∑
i=1
| |;
yi

MSE (mean squared error) ∑ ( y i− ^y i)2 ;


i=1
¿
n

n
LС (log cosh)¿ ∑ ¿ ¿;
i=1

∑ ( y i ⋅ ^yi )
i=1
CS (cosine similarity) ¿ n n .
√∑ √∑
i=1
2
y ⋅
i
i=1
^y 2
i

В наведених формулах n – це кількість спостережень у вибірці, ^y –


практичні передбачення моделі, y – цільові передбачення.

Висновки до розділу 1

Було досліджено та узагальнено існуючі теоретичні напрацювання за темою


нашого проєкту. Опрацьовано визначення терміну: нейронна мережа. Досліджено
основні типи нейронних мереж: нейронні мережі прямого поширення, згорткові
нейронні мережі, рекурентні нейронні мережі. Ми ознайомилися з
найрозповсюдженішим алгоритмом навчання нейронних мереж, його складовими,
математичною складовою алгоритму. Було зроблено висновок, що розходження
втрат на валідаційній та навчальній підвибірках може стати приводом для
зупинки процесу навчання.
17

РОЗДІЛ 2
АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ
Під час дослідження було розроблено ряд алгоритмів для збирання, обробки
та візуалізації статистичних даних про навчання нейронних мереж. В дослідженні
розглядалися повнозвя’зні нейронні мережі прямого поширення (MLP) для
вирішення задач регресії, вид навчання – зі вчителем.

2.1. Залежність між класом оптимізатора та часом навчання нейронних


мереж

Відповідно до завдань 2, 3 було проаналізовано залежність між класом


оптимізатора та часом навчання нейронних мереж. Результати аналізу наведено
на рисунках 2.1, 2.2. Дані про конфігурацію опрацьованих нейронних мереж
подано у додатку A.

Рис. 2.1

Рис. 2.2
18
Було проаналізовано залежність між класом оптимізатора, функцією втрат,
класом активатора та втратами нейронних мереж (метрика MAPE). Результати
аналізу наведено на рисунках 2.3, 2,4, 2.5. Дані про конфігурацію опрацьованих
нейронних мереж та результати первинного описового аналізу подано в додатку
B.

Рис. 2.3

Рис. 2.4
19

Рис. 2.5

2.2. Залежність між розміром навчальної вибірки, втратами та часом


навчання нейронних мереж

Було проаналізовано залежність між розміром навчальної вибірки, втратами


та часом навчання нейронних мереж. Результати аналізу наведено на рисунках
2.6, 2,7. Дані про конфігурацію опрацьованих нейронних мереж та отримані
рівняння регресії подано в додатку C.

Рис. 2.6
20

Рис. 2.7
21
2.3. Залежність між архітектурними характеристиками, втратами та
часом навчання

Було проаналізовано залежність між архітектурними характеристиками,


втратами та часом навчання нейронних мереж. Результати аналізу наведено на
рисунках 2.8, 2,9, 2.10. Дані про конфігурацію опрацьованих нейронних мереж та
отримані рівняння регресії подані в додатку D.

Рис. 2.8

Рис. 2.9
22

Рис. 2.10

2.4. Розподілення даних в отриманій вибірці

Відповідно до завдань 4, 5 було проаналізовано розподілення даних в


отриманій вибірці. Результати аналізу демонструються на рисунках 2.11, 2.12,
2.13;

Рис. 2.11

Рис. 2.12
23

Рис. 2.13

2.5. Факторний аналіз та комбінований візуальний аналіз

Було проведено факторний аналіз розподілення. Результати аналізу


демонструються на рисунках 2.14, 2.15;

Рис. 2.14

Рис. 2.15
24
Було проведено комбінований візуальний аналіз даних. Результати аналізу
демонструються на рисунках 2.16 - 2.21;

Рис. 2.16

Рис. 2.17

Рис. 2.18
25

Рис. 2.19

Рис. 2.20

Рис. 2.21
26
2.6. Рівневий. Факторний та візуальний аналіз

Було проведено рівневий аналіз розподілення. Результати аналізу


демонструються на рисунках 2.22, 2.23;

Рис. 2.22

Рис. 2.23

Було проведено факторний аналіз даних. Результати аналізу демонструються


на рисунках 2.24, 2.25, 2.26;
27

Рис. 2.24

Рис. 2.25

Рис. 2.26

Було проведено візуальний аналіз даних. Результати аналізу демонструються


на рисунках 2.27, 2.28.
28

Рис. 2.27

Рис. 2.28

2.7. Модель залежності оптимізаційних показників

Відповідно до завдання 6 було змодельовано залежність оптимізаційних


показників нейронних мереж від її характеристик (конфігурації). Результати
моделювання:
loss( MAE)≈ 9.26+ 4.76 ( ln )−5.14 ( pn ) + 4 ( ss )−1.32( en)

loss( MAE)≈ 7.09+0.04 ( ln )+1.12−0.21 ( ft )

loss( MAE)≈ 9.09+8.55 ( pn )−1 ( ss )−1.15( ft )

loss( MAE) ≈ 9.09−0.1(ft )

loss( MAE)≈ 8.78+1.2 ( pn ) −4.06 (ss )


29
3.49+3.81( pn)
work time( s)≈
100

fit time ( s ) ≈ 2.71+7.29 ( pn ) +2.64 (ss)

В наведених рівняннях регресії ln – це кількість прошарків нейронної

мережі, pn – це кількість параметрів моделі (кількість зв’язків), ss – розмір


навчальної вибірки, en – це кількість епох навчання, ft – час навчання нейронної
мережі в секундах.

Висновки до розділу 2

Було проведено ґрунтовний аналіз отриманих під час дослідження даних про
функціонування та навчання нейронних мереж. Отримані висновки було
опрацьовано та узагальнено. На основі проведеного дослідження було виведено
численні рівняння регресії, які детально моделюють залежність між усіма
характеристиками та оптимізаційними показниками нейронних мереж.
30

РОЗДІЛ 3
ОГЛЯД ВИКОРИСТАНИХ РІШЕНЬ
3.1. Використані мови програмування та середовища розробки

Під час дослідження було розроблено 22 програми на таких мовах як C#,


JavaScript, Python, R. Програмне забезпечення розроблялося в середовищах Visual
Studio, RStudio, PyCharm. Нейронні мережі створювалися за допомогою пакетів
TensorFlow, TensorFlow.js. Використовувалася бібліотека Keras. Програми для
збору статистичного матеріалу були написані на мові Python. Використовувалися
пакети tensorflow-gpu, numpy, pandas, matplotlib. Обробка даних відбувалася
мовою R. Використовувалися пакети tseries, zoo, forecast, normwhn.test, ggplot2,
Ggally, gridExtra, dplyr, hexbin, gapminder, Cairo, readr, RColorBrewer. Алгоритм
автоматизації машинного навчання було написано на мовах C#, JavaScript.
Використовувався пакет TensorFlow.js.

3.2. Складові програмного забезпечення для отримання і обробки


статистичного матеріалу

Все програмне забезпечення для збору статистичного матеріалу було


написало за єдиним шаблоном. Зазначені програми складаються з 5 умовних
частин: імпорт бібліотек, ініціалізація даних, генерація навчальної вибірки,
основний цикл програми, форматування та сереалізація результатів. Такий підхід
до розробки забезпечив уніфікацію всіх програмних засобів, пришвидшив
розробку, допоміг уникнути суттєвих помилок при зборі даних. Зазначені
програми сереалізують результат у форматі .csv (тип даних pandas.DataFrame),
конфігурація (параметри) оброблених нейронних мереж сереалізуються у форматі
.txt та .json.

Для аналізу отриманих даних було вибрано мову R, як таку що має


найбільше інструментарію для аналізу даних. Візуалізація даних відбувалася за
допомогою пакету ggplot2. Всі скрипти для обробки та аналізу даних мають
уніфіковану будову: імпорт бібліотек, форматування десереалізованих даних,
31
обробка некоректних спостережень, первинний описовий аналіз, візуалізація,
регресійний, або факторний аналіз.

Висновки до розділу 3

Під час дослідження було розроблено 22 програми на таких мовах як C#,


JavaScript, Python, R. Програмне забезпечення розроблялося в середовищах Visual
Studio, RStudio, PyCharm.

Все програмне забезпечення для збору статистичного матеріалу було


написало за єдиним шаблоном. Такий підхід до розробки забезпечив уніфікацію
всіх програмних засобів, пришвидшив розробку, допоміг уникнути суттєвих
помилок при зборі даних.

Для аналізу отриманих даних було вибрано мову R, як таку що має


найбільше інструментарію для аналізу даних. Візуалізація даних відбувалася за
допомогою пакету ggplot2.
32

ВИСНОВКИ
Одним з провідних напрямків досліджень у галузі штучного інтелекту є
машинне навчання, синтез та моделювання штучних нейронних елементів (НЕ) та
нейромереж, розроблення методів їх навчання та оптимізації, вдосконалення
нейромережевих технологій обробки та аналізу даних, створення прикладних
систем на основі нейронних мереж.

1. В ході проведеного дослідження було узагальнено актуальні наукові


напрацювання за темою;

2. Було створено програмне забезпечення для збору статистичної


інформації про навчання та роботу нейронних мереж, було зібрано
статистичний матеріал:

 про залежність часу навчання від класу оптимізатора;


 про залежність втрат нейронної мережі від класу оптимізатора та функції
втрат;
 про залежність часу навчання та втрат нейронної мережі від розміру
навчальної вибірки;
 про залежність часу навчання та втрат нейронної мережі від
архітектурних характеристик нейронної мережі.
3. Було проаналізовано отримані дані методами візуального аналізу,
описового аналізу, факторного аналізу, аналізу розподілення,
регресійного аналізу;

4. Було створено програмне забезпечення для формування набору даних


про навчання та роботу нейронних мереж створених на основі
випадкових характеристик, було отримано відповідну вибірку;

5. Було проаналізовано отримані дані методами візуального аналізу,


описового аналізу, факторного аналізу, аналізу розподілення,
регресійного аналізу;
33
6. Було змодельовано залежність між характеристиками нейронних мереж
та їх оптимізаційними показниками.

7. Було розроблено алгоритм автоматизації навчання нейронних мереж.


34

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Сhen J. Neural Network / URL:


https://www.investopedia.com/terms/a/artificial-neural-networks-ann.asp

2. Keijsers N. Neural Networks / URL:


https://www.sciencedirect.com/topics/neuroscience/neural-networks

3. Kumar S. Deep Learning in Neural Networks: The science behind an Artificial


Brain / URL:
https://www.researchgate.net/publication/331400258_Deep_Learning_in_Neural_Netw
orks_The_science_behind_an_Artificial_Brain

4. Artificial neural network , Wikipedia / URL:


https://en.wikipedia.org/wiki/Artificial_neural_network

5. Feedforward Neural Networks , Brilliant / URL:


https://brilliant.org/wiki/feedforward-neural-networks/

6. Feed-Forward networks / URL :


https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-
networks/Architecture/feedforward.html

7. Wood T. Convolutional Neural Network / URL: https://deepai.org/machine-


learning-glossary-and-terms/convolutional-neural-network

8. Venkatachalam M. Recurrent Neural Networks / URL:


https://towardsdatascience.com/recurrent-neural-networks-d4642c9bc7ce

9. Gradient descent, Wikipedia / URL:


https://en.wikipedia.org/wiki/Gradient_descent

10. Backpropagation, Wikipedia / URL:


https://en.wikipedia.org/wiki/Backpropagation
35

Додаток A

Файл конфігурації (JSON формат)


{

"running time": 23.012100219726562,


"optimizer": [ "Adadelta", "Adagrad", "Adam", "Adamax", "Ftrl", "Nadam",
"RMSprop", "SGD" ],
"loss function": "mae",
"activator": "linear",
"sample size": "30 obs, validation split = 0.25, training part = 22 obs",
"epochs num": 300,
"layers num": 4,
"neurons num": 9,
"metrics": "mean_absolute_percentage_error (validation sample)"

}
36

Додаток B

Файл конфігурації (JSON формат)


{

"running time": 1234.390023946762,


"optimizer": [ "Adadelta", "Adagrad", "Adam", "Adamax", "Ftrl", "Nadam",
"RMSprop", "SGD" ],
"loss function": [ "mse", "mae", "mape", "msle", "cosine_similarity", "logcosh",
"hinge", "kld", "poisson", "squared_hinge" ],
"activator": [ "elu", "exponential", "hard_sigmoid", "linear", "relu", "selu", "sigmoid",
"softmax", "softplus", "softsign", "tanh" ],
"sample size": "30 obs, validation split = 0.25, training part = 22 obs",
"epochs num": 300,
"layers num": 1,
"neurons num": 1,
"metrics": "mean_absolute_percentage_error (validation sample)"
}
Результати первинного описового аналізу вибірки
37

Додаток C

Файл конфігурації (JSON формат)

"running time": 87.69821333885193,


"optimizer": "Adam",
"loss function": "mae",
"activator": "linear",
"sample size": "5-500 obs, validation split = 0.25",
"epochs num": 45,
"layers num": 14,
"neurons num": 60,
"metrics": "mean_absolute_percentage_error (validation sample)"

Рівняння регресії та оцінка отриманих моделей

loss ( MAPE )=1.95+0.0004 ⋅ ssize

Std . error = 0.033(intercept), 0.0002(ssize)


T-value = 58.72(intercept), 2.93(ssize)
Residual standard error: 0.148 on 92 degrees of freedom
Multiple R-squared: 0.08534, Adjusted R-squared: 0.07539
F-statistic: 8.583 on 1 and 92 DF, p-value: 0.004277

ftime( s)=4.26+2.346 ⋅ssize

Std . error = 1.13(intercept), 5.1(ssize)


38
T-value = 37.7(intercept), 45.97(ssize)
Residual standard error: 0.05034 on 92 degrees of freedom
Multiple R-squared: 0.9583, Adjusted R-squared: 0.9578
F-statistic: 2113 on 1 and 92 DF, p-value: < 2.2e-16
39

Додаток D

Файл конфігурації (JSON формат)

{
"running time": 333.301064491272,
"optimizer": "Adam",
"loss function": "mae",
"activator": "linear",
"sample size": "30 obs, validation split = 0.25, training part = 22 obs",
"epochs num": 100,
"layers num": "1-20",
"neurons num": "1-2000",
"metrics": "mean_absolute_percentage_error (validation sample)"

Рівняння регресії та оцінка отриманих моделей

loss ( MAPE )=58,4+ 0.1⋅ nn

Std . error = 69 (intercept), 19.54 (nn)


T-value = 8.47 (intercept), -0.51(nn)
Residual standard error: 359.7 on 198 degrees of freedom
Multiple R-squared: 0.00132, Adjusted R-squared: -0.003723
F-statistic: 0.2618 on 1 and 198 DF, p-value: 0.6095

ftime ( s )=−1.23+1.07 ⋅ nn

Std . error = 98.48 (intercept), 58.61(nn)


T-value = 12.5(intercept), 18.33 (nn)
Residual standard error: 219.2 on 198 degrees of freedom
Multiple R-squared: 0.6291, Adjusted R-squared: 0.6272
40
F-statistic: 335.9 on 1 and 198 DF, p-value: < 2.2e-16

You might also like