«У бизнеса другая задача, им деньги зарабатывать надо»: об искусственном интеллекте
С какими проблемами сталкиваются исследователи искусственного интеллекта, как учатся нейросети и чем сильны российские разработчики, рассказал в интервью Indicator.Ru менеджер по развитию корпоративного бизнеса NVIDIA Антон Джораев.
— На одной из недавних конференций по искусственному интеллекту (ИИ), проходившей в Москве, много говорилось об исследованиях искусственного интеллекта в России и было заметно, что исследователи ИИ от бизнеса и инновационного сектора и исследователи ИИ от академической среды, например институтов РАН, часто друг друга не понимают и даже занимаются разными искусственными интеллектами. Почему так происходит?
— Действительно, люди из академической среды говорят об искусственном интеллекте по-другому, нежели специалисты в области прикладных исследований. Есть два понятия, первое — это общий искусственный интеллект (general purpose artificial intelligence). Как раз о нем рассказывают в фантастических фильмах и книгах. Второе — специализированный искусственный интеллект, нечто, имеющее более прикладной смысл и решающее конкретные задачи. Общий искусственный интеллект — более фундаментальная вещь, и им вот уже многие годы занимаются в академии. Бизнес и стартапы занимаются специализированным искусственным интеллектом, потому что у бизнеса другая задача, им деньги зарабатывать надо. Можно пытаться создать искусственный интеллект, который пройдет тест Тьюринга и будет неотличим от человека, а можно создать чат-бот, который не смог бы пройти тест, но который будет очень здорово и качественно обслуживать клиентов, звонящих в колл-центр банка, тем самым повышая их лояльность и снижая операционные расходы банку. Именно на решение подобных задач и заточены прикладные специалисты в области глубокого обучения (deep learning).
— Могли бы вы рассказать, как в России обстоят дела с исследованиями ИИ? Есть ли какие-то специфические национальные особенности?
— То, что делается в России, принципиально не отличается от того, что делается на Западе. Потому что задачи у бизнеса примерно совпадают. Очень многие стартапы в области искусственного интеллекта имеют русские корни, даже если они зарегистрированы в США. Возможно, это связано с тем, что у нас хорошая подготовка для математиков и разработчиков ПО. В индустрии софтверных решений очень много выпускников российских вузов. На самом деле, большинство успешных стартапов — это международные команды, поэтому не стоит искать национальные особенности. Синергетический эффект возникает, когда объединяются ресурсы разных людей. В качестве примера приведу специалистов по глубокому обучению. Их во всем мире не так уж много, и они, как правило, включены сразу в несколько проектов. Человек может писать научную работу по искусственному интеллекту в университете, быть сотрудником компании, специализирующейся на нейросетях, и участвовать в одном-двух стартапах.
— Многие эксперты отмечают, что сегодня основной проблемой в работе с искусственным интеллектом является то, что ИИ не может решать сложные задачи, например, узнать по паспорту фамилию стоящего перед нами человека. С какими еще задачами, которые кажутся простыми для человека, сегодня не может справиться искусственный интеллект?
— Цель создания специализированного искусственного интеллекта состоит как раз в том, чтобы решать сложные или простые, но объемные с точки зрения времени задачи. В этом ключе относительно простая задача — это та, под которую можно написать четкий алгоритм, и она будет решаться с высокой или заданной точностью. А вот когда алгоритм решения задачи непонятен, когда нет четких правил или критериев, то в этих случаях применяются глубокие нейросети. Сюда относятся такие задачи, как, например, распознавание лиц, речи, классификация растительности и типов застройки на аэрофотоснимках, регистрация нестандартных паттернов поведения и так далее. Недавно, например, нейросети научились распознавать человеческую речь, то есть превращать сказанные слова в текст с точностью, превосходящей точность человека. Если человек понимает 98 из 100 сказанных по телефону слов, то движок Deep Speech 2 от китайской Baidu понимает 99. Над этой задачей люди бьются уже долгие годы и решили ее с помощью глубокого обучения. Поэтому я бы не стал говорить, что есть классы задач, которые точно нельзя решить с помощью глубокого обучения. Проблема скорее может заключаться в том, что может быть недостаточно данных для обучения машины. Если у вас есть достаточное количество данных, то при прочих обстоятельствах (есть эксперты, понятная математика, достаточное количество вычислительных мощностей) можно натренировать нейросеть решать ту или иную задачу. Это касается сложных вещей, таких как самодвижущиеся автомобили. Такой проект, кстати, есть и у нас в NVIDIA.
За три месяца нам удалось научить машину ездить без дорог. Нейросети на входе в качестве данных для обучения подаются видеопотоки с установленных на автомобиле камер и ввод от водителя — угол поворота руля. Система тренируется, появляется функция, которая в результате преобразует данные с камер в данные управления. После этого автомобилю «разрешают» перемещаться самостоятельно. Это пример сложной задачи, которую от начала и до конца решает одна нейросеть. Она не знает, как выглядят светофоры, не знает, что дорога — это дорога, но система понимает, что, когда с камер поступают определенные данные, нужно осуществлять определенные действия.
— Как происходит обучение?
— Приведу в пример распознавание символов. Есть цифры от нуля до девяти, можно сделать классический алгоритм машинного зрения, который будет на основании заданных признаков определять цифры. Для этого нужен специалист, который придумает критерии, алгоритмизирует, напишет программу. Есть другой способ. Можно дать черному ящику набор данных, который будет включать изображения и разметку — объяснение того, какой цифре соответствует изображение. Нейросеть на этих данных обучается, при каждой новой итерации связи между нейронами обновляются. Каждый раз подавая новые данные, мы приближаемся к результату, который мы хотим видеть.
После обучения мы подаем картинку, которую нейросеть раньше не видела, и она начинает делать предсказания. Если она правильно натренирована на хорошем наборе данных и ее архитектура подходит для этой задачи, она будет делать классификацию цифр на картинках достаточно точно. Есть другие виды машинного обучения. Например, обучение с подкреплением. Приведу пример. Лаборатория DeepMind (они же создали AlphaGo) разработала нейросеть, которая натренировалась играть в компьютерные игры. В 49 играх она победила с результатом, достичь которого человеку не удавалось. Когда ее обучали, ей на вход подавалось изображение — то, что видит человек, когда играет. И у нее было несколько вариантов, что делать в ходе игры. Если нейросеть делала правильный шаг, у нее увеличивалось количество очков, это и было подкреплением.
— Недавно в СМИ появилась информация, что переводчик Google создал свой собственный «внутренний» язык для перевода. То есть некие паттерны, которые позволяют осуществлять перевод, например, с корейского на японский в обход английского языка. И это при наличии только двух языковых пар (английский-японский и английский-корейский). Возможно ли появление подобного, не заложенного человеком, языка?
— Сама по себе идея искусственного языка не нова. Технически создать такой язык можно, но едва ли он получит распространение. Это будет язык общения машин друг с другом. Тут есть более интересный вопрос. Как система понимает значение слов? Для того чтобы компьютер мог сделать перевод с одного языка на другой или вообще осуществлять какие-то логические действия со словами, он должен понимать, что они значат. Значение слова очень четко определяется его контекстом. Если взять большой кусок текста и статистически подсчитать, в окружении каких слов встречается наше слово, то окажется, что для одинаковых по значению слов контекст будет почти одинаковым. Если с помощью специальных математических методов построить векторы значений для каждого слова, то можно оперировать не написанием этого слова, а неким математическим выражением, которое выражает значение этого слова. Например, если из вектора слова «Москва» отнять вектор, означающий слово «Россия», и прибавить туда «Англию», то получится вектор очень близкий по значению к вектору слова «Лондон». Суть в том, что система запоминает слово по его значению, по смыслу. Если тренировать эту систему на большом наборе текстов на разных языках и оперировать вектором значения слова в пространствах разных языков, то в результате и получается перевод. В итоге мы получаем представление слов в виде векторов. Причем именно значений слов, а не того, как они пишутся. И с этим значением можно играться, можно переводить с языка на язык. Все, что нам для этого нужно, это иметь некую функцию, которая из этого значения получит текстовое представление. Это и будет переводом, если для разных языков создать варианты этих функций.
— С какими основными сложностями сталкиваются специалисты по искусственному интеллекту?
— Я бы разделил специалистов на две категории: на тех, кто занимается бизнесом, и на тех, кто занимается исследованиями. Расцвет глубокого обучения, который мы наблюдаем сейчас, связан с тем, что стало доступно все необходимое, в первую очередь достаточное количество доступных вычислительных ресурсов. Оказалось, что мощные видеокарты, которые пользователи привыкли использовать для игр, прекрасно подходят и для обучения нейронных сетей. Теперь исследователям не нужно ждать очереди в суперкомпьютерный центр, ведь все необходимое обучение можно осуществлять на настольном ПК. NVIDIA обратила внимание на этот тренд еще несколько лет назад и к сегодняшнему дню успела создать не только специализированные графические процессоры для обучения и инференса (то есть применения — прим. Indicator.Ru) нейросетей, но и большой набор библиотек и фреймворков. Все эти инструменты доступны для разработчиков и исследователей бесплатно. Во-вторых, появились удовлетворяющие всем требованиям математические алгоритмы, которые реально можно положить на это железо. В-третьих, появилось достаточное количество данных, например базы данных изображений в интернете. Если говорить про исследования, проблемы с данными, наверное, нет. Если ученые решают понятную задачу, то в интернете есть куча размеченных изображений, ими можно свободно пользоваться. Свободно доступен практически весь необходимый софт. Что касается вычислительных ресурсов, то это проблемой тоже не является.
Бизнес же занимается более интересными задачами, где решение не всегда лежит на поверхности, там появляется проблема специфических данных. Взять, например, соцсети. Разработчики пытаются натренировать нейросеть, чтобы она предугадывала вкусы и интересы пользователя. У нее есть информация о разнообразных сторонах жизни и работы пользователей, и она пытается предугадать, какаой будет категория его следующей покупки, какую рекламу ему показать, какое видео или какой контакт ему порекомендовать, чтобы подольше удержать его на странице… Чтобы делать такие модели, нужны специфические данные, специфические алгоритмы, которые не лежат на поверхности, которые просто так из интернета скачать нельзя.
— А можете привести какие-нибудь примеры интересных задач?
— Приведу пример из сферы финансов. Как улучшить качество и скорость облуживания клиента и сократить количество людей в колл-центре? Есть скрипты, по которым работают сотрудники в колл-центре, и некое количество вопросов, по которым они могут помогать людям. А есть вопросы, по которым они людям сами помочь не могут и соединяют их со специалистами. При наличии статистики за несколько месяцев или лет работы: как люди звонили, что они говорили и чем заканчиваются эти звонки — можно натренировать нейросеть. Она будет с первых минут разговора понимать, что именно человеку нужно. Тем самым можно сильно сократить время телефонного разговора, клиент будет гораздо довольнее и специалистов в колл-центре нужно будет намного меньше. Это экономическая целесообразность, их можно занять чем-то более полезным..
Другой пример связан с использованием глубокого обучения для распознавания мусора. В этой сфере роботы являются идеальным заменителем, потому что с мусором никому не хочется работать.
Третий пример связан с индивидуальной подборкой лекарств. Один британский стартап занимается тем, что пытается для каждого конкретного случая разрабатывать свои лекарства, которые могут точечно воздействовать и наносить минимальный ущерб другим органам человека. Это требует обработки колоссальной информации.
— Этический вопрос: можно ли говорить о том, что в какой-то момент системы искусственного интеллекта смогут осознавать себя?
— В ближайшее время это вряд ли произойдет. Все то, что делается сегодня и завтра, все равно вещи, нацеленные на решение конкретных задач. И перейти с решения задач к постановке и переносу опыта — это уже принципиально другой шаг. Как его сделать, сейчас вряд ли кто-то понимает.