November 27, 2016

Раскрась свое фото под Ван-Гога или нейросеть для бабушек

ostagram раскрасил "мою любимую колючку" для заставки "Итогов НеКонкурса"
а Дримскоп фото из Хеврона под комикс про джедаев.

Это называется «инцепционизм» – изображения, созданные искусственными нейронными сетями
напоминают полотна абстрактных художников. "Но некоторые так невыносимо прекрасны и кажутся такими осмысленными, что у впечатлительного человека может возникнуть ощущение, что он заглянул то ли в сон, то ли в глубину души железной машины..."

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

исходный портрет и "колючка"

Эффекты на выбор, "под Пикассо", под "анимэ", "под Хокусаи"

Было - стало

Фото-цитата с deepdream:

классическая мозаика "Глубокого сна".
Ладно еще глаза,

тут нейросети реально понесло:

Галерея инцепционизма

- Крышу сносит местами, но что такого прорывного, разве Фотошоп не то же делает?
И графические программы-хамелеоны, которые дорисуют на вашем портрете
кошачьи усы и тигровую окраску?

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

Никакой Фотошоп, ни графический алгоритм так не может.

Фильтров и плагинов под "акварель - пуантилизм - пастель"
полно даже в базовом наборе ФШ

Хочешь - получи свое селфи "в карандаше", хочешь "углем на картоне".
Никогда эти экзерсисы не были особо популярны.
Блестками, сердечками фото украсить, гиф с дождиком добавить -
это сплошь и рядом, но не "компьютерная живопись".
С первого взгляда заметно, что она - неживая. Невыразительная. Каша-кашей.

Будто сетку со штрихами или с равномерными пятнами наложили.

У "джедаев" от нейросети светятся контуры фигур, контрастируя с фоном,
у ФШовского плагина трассировка контуров равномерно подсвечивает все подряд
получается мешанина хаотических линий, в которых теряются действующие лица.

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

Красочные мазки подчеркивают форму того, что изображено -
это отличает даже самый примитивный рисунок, сделанный человеком.
И - работу нейросетей.

PhS и небо и контрастные облака заполнил бы равномерным узором
из спиралей и загогулин

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

Педаль, руль, звездочка (отнюдь не более контрастные, чем массив фонового мусора) на нижнем фото выделены "сознательно": нейросеть узнала предмет, оценила его размер и положение на картинке и определила как смысловой центр сюжета.
А к верхнему примеру присмотритесь - пальцы барабанщика вовсе не контрастны, в гораздо меньшей степени, чем рельеф стены; и как тщательно переданы складки одежды, на мелком джипеге почти и не заметные (грузила фото побольше), при том что отчетливо-контрастная рама позади - намечена эскизно. С умом делалось!
Сила этого подхода - в обучении. Нейросеть учится распознавать классы предметов "дерево", "лицо", "дом", "велосипед", делает это все лучше и лучше, в различных модификациях и положениях. Хоть бы и "вверх ногами".
Мы получаем разукрашенные фоточки, а инициаторы проектов на сайтах - массив данных (по началу, конечно, разработчики грузят из поисковика сотни примеров и наставляют свое детище вручную "попал"-"не попал").

- "Рассказать внуку"... - но разве можно рассказать о том, в чем сам не бельмеса?
- Да почему нет? Я могу объяснить ребенку разницу между бульдозером и экскаватором,
хотя не сумею ни тот, ни другой даже завести, не то что работать на них.

В общих чертах -
Нейронные сети - математическая сущность.

Они могут быть созданы при помощи программного обеспечения
или иметь реальное воплощение "в железе" (точнее в кремнии).

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

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

Вспомним из биологии:

"три основных части нейрона -Дентриты ----- занимаются сбором поступающих сигналовСома ---- производит основную обработку и суммирование сигналовАксон ----- отвечает за передачу сигналов другим дендритам.Средний человеческий мозг содержит около 100 млрд. или 10 в 11-й степени нейронов, и каждый из них имеет до 10000 соединений через дендриты. Сигналы передаются с помощью электрохимических процессов на основе натрия, калия и ионов. Сигналы передаются, накапливая разницу потенциалов, вызванную этими ионами, но химия тут значения не имеет, и сигналы можно рассматривать как простые электрические импульсы, путешествующие с аксона на дендрит. Присоединение дентрита к чужому аксону называется синапс, это основные точки передачи импульсов."

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

"Аналогично организовано для искусственного нейрона: он имеет несколько входов - X1 - Xn и В. Эти входы имеют ассоциированный с ними вес W1-Wn. Входящие данные приходят от X-ов и от B, которые соединены с соседними узлами. Идея в том, что B - это "прошллое", "память". Основная операция нейроноды (узла) такова: входные данные от X умножаются на связанный с ними вес и суммируются.Одно из основных применений нейронных сетей - создание механизма воспоминаний, который сможет обрабатывать неполные либо нечеткие входные данные и выдавать результат."

Иллюстративно о "весах":
небезызвестный метод "как принять решение и справляться с проблемами" -
предлагается выписать на листочке все "за" и "против", пересчитать... и вот оно, решение.
Почему это не работает?
Ежу понятно, что "+" и "-" могут иметь разный вес.
И три десятка мелких плюсиков запросто перекроет один жирный минус.
Типа - можно найти тысячу плюсов в том, чтоб жить среди природной пасторали,
вдали от индустриальной суеты, но... там нечем зарабатывать на жизнь.

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

"В будущем нейросеть будет использована в таких продуктах, как поиск изображений,
автомобили Google с беспилотным управлением и очки Google Glass" (т.н. "добавленная реальность" - способная наконец-то разрешить антогонизм тощих и толстых - крути настройки и отображай встречных-поперечных с какими хочешь параметрами; ну и кучу прочих эффектов пририсовать к реальности) .

"Нейросети для чайника" - https://habrahabr.ru/post/143129/
(введение во вступление к основам предмета - на примере подхода к распознаванию шрифта;
как раз к зашедшему в кооментах разговору о каптче )

http://deepdream.mnillstone.com/ мобильное приложение
- так же просто как программы для коллажей: загрузи картинку - получи результат.

Мы не представляем, в каком мире будут жить наши внуки.
Обучение, интерес - начинаются с игры, с простой забавы.
Увлекутся несмышленышами - будет на что опереться, когда дойдет до серьезных занятий.
И может быть выражение "Делать бабушке нервы" приобретет другой оттенок )

Игрушка-рисовалка: обучаем гугловскую нейросеть распознавать картинки