Art of DS

Вигляд

Палітра
Тема
Доступ $20 одноразово
Увійти або створити акаунт

Вхід до Art of DSСтворіть акаунт Art of DS

Ми надішлемо на пошту посилання й шестизначний код. Увійти можна будь-яким із них; пароля немає.Введіть свою пошту. Ми надішлемо посилання й шестизначний код, щоб її підтвердити, — пароль не потрібен. Акаунт безкоштовний.

  • Ви повернетеся на цю сторінку, туди, де зупинилися.
  • Уже маєте акаунт? З тією самою адресою ви просто ввійдете.

Продовжуючи, ви приймаєте Умови та Політику конфіденційності.

Ваш акаунт

Безкоштовний акаунтДоступ назавжди

складність 2/5 Безкоштовно

Data augmentation

Визначення

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

Спершу прочитайте Overfitting Увесь шлях — на мапі

Інтуїція

Ваша навчальна вибірка має 800 фотографій. Кожну з них знято під якимось певним кутом, за якогось певного освітлення, з об’єктом якогось певного розміру. Мережа не має способу знати, які з цих властивостей є об’єктом, а які — обставинами, тож вона радо скористається будь-якою з них, яка передбачає мітку [1, §14.1].

Аугментація забирає цю можливість суперечністю. Покажіть ту саму фотографію віддзеркаленою, обрізаною, освітленішою — щоразу з тією самою міткою — і «об’єкт дивиться ліворуч» перестає бути придатним правилом, бо іноді це не так. Те, що переживає повторювану суперечність, є тим, що справді інваріантне, а це і є те, чого ви хотіли навчити модель [3, §7.4].

Це не більше даних у жодному теоретико-інформаційному сенсі. Кожен піксель прийшов із фотографій, які ви вже мали. Що воно додає — це твердження про те, які перетворення не повинні змінювати відповіді; шматок предметного знання, впорснутий як приклади, а не як архітектура [3, §7.4].

Формальне визначення

D2L: «аугментація зображень породжує схожі, але відмінні навчальні приклади після низки випадкових змін навчальних зображень, тим самим розширюючи розмір навчальної вибірки» [1, §14.1].

Пропонують два механізми, і вони різні. Один — це розширення навчальної вибірки. Другий — цікавий: «випадкові підправляння навчальних прикладів дають моделям менше спиратися на певні атрибути, тим самим поліпшуючи їхню здатність до узагальнення» [1, §14.1].

Менше спиратися на певні атрибути — ось і весь аргумент. Річ не в обсязі, а в усуненні коротких шляхів.

Стандартними операціями є віддзеркалення, кадрування та колір: горизонтальне й вертикальне віддзеркалення, з яких ліво-праве найпоширеніше, випадкове кадрування зі зміною розміру й різними співвідношеннями сторін, а також коригування «яскравості, контрасту, насиченості й відтінку» [1, §14.1.1].

Як це працює

originalsame labelh-fliprandom croprotatebrightnesshue
One labelled example, and five things the network is told are also that label. None of them is new information — every pixel came from the same photograph — but each one removes an excuse the model could otherwise use: it can no longer key on the object facing left, or on it filling the frame, or on the lighting that day. The randomness is the mechanism, and it belongs to training only; at prediction time you show the image once, unaltered, or the answer stops being reproducible.

Випадковість є механізмом, а не деталлю реалізації. «Більшість методів аугментації зображень мають певний ступінь випадковості» [1, §14.1.1] — фіксоване віддзеркалення, застосоване до кожного зображення, просто дало б дзеркальний набір даних і не навчило б нічого. Саме те, що модель бачить іншу версію кожної епохи, і спиняє її від чіпляння за будь-яку одну з них.

Воно застосовується лише під час навчання. D2L недвозначний: «щоб дістати певні результати під час прогнозування, ми зазвичай застосовуємо аугментацію зображень лише до навчальних прикладів і не вживаємо аугментації зображень із випадковими операціями під час прогнозування» [1, §14.1.2]. Лишити її увімкненою на висновуванні означає зробити прогнози невідтворюваними — прогоніть те саме зображення двічі й дістанете дві відповіді.

На практиці це складений конвеєр, причеплений до набору даних. Канонічний рецепт класифікації від Torchvision — це рівно той набір, що вище: випадкове кадрування зі зміною розміру, горизонтальне віддзеркалення з імовірністю 0.5, а тоді нормалізація [2, Transforming images] — і ті самі перетворення можна застосувати до обмежувальних рамок і масок разом із зображенням [2, Transforming images], що важить, бо віддзеркалене зображення з невіддзеркаленими рамками є тихо зіпсованими навчальними даними.

Де застосовується

  • Кожен вартий уваги прогін навчання в комп’ютерному зорі — аж до того, що рецепт аугментації є частиною того, як порівнюють архітектури: два алгоритми можна порівнювати лише за однакової схеми аугментації [3, §7.4].
  • Режими з малими даними, поряд із перенесенням навчання — ці двоє б’ють по тій самій нестачі з різних боків.
  • Виявлення й сегментація, де перетворення треба застосувати і до цілей, і до входу [2, Transforming images].
  • Аудіо — як розтягування в часі, зсув висоти тону й упорскування шуму: та сама ідея, інші інваріантності.
  • Текст, обережніше, бо більшість перетворень речення мітки не зберігають.

Чому і коли

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

Обирайте перетворення, питаючи, що не повинно змінювати мітку. Це і є все проєктне рішення, і це предметне знання, а не гіперпараметр.

Не застосовуйте перетворення, якого ваші тестові дані не міститимуть ніколи. Вертикальні віддзеркалення допомагають на супутникових знімках, де «вгору» немає; на вуличних фотографіях вони вчать модель розпізнавати те, чого не буває.

Вимикайте її для оцінювання [1, §14.1.2]. Це найпоширеніша помилка в цій області, і вона робить результати невідтворюваними, а не просто гіршими.

Стежте, чи воно не ламає мітку. Горизонтальне віддзеркалення перетворює 6 на щось, що 6 не є, а фотографію лівої руки — на праву. Розпізнавання символів мусить відрізняти «b» від «d» і «6» від «9», тож віддзеркалення й повороти на 180° не годяться [3, §7.4].

Практичний приклад

Властивість, яка робить аугментацію законною, перевірена прямо: масив змінюється, а мітка — ні.

Python 16 рядків Показати код Сховати код
import numpy as np

img = np.arange(36).reshape(6, 6)
row = 2
views = {
    "original":      img,
    "h-flip":        np.fliplr(img),
    "crop + resize": img[1:4, 1:4].repeat(2, 0).repeat(2, 1),
    "brightness":    np.rint(np.clip(img * 1.25, 0, 35)).astype(int),
}
for name, a in views.items():
    print(f"  {name:<15} row {row}: {a[row].tolist()}")

print(f"\n  every view differs from the original: "
      f"{all(not np.array_equal(img, a) for n, a in views.items() if n != 'original')}")
print("  the label attached to all four        : unchanged")

Вивід

  original        row 2: [12, 13, 14, 15, 16, 17]
  h-flip          row 2: [17, 16, 15, 14, 13, 12]
  crop + resize   row 2: [13, 13, 14, 14, 15, 15]
  brightness      row 2: [15, 16, 18, 19, 20, 21]

  every view differs from the original: True
  the label attached to all four        : unchanged

Чотири різні масиви, одна мітка. Будь-яке правило, яке мережа могла б вивчити і яке залежить від точних значень пікселів — «позиція 0 рядка 2 дорівнює 12», — спростовують три з чотирьох. Правило, яке залежить від відношень між значеннями, переживає всі чотири.

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

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

Типові помилки

Лишити аугментацію увімкненою на висновуванні. Прогнози перестають бути відтворюваними [1, §14.1.2], а метрика, обчислена за неї, міряє рандомізовану модель.

Аугментувати зображення, а не мітку. У виявленні та сегментації цілі мусять рухатися з пікселями; torchvision пропускає обидва через те саме перетворення рівно з цієї причини [2, Transforming images].

Перетворення, які змінюють клас. Віддзеркалення на цифрах і тексті, агресивні зсуви відтінку там, де колір і є міткою, кадрування, яке прибирає об’єкт цілком.

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

Вважати її замінником даних. Вона зменшує опору на побічні атрибути [1, §14.1]; вона не додає об’єктів, поз чи умов, яких ваша збірка ніколи не містила.

Ще не прочитаноДочитайте сторінку до кінця — і вона вважатиметься прочитаною.

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

Відкрити доступ

Перевірте себе

3 запитання

Кожну відповідь пояснено: який розділ вона перевіряє і з якого джерела.

Джерела

  1. Zhang, Lipton, Li, Smola. Dive into Deep Learningbook · звірено 2026-09-05https://d2l.ai/
  2. Torchvision documentation — Transforming images, videos, boxes and moredocs · звірено 2026-09-05https://docs.pytorch.org/vision/stable/transforms.html
  3. Goodfellow, Bengio, Courville. Deep Learning (2016)bookhttps://www.deeplearningbook.org/

Маєте промокод?

Код зі знижкою 100% одразу відкриває все. Менша знижка віднімається від ціни у вікні оплати: введіть там той самий код.

Написати в підтримку

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

Про що це?

Адресу використаємо лише для відповіді вам.

Повідомлення надіслано

Дякуємо. Відповімо листом на адресу, яку ви вказали.

Або напишіть нам напряму

support@artofds.com

Повідомлення надіслано Дякуємо. Відповімо листом на адресу, яку ви вказали.

Перевірте адресу пошти: вона потрібна, щоб відповісти.

Це наша адреса. Вкажіть свою, щоб відповідь дійшла до вас.

На цю адресу не можна надіслати лист. Перевірте, чи немає помилки.

Напишіть трохи більше: щонайменше 10 символів.

Забагато повідомлень за короткий час. Спробуйте за кілька хвилин.

Не вдалося надіслати повідомлення. Напишіть нам напряму: support@artofds.com