Чи є якась різниця між тренуванням штабельного автокодера та двошарової нейронної мережі?


14

Скажімо, я пишу алгоритм для побудови двошарових складених автокодер та двошарової нейронної мережі. Вони однакові речі чи різниця?

Що я розумію, це те, що коли я будую складений автокодер, я буду будувати пошарово. Для нейронної мережі я би ініціалізував усі параметри в мережі, а потім для кожної точки даних я передаю її через мережу і обчислюю втрати (наприклад, еукленова відстань) і роблю зворотне розповсюдження.

Відповіді:


16

Складені автокодери та багатошарові нейронні мережі різні. На практиці ви будете мати дві мережі загальної ваги та, можливо, ділити буфери пам'яті. Тож у вашій реалізації дві мережі переплітаються.

Як правило, автокодери навчаються без нагляду, жадібним, шаровим способом. (Ніяких міток, починайте тренування лише з першого шару мережі, а потім додайте нові шари, коли ви йдете.) Ваги можна дізнатися, використовуючи різні методи, починаючи від "пакетного" градієнтного спуску (будь ласка, не робіть цього), до міні-серійного стохастичного градієнтного спуску (SGD), до квазі-ньютонських методів, таких як L-BFGS.

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

Перевагами такого способу навчання нейронних сіток є:

  1. Непідконтрольне навчання дозволяє показувати мережі більше даних, тому що набагато простіше отримати великі набори без нагляду, ніж отримувати мітки.
  2. Ви можете використовувати заздалегідь підготовлену мережу як "стрибкову точку" для підготовки нових класифікаторів, тому вам не доведеться щоразу починати з нуля.

Документ див. У розділі Складені позначаючі автокодери: Вивчення корисних уявлень у глибокій мережі з локальним критерієм позначення .


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

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