Правило навчання ШНМ

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Правило навчання або алгоритм навчання - це метод або математична модель, яка підвищує продуктивність штучної нейронної мережі і, як правило, це правило застосовується багаторазово по цілій мережі.[1] Це робиться шляхом поновлення ваг і рівнів упередженості мережі. Правило навчання може прийняти існуючі умови (ваги і зміщення) мережі і порівнює очікуваний результат і фактичний результат мережі, щоб дати нові та вдосконалені значення для ваг і зсуву. В залежності від складності конкретної моделі, яка моделюється, правило навчання мережі може бути настільки ж просто, як XOR входів або середньоквадратичної помилки, або це може бути результатом кількох диференціальних рівнянь [2]. Правило навчання є одним з факторів, який визначає, як швидко або наскільки точні можуть бути розроблені штучні мережі.

Парадигми навчання ШНМ[ред. | ред. код]

На сьогодні відомо три парадигми навчання нейронних мереж, в основу яких покладено особливості машинного навчання: 

  • кероване навчання (supervised learning); 
  • некероване навчання (unsupervised);
  • навчання з підкріпленням (reinforcement leaning).

Кероване навчання (supervised learning)[ред. | ред. код]

Кероване навчання (supervised learning) — передбачає, що для кожного вхідного вектора (xi) існує вектор вихідних значень (di). Разом ці два вектора називають навчальною парою (xi , di), а множину навчальних пар — навчальною вибіркою. Процес навчання зводиться до почергового подавання на вхід нейронної мережі навчальних пар, вираховування похибки між дійсним і бажаним значенням нейронної δ=y-d та корегування параметрів мережі в бік зменшення цієї похибки[3].

Некероване навчання (unsupervised)[ред. | ред. код]

Некероване навчання (unsupervised)— один зі способів машинного навчання, при вирішенні яких випробовувана система спонтанно навчається виконувати поставлене завдання, без втручання з боку експериментатора. З точки зору кібернетики, є одним з видів кібернетичного експерименту. Як правило, це підходить тільки для задач, в яких відомий опис множини об'єктів (навчальна вибірка), і необхідно виявити внутрішні взаємозв'язки, залежності, закономірності, що існують між об'єктами.

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

Навчання з підкріпленням[ред. | ред. код]

Навчання з підкріпленням є проміжним варіантом двох попередніх парадигм . Замість «вчителя» в схему навчання вводиться блок «критика» , який відслідковує реакцію середовища на вхідний сигнал і опираючись на неї визначає евристичну похибку, яку покладено в процес навчання мережі. Вказані парадигми базуються на відповідних правилах навчання, які визначають основні особливості їх застосування[5]

Правила навчання ШНМ[ред. | ред. код]

Теорія навчання розглядає три фундаментальні властивості, пов’язані з навчанням за прикладами: ємність, складність зразків і обчислювальна складність. Під ємністю розуміється, скільки зразків може запам’ятати мережа, і які функції і межі ухвалення рішень можуть бути на ній сформовані. Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення. Дуже мале число прикладів може викликати «перенавчання» мережі, коли вона добре функціонує на прикладах навчальної вибірки, але погано — на тестових прикладах, які підлягають тому ж статистичному розподілу. Відомі 4 основних типи правил навчання: корекція за помилкою, навчання Больцмана, Дельта правило і навчання методом змагання. Ці правила є базовими і основними для навчання ШНМ, всі решта правила які існують є модифікаціями цих правил [6].

Правило корекції за помилкою[ред. | ред. код]

При керованому навчанні для кожного вхідного прикладу заданий бажаний вихід d. Реальний вихід мережі у може не збігатися з бажаним. Являє собою такий метод навчання, при якому вага зв'язку не змінюється до тих пір, поки поточна реакція перцептрона залишається правильною. При появі неправильної реакції вага змінюється на одиницю, а знак (+/-) визначається протилежним від знаку помилки. Навчання має місце тільки у разі, коли перцептрон помиляється. Відомі різні модифікації цього алгоритму навчання: метод корекції помилок без квантування, метод корекції помилок з квантуванням, метод корекції помилок з випадковим знаком підкріплення, метод корекції помилок з випадковими збуреннями[7].

Правило навчання Больцмана[ред. | ред. код]

Правило навчання Больцмана є стохастичним правилом навчання, яке виходить з інформаційних теоретичних і термодинамічних принципів. Метою навчання Больцмана є таке налаштування вагових коефіцієнтів, при якому стани видимих нейронів задовольняють бажаний розподіл імовірності. Навчання Больцмана може розглядатися як спеціальний випадок корекції за помилкою, в якому під помилкою розуміється розбіжність кореляцій полягань в двох режимах [8].

Основні ознаки навчання:

  • використовують каскад багатьох шарів вузлів нелінійної обробки для виділяння ознак та перетворення. Кожен наступний шар використовує вихід із попереднього шару як вхід. Алгоритми можуть бути з керованим або некерованим навчанням, а застосування включають розпізнавання образів (некероване) та класифікацію (керовану).
  • ґрунтуються на навчанні (некерованому) декількох шарів ознак або представлень даних. Ознаки вищих рівнів виводяться з ознак нижчих рівнів для формування ієрархічного представлення.
  • є частиною ширшої області машинного навчання з навчання представлень даних.
  • навчаються кільком рівням представлень, що відповідають різним рівням абстракції; ці рівні формують ієрархію понять.

Дельта правило[ред. | ред. код]

Власне дельта-правилом називають математичну, трохи загальнішу форму запису правил Хебба. Нехай вектор   — вектор вхідних сигналів, а вектор    — вектор сигналів, які повинні бути отримані від перцептрона під впливом вхідного вектора. Тут  — кількість нейронів, що входять до перцептрону. Вхідні сигнали, поступивши на входи перцептрону, були зважені і підсумовані, в результаті чого отримано вектор   вихідних значень перцептрона. Тоді можна визначити вектор помилки , розмірність якого збігається розмірністю вектором вихідних сигналів. Компоненти вектора помилок визначаються як різниця між очікуваним і реальним значенням вихідного сигналу нейрону перцептрона:

За таких позначеннях формулу для коригування j-ї ваги i-го нейрона можна записати так:

Номер сигналу   змінюється в межах від одиниці до розмірності вхідного вектора  . Номер нейрону   змінюється в межах від одиниці до кількості нейронів . Величина   — номер поточної ітерації навчання. Таким чином, вага вхідного сигналу нейрона змінюється у бік зменшення помилки пропорційно величині сумарної помилки нейрона. Часто вводять коефіцієнт пропорційності  , на який множиться величина помилки[9]. Цей коефіцієнт називають швидкістю навчання. Таким чином, підсумкова формула для коректування ваг зв'язків перцептрону має наступний вигляд:

Навчання методом змагання[ред. | ред. код]

На відміну від навчання Хебба, в якому безліч вихідних нейронів можуть збуджуватися одночасно, при навчанні змагання вихідні нейрони змагаються між собою за активізацію. Це явище відоме як правило «переможець бере все». Подібне навчання має місце в біологічних нейронних мережах. Навчання за допомогою змагання дозволяє кластеризувати вхідні дані: подібні приклади групуються мережею відповідно до кореляцій і подаються одним елементом. При навчанні модифікуються тільки ваги нейрона, що «переміг». Ефект цього правила досягається за рахунок такої зміни збереженого в мережі зразка (вектора вагів зв’язків нейрона, що «переміг»), при якому він стає трохи ближчим до вхідного прикладу[10].

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. John, Wiley (1987). The Organization of Behavior.
  2. Ясницкий, Л. Н. (2005). Введение в искусственный интеллект. Издательский центр «Академия». с. 30—32.
  3. Ясницкий, Л. Н. Введение в искусственный интеллект. с. 40—42.
  4. Ясницкий, Л. Н. Введение в искусственный интеллект. с. 45—50.
  5. Ясницкий, Л. Н. Введение в искусственный интеллект. с. 70—72.
  6. Бодянский Е.В.Искусственные нейронные сети: архитектуры, обучение, применения / Е.В. Бодянский, О.Г. Руденко — Харьков: ТЕЛЕТЕХ, 2004. — 369с. 
  7. Комашинский В.И. Нейронные сети и их применение в системах управления и связи / В.И. Комашинский, Д.А. Смирнов М.: Горячая Линия Телеком, 2003. 98с. ISBN 5-93517-094-9. 
  8. Golden R.M. Mathematical Methods for Neural Network Analysis and Design. – Cambridge, Massachusetts: The MIT Press, 1996. – 420 p. 
  9. Хайкин С. Нейронные сети. Полный курс / С. Хайкин — М.: Вильямс, 2006 — 1104 с. — ISBN5-8459-0890-6. 5. 
  10. Rumelhart D.E. Learning Internal Representations by Error Propagation In: Parallel Distributed Processing / D.E. Rumelhart, G.E. Hinton, R.J. Williams // Cambridge, MA, MIT Press, 1986. — vol. 1 — P. 318—362