В начале 2016 года основатель Facebook Марк Цукерберг заявил свою цель на год — создать простой искусственный интеллект (ИИ), который управлял бы его домом и помогал в работе. В итоге ему это отчасти удалось. В своей колонке Цукерберг подробно описывает процесс создания системы и сложности, с которыми он столкнулся.
Цукерберг вдохновился роботом- помощником Джарвисом из «Железного человека». Свою программу создать Facebook назвал также. По его словам, Джарвис теперь может управлять в доме светом, температурой, приборами, музыкой и системой безопасности. Помимо этого он научился распознавать голоса и лица.
Цукерберг признается, что создать ИИ оказалось проще, чем он ожидал. По его словам, понадобилось просто объединить уже существующие системы в одном доме. Такие сервисы, как Samsung TV, музыкальный стриминговый сервис Spotify или приложения Facebook легко подключались к сети, но со многими приборами возникли проблемы. Например, найти современный тостер, в который можно было бы опустить хлеб заранее, а затем включить его удаленно, Цукербергу не удалось. В итоге он использовал модель 1950-х годов, подключив к нему «умный» выключатель.
«Я также выяснил, что для подключения измельчителя пищевых отходов и пушки для серых футболок потребовались бы изменения программного обеспечения», — признается Цукерберг.
После написания кода, с помощью которого компьютер управляет домом, Цукерберг стал разрабатывать голосовое управление. Сначала система реагировала на текстовые сообщения, а затем Джарвиса «научили» понимать речь. Для этого Цукерберг написал отдельное приложение, которое слушает речь все время, и реагирует, когда человек обращается именно к нему.
Способности понимать только ключевые слова, например, «спальня», «свет» или «включить», оказалось недостаточно. Джарвис должен был выучить синонимы, более сложные конструкции, а самое главное — научиться понимать контекст.
«Например, если включить свет в кабинете прошу я, это абсолютно другая команда, чем если бы ее произнесла Присцилла. Или когда я прошу систему включить музыку, система должна сама определить, где я нахожусь».
Интересней и сложней всего, по словам Цукерберга, стало обучение Джарвиса «музыкальным» командам. Обучение в этой ситуации происходит через реакцию на выбор компьютера.
«В основном я прошу Джарвиса “сыграть что-нибудь”, если он не попадает в настроение, я отвечаю, что эта песня недостаточно легкая, компьютер переключает ее и одновременно учится лучше меня понимать». Подобные открытые запросы люди используют гораздо чаще конкретных формулировок и разработчики должны двигаться в этом направлении, заметил Цукерберг.
Он также создал систему распознавания лиц. Для этого Цукерберг установил на входной двери несколько камер, соединив их с системой распознавания лиц, которую использует Facebook. Как только в объектив попадает человек, сервер распознает его лицо, после чего находит его в базе контактов и сообщает хозяину дома, кто пришел.
Эта же система помогает определить, чем занимается ребенок, кто в какой комнате находится. «Чем шире у система контекст, тем более продвинутой она становится», — объясняет Цукерберг.
Чтобы управлять Джарвисом из любой точки мира, Цукерберг решил использовать бота для Facebook Messenger. Через Facebook Джарвису можно отправить текстовую команду и получить от него ответ о том, кто пришел домой, какое-нибудь напоминание или изображения с видеокамер.
Всего на создание Джарвиса у Цукерберга ушло 100 часов, во многом благодаря тому, что он пользовался внутренними готовыми библиотеками кодов и инструментами Facebook. «Теперь у меня есть довольно неплохая система, которая понимает меня и может многое сделать, но построить систему, которая самостоятельно приобретала новые навыки, у меня вряд ли получится», — признается Цукерберг.