Виды генеративно-состязательных сетей
Создание прогрессирующей сети на основе улученной сети Вассерштайна. Произведение изображений высокого разрешения. Схема условной GAN c информацией о лицах. Кодирование поворота числа. Генерирование изображения, виртуальная пакетная нормализация.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 11.02.2021 |
Размер файла | 601,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВИДЫ ГЕНЕРАТИВНО-СОСТЯЗАТЕЛЬНЫХ СЕТЕЙ
Айрапетов Алексей Эдуардович - магистрант;
Коваленко Анна Александровна - магистрант, направление: информационные технологии, кафедра информационных систем и технологий,
Московский государственный технический университет им. Н.Э. Баумана, г. Москва
Уже довольно давно миру были представлены искусственные нейронные сети. С их помощью проводились различные исследования, их обучали работать c различными данными. Однако относительно недавно появилась их новая разновидность - генеративно-состязательные сети. Так как эта сеть новая, развивается она очень быстро. В этой статье я бы хотел описать некоторые наиболее важные разновидности этих сетей.
Помимо обычной генеративно-состязательной сети (Vanilla GAN) за несколько лет сеть эволюционировала и приобрела улучшения. Существует несколько видов:
1. Глубокая сверточная сеть (DCGAN - Deep Convolutional Generative Adversarian Network)
Первое и главное улучшение в архитектуре GAN. Они более устойчивы для обучения и генерируют высокие по качеству результаты [1]. Они также важны, поскольку стали одними из основных базовых показателей для внедрения и использования GAN.
Авторы сети задались целью улучшить архитектуру Vanilla GAN, и вот к каким выводам они пришли:
• Пакетная нормализация должна быть в обеих сетях;
• Полностью скрытые соединенные слои не очень хорошая идея для обучения;
• Избегайте объединений, прогрессируйте свертку;
Вы можете использовать эту архитектуру сети в том случае, если:
• Нужно что-то посильнее и лучше простого GAN. Vanilla GAN может работать на простых наборах данных, в отличие от DCGAN - он куда мощнее;
• Вы ищите прочную основу для сравнения с вашим алгоритмом GAN.
С этого момента все последующие типы GAN будут содержать в себе архитектуру DCGAN, если не будет сказано обратное.
2. Улучшенная глубокая сверточная сеть (Improved DCGAN)
Набор техник, улучшающих архитектуру DCGAN [1]. Например, улучшение основы позволяет генерировать изображения более высокого разрешения.
Одна из проблем, относящихся к GAN, это их схождение. Это не гарантировано и несмотря на архитектурные улучшения DCGAN обучение по-прежнему может быть нестабильно. Авторы этой архитектуры предложили следующие улучшения:
• Сопоставление объектов;
• Усреднение;
• Односторонне сглаживание меток;
• Виртуальная пакетная нормализация.
Все вышеуказанные техники позволяют модели лучше генерировать изображения с высоким разрешением, что является одним из слабых мест GAN. Для сравнения ниже на рисунке 1 представлено изображение 128x128 DCGAN и улучшенного DCGAN:
сеть изображение разрешение генерирование
DCGANImproved DCGAN
Рис. 1. Сгенерированное изображение собаки
Вы можете использовать эту архитектуру сети в том случае, если хотите получить изображение высокого разрешения.
3. Условная сеть (Conditional GAN)
Эта сеть использует дополнительную информацию, например, результат в более высоком качестве, а также есть возможность контролировать (в определенной степени) как будут выглядеть сгенерированные изображения [2].
Условная GAN является расширением GAN. Мы имеем условную информацию Y, которая описывает некоторые аспекты информации. Например, если мы имеем дело с лицами, Y может описать такие атрибуты, как пол или цвет волос. Затем эту информацию помещает и в генератор и в дискриминатор. На рисунке 2 показана схема условной сети.
Рис. 2. Схема условной GAN c информацией о лицах
Условные GAN могут быть интересны по 2 причинам:
1. По мере того как вы обучаете модель и задаете ей информацию, GAN учится использовать ее и даже имеет возможность генерировать лучшие результаты.
2. Имеется два способа управления представлениями изображений.
Вы можете использовать эту архитектуру сети в том случае, если:
• Имеется обучающая выборка и вы хотите получить сгенерированные изображения хорошего качества;
• Вы хотите получить контроль над некоторыми атрибутами изображения (например, нужно сгенерировать красную птицу в определенной позе определенного размера).
4. Информационная сеть (InfoGAN)
Это GAN, которые способны кодировать значимые объекты изображения в части вектора шума Z неконтролируемым образом, например, кодировать поворот числа [3]. Как мы видим из рисунка 3, поворот может быть в любом направлении и под любым углом.
Рис. 3. Кодирование поворота числа
Вы можете использовать эту архитектуру сети в том случае, если:
• Если набор данных не очень сложный;
• Если вы хотите использовать условную GAN, но не имеется информация о числах;
• Вы хотите увидеть основные значимые графические объекты набора данных и иметь над ними контроль.
5. Сеть Вассерштайна (Wasserstein GAN)
Измените функцию потерь, чтобы включить расстояние Вассерштайна. В результате сеть Вассерштайна имеет функцию потерь, связанную с качеством изображения. Кроме того, стабильность обучения улучшается и не зависит от архитектуры [4].
У генеративно-состязательных сетей всегда были проблемы со схождением, и, как следствие, мы не знаем, когда нужно прекратить их обучение. Другими словами, функция потерь не коррелирует с качеством изображения, что является серьезной проблемой, т.к.:
• вам нужно постоянно смотреть на образцы, чтобы сказать, правильно ли вы обучаете сеть или нет;
• вы не знаете, когда прекратить обучение;
• у вас нет числового значения, которое может указать, насколько хорошо настроены параметры.
Рис. 4. График функции потерь сети Вассерштайна. Чем меньше потеря, тем лучше качество изображения
Рисунок 4 доказывает, что сеть Вассерштайна имеет функцию потерь, которая коррелирует с качеством изображения и обеспечивает схождение. Она работает довольно хорошо, даже если вы удалите пакетную нормализацию или попробуете странные архитектуры.
Вы можете использовать эту архитектуру сети в том случае, если:
• вы ищите сеть с самой высокой стабильностью обучения;
• требуется информативная и интерпретируемая функция потерь.
6. Улучшенная сеть Вассерштайна (Improved WGAN)
Возьмите сеть Вассерштайна и удалите прорисовку, которая является причиной некоторых нежелательных поведений. Это приводит к более быстрому схождению, более качественным выборкам и более стабильному обучению [4].
Сети Вассерштайна иногда создают выборки плохого качества или у них не получается достичь схождения при некоторых настройках. В основном это обуславливается тяжестью прорисовки. Но почему это является такой проблемой? Все потому, что это заставляет сеть использовать более простые функции, которые не могут обработать сложные данные с помощью простых приближений.
Вы можете использовать эту архитектуру сети в том случае, если:
• нужна быстрая сходимость;
• работать предстоит с большим количеством архитектур и наборами данных;
• не требуется особой настройки для основных параметров.
7. Сеть граничного равновесия (BEGAN - Boundary Equilibrium GAN)
Генеративно-состязательные сети используют автокодировщик как дискриминатор [5]. Они могут быть успешно обучены с помощью простых архитектур. Они включают в себя динамику, которая балансирует как дискриминатор и генератор во время обучения.
• Генератор фокусируется на создании изображений, которые далее обработает дискриминатор;
• Дискриминатор пытается обработать реальные изображения как можно лучше, восстанавливая сгенерированные изображения с максимальной ошибкой.
Сети граничного равновесия не нужна никакая вычурная архитектура для лучшего обучения: как говорится в статье: не нужна ни пакетная нормализация, ни транспонирование свертки, ни экспоненциальный роста для фильтров свертки. В итоге получаются следующие изображения (рисунок 5):
Вы можете использовать эту архитектуру сети по тем же причинам, что и улучшенную сеть Вассерштайна. Они обе имеют схожие результаты (стабильное обучение, простая архитектура, функция потери скореллированная с качеством изображения), главное их отличие только в подходе. Из-за сложного характера оценки генеративных моделей трудно сказать, какая из них лучше.
8. Прогрессирующая GAN (ProGAN)
Создание изображений высокого разрешения является большой проблемой. Чем больше изображение, тем легче сети совершить ошибку, т.к. ей нужно учиться генерировать более сложные и деликатные детали.
Прогрессирующая сеть, которая была создана на основе улученной сети Вассерштайна, предлагает умный путь, постепенно добавляя новые слои высокого разрешения во время обучения, что создает невероятно реалистичные изображения [6]. Каждый из этих слоев увеличивает разрешение изображений как для дискриминатора, так и для генератора.
Рис. 6. Схема создания изображения
1. Начните с обучения генератора и дискриминатора изображениями низкого разрешения.
2. В какой-то момент (например, когда они начинают сходиться) увеличьте разрешение. Это делается очень просто с помощью сглаживания. Вместо того, чтобы просто добавлять новый слой напрямую, он добавляется небольшими линейными шагами, контролируемые а.
3. После завершения перехода продолжайте обучать генератор и дискриминатор. Перейдите к Шагу 2, если разрешение создаваемых в данный момент изображений не является целевым разрешением.
В результате этого прогрессивного обучения генерируемые изображения в ProGAN имеют высшее качество и время обучения снижается на 5,4 на 1024x1024 изображения. Причина этого заключается в том, что этой сети не нужно изучать все крупномасштабные и мелкомасштабные представления сразу. В прогрессирующей сети сначала изучаются мелкомасштабные слои (т. е. слои с низким разрешением сходятся), а затем модель может сосредоточиться на очистке чисто крупномасштабных структур (т. е. сходятся новые слои с высоким разрешением).
Предлагаются также другие усовершенствования и новые методы оценки. Такие улучшения, как:
• Стандартное отклонение;
• Выравнивание скорости обучения;
• Нормализация по пикселям.
Новые методы оценки:
• Идея в том, что локальная структура изображения должна соответствовать структуре профессиональной подготовки изображений;
• Как мы измеряем местную структуру? С пирамидой Лапласа, где вы получаете различные уровни пространственных частотных полос, которые могут быть использованы в качестве дескрипторов;
• Затем мы извлекаем дескрипторы из сгенерированных и реальных изображений, нормализуем их и проверяем, насколько близко они используют известное расстояние Вассерштайна. Чем меньше расстояние, тем лучше.
Вы можете использовать эту архитектуру сети в том случае, если:
• Вы хотите получить масштабные результаты. Но учтите, что...
• вам понадобится много времени, чтобы обучить модель;
• хотите получить изображения лучше, чем в реальности.
9. Цикличная сеть (CydeGAN)
Является самой передовой генеративно-состязательной сетью по генерации изображений.
Эти сети не требуют парных наборов данных для обучения переводу между доменами, что хорошо, потому что такие данные очень трудно получить [7]. Тем не менее, циклические сети все еще должны быть обучены с данными из двух разных доменов X и Y (например, X: лошади, Y: зебры). Чтобы ограничить перевод из одного домена в другой, они используют то, что они называют «последовательной потерей цикла». На рисунке 7 изображены примеры того, как можно изменить любой объект с картинки.
Рис. 7. Пример результата
Подведем итог: все рассмотренные мной сети являются расширением для стандартной генеративно-состязательной сети. Каждая из вышеупомянутых сетей имеет свои плюсы и, соответственно, минусы. Сеть эволюционирует, приобретает новые умения, которые могут быть полезны в той или иной области.
Список литературы
1. Radford Alec, Metz Luke, Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. 2015. C.16.
2. Mirza Mehdi, OsinderoSimon. Conditional Generative Adversarial Nets., 2014. C. 7.
3. Xi Chen, Yan Duan, Houthooft Rein, SchulmanJohn, SutskeverIlya, Abbeel Pieter. InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets, 2016. C. 14.
4. Arjovsky Martin, Chintala Soumith, Lйon Bottou. Wasserstein GAN, 2017. C. 32.
5. Berthelot David, Schumm Thomas, Metz Luke. BEGAN: Boundary Equilibrium Generative Adversarial Networks, 2017. C. 10.
6. Karras Tero, Aila Timo, Laine Samuli, Lehtinen Jaakko. Progressive Growing Of Gans For Improved Quality, Stability аМ Variation, 2018. C. 26.
7. Jun-Yan Zhu,Taesung Park, Isola Phillip, Efros Alexei A. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2018. C. 18.
Размещено на Allbest.ru
...Подобные документы
Проблематика построения виртуальных частных сетей (VPN), их классификация. Анализ угроз информационной безопасности. Понятия и функции сети. Способы создания защищенных виртуальных каналов. Анализ протоколов VPN сетей. Туннелирование на канальном уровне.
дипломная работа [2,6 M], добавлен 20.07.2014Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.
курсовая работа [36,0 K], добавлен 18.10.2008Организация частной сети. Структура незащищенной сети и виды угроз информации. Типовые удаленные и локальные атаки, механизмы их реализации. Выбор средств защиты для сети. Схема защищенной сети с Proxy-сервером и координатором внутри локальных сетей.
курсовая работа [2,6 M], добавлен 23.06.2011Классификация компьютерных сетей по территориальной распространенности. История создания и преимущества использования локальной вычислительной сети. Появление технологии Ethernet, классы сетей и их топология. Монтаж сети на основе кабеля "витая пара".
дипломная работа [4,5 M], добавлен 03.06.2014Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Сущность и классификация компьютерных сетей по различным признакам. Топология сети - схема соединения компьютеров в локальные сети. Региональные и корпоративные компьютерные сети. Сети Интернет, понятие WWW и унифицированный указатель ресурса URL.
презентация [96,4 K], добавлен 26.10.2011Организация, устройство, принцип функционирования вычислительных сетей. Топологии "шина", "кольцо", "звезда". Назначение узлов сети. Параметры электрического сигнала. Функции сетевых адаптеров. Кабельные линии связи. Кодирование цифровой информации.
презентация [3,4 M], добавлен 11.12.2014Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Внедрение первой сети с децентрализованным управлением на основе протокола NCP - ARPANET. История появления и развития Internet: спецификация протокола управления передачей данных TCP/IP, создание локальных сетей. Роль всемирной сети в телемедицине.
реферат [21,4 K], добавлен 04.12.2010Анализ применяемых технологий в мультисервисных сетях. Сосуществование сетей АТМ с традиционными технологиями локальных сетей. Характеристика сети передачи данных РФ "Электросвязь" Кемеровской области. Схема организации сети передачи данных, каналы связи.
дипломная работа [642,3 K], добавлен 02.11.2010Назначение и классификация компьютерных сетей. Обобщенная структура компьютерной сети и характеристика процесса передачи данных. Управление взаимодействием устройств в сети. Типовые топологии и методы доступа локальных сетей. Работа в локальной сети.
реферат [1,8 M], добавлен 03.02.2009Понятие и сущность виртуальных частных сетей (VPN) и история их появления. Принцип работы и общее описание технологии VPN, основы туннелирования. Протоколы управления, их виды и использование. Достоинства, недостатки и перспективы развития сетей VPN.
курсовая работа [986,9 K], добавлен 26.08.2010Технология считывания данных в современных устройствах оцифровки изображений. Принцип работы черно-белых и цветных сканеров. Цифровое кодирование изображений. Программные интерфейсы и TWAIN. Способ формирования изображения. Преимущество галогенной лампы.
реферат [2,2 M], добавлен 02.12.2012Структура локальной компьютерной сети организации. Расчет стоимости построения локальной сети. Локальная сеть организации, спроектированная по технологии. Построение локальной сети Ethernet организации. Схема локальной сети 10Base-T.
курсовая работа [126,7 K], добавлен 30.06.2007Понятие и назначение сетей VPN, принципы их построения, классификация и разновидности, сферы применения. Виды протоколов VPN и особенности их использования. Методы реализации виртуальной частной сети, преимущества и недостатки данной технологии.
реферат [48,6 K], добавлен 04.11.2009Разработка приложения, целью которого ставится преобразование черно-белых полутоновых изображений в цветные. Обзор методики обработки изображения, способов преобразования изображения с помощью нейронной сети. Описания кластеризации цветового пространства.
дипломная работа [6,3 M], добавлен 17.06.2012Анализ цели проектирования сети. Разработка топологической модели компьютерной сети. Тестирование коммутационного оборудования. Особенности клиентских устройств. Требования к покрытию и скорости передачи данных. Виды угроз безопасности беспроводных сетей.
дипломная работа [3,3 M], добавлен 22.03.2017Описание алгоритма поворота изображения. Вычисление синуса и косинуса угла поворота изображения. Алгоритм и реализация функции поворота изображения вокруг центра на заданный пользователем угол. Проверка на соответствие диапазону допустимых значений.
курсовая работа [1,3 M], добавлен 23.01.2015- Численные расчёты динамики генных сетей на основе редукции графов в рамках синхронной булевой модели
Теория функционирования генных сетей. Разработка алгоритма анализа динамики генной сети с целью выявления всех её стационарных и циклических устойчивых состояний в рамках булевой модели генной сети. Создание программного средства, его реализующего.
курсовая работа [1,4 M], добавлен 28.02.2012 Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015