Ну питання все це говорить.
Що означає "попередня підготовка нейронної мережі"? Чи може хтось пояснити чистою простою англійською мовою?
Я не можу знайти жодні ресурси, пов'язані з цим. Було б чудово, якби хтось міг вказати мені на них.
Ну питання все це говорить.
Що означає "попередня підготовка нейронної мережі"? Чи може хтось пояснити чистою простою англійською мовою?
Я не можу знайти жодні ресурси, пов'язані з цим. Було б чудово, якби хтось міг вказати мені на них.
Відповіді:
Звичайний спосіб навчання мережі:
Ви хочете навчити нейронну мережу виконувати завдання (наприклад, класифікацію) на наборі даних (наприклад, набір зображень). Ви починаєте тренування, ініціалізуючи гирі випадковим чином. Як тільки ви почнете тренувати, ваги змінюються, щоб виконати завдання з меншими помилками (тобто оптимізацією). Після того, як ви будете задоволені результатами тренувань, ви кудись зберігаєте ваги своєї мережі.
Тепер ви зацікавлені в навчанні мережі виконувати нове завдання (наприклад, виявлення об'єктів) на іншому наборі даних (наприклад, зображення, але не такі, як ті, які ви використовували раніше). Замість того, щоб повторювати те, що ви зробили для першої мережі, і почати з тренування з випадково ініціалізованими вагами, ви можете використовувати ваги, збережені з попередньої мережі, як початкові значення ваги для нового експерименту. Ініціалізація ваг таким чином називається використанням заздалегідь підготовленої мережі. Перша мережа - це ваша попередньо підготовлена мережа. Другий - це мережа, яку ви точно налаштовуєте.
Ідея попередньої підготовки полягає в тому, що випадкова ініціалізація є ... ну ... випадково, значення ваг не мають нічого спільного з завданням, яке ви намагаєтеся вирішити. Чому набір значень повинен бути кращим за інший? Але як би ви ініціалізували ваги? Якби ви знали, як правильно їх ініціалізувати для виконання завдання, ви могли б також встановити оптимальні значення (трохи перебільшені). Не потрібно нічого тренувати. У вас є оптимальне рішення вашої проблеми. Попередня підготовка дає послугу мережі. Наче вона бачила дані раніше.
На що слід стежити, коли проводиться перед підготовкою
Перше завдання, яке використовується під час попередньої підготовки мережі, може бути таким же, як і етап тонкої настройки. Набори даних, які використовуються для попередньої підготовки проти тонкої настройки, також можуть бути однаковими, але можуть бути різними. Дійсно цікаво побачити, як попередня підготовка з іншого завдання та різних наборів даних все-таки може бути перенесена на новий набір даних та нове завдання, дещо відрізняються. Використання заздалегідь підготовленої мережі зазвичай має сенс, якщо обидва завдання або обидва набори даних мають щось спільне. Чим більший розрив, тим менш ефективною буде попередня підготовка. Попередньо підготувати мережу до класифікації зображень мало сенсу, попередньо навчивши її фінансових даних. У цьому випадку є занадто багато розриву між етапами попередньої підготовки та тонкої настройки.
Пошук / тонка настройка працює наступним чином:
Це одна з форм трансферного навчання. Таким чином , ви можете передати деякі знання , отримані з набору даних для набору даних . Дивіться мій Глосарій машинного навчання для цього та інших термінів, пояснених дуже мало слів.
Дві відповіді вище пояснюють добре. Просто хочу додати ще одну тонку річ, що стосується попередньої підготовки до Deep Belief Nets (DBN). Попередня підготовка для DBN - це непідконтрольне навчання (тобто без маркованих даних), а після цього - навчання під наглядом (тобто без даних, позначених міткою).