Я всегда говорю, что предпочитаю термин просто "интеллект", без деления его на машинный/искусственный и естественный. Текст François Chollet "On the Measure of Intelligence", last revised 25 Nov 2019,
https://arxiv.org/abs/1911.01547 следует примерно той же линии и задаёт какой-то набор понятий (framework) по сравнению уровней AI, при этом те же подходы работают и по отношению к человеческому интеллекту. Более того, по факту это попытка перетянуть дискуссию по психометрии как измерению человеческого интеллекта в измерение интеллекта искусственного -- ибо по словам François Chollet естественный интеллект работает, и ориентироваться поэтому больше не на что, пока давайте разбираться с ним и вокруг него. Для меня это предложение при обсуждении летательных способностей самолётов и вертолётов ориентироваться на летательные способности птиц и стрекоз: идея казалась хороша до изобретения винтовых самолётов, а потом уже и не очень -- в том числе для самолётов с турбореактивными и реактивными двигателями.
Но я сам с удовольствием использую описание уровней интеллекта, которое даёт François Chollet для того, чтобы представить нашу программу усиления человеческого интеллекта, которую мы реализуем в ШСМ. Это усиление (увеличение уровня по François Chollet) мы делаем двумя методами:
-- обучая трансдисциплинам и давая деятельностный кругозор
-- обучая полагаться в том числе и на внешние компьютерные средства присмотра за личным и коллективным вниманием на личной и коллективной внешней памяти
Я не буду стараться точно следовать определениям (и уж тем более математическому формализму), которые дал François Chollet. Дальше приведены мои не слишком формальные рассуждения: не придирайтесь в них к словам и формулировкам (нам тут не спор о терминах нужен), а смотрите на общее направление мысли.
Уровни интеллекта
Прежде всего определим интеллект как эффективность в научении решению самых разных задач. При этом придётся разделить интеллект как набор широких способностей/broad abilities по научению каким-то компетенциям/skills, которые в свою очередь и позволяют решать задачи. Интеллект это не про само решение задач (экскаватор копает, калькулятор считает, и это не считаем интеллектуальным). Интеллект проявляется там и тогда, когда в ходе решения задач встречается что-то необычное (новая задача), и наш решатель задач вынужден научиться чему-то новенькому -- сам! не получить алгоритм от учителя! -- иначе задача не будет решённой. Экскаватор копает и встречает огромный валун под землёй, калькулятор встречает необходимость перемножения чисел, записанных прописью -- без внешнего управления/учителя тут они просто остановятся, или будут совершать глупые действия. Человек, если его натаскать на какой-то класс задач получает компетенцию (skill) -- и будет решать их довольно эффективно. Вот придумать, как решать задачи нового класса -- это не всякий человек сможет, а только с определённым уровнем интеллекта. Человек с интеллектом будет над задачами нового класса задумываться -- и находить решения. Или не находить. Или находить, но через пять лет, а не через пять минут. Интеллект проявляется на задачах, которые не встречались в момент его обучения -- не известны ему, и неизвестны даже его создателю/учителю. Поэтому замерять решение человеком задач какого-то класса, чтобы определить его интеллект -- неправильно. Нужно замерять его способности (broad abilities) к освоению новых предметных областей (получению компетенций в решении тамошних задач, skills).
Беря за основу вот эту картинку, François Chollet предлагает определять следующие уровни интеллекта по линии универсальности задач, которые он может научиться решать:
-- отсутствие: точно заданные образцы задачи
-- локальная генерализация aka robustness: обработка точки в более-менее плотно заданном распределении -- adaptation to known unknowns within a single task or well-defined set of tasks
-- широкая генерализация aka flexibility: разработчик/учитель этого не предвидел, решение широкого класса задач -- adaptation to unknown unknowns across a broad category of related tasks
-- экстремальная генералиация aka generality: как у человека -- adaptation to unknown unknowns across an unknown range of tasks and domains
-- универсальность: генерализация на уровне большем, чем человек -- any task that could be practically tackled within our universe
Искусственный интеллект сегодня в целом решает задачи локальной генерализации/robustness, Chollet (и ещё множество лидеров) призывает решать задачи широкой генерализации/flexibility, а цель AGI -- созать интеллект экстремальной генерализации/generality. Я сам считаю, что в AI нужно сразу бить в универсальность, и не повторять человечий интеллект, а решать те классы задач, которые неподвластны человечьему интеллекту. А вот в части человечьего интеллекта давайте повышать широкую генерализацию/flexibility, не забывая о ходе на универсальность через симбиоз с компьютерами (киборгизацию, включение экзокортекса).
Интеллект как набор способностей, создающий компетенции
Chollet предлагает вот такую схему интеллекта:
По этой функциональной схеме интеллект создаёт компетенцию как "программу", и уже эта компетенция решает задачу. Эдакий бутстраппинг. Крутой интеллект создаёт компетенцию для задач, для которых менее крутые интеллекты решить задачу не могут.
Я полностью с этим соглашаюсь, а потом начинаю использовать этот набор понятий не для оценки систем машинного интеллекта, которые по сути дела должны предложить какие-то элементарные функции интеллекта, "аппаратно" реализованные разработчиками (core knowledge priors, такие как умение выделить объект по связности в его представлении в окружающем мире, отслеживать этот объект в мире при его перемещениях, отслеживать влияние объектов друг на друга, умение преследовать какую-то цель, умение считать, и какие-то умения в области геометрии и топологии -- типа распознать симметрию в объекте, или выделить прямую линию или прямой угол).
Я готов объявить наличие высокого уровня core knowledge priors наличием врождённых способностей (это и есть идея Chollet -- он призывает развивать системы искусственного интеллекта в этом направлении прежде всего), но схему эту применить как двухтактную:
-- врождённые первичные способности (core knowledge priors / innate) генерируют трансдисциплинарные вторичные способности (trans-discipline knowledge priors /pretrain priors). Тут можно думать, например, о предвыученных языковых моделях (
https://ailev.livejournal.com/1485511.html)
-- трансдисциплинарные вторичные способности генерируют программу целевой компетенции. Это может быть очень эффективно, по путям, похожим на
https://arxiv.org/abs/1912.02164 (где целевая компетенция получается выучиванием примерно в тысячу раз меньшей модели для finetune, чем модели, использованной при предобучении).
То есть создание компетенции идёт не через "природную смекалку", а через "облагороженную образованием смекалку" -- создание компетенции идёт как finetune, а образование трансдисциплинам как pretrain. Трансдисциплины своим предметом имеют способности по эффективному (по времени прежде всего) созданию новых компетенций -- если считать, что прикладные компетенции (соответствующие каким-то дисциплинам) помогают решать какие-то узкие классы задач, трансдисциплины управляют вниманием к дисциплинам. Трансдисциплины (к которым сам Chollet относит как пример чтение-письмо, обсуждая их статус как "неврождённых способностей" и относя тем самым к компетенциям) мы бы отнесли не столько к прикладным компетенциям, сколько к (вторичным, наученным, а не врождённым) способностям.
В какой-то мере Collet признаёт, что интеллект зависит не только от тестируемого устройства/человека, но и от обучения/curriculum. Круче обучение -- круче интеллект!
Как оценивать образование
Образование тем самым можно условно поделить на две части, как я делал раньше в проекте "образование для образованных" (цепочка текстов "второй бакалавриат" отражает как раз вот это деление --
https://ailev.livejournal.com/1453126.html и ещё один заход на формулирование той же мысли -- "предобучи, потом подстрой" --
https://ailev.livejournal.com/1485511.html):
-- прикладное обучение узкой практике, то есть решению узкого класса задач, подстройка/finetuning, получение компетенции, "магистратура". Школа этим не занимается
-- подъём интеллекта (как я раньше говорил, "подъём калибра личности", что по факту примерно то же самое), pretrain, фундаментальное образование, развитие способностей, "бакалавриат". Школа этим занимается, давая средства управления вниманием к важному, уменьшая работу мозга над неважным и гарантируя размышления над важным -- для широких классов задач. Обучение трансдисциплинам и деятельностный кругозор -- тут. Усиление интеллекта компьютерным инструментарием -- тут. Школа занимается этим.
-- отбор (эффективно обучать не кого попало, а людей с каким-то уровнем core knowledge priors, ибо "талантливый человек талантлив во всём" -- это тот самый "фактор G" общего врождённого интеллекта, присущего людям). Да, речь идёт о входных экзаменах. Согласно Cholle медведя можно обучить езде на велосипеде, но не решению менеджерских, инженерных, предпринимательских задач. Так что на входе нужно отбирать заведомо не-медведей, чтобы был результат.
Вот ещё несколько заметок по приложению идей, высказанных в тексте Chollet к нашей работе в Школе системного менеджмента:
-- бесполезно оценивать решение задач, класс которых известен ученику (все ЕГЭ, ОГЭ и прочие экзамены и олимпиады. Робот сегодня сдал экзамены и на ЕГЭ, и на врача -- это не значит, что он совершеннолетний член общества и может работать врачом).
-- оценивать нужно решение задач, класс которых не известен не только ученику, но и учителю(!). Интеллект -- это как раз то, как справляться с подобными задачами.
-- оценивать нужно по батарее тестов, ибо один тест тестирует один класс задач (narrow skill), а интеллект -- это про широкие способности (broad abilities), эту широту тоже нужно тестировать. Узкий специалист подобен флюсу, полнота его одностороння. Интеллект -- это не про выполнение какой-то роли, это про само ролевое мастерство (скорость освоения ролей, скорость исследований/выработки новых ролей, когда им некому научить, и т.д.).
-- оценкой интеллекта может служить скорость, с какой человек проходит тот или иной curriculum (обучение по построению какой-то компетенции)
Школа системного менеджмента прежде всего развивает интеллект, развивает широкие способности, а не учит прикладным компетенциям. Мы учим не дисциплинам, а трансдисциплинам и даём деятельностный кругозор. Но это не значит, что выпускники школы не решают прикладных задач. Они как раз решают прикладные задачи, причём неизвестные в момент выпуска ни самим ученикам, ни преподавателям Школы. И образовательные программы (curriculum) Школы настроены как раз на это.
Вот в этом направлении и будем продолжать.
UPDATE: обсуждение в фейсбуке --
https://www.facebook.com/groups/771940449578453/permalink/2378399868932495/Мышление -- это поведение интеллекта. Интеллекты бывают разного уровня. Учим интеллекты разного уровня -- учим мышлению разного уровня. Качество мышления обученного нами интеллекта мы должны проверять не на знакомых ему в ходе обучения ситуациях, и даже не на знакомых нам, его учителям, ситуациях, а на незнакомых ситуациях -- на решении задач, которые ранее ещё не встречались.
Я написал текст, который перекладывает некоторые идеи, обсуждаемые сегодня в мире AI, для задачи развития интеллекта (ну, или задачи разработки техник/технологий мышления и обучения им -- это для меня синонимичные постановки задачи, разница в терминологии. Я, как всегда, предпочту терминологию мирового фронтира в этой области: если фронтир сегодня в AI, и они учат не мышлению, а учат интеллекту, то так тому и быть -- звучит поначалу странно, но технари подхватят, а гуманитарии потом привыкнут, всё равно ничего привнести они не смогут кроме фраз "мы ещё пятьсот лет назад об этом говорили". Говорить говорили, но выхлопа не было. А тут намечается довольно существенный прорыв).