Синтез оптимальної структури глибокої нейронної мережі
Запропоновано використання еволюційних алгоритмів для формування топології глибоких нейронних мереж. The use of evolutionary algorithms for synthesis topologies deep neural networks is proposed.
Збережено в:
| Опубліковано в: : | Штучний інтелект |
|---|---|
| Дата: | 2016 |
| Автори: | , , |
| Формат: | Стаття |
| Мова: | Ukrainian |
| Опубліковано: |
Інститут проблем штучного інтелекту МОН України та НАН України
2016
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/132072 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Синтез оптимальної структури глибокої нейронної мережі / Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко // Штучний інтелект. — 2016. — № 3. — С. 78-82. — Бібліогр.: 3 назв. — укр. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-132072 |
|---|---|
| record_format |
dspace |
| spelling |
Коваль, Д.Ю. Синєглазов, В.М. Чумаченко, О.І. 2018-04-10T16:06:05Z 2018-04-10T16:06:05Z 2016 Синтез оптимальної структури глибокої нейронної мережі / Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко // Штучний інтелект. — 2016. — № 3. — С. 78-82. — Бібліогр.: 3 назв. — укр. 1561-5359 https://nasplib.isofts.kiev.ua/handle/123456789/132072 004.93 Запропоновано використання еволюційних алгоритмів для формування топології глибоких нейронних мереж. The use of evolutionary algorithms for synthesis topologies deep neural networks is proposed. uk Інститут проблем штучного інтелекту МОН України та НАН України Штучний інтелект Теорія та засоби обчислювального інтелекту Синтез оптимальної структури глибокої нейронної мережі Synthesis of optimal structure of deep neural network Article published earlier |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| title |
Синтез оптимальної структури глибокої нейронної мережі |
| spellingShingle |
Синтез оптимальної структури глибокої нейронної мережі Коваль, Д.Ю. Синєглазов, В.М. Чумаченко, О.І. Теорія та засоби обчислювального інтелекту |
| title_short |
Синтез оптимальної структури глибокої нейронної мережі |
| title_full |
Синтез оптимальної структури глибокої нейронної мережі |
| title_fullStr |
Синтез оптимальної структури глибокої нейронної мережі |
| title_full_unstemmed |
Синтез оптимальної структури глибокої нейронної мережі |
| title_sort |
синтез оптимальної структури глибокої нейронної мережі |
| author |
Коваль, Д.Ю. Синєглазов, В.М. Чумаченко, О.І. |
| author_facet |
Коваль, Д.Ю. Синєглазов, В.М. Чумаченко, О.І. |
| topic |
Теорія та засоби обчислювального інтелекту |
| topic_facet |
Теорія та засоби обчислювального інтелекту |
| publishDate |
2016 |
| language |
Ukrainian |
| container_title |
Штучний інтелект |
| publisher |
Інститут проблем штучного інтелекту МОН України та НАН України |
| format |
Article |
| title_alt |
Synthesis of optimal structure of deep neural network |
| description |
Запропоновано використання еволюційних алгоритмів для формування топології глибоких нейронних мереж.
The use of evolutionary algorithms for synthesis topologies deep neural networks is proposed.
|
| issn |
1561-5359 |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/132072 |
| citation_txt |
Синтез оптимальної структури глибокої нейронної мережі / Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко // Штучний інтелект. — 2016. — № 3. — С. 78-82. — Бібліогр.: 3 назв. — укр. |
| work_keys_str_mv |
AT kovalʹdû sintezoptimalʹnoístrukturiglibokoíneironnoímereží AT sinêglazovvm sintezoptimalʹnoístrukturiglibokoíneironnoímereží AT čumačenkooí sintezoptimalʹnoístrukturiglibokoíneironnoímereží AT kovalʹdû synthesisofoptimalstructureofdeepneuralnetwork AT sinêglazovvm synthesisofoptimalstructureofdeepneuralnetwork AT čumačenkooí synthesisofoptimalstructureofdeepneuralnetwork |
| first_indexed |
2025-11-26T00:10:50Z |
| last_indexed |
2025-11-26T00:10:50Z |
| _version_ |
1850596060865495040 |
| fulltext |
ISSN 1561-5359. Штучний інтелект, 2016, № 3
78 © Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко
УДК 004.93
Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко
Національний Авіаційний Університет, Україна
пр. Космонавта Комарова, 1, м. Київ, 03680
СИНТЕЗ ОПТИМАЛЬНОЇ СТРУКТУРИ ГЛИБОКОЇ НЕЙРОННОЇ
МЕРЕЖІ
D.Y. Koval, V.M. Sineglazov, O.I. Chumachenko
National Aviation University, Ukraine
Kosmonavta Komarova av., 1, Kiev, 03680
SYNTHESIS OF OPTIMAL STRUCTURE OF DEEP NEURAL
NETWORK
Запропоновано використання еволюційних алгоритмів для формування топології глибоких
нейронних мереж.
Ключові слова: Парето, глибокі нейронні мережі, генетичний алгоритм.
The use of evolutionary algorithms for synthesis of topologies of deep neural networks is proposed.
Keywords: Pareto, deep neural networks, genetic algorithm.
Вступ
Штучні нейронні мережі – це структури, сформовані об’єднанням нейронів, які
організовані у вхідний, вихідний та приховані шари. Нейронні мережі – потужний
інструмент, який може бути використаний для вирішення широкого спектру задач.
В даний час широке розповсюдження знайшли глибокі нейронні мережі, які
складаються з двох частин: групи автоасоціативних мереж (автоенкодерів або машин
Больцмана), які виконують попереднє навчання основної мережі, і основної мережі
(багатошарового перцептрону), яка займається розв’язанням поставленої задачі. Однак,
синтез оптимальної структури такої нейронної мережі (визначення кількості шарів,
нейронів, зв’язків між нейронами) для вирішення поставленої задачі є доволі
непростим завданням, оскільки, з одного боку, необхідно забезпечити якомога більшу
точність вирішення поставленої задачі, а одним з факторів, які впливають на точність
роботи є саме кількість нейронів. З іншого боку, для уникнення проблеми перенавчання
та зменшення обчислювальної складності та підвищення швидкості роботи, необхідно
мінімізувати кількість нейронів та зв’язків між ними. Зазвичай подібна дилема
вирішується дизайнером нейромережі шляхом перебору різних конфігурацій ШНМ.
В даній роботі пропонується для синтезу оптимальної структури штучних
нейронних мереж скористатися еволюційними алгоритмами розв’язання задач
багатокритеріальної оптимізації.
Постановка задачі
Визначити структуру глибокої нейронної мережі на основі навчальної вибірки, яка
складається з пар (xi, di), де xi — вхідне значення, di — бажаний вихід мережі.
Критерієм якості вирішення поставленої задачі виступають два критерії:
1) мінімізація середньої квадратичної помилки роботи мережі. Обчислюється на
основі перевірочної вибірки.
де yi — отриманий вихід нейромережі, n — кількість елементів вибірки.
2) мінімізація загальної кількості нейронів у всіх шарах
n
=i
ii dy=I
1
2
1 -
ISSN 1561-5359. Штучний інтелект, 2016, № 3
© Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко 79
де k — кількість шарів в нейромережі, Nj — кількість нейронів у шарі j.
Окрім того на розв’язок даної задачі накладаються обмеження:
1) Максимальна кількість шарів Кmax
2) Максимальна кількість нейронів у кожному з шарів Nmax
3) Максимальне допустиме значення помилки εmax
Схема гібридного алгоритму для вирішення умовних багатокритеріальних
задач оптимізації
Для вирішення поставленої задачі умовної багатокритеріальної оптимізації
структури нейронної мережі пропонується використати гібридний еволюційний
алгоритм, опис якого представлено нижче.
Вхід: N (розмір популяції), NA (розмір архіву), Т (максимальне число поколінь),
рс (ймовірність схрещування), рm (ймовірність мутації).
Вихід: А (множина недомінованих особин).
Крок 0. Ініціалізація: Випадковим чином генерується початкова популяція P0.
Хромосоми, що кодують кожну можливу топологію нейронної мережі мають вигляд:
Wi(w11…w1k w21… w2k … wn1… wnk),
де wр1…wрk - закодований у двійковому форматі вектор, що описує кількість
нейронів у р-тому шарі нейронної мережі, n — кількість шарів, k — кількість біт, що
використовується для кодування кожного значення (гена).
Кожна хромосома буде відповідати певній архітектурі нейромережі. Кількість
нейронів у першому та останньому шарі може визначатися задачею. В такому разі
випадковим чином генеруються тільки решта компонент кожного вектора.
Також створюємо порожній архів А0 = ∅ і задаємо t = 0.
Крок 1. Визначення пристосованості: Для кожної хромосоми з популяції та
архіву будуємо відповідну їй нейронну мережу. Тобто, хромосомі Wi(w1 w2 … wn)
відповідатиме нейронна мережа, в якій буде w1 нейронів у першому шарі, … wp
нейронів у p-тому шарі і тд, p=1..n.
Навчаємо кожну з отриманих мереж будь-яким з допустимих методів навчання.
Для кожної з нейромереж обчислюємо середню квадратичну помилку Ер її роботи на
контрольній вибірці даних та суму нейронів у всіх шарах Sn
Обчислена для кожної нейромережі помилка та сума нейронів використовується
для визначення ефективного по Парето рішення та знаходження значень функцій
пристосованості для кожної хромосоми відповідно до описаної нижче процедури:
1.1. Кожній особині в архіві Аt та популяції Рt присвоюється значення сили S(i),
яке представляє кількість особин, які дана особина домінує:
де операція |.| визначає кількість елементів у множині, N,=j,N,=i 11
1.2. На основі значення S(i) розраховується “грубе” (raw) значення функції
пристосованості R(i) особини i:
1.3. Для кожної особини і вираховується декартова відстань від неї до решти
k
j=
jN=I
1
2
jiAPjj=iS tt ∈
j
ij,A
S=iR
ttPj
∪∈
ISSN 1561-5359. Штучний інтелект, 2016, № 3
80 © Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко
особин j в архіві та популяції. Всі розраховані відстані для даної особини додаються у
список і сортуються за зростанням. k-тий елемент такого списку для особини і
позначимо як σk
i.
Розраховуємо значення щільності D(i) для особини i:
1.4. Остаточне значення функції пристосованості F(i) для особини і визначається,
як
F(i) = R(i) + D(i)
Крок 2. Модернізація архіву. Створити проміжний архів Аt*= Рt.
а) скопіювати особини, чиї вектори рішень недоміновані щодо Рt в Аt*.
б) видалити тих індивідів з Аt*, чиї відповідні вектори рішень слабко доміновані
щодо Аt*.
в) зменшити число індивідів, що зберігаються в архіві, і помістити результуючу
зменшену множину особин в At+1. Для зменшення кількості індивидів в архіві
використовується наступна процедура:
2.1. Всі недоміновані особини (значення функцій пристосованості яких менше
1) з архіву і популяції копіюються в архів наступної ітерації:
N,=i,<iFAPii=A tt+t 11∧∈1
2.2. Якщо розмір утвореного архіву відповідає бажаному (|At+1|=NA), то кластеризація
завершується. Інакше можливі дві ситуації:
2.3а. Розмір утвореного архіву менше бажаного (|At+1|<NA).
У цьому випадку особини з об’єднаної множини Рt + Аt сортуються у порядку
зростання значень їх функцій пристосованості і перші NA - |At+1|, особин з
відсортованої множини копіюються в архів Аt+1
2.3б. Розмір утвореного архіву більше бажаного(|At+1|>NA).
У цьому випадку починається процедура зменшення розміру архіву, яка ітеративно
видаляє особини з Аt+1, поки |At+1|=NA:
1) Створюємо порожній список D
2) Для кожної особини і обчислюється її декартова відстань d(i,j) до всіх решти особин
j. Найменша з отриманих відстаней додається до списку
D = D + di, di = min d(i, j)
3) Значення отриманого списку D сортуються за зростанням. Особина, що відповідає
найменшому значення зі списку D видаляється з архіву.
4) Даний процес повторюється, поки архів не досягне бажаного розміру NA.
Крок 3. Ранжування: Особини в популяції сортуються за значеннями функцій
пристосованості за спаданнями (від найкращої особини до найгіршої)
Крок 4. Групування: особини діляться на групи, кожна з яких складається з двох
особин. Ці дві особини обираються з початку списку відсортованих особин.
Крок 5. Схрещування і мутація: в кожній зі сформованих груп відбувається
схрещування (кросовер) та мутація.
Схрещування. Для будь-яких двох індивідів необхідність виконання операції
схрещування визначається випадковим чином:
5.1) Випадковим чином генерується число рс* з проміжку [0,1]. Отримане число
порівнюється із заданою ймовірністю схрещування.
Ak
i
N+N=k,
+σ
=iD
2
1
ISSN 1561-5359. Штучний інтелект, 2016, № 3
© Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко 81
Якщо рс* > рс, то схрещування не відбувається і батьківські особини залишаються
без змін. У протилежному випадку — відбувається процес схрещування (див. пункт 5.2).
5.2) В даному алгоритмі використовується варіант одноточкового кроссоверу — два
вибраних “батьки” перерізуються у випадково обраній точці, після чого їх хромосоми
обмінюються своїми фрагментами.
Мутація. Необхідність виконання мутації визначається аналогічно до подібної для
операції схрещування:
5.3) Випадковим чином генерується число рm* з проміжку [0,1]. Отримане число
порівнюється із заданою ймовірністю мутації.
Якщо рm* > рm, то мутація не відбувається і батьківські особини залишаються без змін.
У протилежному випадку — відбувається процес мутації (див. пункт 5.4).
5.4) Мутація пов’язана з випадковою зміною одного чи декількох генів у хромосомі. З двох
батьківських особин формується дві дочірні особини. Батьківські особини видаляються
з групи.
Крок 6. Усі дочірні особини об’єднуються у одну групу, яка стає новою
популяцією Pt.
Крок 7. Закінчення: Покласти Рt+1 = Аt і t = t +1. Якщо t ≥ Т або виконується
якийсь інший критерій зупинки, тоді Аt - є шукана множина розв’язків, інакше перейти
на крок 1.
Крок 8. “Лікування точок”
Еволюційні алгоритми непогано справляються з безумовними задачами
багатокритеріальної оптимізації, але при розв’язанні задач з обмеженнями отримані
рішення не завжди задовільні:
вони можуть не містити точку умовного максимуму
результуючі точки можуть бути розкидані в пошуковому просторі
частина із знайдених рішень може лежати за межами дозволеної області
Для усунення виявлених недоліків генетичних алгоритмів пропонується
проводити «лікування» (уточнення) недомінованих точок, отриманих після зупинки
генетичного алгоритму.
8.1. Вибрати деякий початковий допустимий розв'язок (хромосому) Х
8.2. Сформувати множину хромосом Y = {y1, ...., yk}, де хромосома yі отримана
внаслідок мутації і-го біту хромосоми Х, k,=i 1 , k — кількість бітів в хромосомі.
8.3. Обчислити значення функцій пристосованості для всіх хромосом з множини Y,
використовуючи процедуру описану на кроці 2 та обрати серед них хромосому Y* з
найкращим значенням функції пристосованості
8.4. Якщо F (Y*) < F (X) (для задачі максимізації), то розв'язок Х є найкращим в даному
околі. Переходимо до кроку 8.1 та обираємо наступну точку для покращення, доки не
будуть “вилікувані” усі розв’язки.
8.5. Інакше, покласти Х = Y*. Перейти на крок 8.2.
Крок 9. Ліквідація згустків точок
9.1. Для кожного індивіда i ∈ А утворюємо окремий кластер Ci.
9.2. Якщо |С| ≤ NА, перейти на Крок 9.5, інакше перейти на Крок 9.3.
9.3. Обчислити відстань між усіма можливими парами кластерів. Віддаленість dc двох
кластерів Ci і Cj ∈ С визначається як середня відстань між парами індивідів, що
належать цим кластерам:
jjiic
ji
ji
c
Cc,C
cc
CC
=d -
1
ISSN 1561-5359. Штучний інтелект, 2016, № 3
82 © Д.Ю. Коваль, В.М. Синєглазов, О.І. Чумаченко
де оператор ||.||відображає евклідову відстань (в просторі цілей) між двома
особинами ci та cj, оператор |.| визначає кількість елементів у множині.
9.4. Визначити два кластери Ci і Cj ∈ С з мінімальним відстанню dc. Об’єднати ці
кластери в один більший за розміром кластер Cij та перейти на крок 9.2.
jiij CC=C
9.5. Для кожного кластера вибрати репрезентативного індивіда, а всіх інших індивідів з
нього видалити. (Таким чином, репрезентативний індивід — це центроїд, точка з
мінімальною середньою відстанню до всіх інших точок кластера.) Визначити
зменшений архів шляхом об'єднання репрезентативних індивідів всіх кластерів.
Отримана в результаті роботи запропонованого алгоритму апроксимація множини
Парето є репрезентативною - точки рівномірно розподілені, згущення відсутні,
домінованих точок немає.
Висновки
Запропонований алгоритм, який дозволяє отримати набір глибоких нейронних
мереж оптимальної конфігурації з точки зору точності роботи та складності, додатково
враховуючи можливі обмеження щодо результуючої топології.
Література
1. Zitzler E., Laumanns M., Thiele L. SPEA2: Improving the Performance of the Strength Pareto Evolutionary
Algorithm. In Technical Report 103, Computer Engineering and Communication Networks Lab (TIK), Swiss
Federal Institute of Technology (ETH) Zurich, 2001.
2. Watanabe S., Hiroyasu T., Miki M. ”NCGA: Neighborhood Cultivation Genetic Algorithm for Multi-
Objective Optimization Problems”, Proceedings of the Genetic and Evolutionary Computation Conference
(GECCO’2002), p. 458–465, 2002.
3. Zitzler E., Deb K., Thiele L. Comparison of Multiobjective Evolutionary Algorithms: Empirical Results. In
Evolutionary Computation, Vol. 8(2), pp. 173–195, 2000.
RESUME
D.Y. Koval, V.M. Sineglazov, O.I. Chumachenko
Synthesis of optimal structure of deep neural network
This paper is devoted to the design of a new algorithm for structure-parametrical
synthesis of Deep Belief networks (DBN’s). DBN’s are generative models that contain many
layers of hidden variables. The main building block of a DBN is a bipartite undirected
graphical model called a restricted Boltzmann machine (RBM). A good estimate of the
partition function would be extremely helpful for model selection and for controlling model
complexity, which are important for making RBM’s generalize well. It is important to
decrease the complexity of DBNs under accuracy preservation.
The proposed algorithm is based on evolutional approach for the solution of conditional
multicriterion problem. Each chromosome will correspond to a certain neural network
architecture. The number of neurons in the first and last layer can be determined by the task.
In this case, only the rest of the components of each vector are randomly generated.
It is considered the procedure of transformation this problem into unconditional
multicriterion problem. Described algorithm among modified genetic operators as crossover
and mutation, also uses Pareto dominance concept for evaluation of fitness value for each
individual (and corresponding neural network structure as result) and also includes
additional steps (“chromosome healing” and clustering, which guarantee, that set of received
solutions will include optimal structure and increase its representativeness – number of
competing possible solutions.
The use of the algorithm permits to determine the quantity of layers, neurons in every
layer of based network and correspondingly the quantity of RBMs which include the DBN.
Надійшла до редакції 18.10.2016
|