Мы сами ежедневно участвуем в обучении машин. Как это происходит?

Сколько раз в день вы пользуетесь поисковыми сервисами: от Google, «Яндекса» или, если вы живете в Китае, Baidu? А их онлайн-переводчиками? Скорее всего, часто, если не постоянно. Например, Google Translate в месяц обрабатывает запросы более полумиллиарда человек. Но знаете ли вы, что, каждый раз вбивая поисковый запрос или текст для перевода, вы лично участвуете в обучении компьютера? Революция в технологиях машинного обучения происходит прямо на наших глазах – IT-гиганты совершенствуют их и наперегонки внедряют во все свои продукты и сервисы – онлайн-переводчики, навигаторы, виртуальные помощники.

Опутали все

НейросетиПервая ячейка искусственного нейрона была предложена еще в 1943 году, а через 15 лет – то есть еще до появления интернета – американский ученый Фрэнк Розенблатт разработал модель первой искусственной нейронной сети. Но тогда наука отдала предпочтение более простым алгоритмам машинного обучения. Для развития нейросетей не хватало мощности компьютеров и количества данных. Теперь обе проблемы решены.

Нейросеть – это математическая модель, на основе которой пишутся программы. В отличие от других способов машинного обучения она моделирует работу нервных клеток живого организма, только в очень упрощенном виде, хотя по числу нейронов искусственные сети давно превзошли человеческий мозг (у человека в нем 86 млрд нейронов, а ученым IBM еще пять лет назад удалось создать нейронную сеть из 350 млрд искусственных нейронов).

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

Сейчас крупнейшие IT-компании внедряют нейросети в свои продукты с такой скоростью, что это напоминает гонку вооружений. Например, в прошлом году Google и «Яндекс» интегрировали эту технологию в свои онлайн-переводчики. Частота ошибок в переводе благодаря реформе сократится на 60%, прогнозировала американская корпорация. А в конце 2016 года глава Google Сундар Пичаи объявил, что постепенно нейросети будут внедрены во все сервисы компании – начиная от поисковика и заканчивая YouTube и GooglePlay.

Baidu, один из лидеров в сфере машинного обучения в Китае, недавно начал использовать его алгоритмы в сфере дополненной реальности, в том числе для создания рекламных кампаний. Машинное обучение присутствует и в сервисах Baidu по распознаванию речи и изображений – все это в конечном итоге позволяет повышать эффективность и качество поиска. Кроме того, Baidu использует методы машинного и глубокого обучения в создании чат-ботаBaiduDoctor, а также тестирует методы машинного обучения в программе, написанной для беспилотных автомобилей. Домашнему роботу Baidu под названием Xiaoyu Zaikia («маленькая рыбка»), который будет конкурировать с голосовым помощником Alexa от Amazon, искусственный интеллект помогает освоить естественный язык, так как машина должна научиться хорошо распознавать речь хозяина.

«Яндекс» создал технологию, которая позволяет работать методами машинного обучения с любым типом контента (видео, текстом, звуками, изображениями), еще в 2009 году. Она получила название «Матрикснет» и сейчас интегрирована во многие процессы и продукты компании: внавигатор и карты, в сервисы по определению пробок и прогнозированию погоды, во все вертикали поиска, в приложения «Музыка» и «Дзен», в онлайн-переводчик и т.д. Нейросети компания впервые внедрила в один из своих продуктов в 2013 году, а в прошлом году – интегрировала их в поиск. Главный эффект – сервис начал лучше понимать людей, научившись искать веб-страницы не только по ключевым словам, но и по смыслу (например, поисковик может связать запрос «келлская книга» со словосочетанием «ирландские евангелия»). Кроме того, поиск теперь лучше справляется со слишком длинными или редкими запросами, для обработки которых обычно не хватает статистики. Такие запросы часто возникают, когда к сервису обращаются дети или когда-то кто-то пытается вспомнить название фильма, вбив в поисковую строку краткое описание сюжета. Кроме нейросетей, компания по-прежнему использует и другие модели машинного обучения (например, переводчик «Яндекса» сейчас работает на гибридной модели – нейросети плюс статистический подход).

Пойми меня

Распознавание речиВопрос обучения компьютера естественному языку – важнейший и для развития искусственного интеллекта. Именно поэтому IT-корпорации первым делом начали использовать методы машинного обучения (в том числе нейросети) для совершенствования онлайн-перевода и работы с речью.

Еще в 2011 году Google внедрила нейросети в продукты, связанные с распознаванием речи, в том числе в браузер Chrome. В компании сказали, что до перехода на нейросети частота ошибок при распознавании человеческой речи составляла около 25%, за три года работы ее удалось снизить до 8%. У «Яндекса» – соизмеримые с этим результаты (благодаря нейросетям число пословных ошибок удалось сократить примерно вдвое, теперь их менее 10%).

Современные переводчики даже в совершенно неведомом языке способны найти порядок и закономерности – машина обнаруживает их с помощью кластеризации слов по их типам (примерно так криптографы разгадывают неизвестные шифры). Год назад в «Яндекс.Переводчик» был добавлен придуманный Джоном Толкиеном для его саги «Властелин колец» эльфийский язык синдарин. Теперь с синдарина (и обратно) можно переводить уже на десятки языков. Скудность текстов на синдарине, с помощью которых можно было бы обучить машину, этому не помешала. Разработчики «Яндекса» воспользовались тем фактом, что больше всего синдаринпохож на языки кельтской группы, их и взяли за основу, обогащая словарями и лексикой, придуманной Толкиеном. Технологии учитывают родство языков на лексическом, морфологическом, синтаксическом и орфографическом уровнях. И это позволяет осваивать не только выдуманные, но и реально существующие малые языки. Например, сейчас в «Яндекс.Переводчике» доступен язык папьяменто, в котором много заимствований из испанского и португальского. Его перевод наравне с люксембургским и идишем создавался по той же технологии сборки «малых языков» – из кирпичиков родственных языков. Помимо этого, «Яндекс.Переводчик» поддерживает башкирский, марийский, горномарийский и удмуртский языки.
Со стороны может показаться, что онлайн-переводчик делают так: заливают в программу словари, в которых она «копается» по запросу пользователя. Но традиционные словари не учитывают порядок слов в предложении, не покрывают возникающие новые слова, а также не отражают то, как люди ими пользуются. К тому же составление подобных словарей для онлайн-переводчика требует огромных усилий со стороны человека. Машинный перевод, наоборот, требует минимального вмешательства: с помощью заданного алгоритма машина в основном учится переводить сама, беря за основу множество параллельных текстов из интернета, объясняет разработчик группы машинного перевода «Яндекса» Антон Дворкович. Под параллельными текстами подразумеваются те, для которых существуют варианты на разных языках, – например, новости, инструкции и т.п. При этом громадный объем обучающих данных позволяет компьютеру использовать даже такие параллельные тексты, в которых содержится много неточностей, а степень параллельности составляет лишь 10%.

Используя весь интернет как основу для обучения, машина способна учитывать и контекст фразы. Тем не менее понимать текст в том смысле, в котором это делает человек, компьютер не в состоянии. «Машина в принципе ничего не умеет понимать, – объясняет Дворкович. – Это бездушный алгоритм, ей все равно, что она делает. И если нам кажется, что машина, исполняя некоторый алгоритм, действует будто бы самостоятельно, проявляя некую магию, – это только эффект нашего восприятия».

Например, одна из главных и неизбежных проблем в машинном переводе – это понимание двусмысленных фраз. В теории нейросети учатся и этому, но только если подобные фразы встречались в параллельных текстах. В целом пока результаты машин далеки от совершенства. Единственный на данный момент конкурс на прохождение чат-ботами усложненного теста Тьюринга – Winograd Schema Challenge – показал, что компьютер способен понять максимум 48% двусмысленных фраз, а прохождение теста наугад дало бы результат 45%.

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

Команда «Голос!»

Голосовые сервисыГолосовые сервисы с недавних пор окружают нас повсюду. Лидером в этой области считается Baidu, и это вполне объяснимо: создать качественную технологию распознавания китайского языка (DeepSpeech), который вмещает в себя множество интонационных нюансов, иногда полностью меняющих значение слова, – это весомое достижение. Алгоритм распознавания речи от Baidu очень чуткий, для него даже шумные пекинские улицы не препятствие. Именно внешние помехи, которые проходят под общим названием «коктейльная вечеринка», сейчас являются одной из главных проблем в развитии технологий распознавания речи, замечает Денис Филиппов, руководитель отдела разработки голосовых технологий и продуктов «Яндекса». В море голосов в шумном помещении очень сложно выделить «солиста».

«Яндекс» сначала внедрил технологии распознавания речи в свое поисковое приложение, cейчас возможность распознавания речи присутствует во многих основных продуктах, включая браузер, переводчик, карты и навигатор. Голосовыми интерфейсами их обеспечивает SpeechKit, набор речевых технологий, которые помогают пользователям общаться с сервисами естественным способом.

В индустрии речевых технологий есть три направления: распознавание речи, голосовая биометрия и синтез речи.

Задача распознавания речи решается так: запись разбивается на мелкие части, в которых акустическая модель распознает (или нет) известные ей фонемы, а языковая модель выдает наиболее вероятную последовательность слов. Языковая модель обучается на массиве текстов, доступных в интернете (особенно важны здесь те, что отражают нашу разговорную речь, которая сильно отличается от письменной), а акустическая – на записях речи с расшифровкой. Каждый раз, когда вы задаете поисковый запрос голосом, вы «кормите» нейросеть обучающими данными, а значит, помогаете этой технологии стать более совершенной.

Голосовая биометрия позволяет компьютеру определить, например, личность человека, звонящего в банк (за обучающие данные здесь берутся записи его прошлых звонков). У наших голосов есть свои «отпечатки пальцев» – более 30 уникальных характеристик (например, говор, характерная интонация, высота и т.п.), и некоторые из них не меняются, даже если голос охрип, говорит Филиппов. Машина также может узнать ваш возраст, едва вы откроете рот. Компьютер будет понимать человека с дефектами речи, если обучать его на записях людей с теми же дефектами. Все, что можно скормить программе, будет ей понятно потом.

Так называемая технология понимания естественного языка (natural language understanding) позволяет отнести текст к той или иной задаче человека. Для ее решения нейросеть должна еще научиться выделять из текста релевантные для задачи объекты, это называется namedentityrecognition. Например, компьютер может научиться распознавать в тексте адреса, для этого через нейросеть заранее прогоняют большой объем текстовых данных с размеченными адресами внутри.

С помощью таких технологий можно будет создавать виртуальных сотрудников в различных областях. Например, в колл-центрах они могут помогать отвечать на вопросы клиентов, в медицине – экономить время врачей, записывая назначения в ходе приема или писать за хирургом отчет о ходе операции, объясняет Филиппов. Все это высвободит уйму времени и даст людям возможность уделять больше внимания более сложным задачам. Для создания подобных сервисов необходимо научить компьютер профессиональной лексике и сценариям решения соответствующих задач; все необходимые технологии для этого есть, и ряд компаний уже начинают инвестировать в такие проекты.

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

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

Более перспективная технология называется «параметрическим синтезом». Акустическая модель на основе нейросети учится на записях речи любого человека и потом сама генерирует числовые параметры для звуковой волны. Этот способ хорошо масштабируется, подходит для озвучивания даже длинных фраз и позволяет имитировать речь людей разных возрастов, полов, с разными интонациями, объясняет Филиппов. Однако нейросеть все еще не умеет идеально выдавать параметры человеческой речи. На этапе генерации звуковой волны возникают искажения, и речь получается с роботизированным окрасом. Проблему таких искажений сейчас пытаются решить ученые и исследователи во всем мире. Среди продуктов «Яндекса» такой компьютерный голос можно встретить, например, в поиске.

Изобрази мне

Large Scale Visual Recognition Challenge«Пересглаженность» синтезируемого голоса можно сравнить с картинами, которые сейчас получаются при помощи нейронных сетей. Генерация изображений интересует разработчиков не меньше, чем синтез речи. Очень скоро, по словам Александра Крайнова, руководителя службы компьютерного зрения «Яндекса», нейросети предоставят нам новые возможности работы с изображениями. Речь идет об улучшении качества картинки, изменении ее размера, очищении снимков от определенных предметов и других возможностях редактирования изображения (например, превращения дождливой погоды на фотографии в солнечную).

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

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

В самом известном в мире конкурсе распознавания изображений – Large Scale Visual Recognition Challenge – нейросети впервые приняли участие в 2012 году и сразу же продемонстрировали большое преимущество по качеству. В ходе конкурса алгоритм должен правильно определить, к какому из классов относятся представленные ему изображения (например, определить, пейзаж это, портрет или натюрморт; таких классов порядка тысячи). Начиная с 2013 года нейросети одерживали победу над всеми остальными алгоритмами определения, а в 2016 году наконец обошли человека: люди правильно классифицируют в среднем 95% изображений, а нейросеть – 97%.

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

В сетях науки

CrayfisIT-компании бьются в первую очередь над тем, как улучшить продукты, которыми люди пользуются в повседневной жизни. Но нейросети могут решать не только бытовые задачи. В «Яндексе» с 2012 года существует автономная научная группа, которая отвечает за то, чтобы делиться наработками компании с самыми разными российскими и зарубежными научными лабораториями. С 2013 года научная команда «Яндекса» сотрудничает с Европейским центром ядерных исследований (ЦЕРН), который известен во всем мире благодаря открытию антиматерии и бозона Хиггса. Ученые из «Яндекса» участвуют в поиске и определении следов, остающихся после распада частиц при их столкновении в Большом адронном коллайдере. Алгоритм, созданный на основе машинного обучения «Яндекса», способен обрабатывать поток данных, который генерируют около 10 млн столкновений частиц секунду, рассказывает Андрей Устюжанин, руководитель группы международных учебно-исследовательских проектов «Яндекса».

Еще один масштабный эксперимент, в котором участвуют ученые из «Яндекса» – Crayfis, – имеет своей целью разгадать тайну частиц ультравысокой энергии, прилетающих к нам из космоса. Ливень заряженных частиц, попавших в атмосферу, можно засечь камерой обычного смартфона. Учёным необходимо собрать и обработать информацию от нескольких тысяч смартфонов – а это огромный массив данных. «Яндекс» же разрабатывает алгоритм поиска этих частиц, используя свои технологии машинного интеллекта. Теоретически подобный подход и технологии можно использовать и в других областях – например, в медицине, для поиска участка мозга, отвечающего за эпилепсию. «Эту теорию мы сейчас проверяем в совместном проекте с лабораторией Татьяны Строгановой», – говорит Устюжанин (имеется в виду Центр нейрокогнитивных исследований Московского городского психолого-педагогического университета).

Данных в мире становится все больше и больше, и очень важно, что в таких условиях ученые из «Яндекса» также работают не только над проблемами оптимизации процессов в различных экспериментах, но и над вопросом, где хранить огромный массив данных экспериментов. Грид – система хранения и обработки информации, созданная ЦЕРНом для нужд Большого адронного коллайдера, – включает в себя 170 вычислительных центров из 36 стран. Данных же, накапливаемых в ходе экспериментов, так много, что для их хранения постоянно не хватает жестких дисков, и «Яндекс» помогает усовершенствовать и оптимизировать их хранение. Проанализировав историю обращений ученых к файлам экспериментов, сотрудники компании разработали алгоритм, который предсказывает популярность каждой новой порции данных и решает, куда ее лучше всего записывать: на дорогие жесткие диски, где к ней могут быстро получить доступ физики со всего мира, или на относительно дешевые ленточные накопители, которые больше подходят для архивного хранения. Эта технология может высвободить около 40% дискового пространства, а применять ее можно и для нужд обычных пользователей.

Искусственный интеллект против обычного

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

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

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