Участник:Vokov/Интервью для InTalent.pro
Материал из MachineLearning.
[1] — эксперты в области профориентации и дополнительного образования для старшеклассников.
К.В.Воронцов. О науке о данных и машинном обучении. Декабрь 2016.
– Чем вы занимаетесь?
– Я занимаюсь наукой о данных, по-английски Data Science. Это раздел информатики, изучающий способы переработки данных, собираемых и накапливаемых с помощью компьютеров, в полезные людям знания, прогнозы, решения. Науки о данных охватывают как относительно старые дисциплины — прикладную статистику, анализ сигналов, прогнозирование, распознавание образов, так и более новые — компьютерное зрение, машинное обучение, глубокое обучение, data mining (добыча знаний из данных), business intelligence (интеллектуальные системы для бизнеса).
– Всё чаще приходится слышать слова «машинное обучение» и «глубокое обучение». Это одно и то же, и если нет, то в чём отличия?
– Машинное обучение (machine learning) — это обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться по данным. Глубокое обучение (deep learning) — это узкая подобласть машинного обучения, в которой изучаются и применяются недавно открытые новые методы обучения искусственных нейронных сетей. Искусственные нейронные сети основаны на принципе работы человеческого мозга. Процессы обработки информации в нашем мозге похожи на параллельные вычисления. Еще в пятидесятые годы были созданы достаточно успешные математические модели, имитирующие работу нейронов головного мозга. Долгое время ученые считали, что двух-трёх слоёв нейронов достаточно, чтобы воспроизвести вычисления любой сложности, и даже работу биологической нейросети. Однако по скорости реакции человека можно оценить, что в обработке сигналов участвуют в среднем 10–15 слоев. Видимо, природа не спроста так распорядилась. С развитием технических возможностей модель усовершенствовали, и оказалось, что многослойные сети действительно работают лучше. Это открытие и привело к появлению глубокого обучения.
– Где применяют машинное и глубокое обучение?
– Глубокое обучение применяют для решения задач, в которых изначальные данные обладают сложной структурой. Это могут быть изображения, тексты, сигналы, которые нужно преобразовать в удобный для машины вид. Появление глубоких сетей улучшило качество распознавания зрительных образов скачком на 10–15% и сделало его сопоставимым с человеческим зрением. До этого компьютерное зрение улучшалось на доли процента в год ценой огромных усилий всего научного сообщества. Теперь технические устройства могут распознавать надписи, номерные знаки, окружающие предметы, лица людей. Летательные аппараты, наделенные компьютерным зрением, могут распознавать, что за объекты расположены внизу.
В то же время остаётся огромное число приложений, где не требуется сложной предварительной обработки данных и вполне можно обойтись обычными методами машинного обучения. Они работают с четко формализованной информацией, когда каждый объект реального мира описывается набором признаков — мы его называем вектором признаков. Машинное обучение используется в самых разных областях: для постановки медицинских диагнозов, принятия решений о выдаче кредита, поиска месторождений полезных ископаемых, прогнозирования момента выхода оборудования из строя. Поисковые, рекомендательные и рекламные системы в Интернете работают на машинном обучении. Огромное множество бизнес-задач у торговых сетей, банков, сотовых операторов решается с помощью машинного обучения. Анализ накопленных данных о всех действиях клиентов позволяет привлекать новых клиентов, формировать индивидуальные предложения, предсказывать уход клиентов.
– Как вы пришли в профессию?
– Мне всегда хотелось заниматься математическим моделированием и программированием. Вуз и кафедру я выбирал таким образом, чтобы совместить эти два увлечения и в дальнейшем иметь возможность заниматься чем угодно, где применяется математика. Поэтому я поступил в МФТИ на факультет управления прикладной математики. После второго курса, когда надо было выбирать кафедру, я выбрал ту, на которой, как мне показалось, самый широкий спектр прикладных задач, и попал в Вычислительный центр Российской академии наук.
Позже я узнал, что этот принцип — оставлять себе максимальную свободу выбора для принятия последующих решений — в философии называется принципом неокончательных решений Габора. Любопытно, что он также применяется в некоторых алгоритмах машинного обучения.
Вообще, это очень красивая и заманчивая идея, что одна и та же математика может использоваться в медицине, биологии, геологии, социологии, бизнесе. Никогда не знаешь, чем будешь заниматься через три года. Можно менять вид деятельности, оставаясь компетентным специалистом с большим опытом работы. Например, сейчас я занимаюсь анализом текстов, компьютерной лингвистикой. Если бы мне пять лет назад об этом сказали, я бы не поверил.
– Какое образование нужно получить, чтобы стать специалистом в машинном обучении?
– Главное — любить математику, программирование и компьютерные технологии. Ещё очень важно быть в душе исследователем, то есть интересоваться, как устроен мир. Любая задача машинного обучения — это прежде всего математическое моделирование какой-то конкретной предметной области, в которой вам должно быть не противно разбираться, причём делать это надо быстро и глубоко.
Машинное обучение, и в особенности глубокое обучение, сейчас на пике популярности. Но я бы не рекомендовал ограничиваться только этим. Популярность приходит и уходит, да и не каждую задачу удобно решать с помощью глубокого обучения. Важно уметь подобрать метод под задачу, а не подходить к любой задаче со своим универсальным молотком. Можно увлекаться последними научными трендами, но широта кругозора важнее.Чтобы стать специалистом по Data Science, нужно хорошо знать такие разделы математики, как теория вероятностей, математическая статистика, методы оптимизации, линейная алгебра, структуры данных и алгоритмы. Из информатики понадобятся технологии баз данных, параллельные и распределенные вычисления, язык программирования Python. Для работы в области нейронных сетей пригодятся базовые знания нейрофизиологии.Из московских вузов я бы порекомендовал МФТИ, факультет вычислительной математики и кибернетики МГУ, в частности, кафедру математических методов прогнозирования, которая давно занимается машинным обучением. Хорошее высшее образование можно получить и на факультете компьютерных наук в НИУ ВШЭ, созданном совместно со Школой анализа данных «Яндекса». Из учебных заведений Санкт-Петербурга я бы выделил ИТМО и СПбГУ.
– Какие компетенции необходимы специалисту по машинному обучению?
– Быть «универсальным солдатом» анализа данных означает уметь многое: формализовать требования заказчика, разобраться в специальной литературе, найти и применить стандартные методы, при необходимости изобрести свои, более «заточенные» под задачу, внедрить, протестировать, найти ошибки, вернуться в самое начало, чтобы их исправить, и так несколько раз по кругу. Это сценарий типичного проекта по анализу данных. Если ты умеешь что-то одно из этого, то ты простой исполнитель. Если ты прошёл весь круг много раз и умеешь работать с людьми, то ты готов управлять такими проектами.
Мне кажется, что главное не в компетенциях. Анализ данных — это творческая работа, способная доставлять удовольствие. Меня в свое время заворожила возможность заставить компьютер делать то, что я хочу, и так я увлёкся программированием. Когда профессия совпадает с хобби, компетенции нарабатываются очень быстро.
– Будут ли специалисты по Data Science востребованы в ближайшем будущем?
– Сегодня мы видим настоящий «бум» Data Science. Это связано с тем, что уже пару десятилетий компьютеры повсеместно собирают данные. Закономерно встал вопрос, что с этими данными можно сделать. Как из них извлечь пользу для бизнеса, производства, науки? Неудивительно, что специалисты по молодой дисциплине Data Science, умеющие использовать данные для получения полезных знаний и создания автоматических систем, сейчас очень востребованы. Чем более «компьютеризированной» будет наша жизнь, тем больше людей будут заниматься анализом данных. Это профессия будущего.
Кроме того, мы ещё не знаем всех возможностей искусственного интеллекта. Нас наверняка ожидают новые прорывы, похожие на тот, что уже случился в компьютерном зрении. Например, в 2016 году произошёл взрыв интереса к чат-ботам (виртуальным собеседникам — прим. сайта). На мой взгляд, это перегретые ожидания, и вместо разговорного интеллекта мы пока видим его имитацию. Однако, когда сотни тысяч умных людей по всему миру с энтузиазмом берутся разрабатывать модное научное направление, из этого иногда выходит толк.
– Если специалисту по машинному обучению захочется попробовать себя в другой области, куда он может пойти работать?
– Специалист по анализу данных всегда работает на стыке с какой-нибудь другой областью. Это может быть медицина, геология, финансы, связь, транспорт, промышленное производство, социология, маркетинг, да что угодно! Можно проработать несколько лет в одной области и там остаться. Иногда я наблюдаю противоположную картину. Люди других профессий начинают увлекаться анализом данных и машинным обучением, когда видят, какие огромные возможности оно открывает.
– Существуют ли кружки, где школьники могут получить практические знания по машинному обучению?
– С каждым годом у подростков появляется все больше возможностей «попробовать» будущую профессию. Этим летом я преподавал в проектной смене Образовательного центра Сириус. Центр принимает детей 10–17 лет. Мы со школьниками занимались анализом электрокардиограмм (записей биоэлектрической активности сердца — прим. сайта) для медицинской диагностики. Многие реальные задачи анализа данных возможно упростить до доступного детям уровня математики и программирования. У ребят появляется огромный энтузиазм, когда они видят, что это настоящее дело, что оно нужно людям. Мы ставили задачу в виде конкурса, соревновательной игры, и это тоже понижало входной барьер. Конкурс по анализу данных становится точкой входа в предметную область, например, в медицину. Это какой-то совершенно новый элемент в школьном образовании. Тут есть над чем вместе подумать учёным и педагогам.
В Москве школьники могут присоединиться к малому ШАДу — школе анализа данных для старшеклассников, организованной компанией «Яндекс». Кроме того, школьник может принять участие в различных конкурсах по анализу данных.
– Что представляют собой конкурсы по анализу данных?
– Различные компании выкладывают свои наборы данных и ставят задачу, например, повысить точность прогнозов, а любой желающий может предложить свое решение. Такие конкурсы существуют уже более 10 лет, большинство из них проводится на платформе Kaggle (kaggle.com). Практически всегда победителю конкурса полагается денежный приз. Помимо вознаграждения, победы в соревнованиях дают важную строчку в резюме. Для начала не обязательно глубоко разбираться в машинном обучении, достаточно овладеть несколькими приёмами. Опыт и знания придут со временем.Один из первых конкурсов в 2006 году организовала американская компания Netflix, занимающаяся прокатом видео через интернет. На тот момент 70% ее выручки приходилось на персональные предложения фильмов через сайт. Предложения формировались с помощью машинного обучения, и компания хотела повысить качество своих рекомендаций на 10%. Они назначили приз в один миллион долларов — это был первый конкурс со столь крупной суммой. В течение трех лет на Netflixprize.com соревновались лучшие специалисты со всего мира. Это оказалась весьма выгодно для компании, ведь за миллион она не смогла бы нанять такую армию профессионалов. Успешный опыт Netflix потянул за собой череду конкурсов, с тех пор их популярность постоянно растёт.
Конкурсы по анализу данных могут служить не только для поиска новых бизнес-решений, но и способствовать популяризации науки среди школьников и студентов. Мы уже работаем над созданием ресурса, на котором компании и университеты могли бы выкладывать свои задачи в форме конкурсов анализа данных, сопровождая их просветительскими и обучающими материалами. Компания Kaggle выкладывает довольно скупые описания задач, рассчитанные на профессионалов. Нам хотелось бы сместить этот акцент, чтобы любой желающий мог разобраться в задаче и поучаствовать в её решении. Это даст школьникам и студентам шанс позаниматься реальным делом, порешать проблемы на переднем крае науки и технологий и получить входной билет в интересную профессию.
– Есть ли у вас какая-либо ролевая модель? Про кого школьникам было бы полезно узнать?
– Какой-то одной модели нет. Было много людей, которые воодушевляли. Одним из первых был Учитель моего Учителя, академик Юрий Иванович Журавлёв. Когда я был студентом Физтеха, он рассказывал нам, как в 60-е годы ему досталась задача о прогнозировании месторождений золота на территории СССР. Задача выглядела совершенно «гиблой» с точки зрения математической статистики тех лет — построить функцию в 150-мерном пространстве по 17 точкам. Тогда было придумано оригинальное решение, используемое в машинном обучении по сей день. И были найдены два месторождения, ровно там, где указал алгоритм. Когда я попал к Журавлёву в отдел, он нам «по секрету» рассказал, что для геологов не менее важным оказался способ табличного представления данных, который привнесли математики. Когда данные были упорядочены и систематизированы, геологи стали замечать в них закономерности без всяких компьютерных вычислений. Мы привыкли к банальной истине, что математика — это универсальный язык, способный навести порядок в любой сложной области. Но когда тебе показывают, как это происходит в каждом конкретном случае, это всегда ярко и неожиданно. Открытия часто происходят не там, где их ожидают.
Очень рекомендую найти мемуарную литературу про научные школы Михаила Моисеевича Бонгарда в ИППИ АН СССР и Марка Ароновича Айзермана в ИПУ АН СССР. Это были выдающиеся учёные и организаторы, увлечённые идеями кибернетики и создания искусственного интеллекта. Удивительна атмосфера искреннего научного поиска, которую им удавалось поддерживать в своих коллективах. Вряд ли я смогу передать это в двух словах — надо читать воспоминания людей, которые работали вместе с ними.
Из современных зарубежных учёных рекомендую обратить внимание на работы Джеффри Хинтона — специалиста по нейронным сетям и глубокому обучению. Это ученый с мировым именем, один из создателей этого направления. Также я рекомендую школьникам обратить внимание на выступления и лекции гуру машинного обучения, главы кембриджского департамента Microsoft Research Кристофера Бишопа. По его учебникам учатся в ведущих университетах мира. Его научно-популярные лекции — это настоящие шоу. Он иллюстрирует многие концепции компьютерных наук столь же наглядно, как физические или химические опыты. У него есть короткие видеолекции, предназначенные для школьников.
– Что вы могли бы посоветовать почитать или посмотреть школьникам, заинтересовавшимся машинным обучением?
– Я бы порекомендовал посмотреть видеолекции малого ШАДа. У них замечательный материал, который будет полезен школьникам.
Недавно в издательстве «Манн, Иванов и Фербер» вышла популярная книга довольно известного учёного Педро Домингоса «Верховный алгоритм». В ней нет формул, но есть огромное количество примеров того, как машинное обучение входит в нашу жизнь. Кажется, ему удалось сделать невозможное — книга будет интересна и школьнику, и бизнесмену, и профессионалу в области анализа данных.