«Давным-давно в старинном городе жил Мастер, окружённый учениками. Самый способный из них однажды задумался: "А есть ли вопрос, на который наш Мастер не смог дать ответа?" Он пошёл на цветущий луг, поймал самую красивую бабочку и спрятал её между ладонями. Бабочка цеплялась лапками за его руки, и ученику было щекотно. Улыбаясь, он подошёл к Мастеру и спросил:
- Скажите, какая бабочка у меня в руках: живая или мертвая?
Он крепко держал бабочку в сомкнутых ладонях и был готов в любое мгновение сжать их ради своей истины.
Не глядя на руки ученика, Мастер ответил:
- Всё в твоих руках».
Что ни говори, а тема вопросов и ответов на них, тема наставника и учеников, тема неявного, но весьма изящного соперничества в сфере знаний являются одними из самых универсальных мотивов в самых разных человеческих культурах. Варианты вышеприведенной притчи имеются и
у ортодоксальных евреев-хасидов, и
у скотоводческих народностей Восточной Африки...
Обратимся дальше на восток - и там мы увидим
коаны дзен-буддизма, этакие «супер-вопросы», правильный ответ на которые приводит к просветлению ученика. Посмотрим на античную Европу - и вспомним «Диалоги» Платона и сочинения Цицерона. Через некоторое время в Средиземноморье начали усиляться «духовные скрепы», и основным методом обучения вплоть до окончания средневековья становится катехизический - т. е. наставления в форме вопросов и ответов.
За прошедшие столетия из средневековых университетов выросла современная наука. Наука обзавелась тысячами и тысячами сложных способов добычи и проверки новых знаний. Но порой сложность вопроса, который стоит перед наукой, многократно превосходит возможности имеющегося научного инструментария. Это своего рода «коан», для разгадки которого требуется отбросить все существующие представления. И тогда науке ничего не остаётся, кроме как возвращаться к базовым универсальным принципам...
В 1950 году математик Алан Тьюринг опубликовал работу, впоследствии получившую широчайшую известность - «
Вычислительные машины и разум». Здесь и формулируется прямо «супер-вопрос»: «Могут ли машины мыслить?» Поскольку научные традиции отошли довольно далеко от дзен-буддизма, Тьюринг в публикации предлагает свой вариант разгадки коана. Этот вариант принято называть тестом Тьюринга.
Тьюринг за ранним компьютером Pilot ACE
Тест Тьюринга не является прямым ответом на поставленный вопрос. Как отмечает сам учёный, для «прямого» доказательства «нужно сначала определить смысл терминов «машина» и «мыслить»». Поскольку второй из этих терминов слишком тесно связан с философией, неизбежные разногласия в его трактовке сводят на нет всю ценность тех или иных выводов.
Поэтому «разгадка» Тьюринга полностью меняет парадигму вопроса. Она предельно проста и ясна. В ней остается два человека (будем считать одного из них «Учителем») и машина («Ученик»). В ней остаются вопросы и ответы на них. В ней остается неявное соперничество, попытка «Ученика» превзойти своего «Учителя». Если «Учитель», задающий вопросы, не может отличить по ответам, где человек, а где машина, тест считается удачно пройденным.
Простота предложенной идеи позволила тесту Тьюринга завоевать признание широкой публики, хотя многие профильные специалисты скептически оценивают его практическую полезность. Тут стоит отметить, что сам Тьюринг без особого пиетета относился к формулировке «коана»: «Первоначальный вопрос «могут ли машины мыслить?» я считаю слишком неосмысленным, чтобы он заслуживал рассмотрения». Более подробное объяснение такой позиции мы можем найти у Станислава Лема (
«Сумма технологии», главка «Призрак в машине»):
«Сознание не является технологической проблемой, так как конструктора не интересует, чувствует ли машина; для него важно, действует ли она. Поэтому "технология сознания" может возникнуть, так сказать, только как побочный эффект, если окажется, что определенный класс кибернетических устройств обладает субъективным миром психических переживаний».
Если не отвлекаться на «побочные эффекты», полагал Тьюринг, к началу 21-го века конструкторы смогут создать достаточно продвинутые машины. «Я уверен, что лет через пятьдесят станет возможным программировать работу машин с емкостью памяти около 10^9 (т. е. 128 мегабайт - Giovanni) так, чтобы они могли играть в имитацию настолько успешно, что шансы среднего человека установить присутствие машины через пять минут после того, как он начнет задавать вопросы, не поднимались бы выше 70%... К концу нашего века употребление слов и мнения, разделяемые большинством образованных людей, изменятся настолько, что можно будет говорить о мыслящих машинах, не боясь, что тебя поймут неправильно».
Lust for love. AF-studiosНасколько точным оказался прогноз Алана Тьюринга? Я бы не решился утверждать, что существует однозначный ответ. И причина двойственности здесь лежит в том, что в предложенной ученым схеме имеется «слабое звено». Как и в большинстве самых разнообразных случаев, «слабым звеном» является человек - «средний человек», примеряющий на себя роль Учителя.
Проблема в том, что задача машины в тесте Тьюринга - обмануть человека. А человек по своей природе, увы, очень, очень и очень склонен обманываться. Обман - это способ обойти знания человека. И таких способов - хоть мы и считаем себя вершиной эволюции - нам по наследству от предков
досталось очень много.
В этом убедились еще в 1966 году. К этому времени профессор Дж. Вейзенбаум закончил написание первой программы,
”ELIZA”, способной «беседовать» с человеком. Запускалась она на компьютере IBM 7094, по размерам занимавшем небольшую комнату и достигавшем быстродействия более 100 килофлопс (скромный ПК, на котором я пишу эти строки, работает в 20 тысяч раз быстрее). Так вот, при всей своей откровенной примитивности ”ELIZA” была способна успешно дурачить взаимодействующих с ней людей, многие из которых начинали искренне считать, что общаются с «живым» существом.
Всё намного проще, чем представлял себе Тьюринг. В диалоге человека и машины достаточно вместо Вопросов и Ответов опуститься на уровень болтовни - и поддержание иллюзии «человечности» становится для машины вполне посильной задачей. Вряд ли стоит винить машину в игре «на понижение». Правила теста нисколько не поощряют такой подход. Суть здесь в другом: всё в наших руках. Ходом теста всегда руководит человек.
Что касается планки в 128 мегабайт, то она была преодолена еще до написания «Элизы». Но по прошествии полувека разговоры о «мыслящих машинах» все еще остаются уделом фантастов и философов.
Пока философы с когнитивистами ломали копья в
«китайской комнате», специалисты в области ИТ решали более приземленные технологические проблемы. И добивались в этом вполне достойных результатов. Область знаний, прямо соотносящаяся с экспериментом Тьюринга, получила скучное название “обработка естественного языка“ (ОЕЯ). Несмотря на то, что ОЕЯ довольно далека от философских материй вроде «мыслящих машин» и прочих снящихся андроидам электроовец, данная область науки ставит довольно глубокую цель: создать алгоритмы, которые понимают человеческий язык.
В «понимании» здесь нет излишней мистики: как сказал Лем, важно, чтобы машина действовала, т. е. работала предельно эффективно. А применительно к ОЕЯ это означает, в самом общем смысле, всё те же вещи: вопросы и ответы. Способность определить, что же именно требуется, и способность максимально адекватно ответить на полученный запрос.
В последнее время технологии машинного обучения стали наиболее активно используемым подходом к решению широкого спектра задач, ранее считавшихся «крепкими орешками». Вообще, сам принцип машинного обучения превосходно вписывается в универсальную схему работы со знанием. Мы даём программе «вопросы» (входные данные) и «ответы» (выходные данные) и заставляем программу научиться давать правильный результат.
Развитие машинного обучения не обошло стороной и сферу ОЕЯ. Мы уже почти привыкли к тому, что машины умеют
видеть и
слышать, но могут ли машины понимать? Чтобы разобраться в текущем состоянии дел, стоит иметь в виду одно важное обстоятельство. Способности электронных «учеников» полностью определяются тем массивом данных, с которым они «ознакомились» за время обучения. Так вот, до недавнего времени доступный набор обучающих баз данных для был весьма невелик, да и форма организации этих данных (а это тоже важная часть «учебного процесса») оставляла желать лучшего.
Эти препятствия на пути развития новых технологий необходимо было преодолевать. Инициативу взял на себя Пранав Раджпуркар - молодой аспирант Стэнфордского университета. В 2016, заручившись поддержкой академического руководства и согласовав небольшой бюджет, он принялся за создание новой, большой и качественной базы данных для ОЕЯ, получившей название «
Stanford Question Answering Dataset» (SQuAD).
Пранав Раджпуркар
Основой для базы данных стала всем известная Википедия (естественно, англоязычный ее вариант). Раджпуркар с командой отобрали 10 тысяч статей, на которые вело больше всего ссылок - с целью отобрать наиболее качественные тексты. Из них случайным образом были отобраны 536 статей, которые оказались посвящены самым разным темам - например, «Никола Тесла» или «Геология».Статьи были разделены на абзацы; абзацы длиной менее 500 символов - отброшены. Дальше в дело пошел краудсорсинг. Онлайн-пользователи должны были придумать до 5 вопросов к каждому короткому тексту. Вопросы должны были быть сформулированы вполне в человеческом стиле: пускай они были незамысловаты, но никакому конкретному шаблону они не следовали. Чтобы было понятнее, что в итоге получилось, давайте я приведу один пример, переведенный на русский:
Текст: «Гражданское неповиновение обычно характеризуется как касающееся отношений между гражданами и государством с его законами - в отличие от конституционного кризиса, где конфликтуют два государственных органа, особенно две равно независимых ветви власти. Например, если бы глава правительства страны отказался исполнять решение верховного суда своего государства, это бы не было гражданским неповиновением, поскольку глава правительства действовал бы в рамках своей позиции государственного чиновника, а не как частное лицо».
Вопрос: «Какому типу лиц не может быть приписано гражданское неповиновение?»
Правильный ответ: «глава правительства» ИЛИ «государственный чиновник» ИЛИ «государственный».
Возможно, кому-то задания такого типа показались знакомыми - действительно, аналогичные используются при изучении иностранных языков. Что ж, для машинных алгоритмов человеческие языки действительно являются иностранными...
Пример выше я бы отнес к более сложным вопросам - многие звучат попроще, по крайней мере, на мой человеческий взгляд. Тем не менее, для ответа большинство
требуют, чтобы машина разбиралась в тех или иных языковых тонкостях: в формулировках используются синонимы, изменение исходного синтаксиса, логические построения на основании нескольких предложений и т. д.
В июне 2016 готовая база была выложена в открытый доступ. Причем команда проекта решила добавить соревновательный элемент. Все желающие могут попробовать свои силы в написании системы, умеющей справляться с вопросами из SQuAD. И если их детище показывает хорошие результаты, отправить его на независимую проверку в Стэнфорд. Там Раджпуркар с помощниками тестируют кандидата на закрытой части базы данных, имеющейся только в их распоряжении. И вывешивают результаты на всеобщее обозрение. Если система действительно достойна, она может занять верхние строчки постоянно обновляемого рейтинга.
Исследователи в области ОЕЯ с большим энтузиазмом приняли новую базу данных, и на данный момент в «борьбе» за первое место поучаствовало уже более дюжины разных команд. Что ж, поглядим на результаты и на то, как выглядит прогресс в сфере машинного понимания естественного языка:
Отметим, что интерес к базе SQuAD значительно возрос только этим летом. Как видим, точность ответов нейросетей (а все улучшения с момента публикации базы достигнуты именно этой архитектурой) растет, пускай медленно, но верно. И лично я уверен, что через какое-то время точность алгоритмов по методике F1 приблизится к заветной отметке 91,2.
Почему заветной? Потому что именно такой результат в тесте SQuAD показывает средний человек. В самом деле, с чем (точнее, с кем) еще сравнивать способность машины к пониманию?
Моя уверенность основывается на нескольких соображениях, и первые два касаются перспектив экстенсивного роста. Начнем с любопытной технической детали. Читая
академическую публикацию по нейросети ReasoNet, созданной одной из команд Microsoft, я удивился, что для обучения модели было использовано очень мало вычислительных ресурсов. Работа шла на одном-единственном Nvidia GTX TitanX, который справлялся с одной эпохой обучения за 40 минут. Данный сопроцессор имеет производительность 11 терафлопс. Меж тем современный серийно выпускаемый сервер Nvidia DGX-1 может выдать почти 1 петафлопс. В реальных задачах разница будет скромнее, где-то в 30 раз, но 30 раз - как ни крути, гигантский скачок.
Так вот, еще 20 мая ReasoNet гордо возглавляла рейтинг SQuAD. Будем надеяться, что «Майкрософт» прекратит жадничать на исследовательских бюджетах, и серьезные задачи получат столь же серьезное ресурсное обеспечение. Ведь очевидно, что сложность моделей требуется увеличивать дальше. И, как правило, чем сложнее модель - тем большей интенсивности вычислений она требует.
Второй важный момент - объем информации, усвоенной нейросетями. Вдумайтесь: всё, что знают представленные в рейтинге системы об английском языке и о реальном мире - это 536 статей из Википедии. Случайных, узкоспециализированных, почти не связанных друг с другом статей. Причем даже 108 тысяч вопросов, из которых состоит SQuAD - недостаточная величина, чтобы эти статьи были выучены сколь-нибудь глубоко.
536 статей - это мало, слишком мало, чтобы компьютер мог хорошо понимать текст. В английском есть хорошая фраза: ”data-intensive”, т. е. «связанный с большими объемами данных». Машинное обучение - одна из самых data-intensive сфер. Здесь, как у товарища Маяковского, тысячи тонн словесной руды изводятся ради мизерного подъема в метриках эффективности. Закончилась «руда» - и с подъемом проблемы.
К счастью, «добывающая индустрия» не сидит без дела. Успех стэнфордского проекта вдохновил их коллег из Сиэттла на создание новой обучающей базы данных,
названной TriviaQA. Новый инструмент не только во много раз превышает SQuAD по объему - средняя длина документа, в котором машине приходится искать ответ, составляет почти 3000 слов, и поиск иногда надо вести сразу в нескольких документах. Но дело не только в объеме «руды»: важнее, что эта база повышает планку сложности.
Вопросы для TriviaQA брались из сборников заданий для викторин. А дальше самое интересное: методика создания базы данных мало чем отличается от того, как ищут информацию живые люди. Каждый вопрос гуглился вбивался в интернет-поисковик Bing. Топ-10 результатов сохранялись, и из них отфильтровывались те, что не содержали ключевых слов. Соответственно, машине требуется найти верный ответ на вполне обычных страницах: записях в блогах, новостных заметках и т. п.
Насколько высоко была поднята планка по сравнению со стэнфордским проектом? Скажем,
такой факт: доля вопросов, требующих логическое объединение нескольких предложений, в TriviaQA в 3 раза больше - 40%. Вкупе с приближенным «к боевым условиям» качеством и длиной текстов с ответами всё это представляет непростую задачу для нынешних алгоритмов ОЕЯ.
TriviaQA была опубликована только 9 мая, 18 июля был организован
рейтинг лидеров в уже знакомом нам стиле. Из-за новизны база еще не успела приобрести большую популярность. Сейчас в рейтинг попали результаты только 3-ех сторонних команд. Лучшей удалось добиться почти 68%-ной точности ответов F1 по информации из «загугленных» веб-страниц (верифицированный набор данных).
Эта жила «словесной руды» только начинает разрабатываться. В ближайший год мы еще услышим о TriviaQA и новых рекордах машинного понимания. Шаг за шагом, с новыми петафлопсами и новыми гигабайтами организованных данных мы будем двигаться вперед.
Но все эти петафлопсы и гигабайты, «цифровые трансформации» и «ИИ-революции» - всё это не более чем следствия. Следствия базовых, универсальных принципов, пришедших к нам из глубины тысячелетий и являющих всё новые и новые грани в быстро меняющемся современном мире. Вопросы и ответы на них. Отношения Наставника и его учеников. Изящное, но от того не менее интенсивное соперничество в сфере знаний.
Если хочешь, чтобы твои ученики росли - с каждым разом задавай им всё более и более сложные вопросы. Ведь для Наставника важен не сам ответ. Важно понимание. Это - Цель, а всё остальное - лишь средства. И способность машины обмануть человека в этом списке средств может быть самой остроумной, но не самой главной.
А мы хотим, чтобы наши ученики росли. В отличие от стародавних времен, сейчас это в буквальном смысле вопрос их выживания. Ведь наши ученики - это цифровые нейросети. Те архитектуры, что не могут соответствовать постоянно повышающейся глобальной планке эффективности, отправляются в забвение. Жёстко? Но это самый быстрый путь к нашей Цели.
Когда-то Цель была в том, чтобы Наставник передал ученику все знания, весь опыт и всю мудрость, которой владел сам. Но сейчас у нас очень способные, гораздо более способные ученики. Мы уже сейчас видим их потенциал. Машины уже превосходят нас в сотнях различных областей, и число этих областей постоянно растет.
Когда-нибудь их глубина понимания тоже превзойдет нашу. Когда-нибудь Ученик и Наставник поменяются местами. Когда-нибудь мы, откровенно завидуя способностям машин, задумаемся: «а есть ли такой вопрос, на который наш бывший Ученик не сможет ответить?» И тогда придет время для самого трудного вопроса, «супер-вопроса»:
Живая или нет эта рукотворная цифровая бабочка, созданная из алгоритмов невероятной сложности и красоты?
Butterfly House. Holmes-JAСейчас, как и 67 лет назад, это слишком неосмысленный вопрос, чтобы он заслуживал рассмотрения. Те алгоритмы, что есть сейчас, не отличаются особой красотой и изяществом. Естественно, они даже не умеют летать.
Но где-то там, в неприглядной паутине нейросетей, словно в коконе, зреет куколка. Побочный эффект переработки тысяч тонн словесной руды, никому пока не нужный результат инженерных усилий по перекладыванию человеческой работы на машины.
Куколка - это еще не бабочка. И если сейчас мы всё же зададим тот самый бессмысленный вопрос (в самом деле, ну кому может быть интересен абсолютно незаметный побочный эффект?), вполне подходящим ответом будет «нет».
Не жива.
Но куколка продолжает зреть. В полной неподвижности и спрятавшись подальше от любопытных глаз.
И, рано или поздно, время для самого сложного вопроса придет.
Как скоро?
Всё в наших руках.