Содержание статьи
Искусственный интеллект
История
В 1960-х годах Стив Кук, Ричард Карп и другие учёные разработали теорию NP-полных задач, которые в теории решаемы, но время, необходимое на решение таких задач зависит от сложности задачи экспоненциально. При этом люди способны решать подобные задачи зачастую за гораздо меньшее время [1] . К началу 1970-х годов наука об искусственном интеллекте признала приоритет программирования систем над построением их материальной части в деле создания ИИ [6] . Примерно в это же время, начался резкий вал критики в отношении идей создания искусственного интеллекта, вылившийся в сокращение финансирования. В первую очередь это было связано с небольшими вычислительными мощностями существовавших тогда компьютеров, не позволявшими запустить сложную многоуровневую программу, из-за чего все практические образцы ИИ оставались на уровне «игрушек» (наибольшего успеха достигли программы для игры в шахматы).
Искусственный интеллект может применяться как в качестве партнёра в играх (например, шахматах), так и в более серьёзных задачах. Например, с 1990-х годов ИИ используется для распознания речи, что повышает удобство различных сервисов. Способен искусственный интеллект и распознавать живую речь, для чего недостаточно просто распознавать отдельные слова. Ещё один вариант использования — компьютерное зрение. Мир, в котором мы находимся имеет три измерения, в то время как устройства ввода визуальной информации, что у человека, что у машины, воспринимают только двухмерную картинку. Задача ИИ в данном случае — обработать имеющееся изображение для распознания объектов на нём. Также ИИ используются для так называемых «экспертных систем» — систем анализа данных в определённой сфере знаний или деятельности, действующей эффективнее, чем человек за счёт высокой скорости обработки [3] [7] [8] .
Главное отличие искусственного интеллекта от других программ в отсутствии чётко заданного алгоритма решении задачи [3] . Согласно одной из распространённых версий, есть необходимый набор свойств для программы, чтобы считаться искусственным интеллектом. Исследователи уточняют, что список может быть неполным, так как какие-то из свойств интеллекта ещё не открыты или достаточно не изучены. Список выглядит так [4] :
Однако возможность разрабатывать программы, выполняющие сложные интеллектуальные задачи, появилась только после появления современных компьютеров после Второй мировой войны. В 1950-х годах ученые из различных областей стали задумываться о возможности создания искусственного мозга. Тогда исследования в области неврологии показали, что мозг представляет собой нейронную сеть, а А. Тьюнинг предположил, что любой вид вычислений можно представить в цифровом виде, и в 1951 году была создана первая нейронная сеть SNARC аспирантом Марвином Мински. К 1950 году А. Тьюринг разработал тест, определяющий уровень схожести действий машины с сознанием человека, впоследствии названный тестом Тьюринга. Название «искусственный интеллект» впервые было использовано на Дартмутской конференции в 1956 году, тогда же и появилась научная дисциплина «Исследование искусственного интеллекта».
Впоследствии было создано множество машин, понимающих речь человека, умеющих поддерживать беседы на заданные темы, роботов, играющих в настольные игры: знаменитый матч между компьютером и Каспаровым в шахматах закончился победой машины. Сейчас искусственный интеллект занимает важную позицию в развитии науки, особенно в рамках концепции Интернета вещей, ведь недостаточно только собирать данные, необходимо их обрабатывать, анализировать и действовать в тех случаях, когда человек этого сделать не может.
Первые попытки теоретического проектирования мыслящих машин были предприняты после Второй Мировой войны сразу несколькими исследователями независимо друг от друга. В 1947 году Алан Тьюринг прочитал первую лекцию об искусственном интеллекте, в которой, вероятнее всего, первым постулировал, что построение оного будет с большей вероятностью заключаться в написании компьютерной программы, чем в проектировании вычислительной машины. Тремя годами позже он выпустил статью «Счётные машины и интеллект» (англ. Computing Machinery and Intelligence ), в которой обсудил вопросы оценки интеллектуальности машины и предложил критерий, по которому машина может считаться интеллектуальной, если она может убедительно представиться человеком информированному наблюдателю. Это было названо по имени создателя, «Тестом Тьюринга». При этом, в дальнейшем неоднократно проводились слепые тесты Тьюринга, которые показали, что большинство людей готовы признать человеком довольно глупую программу [1] .
Одна из наиболее осуществимых систем применения ИИ — эвристика, то есть сортировка информации по категориям, используя имеющиеся данные. Пример такой деятельности — анализ контрагентов при банковских операциях [7] . Ещё одна сфера, в которой искусственный интеллект необходим — самоорганизующиеся системы, то есть компьютерные системы, способные изменять себя согласно заданным параметрам, условиям окружающей среды или необходимым к выполнению задачам [9] .
Исследования в сфере искусственного интеллекта делятся на две категории: теоретические и практические; последние, в свою очередь имеют базовые и прикладные аспекты. Направлений исследования ИИ два. Первое, биологическое, основывается на том, что раз человек обладает интеллектом, искусственные системы должны имитировать его психологию или физиологию. Второе, феноменологическое, изучает само понятие интеллекта, проблемы, стоящие перед миром и способы достижения целей. Оба этих подхода в определённой степени взаимодействуют между собой. Также исследования ИИ тесно взаимодействуют с философией, особенно современной аналитической, так как обе отрасли науки изучают мышление [5] .
Примечания
Центральным понятием в искусственном интеллекте является агент. Под агентов подразумевается то, что воспринимает окружающую среду и воздействует на нее через исполнительные механизмы. Например, в Интернете вещей и робототехнике это восприятие происходит через различные датчики.
Несмотря на то, что в самой идее искусственного интеллекта исследователи ориентируются на интеллект человека, симуляция оного на компьютере — не есть цель большей части проектов. Используемый для оценки человеческого интеллекта коэффициент (IQ) не применим для оценки машинных систем, по причине того, что он завязан на интеллектуальное развитие ребёнка и если на взрослых людей эту шкалу можно экстраполировать, то высокие результаты искусственного интеллекта в тесте на IQ не будут означать высокого интеллекта системы. При этом, некоторые из задач, используемых в этих тестах всё же помогают изучать эффективность конкретного искусственного интеллекта. Также, в то время как интеллект всех людей основывается на примерно одинаковых механизмах и развивается приблизительно по одному пути, в машинном интеллекте дело может обстоять с точностью до наоборот: при наличии превосходящих человеческие возможности вычислительных мощностей он основывается на тех принципах и цепочках, которые заложены в него разработчиком, а потому в каждой системе могут, с одной стороны, присутствовать интеллектуальные функции, развиваемые человеком только с подросткового возраста, а с другой — отсутствовать какие-то механизмы, присущие маленьким детям. Осложняется это тем, что природа человеческого интеллекта до сих пор изучена не до конца [1] [2] .
Тогда же, в конце 1940-х годов, была впервые выдвинута идея машинного обучения. Согласно им, необходимо сделать программу, которая обладает базовым набором знаний и возможностью усваивать информацию, что позволит делать только «оболочку», которая будет самостоятельно достраивать себя до полноценного ИИ [1] .
Искусственный интеллект — это наука и технология создания интеллектуальных машин, в первую очередь интеллектуальных компьютерных программ. Интеллект в данном случае — это вычислительная способность достигать целей в мире, присущая человеку, многим животным и некоторым машинам. При этом до сих пор в научном сообществе нет чёткого понимания, какие вычислительные функции считать интеллектом в силу понимания только части из них; по этой причине точного общепринятого определения интеллекта, не завязанного на интеллект человека, не существует. Также из-за того, что интеллект — это сложное понятие, состоящее из множества свойств и функций, некоторые из которых до сих пор не поддаются вычислительным машинам, невозможно чётко отделить «интеллектуальные» машины от «не интеллектуальных»; многие из вычислительных систем, созданных для выполнения той или иной функции можно назвать «в какой-то мере интеллектуальными» [1] .
Искусственный интеллект (ИИ, англ. artificial intelligence, AI ) — свойство искусственных вычислительно-интеллектуальных систем выполнять задачи, традиционно считающиеся прерогативой человека, в первую очередь творческого характера, а также наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ. Не следует путать искусственный интеллект с искусственным сознанием. Искусственные интеллекты, существующие на настоящий момент — весьма узкоспециализированные и чаще всего некомпетентны за пределами своей основной задачи.
В 1956 году Джон Маккарти впервые в истории ввёл в оборот термин «искусственный интеллект» (англ. artificial intelligence ). Год спустя Аллен Ньюэлл, Герберт Саймон и Клиффорд Шоу разработали первую программу, попавшую в эту категорию. Она предназначалась для игры в шахматы и в отличие от предыдущих основывалась на эвристике, то есть не имела точных теоретических оснований. В 1960 году ими же была разработана программа для решения головоломок, основанная на тех же принципах [3] .
Для создания программ искусственного интеллекта существуют следующие специализированные языки программирования: AIML, IPL (самый первый язык программирования для искусственного интеллекта), Lisp, Smalltalk, STRIPS, Planner, POP-11, С++, Haskell, Prolog, Python (последние широко используется сегодня).
В 1930-х годах британский и австрийский математики Алан Тьюринг и Курт Гёдель, а также другие математики пришли к выводу, что не существует универсального алгоритма для решения любых задач в некоторых важных математических областях. Существуют задачи, которые не решаются путём составления алгоритма, но доступны к решению человеком, так что был сделан вывод, что компьютеры по своей природе не могут делать то, что делают люди [1] .