Марк Цукерберг рассказал о создании личного домашнего помощника — «Джарвиса»
Основатель и генеральный директор социальной сети Facebook Марк Цукерберг опубликовал на своей странице заметку, в которой рассказал о разработке собственного домашнего помощника по примеру Джарвиса из «Железного человека». Редакция vc.ru выбрала наиболее интересные моменты.
В начале 2016 года Марк Цукерберг рассказал о своей цели на год: создать домашнюю систему искусственного интеллекта «наподобие Джарвиса из «Железного человека», которая помогала бы ему решать личные и рабочие задачи. 19 декабря 2016 года Цукерберг опубликовал на своей странице в Facebook заметку, в которой поделился своими успехами.
«С одной стороны, достигнуть этой цели оказалось проще, чем той, что я поставил в прошлом году. В общей сложности на бег тогда я потратил больше времени. Но в чём-то создание такой системы оказалось гораздо сложнее, чем я ожидал», — признаётся Цукерберг.
Разработанный предпринимателем помощник управляет светом, температурой, дверьми, камерами и «умными» устройствами в доме. «Джарвисом» можно управлять, используя три различных интерфейса: голосовое приложение для iPhone, бота для Facebook Messenger или камеры наблюдения. В систему встроены алгоритмы распознавания и анализа речи и технология распознавания лиц.
Первым и одним из самых трудоёмких шагов, по словам Марка Цукерберга, стало объединение всех «умных» устройств в доме в единую систему, которой можно было бы управлять с помощью одного интерфейса. Предприниматель говорит, что ему даже пришлось применять методы обратной разработки (реверс-инжиниринга), чтобы построить простейшую систему управления всеми устройствами с помощью ПК.
«Все устройства в моём доме используют разные интерфейсы и протоколы передачи данных. Хуже того, некоторые из них вообще не подключаются к интернету. Некоторым из устройств можно передать простую команду — например, включить или отключить питание. Но этого недостаточно», — говорит создатель Facebook.
Например, я выяснил, что практически ни один современный тостер не позволяет опустить хлеб внутрь заранее, пока питание не включено, чтобы как только питание появится, он сразу начал работать. Пришлось использовать тостер 1995 года выпуска в паре с «умным» выключателем.
По словам Цукерберга, такие же неудачи постигли его и при работе с «пушкой» для футболок и с дозатором собачьего корма. «Чтобы каждый мог создать помощника вроде Джарвиса, индустрии надо озаботиться созданием единых API и стандартов работы для всех «умных» устройств».
Распознавание речи
Затем предприниматель добавил в систему управление при помощи текстовых сообщений на естественном языке, а позже — голосовое управление. Сначала система просто искала в полученном тексте ключевые слова — например, «спальня», «свет» и «включить». Затем Цукерберг обучил её распознавать синонимы.
«Понимание контекста — очень важная особенность для искусственного интеллекта. Например, когда я прошу включить свет в моём кабинете, это значит совсем не то же самое, что и та же фраза из уст Присциллы. Или когда я прошу систему включить музыку, не называя комнату, — ей нужно самостоятельно определить, где я нахожусь, и включить музыку в этой комнате».
Одной из самых интересных областей для исследования, по словам Цукерберга, стала музыка. «Существует столько альбомов, исполнителей и различных композиций. Свет можно только сделать ярче или приглушить, но сколько разных музыкальных запросов начинаются на play: например, «play someone like you», «play someone like adele», and «play some adele», — это только запросы, так или иначе относящиеся к творчеству Адель, и у каждого из них совершенно разный смысл, хотя внешне они очень похожи».
Предприниматель замечает, что чем более точным контекстом располагает система, тем лучше она понимает, что от неё требуется. «Обычно я прошу Джарвиса «включить музыку», он изучает, что я слушал в последнее время и предлагает плейлист. Если он не угадал с настроением, я говорю: «Нет, это не легкая композиция. Включи что-нибудь лёгкое», — и тогда он переключает песню и одновременно обучается. Кроме того, он различает, кто с ним говорит — я или Присцилла».
Мы используем такие «открытые» запросы гораздо чаще, чем жёстко определённые. Мне кажется, это то, чего не хватает современным домашним помощникам — способности работать с такими запросами. И здесь кроются огромные возможности.
Распознавание лиц и изображений
Цукерберг также внедрил в систему алгоритмы распознавания изображений и видео. «Есть множество проблем, с которыми приходится сталкиваться домашнему помощнику, — например, распознавание движений на видео. Спит ли Макс в своей кроватке или уже проснулась? Кто лежит на полу в комнате — наша собака или ковёр? Кто стоит за дверью?»
Задача распознавания лиц, говорит Цукерберг, сложнее, чем задача распознавания предметов — потому что в основном у людей преобладают схожие черты лица. Но команда Facebook достигла значительных успехов в решении этой проблемы — алгоритмы социальной сети умеют определять друзей пользователя и его самого на фотографиях. Эти алгоритмы и использовал предприниматель.
Марк Цукерберг установил у входной двери своего дома несколько камер под разными углами — чтобы удостовериться, что как бы ни стоял гость, система сможет увидеть его лицо полностью.
Я создал простой сервер, который постоянно проверяет изображения на камерах. Он запускает алгоритмы поиска лиц, чтобы понять, не стоит ли кто-то у двери. Если система обнаруживает гостя, она запускает алгоритм распознавания лиц, чтобы понять, кто именно пришёл.
Поняв, что за человек стоит перед дверью, «Джарвис» проверяет, есть ли такой человек в списке гостей, которых ждут хозяева дома. Если есть, система открывает дверь и пускает гостя внутрь, а также извещает хозяев о том, кто пришёл.
Алгоритмы распознавания лиц не только помогают системе идентифицировать гостей и управлять дверьми, но и, например, определять, в какой комнате находятся Марк, Макс и Присцилла, чтобы корректно реагировать на запросы — или, например, включать для годовалой Макс уроки мандаринского, когда она просыпается, пишет Fast Company. «Как я уже говорил, чем больше контекста есть у системы, тем умнее она становится».
Бот для Facebook Messenger
Поначалу Цукерберг управлял системой со своего компьютера. «Но чтобы помощник был действительно полезным, у владельца должен быть доступ к системе, вне зависимости от того, где он находится — даже если он на работе или на прогулке. Я решил создать бота для мессенджера — потому что это гораздо проще, чем разрабатывать отдельное приложение».
С помощью бота Цукерберг может посылать серверу «Джарвиса» как текстовые, так и голосовые запросы. Аудиозаписи обрабатываются прямо на сервере и преобразуются в текст, с которым система может работать в дальнейшем. Помощник также присылает предпринимателю сообщения или изображения с камер, если кто-то пришёл к нему домой, и напоминает о делах.
Распознавание голоса и речи
Для того, чтобы давать команды помощнику с помощью голоса, Цукерберг создал отдельное приложение, которое постоянно слушает, что происходит вокруг, и определяет, когда предприниматель обращается к «Джарвису». Предприниматель разработал приложение для iOS, и вскоре планирует реализовать и программу для Android.
Я не занимался разработкой iOS-приложений с 2012 года, и могу заметить, что инструментарий, который в Facebook представили с тех пор для создания приложений и распознавания голоса, впечатляет.
По словам Цукерберга, он обнаружил, что голосовые системы всё ещё не очень хорошо понимают разговорную речь и эффективнее работают с четко структурированными запросами. При этом часто системы анализа речи и машинного обучения в целом ориентированы на какую-то одну область и не могут одинаково точно распознавать запросы из разных сфер.
Голосовые системы кажутся человеку более близкими, чем компьютеры, говорит Цукерберг: «Как только я встроил в Джарвиса голосовые алгоритмы, мне захотелось добавить в них немного юмора. Частично из-за того, что помощнику нужно общаться с Макс и развлекать её, а частично из-за того, что мне самому так было бы комфортнее».
Использование внутренних инструментов Facebook
Как замечает Цукерберг, ему не пришлось писать много кода — как генеральный директор Facebook, он смог воспользоваться внутренними библиотеками и инструментами компании. «Я не прекращаю программировать, но всё чаще создаю какие-то личные проекты — вроде Джарвиса. И создание домашнего помощника не только помогло мне понять, в каком состоянии сейчас находится искусственный интеллект, но и позволило почувствовать, каково быть инженером в Facebook. И это впечатляюще».
Весь код прекрасно организован, а найти то, что тебе нужно, очень легко, — к какой бы области это ни относилось. Одна из наших ценностей — скорость. Это значит, что любой разработчик, придя в компанию, может создать что-то быстрее, чем где бы то ни было. И быстрее, чем он бы сделал это самостоятельно.
Что дальше
Цукерберг замечает, что продолжит развивать систему — у него есть ещё много идей, что в неё можно было бы добавить. В ближайших планах — создание Android-приложения и подключение новых устройств в доме. Затем предприниматель планирует поработать над алгоритмами обучения, а долгосрочной перспективе — понять, как систему можно было бы применять и в других домах.
Всего на создание помощника у Цукерберга ушло около 100 часов. По его словам, он всё ещё далёк от понимания того, как должно работать машинное обучение, но даже если бы он провёл за работой на 1000 часов больше, то не приблизился бы к разгадке.
По словам корреспондента Fast Company, которому удалось побывать у Цукерберга дома и взглянуть на работу системы, помощник всё ещё часто делает ошибки. Например, предпринимателю пришлось четырежды просить «Джарвиса» выключить свет в комнате, пока система не поняла команду.
Предприниматель планирует рассказать о своей цели на 2017 год до конца 2016 года или в первые несколько недель 2017 года.
© vc.ru