Как правило, машинное обучение, включая глубокое обучение (встраивание), берет данные из более высокого измерения и сжимает их в пространство более низкого измерения.
Сеть автоэнкодера производит выходные данные с тем же измерением, что и входное измерение. Между сетью он имеет вектор состояния более низкого измерения, называемый h (скрытый), а потери рассчитываются как среднеквадратическая ошибка (MSE).
f(X) -> g(h) -> r
Здесь следует отметить, что веса автоэнкодеров не обязательно должны быть ортогональными, как PCA. Автоэнкодер с нелинейной функцией активации в сети кодировщика и декодера — отличный способ сделать нелинейное уменьшение размерности.
Предостережение автоэнкодера: если сеть имеет слишком много весов, она фактически не будет обучаться. Например, h — это всего лишь одно действительное число. Затем сеть просто запомнит число для каждого тренировочного изображения.
Автоэнкодер шумоподавления
В этом типе сети во время обучения ввод будет зашумлен, а вывод будет фактическим. Таким образом, сеть может научиться удалять шум или заполнять пустое пространство. Тот же метод можно использовать для обучения сети обучению заполнению недостающей части изображения.
Разреженный автоэнкодер:
Небольшое количество скрытых юнитов может быть активным в данный момент времени.
Сверточный автоэнкодер
В этом типе сети автоэнкодера часть кодера состоит из слоя свертки и максимального пула, а часть декодера содержит транспонированную свертку и слой немаксимального пула.
Автоэнкодеры часто используются в приложениях для шумоподавления, обнаружения аномалий, машинного перевода и семантической сегментации.