Шум у даних: звідки він береться, як з ним боротися і чи це потрібно | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
Шум у даних

Шум у даних

Звідки він береться, як із ним боротися і чи потрібно це

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

Чому виникає шум  

Модель може бути чутливою до незначних змін на вході. У таких випадках вона сприймає шум як сигнал і додає в обробку. Це призводить до перенавчання.

Причини шуму залежать від типу даних. 

Наприклад, під час розпізнавання зображень графічний шум виникає через:

  • неякісний/несправний сенсор;
  • квантовий шум;
  • стиснення зображень;
  • зміни під час сканування або постобробки фото.

Текстовий шум з’являється через:

  • орфографічні помилки; 
  • сленгову та неформальну мову;
  • спотворення під час оптичного розпізнавання тексту (OCR).

Подібні проблеми виникають і з іншими форматами даних — аудіо, відео та навіть рентгенівськими знімками.

Способи боротьби з шумом 

Ключовий метод — зменшення розмірності

Зменшити розмірність — означає скоротити кількість параметрів, якими описують дані. Є два способи: 

#1. скоротити кількість заданих елементів для функції (наприклад, задати ключові характеристики про предмет замість усіх наявних);

#2. зменшити кількість видач результатів функції.

Розглянемо методи, пов’язані зі зменшенням розмірності.

  • Аналіз головних компонентів (PCA) 

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

    Більше про метод — у статті.
  • Автоенкодер

    Це нейромережа, яка трансформує вхідні дані алгоритму і перекодовує їх на вихід. Автоенкодер розташований всередині моделі, що навчається. Він складається з двох частин: енкодера і декодера. 

    Автоенкодер стискає вхідні дані для подання в прихованому просторі, а потім відновлює їх. 

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

Навіщо додавати шум 

Іноді шум допомагає поліпшити результативність тренувань і точність моделі. 

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

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

Найпопулярніший спосіб — додати шум на входи, але його можна приєднати й до інших частин нейромережі. Наприклад, до ваг, градієнтів або на виході. 

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

Основні види шумів, які додають під час навчання 

  • Гауссівський шум

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

    Під нормальний розподіл підпадає також зріст і вага людей, і навіть показники інтелекту.

    Цей шум вважають нейтральним через рівномірний розподіл. Щільність його сигналу однакова на кожній частоті.
  • Кольорові шуми
    • Рожевий шум

      «Рожевим» називають будь-який шум, щільність якого зменшується, хоча залежність його інтенсивності від частоти буває різною. Наприклад, червоний шум «загасає» швидше за інші.
    • Синій шум

      Він відрізняється збільшенням спектральної густини сигналу з частотою. Спектрограма синього шуму — дзеркальне відображення рожевого.  

Гауссівський і кольорові шуми використовують для навчання нейромереж передбачати часові ряди (параметри, які змінюються з часом). 

  • Шум солі та перцю (salt and pepper noise)

    Це графічний шум на зображеннях. Зазвичай він виникає через різкі порушення передачі сигналу зображення і проявляється як чорні та білі пікселі, що випадково виникають. Штучно його, як і кольорові шуми, можна створити в бібліотеках Python (scikit-image або NumPy).

Джерело: raspository.com

Як використовують шуми  

Дослідники з Берклі створюють ледве помітний шум у записах мови, через який система розпізнає фразу інакше. Така можливість з’являється через вразливість у змагальних прикладах. Технологію можна задіювати для зламування голосових помічників (як Siri або Alexa) і виконання ними команд. Також алгоритм можна застосовувати для захисту (наприклад, щоб обмежити розпізнавання мови смартфонами й комп’ютерами).    

Учені університету Сан-Паулу в роботі Deep Convolutional Neural Networks and Noisy Images досліджували додавання різних типів шуму до вхідних даних та їхній вплив на навчання. Для цього використовували три бібліотеки зображень: MNIST (база даних зі зразків рукописного написання цифр), CIFAR10 (база з 10 класів зображень із низькою роздільною здатністю) і SVHN (база, схожа за типом на MNIST, але з великою кількістю маркованих даних). Після експериментів учені виявили: коли до нейромереж застосовували шумопоглинання, їхня точність зменшувалася.  

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

Ще статті
Порівнюємо швидкість, якість і відповідальність за результат