Автоенкодеры(autoencoder)

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2020-11-12 15:00

Сегодня у нас на вскрытии автоенкодеры(autoencoder).

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

Смотрим на первую картинку и потихоньку въезжаем.

Автоенкодеры нашли своё применение во многих областях.

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

Казалось бы, структура очень простая, но она может творить чудеса!

Автоенкодер состоит из двух частей - это энкодер(encoder) и декодер(decoder).

Энкодер сжимает данные, а декодер приводит их к исходному виду.

У сети есть вход(на картинке подписано как input), "бутылочное горлышко"(в середине) и выход(output на картинке).

В середине сети происходит вся магия!

Давайте посмотрим на вторую картинку.

Вот это да!

Такая картинка уместилась всего в 30 нейронов, против 576 нейронов на входе!

Да, декодер не вернёт картинку в исходное состояние, но всё равно получается очень интересно.

То, что картинка получилась после работы декодера не совсем похожей на оригинал, называется lossy compression. В переводе означает сжатие данных с потерей.

Заметили, что на второй картинке цифра получилась немного более размазанной?

Вот это и есть lossy compression - некоторая часть информации теряется при кодировании, но самые важные части, тут как посчитает уже нейронка, переходят в decoder и на выходе мы получаем картинку, которая немного отличается от оригинала.

Ещё можно использовать автоенкодеры для избавления от шума на картинках. Переведите глаза на следующую картинку.

Чудесно, не правда ли?

Но как их тренируют?

Очень просто:

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

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

В заключении хочется сказать, что автоенкодеры можно использовать для генерации контента, а не только для сжатия данных и избавления от шума - это так называемые AEGAN сети - Autoencoding Generative Adversarial Networks. Например, с помощью сетей GAN можно генерировать котиков, собачек и даже аниме персонажей!

Но это уже совсем история, о которой я расскажу когда-нибудь в будущем, когда сам пойму их структуру.

На этом всё. Если что-то не очень понятно, задавайте вопросы в комментариях.

До четверга!

https://waifulabs.com/ - пример использования GAN сетей.


Источник: waifulabs.com

Комментарии: