Оценить:
 Рейтинг: 0

Кокетливый интеллект. Как научить искусственный интеллект флиртовать?

Год написания книги
2019
Теги
<< 1 2 3 4 5 6 >>
На страницу:
2 из 6
Настройки чтения
Размер шрифта
Высота строк
Поля
Все, что я здесь называю искусственным интеллектом, также можно назвать алгоритмами машинного обучения, давайте поговорим о том, что это такое.

ТУК-ТУК, КТО ТАМ?

Чтобы найти ИИ в дикой природе, важно понять, в чем же разница между алгоритмами машинного обучения (именно это понимается здесь под ИИ) и традиционными программами (программисты их называют основанными на правилах). Если вы когда-нибудь программировали хотя бы на базовом уровне или обращались к HTML, чтобы создать дизайн сайта, значит, вы использовали основанную на правилах программу. Вы задаете список команд или правил на понятном компьютеру языке, и компьютер делает в точности то, что вы говорите ему делать. Чтобы решить задачу с помощью такой программы, вам потребуется понять, какие шаги должна выполнить программа, чтобы достичь цели, и как именно их описать.

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

Программирование на основе правил

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

Тук-тук.

Кто там?

[Имя]

Как[ой/ая/ое] [имя]?

[Имя] [Ключевая фраза]

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

Я могу подобрать список имен и подходящих ключевых фраз, например:

Теперь компьютер может выдавать шутки «Тук-тук, кто там?», выбирая пару [Имя] и [Ключевая фраза] из списка и вставляя элементы в шаблон. Таким образом нельзя получить новые шутки – лишь те, что я и так знаю. Я могу попытаться сделать программу поинтереснее, разрешив заменять, скажем, [вас жаловаться буду!] на другие подходящие фразы: [родный артист больших и малых театров!] или [лошади верхом приехал!]. После этого программа может выдать новую шутку:

Тук-тук.

Кто там?

Я на.

Какая Яна?

Я на лошади верхом приехал!

Есть также вариант разрешить заменять слова [лошади] на [бешеном волке], или [кенгуру], или что угодно еще. Тогда мой компьютер сумеет вывести еще больше шуток. Создав достаточно правил, по идее, я получу сотни разных фраз.

В зависимости от целевого уровня сложности я могу потратить много времени на формулировку дополнительных правил. Я могу отыскать список готовых шуток и придумать, как преобразовывать их в нужный мне формат с ключевыми фразами. Я даже могу попытаться включить в программу правила произношения, рифмовки, использования частичных омофонов и отсылок к культурному контексту, чтобы добиться от компьютера максимально интересного результата от их комбинирования. При достаточном уровне мастерства я бы даже сумела составить программу для генерации новых шуток, которых раньше никто не слышал. (Хотя один человек попробовал сделать это – в результате его алгоритм выдавал настолько архаичные и невразумительные слова и фразы, что почти никто не мог понять получившиеся шутки.) Неважно, насколько сложным окажется мой набор правил, я все равно говорю компьютеру, как в точности решать поставленную задачу.

Обучение ИИ

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

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

Вручив ему все это, я иду выпить кофе.

ИИ принимается за работу.

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

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

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

После еще нескольких раундов, состоящих из догадок и самопроверок, искусственный интеллект усваивает несколько новых правил. Например, он догадывается, что в конце некоторых строк следует ставить вопросительный знак. Также он начинает применять гласные (в особенности букву «у») и даже пытается расставлять запятые.

нуу,

лтунуу

Кут?

внос у кг

птб оа то,

ткоуЕтнл

игр ноос

док кКе

в це

е

Как думаете, насколько те правила, что он вывел для шуток «Тук-тук, кто там?», соответствуют реальности? Кажется, он по-прежнему что-то упускает.

Если ИИ хочет приблизиться к цели и произвести на свет приемлемую шутку, ему еще нужно определиться с правилами по поводу того, в каком порядке в ней могут следовать буквы. И вновь он начинает строить догадки. Что, если после буквы «у» всегда идет буква «г»? На поверку оказывается, что догадка не очень правильная. Потом он понимает, что довольно часто после «у» встречается «к», а перед «о» – сочетание «кт». Блеск. Наконец какой-то успех. Теперь посмотрим, как выглядит, по мнению искусственного интеллекта, идеальная шутка:

Ктоук

Ктоук

Ктоук

Ктоук

Ктоук Ктоук Ктоук

Ктоук Ктоук

Ктоук

Ктоук

<< 1 2 3 4 5 6 >>
На страницу:
2 из 6