В этом выпуске мы обсуждали:
- Что происходит в сфере компьютерного зрения
- Почему грубая сила вычислений всегда побеждает
- В чем проблема обучения с учителем (supervised learning)
- Как учатся видеть мир беспилотники и актуальна ли для них проблема вагонетки
Оглавление выпуска
01:06 — кто такой Борис Янгель и чем он занимается
02:52 — что такое искусственный интеллект сегодня
07:01 — Что происходит в мире компьютерного зрения и как может работать нейросеть DALL·E
13:10 — Почему грубая сила вычислений всегда побеждает
17:01 — Как обстоят дела с генерацией музыки и видео по описанию
18:38 — Computer vision, беспилотники и компьютерное понимание происходящего на дороге
таймкод — о чем раздел
21:09 — Критерии интеллектуальности машины
23:49 — Почему машинное обучение с учителем сломано
30:59 — Как решать задачи бенчмарка ARC от Франсуа Шолле
38:10 — Как обучаются беспилотники
43:19 — Нужен ли AGI для создания беспилотных автомобилей
47:04 — Стоит ли пытаться копировать природу при создании ИИ
49:28 — Как стыкуются Alpha Go и Дэниэль Канеман
54:54 — Актуальна ли проблема вагонетки для современных разработчиков беспилотных автомобилей
1:08:06 — Блиц: советы начинающим ML-специалистам, сериалы про ИИ, о чем говорить с компьютерным разумом
01:00:47 — Резюме выпуска: что мы поняли в беседе с Борисом Янгелем
01:12:19 — Финал выпуска
В выпуске были упомянуты
- Книга «Life 3.0» Макса Тегмарка
- Статья «The Bitter Lesson» Ричарда Саттона
- Модель Jukebox от OpenAI
- Статья « An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale» от Google Research
- Статья PRANK: motion Prediction based on RANKing от Yandex Self-Driving Group
- Книга Thinking Fast and Slow Даниэля Канемана
- Датасет ARC Франсуа Шолле
Ссылки и полезная информация
- Ссылка на тг-канал подкаста
- Ссылки на платформы с подкастами:
Текстовая версия выпуска
Даниил Скоринкин 00:35: Привет, друзья! Это очередной выпуск подкаста «Неопознанный искусственный интеллект» от издания «Системный Блокъ» — подкаста, в котором мы разбираемся, что называют искусственным интеллектом сегодня, каким он станет завтра, и когда уже роботы оставят нас без работы и поработят мир. Сегодня в студии я Даниил Скоринкин, главный редактор «Системного Блока»…
Анатолий Старостин: И я, Анатолий Старостин, руководитель службы развития технологий медиасервисов Яндекс.
Даниил Скоринкин: Ну а в гостях у нас Боря Янгель, ML-инженер, тим-лид одной из команд, занимающейся машинным обучением для беспилотных автомобилей в Яндексе. Привет, Боря.
Борис Янгель: Привет!
Кто такой Борис Янгель
Даниил Скоринкин 01:06: Расскажи немножко о себе и о том, чем ты занимаешься.
Борис Янгель: Ок. Ну да, собственно, я МL-инженер и в этом бизнесе наверное уже больше десяти лет, и какое-то значительное время руковожу разнообразными ML-проектами, наверное проще всего рассказать про мою работу, если перечислить проекты, за которые мне не стыдно. Я работал в Яндекс.Картинках — это такая часть поиска Яндекс, которая занимается тем, чтобы найти картинки по текстовому запросу или запросу другой картинки. Потом я работал в Microsoft Research Cambridge, в группе machine learning and perception Криса Бишопа, там я работал над такой библиотекой, которая называется Infer.net — это библиотека для вероятностного вывода. После Microsoft Research я вернулся в Яндекс, там я работал над Алисой вместе с Толей. Там я отвечал за диалоговую составляющую Алисы, то есть, за то, чтобы понимать, что Алисе сказали, какой смысл у сказанного, и что с учетом этого нужно ответить. Ну и сейчас, наконец, я работаю в Yandex Self-Driving Group. Я руковожу группой, которая занимается моделированием разнообразных аспектов происходящего вокруг беспилотного автомобиля, в частности мы пытаемся строить модели, чтобы понять, что будет происходить, как будут действовать другие участники дорожного движения в ближайшем будущем, и как нам нужно скорректировать наши действия с учетом наших представления об этом будущем.
Анатолий Старостин: То есть, вы предсказываете будущее.
Борис Янгель: Можно так сказать, да.
Анатолий Старостин: 2:36 Во-первых, я хочу сказать, что Боря — мой первый начальник в Яндексе. Это было хорошее время. С тех пор много воды утекло, и мы все действительно занимаемся разными вещами, но так или иначе все сконцентрировано вокруг искусственного интеллекта.
Что такое искусственный интеллект сегодня
Анатолий Старостин 02:52: В нашем подкасте мы обсуждаем современное состояние искусственного интеллекта, что такое искусственный интеллект, и назвали мы подкаст «Неопознанный искусственный интеллект», потому что мы с Даней считаем, что он недостаточно понятен людям вокруг, и вокруг этого понятия много мифов, и эти мифы хочется как-то развеивать, хочется понимать более четко, что представляет из себя искусственный интеллект сегодня. Поэтому это и есть мой первый вопрос.
Борис Янгель: Что из себя представляет искусственный интеллект сегодня. Ну, смотрите, если мы начинаем говорить об искусственном интеллекте, нам надо сразу с вами договориться о терминологии, чтобы не допустить тех же ошибок, которые допускают люди, которые не понимают, что такое искусственный интеллект. Вот, Толь, ты когда говоришь «искусственный интеллект», ты что именно имеешь в виду, что ты у меня спрашиваешь?
Анатолий Старостин: Я как раз в этот момент занимаю позицию абстрактного слушателя, который несколько раз слышал это слово из разных утюгов. Поэтому да, первым делом хочется поговорить о терминологии.
Борис Янгель: Ок, давайте поговорим о терминологии. Но, смотрите, это словосочетание — искусственный интеллект — используется по-разному. Во-первых, и это происходит чаще всего, искусственным интеллектом просто называют весь тот объем методов, который также называется machine learning, или более широко data science. И там как бы то-то происходит, происходит на самом деле очень много всего интересного: мы разрабатываем какие-то частные методы, которые выполняют конкретные узкие задачи, учатся решать все лучше и лучше, многие уже лучше, чем человек, и там за последнее десятилетие было колоссальное количество прогресса. И есть затем понятие «искусственный интеллект», наверное, то, про которое вы действительно хотите тут поговорить, которое мы вот больше ассоциируем с таким словосочетанием, как AGI — это некоторая система (и я вот тут воспользуюсь одним из классических определений), которая способна эффективно достигать большого количества сложных и разнообразных целей, перед ней поставленных. Ну, собственно, созданная искусственно.
AGI — “Artificial general intelligence” или “Сильный искусственный интеллект” — гипотетическая система, не ограниченная областью применения или конкретным набором задач. Предполагается, что AGI должен обладать такими свойствами человеческого интеллекта, как:
— быстрая адаптация в неизвестной среде
— решение нечетко поставленных задач
— общение на естественном языке на произвольные темы
Общему (или сильному) искусственному интеллекту противопоставляют Узкий (или слабый) ИИ. Узкий искусственный интеллект должен хорошо решать какую-то одну задачу или ограниченный круг задач. От него не требуется способности адаптироваться к новым задачам.
Для узкого ИИ достаточно научиться играть в конкретную игру или класс игр. Широкий должен понимать правила новых игр на лету, без дополнительного обучения.
Анатолий Старостин 05:53: Но хорошо, а вот если чуть-чуть в историю, смотри, 50-е годы, 60-е годы, когда это все зарождалось. Термин «искусственный интеллект» тогда очень активно использовался, насколько я помню. И Маккарти его ввел, и в России он прижился этот термин активно. Тогда же не говорили «сильный искусственный интеллект», тогда просто говорили «искусственный интеллект». А имели в виду «сильный» или как?
Борис Янгель: Мне кажется, ты знаешь про историю больше меня. Ну, по-моему, понятная терминология про сильный-слабый-искусственный-узкий-широкий интеллект, она появилась сравнительно недавно, насколько я знаю. Ну, я впервые с ней системно столкнулся вообще совсем недавно. Мне кажется, многие из этих терминов я в книжке у Макса Тегмарка “Life 3.0” увидел, где он попытался систематизировать все-таки, какие же слова правильно использовать, когда мы говорим об искусственном интеллекте. Но, надо сказать, что, просто, с шестидесятых годов очень сильно трансформировалось наше понятие о том, что вообще мы называем искусственным интеллектом, какие аспекты у этого понятия есть, и сколько градаций внутри него можно придумать.
Что происходит в мире компьютерного зрения и как может работать нейросеть DALL·E
Даниил Скоринкин: 07:01 А вот давайте немножко про узкий. Вот смотри, те задачи, которые ты перечислил: поиск по картинкам и дальше Self-driving car, беспилотники, ну то есть так или иначе связаны с компьютерным зрением. У нас есть такой общий вопрос тоже: что сейчас происходит в сфере компьютерного зрения, компьютер вижн, какие там постановки, задачи, и насколько мы приблизились к тому, чтобы распознавать какие-то вообще произвольные объекты, а не только закрытый класс.
Анатолий Старостин: Я бы считал, что это два вопроса.
Борис Янгель: Я могу даже в каком-то смысле сразу на два ответить, потому что вообще правильно этот вопрос в такой формулировке адресовать не мне, а специалисту по компьютерному зрению, которым я как бы не являюсь, даже несмотря на то, что я занимаюсь селф дайвингом, я занимаюсь в нем все-таки аспектами, с компьютерным зрением не связанные, а скорее связанные с моделированием смыслов, происходящего вокруг. Ответ на вторую часть вопроса, про то, насколько хорошо мы научились моделировать в компьютерном зрении, не знаю, разнообразные объекты, понимать составляющие их части и так далее, на него я могу ответить. Иллюстрация тому, насколько хорошо мы научились это делать, появилась совсем недавно, буквально на новогодних праздниках компания OpenAI выпустила очередную, я бы сказал, прорывную свою работу, которая является таким закономерным продолжением их линейки работ про модели GPT вот эти GPT-3, наверняка многие из наших слушателей слышали. Работа называется DALL·E. ДАли или ДалИ — я так и не понял, куда нужно ставить ударение. Давайте договоримся в рамках этого подкаста ДалИ, так будет проще всего.
Что такое DALL·E? Это языковая модель, как и GPT, но обученная одновременно и на текстах, и на изображениях, которые тоже кодируются некоторым специальным языком, если не вдаваться в технические подробности. И как бы эта модель позволяет, если вот GPT-3 могла только продолжать тексты, то Дали может, например, продолжить текст изображением. И это позволяет делать такие штуки: можно описать некоторую картинку, и она ее нарисует. Так вот, оказывается, что можно в этом описании попытаться смешать несколько достаточно абстрактных, казалось бы, несочетаемых концепций между собой, которых в обучающем множестве для DALL·E ну совершенно точно не было. И DALL·E настолько хорошо… Ну, понятно, что когда OpenAI показывает результаты, там есть какая-то определенная доля хенд пикинга (ручного отбора удачных примеров — прим. ред.), но по крайней мере у них было из чего выбирать. Так вот, DALL·E показывает в общем, что их нейросеть научилась синтезировать вместе очень разумным образом, как
это сделал бы человек, иллюстратор, какие-то достаточно абстрактные концепты, начиная от простых: «Нарисуй мне стул в виде авокадо», она рисует огромное количество правдоподобных стульев. И что там еще было…
Даниил Скоринкин: Там было что-то типа: «Нарисуй влюбленную редьку, которая в балетной пачке, с собакой». Там действительно влюбленная редька вполне реалистично нарисованная, действительно в реальной балетной пачке с собакой. Вот вопрос, очень глупый, наверное, вопрос, но сразу возникает. Вот вопрос: почему это вообще работает? Ну, в смысле, это же безумие.
Борис Янгель: Это безумие, да, и… Ну, наверное, у меня есть точка зрения на этот счет. Давайте так: это работает, как мне кажется, по той же причине, что и GPT-3 показывает такие удивительные результаты. Что же это за причина? Мне кажется, это можно проследить все назад до очень важного универсального принципа, который можно сформулировать таким образом: всё есть вычисление, вычисление это самое важное. Что я имею в виду: любой алгоритм, любая система обработки информации, она, по большому счету, занимается только одной вещью — вычислениями. Искусственный интеллект — это тоже система обработки информации, тоже алгоритм. На самом деле можно даже пойти дальше и сказать, что Вселенная занимается исключительно вычислениями. Так вот, почему это важно? Есть такой раздел в computer science, который называется Вычислительная теория сложности, и он изучает, какие вообще вещи можно сделать, потратив разное количество вычислений. Ну, и если все сильно упрощать, то там есть такой результат, который говорит, что некоторые вещи можно сделать, только потратив определенное, достаточно большое количество вычислений. И чем больше вычислений вы можете потратить, тем более невероятные вещи можно сделать таким образом. Причем, ну как бы даже не столько важно… Хотя тоже важно до определенной степени, какой хардвер, какую вычислительную модель вы используете. Все это в некотором смысле универсальные вещи: одна может эмулировать другую, по большому счету важно именно сколько вычислений вы потратили. Так вот, и на GPT-3, и на DALL·E было потрачено огромное количество вычислений. Во-первых, сама модель во время инференса, то есть ее применения, она может сделать очень много вычислительных шагов, соответственно она может вычислить намного больше вещей, чем все предыдущие модели. Плюс не стоит забывать о том, сколько компьюта (вычислительной мощности — прим.ред.) было потрачено на то, чтобы обучить эти модели. То есть во всем этом семействе всевозможных моделей трансформеров вот такого размера найти именно ту самую, которая будет давать вот такие вот результаты. То есть, это, на самом деле, по-моему, абсолютно закономерно: мы тратим больше вычислений — мы получаем лучший результат. Пока никаких нарушений этого принципа, кажется, не было видно. Вообще, по-моему, пару лет назад Ричард Саттон, один из отцов-основателей Reinforcement Learning, написал такое мини-эссе, которое называется “Горький урок” — The Bitter Lesson, про то, что как раз вот этот принцип — больше вычислений и универсальней модель — он побеждает все в машин лернинге, и ничего с этим нельзя сделать. Где бы ни придумали какой-нибудь частный подход к моделированию предметной области, рано или поздно везде сырая мощь вычислений побеждает. Вычисления и универсальность — вот секрет GPT и DALL·E.
Почему грубая сила вычислений всегда побеждает
Анатолий Старостин: 13:10 Кажется, что очень интересным направлением является разного рода оптимизация существующих архитектур, разного рода прунинги, дистилляции и прочие методы, которые позволяют то же самое сделать за меньшее количество вычислений.
Борис Янгель: У меня про оптимизацию есть тоже история, непосредственно связанная с GPT-3 и тем, что мы обсуждаем. Вообще я бы сказал, что тренд идет скорее в другую сторону. До сих пор мы получали более мощный результат, переходя к более вычислительно емким моделям. Что я имею в виду. Давай посмотрим на лингвистику, допустим. С чего все начиналось, когда все более или менее начинало работать: у нас были полносвязные сети над мешками слов, там над word2vec-ами сложными какими-нибудь. Что такое полносвязная сеть — это модель вычислительная, которая реализует, которая может сделать константное количество вычислений и адресовать константную память, которая определяется просто глубиной сети, и там количеством этих хидден юнитов. Это работало не очень хорошо. Ну, это как-то работало, но не GPT-3, прямо скажем. Что у нас было затем? У нас появились сверточные сети и рекуррентные сети — это более общая архитектура, в том числе в вычислительном смысле: и то, и другое делает линейное количество операций по входу, все еще имея возможность адресовать только константную память. Это работает лучше, чем полносвязные сети, все еще недостаточно хорошо. Затем на сцене появляется трансформер. В чем ключевое отличие трансформера — он, во-первых, он делает не линейное, а квадратичное количество вычислений — это сразу открывает столько возможностей, это вообще другой вычислительный класс. Каждый, кто программировал, знает, что линейно можно сделать много всего, но далеко не все, нужна супер линейная сложность, чтобы делать по-настоящему классные вещи. Плюс трансформер — первая модель, которая может адресовать линейное количество памяти, а не константное. То есть, для каждой входной единицы можно еще что-то сохранить, можно адресовать что-то там. И внезапно state of the art начинает сдвигаться, просто появилась более мощная, более универсальная вычислительная модель. И да, то, что она такая мощная, это иногда мешает, то, что в ней нет нужных индактив байасов. Например, в компьютерном зрении еще совсем недавно свертки всегда побеждали трансформеров. А в свертках как раз есть вот эти структурные ограничения, которые хорошо подходят к задаче компьютерного зрения. Но, что ты думаешь, совсем недавно трансформеры и до зрения добрались. Была вот эта работа от Гугла “ An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. Это про то, как сделать трансформер, который будет state of the art на задачах классификации изображения. Оказывается, да, нужно просто больше данных трансформерам, потому что в них нет этих индуктивных удачных предположений. Но если у тебя достаточно данных, все, это перестает быть проблемой. В общем, универсальность вычислений пока работает.
Анатолий Старостин: 16:17 А как вы думаете, в порядке бреда так сказать, есть идеи, какие коммерческие перспективы у DALL·E? То есть, что из этого сейчас начнет происходить? Не знаю, дизайнеры перестанут… останутся без работы, или что-нибудь еще.
Борис Янгель: Ну, совсем без работы они, наверное, не останутся, но, наверное, с DALL·E или какими-нибудь архитектурными последователями DALL·E будет происходить для начала то же самое, что с GPT-3. То есть, люди будут пытаться делать какие-то инструменты повышения продуктивности, которые будут существенно использовать эту модель. То есть, можно себе представить какой-то фотошоп, в котором еще можно будет периодически что-нибудь говорить, чтобы картинка поменялась как-то.
Как обстоят дела с генерацией музыки и видео по описанию
Даниил Скоринкин: 17:03 А можно ли ожидать чего-то такого для, не знаю, видео, музыки. Ну, напиши мне там симфонию ре-минор для флейты с оркестром.
Анатолий Старостин: Для музыки, модель, по-моему, называется Jukebox, если я не ошибаюсь. Там тот же самый принцип, там тоже трансформер, там тоже латентные переменные, и учится все на сыром звуке, просто довольно низкого качества, такой как бы low-fi. И модель действительно генерирует музыку, похожую на тот или иной жанр. Ты слушаешь, и можно сказать: «Генерируй а-ля Beatles или а-ля Rolling Stones». И музыка действительно звучит похоже, ритмично и гармонично. И тот же OpenAI год назад эту модель нам показали.
Борис Янгель: Ну а что касается видео, по-моему, это закономерный следующий шаг, но с видео как бы есть такая проблема, что, ну просто видео очень большое, и, не знаю, как назвать, ну, информационная плотность очень маленькая. То есть, там нужно очень много байт прочитать, чтобы какое-то небольшое количество сигнала оттуда извлечь. Ну и соответственно, наши пока вычислительные архитектуры пока к этому плохо готовы, но есть какое-то количество проектов, которые хотят сделать условно GPT для видео. Кажется, это будет важно, чтобы пойти дальше.
Компьютерное зрение, беспилотники и понимание происходящего на дороге
Анатолий Старостин: 18:38 Я бы хотел вернуться на шаг назад к Computer vision, поскольку вы, делая беспилотные автомобили, много именно анализируете изображения, а не синтезируете их, то мы думали, что у тебя есть какое-то представление о том, что сейчас именно с компьютерным, так сказать, пониманием происходящего, через визуальные сенсоры.
Борис Янгель: Ну, если говорить о классических задачах детекции объектов на изображении, они в своей базовой постановке «объект видно» решены уже очень хорошо, там практически нечего делать. То, с чем мы в этой области пытаемся справиться в беспилотниках — это всякие случаи очень сильной окклюзии объектов или еще какие-то причины, по которым их плохо видно на наших сенсорах. Когда объект видно хорошо на наших сенсорах, то современные методы детекции объектов просто работают.
Даниил Скоринкин: Прости, окклюзия — это что?
Борис Янгель: Это когда что-то закрывает что-то.
Анатолий Старостин: Вот, когда мы говорим про распознавание объектов, мы говорим про распознавание объектов из закрытого множества классов объектов или мы говорим про абстрактные объекты? Как обычно задача ставится? Грубо говоря, вы заранее считаете, что есть собаки, люди, знаки, вот все то, что бывает видно? Или бывают просто какие-то объекты, unknown objects?
Борис Янгель: Скажем так, типичный подход в индустрии селф драйвинга, который сейчас используется, есть вполне понятные классы known objects, с которыми надо работать много. Это разнообразные автомобили, другие транспортные средства, а также пешеходы. И есть широкий класс всей остальной фигни, которую обычными способами супервайс лернинга решиить тяжело, но можно сделать что-то такое ансупервайс, просто понять, что в каком-то месте присутствует нечто, что непохоже на то, что там обычно присутствует, дорожное полотно, например. И, к счастью, у нас есть лидары, которые сильно упрощают эту задачу. Потому что лидар — это лазерный дальномер такой, который тебе совершенно точно может сказать, что в каком-то месте находится препятствие, и его нужно бояться, даже если это какой-то класс объектов, которые ты раньше никогда не видел. На камерах сделать такое намного сложнее, на мой взгляд.
Критерии интеллектуальности машины
Анатолий Старостин 21:09: Хочется понять, что ты думаешь про, ну как сказать, критерии что ли интеллектуальности. То есть, грубо говоря, как ты сам в своей голове отличаешь этот сильный интеллект от слабого? Какие бы формальные критерии ты предложил для того, чтобы отличать одно от другого?
Борис Янгель: Мне кажется, мы в начале уже коснулись немножко этой темы. То есть, я в своей голове связываю ителлектуальность системы с тем, насколько широкий класс разнообразных задач она может выполнить, и сколько времени у нее займет адаптация к тому, чтобы научиться решать какой-то новый класс задач, базируясь на каких-то таких концептуальных атомах, которые она выучила из других задач, ну вот как быстро она сможет переиспользовать это, чтобы научиться решать новые. Чем система более широкий класс задач может решать, и чем быстрее она новую задачу она учится решать, тем она интеллектуальнее.
Анатолий Старостин: Знаем ли мы на сегодняшний день что-то более формальное, какие-то тесты, критерии? Ну, то есть, мы точно знаем, но в какие из них ты веришь, что тебе близко?
Борис Янгель: Ну, люди пытаются предлагать какие-то тесты, которые как-то формализуют это понятие, например, я знаю, что у вас в подкасте Франсуа Шолле часто вспоминают, и его статью On the Measure of Intelligence и вот этот Арк. И вот из разнообразных способов измерить интеллектуальные системы — этот мне в каком-то смысле даже ближе всего, потому что мне кажется, он неплохо захватывает саму суть того, что у нас в наших машинно-обученных системах не получается сделать — быстро по очень небольшому количеству данных адаптироваться, понять как решать какую-то сложную задачу, опираясь лишь на какое-то небольшое число абстрактных понятий о мире, ну, как бы важных, без которых ничего не получится, которые нужно где-то как-то получить, выучить, и потом, базируясь только на них быстро понять, как решать эту задачу. Мне кажется, что Арк, наверное, нельзя так говорить, но сейчас пока, мне кажется, что Арк — это пример такого датасета, решив который, скорее всего наше понимание о том, как делать AGI продвинется. Ну, про шахматы тоже так говорили, но это оказалось неправдой, но пока мне кажется, что для Арка это верно в большей степени.
Почему машинное обучение с учителем сломано?
Анатолий Старостин 23:49: Почему я тебя спрашивал так настойчиво про эти абстрактные объекты. Потому что, кажется, что, чтобы к ARC хорошо подойти, тебе нужно сначала очень хорошо увидеть, что там изображено, ты должен каким-то образом это все концептуализировать. Ты смотришь на поле 32 на 32, то есть 32 клеточки по горизонтали, 32 по вертикали, и на них что-то изображено. И мы смотрим на это дело, и мы понимаем, о, вот это — объект, это — другой объект, а вот это — фон, а вот это — мы этот же объект повернули, а вот это — мы этот объект закрасили, а вот здесь мы провели линию такую. То есть, мы на самом деле производим сначала очень много операций таких, базовых, распознавания абстрактных объектов. А потом уже начинаем смотреть, что с ними происходит. Вот так мне показалось после того, как я отсмотрел 100, 200 примеров в этом датасете. Поэтому вопрос: как сделать компьютер-вижн систему, которая хотя бы просто увидит, что там изображено и запишет в виде какой-то, на каком-нибудь формальном DSL.
Борис Янгель: Ха-ха. А давай, я зайду издалека немного, отвечая на этот вопрос, но мне кажется, это важно. Давай сперва поймем, почему вообще обычный машин-лернинг. Ну, что я называю обычным машин-лернингом, то, что называется supervised learning — обучение с учителем, даже, наверное, если уточнять, дискриминативное обучение с учителем, когда у тебя есть вектор фич, и тебе нужно что-нибудь предсказать: тебе дана картинка, и нужно сказать, собака это или нет, или еще что-нибудь. Это не единственная постановка, ну ладно. Короче, такое утверждение, достаточно смелое: supervised learning постановка полностью сломана, и неработоспособна. И очень мало людей, на удивление мало, в машин-лернинг комьюнити понимает этот факт и понимает, почему это так. Сейчас ситуация меняется, больше людей начинают говорить про вещи типа causal inference, но пока еще не все понимают. Значит, что я имею в виду, почему она сломана. Давайте такой просто пример посмотрим, и я извиняюсь заранее, если некоторые вещи, которые я сейчас скажу будут казаться очевидными, но это важно для того, чтобы проиллюстрировать мой поинт.
Анатолий Старостин: Ты уже столько неочевидных вещей сказал, что это даже хорошо.
Борис Янгель: 26:19 Ок. Значит, смотрите, вот, допустим, нам, бог с ним, с Арком, нам нужно решить такую простую задачу предсказания. У нас есть вектор фич, описывающий человека, и нам нужно понять, не знаю, будет у него рак легких или нет. И там есть две фичи, допустим, курит он или нет, и пьет он кофе или нет. И мы собрали датасет и, значит, обучаем какое-то решающее правило на этом. И пусть так оказалось, что в нашей вселенной, в нашей реальности, где мы собрали этот датасет, так получилось, что люди, которые курят, ну вот они больше любят кофе, не знаю, потому что с утра хорошо с сигаретой еще выпить чашечку кофе. Что выучит наше решающее правило? Оно проассоциирует питье кофе с повышенной вероятностью заболеть раком легких. И в нашей реальности это будет даже правдой, потому что ну действительно, существует такая корреляция. В чем проблема этого?
Анатолий Старостин: А я правильно понимаю, что ты в этом примере исходишь из того, что реальная причина рака легких — это курение?
Борис Янгель: Да, наверное. Это нужно было, правильно, проговорить. Ну вот пусть в нашей вселенной физические законы, ну или даже не физические, а причинно-следственные, работают так, что питье кофе не приводит к раку на самом деле, а курение приводит.
Анатолий Старостин: Отлично, да, тогда понятно.
Борис Янгель: Вот. И наше решающее правило, оно что, оно проассоциирует питье кофе с повышенной вероятностью заболеть раком легких. Почему это плохо? Потому что как только мы переместимся в другую реальность, в которой может быть какая-то небольшая часть этих причинно-следственных связей будет другой, и она приведет к тому, что корреляции будут другими, там, допустим, курильщики уже не будут пить больше кофе, наше решающее правило станет абсолютно недееспособным, оно больше не работает в такой реальности, потому что корреляции не обобщаются за пределы распределения, на котором они были обучены, того распределения, которое они нещадно эксплуатируют. А сама постановка задачи supervised learning предполагает, что они будут применяться на том же распределении, там даже все результаты теоретические доказываются в таком сеттинге. А на самом деле мы как правило этого не хотим. А в этом селф-драйвинге мы бы хотели ездить обучаться на одних улицах, а потом уметь ездить на всех улицах, а не только на тех же самых. Но, к сожалению, наши алгоритмы, они по построению такие, что они эксплуатируют корреляции в том распределении, которое у нас есть, а корреляции не обобщаются на другие реальности, в то время, как причинно-следственные связи обобщаются. Если задуматься, это та причина, по которой adversarial attack-и в классификаторе картинок работают, потому что классификатор картинок эксплуатирует как бы информацию, которую он не должен эксплуатировать.Он начинает, ну, слишком сильно полагается на связи между пикселями, и на какие-то причинно-следственные связи не полагается. Поэтому его легко можно обмануть.
Аdversarial attack — намеренная попытка обмануть обученную модель и заставить ее ошибаться там, где обычно она работала. Например, можно добавить к фотографии незаметный для человеческого глаза шум, чтобы модель классификации фотографий вместо панды распознала на снимке гиббона. Или немного изменить знак ограничения скорости, чтобы автопилот распознавал его как STOP. Спам письма, которые проходят сито спамфильтров, — еще один пример успешных Adversarial Attack.
Борис Янгель: 29:47 Что с этим делать? Нам нужны методы, которые как бы пытаются выучить причинно-следственные связи о мире.
Анатолий Старостин: Я одного только не понял. Я не понял, почему постановка задач классификации себя полностью дискредитировала? Потому что, если ты решаешь задачу классификации, ты мог бы ее решать, выучивая причинно-следственные связи.
Борис Янгель: Ну, если ты ее сформулируешь, как ее обычно формулируют, она не будет…
Анатолий Старостин: Она к этому не склоняет, я понял.
Борис Янгель: Да, классическая формулировка абсолютно не склоняет, более того, ну там, можно доказать даже, что она в принципе не способна выучить в таком виде причинно-следственные связи и всегда будет учить корреляции. В то время как мы этого не хотим, мы хотим, сильно обобщаемых методов. И это вот свойство, наверное, которого мы ждем от методов, которые нас к AGI приведут, они должны работать очень хорошо в сеттинге, который мы в машин-лернинге называем out of distribution, то есть вообще не в том распределении, в котором они обучались, но где все еще действуют похожие законы, но могут корреляции быть совершенно другие между переменными.
Как решать задачи датасета ARC
Анатолий Старостин 30:59: А можешь теперь попробовать вернуться к моему вопросу про компьютер-вижн в тестах Шолле?
Борис Янгель: Если мы попробуем втупую обучить какую-то компьютер-вижн систему предсказывать на таком маленьком количестве примеров, что нужно сделать, она никогда не справится, потому что она будет искать типы корреляции между тем, что слева и тем, что справа. Это очень сложные закономерности, среди которых искать то правило, которое нужно, чтобы решить задачу — это иголку в стоге сена. Все связи в Арке между сеткой слева и сеткой справа, они как раз как бы очень причинно-следственные и выраженны в небольшом наборе таких атомарных концептов, типа объектность, что связанные области пикселей одного цвета обладают примерно такими же свойствами, двигаются как бы по каким-то определенным законам все вместе, вот такое supervised learning ну просто не в состоянии выучить. Поэтому решать вот так, как задачу классификации, просто нельзя. И это не только к Арку относится, это относится, если честно, к большинству задач классификации, когда у вас что-то работает на тест-сете, а потом не работает — одну из причин я сейчас озвучил.
Анатолий Старостин: На трейн-сете.
Борис Янгель: Нет, даже на тест-сете, потому что ваш тест-сет из того же распределения, и на нем все работает прекрасно.
Анатолий Старостин: Потом ты берешь второй тест-сет со смещенным распределением, и все начинает работать плохо. Так что же делать? Как решать Арк?
Борис Янгель: Ну смотрите, давайте подумаем вообще, как человек справляется с этой проблемой, для нас же это не препятствие, то, что я сейчас озвучил. А как человек вообще отличает.
Даниил Скоринкин: А точно не препятствие? Вот у меня как раз всю дорогу, что ты это говорил, у меня было ощущение, что надо сейчас спросить, а как же, насколько люди вообще, мы не очень, по-моему, хорошо отличаем корреляции от каузации так сказать.
Борис Янгель: Это зависит от того, в каком контексте мы с ними сталкиваемся. Есть контексты, в которых мы прекрасно с ними справляемся. Хорошо справляемся с тем, чтобы находить причинно-следственные связи, когда мы там говорим о каком-то взаимодействии с физическим миром. Как там, не знаю, один кубик ударит другой шарик, как полетит… Это вот все нам доступно очень хорошо, и это вот как раз тот уровень понимания мира, который нужен, чтобы решить Арк.
Анатолий Старостин: Ну вообще, мне кажется, главное свойство Арка по сравнению со всеми другими датасетами, которые я знаю на картинках — это то, что в нем неявно заложена темпоральность. То есть, неявно заложена категория времени. Там большая часть всего очень ситуативна. Их очень удобно описывать, эти примеры, из серии это все как бы «было-стало». То есть, это как минимум момент времени t0 и момент времени t1, который больше t0. И дальше с какими-то объектами что-то происходит в этом мире. То есть, кажется, что правильная модель с этим работающая, должна как-то понимать, что есть время, и оно идет. Может быть, дискретное время, и не так это здесь важно, но оно вот как бы движется вперед. Вот. по-моему, там в основном такие примеры.
Даниил Скоринкин: Физика там заложена какая-то?
Борис Янгель: Ну это даже не столько физика, сколько такие свойства локальности взаимодействия вселенной, что одинаково раскрашенные части двигаются как одно целое, части влияют там друг на друга, когда они находятся в непосредственной близости, когда их клеточки соседние, а когда они далеко, они там не влияют друг на друга. Понять, что с этим делать, можно, если обратиться к нашему, человеческому опыту. Как вообще нам все удается? Какие у нас есть инструменты, для того, чтобы с такими задачами справляться, и почему мы умеем? Ну, первый, очевидный инструмент, которым пользуются в основном в лабораториях, а еще им пользуются маленькие дети, когда они только учатся понимать, как устроен мир — этот механизм называется интервенция. Это когда мы берем и начинаем контролировать какую-то переменную,чтобы понять, это корреляция, или она оказывает влияние на наш мир? Это как если бы в нашем раннем примере с кофе и сигаретами, мы бы, не знаю, собрали людей и сказали: «Ок, ребят, вот теперь неважно, пили вы до этого кофе или не пили. Ты пьешь кофе, ты не пьешь кофе. Посмотрим, что будет».
Анатолий Старостин: Интервенция — это в смысле вмешательство. (Борис Янгель: Да) Вмешательство в мир. Мы вмешиваемся и вносим какое-то свое правило.
Борис Янгель: Ну да, но это технический термин просто — интервенция — так говорят. Еще это называется контролируемыми исследованиями, например, в медицине. Ну, этот инструмент нам доступен не всегда. Можно делать интервенцию по некоторым переменным, потому что мы можем на них повлиять, а по некоторым нельзя, и мы можем являться только пассивными наблюдателями. И, ну как бы мы и являемся пассивными наблюдателями все равно, почему-то у нас получается какие-то делать выводы о природе причинно-следственных связей в мире. Как нам это удается? Ну, во-первых, смотрите, мы все моделируем. Типа, мы не пользуемся дискриминативными моделями, а пользуемся генеративными в каком-то смысле. Что это значит? Вместо того, чтобы просто полагаться на то, что есть мир, в котором, не знаю, есть люди, которые курят и пьют кофе, мы пытаемся еще понять, а как же устроен мир, который сгенерировал эти вот фичи. Почему они именно такие? То есть мы моделируем не только связь фич и результата, а саму природу фич. Это, кстати, я думаю, одна из причин, почему GPT-3 такая мощная — она не дискриминативная, и генеративная, она каждый токен текста генерирует по одним и тем же правилам, и текст для нее живет как бы в таком унифицированном мире, как бы по какому-то достаточно небольшому набору правил, реализуемому трансформером. И дальше мы, значит, учим такие трансформеры на двух петабайтах текста, и оказывается, что в этом тексте столько взаимных ограничений на вот эти вот разные токены, что мы неизбежно, если мы пытаемся выучить что-то простое, мы неизбежно выучим очень много каких-то более причинно-следственных, а не корреляционных взаимодействий, просто потому, что мы строим модель не только связи нас интересующей, а вообще всего мира, и потому что у нас есть очень много ограничений на этот мир. Это, собственно про то, как вообще можно выучить вот такие в какой-то модели базовые концепции: объектность, как то, что объекты влияют друг на друга. Ну, скорее всего, если мы будем трениться на каком-то очень большом датасете, вот такого уровня, как то, на чем учится GPT-3, такие концепции в сети должны неизбежно появиться. И дальше нам нужно, ну, нам нужно придумать какой-то способ делать нормальный трансфер-лернинг из сети, обученной вот на таких штуках в Арк-подобные задачи, чтобы она просто могла переиспользовать те концепты, что там есть, небольшой ценой.
Короче, давайте так, мое предсказание: я думаю, что модель, обученная на YouTube, подобно тому, как GPT-3 была обучена на текстах, сможет решить Арк достаточно неплохо в том же фью-шот лернинг стиле, как GPT-3 решает многие задачи.
Как обучаются беспилотники
Анатолий Старостин 38:10: Я все-таки хочу спросить в рамках того, что не под NDA. Что ты делаешь именно сейчас с беспилотными автомобилями? Ты можешь рассказать хотя бы примерно, что это за модели, предсказывающие будущее? Как это работает? Потому что мы как раз упоминали время только что. Кажется, у вас как раз что-то про время, вы должны смотреть на шаг вперед, это какие-то нейросети или может вообще какие-то другие методы? Как это делать?
Борис Янгель: Да без проблем, что ты. Я могу рассказать. Недавно как раз на NIPS статью опубликовали, называется она PRANK, у нас тоже с неймингом все хорошо. Что мы делаем? Мы делаем в основном модели предсказания будущего движения. То есть, у нас есть какой-то объект, у него есть пространство состояний, допустим, в простом случае это его позиция. И мы хотим знать в каждый момент времени, в следующие 5, например, секунд как будут распределены его возможные состояния, исходя из того, что мы сейчас наблюдаем в мире, где он может быть.
Анатолий Старостин: Я в какой-то момент смотрел твое интервью с Иваном Замесиным, по-моему, было такое?
Борис Янгель: Было такое.
Анатолий Старостин: И ты говорил про какие-то языки, с помощью которых вам приходится описывать эти вещи. И меня очень это тогда триггернуло. Можешь про это сказать что? Или просто это были какие-то идеи, от которых вы отказались?
Борис Янгель: Деятельность, которую можно было бы назвать созданием языков таких, она в индустрии self-driving’a тоже существует. И вот почему. Ну, из нашей предыдущей беседы уже, наверное, можно было сделать такой вывод, что сделать self-driving чисто на машинном обучении не понятно пока как. Потому что для того, чтобы ездить везде, в любых условиях, нужно понимать причинно-следственные связи, которые действуют в мире вождения, а корреляций для этого не достаточно. Есть много научных работ, которые раз за разом в этом убеждают. Есть такая область offline reinforcement learning ― когда люди пытаются просто наблюдая за действиями агента, действовать так же. И это пока не работает. Вопрос: что же делать? Как мы применяем machine learning в self-driving’е? (Мы ― как индустрия.) Здесь используется такой комбинированный подход: когда мы планируем наши будущие действия ― ну, вот есть же такая штука, планер (это некий оптимизатор, который решает некоторую оптимизационную задачу выбора траектории, по которой нужно поехать). И он, с одной стороны, может использовать какие-то штуки, которые ему нейросеть подсказывает, а с другой стороны, он еще ищет эту траекторию в пространстве ограничений, описанных ему некоторым языком. Это как бы язык такой ― как описать мир, в котором мы живем, ездим, на таком языке, чтобы решение оптимизационной задачи было таким, какое нам нужно.
Анатолий Старостин: Ну, то есть, это язык каких-то ограничений ― не естественный язык, это какой-то формальный язык, но он придуман именно внутри проектов?
Борис Янгель: Все так, и, в каком-то смысле, каждый проект придумывает какой-то такой свой язык. Знаешь, можно сказать, что наш machine learning не может эти причинно-следственные связи выучить. И поэтому вот этот язык их обеспечивает. Он задает пример…
Анатолий Старостин: Давай приведем пример хотя бы одной причинно-следственной связи, которая есть в языке, при этом плохо выучивается machine learning.
Борис Янгель: Самый банальный пример machine learning, вообще говоря, не может выучить, если мы, допустим, self-driving попытаемся решить с помощью behaviour cloning’а, то есть, наблюдая за тем, как кто-то ездит и пытаясь скопировать. Вообще говоря, мы не можем выучить, что нельзя ехать в стену.
Даниил Скоринкин: Никто никогда не ездит в стену.
Борис Янгель: Потому что никто никогда не ездит в стену, и мы не знаем почему. То есть, ты просто наблюдаешь, ну чего они не едут в стену? Может, нельзя. Может быть, есть какая-то другая причина: твоя модель никогда не будет уверена, пока ты не поедешь в стену и не обнаружишь, что ― «упс…» Или пока кто-нибудь не скажет: «Нет, в стену ездить нельзя». И роль такой фразы выполняет этот наш язык, в котором можно описать такие ограничения, что вообще, что бы ты ни делал, а в стену ездить нельзя.
Даниил Скоринкин: 42:41 Сразу, конечно, возникает вопрос, а вводится ли в эти модели каким-то образом какая-то информация о более высокой ценности человеческой жизни по отношению к ценности транспорта, стен и так далее. Есть ли там что-то, что искусственно повышает необходимость детектировать пешеходов или, не знаю, необходимость уворачиваться?
Борис Янгель: В самих моделях скорее нет. Но вот там, где происходит синтез того, что, допустим, какие-то нейросетевые модели сказали, с нашими в целом знаниями о мире и правилами, когда мы хотим принять решение, там, безусловно, безопасности отдается наивысший приоритет.
Нужен ли AGI для создания беспилотных автомобилей
Анатолий Старостин 43:19 : Чтобы завершить тему беспилотных автомобилей сегодня: нужен ли AGI для создания полноценных беспилотных автомобилей? Насколько важно для того, чтобы беспилотные автомобили хорошо ездили, иметь все те правила, которые есть у людей? То есть, насколько важно действительно видеть, как водитель говорит по мобильному или какие-то такие мелкие детали нашего реального мира, которые мы все замечаем как водители, но, кажется что текущий софт, наверное, замечать еще не должен.
Борис Янгель: Тут сразу много вопросов. Во-первых, что именно считать self-driving’ом? Ты же знаешь, там есть иерархия уровней, от level one до level five, которая все сложнее, сложнее и сложнее. И четвертый уровень ― это когда у тебя есть полноценный self-driving, но не всегда и не везде. То есть, ты можешь выбрать время и место, когда ты говоришь, что я готов тут работать. А level five ― это когда можно везде. Четвертый уровень совершенно точно можно создать себе за AGI. Ну просто потому что у нас уже есть локации, в которых мы в принципе уже ездим на таком уровне. Там не очень много трафика, поэтому там все достаточно упрощено. Но запустить бесплатное такси там мешают, в первую очередь, отсутствие регулирования в этой сфере, а не технологические проблемы. Ну, и затем есть Москва, в которой намного сложнее ездить, и там уже нужен level five.
Анатолий Старостин: Давай для level five, просто интересно. В принципе задача может быть решена без такого полноценного понимания, в кавычках, мира или не может?
Борис Янгель: Ну это хороший вопрос, насколько далеко мы сможем зайти на этом синтезе наших ручных правил информации о мире и нейросетей. С точки зрения именно безопасности, чтобы мы всегда ездили безопасно и ни в кого не врезались, этого достаточно легко достичь таким синтезом. Но это будет не совсем level five, потому что мы неизбежно рано или поздно будем где-то застревать, то есть, мы будем оказываться в какой-то ситуации, которая в серой зоне ПДД находится, где нужно взять все в свои руки и действовать, чтобы из нее выбраться, а мы будем стоять и бесконечно ждать, пока нас не пропустят.
Даниил Скоринкин: Включить аварийку.
Борис Янгель: Угу.
Анатолий Старостин: Есть проблема… Я просто хочу, чтобы ты сказал, правильно я понял или нет? Есть проблема: ни в каких обучающих данных не будет присутствовать все многообразие мира, ты всегда можешь, не знаю, выкинуть на дорогу пианино, которое до этого никуда не попало, и вообще пианино не было нигде на дорогах никогда. А тут оно появилось. И дальше человек спокойно опознает пианино и как-то на него реагирует. А у робота, мир которого заранее прописан, возникает ступор в этот момент.
Борис Янгель: Self-driving более narrow, чем кажется. То есть, для того чтобы ездить по городу и осознавать мир в полной мере так же, как его осознаёт человек, что рояль на дороге, что вот эта кошка пробежала ― это звучит как AGI-complete задача. Действительно, нужно обладать таким же интеллектом, но это не необходимое условие для создания self-driving’а. Можно иметь намного более низкий уровень понимания, что происходит, но все еще эффективно и безопасно ездить. То есть, если ты не понимаешь, что за препятствие на дороге. Не обязательно понимать природу каждого препятствия. Достаточно понимать основные типы препятствий. Когда какая-то экзотика происходит, мы в него не поедем, мы остановимся и попросим телеоператора подсказать нам, можно туда вообще ехать или нет.
Стоит ли создавать ИИ так, как природа создавала мозг?
Даниил Скоринкин 47:04: Ты в один момент сказал, что всё ― вычисления, и в каком-то таком широком философском смысле вселенная ― тоже вычисления. И наш мозг, наверное, тоже вычисления. И, соответственно, вопрос… Да и, собственно, вторая вещь, о которой ты сказал в какой момент, когда упоминал человеческий мозг. Ты сказал, что ну вот мы же наш мозг построили, при этом не затратили там колоссальных ресурсов, но природа его построила.
Борис Янгель: Я хотел бы уточнить: природа затратила колоссальные ресурсы на то, чтобы построить наш мозг. Сколько лет эволюции ушло и эволюция занималась параллельным поиском все это время. Это очень много ресурсов. Не известно, сколько времени займет, чтобы повторить этот вопрос.
Даниил Скоринкин: Да, вопрос. Стоит ли пытаться это повторить или это неэффективный путь, который просто как бы эволюция им шла, а нам им идти не надо?
Борис Янгель: Совершенно точно стоит изучать, как работает наш мозг. На это есть много причин. Во-первых, мы хотим познать самих себя, что же там происходит у нас в голове. Во-вторых, у этого есть практическая польза: может быть, какие-то болезни научимся лечить. Возможно, из этого также будет еще какой-то выхлоп для AGI. То есть, мы можем найти какие-то организующие принципы, которые мы могли бы повторить в своих моделях, те же самые какие-то индуктивные сдвиги, которые эволюция туда заложила в hardware. Сразу мы их повторим, и в нашем мире внезапно нам станет намного проще решать задачи. Но как бы не факт, что это необходимо, в конце концов, как бы у нас свое hardware, у природы свое, ей пришлось построить компьютер, который в этой мокрой шумной среде эффективно работает. У нас среда другая, во многом превосходящая ту вычислительную среду, в которой работает мозг. Не факт, что нам нужны те же организующие принципы. Поэтому у меня такой осторожный скептицизм на эту тему: это может быть полезно для AGI, может быть бесполезно. Мы не знаем. Но при этом какие-то наблюдения про мозг, конечно, очень важны для того, что мы делаем.
Системы 1 и 2 Даниэля Канемана и обучение Alpha Go
Борис Янгель:49:28 Вот такой top of mind пример ― AlphaGo. Знаете наверняка, и многие думают, что AlphaGo ― это история как с шахматами, что мы решили какую-то узкую задачу снова и не продвинулись к созданию AGI. Мне кажется, это вообще не так. Если посмотреть чуть шире на все семейство алгоритмов, которое началось с AlphaGo, то их фишка в том, что они реализуют такую Канемановскую схему мышления. Вы знаете эту книгу ‘Thinking fast and slow’?
Даниил Скоринкин: Да, система 1 система 2…
Система 1 и Система 2 — условные обозначения двух моделей мышления, ставшие популярными благодаря книге Даниэля Канемана «Думай медленно… решай быстро».
- Система 1: срабатывает автоматически и очень быстро, почти не требуя усилий. Например, если вас спросят сколько будет 6 * 7, ответ 42 выдаст ваша система 1.
- Система 2: выделяет внимание, необходимое для сознательных умственных усилий, в том числе для сложных вычислений. Если вас спросят, сколько будет 23 * 17, вам придется включать систему 2.
Система 1 — берет ответы на вопросы из базы готовых решений у вас в голове. Столица России — Москва, корень из 25 — 5, у приятеля День рождения — пошли ему красивую картинку.
Если Система 1 не нашла решения в своей “копилке”, то включается Система 2, способная к анализу и нахождению новых решений.
К сожалению, часто Система 1 быстро дает неверный ответ, не дав возможности включиться Системе 2. Именно этот механизм заставляет нас ошибаться в простых ситуациях и поступать менее рационально
Борис Янгель 51:12: Да, вот AlphaGo реализует в точности ее. То есть, мы знаем, что что-то такое работает в нашем мозгу, и ровно эта же идея используется для того, чтобы накачать вычислительной мощностью дополнительно вот эту систему. Она как бы ретроспективно раскручивает возможное будущее того, что было бы, если бы я сделала так. А если вот так? И уточняет свои эвристики непрерывно. Ей даже не нужно никакого для этого другого сигнала, кроме как self-supervision. Она как бы свое аналитическое мышление постоянно пытается уравнять со своим эвристическим мышлением и за счет этого очень сильно повышает свои способности.
Даниил Скоринкин: То есть она учится и паттерны выявлять, и одновременно логически как-то продвигаться.
Борис Янгель: Да, и продвигаясь логически, она улучшает свою способность распознавать паттерны. Сперва я не знаю, какие выбирать ходы, но когда я их раскрутил на 5 штук вперед и посмотрел, к чему что привело, я уже понял, что мои изначальные ходы ― вот этот был лучше, этот хуже. Я запомню этот факт и в следующий раз буду им пользоваться. Это то, как человек постоянно учится что-то делать. Вот такие наблюдения очень полезны и они вполне реализуемы в наших системах.
Даниил Скоринкин: Просчитываю, запоминаю какие-то успешные штуки уже автоматически, уже не связывая их с логикой, и дальше снова просчитываю, запоминаю более сложные какие-то штуки. Опять же, как паттерны. AlphaGo, там же, как я понимаю, это семейство алгоритмов семейства нейросетей AlphaGo, AlphaZero и так далее, оно же сейчас как-то развивается в сторону все большего расширения игр, в которые оно умеет играть, потому что последняя штука, которая называется MuZero, она уже умеет играть в какое-то большое количество игр, и они не все такие игры на доске с фишками, а они довольно разные. И они утверждают, что они все меньше и меньше в них закладывают каких-то изначально правил.
Анатолий Старостин: Я только начал читать. Но, насколько я понял, там несколько раз употребляется фраза, что она выучивает игры, не зная правил.
Борис Янгель: Все так. Смотрите, чтобы в этой «Система 2», это аналитическая система, чтобы раскрутить нашу цепочку мысли, нам нужно не только выбирать, что мы будем делать, но и понимать, как мир будет реагировать потом на наши действия. То есть, нам нужна ментальная модель мира. И в AlphaGo, и в AlphaZero с этим все было просто, потому что весь мир представляет из себя игру. И у нас есть хорошая ментальная модель мира, мы просто переворачиваем доску и говорим: «Ага, а как бы я походил в этой ситуации?» Вот и вся модель, мы сами как бы своя модель мира. Но за пределами игр это не работает. MuZero делает следующий шаг и говорит: «Окей, я буду делать все примерно то же самое: ретроспективное мышление, улучшение своих эвристик. Но я одновременно буду учить модель мира, чтобы еще знать, а если я похожу так, как бы изменился мир? И я вот этот вот ретрорспективный анализ буду делать в пространстве, которое я выучила». То есть, она может у себя в голове…
Анатолий Старостин: Ну, мне кажется, что это очень важный момент: есть все-таки какие-то ограничения, наложенные на мир или нет.
Борис Янгель: Ну, есть пространство управлений, то есть, какие вообще возможные действия ты можешь предпринять. Я не знаю, что оно точно в себя включает, но какие-то из этих действий могут быть вполне патологическими, ты за них огромный штраф получишь. Так ты быстро выучишь их не делать, то есть, выучить, как ходит конь, для этих моделей вообще не проблема. Это быстро произойдет.
Актуальна ли проблема вагонетки для современных разработчиков беспилотных автомобилей
Даниил Скоринкин 54:54: Такой вопрос, связанный с такой дурацкой темой этики искусственного интеллекта. Актуальна ли для современных ML-разработчиков, к которым ты относишься, проблема вагонетки: выбора между тем, чтобы переехать условно одного пешехода и десятерых пешеходов.
Борис Янгель: Ни один разговор про self-driving еще без вагонетки, наверное, не обошелся. А почему ты думаешь, что эта проблема именно для ML-инженеров актуальная?
Даниил Скоринкин: Потому что она, на самом деле, актуальна, конечно, и для других инженеров, но они более успешно прячут свою ответственность за это. А тут как бы всем кажется, что есть некоторая штука, которая сама как-то автономно принимает решения, но при этом мы как-то контролируем ее эту автономность и мы какие-то задаем, ты сам говорил, что мы задаем перед этим какие-то ограничения такие фундаментальные типа вот через эти решения нельзя проходить вообще никак. Соответственно, возникает вопрос, а можете ли вы зашивать какие-то такие решения, что типа выбирай: минимизировать количество жертв или что-нибудь такое. Просто кажется, что это что-то, что вы можете сделать, грубо говоря. Вот и все. Поэтому, наверное, и возникает этот вопрос.
Борис Янгель: Тут, наверное, два таких слоя есть. С одной стороны, как я уже рассказал, мы постоянно выбираем эту траекторию, которая минимизирует косты, и, в каком-то смысле, беспилотник каждый тик решает своего рода задачу вагонетки. Но вас, наверное, интересует. Нет, обычно, когда про это спрашивают имеют в виду ситуацию, когда уже нужно из двух зол выбрать лучшее, когда вы оказались в такой ситуации, что мы собьем одного или двух других, и нужно решить какую-то этическую дилемму и выбрать наши действия. Вот такую задачу мы не решаем по ряду причин. Во-первых, решение этических дилемм в экстремальных ситуациях немного противоречит ПДД. То есть, в такой ситуации нужно тормозить в пол. И это буквально написано в правилах. И это как бы очень адекватно. Во-вторых, мы придерживаемся такой философии, что вообще не надо попадать в такие ситуации. То есть, если мы в нее попали, то будем тормозить в пол. Но это должно что-то радикально пойти не так. Если мы туда попадем. И, наконец, третья причина, почему я тут снимаю полностью ответственность с ML-инженеров. Потому что вот эти экстремальные ситуации, когда нужно действительно пытаться понять, если мы повернем направо, то мы врежемся сюда и, возможно, пострадают пассажиры, а вот здесь мы собьем человека. Ну представьте, как мало у нас данных, чтобы можно было выучить какие-то модели таких ситуаций. Они будут невероятно неточными, особенно с учетом всех этих проблем про каузальность, о которых мы сегодня говорили. То есть, просто у нас не будет даже достаточно хорошей модели с нашим текущим уровнем технологий, чтобы какие-то этические дилеммы уверенно разрешить. Если они будут, и в будущем придут регуляторы и скажут: «Окей. Мы посадили философов, они решили, что жизнь ребенка стоит столько, жизнь старика ― столько». Ну, теоретически это можно все запрограммировать, я не уверен, что этим кто-то будет всерьез заниматься.
Нужно ли создавать AGI?
Анатолий Старостин: Тебе вообще нравится идея, что AGI будет создан? Ты вообще считаешь, что миру надо в эту сторону двигаться?
Борис Янгель: У меня к этому, знаете, такое. Ах, если бы у вас был этот подкаст с видео составляющей, можно было бы вставить такую картинку-комикс. Есть такой комикс с NBC про то, как отличается восприятие: почему что-то делает ученый и популяризатор науки. Ученые не так много, как кому-то кажется, думают о последствиях. Их привлекает, в первую очередь, задача сама, потому что она интересная, классная, ей хочется заниматься. В основном люди AGI занимаются, на самом деле, поэтому. Потому что это огромный технологический вызов, и для меня тоже. И я боюсь, что это такой локомотив, который не остановить. Если AGI возможно создать, он неизбежно будет создан. И вместо того чтобы пытаться что-то отрицать или говорить, что не надо, надо как можно быстрее взять быка за рога и понять, что нам вообще делать, как обезопасить себя, когда AGI будет создан. Если AGI будет создан. И это очень непросто. Тегмарк про это целую книгу написал. Есть столько возможностей, как что-то может пойти не так, и в зависимости от того, что именно…
Анатолий Старостин: “Life 3.0”.
Борис Янгель: Да. Есть такое еще интересный поинт, что, в каком-то смысле, AGI ведь уже создан. И достаточно давно. Никто раньше такого вам не говорил? Это распространенная мысль достаточно. Если AGI мы называем какие-то… давайте даже так: не просто AGI, а супер хьюман AGI, вот такое более сильное утверждение, если мы этим словом называем какие-то системы, способные достигать какого-то огромного количества сложных целей лучше, чем человек. Вот примеры таких систем, которые у нас есть, ― это корпорации и государства. Они по всем критериям вполне себе AGI, у них даже есть свои языки. Компании общаются на языках пресс-релизов между собой, они добывают себе пропитание, сражаются друг с другом. Возможно, у них даже сознание есть, мы просто не понимаем, что это такое. Вот AGI уже существует. И посмотрите на мир сегодняшний. Мы очень плохо справляемся с тем, чтобы их даже в таком безобидном виде обуздать и чтобы их цели были выровнены с целями человечества. Что будет, если у нас появится еще более эффективная AGI-структура? Ну, страшно предположить. К счастью, многие уже какое-то время назад поняли, что это опасность, и есть много очень умных людей в мире, которые думают на эту тему.
Резюме выпуска: что мы узнали сегодня?
01:00:47
Анатолий Старостин: Что мы сегодня поняли?
Даниил Скоринкин: Я понял такую мысль, что, по-прежнему, вычисления ― это такой король, в смысле, вот такое вот computation и постоянное накидывание железа, и алгоритмов на железо, и железо на алгоритмы, и мы растим вот эти города из компьютеров. И пока мы продолжаем их как бы растить, растить, и интеллектуальная система реально становится все более и более интеллектуальная прям всерьез. Вот как бы мы видим эти какие-то такие качественные скачки в том, насколько они приближаются к тому, что мы бы могли назвать интеллектуальным реально. То есть мы видим, как система типа GPT-3 сильнее интеллектуально GPT-2, и система типа вот этой DALL·E сильно интеллектуальней тех систем генерации изображений, которые были до этого. И это все пока действительно обеспечивается ростом вычислительных мощностей. И нет причин полагать, что в ближайшее время это закончится. Пока торжествует такой подход brute-force. Верно ли я изложил вот этот тезис?
Борис Янгель: Все так, да. Единственная причина полагать, что вот этот пир может закончится когда-нибудь, это то, что закон Мура перестанет действовать
В 1965 году будущий сооснователь Intel Гордон Мур заметил, что количество транзисторов на квадратный дюйм интегральной микросхемы за 1 год увеличивается примерно вдвое. А цена производства одного транзистора за это время также падает приблизительно в два раза. Мур предположил, что такая закономерность будет существовать еще долгое время. В 1975 Мур скорректировал свой прогноз: изменения будут происходить не за один год, а за два года. Вот это новое предсказание и получило название “закон Мура”.
Этот закон действительно выполнялся более пятидесяти лет, пока технологии производства процессоров не приблизились к пределу возможности полупроводников. При этом объем доступных вычислительных мощностей сегодня продолжает расти и за счет других факторов — например, увеличения числа процессорных ядер в одном компьютере, или распределенных вычислений на кластерах.
Анатолий Старостин 1:02:52: Я понял, что классические методы машинного обучения очень сильно опираются на корреляции и гораздо хуже умеют понимать причинно-следственные связи. И это мешает нам двигаться дальше. Из-за этого мы плохо переносим что-то выученное в рамках одного распределения в соседнее, которое может быть похоже на то, на котором мы учили, но немножко от него отличаться. И неумение работать с причинно-следственными связями нас ограничивает в данный момент и не позволяет нам сделать следующий шаг в сторону сильно интеллектуальных систем.
Борис Янгель: Ну да. Оно ограничивает то, насколько наши системы способны к обобщению. Мы хотим очень обобщаемую систему, а используем методы построения не очень обобщаемых систем.
Анатолий Старостин: Отлично.
Даниил Скоринкин: Судя по тому, что мы сейчас обсудили, кажется, что создание беспилотных автомобилей и выпуск их в город с какой-то совсем минимальной поддержкой человека вполне реализуем без создания общего искусственного интеллекта, то есть, грубо говоря, мы можем сделать самопилотируемые такси, которые будут вполне себе ездить по Москве, может быть, иногда, раз в час, обращаясь к оператору за какой-то поддержкой, и это не потребует от нас создания какого-то вот такого человекоподобного разума. Но, с другой стороны, если мы попытаемся выйти за пределы вообще всяких ограничений в области self-driving cars, тут, может быть, все-таки мы упремся в стену до того момента, пока мы не создадим какой-то прямо совсем человекоподобный интеллект, который реально будет обладать таким стопроцентным здравым смыслом. Согласен ли ты с этим?
Борис Янгель: Да, все так. И мы оперируем, основываясь на предположении, что нам не нужно выходить в эту область для того чтобы заделиверить продукт.
Анатолий Старостин 1:04:48: Я понял про датасет ARC и про Франсуа Шолле. Я понял, что этот датасет такой сложный и не решается современными методами машинного обучения на текущий момент из-за того, что он очень маленький, и при этом опирается на огромное количество, вот мы употребляли слово «прайоров» (prior’ов) или предположений о мире, физическом в основном мире, которые у людей есть. У современных систем таких предположений нет, и не очень понятно, откуда их взять. И поэтому датасет ARC такой сложный.
Борис Янгель: Угу, только ты сказал что количество prior’ов большое, количество prior’ов то как раз небольшое. Кажется, которые нужны для решения ARC, они даже перечислены в статье. Мне кажется, там довольно исчерпывающий список. Проблема в том, чтобы откуда-то взять представление этих prior’ов и, кажется, захардкодить его очень сложно, и нужно его учить откуда-то ещё. Ну и чтобы потом уже, уже когда эти prior’ы есть, придумать какие-то алгоритмы обучения, которые на основе этих prior’ов могут построить какие-то очень простые каузальные зависимости такие, компактные невероятно, которые используют небольшое число концептов, которые мы выучили, и объясняют то, что происходит в датасете.
Анатолий Старостин: Да, и еще я понял, что ты веришь в то, что когда-нибудь подобного рода prior’ы удастся выучить из огромного количества видео на Ютубе, применяя модели, похожие на DALL·E и GPT-3 и наверняка какого-то следующего поколения с большим количеством вычислительных мощностей.
Борис Янгель: Да, я даже думаю, что не когда-нибудь, а это относительно скоро произойдет. То есть, модели, может, сами по себе будут другими, но общий подход моделирования просто огромного потока сырых данных с информацией о мире, мне кажется, позволяет выучить все нужные prior’ы.
Даниил Скоринкин: Хотя нам не всегда просто это осознать, можно сказать, что естественный интеллект, который строила природа, на него было потрачено гигантское количество вычислительных ресурсов, поскольку он строился миллионы лет, и природа делала его из того, из чего она могла его делать ― из тех белков, жиров и углеводов, на которых она могла оперировать. Поэтому за природой можно подглядывать, но не факт, что то решение, которое придумала эволюция для построения того интеллекта, который есть у нас в головах, что оно будет оптимально для того интеллекта, который мы хотим строить в кремнии, когда мы делаем его в компьютерах.
Борис Янгель: Да, и у меня тут есть, наверное, чуть более сильное утверждение, что мы можем найти так какие-то полезные подпорки для того, что разрабатываем мы. У нас в голове. Но, во-первых, не факт, что найдем. А во-вторых, не факт, что нужны, потому что сам принцип универсальности вычислений еще никто не отменял. В конечном итоге эти подпорки просто нужны для того, чтобы нам нужно было меньше данных и меньше компьюта для обучения. Можно всегда залить с другой стороны, мне кажется.
Блиц: советы начинающим ML-специалистам, сериалы про ИИ, о чем говорить с компьютерным разумом
Анатолий Старостин 1:08:06: Дай какой-нибудь совет начинающим ML-специалистам.
Борис Янгель: Не знаю, насколько я вправе давать советы, и поэтому давайте я лучше поделюсь своими наблюдениями. Как хорошие специалисты становятся хорошими? Тезис номер один. Правило 10 000 часов никто не отменял. В конечном итоге, все сводится к тому, сколько времени вы потратили. Тот, кто потратил больше времени, станет лучше. Его можно просто тратить чуть больше и чуть менее эффективно. Это как с компьютом, про который мы говорили. В конечном итоге вам нужно потратить, а как его тратить более эффективно? Не нужно довольствоваться только пассивным поглощением информации, нужно всегда играть с концепциями, которые вы узнали и пытаться делать…
Анатолий Старостин: Производить интервенции.
Борис Янгель: Да, именно. Это же все то же самое. Видите, как замкнулось. Потому что тогда вы намного больше поймете о том, как работает система. То есть, вы прочитали про новый метод машинного обучения, не надо пытаться его запустить на огромном датасете с картинками. Нужно придумать какую-то модельную синтетическую задачу, которая выпячивает какие-то аспекты явления, которое вы хотите промоделировать. Решить ее, понять что-то в процессе. Так вы намного быстрее будете приобретать опыт, чем тупо запускать что-то на больших датасетах. Это важно.
Анатолий Старостин: Супер. Твои любимые книги, фильмы, сериалы по теме искусственного интеллекта? Что-нибудь не обязательно…
Борис Янгель: “West world”, однозначно.
Анатолий Старостин: Даже с третьим сезоном?
Борис Янгель: Это прямо по живому. (смеется) «Черное зеркало» ― классная штука, мне очень многое нравится.
Даниил Скоринкин: Назови две-три сферы экономики, не считая беспилотных автомобилей и такси, которые не изменил еще, но изменит искусственный интеллект.
Борис Янгель: Медицина. Ну, он прямо вот, мне кажется, совсем недавно начал менять. Поэтому я не знаю, насколько это засчитывается за честный ответ. Alpha Fold, наверное, вы все слышали. Я думаю это будет иметь далеко идущие последствия. Ну, пусть еще будет индустрия развлечений в смысле создания, допустим, разнообразного контента для поглощения видео, аудио, компьютерные игры.
Анатолий Старостин: Такой вопрос, есть только три варианта ответа всего. Значит, где будет изобретен сильный искусственный интеллект? Первый вариант ответа: в большой корпорации. Второй вариант ответа: в академии, в научной среде. Третий вариант ответа: каким-то гением в гараже.
Борис Янгель: Если это произойдет достаточно скоро, то в большой корпорации. Именно из-за тех принципов, о которых мы говорили. Ни академии, ни энтузиастам в гараже не доступно нужное количество вычислений. Либо это должен быть очень богатый человек в гараже и очень богатый… Если что-то изменится в плане вычислений, допустим, появятся сверхдешевые ускорители, доступные всем, то ситуация может переломиться. Пока не вижу как.
Даниил Скоринкин: Следующий вопрос: программисты останутся без работы из-за победоносного шествия ИИ и нейросетей, которые генерируют код?
Борис Янгель: Хороший вопрос. Смотря насколько далеко это зайдет. Возможно, все останутся без работы. Т.е. если ИИ способен достигать целей, то не понятно, почему этой целью не может быть программирование тоже. Но не сразу. Я думаю какое-то время мы еще поживем в каком-то симбиозе, когда программист просто будет сваливать на ИИ рутину. Я очень давно хотел бы это делать.
Анатолий Старостин: Оказавшись перед искусственным интеллектом, что ты ему скажешь? Перед сильным, естественно.
Борис Янгель: Насколько? Очень сильным? Ну, я попрошу его рассказать что-нибудь о природе нашей реальности, чего мы, чего наша наука не знает. Это включает в себя такие распространённые версии вопроса, живем ли мы в симуляции и все такое.
Финал
Даниил Скоринкин: 01:12:19 Друзья, это был очередной выпуск подкаста «Неопознанный Искусственный Интеллект» от издания «Системный Блокъ». У нас в гостях был Борис Янгель ― ML-разработчик из Яндекса. Тимлид одной из команд, которая занимается машинным обучением для беспилотных автомобилей. Боря, спасибо тебе огромное, что ты пришел и поделился своими крутейшими мыслями.
Борис Янгель: Спасибо, что позвали. Мне очень интересно было сегодня с вами поговорить.
Анатолий Старостин: Спасибо, Борь.
Даниил Скоринкин: С вами были Даниил Скоринкин.
Анатолий Старостин: И Анатолий Старостин.
Даниил Скоринкин: Пока!
(1:12:45) Над выпуском работали: Ася Ройтберг, Юлия Гоняева, Эва Григорьян, Иван Шанин, Михаил КалрА, Анастасия Хорошева, ВГ и Илья Булгаков.
Это был девятый выпуск подкаста Неопознанный Искусственный Интеллект от издания Системный Блокъ.