Как использовать GAN для создания наборов данных AI

Потребность в большем количестве данных в области искусственного интеллекта велика, особенно в области медицинской визуализации. Чтобы разработать способы, с помощью которых мы можем ускорить процесс диагностики определенных расстройств с помощью ИИ, нам необходимо в первую очередь множество наборов данных с точной визуализацией, чтобы их можно было соответствующим образом передать в нейронные сети.

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

Однако есть решение этой проблемы, которое воплощается в жизнь другой нейронной сетью, которая называется Generative Adversarial Network (GAN). Цель этой сети - создать совершенно новый образ на основе другого образа. Например, загружая лица знаменитостей в GAN, он выводит совершенно новые лица знаменитостей, которых не существует. Это распространенный пример, когда речь идет о том, насколько мощными могут быть GAN в том смысле, что они могут создавать поддельные изображения, которые не могут отличить от реальных ни люди, ни ИИ.

В качестве примера их практического применения я решил продемонстрировать возможности GAN с помощью создания МРТ-изображений опухолей головного мозга. Эта идея была первоначально предложена в 2018 году в Токио, Япония, C. Han et al., Которые начали пытаться понять, какой тип GAN лучше всего подходит для этой цели. Всего за десять минут мой GAN сгенерировал довольно точное изображение опухоли мозга всего с 200 образцами реальных данных. Начальный и конечный выходы показаны ниже.

Процесс

Как мы можем перейти от массива чистого шума 100 x 100 к точному изображению опухоли головного мозга при МРТ? На самом деле процесс очень прост для понимания.

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

Битва выиграна, когда генератор создает изображения, которые выглядят настолько реальными, что дискриминатор больше не может различать поддельные и настоящие изображения.

Разбивка компонентов GAN

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

С каждым изображением, отправленным в дискриминатор (в качестве упрощенного примера), мы возвращаем 1 или 0, 1 означает, что дискриминатор считает это изображение реальным, и 0 означает, что это изображение поддельное. Затем мы сравниваем эти выходные данные с реальной идентичностью изображения, которая вычисляет ошибку для этого цикла обучения. Мы используем эту ошибку, чтобы настроить параметры дискриминатора, чтобы он мог более точно классифицировать в следующем раунде.

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

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

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

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

Создание подобных изображений используется в интересах ИИ. Благодаря тому, что в наборы данных вводится больше изображений, ИИ может узнать намного больше за гораздо меньшее время в отношении диагностики. Это потому, что даже если изображения поддельные, а эти опухоли ненастоящие, они все равно могут быть переданы в сети, и если однажды у человека обнаружится похожая опухоль, диагностика и лечение станут гораздо более эффективным процессом.

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

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

Ссылочная статья о наиболее эффективных GAN для получения наборов данных МРТ опухолей головного мозга: http://www.nlab.ci.i.u-tokyo.ac.jp/pdf/isbi2018.pdf