Михаил Бурцев: «Наше время — золотая лихорадка для нейронных сетей»

Deep Learning (глубокое обучение) в нашей стране, кажется, начало развиваться семимильными шагами. Не так давно в МФТИ прошёл хакатон DeepHack, машинное обучение представили на олимпиаде НТИ, и практически параллельно с этим на Физтехе открылась лаборатория нейронных систем и глубокого обучения, которую возглавил эксперт нашего портала Михаил Бурцев. Мы побеседовали с Михаилом о том, что вообще такое Deep Learning и чем будет заниматься его новая лаборатория.

Михаил Бурцев. Фото Алексея Паевского

Самоучитель для сети

Михаил, расскажите немного о новой лаборатории. В чем суть?

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

Расскажите, пожалуйста, о сути метода Deep Learning. Какие cейчас существуют проблемы в этой области?

Сначала поговорим о том, что такое Deep Learning, и про то, каким будет основной фокус лаборатории. Deep Learning или глубокое обучение — направление исследований, в рамках которого пытаются использовать знания о принципах работы и строения нервной системы для того, чтобы строить алгоритмы обработки информации в информационных системах, системах принятия решений и других системах искусственного интеллекта.

Это направление появилось не вчера, а почти полвека назад под названием «искусственные нейронные сети». Тогда предложили формальные модели нейрона, и на их основе строилась искусственная нейронная сеть, состоящая из «формальных нейронов» и совершающая некоторый каскад вычислительных операций. Такие нейроны, как и настоящие, передают сигналы друг другу, и параметры передачи этих сигналов могут меняться. Как раз это и есть самое главное отличие нейросетевых алгоритмов от стандартных программ. А в чем именно оно заключается?

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

Как я уже говорил, искусственные нейронные сети существуют около 50 лет, даже скорее 60, и они, естественно, испытывали свои взлёты и падения. Буквально пару лет назад в этой области достигнуты фантастические результаты, сравнимые для некоторых классов задач с результатами человека. Речь идет о применении искусственных нейронных сетей для распознавания изображений и речи.

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

Золотая нейросетевая лихорадка

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

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

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

А какие основные приложения у нейронных сетей?

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

Задача ставится так: существует некоторая обучающая выборка — набор объектов, для каждого из которых известен класс принадлежности. Самый простой пример такой обучающей выборки — это набор картинок, на которых все объекты размечены и подписаны.

Алгоритм глубокой нейросети, получая на входе изображения и зная, что конкретно он должен получить на выходе, может обучиться. Если изображений миллионы, то, в конце концов, нейросети удаётся обобщить представления о разных объектах. Потом, когда мы на его вход подаём новые изображения, которых не было в обучающей выборке, он все равно правильно будет их классифицировать. Очевидно, что такие алгоритмы находят применение в области компьютерного анализа фотографий и много ещё где. Так, например, Google использует их при оценке релевантности ссылок при поиске.

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

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

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

Мы задаем награду таким образом, чтобы она соответствовала требуемым результатам. Тогда алгоритм будет учиться достигать эти результаты. Важно, что здесь мы не говорим алгоритму ту последовательность действий, которую он должен предпринять для достижения цели, мы не учим его, а алгоритм сам пробует разные варианты и отбирает те, благодаря которым он придёт к результату.

И вот это, на данный момент, ещё совсем не разработанный пласт нейроалгоритмов, который достаточно много обещает, потому что очень многие приложения могут быть на нём основаны.

Мгновение на решение

А выто сами чем будете заниматься?

Если говорить о позиционировании нашей лаборатории, то мы сфокусируемся именно на двух последних направлениях: рекуррентных нейронных сетях и обучении с подкреплением, потому что вопросы с распознаванием образов сейчас уже достаточно хорошо исследованы, есть лаборатории в Сколково, МГУ и ВШЭ, существует множество стартапов и компаний.

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

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