Deep Learning: Transfer learning і тонка настройка глибоких згорткових нейронних мереж

У попередньої статті з циклу «Deep Learning» ви дізналися про порівняння фреймворків для символьного глибокого навчання. У цьому матеріалі мова піде про глибоку налаштування згорткових нейронних мереж для підвищення середньої точності та ефективності класифікації медичних зображень.



Цикл статей «Deep Learning»
1. Порівняння фреймворків для символьного глибокого навчання.
2. Transfer learning і тонка настройка глибоких згорткових нейронних мереж.
3. Поєднання глибокої сверточной нейронної мережі з рекурентної нейронної мережею.

Примітка: далі розповідь буде вестися від імені автора.

Введення
Поширеною причиною втрати зору є діабетична ретинопатія (ДР) — захворювання очей при діабеті. Дослідження пацієнтів з допомогою флюоресцентної ангіографії потенційно здатне знизити ризик сліпоти. Існуючі тенденції досліджень показують, що глибокі згорткові нейромережі (ДБНС) досить ефективні для автоматичного аналізу великих наборів зображень для виявлення характерних ознак, за якими можна розподілити зображення на різні категорії практично без помилок. Навчання ДБНС рідко відбувається з нуля з-за відсутності заздалегідь заданих наборів з достатньою кількістю зображень, що відносяться до певної галузі. Оскільки для навчання сучасних ДБНС потрібно 2-3 тижні, центр Berkley Vision and Learning Center (BVLC) випустив підсумкові контрольні точки для ДБНС. У цій публікації ми використовуємо заздалегідь навчену мережу: GoogLeNet. Мережа GoogLeNet навчена на великому наборі природних зображень ImageNet. Ми передаємо розпізнані вагові дані ImageNet в якості початкових мережі, потім налаштовуємо заздалегідь навчену універсальну мережу для розпізнавання зображень флюоресцентної ангіографії очей і підвищення точності передбачення ІН.

Використання явного виділення характерних ознак для передбачення діабетичної ретинопатії
В даний момент вже пророблена велика робота з розробки алгоритмів і методик обробки зображень для явного виділення характерних ознак, характерних для пацієнтів з ІН. У стандартній класифікації зображень застосовується наступний універсальний робочий процес:

  • Методики попередньої обробки зображень для видалення шуму і підвищення контрастності.
  • Методика виділення характерних ознак.
  • Класифікація.
  • Передбачення.
Олівер Фауст і інші його колеги надають дуже докладний аналіз моделей, що використовують явне виділення характерних ознак ІН. Вуйосевич з колегами створили двійковий класифікатор на основі набору даних 55 пацієнтів, явним чином виділивши окремі відмінні ознаки уражень. Деякі автори використовували методики морфологічної обробки зображень для отримання відмінних ознак кровоносних судин і кровотеч, а потім навчили машину опорних векторів на наборі даних з 331 зображення. Інші фахівці повідомляють про точність 90% та чутливості 90% в задачі бінарної класифікації на наборі даних з 140 зображень.

Тим не менше всі ці процеси пов'язані зі значними витратами часу і зусиль. Для подальшого підвищення точності прогнозів потрібні величезні обсяги маркованих даних. Обробка зображень та виділення характерних ознак у наборах даних зображень — досить складний і тривалий процес. Тому ми вирішили автоматизувати обробку зображень і етап виділення характерних ознак, використовуючи ДБНС.

Глибока сверточная нейромережа (ДБНС)
Для виділення характерних ознак у зображеннях потрібні експертні знання. Функції виділення в ДБНС автоматично формують зображення для певних галузей, не використовуючи жодних функції обробки відмінних ознак. Завдяки цьому процесу ДБНС придатні для аналізу зображень:

  • ДБНС навчають мережі з безліччю шарів.
  • Кілька шарів працюють разом для формування покращеного простору відмінних ознак.
  • Початкові шари вивчають першорядні ознаки (колір, краї тощо).
  • Подальші шари вивчають ознаки більш високого порядку (відповідно з вхідним набором даних).
  • Нарешті, ознаки підсумкового шару подаються в шари класифікації.



Шари C — згортки, шари S — пули і вибірки

Згортка. Згорткові шари складаються з прямокутної мережі нейронів. Вагові дані при цьому однакові для кожного нейрона у сверточном шарі. Вагові дані згорткового шару визначають фільтр згортки.



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



У цій публікації ми використовуємо ДБНС GoogLeNet DCNN, розроблену Google. Нейромережа GoogLeNet виграла конкурс ImageNet в 2014 році, поставивши рекорд по найкращим одноразовим результатами. Причини вибору цієї моделі — глибина роботи та економне використання ресурсів архітектури.



Transfer learning і тонка настройка глибоких згорткових нейромереж
На практиці навчання цілих ДБНС зазвичай не проводиться з нуля з довільною ініціалізацією. Причина полягає в тому, що зазвичай не вдається знайти набір даних достатнього розміру, необхідного для мережі потрібної глибини. Замість цього найчастіше відбувається попереднє навчання ДБНС на дуже великому наборі даних, а потім використання вагових даних навченої ДБНС або як ініціалізації, або в якості виділення характерних ознак для певної задачі.

Тонка настройка. Стратегії перенесення навчання залежать від різних факторів, але найбільш важливими є два: розмір нового набору даних і його схожість з початковим набором даних. Якщо врахувати, що характер роботи ДБНС більш універсальний на ранніх шарах і стає більш тісно пов'язаним з конкретним набором даних на наступних шарах, можна виділити чотири основних сценарії:

  1. Новий набір даних менший за розміром і аналогічний за змістом вихідного набору даних. Якщо обсяг даних невеликий, то немає сенсу проводити тонке налаштування ДБНС з-за надмірної підгонки. Оскільки дані схожі з початковими, можна припускати, що відмінні риси в ДБНС будуть релевантні і для цього набору даних. Тому оптимальним рішенням є навчання лінійного класифікатора відмітною ознакою СНР.

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

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

  4. Новий набір даних відносно великий і суттєво відрізняється за змістом від вихідного набору даних. Оскільки набір даних дуже великий, можна дозволити собі навчити всю ДБНС з нуля. Тим не менш, на практиці часто все одно виявляється вигідніше використовувати для ініціалізації вагові дані з заздалегідь підготовлену моделі. В цьому випадку ми будемо мати у своєму розпорядженні достатній обсяг даних для тонкої настройки всієї мережі.
Тонка настройка ДБНС. Вирішуючи питання передбачення ТОЩО, ми діємо за сценарієм IV. Ми проводимо тонку настройку вагових даних заздалегідь підготовлену ДБНС, продовжуючи зворотне поширення. Можна провести тонку настройку всіх верств ДБНС, або залишити деякі з ранніх шарів незмінними (щоб уникнути надмірної підгонки) і настроїти тільки високорівневу частина мережі. Це обумовлено тим, що на ранніх шарах ДБНС містяться більш універсальні функції (наприклад, визначення країв або квітів), корисні для безлічі завдань, а більш пізні шари ДБНС вже орієнтовані на класи набору даних ТОЩО.

Обмеження transfer learning. Оскільки ми використовуємо заздалегідь навчену мережу, наш вибір архітектури моделі дещо обмежений. Наприклад, ми не можемо довільним чином прибрати згорткові шари з заздалегідь підготовлену моделі. Проте завдяки спільному використанню параметрів можна з легкістю запустити заздалегідь навчену мережу для зображень різного просторового розміру. Це найбільш очевидно в разі згорткових і вибіркових шарів, оскільки їх функція перенаправлення не залежить від просторового розміру вхідних даних. У випадку з полносвязанными шарами цей принцип зберігається, оскільки повнозв'язані шари можна перетворити на згортковий шар.

Швидкість навчання. Ми використовуємо зменшену швидкість навчання для вагових даних ДБНС, що піддаються тонкої настройки, виходячи з того, що якість вагових даних заздалегідь підготовлену ДБНС відносно високо. Не слід перекручувати ці дані занадто швидко або занадто сильно, тому і швидкість навчання, і спад швидкості повинні бути відносно низькими.

Додаток даних. Одним з недоліків нерегулярних нейромереж є їх надмірна гнучкість: вони однаково добре навчаються розпізнавати як деталей одягу, так і перешкод, з-за чого підвищується ймовірність надмірної підгонки. Ми застосовуємо регулювання на рівні 2, щоб уникнути цього. Втім, навіть після цього був значний розрив у продуктивності між навчанням і перевіркою зображень ТОЩО, що вказує на надмірну підгонку в процесі тонкої настройки. Щоб усунути цей ефект, ми застосовуємо додаток даних для набору даних зображень ІН.

Існує безліч способів доповнення даних, наприклад, дзеркальне відображення по горизонталі, випадкова обрізка, зміна кольорів. Оскільки колірна інформація цих зображень дуже важлива, ми застосовуємо лише поворот зображень на різні кути: на 0, 90, 180 і 270 градусів.


Заміна вхідного шару заздалегідь навченої мережі GoogLeNet на зображення ІН. Ми проводимо тонку настройку всіх шарів, окрім двох верхніх заздалегідь навчених шарів, що містять універсальні вагові дані.

Тонка настройка GoogLeNet. Використовувана нами мережу GoogLeNet спочатку була навчена на наборі даних ImageNet. Набір даних ImageNet містить близько 1 млн природних зображень і 1000 міток/категорій. У нашому розміченому наборі даних ІН міститься близько 30 000 зображень, що відносяться до розглянутої області, і чотири мітки/категорії. Отже, цього набору даних ІН недостатньо для навчання складної мережі, який є GoogLeNet: ми будемо використовувати вагові дані з мережі GoogLeNet, навченої за ImageNet. Ми проводимо тонку настройку всіх шарів, окрім двох верхніх заздалегідь навчених шарів, що містять універсальні вагові дані. Початковий шар класифікації loss3/classifier виводить передбачення для 1000 класів. Ми замінюємо його новим двійковим шаром.



Висновок
Завдяки тонкій настройці можна застосовувати вдосконалені моделі ДБНС в нових областях, де їх було б неможливо використати інакше через нестачу даних чи обмежень за часом і вартістю. Такий підхід дозволяє домогтися істотного підвищення середньої точності та ефективності класифікації медичних зображень.

Якщо ви побачили неточність перекладу, повідомте будь ласка про це в особисті повідомлення.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.