Машинное обучение является важной областью искусственного интеллекта, а автокодировщик - это нейронная сеть, используемая для обучения без учителя, в основном для представления обучения, уменьшения размерности данных и обнаружения аномалий. Его структура включает в себя часть кодировщика, и она широко используется, например, для удаления шума из изображений и переноса стиля с помощью нейронных сетей.
Резюме:
Описание содержания: Машинное обучение - это научная область, изучающая, как с помощью компьютеров моделировать или реализовывать человеческое обучение. Это одно из самых передовых и интеллектуально заметных направлений исследований в области искусственного интеллекта. С 1980-х годов машинное обучение, как ключевая технология реализации искусственного интеллекта, привлекло широкое внимание, особенно за последние десятилетия. Эта область быстро развивалась и стала одной из важнейших тем исследований в области искусственного интеллекта. Машинное обучение широко применяется не только в системах знаний, но и в обработке естественного языка, рассуждении, машинном зрении и распознавании образов. Наличие способности к обучению в системе стало важным показателем уровня её интеллекта.
Автокодировщик (autoencoder, AE) - это искусственная нейронная сеть (Artificial Neural Networks, ANNs), используемая для полусупервизионного и безучительского обучения. Автокодировщик в основном включает часть кодировщика (encoder). В зависимости от типа структуры автокодировщики могут быть нейронными сетями с прямой связью или рекуррентными нейронными сетями. Автокодировщики в основном применяются для обучения представлениям (representation learning) и широко используются для уменьшения размерности данных (dimensionality reduction) и обнаружения аномалий (anomaly detection). Особенно автокодировщики с включёнными сверточными слоями демонстрируют заметные результаты в области компьютерного зрения, например, в удалении шума с изображений (image denoising) и переносе стиля с помощью нейронных сетей (neural style transfer).
Ранние исследования автокодировщиков были направлены на решение проблемы «кодировщика» (encoder problem) в обучении представлениям, то есть вызова уменьшения размерности с использованием нейронных сетей. В 1985 году Дэвид Х. А́кли, Джеффри Е. Хинтон и Терренс Дж. Сейновски впервые попытались применить алгоритм автокодировщика на Болцмановских машинах и исследовали его потенциал в обучении представлениям. В 1986 году был официально предложен алгоритм обратного распространения ошибки (Back-Propagation, BP), и автокодировщик как форма самосупервизионного обратного распространения (Self-supervised BP) получил дальнейшее изучение. В 1987 году Джеффри Л. Элман и Дэвид Ципсер впервые применили автокодировщик для обучения представлениям речевых данных. В том же году Ян Лекун предложил формальную структуру автокодировщика и построил сеть для удаления шума из данных, используя многослойный перцептрон (Multi-Layer Perceptron, MLP). В то же время Бурлард и Камп также использовали MLP-автокодировщики для уменьшения размерности данных, что привлекло широкое внимание. В 1994 году Хинтон и Ричард С. Земель предложили принцип минимальной длины описания (Minimum Description Length principle, MDL) и построили первую генеративную модель, основанную на автокодировщике.
Цель разреженного автокодировщика - обучиться разреженному представлению входных данных, что особенно важно в методе Overcomplete AutoEncoder для высокоразмерных представлений. Среди ведущих учёных в этой области - профессор Эндрю Ын и Йошуа Бенджио. Их метод заключается в добавлении регуляризационного члена, контролирующего разрежение, в исходную функцию потерь, что позволяет добиться разреженного представления в процессе оптимизации. Основная идея денойзингового автокодировщика (Denoising AutoEncoder) заключается в повышении устойчивости кодировщика и предотвращении переобучения. Один из распространённых методов - добавление случайного шума в данные на входе, например, случайное обнуление или изменение некоторых входных данных. Эти идеи впоследствии нашли широкое применение в моделях, таких как BERT. Ещё один метод - использование регуляризационных подходов, например, добавление нормы Якоби для кодировщика в целевую функцию, что делает полученные представления более разнообразными.
Известный исследователь Юрген Шмидхубер предложил автокодировщики, основанные на сверточных сетях, и впоследствии LSTM-автокодировщики. Макс Веллинг предложил метод вариационных автокодировщиков (Variational AutoEncoder, VAE) на основе вариационного подхода, что стало вехой в исследованиях. Последующие исследователи расширили этот метод, предложив такие варианты, как info-VAE, beta-VAE и factorVAE. В последнее время исследователи, объединив идеи состязательного моделирования, предложили состязательные автокодировщики (Adversarial AutoEncoder), что дало хорошие результаты. Некоторые из этих методов могут использоваться совместно, например, путём наложения различных типов автокодировщиков друг на друга.