Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция №15 22.12.ppt
Скачиваний:
9
Добавлен:
26.12.2023
Размер:
4.84 Mб
Скачать

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

DEEPDREAM

DeepDream — это метод художественной обработки изображений, основанный на использовании представлений, полученных сверточными нейронными сетями.

Впервые он был реализован в компании Google летом 2015 года как демонстрация возможностей библиотеки глубокого обучения Caffe .

В интернете он быстро превратился в сенсацию благодаря получаемым с его помощью психоделическим

(изменяющим восприятие) картинам, наполненным алгоритмическими иллюзиями, птичьими перьями и собачьими глазами, что является побочным эффектом обучения сверточной сети.

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

Нейронная передача стиля

Кроме DeepDream, существует еще одна важная разработка в области изменения изображений с использованием глубокого обучения — нейронная передача стиля, реализованная в 2015 года .

После своего появления алгоритм нейронной передачи стиля претерпел множество усовершенствований, породил множество вариаций и нашел применение во множестве приложений обработки фотографий для смартфонов.

Нейронная передача стиля заключается в применении стиля изображения-образца к целевому изображению при сохранении содержимого этого целевого изображения.

Пример передачи стиля

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

Нейронная передача стиля

В данном контексте под стилем в основном подразумеваются текстуры, цветовая палитра и визуальные шаблоны в различных пространственных масштабах; а под содержимым — высокоуровневая макроструктура изображения. Например, сине-желтые круговые мазки соответствуют стилю (в качестве образца использована картина Винсента Ван Гога «Звездная ночь»), а здания на фотографии — это содержимое.

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

Нейронная передача стиля

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

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

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

Нейронная передача стиля

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

Дизайн И. Гайдель 2007

Генеративное глубокое обучение

Выводы

Передача стиля заключается в создании нового изображения, которое сохраняет содержимое целевого изображения и оформлено в стиле изображения-образца.

Содержимое может сохраняться активациями верхнего слоя сверточной сети.

Стиль может сохраняться внутренними корреляциями активаций разных слоев.

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

Начав с этой простой идеи, можно реализовать множество разнообразных вариантов.

Дизайн И. Гайдель 2007

Генетические алгоритмы

При разработке и проверке новых теорий переход от незначительного эксперимента к более масштабным приложениям является обязательным и многократно повторяющимся этапом. Исходная экспериментальная проверка новой теории обычно проводится на небольших и очень простых системах. В случае успеха рамки эксперимента расширяются до более реалистичных и масштабных систем. При этом переходе одни теории “выживают”, а другие — нет.

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

Дизайн И. Гайдель 2007

Генетические алгоритмы

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

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

Дизайн И. Гайдель 2007

Генетические алгоритмы

Генети́ческий алгори́тм (англ. genetic algorithm) — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе.

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

Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.

Дизайн И. Гайдель 2007

Генетические алгоритмы

Как это выглядит в реальной жизни?

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

«выживаемость» решения.

Затем необходимо выбрать базовый алгоритм управления, который будет использоваться в автопилоте. Например, нейронные сети. То, что делает нейросеть, определяется ее параметрами — весами связей между нейронами. Именно эти параметры надо менять, чтобы изменить поведение автопилота.

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