Page 21 - 4703
P. 21
шого типу. Певну трудність тут представляє питання про те,
яку треба брати довжину кроків.
При великій довжині кроку збіжність буде швидшою, але
є небезпека перестрибнути через мінімум або (якщо поверхня
помилок має особливо химерну форму) піти в неправильному
напрямі. Класичним прикладом такого явища при навчанні
нейронної мережі є ситуація, коли алгоритм дуже повільно
просувається по вузькому яру з крутими схилами, стрибаючи з
одного його боку на інший. Навпаки, при малому кроці,
ймовірно, буде схоплено вірний напрям, проте при цьому зна-
добиться дуже багато ітерацій. На практиці величина кроку
береться пропорційній крутизні схилу (так що алгоритм
уповільнює хід поблизу мінімуму) з деякою константою, яка
називається швидкістю навчання. Правильний вибір швид-
кості навчання залежить від конкретного завдання і зазвичай
здійснюється дослідним шляхом; ця константа може також
залежати від часу, зменшуючись у міру просування алгоритму.
Зазвичай цей алгоритм видозмінюється так, щоб включа-
ти доданок імпульсу (чи інерції). Цей член сприяє просуванню
у фіксованому напрямі, тому якщо було зроблено декілька
кроків в одному і тому ж напрямі, то алгоритм "збільшує
швидкість", що (іноді) дозволяє уникнути локального мініму-
му, а також швидше проходити плоскі ділянки.
Таким чином, алгоритм діє ітеративно і його кроки
прийнято називати епохами. На кожній епосі на вхід мережі
по черзі подаються усі навчальні спостереження, вихідні зна-
чення мережі порівнюються з цільовими значеннями і об-
числюється помилка. Значення помилки, а також градієнта
поверхні помилок використовується для коригування ваг,
після чого усі дії повторюються. Початкова конфігурація ме-
режі вибирається випадковим чином і процес навчання при-
пиняється або коли пройдена певна кількість епох або коли
помилка досягне деякого певного рівня малості або коли по-
милка перестане зменшуватися (користувач може сам вибрати
потрібну умову зупинки).
Перенавчання і узагальнення
Одна з найбільш серйозних труднощів викладеного під-
ходу полягає в тому, що таким чином ми мінімізуємо не ту
помилку, яку насправді треба мінімізувати - помилку, яку
21