Следите за новостями

Цифра дня

48 комплексов Starlink направило МЦРИАП в регионы ЧС

Александр Крайнов, Яндекс: искусственный интеллект среди нас

Мы взглянули на мир машинного обучения изнутри на примере сервисов Яндекса.

26 марта 2019 16:10, Наргиз Асланова, Profit.kz

Технологии искусственного интеллекта и машинного обучения незаметно вошли в нашу жизнь. Пользователи очень быстро привыкли к тем плюсам, которые получили за счет развития подобных систем. В интервью с Александром Крайновым, руководителем Лаборатории компьютерного зрения и технологий искусственного интеллекта Яндекса, мы взглянули на мир машинного обучения изнутри. Как обучаются компьютерные системы, могут ли ошибаться, и как обрабатываются данные?

Александр Крайнов, Яндекс

— Александр, вы руководите направлением компьютерного зрения и технологий машинного интеллекта в Яндексе. Расскажите, чем занимается ваш отдел?

— Компьютерное зрение — это способность машинно распознавать, что находится на изображении. И оно применяется во многих сферах. Где-то оно заметно, потому что это пользовательская функциональность, где-то — менее заметно, потому что это просто какое-то встроенное улучшение пользовательских сервисов. Заметнее всего оно в поиске по картинкам, где можно загрузить свою картинку и найти похожую. Ну и, конечно, в Алисе. Можно сфотографировать что-то, и Алиса расскажет про то, что она видит, или ответит объектным ответом (скажет, например, что это за растение). Или просто покажет похожее изображение.

— Специалистов такого профиля на рынке достаточно мало. Как вы решаете проблему кадров и привлекаете ли казахстанских специалистов?

— Мы привлекаем сотрудников откуда угодно. Мы не смотрим на происхождение сотрудника. Важно, что он умеет. Что касается того, как мы людей находим, тут есть два ключевых метода. Первое: мы считаем, что создаем самые лучшие условия для работы. У нас очень сильная команда. А для топовых специалистов очень важно работать в коллективе, где есть чему учиться. Есть такое правило, что когда ты сидишь в комнате, и тебе кажется, что ты тут самый умный, то пора поменять комнату.

И второе: так как таких специалистов, действительно, мало, то Яндекс предпринимает довольно значительные усилия для того, чтобы их становилось больше. У нас очень много образовательных программ, начиная с ШАДа — это Школа анализа данных Яндекса, у которой есть филиалы по всей стране, есть онлайн-курсы. ШАД на текущий момент — это одна из самых сильных в мире школа анализа данных, школа, где учат машинному обучению и вообще методам обработки данных. Еще у нас есть факультет компьютерных наук в Высшей школе экономики. Кроме того, сейчас во многих городах запускается Яндекс.Лицей. Это такая образовательная инициатива, где мы учим школьников программировать на Питоне.

— А сколько времени существует ваш отдел? Как вообще компания пришла к тому, что уже надо заниматься этим направлением целенаправленно?

— Ну, если говорить про компьютерное зрение, то оно в Яндексе появилось достаточно давно. Сложно назвать точную дату, потому что всегда есть какие-то функциональные изменения. Примерно 10 лет назад.

— То есть, уже тогда в компании понимали, что будущее за такими технологиями?

— Понимали еще раньше. Если говорить про машинное обучение в Яндексе, то оно появилось практически с самого начала. Поиск Яндекса очень давно, уже лет 15, работает на технологиях машинного обучения.

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

Александр Крайнов, Яндекс

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

— Это один из предметов нашей большой гордости, потому что мы постоянно улучшаем наше распознавание. Используются все более совершенные нейросети. По качеству распознавания мы сейчас на голову сильнее всех остальных. Я об этом говорю довольно уверенно, и проверить это легко. Вы можете взять десять любых своих фотографий, и попробовать поискать в Яндексе похожие изображения. Сравните их с другими сервисами, их не очень много в мире. Это тот случай, когда разница видна на глаз. У нас это работает намного лучше, чем у любой компании в мире.

— Для человека сравнить фотографию просто — посмотрел и сравнил. А как распознавание выглядит с точки зрения компьютера?

— На той стороне находится нейронная сеть, искусственный интеллект, обученный на десятках миллионов изображений, на связях между изображением и текстом. Это система, которая непрерывно обучается, система, которая на каждый запрос анализирует миллиарды изображений по интернету. Это действительно так. Система анализирует прикартиночный текст, который есть около этих изображений, группирует его, использует языковые и текстовые модели, выделяет основное, обращается к базе объектов, которые накоплены, сверяет с тем, что найдено там, и выдает финальный ответ. То есть, когда мы сфотографировали цветочек и просто в Алисе получили его название, за этим, на самом деле, работает огромная сложная система, комплекс нейронных сетей. В памяти этой системы хранится все текущее состояние интернета, она обучается и улучшается непрерывно. То есть, новые версии выходят несколько раз в неделю. Меняется состояние интернета, дообучается новая формула и прогресс этот идет постоянно.

— А если случается какая-то ошибка в распознавании? Как система эту ошибку обрабатывает? Как она вообще понимает, что произошла ошибка?

— Есть методы человеческой оценки результатов. Выборочные результаты оценивают люди, они ставят оценку, насколько выдача совпала с пользовательским запросом. Машины учатся на своих ошибках — эти ошибки добавляются в обучающее множество, и в следующий раз машина старается так не делать. Самое сложное здесь то, что мы подходим к тому моменту, когда человеку все тяжелее понять, что машина ошиблась. Потому что, если машина ошиблась, то человек тоже довольно бессилен. В среднем, человек уже хуже распознает, очень часто приходится в конкретных моментах очень долго анализировать, действительно ли возникла ошибка или нет. И уж точно человеку нужно гораздо больше времени, чем машине, чтобы это выяснить.

— Еще недавно было совсем наоборот. Гораздо чаще ошибалась машина, чем зрительно человек.

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

— Как лично вы смотрите в будущее в свете нашей темы? Каким оно представляется?

— Я смотрю с абсолютным оптимизмом. Машинное обучение развивается довольно давно, развивается бурно и эффективно. Просто в какой-то момент времени оно, что называется, вышло из тени. Про него стали знать, это стало модно, про это стали говорить. Вообще, оно существует очень давно. Есть много сфер, о которых мы не задумываемся, но где машинное обучение применяется. Если брать продукты Яндекса, то на этом построен весь поиск. Но мы об этом не думаем, для нас это уже давно привычно. Можно ввести как угодно (хоть в другой раскладке, хоть с опечаткой) запрос в поисковую строчку, и тебя поймут, тебе покажут правильный ответ. Мы перестали задумываться о том, как работает навигатор. Для нас стало привычным: ткнул пальцем или голосом сказал, куда тебе нужно, и тебе проложили маршрут. А ведь, в общем-то, совсем недавно мы пользовались картами, и было вообще непонятно как может быть по-другому. А сейчас мы пользуемся навигатором, это удобно и привычно. И мы не думаем о том, что в этом заключены какие-то невероятные технологии, — а они там есть. И так во всем.

Александр Крайнов, Яндекс

— Вот вы, кстати, упомянули про навигатор. У одного из моих знакомых был такой случай. Он ехал по Яндекс.Навигатору, и навигатор его предупредил об аварии, которая впереди. А авария произошла через мгновение, уже на его глазах. Это ваше приложение спрогнозировало дорожную ситуацию, которая возникнет?

— Здесь все сильно проще. Если это произошло, то тут предсказало не наше приложение, а пользователь. Откуда мы узнаем об аварии? — от пользователей. Они ставят метку и обозначают, что вот здесь произошла авария. И эта метка становится доступной для всех, мы всех предупреждаем. То, что делается автоматически, средствами машины, это — предсказание пробок.

Когда человек едет по какому-то маршруту, для прокладки оптимального пути нужно не только ориентироваться на текущее состояние пробок, но и попытаться предсказать, каковы будут пробки в тот момент, когда он туда приедет. Вот пробки мы предсказываем. А предсказывать аварии, к сожалению, или к счастью, мы не умеем. Это значит, кто-то из пользователей поставил метку чуть раньше, чем произошла авария. Но интересный случай.

— Интересно, как на примере машинного обучения развивается сервис Яндекс.Пробки? Для Алматы и Астаны это сейчас крайне горячая тема, особенно в рабочие дни. Где вы берете информацию? Как обучаете ваши системы?

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

Что касается обучения, есть какой-то маршрут: есть точка А, есть точка Б. В идеале необходимо предложить человеку способ доехать из точки А в точку Б максимально быстро. Есть несколько вариантов пути. Для каждого из них считается время. Получается, есть некое предсказание времени для каждого варианта проезда. А дальше, есть время предсказанное и фактическое. То есть, предсказали полчаса, а человек, скажем, ехал 35 минут. Значит, мы ошиблись. И алгоритм учится на данных, которые он получает — что происходило, какое время суток, где и какие были затруднения, на каких участках движения. Алгоритм учится на этих данных так предсказывать время движения, чтобы минимизировать ошибку. И если у него это получается, значит все хорошо. Если не получается, то какие-то параметры достраиваются. Ведь если уметь точно предсказывать время движения по конкретному маршруту, то дальше все остальное довольно просто.

Но и здесь есть нюансы. Если сто раз ошибиться на одну минуту, то в этом нет ничего страшного. А если один раз ошибиться на 100 минут, это катастрофа. Человек, который с таким столкнулся, больше никогда пользоваться сервисом не будет. Например, он ехал в аэропорт, а мы ошиблись на полчаса-час во времени пути, и он в результате опоздал на рейс. Это, конечно, катастрофа.

Поэтому система обучается таким образом, чтобы избежать, в первую очередь, грубых ошибок. И еще один очень важный момент: наше пользовательское восприятие. Если нам 20 раз, 100 раз, 1000 раз проложили маршрут, и мы приехали в четко указанное время, то мы начинаем это воспринимать как будничную рутину. Но стоит один раз системе сильно ошибиться, причем в тот момент, когда мы особенно спешим и нервничаем (а это рано или поздно все равно произойдет, потому что случаев много), то мы именно этот случай и запомним. Поэтому мы сами, как пользователи, не оставляем системе право на ошибку. И ее приходится обучать очень тщательно, с учетом всех факторов и, главное, не допускать сильных ошибок.

Александр Крайнов, Яндекс

— Поговорим о поиске. Это один из ваших ключевых сервисов. Естественно, к нему масса внимания и у вас, и у пользователей. В Казахстане доля поиска Яндекса ниже, чем Google. Машинное обучение как-то помогает вам увеличить эту долю?

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

При этом стиль Яндекса — это быть локальным. То есть, мы всегда стараемся сделать так, чтобы наше качество поиска прямо здесь было лучше. Поисковые ответы Яндекса в Казахстане и в России на одни и те же запросы будут отличаться, потому что они разные, и разные потребности у пользователей. Но не только по странам, даже поисковые запросы в Алматы и в Астане будут обрабатываться по-разному. Или даже в одном районе Алматы, потому что на запрос «доставка пиццы» ответ должен быть разный.

У пользователей в разных регионах есть какой-то свой язык, какие-то особые вкусы, особые предпочтения, и все это, безусловно, учитывается. За счет этого мы тоже стараемся быть лучше. Но быть просто лучше по качеству еще не достаточно. Потому что ты можешь быть в два раза лучше по качеству, но если никто не попробовал — никто и не узнал. Мы стараемся повышать информированность о том, что мы делаем, рассказывать о наших сервисах. И в этом плане мы выигрываем, потому что с нами можно встретиться, прийти в наш офис, пообщаться. Мы открыты для разговоров, мы общаемся со студентами. То есть, мы рядом, в соседнем доме, в соседнем дворе. И мы готовы к разговору, мы слушаем наших пользователей и меняем наши сервисы, улучшаем их, слушая пожелания.

— Полтора года назад вы запустили голосового помощника Алису. Каковы ваши планы по ее локализации?

— Алисе всего 1,5 года, но кажется, что она запустилась давно — настолько уже стала привычной. Мы ее улучшаем, развиваем постепенно. Почему изначально русский язык? Потому что Алиса представлена во всех странах, где присутствует Яндекс, и по большей части там русский язык понимают. Но, конечно, есть еще очень много того, что нужно делать. За полтора года Алиса научилась говорить на русском языке, но ей еще нужно совершенствоваться и в понимании, и в произношении. Хотя, что касается, например, понимания топонимов, названий улиц и объектов, она уже делает это лучше человека. Пока она развивается и учит основное, но в какой-то момент настанет время ей учить новые языки. Так же, как это происходит с человеком.

— Яндекс.Переводчик уже умеет работать с казахским языком. Как именно работа вашего отдела влияет на языковые сервисы? Что вы делаете для того, чтобы система понимала языки?

— Каждый язык — это сбор данных на этом языке для обучения. Что касается мира машинного перевода, то очень важно иметь так называемые параллельные тексты, машина очень хорошо учится на них. Это либо какие-то сайты, где есть текст на разных языках, либо это могут быть литературные произведения, которые переведены на разные языки, страницы Википедии. Здесь не только слова, но и словосочетания, и предложения, и тексты. Причем, чем больше, тем лучше. Нет такого, что система обучилась и на этом остановилась. Чем больше текстов, тем выше качество. Насыщение происходит крайне редко, мы постоянно растим наши знания языка. Да и сам язык нужно постоянно улучшать, он же очень живой, он постоянно меняется, появляются новые слова, старые слова обретают новый смысл, и мы за этим всем постоянно следим.

На казахском языке мы распознаем, и делаем это очень неплохо. Попробуйте. И, кстати, перевод, это не единственное, что мы делаем для казахского языка. У нас есть и распознавание текста. В переводчике или в Алисе можно сфотографировать текст, и он будет распознан.

Александр Крайнов, Яндекс

— Еще один вопрос про Алису. Насколько затратно, долго, сложно создавать подобный сервис? Насколько это масштабно изнутри?

 — Это чуть ли не самый масштабный проект Яндекса. Мы как-то попробовали посчитать, сколько людей так или иначе приложили руку к созданию и существованию Алисы, но это оказалось очень сложно, — половина компании уж точно. Потому что помимо того, что есть на поверхности — технологии распознавания, синтеза речи, — есть технология обработки естественного языка. Есть собственно то, откуда Алиса черпает свои ответы. Есть поиск, который является важной составной частью. Есть сервисы погоды и новостей, потому что и оттуда Алиса черпает информацию. Есть компьютерное зрение, в Алисе можно сфотографировать любой объект, и она про него расскажет. Есть музыка, которая в Алисе есть, есть карты, которые тоже взаимодействуют с ней. То есть, гораздо сложнее, наверное, назвать тот сервис, который с Алисой никак не связан. И если такой найдется, это значит, что просто еще не успели доделать эту связку, и она тоже будет.

По сути, что такое Алиса? Алиса — это голосовой диалоговый интерфейс ко всем сервисам Яндекса, и не только Яндекса. Есть платформы Яндекс.Диалоги, которые позволяют бизнесу подключать к Алисе свои сервисы.

— Расскажите, пожалуйста, каковы ваши планы по развитию сервисов для Казахстана?

— Вообще, у нас в Яндексе принято делать так, что все сервисы, которые мы запускаем, мы запускаем сразу во всех регионах присутствия. Иногда просто бывают технические ограничения, по которым нельзя запускать одновременно, где каждая страна или иногда каждый город требуют отдельных усилий. Тогда развертывание идет постепенно.

Например, Такси — чтобы запустить сервис, нужны отдельные усилия и для страны, и для каждого конкретного города, поэтому он приходит в разные города постепенно. Есть города в России, где Яндекс.Такси еще не работает. Иногда бывает, что универсальные решения сделать вообще нельзя, либо это невероятно дорого и сложно. Например, распознавание и синтез речи — сделать его сразу на всех языках невозможно. Нужно делать очень большие усилия для каждого отельного языка.

Что касается каких-то специальных небольших локальных вещей, которые в одном месте работают, а в другом — нет, иногда это, конечно, очень приятно и интересно сделать. И если мы найдем и придумаем, что такое можно сделать в Казахстане или, например, в Алматы, мы с удовольствием это сделаем. И тут мы, кстати, рады услышать пожелания. Мы всегда открыты. Мы бы хотели знать, что такого специального мы можем сделать для Казахстана или для Алматы, есть ли что-то такое, что именно здесь нужно, а в других местах неактуально. Было бы здорово такое найти и сделать.

— Получается, мы можем сказать, что пользователи могут вам писать, и вы их запросы рассмотрите?

— Конечно, обязательно! Мы очень любим, когда нам пишут, когда на нас жалуются, когда нам что-то предлагают. Это помогает нам быть лучше. Ничего из написанного нам не пропадает, мы все читаем.

Подписывайтесь на каналы Profit.kz в Facebook и Telegram.