Удосконалюйте свою модель глибокого навчання До науки про дані

Хитрощі для підвищення точності вашого класифікатора

Адітя Мішра

14 травня 2019 · 7 хв читання

Класифікація зображень вважається майже вирішеною проблемою. Забавна частина - це коли вам доводиться використовувати всю свою хитрість, щоб отримати додаткові 1% точності. Я зіткнувся з такою ситуацією, коли взяв участь у виклику класифікації сцен Intel, організованому Analytics Vidhya. Мені надзвичайно сподобалось змагання, коли я намагався витягти всі соки з моєї моделі глибокого навчання. Нижче наведені методи можуть бути застосовані до будь-якої сучасної проблеми класифікації зображень.

модель

Проблема полягала в класифікації даного зображення на 6 категорій

Ми були гі в ен

25 тис зображення з широкого кола природних сцен з усього світу

Це техніка послідовного зміни розміру всіх зображень під час навчання CNN на менші або більші розміри зображень. Прогресивна зміна розміру коротко описана в його приголомшливому курсі фастай «Практичне глибоке навчання для програмістів». Чудовим способом використання цієї техніки є підготовка моделі з меншим розміром зображення, скажімо, 64x64, а потім використання ваг цієї моделі для підготовки іншої моделі на зображеннях розміром 128x128 тощо. Кожна великомасштабна модель включає в свою архітектуру попередні шари та ваги меншого масштабу.

Бібліотека фастай - це потужна бібліотека глибокого навчання. Якщо команда FastAI знаходить особливо цікаву статтю, вона перевіряє її на різних наборах даних і визначає, як її налаштувати. Після успіху він включається в їх бібліотеку та стає доступним для користувачів. Бібліотека містить багато вбудованих сучасних технологій (SOTA). Побудований за типом піторхи, fastai має відмінні параметри за замовчуванням для більшості, якщо не всіх завдань. Деякі з методів є

  1. Коефіцієнт циклічного навчання
  2. Навчання в одному циклі
  3. Поглиблене вивчення структурованих даних

Перевіряючи доступні стандартні набори даних, я натрапив на набір даних Places365. Набір даних Places365 містить 1,8 мільйона зображень із 365 категорій сцен. Набір даних, наданий у завданні, був дуже схожий на цей набір даних, тому модель, навчена на цьому наборі даних, вже вивчила особливості, які відповідають нашій власній проблемі класифікації. Оскільки категорії в нашій задачі були підмножиною набору даних Places365, я використав модель ResNet50, ініційовану вагами places365.

Модельні ваги були доступні як ваги піторхи. Наведена нижче функція утиліти допомогла нам належним чином завантажити дані у програму CNN Learner від Fastai.

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

λ випадково відбирається з бета-розподілу. Незважаючи на те, що автори статті пропонують використовувати λ = 0,4, значення за замовчуванням у бібліотеці fastai встановлено на 0,1

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