Вопрос определения «мышления машин»
В настоящее время не существует общепринятого определения искусственного интеллекта – большинство из этих определений имеют нечеткий и достаточно спорный характер. Например, часто используемые определения «сильного» и «слабого» искусственного интеллекта подразумевают, что «сильный» ИИ должен быть соизмерим с человеческим интеллектом, а «слабый» – только имитировать отдельные когнитивные функции человека, такие как слух, речь, распознавание образов. При этом пока не существует четкого способа деления ИИ на «слабый» и «сильный» – определить эту грань достаточно сложно. Так как же тогда измерить «мощность» ИИ и сравнить интеллектуальные возможности различных компьютерных систем друг с другом?
В идеале искусственный интеллект – это система, обладающая интеллектом, сравнимым с человеческим. Однако за всю 70-летнюю историю работы над ним и изучения вопросов, связанных с «компьютерным разумом», человечеству не удалось создать его. Сейчас существуют системы, которые хорошо имитируют различные человеческие функции, но они имеют массу ограничений в области применения, требовательны к исходным данным и неспособны действовать в ситуациях, выходящих за рамки их «компетенций». Говоря простым языком, чат-бот, запрограммированный отвечать на наиболее частые вопросы обычных пользователей, не сможет самостоятельно перепрофилировать себя для анализа данных, например, в нефтегазовом секторе.
Также во многих определениях ИИ фигурирует такое понятие, как «имитация когнитивных функций человека», справедливость которого можно поставить под сомнение:
- под данное определение может попасть и обычный калькулятор, так как его основные функции имитируют когнитивные функции человека, к которым относятся арифметические вычисления. При этом скорость вычисления калькулятора намного превышает человеческие способности – таким образом, исходя из указанного выше определения, калькулятор обладает ИИ;
- попугай может имитировать человеческую речь, но не понимает того, что говорит. Также и существующие сейчас чат-боты лишь имитируют общение, а не ведут осознанный, разумный разговор.
Как же отличить систему ИИ от системы, не обладающей ИИ? Ален Тьюринг в 1950 году предложил способ, позволяющий определить момент, в который компьютерная система сравняется с разумом человека. Согласно этому способу, компьютер должен суметь ввести человека в заблуждение относительно того, кем он является, и в разговоре суметь выдать себя за человека. Однако этот способ уже является неактуальным, так как современные системы умеют эффективно поддерживать разговор, выдавая себя за реального человека.
В 2015 году на соревновании в прохождении теста Тьюринга программа «Соня Гусева», созданная российским программистом Иваном Голубевым, смогла обмануть судей в 47% случаев
Если обобщить все формальные и неформальные определения, предложенные специалистами с момента возникновения понятия искусственного интеллекта, их можно разделить на два разных философских подхода:
- Искусственный интеллект – это наука о создании машин, способных выполнять задачи, которые потребовали бы интеллекта, если бы их выполняли люди. Под это определение попадают существующие сейчас глубокие нейронные сети, решающие довольно сложные задачи по классификации и распознаванию образов. При этом навыки решения этих задач формируются путем внешнего обучения.
Справка
Такое определение искусственному интеллекту дал в 1968 году Марвин Ли Минский, известный американский ученый в области искусственного интеллекта.
Исходя из этого определения, вовсе не обязательно, чтобы сама машина обладала ИИ, а главное, чтобы она могла выполнять те задачи, которые бы потребовали интеллекта, если бы их решал человек. Но современные компьютерные системы, решающие некоторые частные задачи зачастую лучше человека, никаким интеллектом не обладают, так как все навыки (т.е. алгоритмы и программы выполнения тех или иных задач), которыми обладают подобные системы, «закладываются» в них создателем- инженером и формализуют результат его умственной работы, то есть они не более интеллектуальны, чем любой компьютер, выполняющий программу, заложенную в него человеком-программистом.
- Искусственный интеллект – это способность системы приобретать и создавать новые навыки для решения задач, к которым она не была подготовлена заранее. Существующие сейчас даже самые мощные и современные системы не попадают под это определение, так как они не силах справиться с реальными задачами, а поиск решения таких задач приводит к комбинаторному взрыву .
Справка
Это определение было предложено Джоном Маккарти, американским информатиком, основоположником функционального программирования.
Его определение подразумевает умение системы справляться с решением широкой категории заранее неизвестных ей задач без помощи человека – то есть использовать имеющиеся у нее знания, заложенные создателем для решения проблем, без заранее продуманных алгоритмов. На заре эры ИИ ученые пытались создать такую систему для решения широкого класса задач, одним из примеров является General Problem Solver – GPS (Общий Решатель Задач). Эта система была создана в 1959 году учеными Гербертом Саймоном, Клиффордом Шоу и Алленом Ньюэллом. Но, несмотря на то, что GPS была способна самостоятельно решать простые задачи, как, например, головоломка о ханойских башнях , она не была способна справиться с решением большинства реальных задач, поскольку поиск цели решения приводил к комбинаторному взрыву.
Поэтому для того, чтобы измерить – предложить количественную меру измерения – искусственный интеллект, необходимо сначала более-менее четко понять, чем же является ИИ.
В чем сила?
Исходя из приведенных выше определений, можно сделать предположение, что компьютерные системы, отвечающие первому определению, обладают «слабым» ИИ, а отвечающие второму определению – «сильным» ИИ. При этом системы из обеих категорий должны обладать определенными навыками для решения задач, то есть иметь необходимые алгоритмы для их решения. Разница лишь в том, что в первом случае «навыки» формируются создателем-человеком, а во втором – система обладает способностью к самообучению и формированию новых навыков для решения ранее неизвестных задач.
На изображении показано, что система со «слабым» ИИ обладает навыками двух типов: базовыми («врожденными»), то есть заложенными разработчиками при ее создании, а также навыками, полученными в результате внешнего обучения. При этом базовые навыки могут использоваться в процессе такого обучения как некоторые готовые подпрограммы, с помощью которых формируются программы новых навыков. Несмотря на то, что такие системы принято называть системами со «слабым» ИИ, собственным интеллектом они не обладают, так как используют только интеллект своих создателей и учителей, заложенный в них в виде знаний.
Именно по такому принципу строится подавляющее большинство современных систем, которые принято называть «интеллектуальными». Но по уровню своего «интеллекта» они ничем не отличаются от обычных компьютеров, реализующих программы, написанные для них человеком-программистом.
Что касается структурной схемы «интеллектуально сильной» системы, подходящей под определение Маккарти, то она должна обладать не только базовыми навыками и навыками от внешнего обучения, но и навыками, полученными в результате самообучения и полученными системой самостоятельно (без участия человека) для решения новых задач, для которых она не была заранее подготовлена. Таким навыкам «сильная» система учится самостоятельно, пользуясь данными из интернета, книг, фильмов и опытом взаимодействия с объектами во внешней среде. Таким образом, к «сильным» ИИ можно отнести лишь те системы, которые способны справляться с задачами любой сложности без вмешательства человека. В настоящее время такие ИИ отсутствуют, а их разработки находятся на самых ранних стадиях.
Поэтому следует согласиться с Франсуа Шолле , который предложил следующее определение ИИ:
Математические нюансы измерений ИИ
Несмотря на существенные отличия «слабых» и «сильных» компьютерных систем, при возникновении необходимости сравнить между собой «способности» интеллекта различных компьютерных систем нужно иметь его простой количественный показатель. С его помощью можно будет измерить величину «интеллектуальной работы» компьютерной системы, которую она способна выполнять за некоторый промежуток времени.
Аналогично физическому понятию мощности, которая определяется количеством выполненной работы за единицу времени, можно ввести понятие «интеллектуальной мощности» компьютерной системы как количества «интеллектуальной работы», выполняемой системой за единицу времени. Рассмотрим, каким образом можно оценить объем «интеллектуальной работы», выполненной компьютерной системой.
Пусть имеется система с «сильным» ИИ, обладающая некоторым набором (множеством) навыков N = { n1, n2, …, nm}, включающим в свой состав базовые навыки, навыки, полученные в результате внешнего обучения, навыки, полученные в результате самообучения, а также навыки, приобретенные самостоятельно. Предположим, что возникла необходимость выполнения новой, заранее неизвестной задачи и данная система каким-то образом сумела сформировать новый навык (программу) nm+1 для ее решения, причем для этого были использованы некоторые ранее имеющиеся у системы навыки из множества N, которые вошли в новый навык nm+1 в качестве составных частей (подпрограмм) алгоритма его выполнения.
Так как навык nm+1 – это алгоритм, или программа, выполнения задачи, становится возможным определить его алгоритмическую сложность Sm+1, которая обычно оценивается количеством вычислений, необходимых для его реализации. В этом случае «интеллектуальная работа», выполненная системой при формировании нового навыка nm+1, должна быть тем выше, чем выше алгоритмическая сложность Sm+1 этого навыка nm+1.
С другой стороны, если при формировании навыка nm+1 были использованы уже имеющиеся у системы навыки из множества N, то объем «интеллектуальной работы», выполненной системой при формировании этого навыка, должен снижаться: то есть величина «интеллектуальной работы» Am+1, выполняемой системой при формировании нового навыка nm+1, должна зависеть от приращения алгоритмической сложности данного нового навыка относительно суммарной алгоритмической сложности уже имеющихся у системы навыков, используемых при его формировании.
Кроме того, поскольку новый навык nm+1 – это алгоритм (или программа) выполнения некоторой задачи, то эффективность ее решения в общем случае будет зависеть от данного алгоритма (навыка). Поэтому если существует некоторый критерий эффективности решения данной задачи, то новому навыку nm+1 необходимо поставить в соответствие коэффициент Vm+1, принимающий значения от 0 до 1 и оценивающий эффективность решения задачи с его помощью по заданному критерию. Причем коэффициент Vm+1 = 1, если получаемое решение полностью отвечает критерию эффективности, и коэффициент Vm+1 = 0, если полностью не отвечает. В случае если навык nm+1 обеспечивает единственно возможное решение соответствующей задачи, то приписанное ему значение коэффициента эффективности Vm+1 будет однозначно равно единице.
Например, в задаче, где мобильный робот должен переместиться из одной точки пространства в другую, минуя препятствия, оцениваются не только различные алгоритмы (навыки), но и заданный критерий эффективности. Например, если таким критерием является время движения по маршруту, значит, к каждому из навыков следует поставить в соответствие коэффициент эффективности, оценивающий возможность достижения цели за минимум времени.
Соответственно, коэффициент эффективности навыка nm+1 должен также учитываться при оценке величины «интеллектуальной работы», выполненной системой при его формировании. Причем чем больше значение коэффициента Vm+1, тем, очевидно, выше должна быть величина выполненной «интеллектуальной работы».
Следовательно, величину «интеллектуальной работы» Am+1, выполненной системой при формировании нового навыка nm+1, можно оценить следующим образом:
Тогда «интеллектуальную мощность» Pm+1 компьютерной системы при формировании нового навыка nm+1 можно оценить как отношение количества «интеллектуальной работы» Am+1 (1) к промежутку времени Tm+1, в течение которого новый навык nm+1 был сформирован:
Это выражение оценивает «интеллектуальную мощность» системы при формировании одного единственного навыка, направленного на решение конкретной задачи.
Психометрика для ИИ
В случае если требуется оценить интеллектуальную мощность компьютерной системы в целом, а не на одной конкретной задаче, для этого потребуется ее тестирование на некотором множестве (наборе) различных задач. Набор таких тестовых задач может быть сформирован на основании методик, используемых в психометрии.
Впервые использовать психометрические тесты человеческого интеллекта для оценки интеллекта компьютерных систем предложил Норберт Винер в статье «Интеллект и компьютерное моделирование» , опубликованной в 1964 году, а затем эта идея получила развитие в работах других авторов.
Основной целью использования психометрии является возможность измерить какие-либо общие характеристики, а не только способность системы решить одну конкретную задачу путем расширения набора целевых задач. Одним из недостатков является то, что общий набор задач, которые подвергнутся оценке, будет заранее известен разработчикам, которые смогут заранее «настроить» систему на их решение, тем самым снизив точность испытаний.
Пусть имеется некоторый многозадачный тест, сформированный на основе методик психометрии. Тогда «интеллектуальную мощность» (P) компьютерной системы в целом можно оценить как
Основное преимущество такого подхода к измерению «интеллектуальной мощности» компьютерных систем заключается в том, что он дает однозначную количественную оценку, где учитывается и уже имеющийся у системы багаж знаний и навыков, и ее способность формировать эффективные навыки ранее неизвестных ей задач.
Совокупность математических и психометрических методов позволяет дать оценку каждой из сравниваемых компьютерных систем, в том числе отличающихся количеством уже накопленных навыков, а также способностями получать эффективные решения.
Например, если две сравниваемые между собой системы решили одинаковые задачи из тестового набора за отведенное время, то большей «интеллектуальной мощностью» будет обладать та система, у которой исходная совокупность навыков была меньше, а эффективность новых навыков, полученных при решении задач тестового набора, выше.