Введение
В последние годы разработка DGM стала одной из наиболее исследуемых областей практической деятельности. Книги DGM стали более многочисленными и быстро пополняются. Он широко используется в производстве реалистичных изображений, слов или фильмов; называются дип-фейками. Модели нейронных сетей с глубокой генерацией (DGM) имеют несколько скрытых слоев, обученных измерять распределение сложных приложений с высоким потенциалом с использованием большого количества выборок. В случае успешного обучения мы можем использовать DGM для измерения возможности каждого наблюдения и создания новых выборок из первичного распределения. В последние годы разработка DGM стала одной из наиболее исследуемых областей практической деятельности. Книги DGM стали более многочисленными и быстро пополняются. Некоторые успехи были достигнуты даже в общественных местах, например, недавние прорывы в производстве изображений, звука или кинофильмов; так называемые глубинные подделки.
Контролируемое обучение
Типы машинного обучения с учителем, в которых машины обучаются с использованием хорошо помеченных «хорошо помеченных» обучающих данных, и на основе этих данных машины прогнозируют результат. Помеченные данные означают, что некоторые входные данные уже отмечены правильным выходом.
Обучающие данные, предоставляемые машинами, функционируют как супервайзер в обучении с учителем, обучая машины эффективно прогнозировать результат. Когда ученик учится под наблюдением учителя, применяется та же идея. Метод подачи входных и выходных данных непосредственно в модель машинного обучения известен как обучение с учителем. Целью алгоритма обучения с учителем является определение функции карты, которая будет выполняться с входными и выходными переменными карты (x) (y).
Обучение без учителя
Как следует из названия, неконтролируемое обучение — это метод машинного обучения, при котором неконтролируемые модели используют обучающую базу данных. Вместо этого модели сами находят скрытые закономерности и детали из предоставленных данных. Это можно сравнить с изучением человеческого мозга при изучении новых вещей. Его можно определить следующим образом: нерегулируемое обучение — это форма машинного обучения, при которой модели обучаются с использованием помеченной базы данных и могут работать с этими данными без надзора.
Как следует из названия, неконтролируемое обучение — это метод машинного обучения, при котором неконтролируемые модели используют обучающую базу данных. Вместо этого модели сами находят скрытые закономерности и детали из предоставленных данных. Это можно сравнить с изучением человеческого мозга при изучении новых вещей. Его можно определить следующим образом: нерегулируемое обучение — это форма машинного обучения, при которой модели обучаются с использованием помеченной базы данных и могут работать с этими данными без надзора.
Генеративные модели
В машинном обучении продуктивное моделирование — это неконтролируемая учебная деятельность, которая сочетает в себе автоматическое получение и стандартное чтение или ввод данных, чтобы модель можно было использовать для создания или извлечения новых моделей из исходной базы данных. Нейронные сети с несколькими скрытыми слоями в моделях глубокой генерации (DGM) обучены оценивать распределение сложных возможностей большой величины с использованием выборок. Мы можем использовать DGM для оценки вероятности каждого наблюдения и создания дополнительных выборок из первичного распределения, если мы успешно его обучим.
Термин «генеративная модель» также используется для описания моделей, которые производят условия выходных переменных способом, который не имеет четкой связи с распределением возможностей по потенциальным выборкам входной изменчивости. Чтобы обучить продуктивную модель, мы сначала собираем большое количество данных из другой области (например, представьте себе миллионы изображений, предложений или звуков и т. д.), а затем обучаем модель для получения аналогичных данных.
Типы генеративных моделей
Автоэнкодеры
Что такое автоматические кодировщики?
Автоэнкодеры — это тип нейронных сетей с прямой связью, в которых ввод аналогичен выводу. Они сжимают входной код до минимального размера и воссоздают вывод на этот дисплей.
Автоэнкодер состоит из 3-х частей: энкодера, кода и декодера. Кодер нажимает ввод и генерирует код, удаляет код и восстанавливает ввод, используя только этот код. Чтобы построить автоэнкодер, нам нужны 3 элемента: метод кодирования, метод кодирования и функция потерь для сравнения вывода и цели.
Архитектура автоэнкодера:
Давайте проверим детали кодера, код и декодер. И передатчик, и выходная сеть представляют собой полностью нейронные сети с прямой связью, фактически ИНС. Код представляет собой один слой выбранного нами размера ИНС. Количество узлов в слое кода (размер кода) — это гиперпараметр, который мы установили перед обучением автоэнкодера.
Для создания кода первый вход передается через энкодер, который представляет собой полносвязную ИНС. Декодер, который похож на ANN по структуре, затем создает выходные данные исключительно с использованием кода. Цель состоит в том, чтобы выходные данные соответствовали входным. Архитектура декодера идентична энкодеру. Хотя это не является обязательным требованием, это часто имеет место. Единственным условием является то, что размеры ввода и вывода должны быть одинаковыми. Все, что между ними, является честной игрой.
- Основной гиперпараметр: размер слоя кода/узкое место
- Цель: вывод идентичен вводу
- Размеры I/P = Размеры O/P
- Функция потерь: MSE или бинарная перекрестная энтропия
- Архитектура декодера является зеркальным отражением архитектуры кодировщика (обычно).
Реализация автоэнкодера:
Автоэнкодеры обучаются с помощью обратного распространения, при котором кодировщик отвечает за преобразование ввода в сжатый вектор, а декодер отвечает за преобразование этого сжатого вектора в вывод. обратное распространение в основном используется для минимизации ошибок при обучении модели.
Приведенное выше уравнение представляет собой не что иное, как функцию потерь кодировщика, которая будет использоваться для расчета ошибки при обучении модели. Итак, давайте посмотрим, как обычно работает обратное распространение в автоэнкодерах.
Как вы можете видеть на рисунке выше, у нас есть x1 и x2 в качестве двух входных функций с весом w1 и w2 соответственно. у нас есть выход y, равный w1*x1 + w2*x2. у нас есть e как ошибка, которая будет рассчитана с использованием функции потерь автоэнкодера. после расчета потерь мы обновляем значения w1 и w2, пока не достигнем глобальных минимумов потерь. Как только мы достигнем глобальных минимумов, это значение y будет оптимальным значением.
Типы автокодировщиков
- Сверточные автоэнкодеры:
- Мы можем изменить геометрию или создать коэффициент отражения изображения с помощью CAE.
- Кодер: I/P Image -> Convolution -> Activation (Down Sampling) -> пакетная нормализация
- Декодер:Транспонирование свертки -> Активация (повышение дискретизации) -> Пакетная нормализация -> Изображение O/P
2. Вариационные автоэнкодеры:
- Вход сопоставляется с распределением скрытой переменной (z).
- Этот тип автоэнкодеров можно использовать для создания новых изображений.
DKL — дивергенция KL / относительная энтропия
EZ — Ожидание скрытой переменной.
3. Шумоподавление автоэнкодеров:
- Принимает частично искаженный ввод во время обучения.
- Настройте параметры извлеченных признаков в декодере.
Другие типы автокодировщиков:
- Глубокий автоэнкодер
- Ванильный автоэнкодер
- Многослойный автоэнкодер
- Регулярный автоэнкодер
- Разреженный автоэнкодер
Применения автоэнкодеров
- Уменьшение размерности
- Сжатие изображения
- Шумоподавление изображения
- Раскрашивание изображения
- Извлечение признаков
- Генерация изображения
- Удаление водяных знаков
Спасибо!! за ваше драгоценное время. Продолжай читать :)
Сценарист: Паванкумар Хот