В этом выпуске мы обсуждали: почему разметка данных — узкое горлышко в развитии ИИ и горячая тема для стартапов, сойдется ли фантастика с реальностью и когда роботы начнут основывать коммерческие компании без людей.
Оглавление выпуска
- 00:57 — О госте и о разметке данных для ИИ
- 02:29 — Почему диплернинг называется диплернингом
- 03:44 — «узкое горлышко» разметки данных в современном ИИ
- 07:00 — Современный ИИ глазами стартапера из Кремниевой долины
- 14:35 — ИИ без «железного человека» и «звездных войн»: как ставить задачу четко
- 23:02 — ИИ для беспилотников: на чем обучать?
- 26:03 — Должен ли сильный ИИ говорить по-человечески?
- 35:44 — Фантазируем о мире, в котором победил ИИ
- 40:49 — Умерла ли «старая школа» ИИ
- 51:20 — Можно ли прийти к ИИ через моделирование мозга: нейрофизиология и антропоморфность
- 53:05 — Самоорганизующийся ИИ и самопрограммирующиеся нейросети
В выпуске были упомянуты
книги, ссылки, термины, персоналии
- Label Studio
- Active Learning
- Рей Курцвейл
- библиотека Keras
- лингвисты А.А.Зализняк, В.А.Успенский
- AGI
- Wolfram Alpha
- peopleless компании
- Айзек Азимов
- Символьный ИИ
- Weak Supervision (Слабое обучение)
- Knowledge графы
- Sustainable NLP
- AutoML
Ссылки и полезная информация
Текстовая версия выпуска
00:00 Даниил Скоринкин: Привет, друзья! С вами очередной выпуск подкаста «Неопознанный искусственный интеллект» от издания Системный Блок. Подкаста, в котором мы пытаемся разобраться, что называют искусственным интеллектом сегодня, во что он превратится завтра и когда уже роботы станут умнее нас и поработят мир. Сегодня нас трое в этой студии. С вами, во-первых, постоянный ведущий подкаста, я — Даниил Скоринкин, главный редактор издания Системный Блок, и мой коллега…
Анатолий Старостин: Анатолий Старостин. На текущий момент я руководитель службы развития технологий медиасервисов Яндекса. У меня довольно много разного прошлого, связанного с обработкой, естественно, языка и в частности я один из тех людей, которые начинали проект голосового помощника Алисы Яндекса. И как раз в этом проекте я встретился с нашим сегодняшним гостем Николаем Любимовым. Привет, Коля!
Николай Любимов: Привет!
О госте и о разметке данных для ИИ
00:57 Анатолий Старостин: Коля тоже один из родоначальников Алисы. У Коли богатое прошлое в области различных технологий искусственного интеллекта и настоящее. Надеюсь, Коля сегодня нам об этом расскажет. Ты учился на ВМК, да? Ты писал диссертацию по распознаванию речи. И вообще у тебя в голове удивительные вещи. Надеюсь, ты нам сегодня отчасти о них поведаешь.
Николай Любимов: С радостью!
Анатолий Старостин: Отлично! Ну, давайте попробуем тогда начать. Коль, ты можешь немножко рассказать сначала о себе. Расскажи, например, про твой текущий стартап. Он называется, насколько я знаю, «Label Studio». Что вы делаете и почему? И мы плавно начнем обсуждать проблемы искусственного интеллекта.
Николай Любимов: Стартап на самом деле называется Heartex. Label Studio называется продукт, который мы и продаем. Это продукт, связанный с созданием данных для искусственного интеллекта. То есть если лет пять назад для того, чтобы создать искусственный интеллект, нам нужно было писать какие-то алгоритмы, создавать пакеты, сложные программы, заниматься разработкой, заниматься способом, как мы должны обрабатывать картинки и как мы должны вычленять из этих картинок какую-то нужную информацию или из текстов. То сейчас, по сути, всё развитие методологии создания искусственного интеллекта свелось к тому, что нам нужно просто размечать данные.
Почему диплернинг называется диплернингом
Даниил Скоринкин: Я правильно понимаю, что то, о чём ты говоришь сейчас, это как раз то, что называется Deep Learning, обучение нейросетей, глубинное обучение?
Николай Любимов: Да-да, в том числе. Ну, как, Deep Learning — это в целом общая концепция машинного обучения, которая считается стримовой. Почему Deep Learning? Просто потому, что модели, которые работают там, — это обычно какие-то очень сложные модели. Просто решили, что, раз модель сложная, давайте будем звать её сложной, то есть или глубокой.
Анатолий Старостин: Мне кажется, что может даже чуть-чуть конкретнее сказать, что вот это слово «deep» — оно от многослойности того, что большая часть сетей, которые используются, они многослойные и в этом смысле они глубокие.
Даниил Скоринкин: Я правильно понимаю, что эта сложность, она для людей, которые создают эти архитектуры, которых, видимо, не так много, да? А для людей, которые пользуются…
Николай Любимов: Людей не много или архитектур не много?
Даниил Скоринкин: Людей мне кажется не так много, которые действительно создают современные нейросетевые архитектуры, новые для использования. А для тех, кто использует машинное обучение, для них, как ты говоришь, всё стало, получается, в некотором роде легче, то есть некоторое упрощение произошло.
Николай Любимов: Да, именно. Произошло некоторое упрощение, и в целом программировать какую-то нейросеть или программировать искусственный интеллект в какой-то простой его форме — это задача, в общем-то, доступная даже людям, которые в целом не знакомы с программированием.
«Узкое горлышко» разметки данных в современном ИИ
Анатолий Старостин: Коля не дорассказал про то, что делает их Label Studio и почему оно так работает. Может быть, ты коротко расскажешь суть именно вашего начинания в этой области?
Николай Любимов: Да, я как раз просто и предысторию, чтобы вводно объяснить, почему именно мы занимаемся и Label Studio и для чего она нужна. То есть, как я сказал, все системы, в которых строится искусственный интеллект, они стали такими легкодоступными, и главное узкое горлышко в них — это именно создание самих данных. То есть, даже если у тебя есть супер вычислительные технологии, чтобы построить эти нейросети, даже если у тебя есть команда разработчиков, которая может тебе написать любые нейросети, заставить их работать где-то уже в продакшене… Всё равно есть это узкое горлышко, которое упирается в то, что нужно посадить человека и сказать ему: «Вот, размечай мне вот эти фотографии. Говори мне, где кошки, а где собаки». То есть так или иначе всё упирается в простой человеческий труд по сортировке разных фотографий. Но вот мы решили, соответственно, попробовать закрыть вот эту часть и помочь компаниям, которые занимаются разработкой искусственного интеллекта, создавать данные гораздо проще, эффективнее, быстрее и качественнее.
Анатолий Старостин: Можно ли сформулировать коротко так, что на сегодняшний день интеллектуальность систем очень сильно скоррелирована с интеллектуальностью тех данных, на которых эта система учится?..
Николай Любимов: …интеллектуальность тех людей, которые эти данные размещают.
Анатолий Старостин: …и сложностью тех данных, на которых система учится? Поэтому вы сделали акцент именно на том, как научиться делать хорошо размеченные данные, потому что если у тебя будут хорошо размеченные данные, то ты сможешь обучать более сложные системы. Как бы я правильно понимаю общее направление мысли?
Николай Любимов: В целом так, да.
Николай Любимов: Да. И вообще у нас как бы основная идея, которая лежит за «Label Studio», — это так, чтобы процесс создания контента человеком, он, по сути, был неотличим от процесса разметки данных. То есть, когда человек создаёт контент или, например, он пишет название статьи, это же, по сути, тоже разметка, когда человек даже заходит в поисковик, в поисковую систему и кликает на какую-то ссылку, он тоже выдаёт вот эти данные, которые являются элементом разметки.
Анатолий Старостин: То есть в этом смысле это то же самое, что Mechanical Turk или Yandex Toloka, но у вас есть свое отличие и свой дифференциатор. Как я понимаю, он в том, что внутрь процесса разметки очень сильно встроен алгоритм машинного обучения. Разного рода Active Learning и так далее…
Active Learning — стратегия машинного обучения, при которой алгоритм сам отбирает для себя обучающие примеры. Сначала люди размечают для модели случайную порцию данных. Обучившись на них, алгоритм начинает обрабатывать новые данные. При этом выделяются примеры, в которых модель уверена меньше всего. Такие примеры подаются для разметки людям. Фактически мы пытаемся найти слабые места в «познаниях» модели и сфокусировать обучение на них. Доразмеченные данные присоединяются к обучающей выборке — и модель учится снова. Процедура повторяется несколько раз, пока качество модели не перестанет расти. Активное обучение часто используется для экономии времени и сил при ручной разметке данных.
Николай Любимов: Когда ты обучаешь искусственный интеллект, он тебе помогает ещё выбрать то, что он не знает. То есть ты не просто вслепую собираешь данные, потом обучаешь искусственный интеллект, а тут процесс, как будто с ребёнком ты общаешься, ты ему говоришь, что здесь написано, а он уже знает, что здесь написано, говорит, спрашивает тебя: «Прочти мне другой абзац», потому что он его не знает. Какие-то слова он знает, какие-то слова он не знает. Он сам подсказывает тебе те слова, которые он не знает.
Анатолий Старостин: Вот этот принцип, который ты сейчас описал, называется активным обучением, Active Learning.
Николай Любимов: Да.
Современный ИИ глазами стартапера из Кремниевой долины
07:00 Анатолий Старостин: Коль, получается, что ты сам волею судеб оказался таким человеком, который, я бы сказал, в центре так или иначе развития технологий сегодня. У тебя стартап в Долине, ты читал все статьи по Deep Learning`у, какие можно…
Николай Любимов: С утра просыпаюсь и…
Анатолий Старостин: И ты очень много знаешь про то, как это всё происходит. И вот давай мы с Даней сейчас попробуем проверять об тебя, так сказать, некоторые наши гипотезы. Хочется понять, правильно мы думаем или неправильно, и думаешь ли ты так же, как мы. Попытаемся сейчас с высоты птичьего полёта. В целом вопрос можно задать так: как ты видишь современное состояние искусственного интеллекта? Но я могу его чуть-чуть детализировать. И мы уже начали об этом говорить. Мне хочется эту тему, так сказать, прокопать поглубже. Вот пока ты говорил, ты несколько раз употреблял слово искусственный интеллект. И просто из того, как ты его употреблял, стало понятно, что ты употребляешь его в том самом узком смысле. То есть некоторый интеллектуальный алгоритм, который повторяет некоторую… умеет решать некоторую задачку узкую, которую также умеет решать человек. Но при этом задачка считается интеллектуальной, ну просто потому что она считается сложной. Правильно? Потому что она трудно алгоритмизируемая. Потому что написать просто последовательность циклов if и else, которые эту задачку решают, сложно. Ты разделяешь эту точку зрения?
Николай Любимов: Точку зрения касательно того, почему используют искусственный интеллект, безусловно, конечно, модели, они сложнее, чем if и else. Такие модели, они более сложные, чем если мы будем строить какой-то алгоритм на том, чтобы отличать один пиксель… принадлежит ли этот пиксель к кошке или собаке — это так. Но в целом мне кажется, что искусственный интеллект — это, скорее, просто дань моде. В принципе любой алгоритм, который использует машинное обучение — он называется алгоритмом с использованием искусственного интеллекта. Это, скорее, просто вещь, которая лучше продаётся.
Анатолий Старостин: И тебе так хорошо, тебе это окей?
Николай Любимов: Да, к сожалению, я тоже употребляю это слово исключительно с точки зрения того, что это более кликбейтное слово. То есть если ты видишь искусственный интеллект, то у тебя сразу возникает какое-то ощущение чего-то нового, чего-то мейнстримового. И хотя все технологии, которые используются сейчас, они уже существуют 50 лет.
Даниил Скоринкин: То есть маркетинговая сторона тебя, она радуется в этот момент. А инженерная сторона тебя, она протестует или нет?
Николай Любимов: Ну, она… параллельно ей. Искусственный интеллект и пускай. Что угодно можно назвать как угодно. Главное, чтобы это было общепринято.
Анатолий Старостин: Но при этом, одновременно с этим мы видим в литературе, в кино, не знаю где ещё, в первую очередь там мы видим другое представление об искусственном интеллекте. Мы видим целую серию фильмов про то, где какие-то супер умные машины решают самые сложные задачи, общаются с людьми на равных и так далее. Вот я не знаю… Буквально недавно я посмотрел второй сезон сериала «Altered Carbon». Есть такой сериал про… в общем, там всё очень сложно, жёсткая какая-то фантастика. Но главное, что там с одной стороны сознание людей можно загружать в такие специальные картриджи, которые вставляются в позвоночник, и поэтому если там тебя убивают, то это не страшно, ты просто перезагружаешься. И главное, чтобы твой картридж не пострадал. Это с людьми. И одновременно в этом же сериале очень развита тема голосовых помощников и вообще помощников. Вторая ветка в этом сериале, она про искусственные интеллекты, которые активно помогают людям. И в общем, вот эта идея как бы artificial world и artificial assistant, как бы human assistant нам в этом сериале раскрыта по полной. То есть мы, получается в этом мире фантастики, в мире кино, литературы и так далее видим вообще другое про искусственный интеллект.
Николай Любимов: Слава Богу!
Анатолий Старостин: Как ты думаешь, вот эти два мира когда-нибудь вообще сойдутся?
Николай Любимов: Я думаю, один мир всегда будет впереди. Мир фантастики на то и мир фантастики, чтобы быть впереди и чтобы двигать, давать спектр движения для того, чтобы производить технологии. А это безусловно не плохо.
Анатолий Старостин: Отлично! Эту позицию я тоже разделяю. Всегда впереди, но…
Даниил Скоринкин: Вопрос двигаются ли технологий по этому вектору сейчас. Ориентируются ли именно на этот вектор, видят ли они его? Или они все упёрлись в изучение нейросетей, потому что за это сейчас прям платят живые деньги.
Николай Любимов: Просто мне кажется, сфантазировать какой-нибудь сценарий для нового фильма с искусственным интеллектом — это в целом гораздо проще, чем построить серьёзный искусственный интеллект. Безусловно, люди вдохновляются какими-то идеями, которые рисуют нам фантазёры будущего, футурологи. Более того, очень много футурологов, которые сами были в прошлом большими разработчиками искусственного интеллекта. Такой, например, есть Рэй Курцвейл. Вот он очень много сделал для систем, в том числе распознавания речи, и потом стал таким апологетом движения к сингулярности, как он называет. Он писал о том, что мы вообще не знаем, на самом деле, как будет выглядеть этот мир, потому что совершенно он будет… Нам сложно представить такой мир, потому что в нём будет всё создано роботами.
Даниил Скоринкин: Вот смотри, помимо Рэя Курцвэйла, есть ещё один похожий в чём-то человек, потому что он тоже с одной стороны инженер, а с другой стороны уже такой переходи в сторону философа и футуролога. Его зовут Франсуа Шолле. Он вообще такой главный разработчик библиотеки Keras.
Keras — библиотека для глубинного обучения с открытым исходным кодом на языке Python. Разработана для ускорения экспериментов с нейросетевыми архитектурами. Поддерживает работу с низкоуровеными библиотеками такими как TensorFlow и Theano, предоставляя к ним удобный и понятный интерфейс. Основной автор Keras — инженер Google Франсуа Шолле.
Даниил Скоринкин: И он недавно написал такой провокационный твит, в котором он написал то, что: «Ну да, строительство новых и новых, более глубоких нейросетей приближает нас к появлению настоящего искусственного интеллекта, когда роботы будут нас понимать и все задачи решать. Примерно так же, как строительство всё более высоких башен приближает нас к Луне. Что ты думаешь о таком слегка уничижительном по отношению к современным технологиям, к тому же Deep Learning’у, высказываниям человека, который тоже, собственно, этим занимается?
Николай Любимов: В общем да, потому что пока нет… То есть я понимаю, почему он так говорит. Потому что он человек, который разрабатывал исключительно инструментарий для создания таких алгоритмов. Он понимает, что все под использованием инструментов понимают исследования в области искусственного интеллекта. Он видит, как люди используют библиотеки для создания нейросетей. И у него стоит вопрос, что вот уже и количество использований, и количество данных, на которых мы используем тот же самый Kerаs, оно уже как бы огромно, но вот само по себе перехода к чему-то новому не возникает. То есть как бы вроде да, оно увеличивается-увеличивается-увеличивается, но качественного перехода не возникает. Количественный растёт, а качественный — нет.
Даниил Скоринкин: Нет ли ощущения потолка или приближения к какому-то потолку, за которым вот этот подход набрасывания лопатой, набрасывание, набрасывание, что он уже просто начнёт приносить всё меньше и меньше процентов и в какой-то момент мы остановимся?
Николай Любимов: Я не думаю, что это может, потому что мир, он такой многогранный. Взять какой-то очень популярный датасет с картинками, на которых все постоянно меряются своими достижениями на нём. Люди доходят до потолка и доходят-доходят-доходят и, наверное, никогда не дойдут до 100%. Но это только один экземпляр данных, который мы вырвали из мира и на нём что-то делаем, но, во-первых, есть ещё много других, а во-вторых, есть ещё бесконечное множество способов, как связать несколько разных датасетов друг с другом, как сделать связь между картинками и разными текстами, как построить связь между картинками и текстами и с какими-то событиями, связанными в мире и во времени. То есть, на самом деле, количество моделей мира, которые можно построить на статистических данных с использованием нейросетей — их очень много. Нейросетки научились обучать, а вот теперь вопрос: а что происходит, как? Нейросеть что-то выдаёт. Но то, что она выдаёт — на основании чего она это решает? И вот сейчас люди пытаются уже создать подходы, чтобы нейросеть сама объясняла: «Я выбрала здесь кошку, потому что у неё здесь усы, такое-то лицо, такой-то нос».
ИИ без «железного человека» и «звездных войн»: как ставить задачу четко
14:35 Анатолий Старостин: Хорошо. Могу я попробовать чуть-чуть наш разговор в другую сторону увести? Вот смотрите. Вроде как мы согласились сейчас с вами, что дистанция огромного размера между вот этими искусственными интеллектами в фантастике и тем, что в реальном мире происходит на всех конференциях по искусственному интеллекту и вот вообще в мире Deep Learning’а. А есть ли какие-то способы думать о вот том сложном искусственном интеллекте, который нам нарисован в фантастике, чуть более строго, чем просто говорить, что это вот такой искусственный интеллект, как в Iron Man или как в Звёздных Войнах? Это же самый типичный способ объяснить, что такое искусственный интеллект. Вот представь себе, интеллектуальный робот. Он делает всё как человек. Он только не биологической природы, какой-то другой.Что отличает вот этот фантастический искусственный интеллект от тех, которые у нас в реальности? Какие формальные критерии ты мог бы предложить?
Николай Любимов: Именно, на самом деле, в этом и заключается задача сильного искусственного интеллекта. Это определение этих критериев. Нельзя делать что-то, не определив чётко задачу. И когда мы говорим, что «я хочу сделать что-то, чтобы он был похож на человека». Когда мы говорим о том, что нейросеть должна обладать какими-то neuro human или super human performance, то мы под этим подразумеваем, что она должна решать какой-то класс задач, 50 каких-то задач с обработкой, естественно, языка. И она должна эти 50 задач выполнять лучше, чем человек. Тогда это будет… мы будем называть это…
Анатолий Старостин: А вот ты уверен? Во мне такая постановка задачи вызывает внутренний протест.
Николай Любимов: Да, у меня тоже вызывает протест, но я просто не протестую.
Анатолий Старостин: Наш подкаст — это такое место, где можно немножко попротестовать, поскольку мы действительно пытаемся разобраться в этом вопросе. У меня всё время есть ощущение методологической ошибки, что вообще вот эта вся схема датасетов, в которых решается та или иная задача и нужно выбить score как у человека или выше, и типа будет много таких датасетов и мы научимся их всех решать. Мне кажется, это ошибочная парадигма. Я могу объяснить почему. Мне кажется, что самое удивительное свойство человеческого ума — это умение решать много разных задач, так сказать, одновременно. И поэтому получается, что нельзя создать фиксированный набор задач, который надо уметь порешать, и после которых система станет интеллектуальней. А нужно создавать систему, которая может без перепрограммирования или без какого-то участия инженера приспосабливаться к новым задачам. И тогда это будет ближе гораздо к тому, что умеет человек. Ты не думал о такой постановке?
Николай Любимов: Но ведь человек, он тоже не так работает. Он всегда обучается, есть моменты обучения. То есть если я никогда в жизни что-то не видел, то мне всё равно нужно увидеть, обучиться, понять. Возможно, я привлеку собой какие-то знания, которые у меня были накоплены прежде, но я всё равно буду обучаться новому. Вопрос, с какой скоростью я буду этому обучаться. Если это явление какое-то совершенно…
Анатолий Старостин: Именно, но ты это будешь делать сам. Ты в этот момент не позовёшь Господа Бога, не встанешь на паузу, и Бог тебя немножко переинженерит, поменяет тебе архитектуру, потом включит, и ты уже обучишься. Так не происходит.
Николай Любимов: Что значит сам? Всё равно это будет метод проб и ошибок. Я буду что-то делать, получать какую-то реакцию от внешней среды, понимать, что я сделал что-то не так, исправлять себя и делать вновь.
Анатолий Старостин: Отлично. Хорошо, тогда вот смотри. Я тебе сейчас опишу некоторую постановку задач достаточно формально, как раз, так сказать, представь себе, что нужно создать голосового ассистента, можно даже без голоса, только печатного, с которым можно поговорить. И в процессе диалога объяснить ему некоторую свою проблему, например, можно всё свести до игр. Объяснить ему, что ты хочешь с ним поиграть в игру, объяснить ему правила этой игры, вот прямо поговорив, сказать: «Вот, правила будут такие». И после этого этот самый голосовой ассистент уже начнёт с тобой в рамках этих правил играть. То есть ты ему голосом что-то объяснил, сказал правила. А потом от игр ещё шире идём и ты можешь объяснить ей, не знаю, какую-то свою проблему в компьютере. Сказать, что «у меня тут файлы в бардаке. Можешь разобрать их по форматам, по датам, оставить только какие-нибудь хорошие кадры?» или ещё что-нибудь. Вот как бы ты решал такую задачу в современном мире?
Николай Любимов: Скажи тогда где, в каком моменте времени здесь появляется человеческое волшебство сознания. Где здесь что-то такое, что, условно говоря, не описывается детерминированным способом, с точки зрения человека? Анатолий Старостин: Я не знаю, просто для тебя сформулировал задачу. Какая разница, что здесь человеческое? Это просто задача, которая, мне кажется, не укладывается в эту современную всю…
Николай Любимов: Как раз я хотел оппонировать в этом плане. Как раз мне кажется, что пока в такой постановке она укладывается вполне.
Даниил Скоринкин: Хочу отобрать хорошие кадры: это не очень детерминированные алгоритмизированные задачи, например.
Анатолий Старостин: Окей, я даже готов попытаться вот эту свою сейчас нынешнюю задачу переформулировать в вот эти датасеты. Грубо говоря, сессии про шахматы и про шашки мы системе показали, а остальные другие игры просто не показываем. И когда система уже готова к использованию, я беру, открываю её, говорю: «Привет, Вася. Я придумал новую игру. У неё такие-то правила. Будешь со мной играть?» Вася говорит: «Ну, давай поиграем». И ты ему говоришь: «Правила такие, такие, такие» и этот робот должен начать с тобой играть. Вот как ты такой датасет вообще сделаешь? Как ты такую дорожку организуешь?
Николай Любимов: Я вполне себе могу представить. В общем, что такое, во-первых. Когда ты мне объясняешь, что есть игра, ты уже объясняешь мне в рамках того, что я в принципе понимаю, что такое игры, какой у них принцип, что у них есть два игрока, есть какая-то цель, какой-то выигрыш, есть правила, которым нужно следовать и не нужно отклоняться от них. То есть это огромный багаж знаний, который уже я выучил на каких-то данных других, на других играх. Поэтому я могу себе представить, что вполне можно даже использовать только естественный язык, можно, условно, взять сто тысяч разных игр, обучить сеть, и сто тысяч первая игра будет…
Анатолий Старостин: Правильно. Так я и привёл тебе пример, что с играми — окей, ещё вот так вот сделать можно. Я знаю, что есть какая-то область интересная, какая-то Universal Game Playing, что ли, где люди пишут супер формальный язык, который как бы описывает любую игру, и поэтому кажется, что задача ещё охватная. Но вот после этого я специально ещё раз вышел из плоскости и сказал: «А вот этот же робот должен мне ещё папки отсортировать на компьютере». То есть я его переношу уж ещё в какую-то новую реальность. Понимаешь, к чему я подвожу? Вот секунду, прям важно. Звёздные Войны вспоминаем. Вспоминаем S3P0 и R2D2 — парочка. Я их воспринимаю как единый искусственный интеллект, они всегда в паре, между собой общаются. Они же оказываются примерно в любой обстановке. Они на каких-то песочных планетах, потом в мусорном баке, потом ещё где-то, да? И каждый раз они приспосабливаются к этой среде, что-то делают, помогают главным героям и добро побеждает и всё хорошо. Но понятно, это фантастика, но мне кажется, что в этом месте ключевое свойство искусственного интеллекта большого, сильного, общего присутствует — это какая-то максимальная адаптивность. Способность переноситься из одного environment в другой. Вот как современное течение науки нас ведёт в эту сторону?
Николай Любимов: Нет, ну всё-таки мне кажется, что… Представь себе, что… Я уверен, что человеку такая задача тоже недоступна. Это то же самое, что, например, ты выучил английский язык, а я дальше говорю тебе на хинди ещё, переведи мне. То есть ты научился переводить с одного языка на другой, но…
Анатолий Старостин: Если ты мне после этого дашь время, я разберусь.
Николай Любимов: Как ты разберёшься?
Даниил Скоринкин: Вообще такие задачи были на традиционной московской олимпиаде по лингвистике. Там принципиально людям давали тексты на языках, которых они не знают, и ещё тексты на языках, которые они знают. Там вся идея была в том, что человек экстраполирует логику языков. Это то, что делал Зализняк, Успенский, вот эта вся команда таких лингвистов и математиков. Это, собственно, то… Кстати, интересно проверить, как эти задачи, мог бы их решать компьютер или нет, потому что они с одной стороны такие достаточно тривиальные, ну, они примерно как игра Jeopardy, Своя игра, в которую IBM Watson научился играть, а с другой стороны они как раз про то, что нужно сделать вывод про неизвестный тебе язык, зная что-то про известный тебе язык. Поэтому в принципе тут как раз, мне кажется, он тоже примерно в ту же сторону, что и Толя говорит. Там как раз то место, где человек должен перенести, как Толя сказал, сместить эту самую плоскость, взять и начать своё…
Анатолий Старостин: Не сместить, а выйти из плоскости.
Даниил Скоринкин: Да, выйти из плоскости. Свою какую-то общую когнитивную способность начать применять немножко в другом окружении, немножко в другой объектной среде.
ИИ для беспилотников: на чем его обучать?
23:02 Анатолий Старостин: Отлично, смотрите, мы почти к этому приблизились. Ещё, наверное, надо вбросить в этот котёл беспилотники и всё остальное… Вот автономные машины. Меня смущает то, что ведётся бесконечная запись с полей. И все эти датасеты — это просто какие-то петабайты записанных данных, вот как машина ехала и одновременно всех датчиков, что было на датчиках, что было на камерах, на всём. Ты видишь, если кто-то в машине сидит в мобильнике, ты более подозрительно относишься к этой машине, притормаживаешь, её пропускаешь и так далее. Вот всякие такие штуки. Corner case. И вот как же мы будет набирать датасеты на все эти corner cases? Ты правда веришь, что нужно просто продолжать их набирать, менять порядки, количество нулей добавлять?
Николай Любимов: Я сказал бы, надо продолжать… даже не я сказал бы, а слышал, как пытаются решать эту задачу. Вот почему я corner case я сказал — есть целые компании, которые строятся на том, чтобы собирать и отличать эти corner cases для автономных машин. Они строят свою политику продвижения исключительно, что «мы делаем очень качественную разметку и ищем все corner cases для автономных машин. Есть другие компании, типа Uber, которые пытаются развивать супер симуляции. Но так или иначе, это всё равно…
Анатолий Старостин: Симуляции. Мне кажется интуитивно, что симуляции ближе к тому, что могут быстрее приблизить к этому настоящему искусственному интеллекту, потому что в симуляции ты одновременно можешь встроить очень много всего, разных, так сказать, органов чувств и так далее. И то, что внутри компьютера, ты можешь считать симуляцией, ты можешь пустить робота копаться на твоём жёстком диске в определённых пределах. Надо аккуратно, чтобы он не взломал пентагон сразу. Но в принципе ты можешь пустить его сразу в компьютер и разрешать ему копировать файлы, ещё чего-то, и это тоже будет своего рода симуляцией. Честно говоря, мне самому кажется, что, если хотеть развиваться в ту сторону, то нужно давать роботам как можно более сложные среды, в которых они будут существовать.
Николай Любимов: Или просто не давать жить роботам в среде, в которой мы живём.
Анатолий Старостин: То есть с этим ты согласен, да?
Николай Любимов: Да, это тот самый метод проб и ошибок, который нам подходит. Надо просто дать принцип, по которому робот будет понимать, что это ошибочный эксперимент или не ошибочный и после этого запускать в комп. Это тоже путь, чтобы создавать, я не скажу сильный искусственный интеллект, но создавать вполне себе способные машины решать задачи, но в тот самый момент, когда ты определяешь, что называть для него пользой, а что называть для него не пользой, ты уже даёшь ему какой-то свой… свои знания, свой prior. Нельзя ему сказать просто: «Выживай», отпустить робота в среду, а потом сказать: «А теперь выживай». Для него это будет задача, которая просто, скорее всего, взорвёт его на микросхемы.
Даниил Скоринкин: Да, надо, видимо, формализовать выживание, сделать ему сто хэлсов и дальше говорить ему, что отнимает…
Николай Любимов: Дальше он возьмёт просто пушку и начнёт людей отстреливать. Поймёт, что это оптимально. Уничтожить человечество — лучший способ для выживания.
Должен ли сильный ИИ говорить по-человечески?
26:03 Анатолий Старостин: Хорошо. Продолжая нашу тему разного рода сложных сред, в которых должен работать искусственный интеллект, я хочу попробовать заострить наше внимание на вопросах естественного языка. Кажется, что естественный язык играет очень важную роль в интеллектуальности самих людей. Кажется, что наша с вами супер интеллектуальность, как бы нескромно это не прозвучало, она очень сильно связана с тем, что мы умеем говорить на естественном языке и с помощью естественного языка формулировать действительно сложные мысли. Сейчас мы с вами в течении уже почти часа выражаем довольно нетривиальные мысли на естественном языке.
Даниил Скоринкин: Потенциально бесконечное количество мыслей. Это комбинаторный элемент, который тебе так нравится.
Анатолий Старостин: Который меня так волнует. В связи с этим я задаю вопрос. Можно ли считать, что умение говорить на естественном языке также эффективно, как это делают люди, является необходимым качеством искусственного интеллекта? В от я в своей голове давно принял эту мысль за некоторую аксиому. На мой взгляд, любой искусственный интеллект, который будет построен в будущем, который будет, так сказать, равномощен человеку, и тогда мы будем его называть AGI, Artificial General Intelligence. Вот это слово «General» — оно в моей голове прямо вот плотно связано с умением выражаться на естественном языке. Правильно ли это? Может быть, это не так. Может быть, на самом деле можно себе представить какого-то… в этом смысле меня всегда интересовал R2-D2 в Звёздных Войнах, потому что он пищит и что-то говорит непонятное на своём языке, правда C3PO его понимает всегда и спокойно переводит его пищания в человеческую форму, переводит на естественный язык. Так может быть какой-то искусственный интеллект, который не понимает категории естественный языка, но при этом он такой же умный?
Николай Любимов: Если у него будет какой-то более совершенный, чем естественный язык коммуникации с его подобными, то это будет лучший аппарат для искусственного интеллекта, чем естественный язык. Естественный язык — это придумка человека, которая в общем-то связана с его ограничениями, с тем, что он не может, условно, доносить информацию мыслью в голову другого человека. Ему нужно её как-то кодировать, выдавать звуки, и чтобы другой человек декодировал. И это, на самом деле, происходит с очень большой избыточностью и с очень большими ошибками. А если существует более совершенный язык, который может придумать… Условно, если твой агент, я имею в виду агент искусственного интеллекта, он умеет общаться с другими агентами искусственного интеллекта с помощью чисел и это происходит более эффективно, чтобы передавать друг другу команды, то зачем ему естественный язык?
Анатолий Старостин: Окей. То есть естественный язык всё-таки нам принципиально важен, чтобы эти, условно, агенты коммуницировали с нами? Потому что мы не понимаем. Если бы они коммуницировали только друг с другом, то теоретически, представим, они как-то сразу общаются мыслями…
Николай Любимов: Это, скорее, как раз возвращаясь к вопросу explainability. Если мы хотим понять, почему агенты поступают тем или иным образом, то мы должны их научить переводить их, условно, кибер-мысли в естественный язык.
Даниил Скоринкин: Вопрос в том, знаем ли мы какие-нибудь ещё знаковые или символьные системы, которые имели бы такой же потенциал по кодированию максимально сложных мыслей, как естественный язык, потому что мне не очевидно, что у нас есть такое.
Анатолий Старостин: Мне очевидно, что у нас такого нет, более того. Пока единственный язык, ну, он не один, их, соответственно, там сколько-то тысяч, единственный класс знаковых систем, который покрывает всевозможные мысли — это естественные языки.
Николай Любимов: Безусловно, это один из наиболее эффективных способов кодирования информации, поступающая из внешнего мира в нашу голову и передачи её другому. То есть когда мы можем одним словом… Когда за одним словом лежит просто гигантский пласт знаний, которые человечество накопило на протяжении многих тысяч лет. Это очень эффективно.
Анатолий Старостин: Какие ещё в области коммуникации между человеком и машиной на естественном языке между человеком и машиной мы сегодня знаем результаты?
Николай Любимов: Из последнего слова техники то, что я слышал — это как раз таки попытки разных компаний решать, можно сказать, открытый набор задач при помощи естественного языка, только естественного языка. Условно, когда мы не говорим, что мы решаем задачу перевода, переводим с китайского на русский и строим нейросетевой переводчик. А когда мы просто говорим машине: «А сейчас переведи мне с китайского на русский „нихао“ » и тебе машина просто выдаёт ответ — «привет». То есть она выдаёт тебе конкретный ответ на твой запрос. И это происходит без каких-либо дополнительных знаний.
Анатолий Старостин: Насколько я понимаю, это недавняя свежая работа от Google появившаяся?
Николай Любимов: Да-да, это в блоге они писали. Я забыл, как оно называется. И смысл в том, что там было некоторый набор задач, открытый набор задачи, которые можно было решать просто с помощью…
Анатолий Старостин: Посмотрите, это же как раз тот самый типичный выход из плоскости, о котором мы говорили какое-то время назад. Это же значит, что у тебя есть какие-то задачи, которые ты уже умеешь решать. И ты берёшь и надстраиваешь над ними обобщённый интерфейс языковой и создаёшь машину, которая как бы одна и та же машина умеет решать уже много классов задач. И понятно, что, наверное, у этой машины, на самом деле, ещё пока куча ограничений. Если ты этой же гугловой машине скажешь…
Николай Любимов: «Расскажи анекдот».
Анатолий Старостин: Да, «расскажи анекдот». Или «позвони моей жене и скажи ей, чтобы забрала ребёнка из садика». Наверное, в этот момент робот сломается, скорее всего, потому что всё равно у них там, наверное, заложено конечное количество вещей, которые они умеют. В этом смысле меня, кстати, удивляет, что вот эта Google… Я не читал, к сожалению, эту статью пока, я не видел, надо будет потом найти и посмотреть. Но если они это преподносят как какое-то совсем новое слово техники, то мне интересно, как они отстраиваются, например, от WolframAlfa, который давным-давно именно так и позиционируется — какая-то такая умная машина, которой можно давать самые разные запросы на естественном языке и она тебя будет понимать.
Даниил Скоринкин: Ну, кажется, что WolframAlfa всё-таки это как бы такая экспертная система. Там как бы интерфейсом является естественный язык, но всё-таки как бы базой знаний является нечто структурированное. А у Гугла, я так понимаю, как бы есть эта гигантская нейросеть, которая обучилась на каком-то огромном количестве текстов и она при этом обучилась так, что она умеет тебе либо переводить, либо отвечать на вопросы, либо саммаризировать текст, сокращения его выдавать. То есть принципиальная разница там в том, что там на бэкстэйдже, за кулисами. То есть если WolframAlfa — это какая-то алгоритмизированная штука, то это граф знаний, я так понимаю.
Анатолий Старостин: В основе — да.
Николай Любимов: У Гугла это, я так понимаю, это какая-то, вот, нейросетевая модель, про которую мы гораздо хуже понимаем и она гораздо менее детерминированная.
Анатолий Старостин: В этом смысле интересней всего то, на чём эта модель училась. Это называется Т5. Чудесно. Это прямо для меня новое. Я за этим ещё не успел проследить.
Николай Любимов: Просто она впитала в себя огромный… Вся идея именно в том, что она обучилась на чём-то огромном.
Даниил Скоринкин: Какие-то 40 гигабайт скачанных c интернета текстов, обычно это что-то такое бывает. Гигантские там common crawl…Сейчас популярно делать такие огромные корпуса, на которых потом эти модели учатся, я так понимаю.
Анатолий Старостин: Вот это очень интересно. Это действительно движение в некотором смысле в ту сторону, о которой я говорил, приводя свой этот пример с игрой. Мне кажется, что если… Ещё раз, игру я понимал максимально обобщённо. Сейчас у нас был небольшой перерыв, и мы раз на перерыве успели поговорить о том, что всё-таки этот сценарий с тем, что мы создаём машину, способную научиться играть в любую игру — на самом деле, понимается более общо. Мы создаём машину, способную научиться функционировать в новой среде. Причём на машину мы при этом не перепрограммируем, не обучаем миллион новых каких-то сетей, уходим в оффлайн на годы, а просто машина, которая, вот, она живёт и ты с ней разговариваешь, и она постепенно учится функционировать в новой среде или понимать какие-то новые задачи. А поскольку ты разговариваешь с ней на естественном языке, то, как бы, класс тех задач, которые она может научиться решать, в теории, бесконечен, потому что с помощью естественного языка можно выражать очень сложные вещи. Вот такую постановку задач … я считаю её приближающей нас к сильному искусственному интеллекту. И вот в таком виде я её, кстати, нигде в точности не встречал. Ты сегодня упоминал Франсуа Шолле. Между прочим, он недавно выкатил статью большую «Measure of Intelligence». И он там как раз предлагает датасет. Там вообще не про естественный язык, а там, скорее, про general reasoning и такие как бы тесты на IQ. Он говорит, что такие вещи машина должна уметь делать, потому что человек такое умеет делать.
Николай Любимов: Так или иначе, это вопрос именно всё равно датасетов. Там помимо «Measure of Intelligence» Франсуа Шолле есть всякие super glue , которые тоже «давайте придумаем ну самые сложные задачи в естественном языке, которые… Если машина их решит, то мы будем считать, что это сильный интеллект». И вот для этого есть разные такие тесты.
Анатолий Старостин: Ну, хорошо. В общем, эта зона пока такая серая. Но в целом, кажется, мы вот все здесь втроём в этой комнате соглашаемся постепенно с тем, что такой широкий искусственный интеллект должен быть максимально обобщающим, способным в процессе своего существования учиться решать новые задачи.
Николай Любимов: Ну тут ещё важный момент, что важно не то, чтобы он был способным решать эти задачи, а чтобы он был полезным в решении, то есть на самом деле как и любая технология наша, которые делает человечество, технология изобретается для того, чтобы служить человечеству, чтобы быть полезным. А соответственно, мы просто должны понимать, что решение каких-то конкретных задач — оно приносит какую-то ощутимую пользу. Соответственно, просто если мы говорим, что все задачи, которые решает искусственный интеллект, они приносят пользу, значит, это уже и есть искусственный интеллект.
Фантазируем о мире, в котором победил ИИ
35:44 Даниил Скоринкин: А вот как вы вообще себе представляете этот мир, в котором, допустим, искусственный интеллект достиг какого-то совершенства, какой-то своей вершины? И что в нём по-другому и какие в нём задачи решаются этим искусственным интеллектом и как вообще он может выглядеть?
Николай Любимов: По мне, так естественный язык, безусловно, это хороший способ увидеть то, насколько искусственный интеллект силён, но на самом деле, реальные задачи, которые мог бы решать искусственный интеллект — это задачи как генерации задачи. Условно, если бы искусственный интеллект начал бы изобретать новые модели белков эффективные, новые модели конструкции эффективные — то, что реально могло бы послужить человечеству, потому что человек просто не может охватить все возможные сочетания всего и не может понять, что вот это, действительно, вот эта молекула эффективна, вот эта молекула неэффективна, этот белок эффективен. И тогда бы, да, произошёл бы какой-то качественный скачок, но не в самом интеллекте искусственном, а в развитии другой технологии, куда он применяется.
Даниил Скоринкин: То есть это момент совершеннолетия искусственного интеллекта, на самом деле. Мы ему выдаём диплом и говорим: «Иди работай врачом».
Анатолий Старостин: Я могу вам сказать, как человек, в данный момент, да и вообще долгое время возглавляющий разработку в IT-компании, в разное время у меня было разное количество подчинённых, но всё равно, так сказать, процессы разработки ПО, они у меня прям на глазах и у тебя, Коль, я так понимаю, тоже. Никуда от тебя это не делось, несмотря на то, что ты стал стартапом заниматься. Я так понимаю, что у тебя этого…
Николай Любимов: Прибавилось.
Анатолий Старостин: Прибавилось, да. Ведь это же вечная проблема. Внутри большой компании есть сложным мир технологий. И неважно, большая компания или это маленький стартап. У маленького стартапа это мир открытых технологий: open source и так далее. У большой компании это ещё и мир собственных каких-то проприетарных технологий. Но всё равно у тебя свой мир технологий, свой слэнг внутренний, свои какие-то… своя система, где происходит планирование задач: task tracker’ы и так далее. И в этих системах появляются, что называется, тикеты на естественном языке. И эти тикеты — это руководство к действию, это то, что нужно сделать. И дальше есть огромная прослойка людей разного, причём, уровня: от младших разработчиков, которые такие ещё недавно вылупились и умеют вот только «отсюда до сюда беги, а влево-вправо не заходи», до старших разработчиков, которым ты вообще говоришь: «Вот создай мне вот это, сделай мне хорошо» и всё, и уходишь. Приходишь через месяц, а он тебе уже всё сделал вот это всё. Но все эти люди — это такие очень интеллектуальные преобразователи естественного языка в конкретные действия в конкретной среде. И среда очень сложная. Среда, вот, внутри компании Yandex, среда правда очень динамичная, очень сложная. Для любого стартапа она не менее сложная. Это постоянные коммуникации и так далее. Вот такого агента мы пока заменить роботом не можем вообще в принципе. Правда?
Николай Любимов: П роще президента заменить даже.
Даниил Скоринкин: Неплохая мысль.
Анатолий Старостин: Президента если обнулить, то можно и заменить потом. Поэтому мне кажется, что Грааль-то, он где-то в этом месте. Если ты в какой-то момент сможешь создать робота, который заменит, ну, пусть, скажем, младшего разработчика, — это робот, который уже может взять тикет, на котором на естественном языке написано «сделайте то-то», потом он поймёт, куда надо написать какой код, какой сделать пулл-реквест. И потом, значит, это всё действительно докатится до продакшена — вот это будет момент, точно совершенно, синергии.
Анатолий Старостин: Говоря о полезности, да, пока мы живём в парадигме, что есть прослойка инженеров — это да. Как только мы доходим до какого-то уровня, из которого прослойка инженеров уходит, где уже появляются действительно интеллектуальные роботы, способные брать на вход сложные задачи и решать их в сложной среде, у тебя вообще меняется вся система ценностей, всё меняется.
Николай Любимов: Да, Толь. А закончится это всё знаешь чем? Тем, что появится peopleless компания, которая основана искусственным интеллектом. Они выйдут со своим продуктом, начнут конкурировать с Label Studio, потом они выйдут на биржу. И будут на бирже соревноваться компании, которыми люди управляют, и компании, которыми не люди управляют.
Анатолий Старостин: Главное не упустить момент, когда люди станут просто не нужны. Вот это очень опасный момент. Главное, чтобы в эти функции, в таргеты, так сказать, этих роботов было записано, что люди всегда должны жить и здравствовать, потому что иначе они в некотором
Даниил Скоринкин: Привет Айзеку Азимову!
Анатолий Старостин: Да. Потому что иначе они могут уже решить, что…
Николай Любимов: Между прочим, уже сейчас можно найти такие области, где роботы образовывают компании, живут своей жизнью и, более того, могут очень сильно навредить человеку.
Анатолий Старостин: Ну-ка.
Николай Любимов: Например, любой робот-торговец на фондовой бирже, если он захочет, условно, обрушить рынок какой-то, то он это легко может сделать, потому что это компания, построенная на роботах. Да, безусловно, она контролируется людьми, но во многом весь процесс происходит за счёт роботов.
Анатолий Старостин: То есть ты сейчас говоришь, что то, что я описал, не так уж и далеко от нас?
Николай Любимов: Обрушить фондовый рынок можно за секунду. И здесь вполне робот может играть огромную роль. А это повлечёт за собой, как все знают, неприятные последствия
Умерла ли «старая школа» ИИ
40:49 Анатолий Старостин: Хочется ещё о чём-то поговорить, если честно. Есть ещё несколько вопросов. Коля, что ты думаешь про старую школу искусственного интеллекта? Про логико-символьные подходы, про экспертные системы на онтологиях и так далее? Это то, что нужно забыть, закопать и никогда не вспоминать, или, наоборот, это что-то, что нам чем-то поможет на пути к большому искусственному интеллекту?
Символьный ИИ (Symbolic AI) — ранний подход к проектированию искусственного интеллекта на основе правил и сложных формальных моделей мира. Правила и модели вводились в компьютер вручную. Символьный ИИ был попыткой перенести знания из голов экспертов напрямую в машину. Так называемые «экспертные системы» были популярны в 70-е и 80-е. Их пытались использовать в медицине и финансах, однако почти все проекты были свернуты. Экспертные системы оказались трудоемки в создании, а знания в них были неполными и быстро устаревали. В 90-е и 2000-е символьный ИИ отошел на второй план, уступив место машинному обучению.
Николай Любимов: На самом деле, это очень острый вопрос. Я вижу в нём, возможно, какой-то новый бум. Возможно, прям в этом году или в ближайшее время мы увидим новое рождение всех этих экспертных систем. Почему? Проблема заключается в том, что, когда мы даём данные для того, чтобы обучать какую-то модель нейросети, например, условно, мы даём тексты и говорим, что всё, что начинается с заглавной буквы — это имя собственное. Мы должны дать ей десяток примеров, пока огромная нейросеть просто научится отличать по заглавной букве имя собственное. Зачем мы это будем делать, когда мы можем просто ввести какое-то определённое правило, и чтобы нейросеть, условно, восприняла это правило как де факто и потом научилась уже какие-то другие вещи…
Анатолий Старостин: Ты просто говоришь сейчас, что логикой символьного подхода могли бы очень сильно обогатить фичи. Это как бы новый способ feature-инжиниринга.
Николай Любимов: Не совсем фичи. Я тут опять опускаюсь в область примерно того, чем я занимаюсь и в чём пытаюсь продвигаться. Есть такое понятие как «weak supervision» — слабое обучение. Что оно означает? Оно означает, что нам в принципе не нужно досконально исследовать каждый пример, картинку кошечки, собачки, чтобы обучить уже, в принципе, неплохую нейросеть. Достаточно сказать, что есть какой-то ряд признаков, критериев, по которым мы бы, скорее всего, выдали, что это кошка. Условно, если у неё пушистый хвост, то это кошка. Если она лает, то это собака. На картинке не лает. Но есть большой багаж знаний, который мы можем перед тем, как обучать систему, уже выдать системе, который она может съесть, и после этого уже сама вариться в этом котле данных и выбирать для себя какие-то примеры, которые реально уже сложные. Этот подход уже набирает популярность, потому что мы можем создавать те же экспертные системы, чтобы просто делать какой-то старт для обучения более сложных.
Даниил Скоринкин: То есть это выглядит немножко, как если бы мы взяли деревья решений, сначала тренировали их, а потом на них бы учили нейросеть. Многослойный подход.
Николай Любимов: Условно, да. Не то, чтобы учили на них, а мы как бы с помощью этих деревьев решений выдали такие первые базовые знания нейросетям. Они бы обучились на этом и дальше уже начали обучаться следующей стадией. Суть в том, что деревья решений построить очень просто. А нейросеть: тебе для этого нужно сотня тысяч долларов, чтобы разложить на кластер, чтобы только обучить самой простой…
Анатолий Старостин: Сколько я вижу современных систем, работающих не в научных статьях, а в бою, Они сплошь и рядом гибридные.
Николай Любимов: Безусловно.
Анатолий Старостин: Берём рекомендательные системы. Чистая нейронка разве что у Google на Youtube, и то неизвестно. То, как они про неё рассказывают, просто потому что у них миллиарды данных. Как только у тебя данных чуть-чуть меньше, ты обязательно куда-то cворачиваешь: либо к CatBoost, либо что-то…градиентный бустинг и какие-то более простые модели, которые тебе какую-то задачу решают. Это обычно просто связано с ограничениями техническими.
Николай Любимов: Я бы назвал это не гибридной системой, а костыли, которые закрывают ошибки в программах. То есть мы не способны построить абсолютную нейросеть, давайте просто будем делать…
Анатолий Старостин: Это немножко в другую сторону. Это ты сейчас, скорее, скрестил классические методы машинного обучения и глубокие. А когда я задавал вопрос про всякие антологии, я имел в виду в первую очередь разного рода сложные знания о мире. У нас всё-таки есть сложные базы знаний и не очень сложные, есть freebase, я бы не назвал его сложной базой данных. Это, в общем, такая большая куча разных фактов довольно простой структуры, фреймы такие. Есть…
Даниил Скоринкин: Вики-даты.
Анатолий Старостин: …вики-даты. Есть целый источники знания о мире. И кажется, что довольно часто звучит эта идея о том, что искусственному интеллекту очень не хватает common knowledge, здравого смысла. Кажется, что его оттуда можно почерпнуть. И поэтому кажется, что система, которая гибридизирует знания, существующие уже в такой формальной форме в виде каких-то триплетов, прикатов, фреймов, и знания, которые берутся методом обучения таких непрерывных моделей на каких-то данных. Вот гибриды таких штук могут очень здорово помогать.
Николай Любимов: Я как раз об этом и говорю. Безусловно, проблема существования knowledge графов в том, что если бы они решали все задачи, то не нужны были бы нейросети. Они, безусловно, описывают очень хорошо какие-то связи между сущностями, но они описывают избыточно, то есть они описывают их с высокой точностью, но с достаточно низкой полнотой. Какие-то правила срабатывают не там, где надо. Они ложно срабатывают на примерах. Соответственно, в этот момент должна включаться нейросеть, которая исправляет тебе эти…
Анатолий Старостин: Получается, что мы опять согласились. Ты сейчас веришь в то, что может наступить уже новый виток.
Николай Любимов: Да.
Анатолий Старостин: Более того, в статьях я его вижу. И очень много сейчас пошло работ про всякие внедрения knowledge графов внутрь сетей и так далее.
Николай Любимов: Есть статьи с таким прокламационным названиям: «Зачем нам что-то тренировать, если нам можно просто запрограммировать?»
Анатолий Старостин: То есть всё, как всегда, развивается по спирали. В какой-то момент было царство формальных методов, потом сказали: «Нет, всё надо выучивать». Повыучивали, поняли, что всё совсем выучить сложновато. Можно очень сильно помочь, применив формальные описания. Поскольку я человек, немножечко застрявший в тех мирах, где было много формальных систем и меньше машинного обучения, хотя я постарался врубиться в машинное обучение, научился им пользоваться, но в голове у меня очень много про формальные структуры, oнтологии и прочее. Мне как раз отрадно, что оно происходит так, потому что в какой-то момент было прямо отрицание. Люди говорили «нет»: «Это не работает, правила писать не нужно, правила неоднозначны, правила не точны; сколько их не пиши, они комбинаторно взрываются, поэтому давайте мы будет только учить».
Николай Любимов: Нельзя бросить то, что всегда работает в одну сторону, по крайней мере. Если в тексте упоминается имя, условно, в нормальном тексте, то оно начинается с заглавной буквы. Это правило, которое работает всегда.
Анатолий Старостин: В русском тексте.
Николай Любимов: Но с другой стороны, нельзя говорить, что все слова, начинающиеся с большой буквы — это имя человека. Соответственно в эту сторону правило не работает и это как раз то, где нужно уже включать нейросеть.
Анатолий Старостин: То есть ты сейчас примерно говоришь следующее: как только нужно видеть контекст, лучше включить нейросеть. А если что-то может сработать на внутренних эвристиках, то оставим правила.
Николай Любимов: Никогда ничего не работает на внутренних эвристиках всецело. Что значит работать? Работать значит в две стороны работать, то есть и точность, и полнота — они сто процентов. То есть мы все кейсы описали, но мы описали ещё миллион других кейсов, которые срабатывают здесь, но неправильно срабатывают. Мы их не знаем, мы даже не можем их описать. Просто, исходя из своих знаний, сказали, что это правило всегда работает на этих примерах. Но это правило будет работать и на других примерах, о которых мы просто не подумали. И вот здесь должна нейросеть подумать.
Даниил Скоринкин: То есть мы ограничиваемся… Чтобы не перебирать вообще всё, мы ограничиваем каким-то набором данных, на которые нужно смотреть пристально, и на которые, может быть, не нужно смотреть, тоже говорим. Дальше внутри них уже подключаем какие-то более гибкие механизмы, которые сегодня реализуются с помощью нейронных сетей.
Николай Любимов: Всем уже стало очевидно сейчас, что обучение нейросетей — это процесс который ну очень избыточный. У нас реально сервера работают и ухудшают экологию планеты для того, чтобы обучать нейросети. Это не просто развлечение для data scientist’ов, это реально угроза экологии уже становится.
Даниил Скоринкин: Я только хотел сказать, что сейчас же проводят воркшопы по Sustainable NLP — обработке естественного языка, который не загрязняет окружающую среду.
Николай Любимов: Формальная логика на защиту планеты.
Анатолий Старостин: Может быть, нас кто-то услышит, пусть это прозвучит как призыв. Я бы очень хотел, чтобы разного рода молодые data scientists, полностью охваченные Deep Learning’ом, иногда смотрели в то, как работают rule base системы, как вообще формально устроены те объекты, с которыми они работают, поскольку в ряде случаев это может дать профита гораздо большего, чем архитектура или что-нибудь такое из мира Deep Learning’а. Просто хорошо взглянув на данные и поняв в них какие формальные законы, можно очень часто решить задачу гораздо лучше. Отрадно, что мир постепенно начал это осознавать.
Можно ли прийти к ИИ через моделирование мозга: нейрофизиология и антропоморфность
51:20 Анатолий Старостин: Я предлагаю обсудить ещё один вопрос. Вопрос антропоморфности. Звучит он очень просто: требуется ли от искусственного интеллекта быть похожим на человека? Или это абсолютно искусственное требование из области фантастики? Как ты на это смотришь?
Николай Любимов: Что ты называешь антропоморфностью? Насколько он похож на мозг или что?
Анатолий Старостин: Да. Насколько вообще мы должны при создании искусственного интеллекта руководствоваться теми или иными принципами, которые мы замечаем в людях.
Вот все эти разговоры про моделирование мозга, что можно взять и просто как-то в будущем смоделировать то, что у нас внутри. Можно ли себе представить какое-то нейрофизиологическое решение задачи искусственного интеллекта?
Николай Любимов: Интересный вопрос. Я тоже задавался им, не раз… Реальные модели мозга гораздо-гораздо-гораздо сложнее, чем просто нейросети. Во-первых, просто потому что они меняются со временем. Все нейросети — это статические модели. Это когда у тебя есть веса какие-то в этой сетке. Эти матрицы размножаемые, некоторые статические статические.
Анатолий Старостин: Но это же моделируется обучением в онлайне. Нейросеть, которую ты выпускаешь в жизнь и можешь веса менять по ходу жизни.
Николай Любимов: Не совсем так. Это есть другое направление. Это есть Continual Learning и Life Long Learning. Ты запустил агента и теперь обучаешь всю жизнь. Но там он сталкивается с проблемами недостатка памяти, у него есть проблема катастрофического забывания, когда такие агенты забывают весь предыдущий опыт, а это связано с невозможностью запомнить в рамках этой матричной структуры, в рамках перемножения матриц запомнить какую-то информацию. Мозг устроен немножко по-другому. Там у него, условно, каждый вес — это какая-то определённая функция о времени, ещё связанная с другими функциями, связанная ещё со средой, которая в голове у нас есть.
Просто память в голове… если здесь у нас, скорее, какие-то веса, то там вообще память — это, по сути, просто связи сами по себе. Наша память — это связи между нейронами и плюс ещё какая-то химическая среда, в которой это всё.
Самоорганизующийся ИИ и самопрограммирующиеся нейросети
53:05 Анатолий Старостин: Ужасно это всё интересно. Я могу только добавить ещё, что, наверное, какую-то роль могут сыграть ещё и генетические алгоритмы. И хотел у тебя спросить, что ты о них думаешь. Кажется, что пока мы берём фиксированную сеть и обучаем её, то у нас отлично работает backpropagation. Но когда тебе надо подбирать архитектуры, то кажется, что градиентные методы всё сложнее применять. А вот эти эволюционные методы, где у тебя просто есть много этих архитектур, которые скрещиваются друг с другом и из них постепенно выкристаллизовывается только самое лучшее, казалось бы, могли работать лучше, но не факт.
Николай Любимов: Нет, работают. Это Auto ML как раз на этом и построен. Сейчас во многом на генетических алгоритмах и поиск разных гипер параметров.
Анатолий Старостин: Там есть какие-то успехи? Это зона, в которой я совсем слабо разбираюсь, поэтому ужасно интересно, расскажи.
Николай Любимов: Тут абсолютно точно, что в ближайшее время, наверное, вообще будем уже отходить от того, что нам нужно проектировать какие-то архитектуры. Нам нужно просто говорить: «Мне щас нужна нейросеть, так чтоб влезала на мобилку, обучись мне…». И дальше я не буду думать, какие там связи, на основе каких архитектур оно будет построено. Просто весь процесс генетического отбора архитектур приведёт меня к требуемой цели, требуемым качествам.
Анатолий Старостин: Интересно, как мы с темы антропоморфности вышли в такие технические, но ужасно интересные детали.
Николай Любимов: Потому что это именно то, как реально работает мозг, именно поэтому мы начали обсуждать. Потому что мозг же не придумает сам себе архитектуру. В смысле, он придумывает сам себе архитектуру, но нет кого-то другого, кто начинает эту архитектуру придумывать. Самоорганизующиеся системы — то, во что должно перерасти всё.
Анатолий Старостин: Это тонкий лёд, Коля. А как же генетика?
Николай Любимов: Самоорганизация — это и есть генетика.
Николай Любимов: Но резюмируя, я просто сказать к вопросу тому. Ты сказал, можно ли просто воссоздать мозг человека, как и все связи между нейронами. Условно, взять все модели динамических нейронов и плюс описать всю эту нейрохимию, которая творится там. Я думаю, что вполне возможно. Почему нет? Это будет примерно то же самое, что происходит сейчас. Только сейчас это происходит — это маленькое какое-то зёрнышко по сравнению с целой планетой.
Анатолий Старостин: То есть надо просто подождать, пока зёрнышко превратится в планету. Благодаря закону Мура, ждать не очень долго.
Анатолий Старостин: Отлично, Коль, спасибо тебе большое, что ты к нам пришёл сегодня. Ты очень много рассказал интересного и нового. Нейроны в моём мозгу начали шевелиться быстрее, я чувствую это. Поэтому давайте закругляться. У нас в гостях сегодня был Николай Любимов, CTO компании Hartex инновационного стартапа в области подготовки данных для машинного обучения. И мы — ведущие подкаста «Неопознанный искусственный интеллект» Анатолий Старостин…
Даниил Скоринкин: И Даниил Скоринкин.
Анатолий Старостин: Спасибо тебе большое.
Николай Любимов: Да и вам спасибо.
Анатолий Старостин: Спасибо.
Анатолий Старостин: Пока.