Читать нас в Telegram

В Data Science работать непросто. Но еще сложнее — преподавать другим. Виктор Кантор делает и то, и другое. Днем он руководит Data Science в МТС, а ночью — обучает новых датасаентистов. Мы пригласили его в наш подкаст «Неопознанный искусственный интеллект», чтобы поговорить о преподавании Data Science, развитии технологий машинного обучения и, конечно, о будущем искусственного интеллекта.

Оглавление выпуска

02:37 – Как обучать крутых датасаентистов
04:29 – Как распознать инфоцыган, продающих некачественное образование
06:40 – Чем отличаются Data Mining, машинное обучение и Data Science
08:31 – Возможен ли сильный искусственный интеллект
16:35 – Что мешает преодолеть «узость» ИИ и так ли универсален человеческий мозг
24:14 – Как научить робота ловить рыбу и будем ли мы программировать на естественном языке
32:04 – Как стать крутым преподавателем Data Science и чем помогает игра в шляпу
38:22  – Как запускать космические корабли в далеком будущем
44:43 – Блиц: кто самый крутой русской датасаентист и о чем говорить с искусственным интеллектом

В выпуске были упомянуты

книги, ссылки, термины, персоналии

  • Deep Learning [01:56]
  • курс Data Mining in Action [06:56]
  • General Аrtificial Intelligence [08:48]
  • Sentiment Analysis (SA) [17:38]
  • Textual Entailment (TE) [18:04]
  • ImageNet [21:22]
  • Reinforcement Learning [25:28]
  • Deep Mind [30:16]
  • ворд эмбеддинги (word embeddings) [37:01]
  • Виктор Лимпицкий [44:54]
  • Илья Суцкевер [45:20]
  • Томаш Миколов [45:29]
  • Word2vec [45:36]
  • Эндрю Ын [45:41]
  • Джеффри Хинтон [45:52]

Ссылки и полезная информация

Текстовая версия выпуска

00:00 Даниил Скоринкин: Привет, друзья! С вами очередной выпуск подкаста “Неопознанный искусственный интеллект” от издания Системный Блокъ. Подкаст, в котором мы пытаемся разобраться, что называют искусственным интеллектом сегодня, есть ли в нем интеллектуальность и когда мы все уже останемся без работы из-за искусственного интеллекта. И сегодня у нас в гостях Виктор Кантор, чиф data scientist из МТС. А ведущие в студии у нас традиционные, обычные. Это я, Даниил Скоринкин, главный редактор Системного Блока, и…

 Анатолий Старостин:  И я, Анатолий Старостин, на данный момент руководитель службы развития технологий медиасервисов Яндекса.

Даниил Скоринкин: Вить, расскажи немножко о себе, о том, что ты делаешь в МТС и вне МТС на ниве data science, так сказать.

Виктор Кантор: У меня, скажем так, две жизни. Днем я chief data scientist в МТС, а ночью я преподаватель Data Science. Десять лет, с одной стороны, в индустрии, с другой стороны в преподавании, что в целом забавно меня характеризует, если я сразу же почти с первых дней в индустрии начал кого-то чему-то пытаться учить. Мы с коллегами запустили, наверное, самый популярный онлайн курсы на русском языке по машинному обучению. Это специализация на Coursera. Тогда мы все работали в Яндексе, эта специализация МФТИ и Яндекса совместная. Также мы с коллегами уже практически десять лет ведем, наверное, самые популярные офлайн курсы по машинному обучению, курс” Data Mining in Action”, там несколько треков: индустриальный трек, соревнования по анализу данных, классическое введение в ML deep learning. И конечно, в ВУЗах тоже преподаю.

образовательная вставка:

Deep learning, или глубокое обучение, — направление в машинном обучении, использующее многослойные нейросетевые архитектуры. Например, сверточные или рекуррентные нейросети. Глубокое обучение позволяет работать с низкоуровневыми признаками объектов (например символами в текстах или отдельными пикселям изображений). Нейросеть сама учится обобщать эти низкоуровневые признаки в высокоуровневые  — такие как очертания лица на фото или сочетания слов. Многие методы глубокого обучения были известны еще в 1980-е, но результаты не впечатляли до середины 2000х, когда вычислительные мощности наконец позволили создавать сложные работающие архитектуры нейронных сетей. 

Подробности про курс по датасайнсу

02:37 Даниил Скоринкин: Сколько народу у вас учится на офлайне?

Виктор Кантор:  На офлайне мы стабильно раз в семестр где-то челове 500 через себя пропускаем, 400-500.

Даниил Скоринкин:  То есть вы раз в полгода 500 новых data scientist’ов впрыскиваете?

Виктор Кантор: Но это не значит, что все доходят. 

Даниил Скоринкин:  А сколько доходит?

Виктор Кантор: По-разному. Где-то в районе сотенки к концу, потому что это все же добровольный курс и бесплатный…

 Анатолий Старостин:Я считаю, это все отличная конверсия, если одна пятая от людей действительно доходит до конца.

Даниил Скоринкин: И все находят работы?

Виктор Кантор: До работы да, многие доходят. На тему “все, не все”, ну, у нас была разная аналитика на этот счет. Мы, в частности, делали в конце некоторых запусков собеседование с работодателями и партнерами нашего курса. И по конкретным компаниям есть статистика в духе “Отсобеседовали 10 человек, наняли 8”, как-то так. 

Даниил Скоринкин: Ну, вот смотри, этот поток, сотни людей, которые идут в эту сферу, он показывает, что она на каком-то таком все еще хайпе, да?

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

Даниил Скоринкин: Как отличить таких недобросовестных инфо-цыган от настоящих преподавателей настоящего data science?

Виктор Кантор: Надо просто на их опыт посмотреть и на то, как они вкладываются в процесс. С одной стороны, если человек сам никаких особо достижений в data science не имеет, то есть это не обязательно, что этот человек совсем data science не занимается, но это может быть человек, который, вроде, в индустрии, но один из миллиона, условно. Он может чему-то научиться. Основы вполне можно у рядового data scentist’а узнать, но опять же тут момент: какой опыт преподавания? Поэтому если мы видим, что в преподавательском составе те люди, у которых опыт в индустрии и опыт в преподавания хороший, то понятно, что можно более-менее доверять по модулю одного-другого момента, что люди, у которых богатый опыт, иногда начинают просто на нем выезжать, начинают просто забивать на то, чтобы что-то сделать. И в итоге, получается, что не очень полезный курс может быть, просто потому что мы, не знаю, просто позвали кого-нибудь, как свадебного генерала, а большую часть занятий провели менее опытные ребята. Или наоборот, человек очень разгильдяйски относится к тому, что делает, или одни и те же лекции то и дело начитывает, никак их не улучшая, не думает, как лучше донести мысль. На тему того, чтобы что-то не сделать — это проблема всех опытных людей, то есть если человек в индустрии, ему же нужно свои индустриальные задачи тоже делать.

 Я вот, например, когда уходил с должности чив scientist’а из Яндекс.Такси, я уходил как раз попреподавать и поконсультировать просто по data science. И я думал: “Интересно, получится ли сочетать преподавание без какой-то активной работы в data science?”. И сочетать это получается, но вот возникает ощущение, что ты немножко устареваешь и уже право учить людей теряешь, такое моральное. Понятно, что нет никаких вот этих вот переключателей, где-то что-то вот сейчас ты можешь, вот сейчас не можешь. Но все равно хочется учить тому, что прямо сейчас используется и быть все-таки как-то на переднем крае индустриального МL, в моем случае.

Что такое Data Science

06:40 Анатолий Старостин: Расскажи, что такое data science сегодня и кто такие эти data scientist’ы. 

Виктор Кантор: Cлова, которые чуть раньше стали популярными, чем data science, это машинное обучение, я начну с них, потом двинусь. Вообще я упоминал название нашего курса — Data Mining in Action. Вот Data Mining — это как раз процесс такого кручения данных и какого-то осмысления и поиска нетривиальных вещей. Следующая вещь, которая была на слуху — это машинное обучение . Это уже непосредственно решение каких-то задач: по какому-то набору параметров дать ответ на вопрос. К чему относится этот объект, если это параметры, не знаю, фотографии: это фотография внутри помещения, вне помещения, или с котиком, не с котиком. Или спрогнозировать по каким-то параметрам курс чего-нибудь завтра . Так вот, как это все относится к data science. Дело в том, что, когда занимались в индустрии разные люди машинным обучением, часто под машинным обучением подразумевали не просто, какой алгоритм использовать, чтобы (…) зависимость восстанавливать, а более широкие вещи: на каких данных это делать, зачем это делать, что прогнозировать, как потом прогноз используется. И так в умах появилось машинное обучение в широком смысле, в том числе с постановкой задачи, зачем это нужно, как обработать данные, как в них увидеть какой-то инсайт. И это все в итоге оформилось в новое название — data science, на основе данных сделать действительно какие-то нетривиальные выводы. Может быть, мы просто данные покрутили и увидели, что у нас среди клиентов компании выделяются вот такие сегменты. Но мы изначально не понимали, что мы это увидим, просто правильно визуализировали. Это тоже можно отнести к data science.

Про AGI

08:31 Анатолий Старостин: я слышал, мне сорока донесла, что ты не веришь в искусственный интеллект, в большой искусственный интеллект, в общий искусственный интеллект. Расскажи, пожалуйста, почему? Или можно начать с понятия, с того, что мы понимаем под general artificial intelligence, и тогда будет понятнее, почему ты в него не веришь.   

Виктор Кантор: Правильнее это, наверное, каким-то агностическим отношением назвать, потому то очень сложно сказать верю, не верю про что-то, что недостаточно формализовано. История про general ai в том, что каждый понимает его кто во что горазд. И если говорить про то, будет ли этот интеллект похож на наш, столь же функционален, то, мне кажется, об этом сложно рассуждать, потому что мы наш не понимаем. Мы не понимаем, как наш интеллект устроен, а если вопрос в том, будет ли он аналогичен по возможностям, не ясно. Есть точка зрения, что надо обязательно пытаться воспроизводить наш по тому, как он работает. Это тоже кажется очень смелым предположением, потому что одного результата можно разными способами добиться. Ключевой вопрос в том, является ли наш интеллект тоже набором условий if, else, правил и так далее. Я не знаю ответа на этот вопрос, может, кто-то из биологов может ответить на этот вопрос, но я сомневаюсь. 

 Анатолий Старостин: Смотри, Вить, наш подкаст, у него есть секретная цель, она не очень секретная, мы ее вполне озвучиваем, мы это делаем как раз для того, что бы лучше понять, что это. Мы назвали подкаст “Неопознанный искусственный интеллект” потому что нам, как и тебе, кажется, что на сегодняшний день это понятие недостаточно четкое, недостаточно формализованное. Даже в нашем пилотном выпуске мы говорили о том, что этот термин настолько многогранен, и что с одной стороны это какая-то маркетинговая фигня, когда тебе просто говорят слово “искусственный интеллект” — и ты начинаешь на это реагировать. Есть такой флер фантастичности вокруг этого, живые роботы, которые разговаривают, как люди, вот это все. Фантасты нам много чего нарисовали, есть фильмы, в которых роботизированные существа, которые при этом коммуницируют с людьми. И за счет того, что эти фильмы уже созданы, эти книги уже написаны,  когда говорится слово “искусственный интеллект” где-то, это людей привлекает, маркетинг этим пользуется, это понятно. Это одна сторона. Другая сторона — это все то, что связано с искусственным интеллектом в науке, и еще в середине 20 века появляется эта большая область, которую так и называли, и у людей были большие надежды. У них еще не было никаких компьютеров, или они были размером со шкаф и работали в тысячи раз медленнее чем современные, но вс равно люди сидели и выдумывали этот искусственный интеллект. И это научная сторона, и наука, как искусственный интеллект появилась давно.  И мне кажется, что в 20-м веке про сильный искусственный интеллект и слабый искусственный интеллект еще мало говорили поначалу. Вообще это разделение на сильный и слабый появилось не знаю, когда, но не так давно — ANI и AGI, Narrow Intelligence и General Intelligence. Но сейчас это уже общее место, люди точно понимают, что у нас есть ANI — Artificial Narrow Intelligence, и все что мы делаем вокруг, как только задача имеет эту самую интеллектуальность, мы сразу говорим: Это ANI — Artificial Narrow Intelligence. И все, что сейчас делается в data science, там, где ты проводишь больше всего времени и тратишь больше всего сил на это, это все узкий искусственный интеллект, так или иначе. Причем этот термин — “узкий” — я не слышу в нем негативности, узкий не значит простой, нет, это все равно очень сложная, богатая область. Но ему противопоставляют некий широкий, некий большой, некий сильный, и кажется, что здесь все-таки есть место формализации, могли бы почетче понять, что это такое. Как тебе кажется, могли бы?

Виктор Кантор: У меня был замечательный лектор по физике на Физтехе — Станислав Миронович Козел — очень эпичный человек для обучения физики в России. Он как-то на лекции по квантовой механике заметил, что когда он разбирался с этим и был молод, он поговорил с тремя людьми, которые были очень важны для этой области, и большой вклад внесли, как это понимать, как понимать эти все волновые функции, как понимать, что электрон — это волна, частица, есть он где-то, нет. И один человек ему ответил: “Нет, конечно, электрон где-то есть, частица где-то находится, поэтому все это распределение вероятностей его где-то увидеть. Так и работай с этим”. Другой сказал: “ Это все чушь, нигде частица не находится, она одновременно находится везде, потому что это квантовый мир, это так устроено”. А третий сказал: “Что ты себе вообще голову паришь этим? У тебя формулы работают? Работают. Вот и занимайся наукой. И надо сказать, что все три, хотя у них был очень разный подход ко всему этому, добились очень серьезных успехов. К чему я это? Для того, чтобы развивать этот General Artificial Intelligence, не обязательно верить, что что-то получится. То есть, можно просто больше задач решать, которые сейчас кажутся неподъемными, сейчас кажутся сложными, и постепенно приходить в ту точку, когда, может быть, то, что получится, люди будут обзывать General Artificial Intelligence. Но не обязательно заниматься таким вот целеполаганием,  вида: я воспринимаю как General вот такую вещь. Это скорее вопрос про то, что наука не развивается по плану. Нельзя сказать, как планы в экономике: Ребят, как хотите, но надо добыть вот столько руды. И вот, Ребят, как хотите, мы вас, 50 топовых специалистов по AI, заперли в одном помещении, чтобы к следующему месяцу был General Artificial Intelligence. Так не бывает. Поэтому мы действительно будем двигаться по шагам в любом случае в этой отрасли, и потом, в будущем, начнем чуть лучше понимать, что это. Если формализовывать, все, что я могу сказать, постепенно мы будем закрывать все больше узких задач, и постепенно у нас будут появляться алгоритмы, которые будут такое количество узких задач решать, что нам уже не так принципиально будет, что все они такие узкие, и что это бездушная машина, как кто-то скажет. 

Про склейку узких ИИ пластырем

 16:35 Анатолий Старостин: Вот это как раз один из вопросов, которые мы пытаемся прояснить для себя и для наших слушателей. Вопрос формулируется примерно так, что: вот если у нас есть десятки, сотни, не знаю, может быть, уже даже тысячи разных алгоритмов, которые решают отдельные задачи, и каждая из этих задач вроде как вполне интеллектуальная. Понять, что на картинке: кошечка или собачка — это интеллектуальная задача, потому что бывают такие кошечки и такие собачки, что там человек не разберется, да.  И вот мы с одним из наших гостей обсуждали, что в NLP сейчас уже пытаются сразу скопом решать N-задач, чтоб одна и та же модель с минимальными изменениями сразу и тебе делала, не знаю, суммаризацию, и как раз sentiment analysis, и какой-нибудь textual entailment, чтобы уже даже какую-то логику в текстах прослеживать. 

образовательная вставка 

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

Textual Entailment (TE) — логическое соотношение двух фрагментов текста.  Бывает положительным или отрицательным . Например, фраза “Написание кода на Java не слишком отличается от программирования в наручниках» имеет положительный entailment с фразой «Написание кода на Java подобно программированию в наручниках» 

textual entailment — одна из сложных задач компьютерной лингвистики из-за неоднозначности естественного языка.

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

Виктор Кантор: У меня здесь, на самом деле короткий ответ: я не знаю. С одной стороны, само не схлопнется, с другой — ну и что такого, что наш AI будущего будет, просто в зависимости от того, с какой задачей справиться, выбирать один из миллиона разных методов.

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

Виктор Кантор: А вот когда музыка играет, вы понимаете, вам нужно смотреть на нее или слушать?

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

Виктор Кантор:  Так мы так же устроены. Если человеку сказать: вот тебе нужно узкую задачу решать, сиди, просто ставь галочку на этом документе этом месте. Очевидно, ему это будет проще решать, хорошо.

Даниил Скоринкин:  Перенастроить его на то, чтобы не ставить галочки, а обводить кружочки очень легко. Перенастроить какую-то супер-обученную модель на огромном количестве данных на то, чтобы она рисовала кружочки, а не ставила галочки — очень сложно.

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

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

Виктор Кантор: Вот, например, на тему средне интеллектуальных людей, частая история про то, как качество распознавания изображения на датасете ImageNet  оказалось лучше, чем качество, с которым справляются люди. ЭТот тезис часто звучит, и редко уточняется, что за люди, с какими людьми сравнивали, и оказалось, по-моему, что это PhD-студенты Стэнфорда были, или еще как-то так, так что в целом, даже какие-то очень интеллектуальные люди могут с какими-то относительно простыми задачами справляться плохо. Но, если отвечать на вопрос, как объединять это множество решений, ключевой момент, который больше всего времени занимает в machine learning — это подготовка на основе данных признаков, по которым дальше модель работает, чисел, на основе которых принимается решение. И в нейросетях генерация этих чисел происходит некоторым образом автоматизировано, и если мы поставим себе задачу с помощью нейросетей допустим автоматизировать генерацию хороших признаков для изображения, для записи речи, еще для чего-то, то дальше возникнет вопрос, а для чего учиться? Как нам это описание, хорошее, компактное, понятное числами компьютеру, формировать? И здесь у нас возникнет, естественно, идея, что нам наверное хочется,чтобы в разных задачах это было применимо. Мы поймем, что можно прикрутить разные концовки к этой нейросети, разные вопросы, и научить нейросеть решать сразу много разных задач, и в итоге получить какое-то универсальное описание. Вот эти описания, которые мы между собой называем эмбеддингами, вот эти вот векторные представления, мне кажется, будут в какой-то момент более качественными и переиспользуемыми в разных задачах конкретно для компьютерного вижна, конкретно для каких-то больших сегментов анализа звука, конкретно для текстов. История с бертом, она про такую вещь, что эмбеддинги из берт можно действительно использовать для кучи разных задач. И в конечном итоге мы придем к тому, что это будут не миллионы решений, а в духе, вот решение для компьютерного зрения, вот решение для звука, вот еще для чего-то, и можем решать много разных задач. Понятно, что решение, настроенное на какую-то одну узкую задачу, в каком-то смысле, на каком-то смысле может оказаться лучше. Если вы посадите любого интеллектуального человека ставить галочки в документах…Такую бюрократическую историю, когда надо кучу документов заполнить, можем вспомнить. Возьмем человека, который всю жизнь эти документы заполняет, и возьмем человека с двумя высшими образованиями, супер-ценного специалиста, и он приходит и  ничего сделать не может, и ему объясняет другой человек, потому что он конкретно под эту задачу хорошо заточился.

Про программирование интеллектуальных агентов на ЕЯ

 24:14 Анатолий Старостин: Вот я сейчас вернулся из Северной Карелии, я до этого рыбу на спиннинг никогда не ловил. Мне вручили этот спиннинг, мне показали, и я после этого справился отлично: я первым в походе поймал щуку большую, и у меня все получилось, и как бы… Я стал рыбаком. Я стал им за два дня. Понимаешь? Мне крайне интересны постановки задач, в которых правила заранее не определены. Можем ли мы создавать системы, в которых правила, так сказать, выучивают? 

Виктор Кантор: Слушай, ну неужели ловля на спиннинг — это правила заранее не определены? Вот у тебя есть руки, ты ими держишь спиннинг, ты им можешь рыбу поймать-не поймать…

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

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

 Анатолий Старостин: Невозможно, нет, оно не бросается. 

Виктор Кантор: Да, он будет пытаться

 Анатолий Старостин: Именно. Получается, в этом смысле мы пока очень сильно превосходим роботов…

Виктор Кантор: Просто за счет жизненного опыта, за счет жизненного опыта, за счет того, что мы его набираем в течении многих лет. 

 Анатолий Старостин:  А только ли за счет него? Аспект с леской мне показался понятен, потому что из жизненного опыта, я же еще с сыном ездил восьмилетним, и сыну леску было распутывать гораздо сложнее, чем мне, это правда. Поэтому все подтверждается, все как ты говоришь, но я хотел акцент сделать чуть на другом, что мне поставили задачу словами, я все понял, все впитал, и в этом смысле, этот процесс программирования меня, он был… он уже в продакшне.

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

 Анатолий Старостин: Например, я говорю про это. И я спрошу, а не является ли этим естественный язык? Потому что естественный язык — единственный язык, ну их, правда много, сколько там, тысячи или нет? Ладно, возьмем два самых главных, или три, или четыре, эти все языки отличаются тем, что на них можно выразить любой, доступный человеку смысл, это удивительное свойство естественного языка, то есть, это принципиально открытый domain. Это естественный язык. Мы в общем ничего другого и помыслить себе не можем, потому что все думают так или иначе на естественном языке. 

Виктор Кантор:  Различие в том, что ты когда код написал программный, он выполняется в точности. А когда ты написал естественным языком, это не выполняется в точности очень часто. И это ключевая проблема. Для того чтобы это как-то выполнялось роботами, нам нужно уметь это формулировать так, чтобы это можно было выполнить в точности. И вот ключевая проблема определения того, что же такое General AI, в том, что, должен ли робот что-то уметь делать сам с тем, что недостаточно точно сформулировано задачей. ПО идее, наверное, чтобы это действительно можно было считать  General AI, наверное должен. Но непонятно, до какой степени мы двигаемся, и мы просто пока экспериментируем и перебираем разные возможные языки общения. То есть один язык общения — вот есть обучающая выборка, примеры, научись на них, вот все, что мы тебе говорим, но еще говорим, что надо оптимизировать. Другой язык общения — вот есть среда, и она периодически выдает тебе фидбек. Возможно, мы придумаем еще какой-то формат общения, еще какой-то язык, который будет уже больше похож на то, что мы сможем назвать General AI. Но то, что  General AI обязательно должен быть похож на наш, и язык общения должен быть похож на наш — это довольно смелое утверждение было бы.

Даниил Скоринкин: Смотри, мне кажется, в чем тут ценность того, что тут Толя предлагает. У нас есть способ очень жестко влиять на нашего некоторого компьютерного агента — написать программу, а есть способ очень мягко и очень маленькими капельками на него влиять, когда мы подаем ему обучающую выборку, и это требует от нас. это на самом деле не просто, у нас должна быть большая выборка. А толин кейс где-то посредине, он позволяет тебе компактно передать актуальность машине так, что тебе не нужно ее закидывать кучей примеров по каждому случаю, но при этом он позволяет тебе избежать той жесткости, которая заставляет алгоритмически прописать вообще все возможные варианты. 

 Анатолий Старостин: Давай я тебе приведу пример конкретный, раз уж мы про Reinforcement Learning говорим. Вот представляем себе некий лабиринт. Известно, что с помощью рейнфорсмент лернинга можно научить машину проходить лабиринт. Это все довольно глубоко прокопал Deep Mind, когда игрушки для Atari делал. Вроде как мы много можем там делать, но очень легко создать задачку, которую текущий, самый лучший reinforcement-алгоритм будет решать как минимум очень долго. Например, я уверен, если выучить правило, что вот эту, конкретно эту кочку на карте, надо пять раз обойти по кругу, такое вот правило, и тогда что-нибудь где-нибудь откроется, какая-нибудь дверь, вот это вот будет выучиваться либо никогда, либо вечность, пока ты дойдешь до такого, кто-то один нечаянно обойдет именно пять раз, ему дверь откроется. А если я имею возможность просто сказать ему, именно сказать словами: Слушай, вот эту кочку если обходить несколько раз, что-то откроется, вот такую подсказку дать.То обучение очень сильно ускорится, если он это сумеет понять. А я как раз пытаюсь сказать, что, может быть, более правильной постановкой задачи является не просто агент, который получает только сигнал, а reinforcement-агент, который имеет еще отдельный такой сигнал в виде месседжей на естественном языке, может быть это приблизит нас к чему-то. 

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

Про образование в Data Science

32:04 Даниил Скоринкин: Да, давайте вернемся от такой философской стороны в сегодняшний день и поговорим с тобой, Вить, про твои рабочие и образовательные дела. Появилось ли понимание, как должно быть устроено хорошее, эффективное образование в этой области, чтобы выпускать реальных специалистов, которые двигают дальше область? 

Виктор Кантор: На самом деле единого какого-то рецепта, я думаю, нет, просто потому что всегда можно достичь хорошего результата разными путями, но если выделить какие-то ключевые моменты, то привлечение к преподаванию людей, которые действительно горят этим, которым это действительно нравится, которые готовы вкладывать свое время, которые в ситуации, когда стоит выбор: потратить безумное количество времени на то, чтобы сделать действительно классный контент или просто забить и отдохнуть или поделать рабочие задачи, будут иногда все-таки тратить это безумное количество времени. Привлечение людей, которые достаточно компетентны, чтобы учить. Тут тоже есть важный момент: есть люди, которые больше про науку, есть люди, которые больше про индустрию, всем они могут чему-то научить, главное, не обманывать себя, будучи преподавателем, то есть, понимать, что у тебя вот такой вот опыт, поэтому ты стараешься учить в рамках него, но может, немножко в сторону. для того, чтобы появлялись какие-то связи на стыках, но не пытаться себя выдавать за того, кем ты не являешься. Ну и наверное третий компонент — взгляд на преподавание без излишнего возвышения, сейчас поясню. Дело в том, что у нас у многих есть в голове такое представление, что есть такие профессии: врач, учитель, которые по призванию, которые такие возвышенные, что когда ты просто к ним относишься, ты уже становишься святым человеком. Дальше уже, если ты что-то где-то не доделал, ну ты же  уже святой, как можно к тебе предъявлять какие-то претензии. А нужно быть достаточно строгим к себе. Это не к тому, что я считаю, что я никогда не делаю никакие вещи в преподавании плохо, делаю. Я часто не удовлетворен тем, что у меня получается на конкретном занятии или на конкретном курсе и именно это понимание позволяет двигаться как-то вперед. И важно понимать, что образование это не что-то такое высокое, невероятное, опять же, с моей точки зрения, это все-таки услуга. Человек тратит свое время, тратит, возможно, свои деньги для того, чтобы послушать, что вы ему скажете, чтобы чему-то научиться. Вы не делаете ему одолжение, как преподаватель, вы даете ему услугу, которая так или иначе чем-то оплачена: либо вашим удовольствием от процесса, если он вам нравится, тоже вполне себе хорошее вознаграждение, либо деньгами, либо вниманием людей, 

Даниил Скоринкин: А давай тогда пример конкретный из вашей области, из data science, какой контент классный вы сделали для преподавания, и чем он классный, чтоб мы понимали. 

Виктор Кантор: Первый пример — это история с нашей специализацией на Coursera. Мы постарались с одной стороны достаточно подробно описать какие-то базовые вещи из machine learning, с другой стороны рассказывать только про то, что будет нужно потом в работе. При этом у нас работа была все-таки не такая, что мы просто две строчки кода копируем, вставляем, у нас действительно с коллегами было представление, что важно понимать, что там происходит. Поэтому в итоге получился разумный компромисс между тем, чтобы вывалить на людей кучу формул и никак не привязывать к реальной действительности, и тем, чтобы просто им показать кучу примеров кода и сказать: Ну кот это делается так, а что там внутри, ну можно общие слова какие-то сказать. И этот компромисс оказался очень крутым, потому что это был один из первых курсов, который был действительно записан людьми, которые практиковали и какое-то продолжительное время практиковали data science, и записан именно с целью рассказать, что важно. Другой пример будет немножко необычный, он исходит из того, что у нас на курсе    есть один преподаватель, который предложил в форме игровой провести занятие, а потом дальше эта идея была развита другим преподавателем И в чем идея игровой этой формы была: давайте мы про ворд эмбеддинги расскажем людям не в виде задачи, а давайте, вы поиграете в шляпу, причем не вы, а ваши алгоритмы. То есть на основе этих ворд эмбеддингов вы будете пытаться генерировать какие-то слова, которыми будете объяснять загаданное слово, а алгоритм другого человека должен отгадывать. 

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

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

Про аккумуляцию знаний в человечестве

38:22 Анатолий Старостин: Скажи, пожалуйста, а вот ты наблюдаешь, я так понял, довольно большие количества людей, которые, так скажем, приходят учиться. Можно ли уже наблюдать на таких количествах людей, какой-то тренд во времени. Поясню: я уверен, что было время, когда после условной школы люди знали меньший объем математики, чем знали сейчас. То есть обычная какая-то школьная программа тоже на самом деле во времени эволюционирует, когда-то считалось, что какие-то вещи в школе давать еще рано, и надо давать только в университете, а потом знания становятся более базовыми. И есть такой же эффект здесь, в айтишных науках, есть ли такое, что постепенно возникает какой-то фундамент, что есть не знаю, N лет назад еще каждому надо было объяснять про линейную регрессию, а теперь про нее все уже знают изначально, или она уже стала таким общим местом, и можно двигаться дальше. Или это каждый раз табула раса, обучение с самых основ, то есть, есть ощущение, что зание в людях в целом распространяется? 

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

 Анатолий Старостин: И еще не все осознают, что все это стороны одной медали на самом деле и саму общую абстракцию. 

Виктор Кантор: Вот на тему общих абстракций и вообще историй про обобщение, хорошая аналогия с Narrow и General AI. У нас часто среди слушателей значительная доля — это уже взрослые люди, которые уже выпустились, какое-то время уже возможно поработали. Их порядка 50%. И 50% — это студенты. И отличие студентов и этих взрослых людей, в том, что студенты лучше решают вот такие narrow-задачи, типа взять интеграл, но когда с ними начинаешь говорить про какие-то общие вещи, что нужно вообще задачу сформулировать и поставить, это им тяжело дается, потому что им никто никогда, по-моему, не предлагал так широко посмотреть на вопрос. Других жизнь заставила, а у них все в формате “сегодня надо взять интеграл, а завтра решить задачку по физике”. В итоге получается, что интересно и с теми, и с другими. С первыми, ладно не буду нумеровать, со студентами интересно, потому что они могут какие-то задачи очень быстро и очень четко решать, даже если они довольно сложные, а со вторыми интересно, потому что они регулярно задают себе вопрос “зачем?” и хорошо на него умеют отвечать. 

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

Даниил Скоринкин: Это как бы может, повысит потенциальную сложность системы, которую мы,как общество, можем создать, например. Сейчас что-то невозможно сделать, потому что люди, которые могли бы до этого додуматься, умирают, условно, раньше, чем они успевают. А тут критическая масса набирается к 50-ти годам.

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

Блиц

44:43 Анатолий Старостин: Давай мы тебе позадаем вопросов, на которые надо отвечать быстро и коротко. Кто самый крутой русский ученый в области искусственного интеллекта? 

Виктор Кантор: Виктор Лемпицкий, потому что у него действительно самый высокий индекс цитирования, и он не просто формально возник, а у него действительно крутые публикации. 

 Анатолий Старостин: Кто самый крутой мировой ученый в области искусственного интеллекта? 

Виктор Кантор: Не отвечу на этот вопрос, их очень много. 

 Анатолий Старостин: Ну назови парочку-троечку, кто тебе нравится? 

Даниил Скоринкин: Топ-три, топ-пять.

Виктор Кантор: Ой, очень сложно. Вы знаете, просто ученые еще разные есть, есть, допустим, Илья Суцкевер, и он крутой в том плане, что во многих знаковых работах поучаствовал. Есть Томаш Миколов, он прекрасен тем, что он сделал нечто, что в итоге используют все. Найдите человека, который никогда не пользовался Word2vec в нашей области. Вообще нереально. Или Эндрю Ына возьмите, например, он, казалось бы больше популяризирует machine learning и больше преподает, но опять же посмотрим ключевые какие-то публикации, там он есть. Джеффри Хинтон, например, это вообще отец дип лернинга. Он двигал дип лернинг тогда, когда это еще не то, что не было мейнстримом, а вообще не было понятно, надо этим заниматься или нет. 

Даниил Скоринкин: Все ему говорили: “Брось эту гадость, ничего не будет работать”.

Виктор Кантор: Именно, именно, и это действительно круто, что в итоге заработало, и там же еще был подкаст, не подкаст, в курсе Эндрю Ына про специализации на Coursera, там есть моменты с интервью с разными учеными. И вот в интервью с Хинтоном был момент, когда он рассказывал, как они пропихнули статью в Nature, для того, чтобы какую-то вещь действительно популяризировать в науке. Для меня это звучит, как рассказ о подвигах Геракла, как-то так. 

 Анатолий Старостин: Мы плавно подошли к концу. И последний вопрос такой. Представь себе, что некие люди создали тот самый AGI — общий искусственный интеллект — и у тебя появилась возможность с ними поговорить. Что ты у них спросишь?

Виктор Кантор: Кто следующий президент? 

Даниил Скоринкин: Чего?      

Виктор Кантор: России.

 Анатолий Старостин: Серьезно? 

Виктор Кантор: Конечно. 

Финал

47:05 Анатолий Старостин: Спасибо тебе, Витя, большое, что ты к нам сегодня пришел. 

Виктор Кантор: Вам спасибо

Анатолий Старостин: Очень был интересный разговор.

Даниил Скоринкин: Это был очередной выпуск подкаста “Неопознанный искусственный интеллект” от издания “Системный Блокъ”. Подкаст вели я, Даниил Скоринкин, и… 

Анатолий Старостин: Я, Анатолий Старостин.

Даниил Скоринкин: В гостях у нас был Виктор Кантор, чиф data scientist МТС, преподаватель и большой евангелист data science. Вить, спасибо тебе большое за этот разговор. 

Виктор Кантор: Спасибо. Даниил Скоринкин и Анатолий Старостин: Пока.