Сергей Николенко — о прошлом, настоящем и будущем машинного обучения

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

Эти и другие вопросы мы адресовали нашему эксперту — старшему научному сотруднику Лаборатории интернет-исследований ВШЭ в Санкт-Петербурге, кандидату наук Сергею Николенко.

— Машинное обучение – обширный подраздел AI. Где берет начало эта дисциплина?

— Машинное обучение — действительно обширный подраздел AI (Artificial Intelligence — рус. “искусственный интеллект” — прим., ред.). Его трудно отличить от AI, ведь уже десятки лет назад стало понятно, что искусственный интеллект не получится без автоматической обработки данных.

Истоки машинного обучения очень давние. Самообучающиеся модели и программы появлялись с самой зари искусственного интеллекта. Начало AI — это 40-50-е годы, когда начали проводиться исследования о том, как все это происходит в мозге, и появилось знаменитое эссе Тьюринга “Computing Machinery and Intelligence”. Одним из первых реально работающих самообучающихся алгоритмов стал линейный перцептрон Фрэнка  Розенблатта, он появился в конце 50-х годов.

— Что значит обучающаяся машина? Как определить эту “обучаемость”?

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

В реальности вы имеете дело с машинным обучением практически всегда, когда ваш алгоритм требует каких-то данных, а не просто реализует логику, которую придумал программист.

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

— Как вы и сказали, задачи обучения обычно делят на два больших класса: обучение с учителем, когда у нас есть данные, размеченные правильными ответами (то есть мы уже знаем для какой-то базы правильные ответы и хотим научиться давать подобные правильные ответы на новых примерах, которых раньше не видели), и обучение без учителя, когда мы просто смотрим на данные и пытаемся понять, какие в них есть закономерности. Если говорить чуть более математическим языком, то, как правило, обучение без учителя — это когда мы пытаемся понять, каким распределением вероятностей могли бы быть порождены эти данные.

На протяжении долгого времени данных было относительно мало, а компьютеры для их обработки были недостаточно мощными, так что современное машинное обучение началось с 1980-х годов. В течение 20 лет основной упор делали на обучение с учителем: нейронные сети, метод опорных векторов, байесовские классификаторы… а обучение без учителя представляла только кластеризация. Последняя революция, которая произошла около 10 лет назад и была связана с появлением глубокого обучения (Deep Learning), привела к тому, что люди пересмотрели свой взгляд на обучение без учителя. Сейчас многие полагают, что именно такое обучение и автоматическое выделение признаков из плохо структурированных данных — это и есть путь к искусственному интеллекту.

Дело в том, что взять и научиться отличать кошек от собак на фотографиях по различным изображениям, представленным в виде пикселей, практически невозможно. Поэтому нужно сначала научиться узнавать, что на снимках изображены разные объекты, выделить разные классы этих объектов (здесь-то и кроется главная сложность) и только потом, на самом последнем этапе, назвать один уже выделенный класс объектов кошками, а другой — собаками. В принципе, все мы с вами учимся именно так.

— Вы упомянули глубокое обучение. Можете чуть подробнее рассказать о нем?

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

Упомянутый ранее перцептрон Розенблатта — первый базовый компонент нейронной сети. Начиная с 70-х годов люди уже умели строить глубокие сети — сети, в которых есть несколько уровней: вход поступает на первый уровень из нейронов, затем выход первого уровня поступает на вход второго уровня и т.д. Это несложная идея, и придумана она была давно, но до определенного времени люди плохо умели обучать эти сети. Были проблемы и концептуально-математические, и чисто технические. И вот в середине 2000-х появился некий прорыв, связанный с обучением без учителя: оказалось, что можно предобучать нижние уровни сети без учителя, а размеченные данные подключать только на самом последнем этапе. Сейчас многоуровневые нейронные сети обучают именно так.

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

— Например?

— Сейчас глубокие сети — это стандарт в области обработки изображений, особенно в распознавании образов. Они становятся стандартом и в обработке естественного языка. А самый, наверное, яркий бизнес-кейс — это распознавание речи. В 2009-2010 годах появились системы, основанные на глубоком обучении. До этого, начиная с 1980-х годов, все системы распознавания речи были основаны на скрытых марковских моделях. Люди очень долго этим занимались, много интересного придумали, постепенно улучшали качество распознавания, выигрывая доли процента… А в конце 2000-х взяли новые глубокие нейронные сети, которые теперь научились обучать, применили их к звуку (чистому и необработанному, без всякого хитрого выделения признаков), и получилось гораздо лучше. Сейчас любая система распознавания речи — и Apple Siri, и Google Now — работает на глубоком обучении.

Что касается распознавания образов, то здесь, конечно, тоже произошла революция, но никакой старой власти свергать ей не пришлось, потому что до глубокого обучения компьютер просто не умел отличать кошек от собак; а теперь более-менее справляется.

— Применяются ли такие технологии для анализа текстов?

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

Основная заслуга глубокого обучения — извлечение признаков из плохо структурированных данных. В распознавании изображений таких признаков практически не было, в распознавании речи они были, но с Deep Learning все получилось гораздо лучше. А в случае с обработкой текста, структура которого людям хорошо известна, в принципе можно было и руками сделать неплохую систему. Последние разработки выглядят очень круто и заманчиво, но я пока видел только результаты вроде “мы взяли глубокую сеть, и у нас без всякой лингвистики получилось на уровне state of the art”; а “мы взяли глубокую сеть, и у нас получилось в три раза лучше” пока не видел — это дело будущего.

— Кстати, о будущем: каким Вы видите будущее искусственного интеллекта и, в частности, машинного обучения?

— Это вопрос тоже философский. О нем очень легко философствовать в том смысле, что есть две возможности: либо мы в обозримом будущем придумаем искусственный интеллект, который будет умнее нас (в таком случае дальше прогнозировать бессмысленно, потому что этот интеллект уже сам будет решать, что делать), либо мы его не придумаем и будем постепенно к этому двигаться, решая все те же задачи лучше и лучше.

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

В какой-то момент мы научимся распознавать речь и понимать естественный язык достаточно уверенно, чтобы надиктовывать тексты (а может быть, “надумывать”? нейроинтерфейсы тоже могут развиться). Пока это не получается даже с глубокими сетями. Дальше, возможно, Google начнет понимать вопросы на естественном языке и давать ответы на естественном языке. Все это вполне укладывается в логическую схему развития. А потом в какой-то момент мы построим искусственный мозг, который нас всех поработит, и всё. 🙂

— Вы лично в это верите?

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

Лариса Шурига, DataReview

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =