Новая модель обнаружения аномалий, сочетающая автоэнкодер с генеративно-состязательной сетью.

Эта статья является продолжением рассказа Обзор статьи: Реконструкция методом окраски для выявления визуальных аномалий. В предыдущем посте я рассмотрел новый метод, который повышает эффективность обнаружения аномалий путем передачи изображений со случайными блоками в U-сеть. Это руководство поможет вам понять, как можно использовать автоэнкодер для обнаружения аномалий. Я также заинтересован в написании рецензий на статьи, посвященные обнаружению визуальных аномалий, которые я обнаружил во время моей научной стажировки. Есть несколько сообщений, посвященных взаимосвязи между обнаружением аномалий и компьютерным зрением, и я хотел внести свой вклад, чтобы заполнить пробел.

Обнаружение аномалий — известная задача, заключающаяся в выделении аномальных выборок из нормальных. Эта проблема является сложной, поскольку размер выборки для нормального класса больше, чем для ненормального. В компьютерном зрении еще сложнее из-за небольшого объема данных и ограниченного разнообразия изображений.

В литературе существует несколько моделей, которые предлагаются для такого типа задач. Существует значительный объем работы по автоэнкодерам, но показано, что они являются слишком простыми моделями, когда наборы данных содержат изображения со сложными шаблонами, такими как CIFAR10. По этой причине GANomaly предлагается в качестве общей архитектуры обнаружения аномалий, которая:

  • использует состязательное обучение, типичное для GAN, для изучения распределения данных
  • использует архитектуру кодировщик-декодер в качестве генератора сети

В этом посте я собираюсь рассмотреть статью, в которой представлена ​​эта новая модель обнаружения аномалий.

Контур

  1. Требования
  2. GANомали
  3. Наборы данных
  4. Результаты

1. Требования

Когда вы читаете статью, некоторые концепции воспринимаются как должное. Чтобы не потеряться в этом обзоре, я рекомендую вам быстро просмотреть этот раздел.

Автоэнкодер

Автоэнкодер — это тип архитектуры нейронной сети, обучаемой без присмотра. Цель состоит в том, чтобы извлечь наиболее важные особенности входных данных в закодированное представление входных данных, называемое представлением в скрытом пространстве, а затем распаковать его для повторного получения исходных входных данных. Автоэнкодер состоит из двух нейронных сетей:

  • Кодировщик, который сжимает входную информацию в скрытый код меньшего размера.
  • Декодер восстанавливает исходный ввод, начиная со скрытого кода, который распаковывается.

Генеративно-состязательные сети

Генеративно-состязательные сети — это мощные алгоритмы, впервые представленные Яном Гудфеллоу, известным созданием реалистичных изображений. Они обучаются без присмотра и состоят из двух архитектур нейронных сетей:

  • Генератор принимает случайные входные данные и создает образцы, которые напоминают реальные данные.
  • Дискриминатор пытается отличить поддельные образцы, созданные Генератором, от реальных образцов набора данных.

Обычная аналогия, используемая для объяснения этих генеративных моделей, — это пример фальсификатора произведений искусства и исследователя искусства. Художественный фальсификатор (Генератор) пытается создать реалистичные картины, которые напоминают характеристики подлинных картин, в то время как искусствовед проверяет, какие картины настоящие, а какие поддельные.

Основная идея заключается в том, что эти две нейронные сети конкурируют друг с другом. В начале обучения дискриминатор работает лучше, чем генератор, который выдает заведомо фейковые данные. По мере увеличения количества эпох генератор улучшает свою способность создавать реалистичные изображения, которые могут обмануть дискриминатор. Основная цель — достичь точки равновесия, когда генератор выдает данные, неотличимые от обучающих данных, и в этом случае дискриминатор не сможет решить свою задачу.

Состязательный автоэнкодер

Состязательный автоэнкодер (AAE) — это вероятностный автоэнкодер, который использует идею GAN, состязательного обучения, для наложения определенного априорного распределения (например, распределения Гаусса) на скрытое распределение кода автоэнкодера.

В состязательном автоэнкодере есть разные компоненты:

  • Автоэнкодер обучается путем минимизации ошибки реконструкции для восстановления исходного ввода x, начиная со скрытого кода z.
  • Генератор – это кодировщик автокодировщика.
  • Дискриминаторотличает истинные образцы, сгенерированные с использованием априорных, от сгенерированных образцов (или ложных образцов), которые соответствуют скрытым кодам, полученным автоэнкодером. .

Есть два основных этапа обучения состязательного автоэнкодера:

  • Фаза восстановления: автоэнкодер учится восстанавливать исходное изображение x из скрытого кода.
  • Фаза регуляризации: первым шагом является обучение дискриминатора классификации скрытых кодов z и выборок, сгенерированных с использованием предыдущего z’. После этого генератор, который также является кодировщиком автокодировщика, обновляется, чтобы обмануть дискриминационную модель D. Основная цель состоит в том, чтобы заставить дискриминатор думать, что скрытый код исходит из истинного априорного распределения. .

2. Г.А.Номали

GANomaly — это модель обнаружения аномалий, в которой используется состязательное обучение для захвата распределения данных. В некоторых аспектах он очень похож на состязательный автоэнкодер, поскольку он сочетает в себе традиционный автоэнкодер с GAN, но есть и различия в отношении AAE, которые будут рассмотрены в следующих параграфах.

  • Как он применяется для обнаружения аномалий?
  • Основные компоненты GANomaly
  • Целевая функция
  • Тестирование модели

Как он применяется для обнаружения аномалий?

Существует формальное определение проблемы обнаружения аномалий:

  • Набор обучающих данных содержит только нормальные изображения, а набор тестовых данных содержит как нормальные, так и аномальные образцы.
  • Во время обучения модель изучает только нормальное распределение данных.
  • После завершения этапа обучения мы хотим оценить модель на тестовых образцах. Существует предположение, что аномальные образцы, не пройденные во время обучения, должны выдавать более высокие баллы аномалий, чем нормальные изображения.

Основные компоненты GANomaly

Подобно состязательному автоэнкодеру, GANomaly состоит из разных компонентов. В этот подход включены два кодировщика, декодер и дискриминантная модель.

  • Автокодировщик, которыйтакже является генератором модели, учится восстанавливать исходный ввод с помощью сетей кодировщика и декодера.
  • Дискриминатор обучен отличать входные данные (истинные образцы) от реконструкций (ложные образцы).
  • Второй кодировщик включает реконструкцию в скрытый код z’.

Целевая функция

Во время обучения модели целевая функция объединяет три разные функции потерь, каждая из которых получена с другой подсетью:

  • Adversarial Loss – это расстояние L2 между представлением признаков исходных изображений x и представлением признаков сгенерированных изображений G(x). В этой функции потерь f(x) определяется как функция, которая выводит промежуточный слой дискриминатора D для данного входа x. Состязательная потеря используется для того, чтобы обмануть дискриминативную модель D с помощью сгенерированных изображений.

  • Контекстные потери — это расстояние L1 между исходными входными данными x и сгенерированными изображениями G(x). Эта потеря важна для добавления контекстной информации о входных данных.

  • Потери кодировщика – это расстояние L2 между узкими местами z входных данных и закодированными элементами z’ сгенерированного изображения. Таким образом, Генератор учится кодировать особенности сгенерированных изображений для обычных образцов.

Итак, целевая функция учитывает эти три вида потерь:

где w_{adv}, w_{con} и w_{enc} — весовые параметры для состязательных потерь, контекстных потерь и потерь кодировщика соответственно.

Тестирование модели

Во время оценки модель использует Encoder Loss для вывода оценки аномалии для каждого тестового изображения:

После расчета показателей аномалий они нормализуются, чтобы они находились в диапазоне от 0 до 1:

3. Наборы данных

Существует четыре набора данных, которые считаются эталонными для оценки системы обнаружения аномалий. Первые два набора данных — это хорошо известные игрушечные наборы данных MNIST и CIFAR10, где один класс рассматривается как аномальный, а остальные — как нормальные. Остальные наборы данных — это Набор данных об аномалиях багажа в университете (UBA) и Полное огнестрельное оружие в сравнении с оперативным доброкачественным (FFOB).

UBA – это набор рентгеновских данных багажа, содержащий 230 275 фрагментов изображений. Цель состоит в том, чтобы автоматически обнаруживать угрозы с помощью рентгеновского сканирования безопасности. Среди образцов есть три аномальных класса, нож, пистолет и компонент оружия, как в примере ниже.

FFOB – это набор данных правительства Великобритании, в котором содержится 4 680 единиц огнестрельного оружия нестандартного класса и 67 672 единицы боевого оружия нормального класса.

Для соблюдения формальной постановки задачи нормальные выборки всех этих наборов данных разбиваются на 80 % для обучения и 20 % для тестирования. Только во время оценки модель увидит аномальные образцы.

4. Результаты

На рис. 1 сравниваются результаты AUC, полученные для наборов данных MNIST и CIFAR10. В обоих случаях GANomaly достигает более высокой AUC, чем EGBAD, AnoGAN и VAE.

Из таблицы 1 стоит заметить, что GANomaly превосходит все аномальные классы, кроме ножа, в наборе данных UBA. Более того, подход обнаружения аномалий превосходит другие модели, достигая соответственно 0,643 и 0,882 в наборах данных UBA и FFOB.

На рисунке 2 показано, как изменение гиперпараметров, таких как размер скрытого вектора и веса потерь, может повлиять на производительность GANomaly в наборе данных MNIST. Наивысшие значения AUC достигаются при z, равном 100, тогда как справа наилучшие показатели достигаются при w_{bce}=1, w_{rec}=50 и w_{enc}=1.

На рис. 3 показано четкое разделение между нормальными и аномальными образцами.

Выводы

Надеюсь, вы оценили этот отзыв о GANomaly. Обнаружение аномалий на изображениях является сложной задачей, и простых методов недостаточно для выявления аномалий. Кроме того, не хватает наборов данных изображений, специализирующихся на обнаружении аномалий, и неконтролируемые подходы больше всего подходят, когда в наборе данных недостаточно информации.

Несколько месяцев назад я обнаружил набор данных изображений, подходящий для обнаружения аномалий, который называется набор данных MVTec AD. Это новый всеобъемлющий набор промышленных данных, состоящий из 5354 изображений высокого разрешения с 15 категориями. Обучающая выборка состоит только из нормальных изображений, а тестовая выборка содержит как дефектные, так и бездефектные изображения. Я попытался реализовать GANomaly, используя этот набор данных. Код GitHub находится здесь.

Если вы хотите изучить другие методы обнаружения аномалий, я предлагаю вам прочитать другие документы, объясняющие Skip-GANomaly и AnoGAN. Дайте мне знать, если у вас есть другие предложения о чтении, обмен знаниями - лучший способ улучшить. Спасибо за прочтение. Хорошего дня!

Ссылки:

[1] GANomaly: полуконтролируемое обнаружение аномалий с помощью состязательного обучения, С. Акчай, А. Атапур-Абаргуэй и Т. П. Брекон, (2018)

[2] Состязательные автоэнкодеры, А. Махзани, Дж. Шленс и Н. Джейтли, И. Гудфеллоу, Б. Фрей, (2016)

Репозиторий на гитхабе



Вам понравилась моя статья? Стань участником и получай неограниченный доступ к новым публикациям по науке о данных каждый день! Это косвенный способ поддержать меня без каких-либо дополнительных затрат для вас. Если вы уже являетесь участником, подпишитесь, чтобы получать электронные письма всякий раз, когда я публикую новые руководства по науке о данных и Python!