Чому нам потрібно нормалізувати зображення, перш ніж їх розмістити в CNN?


Відповіді:


34

Перша примітка: ви дійсно повинні також розділяти стандартне відхилення значення кожної функції (пікселя). Віднімання середнього центру вводить на 0 і ділення на стандартне відхилення робить будь-яке масштабоване значення функції число стандартних відхилень від середнього.

Щоб відповісти на ваше запитання: Поміркуйте, як нейронна мережа дізнається свої ваги. C (NN) s вивчають шляхом постійного додавання векторів помилок градієнта (помножених на швидкість навчання), обчислених від зворотного розповсюдження до різних вагових матриць по всій мережі, коли навчальні приклади передаються.

Тут слід зауважити "множений на коефіцієнт навчання".

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

Це не ідеально, оскільки ми можемо опинитися в коливальному (не в змозі зосередитись на кращих максимумах у вартісному (ваговому) просторі) або у повільному рухомому (подорожі занадто повільно, щоб досягти кращого максимуму).

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

Таким чином, ми намагаємося нормалізувати зображення, перш ніж використовувати їх як вхід в алгоритм NN (або будь-який градієнт).


1
як щодо кольорових зображень? чи роблю це для кожного кольорового каналу? Хіба це не зіпсує розподіл кольорів?
користувач10024395

2
Повірте, ви повинні так. Ви можете просто зробити щось на кшталт:(image - image.mean()) / (image.std() + 1e-8)
ДжонАллен

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

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