Ilya Siganov's blog
Что такое искусственный интеллект

За последние 10 лет мы с вами можем наблюдать бурный рост интереса к машинному обучению и искусственному интеллекту, если верить Google Trends (статистика по поисковым запросам).

Image for post

Обратной стороной излишней популярности ИИ стало то, что теперь термин «интеллектуальный» стали использовать слишком часто и, возможно, неуместно. Произошло это главным образом благодаря успехам в области машинного обучения, которое было определено ещё в 1950-е годы, благодаря чему внедрять его стало достаточно просто.

Но действительно ли мы можем употреблять термин искусственный интеллект к тому, что внутри себя использует машинное обучение?

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

Терминология. Искусственный интеллект

Обратимся к изначальным смыслам отдельных слов термина ИИ. Искусственный — калька с немецкого слова, обозначает нечто не природное и сделанное наподобие подлинного (толкование Ожигова). Английская версия artificial идет от французского и латинского — сделанное человеком или относящееся к искусству(то что делает человек). Интеллект — из латинского познание и понимание, но в греческом переводе «нус» — это ум, означающий начало сознания и самосознания в космосе и человеке, принцип интуитивного знания. Интересно заметить, что в философском словаре говорят, что интеллект противопоставляется другим способностям человека, таким как чувство, воля, интуиция и воображение, тем самым ограничивая интеллект лишь только функцией рационального познания.

Таким образом искусственный интеллект — это созданный человеком функционал рационального познания по образу человеческого или, если из греческого, это созданное человеком нечто с сознанием и самосознанием.

Сам термин ИИ изначально ввёл Джон Маккарти на конференции в Дартмунском университете в 1956 году. И позже, в 2007 году, он дал расшифровку того смысла, который он вложил в это понятие. По Маккарти, ИИ — это раздел науки и инженерии, занимающийся изучением и построением интеллектуальных систем. Интеллектуальность — это вычислительная часть способности добиваться заданных целей. Маккарти заключает, что ИИ это не симуляция человеческой интеллектуальности в полной мере, а только «некоторым» образом. [6] Интеллектуальность в данном контексте не означает, что один человек умнее другого, но то, что нечто обладает мыслью или способом рассуждать.

Терминология. Машинное обучение

В качестве машины будем рассматривать любое цифровое устройство. Обучение — процесс передачи исторического опыта. Learn — от древне германского — следовать или искать-прокладывать путь (track).

Машинное обучение — процесс передачи опыта цифровому устройству, посредством поиска некоторой закономерности в наборе прецедентов.

Различают два вида обучения — индуктивное по прецедентам и дедуктивное, то есть формализация знаний экспертов.

Тьюринг и игра в имитацию

Исторически считается, что первой работой в области философии искусственного интеллекта стала работа Алана Тьюринга «Вычислительные машины и интеллект», в которой он старался ответить на вопрос «Может ли машина мыслить?» . Рассмотрим то, как автор дал определение интеллекта в этой публикации.

Вместо того, чтобы водить явные дефиниции терминам «мыслить» и «машина» Тьюринг заменяет весь поставленный вопрос на некоторый другой. Для этого он вводит описание «игры в имитацию», в которой участвуют три человека: мужчина (A), женщина (B) и третья сторона, задающая вопросы (С). Цель игры для задающего вопросы — это определить пол игроков A и B, общаясь с ними по телеграфу(почте или через посыльного), то есть без прямого контакта. В свою очередь игрок A пытается ввести C в заблуждение, чтобы он сделать неверные выводы, а игрок B, наоборот помогает C сделать верное решение. В итоге первоначальный вопрос «Может ли машина мыслить?» заменяется на «Что произойдет, если в этой игре вместо А будет участвовать машина?»[4]. Сможет ли машина эффективнее чем человек обманывать C, и разгадает ли C в игроке машину по его поведению? Если сможет, то Тьюринг считает, что машина может мыслить, так как она понимает то, о чем идёт речь в беседе. Для нас интересно в этой постановке вопроса то, что здесь сопоставляется способность человека мыслить с его поведением. То есть Тьюринг задался целью спроектировать такую машину, которая сможет вести себя как человек. Для определения того, на сколько машина похожа в своём поведении на человека, он и предлагает использовать игру в имитацию.

Предложенная Тьюрингом игра и вопрос представляют собой некоторую версию операционализма, в которой быть интеллектуальным, то есть обладать мыслью и способностью к размышлению, означает способность системы пройти Тест. [7] Другими словами, у системы есть набор входов и набор выходов, человек подаёт определенные сигналы на вход и ожидает увидеть некоторый сигнал на выходе. Интеллект рассматривается как черный ящик или математическая функция с аргументами и значениями, предполагая, конечно, что сознание может быть механизировано и формально выражено через некоторую вычислимую функцию(так как иначе эту функцию не выразить в терминах полноты по Тьюрингу, что требуется для вычислимости на цифровом компьютере). Однако, такая формулировка через операционализм становится предметом затруднений. Очевидная проблема состоит в доверии к человеку-судье, к его беспристрастному, но субъективному суждению. Кроме того, как показала практика, можно создать абсолютно не интеллектуальную программу-психотерапевта, способную обмануть человека-судью.

Современная версия программы Eliza

Джозеф Вайзенбаум продемонстрировал это в созданной им программе Элиза в 1966 году. Она содержала наборы правил для разбора предложений, с помощью которых программа определяла в предложениях ключевой объект и переспрашивала судью по определенному шаблону про этот объект. Например, на фразу «Все надо мной смеются.», программа спросит «Как вы думаете, кто в большей степени?». Здесь стоит заметить, что программа не понимает смысла фразы «смеются надо мной», она просто видит ключевое слово «все» и задает совершенно общий вопрос. Если провести аналогию, то программы подобного типа работают как зеркала — они отражают обратно человеку тоже самое, что он сказал, слегка видоизменив предложения. Понимание у зеркала того, что оно отражает, отсутствует. Тем не менее это не останавливало, а даже вдохновляло, инженеров создавать такие «зеркала», задачей которых был обман человека-судьи. От части из-за обилия таких программ, к 1980-м годам наступила первая «зима» ИИ: у человечества было много программ способных пройти тест Тьюринга, но неспособных к другой интеллектуальной деятельности.

Исходя из двух проблем — субъективности судьи и возможность его обмана, единственным решением остаётся каким-то образом убрать субъективный элемент из тестирования. Если будет возможно выделить объективные факторы мышления, осмысления, намерения осмыслить, тогда будет возможно применить объективный метод тестирования. Дальнейший анализ и критику определения интеллекта по Тьюрингу можно вести через сравнение бихевиоризма и операционализма с психологизмом, как это было предложено у Неда Блока в статье «Психологизм и бихевиоризм»[7], но мы сконцентрируемся на последствиях концепции Тьюринга.

Сильный и слабый ИИ

Слабый vs Сильный

Если Тьюринг принимал гипотезу о возможности ИИ и предложил метод тестирования, то Джон Сёрл задался вопросом о том, возможно ли создать цифровой компьютер, который будет способен понимать, например, тексты. Прежде всего Сёрл в своей работе «Сознание, мозг и программы» [1] ввёл два новых термина: Слабый ИИ и Сильный ИИ. Ценность Слабого ИИ состоит в том, что он становится некоторым инструментом, с помощью которого мы можем более точно и строго ставить и проверять гипотезы при изучении феномена сознания. С другой стороны, Сильный ИИ — это некоторый компьютер, запрограммированный особым образом, на самом деле обладающий сознанием, в том смысле, что компьютер действительно понимает смысл и обладает некоторыми когнитивными состояниями. В этом случае Сильный ИИ самим своим существованием объясняет устройство сознания.

Можно ли создать Сильный ИИ написав программу, исполняемую на машине Тьюринга?

Так вышло, что кроме теста, Тьюринг сформулировал математическую модель абстрактного исполнителя. Стоит отметить, что существует несколько эквивалентных моделей, таких как лямбда-исчисления Чёрча, машина Поста и другие. Эти системы создавались для формализации и анализа понятия вычислимости. Сейчас все компьютеры представляют собой машины Тьюринга-Поста. «Другими» могут считаться квантовые компьютеры.

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

Кадр из фильма «Китайская комната»

Джон Сёрл в своей работе [1] апеллирует против вычислимости сознания, но особенным образом. Для этого он определяет «Китайскую Комнату». В комнате сидит человек, который не знает китайский язык, но знает английский. Ему дают три карточки с китайскими символами вместе с инструкциями на английском языке, которые позволяют ему обрабатывать китайские символы, чтобы писать новые китайские символы. Те кто ему дают эти карточки, называют их «рукописью», «рассказом» и «вопросами», а написанные человеком символы — «ответами». Но человек в комнате этого даже не подозревает и не осознаёт. Появляется ли понимание китайского языка или сути этих карточек у человека в комнате? Сёрл отвечает, что не появляется никакого осознания, так как человек просто следует инструкциям. Сёрл описывает происходящее, как соревнование между «программистами» — теми людьми, которые создают инструкции, и теми, кто создают эти карточки. Человека в комнате можно рассматривать, как инстанциацию некоторой компьютерной программы. Из мысленного эксперимента Сёрл делает следующие выводы по поводу Сильного ИИ:

  1. Сильный ИИ может иметь те же входы и выходы, что и носитель китайского языка. Может давать правильные ответы на вопросы благодаря инструкциям. Но понимания рассказов на китайском у компьютера не появляется, так же как и у человека следовавшего инструкциям.
  2. Сильный ИИ не даёт достаточного объяснения феномена понимания, поскольку этого самого понимания и нет у него. Оппоненты могут сказать, что как раз то, что происходило в комнате и по существу является пониманием текстов.

Из результатов этого мысленного эксперимента в итоге Сёрл утверждает, что программа, то есть набор некоторых инструкций, сама по себе не может мыслить и обладать когнитивными способностями, так как любая программа есть суть манипуляция с формальными символами, которая не обладает интенциональностью(намерение). Фактически это синтаксический разбор, но не семантический анализ.

Тем не менее, Сёрл уверен, что машины могут мыслить, как минимум люди, представляя собой некоторую форму «особенных машин». Поэтому, чтобы создать искусственное мышление, нам нужно повторять мозг человека и устройство его нервной системы. Естественно, это основывается на гипотезе, что определенная форма материи начинает обладать сознанием, то есть сознание не представляет собой какую-то отделимую и совершенно не связанную с телом напрямую субстанцию, как, например, полагал Декарт.

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

Рефлексирующие системы

Не смотря на большой интерес к ИИ и уже развитой философской теории к началу 21 века, можно было легко заметить, что в прикладной области так и не появились хоть сколько-то интеллектуальные программы, но в теории информатики всегда провозглашался тезис, что программы должны становиться всё более сложными и интеллектуальными. Группа ученых(В.В. Ващенко, Е.Е. Витяев, Н.Г. Загоруйко и другие) из Новосибирска заметили эту актуальную проблему и решили обосновать в публикации «Рефлексирующие программные системы» почему она возникла, что из себя представляет интеллектуальная система и какими путями можно начать строить такие системы. [2]

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

Рассмотрим возможную структуру рефлексирующей системы. Для описания состояния системы вводят пространство состояний некоторых агентов. Выделяется некоторое исходное и целевое состояние системы. Задача перевода состояния системы из исходного в целевое порождает деятельность, которую будем называть целеустремленной. Цель известна, но неизвестен путь к её достижению. Некоторый примитивный агент для достижения цели может применить полный перебор некоторого пространства вариантов, а рефлексирующий агент будет обучаться на опыте и двигаться целенаправленно по наиболее экономически выгодному маршруту к цели. На этом пути можно определять дополнительные подцели для поиска первого шага перехода между состояниями. В результате рефлексирующую систему можно представить в виде некоторой иерархии, где с одной стороны есть иерархия подцелей, а с другой — иерархия некоторых программ, каждая из которых может решать некоторые базовые задачи. Предположим, что у нас существует некоторая программа M1 первого тип, умеющая решать класс задач Z1, применяя над данными D1, последовательность подпрограмм алгоритма A1. Если мы хотим, чтобы M1 произвела улучшения себя по мере накопления опыта, тогда нужно построить некоторую программу M2, задача которой состоит в наблюдении за работой M1 над данными и подбором рекомендации по её совершенствованию. В свою очередь программа M2 тратит энергетические ресурсы, объем которых можно минимизировать за счет оптимизации M2. Для этого нужно построить третий уровень подпрограмм и так далее. Кстати, энергетический ресурс было предложено рассматривать как аналог эмоциям — это ресурс необходимый для оценки успешности программы в каждый момент времени. Таким образом система обладает качеством рефлексии и эмоциями.

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

Но мы приходим к интересной проблеме — какого размера эта иерархическая структура, конечна ли она или нет, кто выбирает самый первый алгоритм (вершину), с которого все запустится? Где в этой иерархии находится человек или он находится где-то во вне? Ответы на эти вопросы, по всей видимости, станут сразу же ответами на вопрос о том, как создать Сильный ИИ и что такое сознание. Эти вопросы трансцендентные и, вероятно, по теореме Гёдела о неполноте арифметики не могут получить ответа в нашей системе. Тем не менее можно предположить, что создавая такие рефлексирующие системы и увеличивая их размер, мы будем замечать всё более возрастающие интеллектуальный способности этих систем, причем в некотором предельном варианте такую систему мы уже сможем назвать достаточно интеллектуальной или ИИ почти наверное.

Существуют ли сейчас подобные иерархические рефлексирующие системы? Ответ положительный, так как ими можно считать алгоритмы машинного обучения.

Машинное обучение

Кадр из мультика “Футурама”

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

Google image net

Долгое время у инженеров и учёных были проблемы по обучению таких сложных иерархий, но в 2007 году в статье «Learning multiple layers of representation » было показано как это можно эффективно делать, и именно поэтому сейчас мы можем наблюдать бурное развитие этой отрасли.

Хотя машинное обучение по сути своей и остаётся программой, но так как для её построения человеку уже не нужно вручную выделять абстракции и так как используются методы рефлексии, можно предположить, что на данный момент это один из самых прогрессивных методов создания систем обладающих интеллектуальностью, пусть и не в смысле Сильного ИИ. Вопрос о создании Сильного ИИ можно отложить на тот момент, когда будет доступно использовать не только Тьюринг полные компьютеры, а, например, квантовые, у которых пространство возможных для решения задач намного шире.

Заключение

Философия сознания и искусственного интеллекта за последние 60 лет прошла долгий путь от бихевиористических подходов в Тесте Тьюринга до теории рефлексирующих систем и машинного обучения. За это время исследователи искали способы создания ИИ методом программирования, построения математической модели сознания, полагая что оно представимо в виде вычислимого алгоритма. Такой подход привел к «зиме» ИИ и пережил много критики и опровержений, например, в работе Сёрла, который полностью опроверг возможность программного ИИ с помощью мысленного эксперимента с «Китайской комнатой». Но с середины 2000-ых годов благодаря успехам в области глубинных нейронных сетей и машинного обучения в целом стало известно каким методом можно строить рефлексирующие системы, то есть системы способные к самоулучшению и обучению. Если рассматривать интеллектуальность как когнитивную способность к познанию, то методы машинного обучения в предельном случае позволяют нам создавать как минимум нечто среднее между сильным и слабым искусственным интеллектом. Поэтому можно считать, что машинное обучение представляет собой некоторый метод построения искусственного интеллекта в предельном случае.

Список литературы

  1. Searle J. Minds, brains, and programs // Behavioral and brain sciences. — 1980. — Вып. 3. — С. 417–457.
  2. Ващенко А. Н. Рефлексирующие программные системы / А. Н. Ващенко, Е. Е. Витяев, Н. Г. Загоруйко, А. А. Мальцев, Н. Н. Непейвода, Д. Е. Пальчунов, С. Г. Пыркин, А. В. Ткачев. // Сиб. журн. индустр. матем. — 2001. — Т. 4, № 1. — С. 22–28
  3. Пенроуз Р. Новый ум короля. — М.: Едиториал УРСС, 2003. — 339 с.
  4. Тьюринг А. Может ли машина мыслить? (С приложением статьи Дж. фон Неймана “Общая и логическая теория автоматов”). — М.: Государственное издательство физико-математической литературы, 1960. — 67 с.
  5. Хокинс Д., Блейксли С. Об интеллекте. — М.: Вильямс, 2007. — 240 с.
  6. What is Artificial Intelligence? — 2007. — URL: http://www-formal.stanford.edu/jmc/whatisai/whatisai.html (дата обр. 10.06.2017)
  7. Block N. Psychologism and Behaviorism // Philosophical Review. — 1981. — Вып. 90. — С. 5–43.
  8. Сэмюэл А. Некоторые исследования в машинном обучении, используя игру шашек // IBM Journal. — 1959. — № 3. — С. 210–229.

Изначально эта статья была оформлена мною как реферат по философии науки под названием* “Машинное обучение как метод создания искусственного интеллекта”*