Re: Машинное обучение с нуля — Архитектура кодировщик-декодер

машинное обучение

предисловие

В последнее время я изучаю Adaptive Style Transfer и занимаюсь инженерной практикой.Кстати, я подытожу архитектуру Encoder-Decoder в глубоком обучении.

текст

Кодировщик-декодер (кодирование-декодирование) — очень распространенная модельная структура в глубоком обучении, Кодировщик — это устройство, которое получает входные и выходные векторы признаков.Интернет(FC, CNN, RNN и т.д.). Эти векторы признаков на самом деле являются еще одним представлением входных признаков и информации.

Кодирование на самом деле является еще одним представлением контента.

декодер тоже естьИнтернет(обычно та же сетевая структура, что и у кодировщика, но в противоположном направлении), он берет вектор признаков от кодировщика и выводит наиболее близкое приближение к фактическому входу или ожидаемому результату, например, как показано на рисунке ниже.

Если быть точным, Encoder-Decoder — это не конкретная модель, а своего рода фреймворк. Части кодировщика и декодера могут быть любым текстом, голосом, изображением, видеоданными, а модель может использовать CNN, RNN, BiRNN, LSTM, GRU и т. д. Таким образом, на основе Encoder-Decoder мы можем разрабатывать различные алгоритмы приложений.

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

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

Этот метод используется во многих различных приложениях, таких как перевод, генеративные модели и т. д.

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

конкретный пример

Autoencoder

Нейронная сеть автоэнкодера — это неконтролируемый алгоритм машинного обучения, нейронная сеть с тремя слоями: входной слой, скрытый слой (слой кодирования) и слой декодирования. Цель этой сети состоит в том, чтобы реконструировать ее входные данные, чтобы ее скрытые слои узнали хорошее представление этих входных данных. Он применяет обратное распространение, которое устанавливает целевое значение равным входному значению. Автоэнкодеры — это тип предварительно сохраненных сетей без присмотра. Его структура показана на следующем рисунке:

[Изображение предоставлено: Глубокое обучение: основы и типы автоэнкодера | Сердце машины]
Например, популярный в 2018 году автоэнкодер Wasserstein.

CNN

In a CNN, an encoder-decoder network typically looks like this (a CNN encoder and a CNN decoder):

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

RNN

In an RNN, an encoder-decoder network typically looks like this (an RNN encoder and an RNN decoder):

This is a network to predict responses for incoming emails. The left half of the network encodes the email into a feature vector, and the right half of the network decodes the feature vector to produce word predictions.

Adaptive Style transfer

постскриптум

использованная литература

Путеводитель на китайском языкеblog.CSDN.net/мир шампанского/Ах…

сердце машиныВоооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

What is an Encoder/Decoder in Deep Learning? Woohoo Quora.com/what-is-press-…

Is there a difference between autoencoders and encoder-decoder in deep learning? Woohoo Quora.com/is-there-ah-…