Диссертация. Основам искусственного интеллекта и анализа данных в курсе информатики на уровне среднего общего образования Научная
Скачать 4.76 Mb.
|
1.1. История развития искусственного интеллекта как науки Джон Маккарти, считающийся первым автором термина, в 1956 году на конференции в Дартмутском университете привёл следующее его объяснение Искусственный интелле́кт (ИИ, англ. Artificial intelligence, AI) — наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ. Искусственный интеллект связан со сходной задачей использования компьютеров для понимания человеческого интеллекта, ноне обязательно ограничивается биологически правдоподобными методами [181]. Научное направление, исследующее понимание и связанные с ним задачи, получило название искусственного интеллекта. Это название на русском языке прижилось, но оно является результатом не совсем удачного перевода англоязычного термина «Artificial Intelligence». Под «intelligence» в оригинале выступает не интеллекта понимание, те. искусственное понимание или искусственный разум как умение рассуждать согласно правилам логики и её установленным законам. Сейчас в англоязычном сообществе также рассматривается отдельно определение General Artificial Intelligence (GAI, общий или сильный искусственный интеллект иначе — интеллект, сравнимый с человеческим, предусматривающее умение думать, включающее творческую составляющую, а не только логические разумные) выводы. Причём подчёркивается, что на данный момент GAI недостижим. Появится ли он в будущем Здесь тоже нет однозначного 4 Слово интеллект переводится на английский чаще как «brain» или «intellect», а слово «intelligence» относится именно к рассуждениями логическим построениям. 17 ответа, ведь человек до сих пор не смог полностью разобраться даже в собственном сознании. Поначалу учёным казалось, что задача создания ИИ чисто техническая. Поскольку в середине XX века вычислительные машины быстро и безошибочно выполняли операции, ранее свойственные лишь людям (причём людям образованным, автоматизация мышления казалась задачей вполне разрешимой. Разработка машинного разума (аппаратного и/или программного) позволила бы автоматизировать огромное количество рутинных операций в производстве, научной деятельности, быту, стала бы крупным шагом на пути понимания сущности разума как такового и т. д. Перечислять очевидные выгоды и перспективы можно долго. Учёным необходимо было создать воспроизводимый искусственный объект программный или аппаратный, который будет в аналогичных условиях устойчиво воспроизводить полезные результаты применения интеллекта человека. Фактически, работы в этой области начались практически одновременно с появлением первых компьютеров. Несмотря на то, что машинный разум до сих пор не создан, вовремя исследований было получено много важных результатов, обогативших и науку, и технологию. Но история этого научного направления такова, что до сих пор нет единого определения основного понятия. Сейчас есть множество разных подходов к изучению и понимаю ИИ. Наиболее важным является выделение двух областей. ИИ как наука – наука о проектировании сознания, изучении и моделировании человеческого мышления, вычислимом поиске смысла в данных. ИИ как технология – это проектирование систем, позволяющих обрабатывать данные интеллектуально (включая самообучение, получение 18 нетривиальных данных, построение теорий с помощью математической логики и т. да также интеллектуальные алгоритмы. В мире есть разные школы искусственного интеллекта, различающиеся в основном в подходах и, как следствие, направлениях развития ИИ. Это также определяет принятое понимание основного определения данной науки у нас. В России традиционно существует единая школа искусственного интеллекта Дмитрия Александровича Поспелова, возникшая в СССР в х годах в стенах мехмата МГУ. Российская ассоциация искусственного интеллекта даёт следующее определение ИИ, которое мы и будем использовать. Искусственный интеллект – это 1) научное направление, в рамках которого ставятся и решаются задачи аппаратного или программного моделирования тех видов человеческой деятельности, которые традиционно считаются интеллектуальными. Создаваемые в рамках этого направления информационные технологии решают задачу воссоздания с помощью искусственных устройств разумных действий и рассуждений 1) свойство компьютерных систем решать задачи, традиционно отводимые людям и связанные с творчеством. Однако для таких систем обязательно должна быть ограничена предметная область. Вторая часть определения относится к области «ИИ как технология, поскольку означает совокупность технологий, позволяющих компьютерным системам обрести свойства интеллекта. Таким образом, ключевым отличием интеллектуальных систем от обычных программных реализаций задач является то, что они могут решать задачи, ранее не встречавшиеся или не имеющие чёткого общего алгоритма например, задача принятия решения вменяющейся обстановке. Чтобы понять, почему существует много школ искусственного интеллекта и различных подходов к изучению искусственного интеллекта, 19 следует обратиться к историческому развитию области. Предпосылками к возникновению искусственного интеллекта является теория математической логики. Д. Буль в 1854 году опубликовал работу Исследования законов мышления [170], в которой он сформулировал принципы алгебры высказываний через ряд правил, логических операций и систему символов. Однако, в первое время алгебре логики уделялось мало внимания. Стоит отметить, что для алгебры логики долгое время было характерно использование двоичной системы, сводящейся к двум положениям истина и ложь, которые и сейчас широко применяются, например, в экспертных системах сч ткой логикой. В некоторой степени на философию искусственного интеллекта повлияли и труды С.Н. Корсакова [54], занимавшегося поиском возможности усилить возможности разума с помощью вычислительных машин и механизмов. В 1832 году он изобрели опубликовал описание пяти механических устройств, частично механизирующих умственную деятельность в задачах поиска, сравнения и классификации. В конструкции этих машин впервые в истории информатики были применены перфорированные карты, игравшие роль баз знаний, асами машины по существу являлись прообразом экспертных систем (ЭС). В 1884 г. Готлоб Фреге представляет в Основах арифметики новый язык для формализации аристотелевской Логики — исчисления предикатов первого порядка. Используя изначально предложенный язык для записи умозаключений и философских основ, Фреге создал язык, сегодня применяемый для записи теорема также значительно расширяющий возможности алгебры Буля. Предложенная система включала в себя символы предикатов, теорию функций и квантированных переменных. Возможность записывать все рассуждения математическими методами стала предтечей к появлению науки искусственного интеллекта. 20 Немного позднее в трёхтомной монографии Principia Mathematica (1910, 1912 и 1913 гг.) Альфред Норт Уайтхед и Бертран Рассел предположили возможность вывести путём формальных операций из набора аксиом всю математику, представив её как чисто формальную, реализуемую техническими средствами систему [96]. Для этого необходимо было вывести ряд правили последовательность их применения к существующим теоремам – построить специфическую машину вывода. В 1936 г. Алан Тьюринг публикует статью О вычислимых числах в приложении к проблеме разрешения. В ней он доказывает неразрешимость второй проблемы Гильберта с помощью предложенного им же метода. Тьюринг пишет о ряде строго последовательных и регламентированных элементарных шагов процедуры, являющейся логической конструкцией. Данная модель вычислительного процесса получила название машины Тьюринга. В той же статье он высказывает свой знаменитый тезис, что любой алгоритм может быть представлен эквивалентной машиной Тьюринга. Чаще тезис применяют в расширенном варианте как тезис Чёрча- Тьюринга: любая функция, которая может быть вычислена физическим устройством, может быть вычислена машиной Тьюринга. Ещё одно расширение тезиса до теоремы Чёрча-Тьюринга-Поста касается теоремы, применимой к похожей машине Поста любая частично рекурсивная функция может быть представлена машиной Тьюринга и может быть вычислена физическим устройством. Также Алан Тьюринг предложил тест для вычислительных систем, который мы подробно рассмотрим позднее. Русский математик А.А. Марков (младший) также внёс большой вклад в алгебру логики. Он создал рабочий аппарат и ввёл понятие нормальных алгоритмов (алгорифмов). Важно отметить, что долгое время алгоритмы признавались только со строгим соответствием результата при нескольких запусках. Однако, это несправедливо для большинства интеллектуальных 21 алгоритмов и, особенно, для нейронных сетей, где результат обучения может отличаться при разных запусках системы. Ключевыми работами в области создания искусственного интеллекта и основными работами по компьютерным нейронным сетям считаются исследования Мак-Каллока и Питтса. Ещё в 1943 гони создали модель нейронной сети с пороговой логикой, взяв за основу работу человеческих нейронов. В своих работах они старались приложить современные в то время знания о теории деятельности головного мозга на математические модели, передача информации в которых зависит от свойств синаптических связей. Именно тогда Мак-Каллок и Питтс выдвинули предположение, что компьютерная нейронная сеть сможет в будущем выполнять любые численные и логические операции, обучаться, распознавать образы, делать не только выводы, но и выделять общее и частное как настоящий интеллект человека. Работа была настолько прорывной, что во многом определила дальнейший вектор развития области искусственного интеллекта. Прорыв казался близким, поэтому к исследованиям в данной математической области подключились профессионалы из мира не только биологии, но и психологи. Американский нейропсихолог Дональд Хебб в работе Организация поведения нейропсихологическая теория в 1949 году высказал предположение, что обучение строится на изменении силы синаптических связей. Это предположение стало основой для последующих работ в области самообучающихся сетей и алгоритмов и легла в основу описания явления долговременной потенциации. Хебба считают также одним из создателей теории искусственных нейронных сетей, поскольку предложенный им способ и алгоритм былине только ценны теоретически для перспективы, но и действительно работали. В 1954 году в Массачусетском технологическом институте с использованием компьютеров Фарли и Кларк разработали имитацию сети Хебба. 22 Однако в 1957 году Фрэнк Розенблатт предложил новую модель персептронов, которые в итоге должны были быть объединены в двухслойную обучающуюся нейронную сеть, использующую операцию сложения (включая вычитание. Уже в 1960 гон создаёт первую действующую машину, распознающую образы цифр и букв через интерфейс камеры. Сегодня пример модели Розенблатта является классическим для обучения студентов и их знакомства с распознаванием визуальных образов с помощью нейронных сетей. Важно отметить, что ранее все перечисленные теоретики опирались на двоичную систему, характерную для алгебры логики. Однако при разработке доступного компьютера для лабораторий и вузов команда вычислительного центра МГУ под руководством академика С.Л. Соболева в 1960 году представляет опытный образец компьютера «Сетунь». Особенность данной вычислительной машины заключалась в применении трёхпозиционной логики + (истина, 0 (неизвестно, - (ложь. Подобная логика сегодня широко используется в нейронных сетях как состояния персептрона. В СССР искусственный интеллект стали изучать наравне с США. Так в 1954 год в МГУ под руководством выдающегося математика академика А.А. Ляпунова начал работу семинар Автоматы и мышление, где зародились два направления работы в сфере ИИ в нашей стране нейрокибернетика и кибернетика живого ящика. В основном рассматривались вопросы поиска решений логических задач. Создаются различные программы и лаборатории. Например, МЛ. Цетлин организует совместно с своим наставником ИМ. Гельфандом междисциплинарный математико-физиологический семинар в стенах Института нейрохирургии им. Н. Н. Бурденко АМН СССР, занимающийся вопросами нейрокибернетики. 23 В х годах. В. Н. Пушкин и ДА. Поспелов возглавили ряд исследований в данной области в Московском университете и Академии наук в рамках области кибернетика [88]. Советские учёные в своих работах также опираются на исчисления предикатов и теорию рекурсивных функций. Во многом развитие данной области было направлено на тесную связь с развитием теории управления, и большинство кибернетиков оставили значительные работы ив этой сфере. ДА. Поспелов также является отцом нового направления – ситуационного управления. С.Ю. Маслов в своей работе Обратный метод установления видимости в классическом исчислении предикатов (1964 г) предложил метод автоматического поиска доказательства теорем. Вскоре в Ленинграде начинает работу компьютерная программа АЛПЕВ ЛОМИ на базе Ленинградского отделения математического института им. Стеклова, занимающаяся доказательством теорем на основе обратного метода резолюций Маслова. Через два года В.Ф. Турчин разрабатывает язык рекурсивных функций РЕФАЛ (РЕкурсивных Функций АЛгоритмический язык, который был популярен ещё долгое время, поскольку позволял работать с задачами перевода с естественного на искусственный язык или же решать задачи ИИ. Он сосуществует рядом с языком Prolog, разработанным Аленом Колмероэ в 1972 г, однако зарубежная разработка оказалась более лёгкой для изучения студентами и учениками, поэтому в х годах Prolog был включён в некоторые вузовские и школьные учебники информатики [30]. Сего помощью изучались элементы математической логики, основы логического программирования и даже введение в экспертные системы проектирование баз знаний, создание моделей ЭС. Также в СССР независимо ведутся разработки в сфере компьютерного зрения. ММ. Бонгард создаёт алгоритм Кора, моделирующий 24 деятельность человеческого мозга при распознавании образов, предвосхищая более поздние исследования Кунихико Фукусимы. В 1974 году был создан Научный совет при Президиуме АН СССР по проблеме Искусственный интеллект, возглавляемый ДА. Поспеловым и его заместителем ЛИ. Микуличем. Деятельность совета была распределена на несколько проектов по разным направлениям ИИ [88]: • Диалог – понимание естественного языка (под руководством А.П. Ершова, АС. Нариньяни); • Банк – банки данных (под руководством Л.Т. Кузина • Ситуация – ситуационное управление (под руководством ДА. Поспелова); • Интеллект робота – робототехника и экспертные системы под управлением ДЕ. Охомицкого); • Конструктор – поисковое конструирование под руководством АИ. Половинкина). В 1988 году в СССР создаётся Ассоциация искусственного интеллекта, которую возглавляет также ДА. Поспелов. Исследовательские центры и проекты дополняются новыми школами для молодых специалистов, симпозиумами и постоянно работающими семинарами, конференциями, организуется профильный научный журнал. Несмотря на развитие областей ИИ в разных направлениях на Западе особенно в США) ив СССР, можно отметить, что на темп работы большое влияние оказывала конфронтация между Советским Союзом и его союзниками, с одной стороны, и США и их союзниками — с другой, из-за которой подогревался интерес к достижениям в сфере информатики и кибернетики. Помимо США и СССР к этой гонке подключилась и Япония, где был создан специальный институт ICOT, занявшийся разработкой вычислительных машин V поколения, ив итоге к концу х разработавший собственный язык программирования, аналогичный Prolog. 25 Но наиболее важным достижением японцев оказалось создание фундамента из заинтересованного и вовлеченного ИИ-сообщества, которое затем вывело страну вперёд в разработках ИИ и робототехники. Не отставала и Европа (Европейский Союз, где вначале х была объявлена глобальная программа развития новых технологий ESPRIT, включающая в себя также направление искусственного интеллекта. Но интерес к ИИ не был настолько безоблачным. В 1969 году Марвин Ли Минский и его коллега Сеймур Пейперт опубликовали работу, описывающую проблемы искусственных нейронных сетей, после которой исследователи потеряли энтузиазм, и развитие нейронных сетей утратило высокие темпы дополучения достаточных вычислительных мощностей уже современных компьютеров [180]. До 1975 года в нейронных сетях невозможна была реализация строгой дизъюнкции (XOR, исключающее ИЛИ) и возникали значительные сложности при обучении многослойных сетей, пока Вербос не предложил метод обратного распространения ошибки. Кроме указания на данные ошибки, в работах Минского содержался фундамент для другого подхода к ИИ – инженерии знаний. Также стоит отметить, что рассредоточение внимания от нейронных сетей помогло не только инженерии знаний, но и, например, развитию систем, распознающих естественный язык. В 1972 году Терри Виноград создаёт SHRDLU – небольшую компьютерную игру, включающую в себя ограниченные локации мира с помещёнными предметами. Пользователь управлял персонажем с помощью команд на естественном языке, заставляя персонажа перемещать предметы конусы, кубики и шары разного цвета. Естественно, набор команд был сильно ограничен. Ещё одной проблемой, не озвученной напрямую Минским, но присутствующей в нейронных сетях того времени – это односторонняя передача информации. Лишь в 1982 году Джон Джозеф Хопфилд добивается двухсторонней передачи информации между нейронами, также 26 он ввёл специализацию узлов для конкретных целей. Предпосылки к этому были реализованы в виде самоорганизующейся сети (когнитрона) Кунихико Фукусимы в 1980 г. Позднее когнитрон Фукусимы стал основой для неокогнитрона – иерархической свёрточной многослойной самоорганизующейся сети, способной к устойчивому от вбросов распознаванию образов и работающей по принципу клеток первичной зрительной коры головного мозга. Сегодня такие сети используются как часть нейронных сетей с масштабно- инвариантной трансформацией признаков (англ. Scale-Invariant Feature Transform, SIFT), активно применяемых не только в распознавании образов, но и, например, для построения объектов по изображениям. Когнитроны были одним из первых методов глубинного машинного обучения (англ. Deep Learning), но для развития данного направления исследователям пришлось взять паузу до середины х годов, когда стали доступны большие вычислительные мощности. Во многом возрождению Deep Learning способствовали компания NVidia и индустрия развлечений (в основном, игровая и киноиндустрия), а также развитие Интернет (как программной части, таки физических протоколов, включая улучшение пропускной способности каналов, и, как следствие, увеличение числа распределённых вычислений, в том числе с применением сетей из персональных компьютеров. Сегодня многие устройства, доступные широкому кругу пользователей и применяемые в основном для развлечения, имеют специальный встроенный сопроцессор, направленный на обработку интеллектуальных алгоритмов. Например, в смартфонах- флагманах от Apple и Huawei установлены сопроцессоры, которые заняты исключительно в распознавании образов с применением SIFT для цифровой поддержки возможностей камеры. Начиная с середины х годов у ИИ-проектов меняется основной по массовости потребитель область уходит от исключительно военных и 27 научных (для последующего применения найденных результатов военными) заказов в пользу коммерциализации, что также повлияло на равновесие между развитием разных областей внутри ИИ. Другой важной стороной развития искусственного интеллекта является разработка критериев проверки, в основном, сводящиеся к проверке на достижение высшего искусственного интеллекта (General Artificial Intelligence, GAI) и полной имитации человека, те. учитывающего семантическую составляющую информации. Конечно, существуют и разрабатываются критерии для проверки скорости сходимости алгоритмов, их эффективности (например, применение метода локтя или силуэта для проверки оптимальности выбора числа кластеров, однако наиболее известны общественности именно тесты на человечность. Алан Тьюринг предложил свой знаменитый эмпирический тест в статье Вычислительные машины и разум ещё в 1950 г. Конечной целью прохождения теста является определение, может ли машина мыслить. Прототипом для теста стала игра “Imitation game”, где предлагалось, используя письменные или напечатанные на машинке вопросы, узнать, за какой дверью женщина, аза какой – мужчина. В тесте Тьюринга судья взаимодействует одновременно с одним компьютером и одним человеком, требуется входе разговора определить, с кем он разговаривает. Задача программы – ввести судью в заблуждение, назвав именно программу живым собеседником. Беседа ведётся письменно, судья не видит собеседника. Через компьютер - посредник в определённое регламентируемое время приходят ответы. Если судья не уверен, с кем он говорит, программа выигрывает раунд. Обычно проводится большое число раундов с разными судьями, темы бесед нередко бывают ограничены (в последнее время это условие считается лишним с 1995 года, время беседы было ограничено в 5 минут (в том же 1995 году увеличено до 20 минут. 28 Результатом теста Тьюринга является процент раундов, выигранных машиной [137]. Каждый год проводится специальное соревнование, в котором сражаются множество проектов. Соревнование Turing100 ставит планку победы в 30%, опираясь на фразу Алана Тьюринга, что к 2000 году человек сможет быть лишь на 70% уверен, разговаривает ли он с другим человеком или машиной. Учитывая специфику теста, неудивительно, что победителями становятся чат-боты (от англ. chat – разговор, болтовня и сокращения bot от robot - робот) – программы-собеседники. Официально победителей было всего трое вымышленный психолог ELIZA (1966), не вполне здоровый человек с манией преследования PERRY (1972) и маленький мальчик Женя Густман (2011). В первом и втором случаях длину отклика замаскировали за работой телетайпа. Элиза постоянно переспрашивала человека, внимательно слушала и переводила тему разговора, Перри же вёл себя агрессивно и изменял тему сам. В обоих случаях победа была сомнительной, так как многие собеседники не догадывались, что могут общаться с программой, а не человеком, что противоречит правилам конкурса. Разработчики Жени также использовали обманный манёвр, разговаривая от лица ребёнка, не являющегося носителем языка. Ещё одним способом проверки ИИ на разумность являются виноградные вопросы – особый вид вопросов, где требуется учитывать смысл нескольких высказываний. Зачастую при построении виноградных вопросов преднамеренно включают ошибки в отношении местоимений при построении текста на естественном языке, однако фразы остаются простыми для восприятия человеком. Гектор Левек в своей статье “On our best behavior” приводит следующий пример виноградного вопроса Фред – единственный человек из ныне живущих, кто видел моего отца младенцем. Когда Фред впервые увидел моего отца, ему было двенадцать лет. Кому было двенадцать лет. 29 Искусственный интеллект продолжает постоянно развиваться как научная и, одновременно, прикладная область. В 2020 году дочерняя компания Google Deep Mind создала модель, интеллектуальные алгоритмы которой предсказываются сворачивание белков, что ранее считалось одной из 125 величайших задач, стоящих перед человечеством. Вовремя пандемии искусственный интеллект научили определять заражение вирусом COVID- 19 раньше проявляемых явных признаков с помощью мобильного приложения. В тоже время компания Alibaba в Китае создала систему диагностирования вируса на основе распределённых вычислений и машинного обучения, а затем представила программу Alipay Health Code, на основе больших данных регулирующая доступ заражённых лиц к общественным местам, что способствовало локализации очагов заражения. Пандемия повлияла и на внедрение и развитие интеллектуальных сервисов, связанных с командной работой и с автоматизацией процессов на производстве. Сегодня мы чаще в контексте искусственного интеллекта говорим о машинном обучении (Machine Learning), науке о данных (Data Science) и глубинном анализе данных (Data Mining). Рассмотрим немного подробнее последнюю тему. К науке о данных мы вернёмся подробнее в Главе 2. Интеллектуальный (глубинный) анализ данных (англ. Data |