Введение в автоэнкодеры

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

В Autoencoder есть три основных компонента. Это кодировщик, декодер и код. Кодер и декодер полностью связаны, чтобы сформировать сетку переадресации. Код действует как один слой, который действует в соответствии с собственным измерением. Чтобы разработать автоэнкодер, вы должны установить гиперпараметр, то есть вы должны установить количество узлов в основном слое. Более подробно, выходная сеть декодера является зеркальным отображением входного кодера. Декодер производит желаемый вывод только с помощью уровня кода.

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

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

В сложенном автоэнкодере у вас есть один невидимый слой как в кодере, так и в декодере. Он состоит из рукописных картинок размером 28 * 28. Теперь вы можете разработать авто-кодер со 128 узлами в невидимом слое с размером кода 32. Чтобы добавить много номеров слоев, используйте эту функцию

model.add(Dense(16, activation='relu'))
model.add(Dense(8, activation='relu'))

для конвертации,

layer_1 = Dense(16, activation='relu')(input)
layer_2 = Dense(8, activation='relu')(layer_1)

Теперь выходные данные этого слоя добавляются в качестве входных данных для следующего слоя. это вызываемый слой в этом плотном методе. Декодер выполняет эту функцию. Он использует сигмоидальный метод для получения выходных данных в диапазоне от 0 до 1. Поскольку входные данные находятся в диапазоне от 0 до 1

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

Архитектура автоэнкодера

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

1. Denoising Autoencoders

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

autoencoder.fit(x_train, x_train)

Модифицированный автоэнкодер выглядит следующим образом:

autoencoder.fit(x_train_noisy, x_train)

Следовательно, вы можете легко получить бесшумный выход.

Автоматический кодер Convolution используется для обработки сложных сигналов, а также для получения лучшего результата, чем обычный процесс

2. Разреженные автоэнкодеры

Чтобы эффективно использовать автоэнкодеры, вы можете выполнить два шага.

Установите небольшой размер кода, а другой шумоподавляющий автоэнкодер.

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

Значение ограничения Sparsity ближе к нулю

Чтобы создать слой кода,

code = Dense(code_size, activation='relu')(input_img)

Чтобы добавить регуляризирующее значение,

code = Dense(code_size, activation='relu', activity_regularizer=l1(10e-6))(input_img)

В этой модели только 0, 01 является окончательной потерей, что тоже из-за срока регуляризации.

В этой разреженной модели набор значений кода соответствует ожидаемому результату. Но он имеет довольно низкие значения дисперсии.

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

3. Вариационный автоэнкодер

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

Вывод

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

Рекомендуемые статьи

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

  1. Архитектура больших данных
  2. Кодирование против декодирования
  3. Архитектура машинного обучения
  4. Технологии больших данных