Відмінності між методами зворотного розповсюдження


17

Просто для розваги я намагаюся розвинути нейронну мережу.

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

Перший використовується тут і в багатьох інших місцях.

Що це робить:

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

Однак нейронна мережа, запропонована в цьому підручнику (також доступна на GitHub), використовує іншу техніку:

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

Тепер, який метод слід використовувати?

Я думаю, що перший є найбільш використовуваним (бо я бачив різні приклади, використовуючи його), але чи працює він?

Зокрема, я не знаю:

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

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

Хоча, якщо у нього є проблеми, про які я згадав (які, я сподіваюся, це не так), чи є реальна причина використовувати його у другому методі?

Відповіді:


6

Два приклади, по суті, однакові:

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.