€ 98.23
$ 91.69
Блез Агюера и Арказ: Как компьютеры учатся творчеству

Лекции

Блез Агюера и Арказ: Как компьютеры учатся творчеству

Мы находимся на пороге новых открытий в искусстве и творчестве — но не благодаря человеку. Блез Агюера и Аркас, главный научный сотрудник Google, работает с нейронными сетями, служащими для машинного восприятия и распределенного обучения. В этой интересной демонстрации он показывает, как нейронные сети, обученные распознавать изображения, могут действовать в обратном направлении — то есть создавать их. В результате появляются впечатляющие галлюцинаторные изображения — и стихи! «Восприятие и творчество очень тесно связаны, — говорит Блез Агюера и Аркас. — Любое существо или создание, способное воспринимать, также способно и создавать»

Блез Агюера и Арказ
Будущее

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

Исторически одной из этих областей было восприятие — процесс, благодаря которому все в мире, все звуки и изображения в нашем сознании превращаются в понятия. Это совершенно необходимо для нашего разума, однако полезно и для компьютера. Например, наша команда создает машинные алгоритмы восприятия, которые позволяют вам находить картинки на Google Photos по тому, что на них изображено. Обратная сторона восприятия — творчество: превращение задумки во что-то реальное. Таким образом, за прошедший год наша работа над компьютерным восприятием также неожиданно стала связана с миром компьютерного творчества и машинного искусства.

Я считаю, что у Микеланджело было точное понимание двойственного отношения между восприятием и творчеством. Вот его известная цитата: «Внутри каждого камня скрыта статуя, задача скульптора — ее обнаружить». Я думаю, что Микеланджело говорит о том, что мы создаем посредством восприятия, а само восприятие — это акт воображения и материал для творчества.

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

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

Это нейроны мозга птицы. Вы видите здесь невероятное разнообразие различных видов клеток, даже клеточная теория сама по себе была в то время довольно нова. И эти структуры, эти клетки, которые имеют разветвления и эти очень длинные ответвления, — все это было тогда очень ново. Они напоминают провода. Это могло быть очевидным для некоторых людей в XIX веке: как раз начиналась электрификация. Но во многом такие микроанатомические зарисовки Рамона-и-Кахаля все еще остаются непревзойденными.

Мы до сих пор, более ста лет спустя, пытаемся закончить работу, начатую Рамоном-и-Кахалем. Это необработанные данные от наших коллег из Института Неврологии Макса Планка. Наши коллеги изобразили маленькие кусочки ткани головного мозга. Весь образец составляет примерно один кубический миллиметр, а я показываю вам очень маленький его кусочек. Та риска слева равна одному микрону. Структуры, которые вы видите, — это митохондрии, они размером с бактерию. А это последовательные срезы этого очень маленького кусочка ткани. Просто для сравнения: диаметр волоса в среднем составляет около 100 микрон. Мы здесь видим нечто гораздо меньшее, чем человеческий волос.

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

Итак, Рамон-и-Кахаль немного опережал свое время, и прогресс в понимании мозга продвигался медленно в течение следующих десятилетий. Но мы знали, что нейроны используют электричество, и ко Второй мировой войне технологии были развиты достаточно, чтобы начать электрические эксперименты на живых нейронах, чтобы лучше понимать, как они работают. Именно тогда изобрели компьютеры, во многом основанные на идее моделирования мозга или «искусственного интеллекта», как называл его Алан Тьюринг, один из отцов информатики.

Уоррен Мак-Каллок и Уолтер Питтс посмотрели на рисунки Рамона-и-Кахаля. Сейчас я показываю вам это изображение зрительной коры. Эта кора головного мозга обрабатывает образы, поступающие от органов зрения. По их мнению это выглядело как замкнутая схема. В схеме Мак-Каллока и Питтса многие детали не совсем точны, но основная идея, что зрительная кора работает как серия вычислительных элементов, которые каскадом передают друг другу информацию, по сути верна.

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

Так что же происходит между пикселями, между изображением птицы и словом «птица»? По сути, группа нейронов связана друг с другом в нейронной сети, как я показываю здесь. Эта нейронная сеть в коре головного мозга могла быть биологической, а в наше время мы можем смоделировать такую нейронную сеть на компьютере. И я вам покажу, как это выглядит.

Поэтому о пикселях можно думать как о первом слое нейронов — именно так происходит в глазу — это нейроны в сетчатке. А остальные нейроны связаны по цепи слой за слоем, их соединяют между собой синапсы различных весов. Поведение этой сети характеризуется силой этих синапсов. Они характеризуют вычислительные свойства этой сети. В конце концов один или несколько нейронов загораются, говоря: «птица».

Теперь я собираюсь представить эти три вещи — входные пиксели и синапсы в нейронной сети и, как результат, птицу при помощи трех переменных: Х, W и Y. Существует миллион или около того X — миллион пикселей в изображении. Миллиарды или триллионы W — представляющих вес всех этих синапсов в нейронной сети. И очень маленькое количество Y — значений на выходе сети. «Птица» же состоит всего из 5 букв. Давайте представим, что это простая формула: X«х»W=Y. Я ставлю умножение в кавычки, потому что на самом деле там просисходит очень сложная серия математических расчетов.

Это одно уравнение с тремя переменными. И всем известно, что если у нас есть уравнение, то мы можем найти одну переменную, зная две другие. Таким образом, задача по распознаванию птицы в изображении птицы заключается в следующем: Y неизвестен, а W и X известны. Вы знаете нейронную сеть, вы знаете пиксели. И как видите, это относительно простая задача. Вы умножаете два на три, и все готово. Я покажу вам искусственную нейронную сеть, которую мы построили недавно, делая то же самое.

Она работает в реальном времени на мобильном телефоне. Удивительно уже само по себе то, что мобильные телефоны могут выполнять миллиарды и триллионы операций в секунду. Мы видим телефон, который смотрит на изображение птиц одно за другим и не только говорит: «Да, это птица», но также через такую же сеть определяет вид этой птицы. На этой картинке X и W известны, а Y неизвестен. Я, конечно, пропускаю самую сложную часть — то, каким непостижимым образом мы находим W — мозг, который может это сделать. Сможем ли мы сделать такую модель?

Этот процесс нахождения W, будь это простым уравнением, где мы думаем о неизвестных, как о числах, мы бы знали, как именно это сделать: 6=2*W, делим на 2, и готово. Но проблема именно в этом преобразовании, в делении. Мы использовали его здесь, так как оно обратно умножению, но, как я сказал, умножение здесь — это фикция. Это чрезвычайно сложная нелинейная операция, она не имеет обратного действия. Мы должны найти способ решить это уравнение без деления. И способ довольно простой. Давайте проделаем маленький математический трюк и перенесем 6 в правую часть уравнения. Сейчас мы используем умножение. И этот ноль, давайте примем его за отклонение. Другими словами, если мы посчитаем W правильно, то отклонение будет равно нулю. А если мы посчитали неверно, то отклонение будет больше нуля.

Теперь мы можем подбирать числа, чтобы минимизировать отклонение, а это как раз то, в чем компьютеры очень хороши. Сначала мы предположили: что если W=0? Тогда отклонение равно 6. Если W=1, то отклонение — 4. И потом компьютер начинает играть в «угадайку» и приближает отклонение к нулю. Так он приближается к верному значению W. Обычно он не находит точного решения, но сделав с десяток шагов, мы приближаемся к W=2,999, что достаточно близко к истине. Это и есть процесс обучения.

Напомню, что именно мы делаем: мы берем много известных X и Y и посредством процесса повторения находим W. Мы сами учимся точно так же. В детстве мы встречаем множество образов, и нам говорят: «Это птица, а это не птица». Со временем через повторение мы находим W, то есть нейронные связи.

Теперь у нас есть готовые X и W для нахождения Y и быстрого повседневного восприятия. Мы узнанм, как найти W, — это обучение, и оно сложно, так как надо минимизировать погрешности методом проб и ошибок.

Около года назад Алекс Мордвинцев из нашей команды решил попробовать, что будет, если попытаться найти X, зная W и Y. Другими словами, вы знаете, что это птица, и вашей нейронной сети тоже это известно. Но как же выглядит птица? Оказывается, что используя ту же самую процедуру минимизации погрешностей, можно проделать это c нейронной сетью, обученной распознавать птиц, и в результате получается изображение птицы. Это изображение птиц создано нейронной сетью, обученной распознавать птиц, просто находя X, а не Y, через множество повторений.

Вот другой интересный пример. Это работа, сделанная Майком Тайком из нашей команды. Он назвал ее «Парад зверей». Она немного напоминает мне работы Уильяма Кентриджа, в которых он делает эскизы, потом их стирает, снова рисует и стирает, и так создает фильм. В данном случае Майк меняет Y различных видов животных в сети, созданной для распознавания разных видов животных. Получается парадоксальное, в стиле Эшера, изображение животных.

Здесь он и Алекс попытались упростить Y до двухмерного пространства, тем самым создавая карту из пространства всех объектов, распознаваемых данной сетью. Выполняя такого рода синтез или создавая изображения на всей поверхности, изменяя в ней Y, вы делаете подобие карты — визуальную карту всех вещей, которые может распознать сеть. Здесь есть все животные. Вот «броненосец».

То же можно проделать с другими типами сетей. Эта сеть создана, чтобы распознавать лица и отличать одно лицо от другого. Здесь мы добавляем Y, который значит «я», мои параметры лица. И когда эта сеть находит X, то создает это довольно сумасшедшее, кубическое, сюрреалистическое, психоделическое изображение меня с разных сторон одновременно. И причина, по которой изображение так выглядит, в том, что сеть стремится избавиться от неопределенности, возникающей из-за разных положений головы или разных углов освещения.

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

Вам не нужно начинать с чистого листа или белого шума. Когда вы ищете X, вы можете начать с X, который сам по себе — другое изображение. Вот о чем эта маленькая демонстрация. Эта сеть, которая разработана, чтобы категоризировать самые различные объекты — искусственные сооружения, животных… Здесь мы начинаем с простого изображения облаков, и по мере оптимизации эта сеть определяет, что именно она видит в облаках. И чем дольше вы смотрите, тем больше сможете увидеть в облаках. Можно использовать сеть распознавания лиц, чтобы вызвать галлюцинации и получить довольно сумасшедшие вещи.

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

Первый раз я показал это группе в Сиэттле на лекции «Высшее образование». Это было как раз после легализации марихуаны.

Я хотел бы быстро подвести итог и отметить, что возможности этой технологии безграничны. Я показал вам лишь визуальные примеры, потому что на них интересно смотреть. Но это не только визуальная технология. Наш сотрудник, художник Росс Гудвин, провел эксперимент с камерой, на которую делал снимок, а в рюкзаке у него был компьютер, пишущий стихи посредством нейронных сетей, которые брали за основу фотографию. И эта поэтическая нейронная сеть была «натренирована» на обширном корпусе поэзии XX века. И знаете, получившиеся стихи, по-моему, не не так уж и плохи.

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

Кроме того, я думаю, что восприятие и творчество присущи не только человеку. У нас начинают появляться компьютеры, которые могут делать то же самое. И это неудивительно, ведь мозг — своего рода компьютер.

И наконец, информатика зарождалась в попытках создания искусственного интеллекта. Ее во многом сформировала концепция о том, как можно сделать машины умнее. И сейчас мы начинаем выполнять некоторые обещания тех первопроходцев — Тьюринга и фон Неймана, Мак-Каллока и Питтса. Я считаю, что компьютеры — это не только расчеты, пасьянс «Косынка» или что-то подобное. Мы изначально делали компьютеры похожими на свой мозг. И они дали нам возможность лучше понять собственный мозг и развивать его.

Перевод: Леонид Стариков
Редактор: Наталия Ост

Источник

Свежие материалы