Игорь Шнуренко – Демон внутри. Анатомия искусственного интеллекта (страница 35)
У каждого свои недостатки, заметил герой фильма «В джазе только девушки». Есть они и у классических свёрточных нейросетей. Например, если на изображении в случайном порядке появятся грудь, нос, волосы и губы, то обученная на распознавание девушек свёрточная сеть распознает ее. Человек же легко обнаружит такую ошибку. Еще один минус — поворот объекта резко ухудшает качество распознавания, тогда как для человеческого мозга это не проблема. Конечно, исследователи придумывали способы обойти эти несовершенства — например, заводя в машину фотографии объектов, снятых с разных ракурсов. Но в таком случае сети требовались тысячи примеров и сложность задачи возрастала на порядки.
Проблема была решена совсем недавно, в 2017 году, когда тот самый канадец Джеффри Хинтон ввел в оборот капсульные нейронные сети. Один из основоположников подхода обратного распространения ошибки, о котором я уже рассказывал, Хинтон сейчас обеспечивает лидерство компании Google в ИИ-разработках. О том, как команда Google сумела обыграть чемпиона мира по го, речь пойдет ниже.
Google — скромная компания, которая активно работает над сбором и анализом всей возможной информации о мире, о человеке, о Вселенной. Прежде всего визуальной информации, но и любой другой. Они ищут, переснимают и оцифровывают все книги, изданные за всю историю от начала времен, все картины, все произведения искусства, пейзажи, фотографии, изображения и образы всего, что когда-либо жило, живет или будет жить. Перед дронами Google поставлена задача сфотографировать всю поверхность Земли со всем, что на ней находится. Google также составляет подробнейшие карты всего. Иными словами, они хотят быть способными распознать и интерпретировать всё, что движется и не движется, всё что слышится и не слышится в диапазоне от земной коры до стратосферы. Потом они пойдут выше и ниже.
Все эти объекты должны быть четко классифицированы, чтобы этой информацией можно было пользоваться, чтобы ее можно было анализировать и принимать решения. Например, в постановке задач перед военными: бомбить или не бомбить.
Но Google столкнулся с тем, что сверточные нейросети не очень хорошо понимают цельность объекта как таковую, а в частности — соотношение друг другом его составных частей, а также те изменения в его виде, которые возникают, если менять расстояния до объекта и угол зрения. Таким образом, оказывается возможным обдурить систему, a Google —серьезная публичная компания с капитализацией примерно в 850 миллиардов долларов, и не любит, когда систему, которую она продает, можно обдурить.
Так проблемы, вставшие перед Google, побудили Хинтона обратиться к идее, которая появилась у ученого еще сорок лет назад, во время той самой «зимы ИИ». Тогда Хинтон только что стал доктором наук в Эдинбургском университете. Он работал именно над решениями для искусственного интеллекта, но глубокое машинное обучение казалось его коллегам журавлем в небе.
Хинтон обратил внимание на то, что естественный и искусственный интеллекты по-разному «читают» картинку, которую видят перед собой. Нейросеть воспринимает мир, как слепой, зашедший в незнакомый дом, ощупывая предметы по одному и пытаясь понять, кто здесь живет. Вот полированная поверхность, стул из тяжелого дерева с инкрустацией, за ним стол, сервированный серебряными приборами и тарелками из фарфора: должно быть здесь живут люди богатые. Вначале нейросеть видит просто пиксели, потом они складываются в черточки, дужки и края, отделяющие один цвет от другого, потом из этих деталек складываются более сложные объекты, мы словно наводим резкость в объективе фотоаппарата.
Мозг человека работает не так. Мы видим всю картинку сразу: ох, какой богатый дом! Шик и блеск! Пол застелен дорогими коврами, вот антикварный шкаф, ломберный столик, мейсенский фарфор, вот столовое серебро. Но что-то на столе не так: упал бокал. И тут наш взгляд натыкается на тень в углу под тикающими неспешно часами: там лежит человек...Ковер под ним изменил свой цвет, побурев от крови, и мы понимаем, что здесь произошло убийство.
Наверное, эволюция и наше пещерное прошлое причиной тому, что мы видим всю картинку сразу. Когда-то мы не могли позволить себе долго всматриваться в изображение: оно бы тут же нас съело! Поэтому и движущиеся объекты мы до сих пор видим сразу, а остальная сцена для нас — фон, который мы можем не замечать. Более того, среди движущихся объектов мы в первую очередь примечаем живые существа. Как мы это делаем? Прежде всего по глазам. Если мы не видим глаз существ, представляющих для нас опасность, мы испытываем первобытный ужас. Чувство, что опасность рядом, но мы не можем ее своевременно опознать, пронизывает нас насквозь. Возможно, поэтому мы так боимся змей и ядовитых пауков.
Этими свойствами человеческого мозга издавна пользовались живописцы. Посмотрите, например, на «Женщину в красной шляпке» Вермеера: все наше внимание в этой картине приковано к глазам молодой женщины, к ее лицу, несмотря на то, что они находятся в тени — а вот на узоры гобелена мы вообще не обращаем внимания, хотя это изображение находится прямо у нас перед глазами. Нам важно понять, что чувствует женщина, мы сразу ухватываем ее эмоцию, а вот детали фона словно бы остаются невидимыми.
Художник знает об этом эффекте восприятия: он и сам так видит. Разумеется, искусственная нейронная сеть «видела» бы эту картину совершенно иначе и с самого начала потратила бы на расшифровку фоновых узоров гораздо больше усилий, чем на обработку глаз, таких небольших по площади объектов. Отметим при этом, что нас никто не инструктирует насчет важности глаз женщины в этой картине: мы знаем об этом в тот самый момент, когда бросаем на нее первый же взгляд.
Конечно, уже давно маркетологи эксплуатируют эти особенности нашего восприятия, манипулируют ими, на них нажиты и продолжают наживаться гигантские состояния. Ниже в специальной главе мы остановимся на особенностях восприятия человеческого мозга и принципиальных отличиях натурального интеллекта от искусственного.
Поразительная способность человека мгновенно ухватывать суть сложной проблемы, выделять самое главное не только из картинки, но и из книг, из звуков, понимать процессы в их динамике, вовсю изучаются нейрофизиологами, психологами и философами в самых разных странах, на это брошены гигантские ресурсы. Ведь чем быстрее ученые опишут механизм работы восприятия, тем ближе к решению станет задача синтеза искусственного разума.
Когда Хинтон создавал капсульные нейросети, он также использовал эту особенность. Получив визуальную информацию, мозг распознает ее, используя уже усвоенные паттерны и отношения между ними, писал Хинтон. Если использовать тот же подход, мы распознаем женщину независимо от угла, под которым мы ее увидим.
ТАНЦУЮЩИЕ ПАТТЕРНЫ
Как это сделать на практике? Хинтон обратился к трехмерной графике, где отношения между трехмерными объектами называются «позами». «Поза» — это матрица, которая описывает перемещение тела и его поворот. Так вот, Хинтон предложил очень важный принцип: что для того, чтобы безошибочно распознавать и классифицировать объекты на выходе сети, нужно сохранять отношения «поз» частей объектов друг к другу. Такие отношения описываются четырехмерными «матрицами поз».
В одном научно-фантастическом рассказе трехмерная развертка мира ставится «на ребро», и при толчке со стороны внешних сил складывается в четырехмерный кубик. Так и с «матрицами поз», которые описывают трехмерный объект: сохраняя матрицу, нейросеть всегда сумеет отличить этот объект, вне зависимости от угла, под которым его видит.
Конечно, если модель одной только этой особенности мозга требует четвертого измерения, можно лишь восторгаться таким творением, как человек!
Капсульная сеть, использующая этот подход, совершает вполовину меньше ошибок в распознавании и классификации, чем сверточная, при этом ей требуется на порядки меньше данных.
Распознаваемые первыми слоями нейросети черточки и дужки обобщаются в паттерны, потом в определенные сочетания паттернов, то есть паттерны более высокого уровня: допустим, точка, точка, запятая — вместе «рожица» кривая. Потом эти рожицы словно заворачиваются в капсулы, и дальше продолжают распознаваться, как бы мы их не вертели. И если рядом будут лежать еще несколько точек и запятых, не укладывающихся в «матрицу позы», система не опознает их как «рожицу».
Работу капсульных нейросетей можно образно представить и в виде балета.
Допустим, мы хотим обучить искусственный интеллект ставить кордебалетную сцену в царстве теней из моего любимого балета «Баядерка». Паттерны — это балерины. Черточки и дужки сложились в пачки, в ноги и руки, в прекрасные головки танцовщиц. Мы их всех распознали и выпускаем на сцену, и они танцуют под музыку Минкуса. Танцевать они будут кто во что горазд, прыгая в разные стороны и вертя свои фуэте как придется. Более того, они быстро начнут терять свои конечности: руки, ножки, головки прекрасных девушек будут хаотично носиться по сцене и переходить от одной к другой и вся сцена вскоре будет напоминать бурную дискотеку в переполненном клубе, где уже ничего не различить и остается лишь подпустить побольше дыма. Сверточные сети мало помогут нам в обучении: прима-балерина Ульяна Лопаткина получит, может быть две или три головы, а потом, отказавшись от них, сначала размножится, а потом пропадет вовсе. Но по мере обучения при помощи капсульных нейросетей пространственные отношения балерин друг к другу будут закрепляться, и мы получим желаемый танец.