Подборка видео-диалогов с топовыми российскими представителями индустрии Data Science с текстовой расшифровкой наиболее интересных моментов бесед.
Редакция proglib.io посмотрела четыре неторопливых беседы создателей и лекторов открытого курса машинного обучения Юрия Кашницкого и Алексея Натекина с русскими звездами индустрии Data Science: К. Воронцовым, А. Дьяконовым, Е. Соколовым, Э. Драль и В. Кантором.
Просмотр этих видео может представлять трудоемкую задачу: общая длительность бесед составляет более четырех часов, поэтому мы конспективно выделили из них основные мысли и объединили в группы вопросы, касающиеся современного состояния и прогнозов развития индустрии Data Science. Цитирование исключительно из соображений краткости не дословное – некоторые моменты опущены.
Видео-диалоги со звездами из индустрии Data Science
https://www.youtube.com/watch?v=DR3mgnEKRgI
Константин Воронцов рассказывает об опыте в преподавании машинного обучения различным слушателям, о цифровой экономике, конкурсах и популяризации машинного обучения, цифровой экономике, чтении статей, нужно ли в индустрии Data Science хорошо знать математику, и почему так хорошо работают деревья решений.
https://www.youtube.com/watch?v=qV3yjIyj7Dc
Александр Дьяконов отвечает на вопросы о современном состоянии индустрии Data Science, соревнованиях на Kaggle, собеседованиях кандидатов на должность аналитиков данных, о сочетании теории и практики, терминологии, наследии советской математической школы распознавания образов.
https://www.youtube.com/watch?v=Dmkx6KGrjx8
Евгений Соколов рассказал о преподавании машинного обучения оффлайн и онлайн на опыте специализаций на платформе Coursera, предыдущей работе в Yandex Data Factory и текущей должности в Яндекс Дзен.
https://www.youtube.com/watch?v=dqt6I8dv9UQ
В этом видео разговор зашел о текущих проектах Эмили Драль и Виктора Кантора, образовательных программах, книгах, стартапах в индустрии Data Science, а также сложностях в оптимизации при помощи машинного обучения технологических процессов на крупных производствах.
Образование в индустрии Data Science
Как лучше изучать Data Science, представляет ли онлайн-образование угрозу живому общению с преподавателем?
Евгений Соколов:
Онлайн-образование – это, скорее, для тех, кто уже что-то изучал раньше и работает, но хочет переквалифицироваться. Для молодого человека важна атмосфера учебы: наши студенты делают вместе домашки, ходят на хакатоны, совместно участвуют в соревнованиях Kaggle, много общаются. В онлайне ничего подобного нет. Легко потерять мотивацию. Стыдно признаться, но сам я ни один курс не прошел до конца. Когда Coursera только появилась, начал слушать курс Эндрю Ына, но в какой-то момент надоело. Но проходить нужно, особенно если для тебя это совершенно новая область.
Виктор Кантор:
Я восхищаюсь теми, кто прошел нашу специализацию на Coursera, потому что я за свою жизнь ни одного онлайн-курса до конца не прошел.
Константин Воронцов:
Если вы что-то хотите твердо знать, возьмите на себя обязанность читать про это курс лекций, и вы никогда этого не забудете, или, по крайней мере, делитесь с другими. Человек, живущий в мире, где знания очень важны, получив определенный набор знаний, должен его осмысливать, систематизировать и передавать другим, подготовив материал так, чтобы его поняли.
Нужна ли индустрии Data Science школа менеджмента проектов?
Евгений Соколов:
У ВШЭ уже есть такой курс, который читает Саша Белугин. Это курс для магистров по программе Сбербанка. На факультете бизнеса и менеджмента Вышки тоже собираемся сделать такой курс. Он будет ровно про то, как устроен проект. Не нужно быть дата-сайентистом, чтобы понимать, что есть данные, метрики, модели, эксперимент и на что на каждом этапе обращать внимание. Какой есть чек-лист, какие инструменты, почему с данными может что-то не так пойти.
Виктор Кантор:
Основная проблема в таком обучении в том, что проще всего качественно его организовать, если привлечь к обучению хороших специалистов. Неловкий момент в том, что хороших специалистов по менеджменту проектов еще меньше, чем хороших дата-сайентистов. Отчасти поэтому, если вы становитесь более высокоуровневым дата-сайентистом, важны менеджерские компетенции.
Эмели Драль:
Я бы в этом месте обратилась к опыту компаний, делающих это хорошо и активно занимающихся проектной работой. Это, в первую очередь, консалтеры и аудиторы, у которых есть международная практика по этим вопросам. У нас многие из них представлены. Такие компании, как McKinsey. Я бы пошла к ним за этим опытом, потому что наверняка у них всех есть курс молодого бойца и курс для менеджеров. Это должен быть joint-курс от специалистов в индустрии Data Science и специалистов в области управления проектами.
Нужно ли такое количество специалистов в индустрии Data Science, которое сейчас проходит курсы?
Александр Дьяконов:
Когда массово начинают готовить дата-сайентистов, я не совсем верю, что это приведет к какому-то положительному всплеску. Важнее вопрос культуры – скольким людям из других специальностей можно будет объяснить то, что их задачи можно решить этими методами, вот это может породить востребованность дата-сайентистов.
Как скоро мы увидим машинное обучение или статистику в школьной программе?
Константин Воронцов:
Мы с коллегами из МФТИ об этом думаем, и пытаемся собрать сообщество единомышленников или примкнуть к уже существующим сообществам школьных учителей, – в первую очередь по информатике и математике, – имеющих энтузиазм продвигать Data Science в школе.
Может быть, сейчас это преждевременно, но мы с этим столкнемся в следующее десятилетие, что это та профессия, которая с высшей школы перейдет на уровень средней. В каком виде перейдет – это интересный вопрос, потому что любую хорошую идею можно довести до полного идиотизма, если реализовать ее без ума. Если школьнику начать рассказывать про аксиомы теории вероятности, можно напрочь загубить эту идею. Если же объяснить, что есть масса востребованных прикладных задач, например, показать наглядные примеры задач компьютерного зрения, то это уже лего-конструктор, такие технологии можно собирать из кубиков.
Школьники не будут понимать на глубоком уровне, как устроены нейронные сети, не будут знать математики, что такое AdaGrad, Adam или градиентный метод, но у них будет мощнейшая мотивация узнать об этом, когда начнут изучать теорию вероятности, оптимизацию, машинное обучение, и, может быть, самые заинтересованные начнут это изучать сразу.
Сейчас мы подняли историю о том, как в школе можно изучать какую-то инженерную область, которая нам кажется заоблачно сложной. Но достаточно вспомнить кружки авиамоделизма в Советском Союзе и Германии: не было бы кружков самолетостроения для молодежи – не было бы ни Люфтваффе в Германии, ни стольких наших летчиков и конструкторов.
Инженерная деятельность, вовлекающая людей со школы, очень важна – имея мотивацию сделать что-то практичное, люди быстро достигают больших высот. И неважно, что это – радиолюбительство, авиастроение или искусственный интеллект. Человек, который захотел это делать своими руками, в деталях разберется сам, а если ему помогут, он разберется в десять раз быстрее и лучше. Надо помогать таким людям, чтобы были кружки, центры, где такие дети могли заниматься под руководством опытного наставника. Важно найти таких людей, готовых с детьми этим заниматься.
Математика, методы и библиотеки в индустрии Data Science
Насколько нужна математика специалистам индустрии Data Science?
Константин Воронцов:
Вы можете быть уверенными, что поняли метод до конца, если готовы от начала до конца его запрограммировать. Когда я начинал разрабатывать курс машинного обучения в 2004 году, я поставил себе именно такую задачу. Как программист с 15-летним стажем на тот момент, я понимал, что если передо мной стоит задача запрограммировать алгоритм машинного обучения, я должен понимать его до каждой буквы, и моя задача, как преподавателя курса машинного обучения,– привести слушателя от постановки задачи через всю математику к тому состоянию, когда он скажет: да, я готов пойти это запрограммировать. Но есть два типа аудитории.
Есть специалисты Data Science, которых мы готовим к тому, чтобы они были разработчиками новых методов. Они должны знать математику на том уровне, чтобы уметь разрабатывать новые алгоритмы. Но таких людей нужно немного, потому что огромное количество алгоритмов уже сделано. Если вы хотите сделать тысяча первый алгоритм, нужны веские, профессионально аргументированные соображения, чтобы доказать сообществу, что ваш алгоритм нужен.
Людей, умеющих пользоваться готовыми алгоритмы, нужно в 50-100-500 раз больше. Кажется, что проблема как преподавать Computer Science и проблема «больше математики или больше инженерии» имеет такой ответ: нужно и то, и другое, но математику вы должны преподавать тщательно отобранному множеству людей, осознавших себя как творцы, конструкторы новых методов. Основной же массе нужны навыки использования технологий. Им не придётся сталкиваться с проблемами сходимости, потому что подобные проблемы решены до них, и есть готовые «кубики», позволяющие настраивать нейронные сети правильно, в них встроены даже недавно созданные инструменты. Они должны знать что такое back propagation, градиентный спуск и т. д., но в объеме, необходимом для понимания.
Чтобы вы добавили в текущие образовательные программы по анализу данных и машинному обучению? Как вы оцениваете качество таких программ в России?
Александр Дьяконов:
Во-первых, качество высокое. Курс Воронцова хороший, возможно, лучший курс в мире. Я понимаю, что молодежь не очень его любит, по некоторым высказыванием в интернете, комментариям. С точки зрения продуманности подачи материалов и прочего, Костя сделал просто шедевр. Может быть, он сейчас устаревает. Можно постоянно добавлять что-то новое, как только появляется новый объект исследования, как как только появляется какой-то достаточный материал. Тот же курс глубокого обучения лишь недавно появился, как отдельная дисциплина. И он может пополняться, каждый месяц выходят статьи, где используют нейросети, появляется что-то новое. То, что я специально включил в свой курс, потому что этого нигде нет или мало, это анализ соцсетей при помощи динамических графов.
Как вы видите наследие советской математической школы распознавания образов в сегодняшнем машинном обучении?
Александр Дьяконов:
Вроде бы действительно многое из того, что сейчас активно используется на Западе, было изобретено в Советском Союзе нашими людьми. Те же многослойные нейросети, EM-алгоритм, метод потенциальных функций, нечеткие множества и так далее. Вроде бы это все было сделано у нас, а потом и повторено на Западе, в том числе и без ссылок. То есть, с одной стороны, есть повод нами гордится.
С другой стороны, скажу вещь, с которой Воронцов, наверное, не согласится – историю пишут победители. Да, Ивахненко сделал многослойные нейросети, но что они показали – отличили они кошечку от собачки или нет? То, что делается сейчас, это реально работает, и мы можем это увидеть. Поэтому молодежь изучает машинное обучение по западной литературе, говорит не машинное обучение, а Machine Learning, признаки называют фичами и так далее. Потому что хороших русских учебников нет, русских курсов пренебрежительно мало, зато куча западных курсов, западных методов и библиотек.
Google выложила TensorFlow, Яндекс выложил CatBoost, сравните уровень. Не хочу ничего сказать плохого про Яндекс, разговор просто про две ведущие компании. Вот даже в тех областях, в которых мы вроде бы хороши, на Западе уходят далеко вперед, а молодежь смотрит на победителей. Поэтому кто сейчас будет вспоминать, где сделаны эти нейросети, если используют библиотеки, сделанных на Западе, может быть, даже русским программистами. Тут с этим с этим ничего не поделаешь. Выяснять кто же первым это сделал должны заниматься историки науки, чтобы была историческая справедливость.
Ваше отношение к CatBoost?
Евгений Соколов:
Мы успели позапускать его в Дзене на разных задачах. Из коробки дает качество выше, чем MatrixNet. Во-первых, потому что можно добавить категориальных признаков. Во-вторых, потому что разработчики классно поработали и даже если нет категориальных признаков, может показать качество лучше XGBoost.
Во многих задачах хорошо работают методы, основанные на деревьях решений. Есть ли работы, фундаментально объясняющие выбор критериев?
Константин Воронцов:
По всей видимости, деревья это такие же универсальные аппроксиматоры функций как нейронные сети или полиномы, но полиномы вычислительно неудобны и у них есть проблемы с неустойчивостью. Решающие деревья для регрессии это кусочно постоянный аппроксиматор, и важно то, что они обладают достаточной гибкостью, чтобы подстраиваться под любые сколь угодно сложные функции и обладают инструментами, которые удалось разработать против переобучения.
Критерий Джинни это хороший аппроксиматор энтропийного критерия. Возьмите графики энтропйного критерия и параболы, которую строит критерий Джинни. Между ними почти нет разницы, хотя одна функция состоит из логарифмов, а другая из кусочка параболы. Параболу сосчитать проще, а логарифм требует вычислительного ресурса. Поэтому лучше использовать критерий Джинни, хотя за энтропийным критерием и стоит мощнейшая теории информации.
Вся эта мощь теории информации во что-то выливается?
Константин Воронцов:
Все дело в увеличении отступа разделяющей полосы (margin) между классами. В бустинге каждое следующее дерево добавляет новый признак, на единицу увеличивая размерность пространства, в котором вы ищете решение. В этом пространстве постоянно растущей размерности увеличивается зазор между классами, и из этого теоретические оценки дают, что переобучение будет контролируемым.
Как согласуется с теорией то, что в бустинге, начиная с какой-то итерации, растет ошибка?
Константин Воронцов:
Когда вы строите кривую зависимости качества на контроле от числа деревьев и видите широкий пологий оптимум после 500 деревьев и до 3000, а потом возвращается маленькое переобучение, это смешно называть переобучением. Да, оно возникает по причинам второго и третьего порядка малости, но это не та проблема, которую стоит изучать в смысле решения прикладных задач. На практике берут минимальное количество деревьев, при котором качество обучения уже нормальное.
Глубокое или глубинное обучение?
Константин Воронцов:
Глубокое. Я сторонник такого перевода на русский язык. Когда-то с Димой Ветровым у нас была в e-mail перепалка по этому поводу. Я считаю, что слово «глубинное» имеет в русском языке другой смысл: глубинным бывает залегание нефти, бомбометание, отложение и т. д. Глубокое это более математичный термин, потому что суперпозиция функций может быть глубокой, но не глубинной, а нейронная сеть это именно суперпозиция функций.
Работа и трудоустройство в индустрии Data Science
Какова ситуация в России с ML-стартапами ?
Эмели Драль:
У нас таких стартапов довольно мало, но, все-таки они есть. Есть ребята, которые оптимизируют производство, различные сервисы прогнозирования аномалий. Более того, в них них инвестируют, и это неплохо развивается. В Европе, конечно, гораздо больше, причем это не обязательно Лондон, но и Германия, там довольно сильно развит технологический стек и много заводов, производства, поэтому там базируются многие технологические стартапы. Много Азии: Китай, Япония, большие производства, тяжелая металлургия. Конкурентов хватает. К счастью, пока нет одного игрока, который делает это сильно лучше, чем остальные, хотя есть интересные компании.
Как готовиться к собеседованиям? Каких навыков и знаний не хватает специалистам, приходящим на работу в индустрии Data Science?
Александр Дьяконов:
По-моему опыту, сейчас людей не надо готовить. Многие понимают свой уровень подготовки. Тонкий вопрос – куда можно устроиться и как, если ты совсем новичок. Некоторые компании имеют программы стажировок, другие только нанимают. Многому можно научиться в домашних условиях.
Другое дело, вот пример самой странной ситуации на собеседовании. Мы нанимали парня из Новосибирска, неплохого ученого, с медалью Академии Наук за лучшую работу, преподавателя машинного обучения, который мог рассказать о любом из алгоритмов, то есть имеются необходимые математические знания. Но потом мы задали несколько простых вопросов на программирование: есть список на Python ['a', 'b', 'c', 'd'], чтобы получить ['d', 'c', 'b', 'a']? Элементарный вопрос на знание синтаксиса языка. Он говорит: я не могу так, на бумажке, мне нужен компьютер с доступом к интернету, я загуглю. Зачем мне сотрудник, который каждую строчку кода будет гуглить?
Эмели Драль:
Во-первых, многим техническим специалистам не хватает навыков, связанных с soft skills, подразумевающие понимание того, что конкретно требуется бизнесу, как эту задачу решить, постановка задачи, оценка потенциального эффекта, разработка сервисов.
Также навыки общения, научиться говорить с людьми, общаться, не обязательно с техническими специалистами, потому что в жизни часто нужно уметь работать с конкурентами, заказчиками, с бизнесом, с менеджерами, разработчиками, сисадминами. Важно уметь выстраивать взаимоотношения так, чтобы тебя понимали. И не останавливаться учиться, в нашей специальности технологии меняются каждый день.
Виктор Кантор:
Иногда человек думает что он понимает то, что рассказывает, но начинаешь беседовать и странные вещи случаются: и метод главных компонент отбирает признаки, и много чего весёлого. Но это полбеды. Больше всего не хватает понимания того, как ставить задачу и мерить качество.
Какие советы можно дать по работе с заказчиками и пользователями?
Евгений Соколов:
Когда общаешься с заказчиками, важно выстроить с их стороны правильное понимание, что вы можете сделать а что нет. Журналисты много пишут о машинном обучении и искусственном интеллекте, но мало кто изучает что оно может.
Относительно конечных пользователей также важно понимать, насколько важен дизайн сервиса. Вы бьетесь над повышением качества модели, строите факторы, собираете данных, а потом оказывается, что увеличение какой-нибудь иконки в два раза повышает отклик. Наверное, скоро это станет более популярной штукой, но пока часто это находится методом проб и ошибок.
Как совмещать академическую деятельность и коммерческую сторону индустрии Data Science?
Константин Воронцов:
Общепризнано, что мышление ученого и мышление бизнесмена это две разных системы ценностей. Попытка объединить это в одном мозге это полезное упражнение, через которое, хотелось бы, чтобы многие из нас проходили – те, кто хочет доводить научные достижения до практической реализации.
О чем я говорю, когда говорю о системе ценностей? Мы с вами говорим о профессии анализа данных, но вот вопрос о смысле жизни: а зачем я живу вообще и зачем проснулся сегодня утром? Как ученый и бизнесмен отвечают на этот вопрос? Для ученого это познание мира. Если для ученого есть загадка или неразрешенный вопрос, это не дает ему спать спокойно, он хочет найти ответ.
У бизнесмена другой ответ – он живет ради успеха, того, чтобы что-то создать. Но эти вопросы для многих бизнесменов отодвигаются на задний план, и они отвечают себе честно: я хочу много заработать. Это нехороший ответ, потому что деньги никогда не являются самоценностью. Заработать денег это не смысл жизни, это инструмент. Возникает вопрос: а для чего тебе это нужно сделать?
Здесь тоже возможно много разных ответов, например, я хочу быть свободным или я хочу быть созидателем. Это уже ответ, который мне нравится, и он в некотором смысле максимально близок мне. То есть я исходно ученый, и мой смысл жизни это узнавать что-то о мире, но второй, или даже равный по величине смысл это что-то созидать.
Если это компания, организация, которая строит какую-то услугу, которой будут пользоваться миллионы людей, тогда вы автоматически станете богатым. В любом случае система ценностей бизнесмена основана на том, чтобы быть социально-успешным – делать компании, создавать продукты.
Эти системы ценностей начинают пересекаться по одному важному элементу – когда вы хотите создать что-то новое, когда вам нужно соединить бизнес и науку: вы хотите получить какую-то новую услугу, которую до вас никто не делал, вам нужны инновации.
Нужна ли в индустрии Data Science академическая степень?
Евгений Соколов:
Мне кажется, что в любой компании, если ты можешь принести пользу на этой позиции, тебя на нее возьмут. С другой стороны, это хороший повод окунуться в академическую среду и полноценно провести исследование. Однако есть проблема в том, что в этой процедуре много бюрократии, хотя сейчас уже есть подвижки к тому, чтобы защита диссертации могла проходить по совокупности трудов.
При оптимизации крупных производств, как поступать в ситуациях, когда цена ошибки False Positive может быть велика?
Эмели Драль:
Сервисы, прогнозирующие аномалии на крупных производствах, работают не «в вакууме». Есть огромное количество сервисов, не связанных непосредственно с анализом данных, в частности автоматики, которая банально не даст все сломать. Если что-то идет не так, производство будет остановлено независимо от ваших сервисов.
Что касается ошибок, сложность в том, чтобы обучиться. Даже если у завода богатая история, аномалии – довольно редкие события, причем они все разные. Это несбалансированная классификация. Можно пытаться объединяться с другими заводами либо производительными центрами, чтобы расширять свою базу, потому что любая дополнительная аномалия существенна, особенно если их всего несколько десятков.
Также важно строить сервисы с некоторым количеством коллбэков: то есть, если ты понимаешь что модель сейчас возвращает вероятность минорного класса, но непонятно так это или нет, можно воспользоваться другими системами. Например, мы строим различные комбинации, где само решение принимается не только одной моделью, но также есть физико-химическая модель или термодинамическая, которая с другой стороны смотрит на эту проблему, и делает этот прогноз с точки зрения физики процесса.
Если есть свободный эксперт, его можно отправить посмотреть, но злоупотреблять этим не нужно, потому что иначе специалисты могут перестать доверять модели и следить за ее результатами.
Что делать людям, желающим сменить профессию после 30, но не готовым быть стажером в Data Science?
Александр Дьяконов:
Допустим, мне надоел Data Science и я хочу заниматься медициной, быть хирургом. Но что-то мне не хочется в медицинском вузе учиться, хочу сразу в операционную. Ситуация глупая, но аналогичная. Важно как человек будет решать поставленные заказчиком задачи, будут ли решения соответствовать критериям оценки. Готов ли человек им соответствовать. Карьеру каждый делает себе сам, но чем ты больше захотел, тем больше с тебя спросят.
По поводу 30-летних – в последнее время я чаще собеседую людей примерно в таком возрасте, которые действительно меняют сферу деятельности. Не совсем кардинально – кто-то занимался финансами, классической статистикой. И они неплохо подготовлены. Месяца четыре они проходили какие-то курсы, и у них прекрасные знания. То есть формально нет многолетнего опыта в этой сфере, но было что-то в другой, и этого достаточно, если человек проникся.
Нужно ли нам догонять зарубежных коллег?
Константин Воронцов:
Обгонять и догонять нужно, и важно. Не по одиночке распыляться и уезжать на Запад или Восток, а именно догонять здесь. Развитие искусственного интеллекта это стратегическая задача любого государства, которое хочет считаться развитым. У нас нет другого выхода, кроме как догонять. В России много коллективов, которые занимаются и компьютерным зрением, и глубокими нейронными сетями, и тоже имеют свои достижения, которые не стоит преуменьшать.
Новые направления в индустрии Data Science
За какими направлениями и авторами в индустрии Data Science вы следите? Что нужно делать, чтобы не «опоздать на поезд»?
Александр Дьяконов:
Сам я опоздал, так как я уже не успеваю за текущим валом статей и уже смирился. Быть совсем в курсе надо людям, у которых есть соответствующую мотивация, которые работают в научной группе, ездят по топовым конференциям и в курсе не то, что статей за прошлый год, а вышедших в течение последнего месяца на arXiv. Потому что иначе возможна такая ситуация, что рецензенты напишут: вот, вы провели эксперименты, а результаты уже улучшены там-то и там-то, и их позавчера выложили.
Евгений Соколов:
Такое ощущение, что чтобы быть в теме того, что происходит, нужно читать статей по сорок в неделю с arXiv и еще какие-нибудь туториалы смотреть. Я не успеваю, конечно, это делать. Почитываю материалы, езжу на конференции, конференции действительно помогают. Минус конференций в том, что у многих докладчиков плохо с презентационными скиллами.
Константин Воронцов:
Здесь есть общая рекомендация: надо читать статьи с топовых конференций и регулярно просматривать ArXiv. Сказать что-то про области было бы неправильно – через две недели появится новая область, а я ее сегодня вам не назову. Общий принцип состоит в том, чтобы исповедовать правило: день без прочитанной статьи прожит зря. Это правило хорошо подходит для ученых – оно им просто жизненно необходимо. Но и исследователи в индустрии Data Science тоже должны следовать этому правилу, пусть не раз в день, хотя бы раз в неделю.
Есть источники, где вы прочитаете последние «хайповые»новости. Но я считаю, что у ученого должен быть долгосрочный научный интерес. Мне не нравится, когда все кидаются на одну и ту же тему. К чему это приводит? Конечно, к тому что эта область начинает развиваться интенсивно, и когда уже тысячи ученых работают над одним и тем же, они эти проблемы быстрее решат. Это с одной стороны правильно, но с другой стороны неверно складывать все яйца в одну корзину – мировая наука, как живой организм, должна двигаться по всем фронтам одновременно, и неправильно бросать какие-то направления.
Мы знаем много грустных историй про то, что направление когда-то было заброшено, потому что все, кто им занимались, ушли в другие области, и потом через 15 лет мы возвращаемся к этому же, и теперь оно становится хайпом. Никакие направления в науке не достойны того, чтобы их забрасывать и заниматься только чем-то одним.
Чтобы не быть голословным – история с многорукими бандитами. Ведь это направление было совершенно заброшено и забыто, когда все осознали, что в машинном обучении возникает все больше приложений, где обучаться надо по мере поступления данных, и не по ответам учителя, а по некой реакции среды. Когда возникла масса бизнес-приложений, эта схема обучения снова стала в моде, и о ней вспомнили.
Эмели Драль:
Меня этом плане мотивирует работа со студентами, потому что когда ты являешься научным руководителям, ты не можешь просто сказать студенту читать статьи, поэтому что это его работа, ты должен сам с этим разобраться.
Ваше мнение о площадке Kaggle, плюсы и минусы?
Александр Дьяконов:
Основной минус то, что это не задачи, которые приходится решать в бизнес-сфере, но Kaggle для этого не создавался. Сейчас практически нет соревнований, которые бы моделировали реальные ситуации. Но на сайте не написано, что на нем решаются задачи, которые полезны обществу. Соревнования не предназначены быть полезными. Kaggle полезен конкретным участникам, потому что они набираются опыта. У них появляется четкий критерий для оценки методов.
Что касается людей, участвующих в Kaggle – если человек активно участвует, то он может еще и рабочие мощности приспособить для этих соревнований. Это как наркотик, и многие, кто на это попадает, не могут остановиться. Но я советовал бы тем, кто занимается машинным обучением, не подсаживаясь на Kaggle, все-таки посвятить ему достаточный отрезок времени, то есть не Titanic порешать, а те задачи, что решает сейчас ограниченный круг лиц в режиме онлайн, то есть каждый только что начал, посмотрите на скрипты других, посмотреть что пишут люди на форуме, попробовать разные гипотезы. Так вы получите бесценный опыт.
До появления таких массовых соревнований методы ранжировались по типам задач, и создавалось много различных мифов, развенчанных в результате верификации на таких конкурсах, а другие методы становились популярны. Так был разрекламирован бустинг и глубокое обучение.
Константин Воронцов:
Главный плюс Kaggle – есть механизм, где можно давать задачи на конкурс. Минус в том, что часто задача выхолащивается, придумывается искусственный функционал. Либо выборка не очень соответствует реальным данным и условиям применения.
С помощью Kaggle мы узнаем, кто лучший решатель задач и где есть центры компетенции. Но мы можем с грустью узнать, что все победители в лидер борде применяли что-то настолько замороченное, что мы не сможем строить на этом бизнес-процесс. При этом может существовать на два порядка более простое решение, дающее на полпроцента худший результат, но решающее бизнес-задачу.
Я смотрю на конкурсы анализа данных, как на новый механизм тендеров в том, что можно назвать цифровой экономикой. Это экономический механизм для того, чтобы понимать насколько эффективно та или иная задача сейчас может быть решена и найти быстро того, кто может решить эту задачу. Эффективность несопоставима с любыми открытыми или закрытыми тендерами, независимо от степени бюрократии.
Плюс конкурсов – это способ популяризации тех или иных задач в сообществе. Конкурсы анализа данных в ближайшие годы возьмут на себя социально значимую миссию – объяснить обществу, где нужен Data Science. Это может стать точкой входа в любую отрасль науки/ Чтобы, например, сделать эксперимент в области физики, нужно обучиться этой профессии, иметь доступ к экспериментальному оборудованию.
Выкладываются данные с Большого адронного коллайдера, и вы можете попытаться обработать их на своем рабочем компьютере. У вас нет физической установки, но есть данные с нее. То же самое с данными из биоинформатики, молекулярной биологии, геологии. Вы поймете как добывают нефть, как залегают полезные ископаемые, станет понятно многое про астрономию, социологию. Мы сократили путь людям к познанию мира, дали возможность погрузиться в современную науку через анализ данных, открытые датасеты и конкурсы.
Если люди увидят эти возможности: конкурсы как экономический и социальный механизм вхождения в науку, если это соединить, мы начнем рушить барьеры между людьми и знаниями, входить в то, что называется Knowledge Society.
Учитываете ли вы при наборе в команду человека его опыт участия на Kaggle?
Александр Дьяконов:
Первично то, насколько сам человек хорош, насколько адекватен. Второе это знания, которые он может продемонстрировать в том числе сходу. Сейчас много онлайн-курсов, после которых человек может решить, что он освоил машинное обучение. Приходит человек с перечнем из десяти курсов, которые он прошел. Задаешь простой вопрос – какие методы кластеризации ты знаешь? Часто все заканчивается на методе KNN. На вопрос, как бы ты делал систему рекомендации слова «матричная факторизация» я слышу от одного из 10 людей. Естественно, я смотрю есть ли у кандидата соревновательный опыт. Хорошо, когда выложен какой-то код на GitHub. В последнее время я предлагаю решить в качестве тестовой задачу с соревнований.
Куда деваются специалисты индустрии Data Science в районе 40-45 лет?
Константин Воронцов:
Анализ данных был до того, как появились компьютеры. Роналд Фишер получил свои выдающиеся результаты как статистик в двадцатые-тридцатые годы. Байесовская теория классификации это середина тридцатых годов. Легко найти человека старше меня, который всю жизнь занимался анализом данных.
Ваш вопрос для меня скорее состоит в том, в каком возрасте заканчивается программист. Я закончился как программист в тридцать с небольшим лет, когда понял, что 1000 строк кода который я написал две недели назад, я помню намного хуже, чем 1000 строк кода, написанных семь лет назад.
Молодые люди, имейте в виду, что память у каждого человека со временем только ухудшается. У каждого индивидуально, со своей скоростью, но программирование это деятельность, которая целиком основана на том, что у вас хорошая память. Пока вы помните вашу программу, код, все идентификаторы, вы способны в ней разбираться эффективно. Но, как только вы понимаете, что для того, чтобы вспомнить роль каждой переменной, вам снова приходится лезть в то место, где она определена и еще в пару мест, где она используется, вы понимаете что вы пишете программу в 10 раз медленнее, чем тот парень, которого взяли на работу совсем недавно и он на 15 лет младше вас.
Программисты когда-нибудь заканчивается. Я знаю мало людей старше 40 со свежими мозгами, готовых выучить еще один язык программирования за пару вечеров. Программисты становятся менеджерами проектов. Даже несмотря на то что вы прекратили помнить ваш код, вы приобрели бесценный опыт, которого молодежь не имеет – опыт управления проектами, того как строить архитектуры.
Я выбрал другой путь, я вернулся в математику и стал заниматься преподаванием. Там тоже, наверное, когда-то наступает предел умственных способностей. Когда вы понимаете, что не можете обновлять ваш курс, с такой скоростью, как это требует современный темп развития науки.
Ваше отношение к использованию нескольких разнородных терминов для описания индустрии Data Science?
Александр Дьяконов:
В определенном смысле да, это новые лейблы. C другой стороны, они обозначают разные вещи. Machine Learning это научная дисциплина, Data Mining это прикладная область, Data Science это общее название наук о данных, в которые входят все этапы обработки данных, том числе базы данных и прочее. Big Data это больше коммерческий и технологический термин. Должен быть всем понятный коммерческий термин, которым стал термин Big Data. Каждый термин на какую-то свою цель рассчитан, в том числе искусственный интеллект. Я застал те годы, когда под ним понималось совершенно другое. Когда я учился в 90-е годы, люди которые занимались теорией формальных грамматик, говорили что они занимаются искусственным интеллектом. Мир действительно перевернулся в этой самой терминологии, поэтому я этот термин не особо люблю.
Константин Воронцов:
Мне нравится термин Data Science. Если хочешь быть дата-сайентистом, нужно быть немного математиком, знать технологии, быть готовым разговаривать с людьми из любых предметных областей: сегодня у тебя медик, завтра – геолог, послезавтра – продавец.
В 1989 году я закончил первый курс, и летом задался целью понять, что такое искусственный интеллект. Я обложился кучей книжек. Если грубо, искусственный интеллект это просто такое программирование, когда программа создает иллюзию интеллекта. Программы для игры в шашки или шахматы были примером, когда мы вынимаем из экспертов их знания и пытаемся уложить в систему.
Затем возникло понимание, что быстро мы сталкиваемся с барьером сложности, и если вы сделали систему из нескольких сотен правил "если то", вы не понимаете где они входят в противоречие или система вывода на этих правилах начинает делать нелогичные выводы. Пришло машинное обучение: не надо детально переносить знания экспертов из их голов в компьютер, давайте создадим компьютерный алгоритм, и будем его обучать по выборкам. Возникла мощная смычка со статистикой, которая давно этим занималась.
Если почитать отчеты Белого дома США конца 2016 года о влиянии искусственного интеллекта на экономику будущего, то это хороший образец взаимодействия между властью и наукой. Вместо того, чтобы кулуарно говорить о технологических тенденциях, они организовали несколько научных конференций. В этом поучаствовало около 3000 ученых, написавших по результатам три понятных отчета по 30-40 страниц.
В них без перегретых ожиданий описано, что происходит в искусственном интеллекте, где центры компетентности, в которых зарождаются технологии и что от этих технологий ожидать в ближайшее десятилетие. Материалы, которые обязательно надо прочитать каждому дата-сайентисту.
Там везде написано Artificial Intelligence, время от времени Machine Learning, но из содержания и из контекста вы понимаете, что между этими вещами поставлен знак равенства и сейчас люди понимают эти две вещи как синонимы.
Комментарии