Джанель Шейн – Кокетливый интеллект. Как научить искусственный интеллект флиртовать? (страница 4)
Алик
Какой Алик?
Алик из тук-тук шутки
Значит ли это, что ИИ внезапно начал понимать суть такого рода шуток и каламбуров на человеческом языке? Почти наверняка нет, учитывая очень скромный размер набора данных. Но свобода, которой ИИ пользовался, – свобода пастись в пространстве всех возможных символов, – позволила ему пробовать новые комбинации звуков, и оказалось, что одна из них попала в точку. Так что это скорее победа теоремы о бесконечных обезьянах[7], чем доказательство того, что ИИ скоро отнимет хлеб у стендап-комиков.
Красота решения, при котором мы позволяем ИИ создавать собственные правила, заключается в том, что этот единый подход – «вот тебе данные; придумай, как их воспроизвести» – работает на большом количестве задач. Если бы я предложила алгоритму-«шутнику» другой набор данных вместо шуток типа «Тук-тук, кто там?», он приучился бы использовать именно его.
Он может придумывать названия новых видов птиц:
Юкатанская джунглевая утка
Лодкоклювая нектарница
Западный вилоклювый цветосос
Черноголовая пушистохвостка
Исландский болотный печник
Снежный стенающий цаплевый дрозд
Или новые марки парфюма:
Изысканная десятка
О-де-бофф
Лягушистый цветок
Мамкин
Санта для дам
Или даже рецепты новых блюд.
Простые глазированные моллюски
1 фунт курятины
1 фунт свинины, нарезанная кубиками
½ зубца чеснока, раздавить
1 чашка сельдерея, нарезанная ломтиками
1 голова (около ½ чашки)
6 столовых ложек электрического миксера
1 чайная ложка черного перца
1 луковица, кусочками
3 чашки говяжьего бульона свонда для фрукта
1 измельченная пятьдесят на пятьдесят; воды нужного количества
В сковороду объемом 3 кварты поместить лимонный сок в виде пюре и дольки лимона.
Добавить овощи, добавить курицу в соус, хорошо перемешивая лук и добавляя. Добавить лавровый лист, красный перец, медленно накрыть крышкой и кипятить под крышкой на малом огне 3 часа. Добавить картофель и морковь в кипящий бульон. Подогревать, пока соус не закипит. Подавать с пирожками.
Если вшивые кусочки приготовили десерты, и готовить над воком.
Замораживать до получаса, украсив.
На 6 персон.
Получив в распоряжение набор шуток «Тук-тук, кто там?» и никаких инструкций вообще, ИИ сумел открыть массу правил, которые в противном случае мне пришлось бы вводить в программу вручную. Некоторые из них я бы ни за что не додумалась программировать, а о существовании других даже не подозревала, например, правила «о превосходстве шутки про корову без губ».
Именно этот фактор и делает системы, основанные на искусственном интеллекте, привлекательными для решения задач, особенно в тех случаях, когда правила действительно сложны или покрыты мраком. Например, ИИ часто используют для распознавания визуальных образов – это удивительно сложная область, где пасуют обыкновенные компьютерные программы. Хотя большинство из нас легко узнают на картинке кошку, сформулировать правила, определяющие, как же выглядит кошка, по-настоящему трудно. Стоит ли нам сообщить программе, что у кошки два глаза, один нос, два уха и хвост? Но эти признаки точно так же указывают и на мышь, и на жирафа. А что, если кошка на картинке свернулась в клубок или ее голова повернута вбок? Записать правила для обнаружения на фотографии даже одного-единственного глаза и то очень непросто. Но ИИ может просмотреть десятки тысяч изображений кошек и составить правила, по которым будет верно опознавать кошку в большинстве случаев.
Иногда ИИ – лишь небольшая часть программы, в остальном представляющей собой основанный на правилах сценарий. Возьмем в качестве примера программу, которая позволяет клиентам банка по телефону получать информацию о состоянии счета. ИИ для распознавания голоса переводит произнесенные человеком звуки в действие – выбор вариантов из голосового меню, но за список пунктов, доступных каждому клиенту, и за определение того, какой счет ему принадлежит, отвечают правила, заданные программистом.
Другой вариант – это когда программа первым пускает в бой ИИ, но когда у того возникают трудности, контроль над ситуацией переходит к людям; такой подход называется псевдо-ИИ. Так работают чаты пользовательской поддержки. Если ваши фразы сбивают бота с толку или если бот понимает, что вы начинаете злиться, вас переводят в диалог с человеком. (И этому человеку теперь придется иметь дело с ничего не понимающим и/или разозленным клиентом – возможно, лучше бы открыть опцию «говорить с живым человеком» не только для клиента, но и для работника.) Современные беспилотные автомобили устроены похожим образом – человеку-водителю всегда надо быть готовым принять управление, если ИИ перенервничает.
Кроме того, искусственный интеллект замечательно проявляет себя в стратегических играх наподобие шахмат – в них мы в точности знаем, как описать все возможные ходы, ноне способны вывести формулу, которая подскажет, какой следующий ход будет наилучшим. В шахматах из-за количества вариантов ходов и сложности игрового процесса даже гроссмейстер не в состоянии сформулировать жесткие правила для предсказания того, какой ход окажется лучшим в той или иной ситуации. А самообучающийся алгоритм может сам с собой сыграть миллионы тренировочных партий – больше, чем сыграет за всю жизнь самый умный и упорный гроссмейстер, – чтобы выработать правила, которые будут приводить его к победе. И поскольку ИИ обучается без явных инструкций, иногда он находит очень необычные и оригинальные стратегии. Иной раз
Если вы не скажете ИИ, какие ходы допустимы, он может отыскать странные лазейки и злоупотребить ими, лишив игру смысла. Например, в 1997 году группа программистов создавала алгоритмы, которые удаленно играли в крестики-нолики друг против друга на бесконечно большом поле. Один из программистов, вместо того чтобы разработать основанную на правилах стратегию, позволил ИИ самостоятельно формировать подход к игре. Внезапно этот ИИ стал побеждать во всех матчах. Его стратегия заключалась в том, чтобы делать ход где-то очень-очень далеко.
Размер нового игрового поля оказывался настолько большим, что компьютер оппонента, пытаясь его у себя воспроизвести, исчерпывал ресурсы оперативной памяти и падал с ошибкой, так что ему засчитывалось техническое поражение[8]. У большинства программистов, работающих с ИИ, есть в запасе похожие истории – о том, как алгоритмы удивляли их тем, что находили неожиданные решения. Иногда такие решения гениальны, а иногда создают проблемы.
Самое основное, в чем нуждается ИИ, это конкретная цель и набор данных для обучения. Получив их, он начинает гонку, и неважно, какова цель: принять решение о выдаче кредита, как это делает специалист-человек, предсказать, приобретут ли покупатели определенный носок, добиться максимального счета в видеоигре или же заставить робота преодолеть наибольшее расстояние. В каждом случае ИИ методом проб и ошибок изобретает правила, которые позволят ему добиться цели.
Бывает, что правила, прекрасно помогающие ИИ находить решение, оказываются основаны на неверных предположениях. Например, некоторые из самых причудливых экспериментов я проделывала с продуктом компании Microsoft для распознавания образов, который подбирал теги и описание для загружаемого изображения. Как правило, этот алгоритм правильно распознает предметы: узнает облака, поезда метро или даже ребенка, выполняющего ловкие трюки на скейтборде. Но однажды мое внимание привлекло нечто странное в результатах его работы: ИИ ставил тег «овцы» картинкам, где определенно не было никаких овец. Я изучила проблему и выяснила, что алгоритм видел овец на сочно-зеленых полях вне зависимости от того, были они там на самом деле или нет. Почему же столь специфическая ошибка всплывала вновь и вновь? Возможно, во время обучения этому ИИ в основном показывали овец, находящихся на таких вот полях, и он не понял, что заголовок «овцы» относится к животным, а не к полям. Другими словами, искусственный интеллект смотрел не туда. И, конечно же, когда я показывала ему овец, которые
Я не знаю точно, но догадываюсь, что ИИ руководствовался правилами вроде «зеленая трава = овцы» и «нечто шерстяное в машине или на кухне = кошки». Они отлично ему служили во время обучения, но подвели, когда ИИ столкнулся с реальным миром и головокружительным разнообразием связанных с овцами ситуаций.
Подобные ошибки обучения характерны для распознающих образы ИИ. Но последствия этих ошибок могут оказаться серьезными. Одна команда в Стэнфордском университете как-то тренировала искусственный интеллект определять разницу между изображениями здоровой кожи и кожи, пораженной раком. Однако после завершения тренировки ученые обнаружили, что нечаянно создали ИИ, определяющий наличие на фотографии линеек, потому что многие раковые опухоли, изображения которых оказались в их наборе, были сфотографированы с приложенной для масштаба линейкой[9].