Автокодер, autoassociator или сеть Diabolo являются искусственной нейронной сетью, используемой для изучения эффективных кодирований. По сути, это - часть алгоритмов сокращения размерности.

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

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

Если линейные нейроны используются, то оптимальное решение автокодера сильно связано с PCA.

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

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

"Кодирование" также известно как встроенное пространство или скрытое пространство в сокращении размерности, где кодер привыкнет к проекту и декодеру для восстановления.