Нейронные сети с глубинным обучением. Диалоговые системы и машинное обучение

Что такое глубокое обучение (deep learning) ? March 3rd, 2016

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


Если совсем коротко, то этот новомодный термин (deep learning) о том, как собрать из каких-то простых абстракции более сложную и глубокую абстракцию (репрезентацию) притом, что даже самые простые абстракции должен собирать сам компьютер, а не человек . Т.е. речь уже не просто об обучении, а о метаобучении. Образно говоря, компьютер самостоятельно должен научиться как лучше ему учиться. И, по сути, термин «глубокое» именно это и подразумевает. Практически всегда этот термин применяемся к искусственным нейронным сетям, где используется больше одного скрытого слоя, поэтому формально «глубокий» значит ещё и более глубокую архитектуру нейронной сети.

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

Давайте посмотрим на примере задачи распознавания изображений: раньше как — запихивали в обычную нейронную сеть с одним слоем огромную (1024×768 — около 800 000 числовых значений) картинку и смотрели как компьютер медленно умирает, задыхаясь от нехватки памяти и неспособности понять, какие пиксели важны для распознавания, а какие нет. Не говоря уже об эффективности такого способа. Вот архитектура такой обычной (неглубой) нейронной сети.

Потом все же прислушались к тому, как выделяет признаки мозг, а делает он это строго иерархично, и тоже решили извлекать из картинок иерархичную структуру. Для этого необходимо было добавить больше скрытых слоев (слоев, которые находятся между входом и выходом; грубо говоря, этапов преобразования информации) в нейронную сеть. Хотя решили так делать практически сразу, как изобрели нейронки, но тогда успешно обучались сети только с одним скрытом слоем. Т.е. в принципе глубокие сети существуют примерно столько же, сколько обычные, просто мы не могли их обучить. Что же поменялось?

В 2006 году сразу несколько независимых исследователей решили эту проблему (к тому же аппаратные мощности развились уже достаточно, появились достаточно мощные видеокарты). Эти исследователи: Джеффри Хинтон (и его коллега Руслан Салахутидинов) с техникой предварительного обучения каждого слоя нейросети ограниченной машиной Больцмана (простите меня за эти термины...), Ян Лекун с сверточными нейронными сетями и Йошуая Бенджио с каскадными автокодировщиками. Первые два сразу же были рекрутированы Google и Facebook, соответственно. Вот две лекции: одна — Хинтона , другая — Лякуна , в которых они и рассказывают, что такое глубокое обучение. Лучше их об этом не расскажет никто. Ещё одна классная лекция Шмидхубера про развитие глубокого обучения, тоже одного из столпов этой науки. А у Хинтона ещё есть прекрасный курс на курсере по нейронкам.

На что способны глубокие нейронные сети сейчас? Они способны распознавать и описывать объекты, можно сказать «понимают» что это. Речь идет о распознавании смыслов.

Просто посмотрите это видео распознавания того, что видит камера, в реальном времени.

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

Если совсем просто, то сверточные сети — это такие сети, где основным структурным элементом обучения является группа (сочетание) нейронов (обычно квадрат 3×3,10×10 и т.д.), а не один. И на каждом уровне сети обучаются десятки таких групп. Сеть находит такие сочетания нейронов, которые максимизируют информацию об изображении. На первом уровне сеть извлекает самые базовые, структурно простые элементы картинки — можно сказать, строительные единицы: границы, штрихи, отрезки, контрасты. Повыше — уже устойчивые комбинации элементов первого уровня, и так далее вверх по цепочке. Хочу ещё раз отдельно подчеркнуть главную особенность глубокого обучения: сети сами формируют эти элементы и решают, какие из них более важный, а какие — нет. Это важно, так как в области машинного обучения, создание признаков — является ключевым и сейчас мы переходим на этап, когда компьютер сам учится создавать и отбирать признаки. Машина сама выделяет иерархию информативных признаков.

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


На втором уровне — это уже будет элемент из элементов первого уровня. На третьем — из второго. Надо понимать, что данная картинка — просто демонстрация. Сейчас в промышленной применение, такие сети имеют от 10 до 30 слоев (уровней).

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

Подробнее про сверточные сети —

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

Что такое нейронная сеть?

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

Математически, искусственный нейрон осуществляет преобразование вектора входных сигналов (воздействий) X в вектор выходных сигналов Y при помощи функции, называемой функцией активации. В рамках соединения (искусственной нейронной сети — ИНС) функционируют три вида нейронов: входные (принимающие информацию из внешнего мира – значения интересующих нас переменных), выходные (возвращающие искомые переменные – к примеру, прогнозы, или управляющие сигналы), а также промежуточные – нейроны, выполняющие некие внутренние («скрытые») функции. Классическая ИНС, таким образом, состоит из трех или более слоев нейронов, причем на втором и последующих слоях («скрытых» и выходном) каждый из элементов соединен со всеми элементами предыдущего слоя.

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

Обучение нейронной сети

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

Не уходя в другую крайность и не вдаваясь в подробности работы методов ИНС в каждом конкретном случае, позволим себе напомнить, что при любых обстоятельствах именно способность нейронной сети к обучению (с учителем или «самостоятельно») и является ключевым моментом использования ее для решения практических задач.

В общем случае, обучение ИНС заключается в следующем:

  1. входные нейроны принимают переменные («стимулы») из внешней среды;
  2. в соответствии с полученной информацией изменяются свободные параметры НС (работают промежуточные слои нейронов);
  3. в результате изменений в структуре НС сеть «реагирует» на информацию уже иным образом.

Таков общий алгоритм обучения нейронной сети (вспомним собаку Павлова – да-да, внутренний механизм образования условного рефлекса именно таков – и тут же забудем: все же наш контекст предполагает оперирование техническими понятиями и примерами).

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

Глубокое обучение

Понятие глубокого обучения (deep learning ) относится к другой классификации и обозначает подход к обучению так называемых глубоких структур, к которым можно отнести многоуровневые нейронные сети. Простой пример из области распознавания образов: необходимо научить машину выделять все более абстрактные признаки в терминах других абстрактных признаков, то есть определить зависимость между выражением всего лица, глаз и рта и, в конечном итоге, скопления цветных пикселов математически. Таким образом, в глубокой нейронной сети за каждый уровень признаков отвечает свой слой; понятно, что для обучения такой «махины» необходим соответствующий опыт исследователей и уровень аппаратного обеспечения. Условия сложились в пользу глубокого обучения НС только к 2006 году – и спустя восемь лет можно говорить о революции, которую произвел этот подход в машинном обучении.

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

Идея, как водится, прекрасная, но на пути подхода встают вполне естественные проблемы – прежде всего, коренящиеся в его претензии на универсальность. На самом деле, если на поприще распознавания образов подходы deep learning добились ощутимых успехов, то с той же обработкой естественного языка возникает пока гораздо больше вопросов, чем находится ответов. Очевидно, что в ближайшие n лет вряд ли удастся создать «искусственного Леонардо Да Винчи» или даже – хотя бы! — «искусственного homo sapiens ».

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

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

С появления термина «глубокое обучение» прошло уже больше 20 лет, но широко заговорили о нем только недавно. Кратко объясняем, почему так получилось, что такое deep learning, чем оно отличается от машинного обучения и почему вам надо об этом знать.

  • Что это такое?

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

    Сам термин появился еще в 1980-х, но до 2012 года для реализации этой технологии не хватало мощностей и на нее почти никто не обращал внимание. После серии статей известных ученых, публикаций в научных изданиях технология быстро стала популярной и получила внимание крупных медиа, - первым из мировых СМИ об этом написал The New York Times. Одним из поводов для материала стала научная работа специалистов из университетов Торонто Алекса Крижевского, Ильи Сатскевера и Джеффа Хинтона. Они описали и проанализировали результаты конкурса распознавания изображений ImageNet, где с большим отрывом победила их нейросеть, обученная с помощью deep learning, - система определила 85% объектов. С тех пор в конкурсе побеждала только глубокая нейросеть

  • Погодите, а что такое машинное обучение?

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

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

  • А глубокое обучение как работает?

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

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

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

    Проще говоря: 1. если вы написали программу, играющую в шахматы, - это искусственный интеллект; 2. если она при этом обучается на базе партий гроссмейстеров или играя против самой себя - это машинное обучение; 3. а если обучается у неё при этом не что-нибудь, а глубокая нейронная сеть, - это глубокое обучение» .

  • Как работает глубокое обучение?

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

  • И что с помощью него уже разработали?

    Больше всего проектов с глубоким обучением применяется в распознавании фотографии или аудио, диагностике заболеваний. Например, оно уже используется в переводах Google с изображения: технология Deep Learning позволяет определить, есть ли на картинке буквы, а затем переводит их. Другой проект, который работает с фото, - система распознавания лиц под названием DeepFace. Она умеет распознавать человеческие лица с точностью 97,25% - примерно с той же точностью, что и человек.

    В 2016 году Google выпустил WaveNet - систему, которая может имитировать человеческую речь. Для этого компания загрузила в систему миллионы минут записанных голосовых запросов, которые использовались в проекте OK Google, и после изучения, нейросеть смогла сама составить предложения с правильными ударениями, акцентом и без нелогичных пауз.

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

  • А почему глубинное обучение не начали внедрять раньше?

    Раньше это было затратно, сложно и долго - нужны были мощные графические процессоры, видеокарты и объемы памяти. Бум глубинного обучения как раз связан с широким распространением графических процессоров, которые ускоряют и удешевляют вычисления, практически неограниченные возможности хранения данных и развитие технологии «больших данных».

  • Это прорывная технология, она все поменяет?

    Об этом сложно сказать точно, мнения разнятся. С одной стороны, Google, Facebook и другие крупные компании уже вложили миллиарды долларов и настроены оптимистично. По их мнению, нейросети с глубинным обучением способны поменять технологическое устройство мира. Один из главных специалистов по машинному обучению - Эндрю Ынг - говорит: «Если человек может выполнить задачу в уме за секунду, скорее всего, в ближайшее время эта задача будет автоматизирована». Ынг называет машинное обучение «новым электричеством» - это техническая революция, и компании, которые ее проигнорируют, очень быстро обнаружат себя безнадежно отставшими от конкурентов.

    С другой стороны, есть и скептики: они считают, что глубокое обучение - это модное слово или ребрендинг нейронных сетей. К примеру, старший преподаватель факультета компьютерных наук ВШЭ Сергей Бартунов считает, что этот алгоритм - лишь один из вариантов (и при этом не лучший) обучения нейросети, который быстро подхватили массовые издания и о которых теперь знают все.

    Сергей Николенко, соавтор книги «Глубокое обучение»: «История искусственного интеллекта уже знала две „зимы“, когда за волной хайпа и завышенных ожиданий следовало разочарование. Оба раза, кстати, это было связано с нейронными сетями. Сначала в конце 1950-х решили, что перцептрон Розенблатта тут же приведёт к машинному переводу и осознающим себя компьютерам; но, конечно, не получилось из-за ограниченности железа, данных и отсутствия подходящих моделей.

    А в конце 1980-х ту же ошибку совершили, когда разобрались, как обучать любые архитектуры нейронных сетей. Показалось, что вот он, золотой ключик, открывающий любые двери. Это уже был не такой уж наивный вывод: действительно, если взять нейронную сеть из конца 1980-х, механически сделать её больше (увеличить число нейронов) и обучить на современных наборах данных и современном „железе“, она будет очень даже неплохо работать! Но ни данных, ни „железа“ в то время не хватало, и революцию глубокого обучения пришлось отложить до конца нулевых годов.

    Сейчас мы живём на третьей волне хайпа искусственного интеллекта. Закончится ли она третьей „зимой“ или созданием сильного ИИ - покажет только время».

  • И частях, это руководство предназначено для всех, кто интересуется машинным обучением, но не знает, с чего начать. Содержание статей рассчитано на широкую аудиторию и будет достаточно поверхностным. Но разве это кого-то волнует? Чем больше людей заинтересуются машинным обучением, тем лучше.

    Распознавание объектов с помощью глубокого обучения

    Возможно, вы уже видели этот знаменитый комикс xkcd . Шутка в том, что любой 3-летний ребенок может распознать фотографию птицы, но заставить это сделать компьютер заняло у самых лучших компьютерных специалистов более 50 лет.В последние несколько лет мы наконец-то нашли хороший подход к распознаванию объектов с использованием глубоких сверточных нейронных сетей . Это звучит как куча выдуманных слов из фантастического романа Уильяма Гибсона, но все станет понятным, когда мы разберем их по очереди.Итак, давайте же сделаем это – напишем программу, распознающую птиц!

    Начнем с простого

    Прежде чем научиться распознавать изображения птиц, давайте узнаем, как распознать что-то гораздо более простое – рукописную цифру «8».

    — Лаборатория молодая: в нашей команде пока только пять человек, работы — непаханое поле, но мы серьезно настроены. Основным направлением выбрали разработку и исследование диалоговых систем — онлайн-консультанты, помощники, которые компетентно отвечают на все вопросы пользователя. У многих компаний и сейчас есть такие сервисы, однако либо они плохо работают, постоянно выдавая ошибки, либо по ту сторону монитора сидит живой человек, который не может быть в сети 24/7, к тому же ему надо платить. Мы хотим разработать алгоритм, который позволит создавать роботов, способных к полноценной беседе. Такой робот сможет за считанные минуты купить вам билет на самолет или проконсультировать по любому насущному вопросу. Сейчас такого уровня систем не существует.

    Нейронные сети и искусственный интеллект

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

    Отличие искусственного интеллекта от всех алгоритмов прошлого поколения заключается в том, что обученная нейронная сеть действует не по заданному пути, а самостоятельно ищет способы наиболее эффективного достижения цели. Работа одиночного компьютерного «нейрона» выглядит так: для обучения на вход программы подаются объекты, принадлежащие двум типам — А и Б — и несущие в себе какое-то числовое значение. Программа, исходя из данных в обучающей выборке, понимает, какие диапазоны этого значения соответствуют объектам А, а какие — Б, и впоследствии может отличать их самостоятельно. В реальных задачах система должна различать множество типов, у каждого из которых, в свою очередь, могут быть десятки свойств. Для их решения необходима более сложная структура из слоев нейронов, серьезные вычислительные мощности и большое количество обучающих тестов. XXI век стал началом эры, в которой эти технологии уже могут применяться для решения ежедневных задач.

    Михаил Бурцев, заведующий лабораторией:

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

    Диалоги сотрудников лаборатории с нейронной сетью

    Команда: сегодня и завтра

    Лаборатория сотрудничает с крупными исследовательскими центрами на базе НИЯУ МИФИ и Курчатовского института. В ее деятельности также принимают участие и иностранные специалисты в области машинного обучения и нейроинформатики, например Сергей Плис из The Mind Research Network. Помимо этого, регулярно проводятся мероприятия, нацеленные на популяризацию деятельности лаборатории и поиск молодых талантов. Победа в хакатоне или успешное прохождение курсов дают неплохие шансы попасть в лабораторию.

    Валентин Малых, сотрудник лаборатории:

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

    Философия DeepHack

    Хакатоны, несмотря на свое название, никак не связаны со взломом программного обеспечения (англ. hack — взламывать). Это командные соревнования по программированию, в которых участники в течение нескольких дней, а иногда и недель, бьются над решением какой-то одной конкретной задачи. Тема хакатона объявляется заранее, обычно участвуют несколько сотен человек. Такие мероприятия организуют не только институты, но и крупные компании, которые ищут талантливых специалистов. На базе Физтеха лаборатория нейронных сетей и глубокого обучения организовала уже два хакатона — участники в течение недели слушали лекции о вопросно-ответных и диалоговых системах и писали код.

    Владислав Беляев, сотрудник лаборатории:

    — В этом и в прошлом году мы устраивали хакатоны по машинному обучению. Заявок было очень много, причем не только из России и СНГ, но и из Европы, из Штатов. Во время хакатона читали лекции ученые из Оксфорда и Стэнфорда, Google DeepMind и OpenAI , ну и российские коллеги, конечно. Сейчас мы готовим курс по нейронным сетям, расскажем все с самого начала и до конца: от биологической концепции и основных моделях в программировании до собственно прикладного применения и конкретной реализации.

    Свободное время

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

    Михаил Бурцев, заведующий лабораторией:

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

    Трудоустройство

    Лаборатория будет расширяться и уже сейчас ищет новых сотрудников. Самый простой способ получить место — пройти двухмесячную стажировку , на которую отбирают по итогам собеседования. Необходимым условием прохождения собеседования является выполнение части задач курса Deep Learning . Во время стажировки есть возможность поучаствовать в выполнении оплачиваемых заказных проектов. Финансирование лаборатории пока не налажено, однако, по словам сотрудников лаборатории, в ближайшее время эта проблема будет решена. «Попасть к нам сейчас — значит получить шанс стать «отцом-основателем» лаборатории в самом перспективном направлении информационных технологий», — говорит Михаил Бурцев.

    Изображения и фотографии предоставила лаборатория нейронных сетей и глубокого обучения МФТИ. Фотограф: Евгений Пелевин.

    Понравилась статья? Поделиться с друзьями: