Как правило, машинное обучение, включая глубокое обучение (встраивание), берет данные из более высокого измерения и сжимает их в пространство более низкого измерения.

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

f(X) -> g(h) -> r

Здесь следует отметить, что веса автоэнкодеров не обязательно должны быть ортогональными, как PCA. Автоэнкодер с нелинейной функцией активации в сети кодировщика и декодера — отличный способ сделать нелинейное уменьшение размерности.

Предостережение автоэнкодера: если сеть имеет слишком много весов, она фактически не будет обучаться. Например, h — это всего лишь одно действительное число. Затем сеть просто запомнит число для каждого тренировочного изображения.

Автоэнкодер шумоподавления

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

Разреженный автоэнкодер:

Небольшое количество скрытых юнитов может быть активным в данный момент времени.

Сверточный автоэнкодер

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

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