РОЗДІЛ 2
ЗАСТОСУВАННЯ НЕЙРОННИХ МЕРЕЖ ПРИ ПОБУДОВІ ГІПЕРПОВЕРХОНЬ
В деяких випадках задачу побудови гіперповерхонь на основі набору опорних точок можна поставити як задачу апроксимації в гіперпросторі, зокрема у випадку необов'язкового проходження поверхні через всі опорні точки. Для початку можна трохи спростити задачу, установивши для опорних точок наступні вимоги: певна i-а координата k-ої точки може бути обрана як залежна від інших координат цієї точки. Вимога повинна виконуватися для всіх точок. Таким чином, опорними точками визначається функція f, що аппроксимується (див. п. 1. 2. 2).
У випадку побудови довільних гіперповерхонь постановка задачі ускладниться упорядкуванням опорних точок, тобто кожна координата всіх опорних точок попередньо ставиться в залежність від m параметрів, , де n - розмірність простору. Очевидно, що при цьому кожна координата всіх точок створюваної поверхні також буде залежати від m параметрів:
(2.1)
де функціонально залежать від параметрів і визначають усі точки гіперповерхні довільної форми. Кожна з функцій може розглядатися окремо і визначати гіперповерхню в просторі m+1. Тобто визначають m координат і можна розглядати як додаткову координату, що залежить від всіх інших.
У п. 1. 8 у неконструктивній формі вказано на необмежені апроксимаційні можливості НМ. Крім того, у п. 1.10 вказано на складності, що виникають при їхньому використанні. Основна область застосовності НМ у даний час це задачі штучного інтелекту, як альтернатива класичним методам [14, 54], де в деяких випадках ці труднощі не виявляються, на відміну від більшості задач апроксимації. В цій главі будуть зазначені способи розв'язання деяких проблем при навчанні НМ, таких як проблема можливості представлення і насичення.
2. 1. Поведінка нейронної мережі при додаванні параметрів.
При апроксимації на основі набору опорних точок у якості функції, що апроксимується, немає систематичного методу визначення необхідного числа нейронів для представлення заданої функції з попередньо заданою точністю [61]. Незадовільне представлення можливе за двома причинами: влучення в локальний мінімум і недолік параметрів, що змінюються. Зупинимося докладніше на другому випадку.
Часто важко визначити причину невдачі при навчанні, однак якщо після декількох спроб мережа не може з достатньою точністю представити функцію, що апроксимується, то можна з деякою впевненістю зробити висновок про її недостатню гнучкість, тобто недолік нейронів, отже, і параметрів, що змінюються. Наприклад, на рис. 2. 1 зображена побудована за допомогою мережі з двома нейронами залежність близька до . Загальна помилка досить велика і залишалася такою ж при декількох спробах навчання. Є всі підстави вважати, що мережі не вистачає нейронів для більш точного представлення даної залежності. Як правило [61], ця проблема розв'язується побудовою нової мережі з більшим числом нейронів, і з утратою попереднього навчання. Однак можливий більш цікавий підхід - додавання нових нейронів у вже навчену мережу без втрати навчання. Додавання нейрона з нульовими ваговими коефіцієнтами в будь-який шар та з'єднання його з відповідними вихідними нейронами зв'язком нульової ваги не призведе до зміни функціонування мережі, але додасть в неї додаткових параметрів. Це певною мірою підвисить гнучкість мережі, та збереже вже отримане навчання. Дійсно, у випадку додавання нейрона в певну мережу за такими правилами в k-й шар матриця (1. 12) для k-го шару отримає додатковий стовпець, який містить всі нулі; матриця k+1-го шару отримає додатковий рядок, який також містить всі нулі. Тобто отримана мережа буде еквівалентною вихідної мережі.
Рис. 2. 1
Експерименти з додаванням нейронів в навчену мережу привели до цікавого висновку - практично у всіх випадках у мережі після додавання нейронів не спостерігається значних змін вбік зменшення помилки. Цей несподіваний результат зажадав аналізу поведінки навченої нейронної мережі при додаванні нейронів. Через надзвичайно складний аналіз реально застосовуваних нейронних мереж, проведемо його на прикладі дуже простої мережі з одним параметром, що змінюються, в яку потім додамо ще один параметр і зробимо деякі узагальнення.
Нехай спочатку мережа функціонує за наступним законом:
(2.2)
де - експонентний сигмоїд з нульовим порогом,
- єдиний параметр, що змінюється.
Нехай мережа навчається відображати наступну функцію, визначену в єдиній точці і має в цій точці значення . Побудуємо функцію помилки:
(2.3)
Можна показати, що отримана функція має безупинну, позитивну на всій області визначення похідну (рис 2. 2), що прагне до нуля тільки при .
Рис. 2. 2
Через ненульову похідну функцію помилки при будь-якому кінцевому аргументі навчання за допомогою алгоритму зворотного поширення теоретично ніколи не зупиниться. При комп'ютерній реалізації навчання може продовжуватися доти, поки похідна не стане за модулем менше, ніж мінімальне можливе дійсне число, що представляється комп'ютером. Покладемо, що після закінчення навчання в цьому випадку , де M - деяке число (у даному випадку досить велике за модулем), що відповідає дуже малій похідній функції помилки.
Аналіз багатьох мереж, виконаний в роботі, при розв'язанні реальних задач свідчить, що при додаванні додаткових параметрів у вже навчену мережу велика ймовірність занадто малих часткових похідних функції помилки по знов доданих параметрах. Це пов'язано з тим, що спуски до мінімумів функції помилки відповідають, як правило, невеликим ваговим коефіцієнтам НМ. З огляду на те, що нейрони, що знов додаються, одержують сигнали від вже навчених нейронів попередніх шарів, є велика ймовірність, що знов доданий нейрон може виявитися зв'язаним сигналами вже навчених нейронів, і не розкрити своїх можливостей. Саме це відбувається у розглянутої мережі.
Додамо до мережі (2.2) додатковий параметр, так, що вона тепер функціонує за наступним законом:
(2.4)
Функція помилки:
(2.