Шум в данных: откуда он берется, как с ним бороться и нужно ли это | robot_dreams
Для отслеживания статуса заказа — авторизируйтесь
Введите код, который был выслан на почту Введите код с SMS, который был выслан на номер
 
Код действителен в течение 5 минут Код с sms действителен в течение 5 минут
Вы уверены, что хотите выйти?
Сеанс завершен
На главную
Шум в данных

Шум в данных

Откуда он берется, как с ним бороться и нужно ли это.

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

Почему возникает шум
 

Модель может быть чувствительна к незначительным изменениям на входе. В таких случаях она воспринимает шум как сигнал и добавляет в обработку. Это приводит к переобучению.

Причины шума зависят от типа данных. 

Например, при распознавании изображений графический шум возникает из-за:

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

Текстовый шум появляется из-за:

  • орфографических ошибок; 
  • сленговой и неформальной речи;
  • искажения во время оптического распознавания текста (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, но с большим количеством маркированных данных). После экспериментов ученые обнаружили, что, если к нейросетям применялось шумопоглощение, их точность уменьшалась.  

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

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