Искусственный интеллект

Определения, структура и развитие систем ИИ

Разбить на страницы
Показывать лекцию целиком

Попытки дать определение термина

Искусственный Интеллект (ИИ) сегодня один из самых популярных, обсуждаемых и одновременно противоречивых и многозначных терминов. Действительно, с одной стороны, многочисленные эксперты утверждают, что уровень развития технологий искусственного интеллекта в стране - это важнейший критерий технологической, экономической и военно-стратегической мощи государства, показатель конкурентоспособности на высокотехнологичных рынках. Аналитики сообщают, что десятки тысяч компаний применяют технологии ИИ, тысячи стартапов по всему миру развивают решения на базе искусственного интеллекта, а ИТ-гиганты конкурируют за возможность купить наиболее успешных разработчиков в этой области. Рынок искусственного интеллекта оценивается консалтинговыми компаниями в сотни Оценки разных аналитиков существенно различаются, об этом подробно будет рассказано во второй лекции данного курса миллиардов долларов. С другой стороны, целый ряд специалистов говорит, что ИИ - это миф, никакого искусственного интеллекта пока не создано! Причем такие высказывания можно услышать не только в частных беседах. Например, в статье под названием "ИИ на самом деле еще не существует" [1] авторы начинают свое повествование с категоричного утверждения: "многие компании, которые заявляют, что используют ИИ, обманывают себя - и вас тоже".

Авторы упомянутой публикации со ссылкой на Джулию Люк (Luc Julia), вице-президента Samsung по инновациям и соавтора цифрового помощника Siri, приводят следующую ее цитату: "Сегодняшние инструменты для бизнеса используют математику, статистику, машинное обучение, глубокое обучение, большие данные, получая машины более совершенные, чем в прошлом. Но то, что так часто называют ИИ, на самом деле не связано с искусственной формой интеллекта".

Многие авторы отмечали, что словосочетание "Искусственный интеллект" - это неудачный термин, который тем не менее стал общеупотребимым. Целый ряд специалистов предлагали свои уточнения этого названия, вспомним, например, замечание профессора Константина Воронцова, согласно которому ИИ логичнее было бы расшифровать как "имитация интеллекта" [2].

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

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

Почему же термин, которым люди пользуются почти 70 лет, до сих пор понимается разными группами специалистов по-разному? Какие определения ИИ существуют и чем они различаются?

Перечислим некоторые проблемы, с которыми сталкиваются специалисты, пытающиеся дать свое определение ИИ.

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

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

С философской, гносеологической, точки зрения термин интеллект привязан к биологическому объекту, а вопрос о том, могут ли неживые объекты обладать ощущением (как первичной основой структуры сознания и интеллекта), не решен. Поэтому большинство нейробиологов вопрос о том, может ли машина обладать разумом и, соответственно, интеллектом, пытаются отложить на будущее.

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

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

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

В табл. 1.1 мы представили десять определений ИИ, предложенных разными авторами за последние 50 лет, и выделили ключевую часть определения.

Различие в акцентах при определении термина "искусственный интеллект"
Определение Автор, год и источник Ключевая часть определения
1 Автоматизация задач, которые принято считать человеческими: мышление, принятие решений, решение проблем, обучение и т. д Беллман (Bellman), 1978, [3]. Автоматизация задач (вид деятельности человека).
2 Область исследований, направленная на разъяснение и эмуляцию разумного поведения в терминах вычислительных процессов. Шайкофф (SchaIkoff), 1990, [4]. Область исследований (вид деятельности человека).
3 Искусство создания машин, выполняющих функции, которые требуют интеллекта, если бы их выполняли люди. Курцвейл, 1990, [5]. Искусство создания машин. (вид деятельности человека).
4 ИИ - это наука и инженерия создания интеллектуальных машин McCarthy, 2007, [6].
5 Искусственный интеллект - это область, изучающая компьютерные технологии, которые делают возможным восприятие, рассуждения и действия машин на их основе Winston, P. H., 1992, [7]. Это область изучения компьютерных технологий (вид деятельно)
6 Искусственный интеллект - это деятельность, направленная на создание интеллектуальных машин, а интеллект - это качество, которое позволяет объекту функционировать в окружающей среде надлежащим образом и с предвидением. Nilsson, N. J. (2010), 2010, [8] Это деятельность по созданию машин (вид деятельности человека).
7 Зонтичный термин, охватывающий целый ряд алгоритмов, позволяющих оптимизировать поиск в Интернете, нацеливать рекламу, утверждать потребительские кредиты и направлять водителей Эндрю Нг, профессор Стэнфордского университета. 2017, [9]. Свойство алгоритмов
8 Выполнение компьютером действий, для которых обычно требуется человеческий интеллект Эми Вебб, профессор Нью-Йоркского университета, 2017, [10]. Свойство машин
9 Интеллектуальная деятельность, которая раньше выполнялась только на основе интеллекта человека, а теперь может быть выполнена компьютером, включая распознавание речи, машинное обучение и обработку естественного языка Генеральный директор Infosys Вишал Сикка, 2017, [11] Деятельность машин с определенными способностями
10 Под ИИ понимается: "Комплекс технологических решений, позволяющий имитировать когнитивные функции человека (включая самообучение и поиск решений без заранее заданного алгоритма) и получать при выполнении конкретных задач результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека. Комплекс технологических решений включает в себя информационно коммуникационную инфраструктуру, программное обеспечение (в том числе в котором используются методы машинного обучения), процессы и сервисы по обработке данных и поиску решений". Пункт 5 Национальной Стратегии развития ИИ в РФ на период до 2030 года [12] Комплекс технологических решений

Интересно отметить, что большая часть авторов, упомянутых в табл. 1.1, базируются на утверждении, что ИИ - это некоторая область деятельности человека, например область науки или инженерии, в то время как другая часть экспертов делает акцент на том, что ИИ - это определенное свойство машин Заметим, что когда ставится вопрос об определении, что такое интеллект человека, то в первую очередь определение затрагивает вопросы именно способностей человека, определяемых умственной интеллектуальной деятельностью .

Заметим, что это принципиально разные подходы. Действительно, ИИ как наука может заниматься чисто теоретическими вопросами. Ответ на вопрос "Что такое ИИ как наука?" предполагает в первую очередь обозначение перечня областей исследования, научных школ, направлений и т. п.

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

Например, как видно из рисунка, в 1998 г. почти 75 % всех публикаций приходились на компьютерную лингвистику, а спустя 20 лет к ней было отнесено лишь 15 % статей из упомянутого источника. Категория "компьютерное зрение и распознавание образов", которая в начале века была в зачаточном состоянии, выросла многократно и заняла доминирующее положение в 2018 г.

Как мы отметили, помимо определений ИИ, связываемых с научной деятельностью (табл. 1.1), есть формулировки, которые исходят из того, что ИИ интерпретируется как набор свойств, способностей интеллектуальных машин. Здесь вопрос ставится в более практической плоскости, то есть в данном случае в первую очередь речь идет о реализованном машинном интеллекте в виде программ, работающих на том или ином аппаратном обеспечении и показывающих те или иные способности искусственного интеллекта.

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

Подходя к развилке между понятиями "существующий ИИ" и "гипотетический ИИ", необходимо упомянуть деление искусственного интеллекта на так называемый сильный или общий ИИ (AGI, Artificial General Intelligence) и узкий, прикладной или слабый ИИ (ANI,Artificial Narrow Intelligence).

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

Однако сегодня (в 2022 году) - с появлением мультимодальных моделей Мультимодальные модели характеризуются возможностью обучения на нескольких наборах различных типов данных (изображение, текст, речь, числовые данные) для предоставления более точной и правдивой информации - это отличие звучит не так четко. Действительно, ИИ по-прежнему не обладает возможностью обучения по столь широкому спектру направлений, как человек. Но, например, мультимодальная нейросеть Gato Исп. Кошка способна выполнять 604 типа задач, включая создание описаний к изображениям, ведение диалога, укладку блоков с помощью роборуки, игру в аркадные игры, выполняя при этом более половины из перечисленных задач лучше среднего человека [14].

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

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

"Революционный поворот в понимании того, что индивидуальным может быть только мозг, а разум - исключительно коллективный феномен, кардинально изменит траекторию исследований общего (сильного) искусственного интеллекта. Его исследователям предстоит найти новые, принципиально иные архитектуры и алгоритмы, ориентированные уже не только на нейронные, а на социокогнитивные гиперсети" [15].

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

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

Подобное деление помогает терминологически разделить два разных понятия и раскрыть одну из основных причин отсутствия консенсуса в определении ИИ. Действительно, часть специалистов (в большей степени гуманитарии) склонны воспринимать термин ИИ как сильный ИИ, как интеллектуальную машину, наделенную свойствами сознания, осознания, мышления, чувственного восприятия действительности, волеизъявления. Другая часть сообщества, занятая разработкой технологий ИИ и различного рода приложений на его основе, привыкла называть искусственным интеллектом именно то, с чем они имеют дело (то есть со слабым ИИ). И в этой связи понимание под термином ИИ-решений, относящихся к категории "слабый ИИ", не вызывают у них отторжения Несмотря на то, что "сильный ИИ" и "слабый ИИ" существенно утоняют понятие, люди в основном пользуются термином ИИ, предполагая, что в зависимости от контекста понятно, о чем идет речь .

При том, что мы отметили достоинство деления на сильный и слабый ИИ, подобный подход имеет и некоторые ограничения: в частности, мы не можем в рамках этой терминологии отразить процесс "усиления" (развития) слабого ИИ. Очевидно, что те решения, которые мы относим к категории слабого ИИ, совершенствуются, становятся более интеллектуальными, однако до тех пор, пока ИИ не сравняется по возможностям с человеческим, он будет оставаться слабым по определению. В этом случае исследователи, занятые построением сильного ИИ, на всех промежуточных стадиях в рамках описанной терминологии будут получать решения, относящиеся к категории "слабый ИИ".

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

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

Одним ученым мысль о том, что когда-то машины достигнут уровня интеллекта человека, кажется утопией Исследования 3-х университетов США, проведенные в 2022 г., - было опрошено 480 специалистов, у которых было как минимум 2 публикацииACL(Ассоциация компьютерной лингвистики). Среди прочих на вопрос, есть ли за последние годы хоть какое-то продвижение к AGI, 57% - ответили утвердительно, 43% - нет [17], другие уверены в наступлении часа "х", когда интеллекты человека и машины сравняются, и даже называют примерные даты события, начиная с которого машины станут умнее человека во всех отношениях. Например, Рэймонд Курцвейл называл 2045 год как наиболее вероятную дату появления суперинтеллекта [18].

Прогнозы перехода к стадии сверхразума можно найти также в работах Ника Бострома, который предрекает резкое ускорение роста возможностей ИИ после достижения уровня человека ( рис. 1.3.).

Вопрос о достижимости сильного интеллекта остается открытым. Впрочем, человечеству известно множество утверждений о невозможности той или иной технологической новации. Когда-то философы вроде Дрейфуса утверждали, что "компьютеры никогда не смогут играть в шахматы" (Dreyfus, 1972).

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

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

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

Комментируя причины наличия противоречий в толковании термина ИИ, следует также отметить, что их можно обнаружить в психологии человека - давно замечено, что люди склонны отрицать наличие интеллекта в поведении машин, после того как узнают, как именно реализован механизм "интеллектуальности" принятия ими решения.

Эту тенденцию можно проследить на рис. 1.4, где показаны четыре группы технологий искусственного интеллекта от зрелых разработок (давно освоенных массовым пользователем) до перспективных.

Действительно, такие задачи как оптическое распознавание символов, фильтрация спама, контроль дефектов на производстве все меньше ассоциируются с искусственным интеллектом, в то время как перспективные разработки на более ранней стадии исследования, такие как автоматическая разработка ПО или персональные роботы, в большей степени могут претендовать в массовом сознании на роль примеров искусственного интеллекта.

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

В подтверждение тезиса можно привести курьезный диалог, известный со времен создания пионерских ИИ-программ, в котором у эксперта спрашивают, интеллектуальна ли машина, которая может прочитывать газету и делать "выжимку событий", предлагая вниманию читателя лишь наиболее важные тезисы. После положительного ответа эксперта ему предлагается вновь ответить на тот же вопрос, объяснив ему, что программа всего лишь выбирает из текста заголовки, выделенные жирным шрифтом… Эта шуточная история отражает склонность человека отождествлять понятие искусственного интеллекта со способностями, выходящими за рамки уже известных алгоритмов.

Из рассмотренного примера следует еще одна дилемма: что мы считаем критерием интеллектуальности машины - ее способности выполнить поставленную задачу или то, как реализован механизм решения этой задачи?

Отметим также, что дать определение ИИ, который создается как подобие интеллекта естественного, весьма непросто, не зная полной картины механизмов работы, точной локализации последнего и даже не имея однозначного определения самого термина "интеллект человека".Сложность достижения консенсуса в определении ИИ в том числе объясняется отсутствием такового в трактовке понятия "интеллект человека". Действительно, можно найти массу различных трактовок понятия "интеллект человека". Авторы исследования [20] признаются, что "…похоже, существует почти столько же определений интеллекта, сколько и экспертов, которых попросили дать этому термину определение". Так, согласно трактовке толкового словаря русского языка под редакцией Д.Н. Ушакова, "интеллект - это ум, рассудок, мыслительная способность человека (в противоположность воле и чувствам)". А согласно определению AllWords Dictionary, 2006, это "способность использовать память, знания, опыт, понимание, рассуждения, воображение и суждения для решения проблем и адаптации к новым ситуациям". По данным американского словаря The American Heritage Dictionary 2000 г. - это способность приобретать и применять знания.

Один из специалистов в области ИИ - генеральный директор Deep learning partnership - в своем докладе "Towards a general theory of intelligence", сравнивая интеллект искусственный и живой, предлагает отталкиваться от толкования интеллекта человека как совокупности разных его способностей ( рис. 1.5) и проанализировать, какие из них доступны машине и в какой мере.

В таблице 1.2 представлена оценочная характеристика возможностей ИИ на момент публикации (2019 г.) по тому, насколько ИИ приблизился к интеллекту человека по разным параметрам.

Оценка возможностей ИИ в сравнении с интеллектом человека Отметим, что в данной таблице не идет речь про способности, которые у компьютера развиты лучше, чем у человека, при том что такие способности, несомненно, есть - например, вычислительные
1 Логико-математические способности 50%
2 Лингвистические способности 50%
3 Способность восприятия пространства 50%
4 Музыкальные способности 50%
5 Телесно-кинестетические 30%
6 Способность к межличностным отношениям 10%
7 Способность воспринимать природу 10%
8 Интрапсихические способности Интрапсихический - (интра + греч. psyche - душа) - внутрипсихический, возникающий внутри психики 5%
9 Эк0%

Отметим, что если на рис. 1.5 речь идет о способностях некоего усредненного человека, то в случае табл. 1.2 подразумеваются совокупные способности созданных на сегодняшний день машин, а не свойства конкретного ИИ. Это очевидно, как минимум, в силу того, что пока человеком не реализовано ни одного проекта, в котором созданный ИИ обладал бы одновременно всеми из перечисленных способностей, указанных в таблице 1.2.

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

Заметим, что способности среднестатистического человека или способности человека, когда мы говорим о человеке (как о "человечестве"), выступающем в качестве автора всех достижений творческой мысли, будут существенно отличаться.

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

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

Резюмируя вышеописанные подходы к трактовке ИИ, представим их в виде диаграммы (рис. 1.6).

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

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

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

Проанализировать причины множественности определений и понять наполнение термина позволяет классификация определений. Рассмотрим одну из таких классификаций, впервые предложенную Стюартом Расселом и Питером Норвигом [22]. Авторы отмечают, что различные определения искусственного интеллекта опираются на одну из четырех способностей: действовать, как человек, думать, как человек, думать рационально и действовать рационально. Примеры определений в каждой категории приведены в табл. 1.3.

Трактовки в верхней части таблицы связаны с мыслительным процессом, в нижней - с поведением, левая часть исходит из сравнения с человеком, правая - из принципов рациональности. Каждое из четырех направлений задает свою область исследований.

Классификация определений ИИ по Стюарту Расселу и Питеру Норвигу
Как человек Рационально
Думать
  • "Автоматизация" действий, которые мы ассоциируем с человеческим мышлением, т. е. таких действий, как принятие решений, решение задач, обучение (Bellman 1978)
  • Направление работ по созданию компьютеров, способных думать, машин, обладающих мозгом, в полном и буквальном смысле этого слова (Haugeland,1985)
  • Изучение способностей и мыслительного процесса с помощью вычислительных моделей (Charniak, McDermott, 1985)
  • Исследование вычислительных систем, которые делают их способными к восприятию, рассуждению и действию (Winston, 1992)
  • Действовать
  • Искусство создания машин, выполняющих функции, которые требуют интеллекта, если бы их выполняли люди. (Курцвейл, 1990)
  • Исследование того, как сделать компьютеры способными выполнять то, что на данный момент лучше получается у человека (Rich, Knight, 1991)
  • Область исследований, направленная на разъяснение и эмуляцию разумного поведения в терминах вычислительных процессов (SchaIkoff, 1990)
  • Ветвь компьютерной науки, касающаяся автоматизации разумного поведения. (Luger, Stubblefield, 1993)
  • Определение ИИ, отталкивающееся от критерия "способности думать, как человек", задает направление, в рамках которого ученые пытаются построить ИИ, изучая структуру и механизмы работы человеческого мозга, анализируя мыслительный процесс человека.

    Критерий "способность действовать как человек", по сути, стал основой теста Тьюринга Тест, в котором человек взаимодействует с компьютером и человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы - ввести человека в заблуждение, заставив сделать неверный выбор и ему подобных, основной принцип которых можно выразить фразой "чтобы считаться интеллектуальной, программа должна продемонстрировать поведение неотличимое от действий человека".

    Определение, берущее за основу способность "думать рационально", соответствует направлению, связанному с созданием компьютерных программ, которые могли бы рассуждать логически. А определение, исходящее из декларирования способности машин "действовать рационально", предполагает возможность создания интеллектуальных агентов, способных оптимально достигать (при заданных ограничениях) поставленной цели (например, бизнес-цели).

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

    Классификацию систем ИИ по степени автономности и адаптивности можно найти в отчете компании PWC (табл. 1.4). Подход предлагает три вида ИИ по степени автономности и адаптивности и отделяет понятие ИИ от понятия "автоматизация".

    Классификация систем ИИ по степени адаптивности и автономности. Источник: PWC [23]
    Человек в контуре управления Без человека в контуре управления
    Система с жесткой программой

    Ассистирующий ИИ

    Системы искусственного интеллекта, которые помогают человеку принимать решения или совершать действия.

    Автоматизация

    Автоматизация ручных и когнитивных задач, как рутинных, так и нерутинных, не предполагающая новых способов выполнения задач, а автоматизирующая существующие.

    Адаптивная система

    Дополняющий ИИ

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

    Автономный ИИ

    Системы ИИ, которые могут адаптироваться к различным ситуациям и действовать автономно без помощи человека.

    Вопрос автономности ИИ тесно связан с вопросом необходимости контроля над работой искусственного интеллекта и определением допустимых рисков при делегировании тех или иных задач системам ИИ. В этой связи классификация ИИ-систем по степени автономности и необходимости контроля за последними представляет определенный интерес Подобную классификацию можно найти в курсе Н. Бостром. Искусственный интеллект: Искусственный интеллект типа "Оракул" понимает лишь вопросы, на которые существуют однозначные ответы типа "да" и "нет". "Монарх" получает мандат на любые действия. "Джинн" получает команду, выполняет ее и ждет следующей команды. Наконец, "инструмент" подобно программному обеспечению делает лишь то, для чего предназначен. - Примечание научного редактора .

    Ограничение автономности ряда интеллектуальных машин объясняется тем, что полностью автономные машины могут совершить непоправимую ошибку. И чем серьезнее возможные последствия этой ошибки, тем в большей степени человек стремится оставить за собой контроль за принятием решения (рис. 1.7).

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

    Говоря о развитии систем ИИ и пользуясь обозначениями рис. 1.7, можно сказать, что зона, где "человек дополняет машину", продолжит расти, а зона, где "машина дополняет человека", продолжит сокращение, что в известной мере можно назвать процессом постепенного вытеснения человека из области систем решения интеллектуальных задач и принятия решений.

    Системы ИИ могут быть реализованы в виде сложных человекообразных роботов, таких как, например, в проекте ATLAS компании Boston Dynamics, однако это весьма узкое направление. Существует огромное количество ИИ-решений для реализации практических задач (увеличения производительности труда, повышения качества и степени кастомизации разного рода продуктов и услуг и т. п.). Поэтому внедрение ИИ выступает скорее в виде многогранного процесса интеллектуализации искусственной среды, окружающей человека, которая становится все более связанной, более интеллектуальной, более удобной для человека с точки зрения концепции "удобства функционирования человека" в том или ином обществе на определенный момент его развития.

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

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

    Очевидно, что финальная часть схемы рис. 1.8 - это картина будущего, которая осуществима лишь при приближении к концепции сильного ИИ. Здесь кроется еще одно противоречие во взглядах на цели и перспективы развития ИИ. Ученые, которые нацелены на построение сильного ИИ, говорят о необходимости поиска новых подходов в построении ИИ, отмечая, что экстенсивный путь развития слабого (узкого) ИИ является боковым, если не тупиковым путем развития направления. При этом процент ученых, занятых в проектах построения сильного ИИ, существенно уступает по численности группам разработчиков, занятых масштабированием и внедрением существующих ИИ-технологий во все новые решения в самых разных отраслях экономики. Поэтому можно сказать, что цель построения сильного интеллекта, как явления, оправдывающего изначальное понятие термина ИИ, в большинстве проектов заменяется более очевидной целью - максимальной коммерциализации узкого ИИ.

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

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

    Многие специалисты сходятся во мнении, что ИИ - это локомотив последней волны конвергенции наиболее сложных взаимодополняющих технологий DARQ DARQ - это аббревиатура, обозначающая четыре технологии: Distributed ledger technology (технологии распределенного реестра), Artificial intelligence (искусственного интеллекта), Extended reality (расширенной реальности) и Quantum computing (квантовых вычислений) (рис. 1.10), которые ведут человечество в цифровой мир [25].

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

    Мы отразили разные акценты и разные подходы в трактовке термина ИИ.

    Сложность однозначного определения понятия ИИ и путей его развития порождает проблемы в определении производных терминов, таких как "ИИ-решение", "ИИ-проект", "ИИ-компания", "ИИ-рынок". Что в свою очередь приводит к трудностям при попытках рейтингования ИИ-проектов, ИИ-компаний и, что особенно важно, при количественной оценке рынка искусственного интеллекта в силу того, что разные авторы включают в ИИ-проект разный набор технологий и сервисов.

    Комментируя вопрос, почему нет общепринятой трактовки границ ИИ-проекта, приведем аналогию - попытаемся ответить на вопрос, где локализован интеллект человека и как выделить систему его формирующую. Наиболее частый ответ - это область неокортекса Новая кора - новые области коры головного мозга, которые у низших млекопитающих только намечены, а у человека составляют основную часть коры , которая ответственна за интеллектуальную деятельность человека, более широкий взгляд на проблему приводит к мысли, что другие, более древние части мозга нельзя отбросить, говоря о работе интеллекта. Далее становится очевидно, что в рассматриваемую систему необходимо включить зрение как "часть мозга, вынесенную на периферию", вслед приходится вспомнить про органы слуха, рецепторы вкуса, которые доносят информацию в мозг, без которой невозможно формирование представлений о внешнем мире - основы интеллекта. Добавив к сенсорам тактильные ощущения, приходим к выводу, что рассмотрение интеллекта невозможно в отрыве от тела человека. А признав, что интеллект - это продукт общения человека в социуме, приходится еще больше расширить область его формирования. В случае с искусственным интеллектом границы явления еще более размыты. Какая часть интеллектуальной машины является искусственным интеллектом? Является ли процессор, который участвует в процессе вычислений, частью ИИ? А сервер? А если речь идет об облаке, в котором производятся вычисления? Эти вопросы, которые на первый взгляд кажутся второстепенными, становятся весьма актуальными, когда мы пытаемся определить, а потом оценить количественно такие понятия как рынок ИИ. К рассмотрению этих вопросов мы вернемся в лекции 2.

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

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

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

    После обзора проблем в определении термина ИИ было бы неверным не привести определение, которое нам кажется менее противоречивым.

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

    Для того чтобы дополнить и развить понятие термина ИИ, перейдем к анализу эволюции Тут и далее слово "эволюция" (связанное с понятием естественного отбора) подразумевает просто развитие в историческом контексте технологии ИИ, что позволит лучше разобраться в сущности и структуре данного явления.

    Эволюция и классификация систем ИИ

    Существуют десятки попыток отобразить эволюцию ИИ в виде диаграмм или так называемых лент времени (timelines) - от простейших [27] до весьма подробных [28, 29, 30] с демонстрацией научных, технологических и финансовых событий, отражающих логику развития ИИ. Подчас обилие полезной информации в этих таймлайнах входит в противоречие с их наглядностью и простотой. Мы постараемся выстроить траекторию изложения материала так, чтобы постепенно вводить новые термины, начав с простых диаграмм, чтобы не вызвать у читателя отторжения в отношении схем с обилием не описанных ранее терминов.

    Упрощенные схемы эволюции ИИ - наглядно, но не точно

    Начнем рассказ о развитии систем искусственного интеллекта с самой простой ленты времени, которая отражает основные периоды развития и коммерциализации технологий ИИ (рис. 1.12).

    Как видно из рис.1.12, примерно до середины 70-х годов прошлого столетия ИИ развивался как научное направление и практически не имел коммерческих внедрений при достаточно активном финансировании в первую очередь со стороны военных ведомств США, с середины 70-х начинается стадия военного и коммерческого применения и примерно с конца 90-х массовое коммерческое использование ИИ в форме различного рода корпоративных и пользовательских приложений, при этом военные разработки на этой стадии, естественно, продолжились.

    Развитие технологий искусственного интеллекта шло весьма неравномерно. Часто говорят о трех волнах развития ИИ: первая связана со становлением ИИ как нового научного направления и первыми его успехами, в том числе в машинном обучении, вторая - с успехами экспертных систем и третья - с массовым применением технологии глубокого обучения (Deep Learning) и приложений на его основе. Обо всех этих направлениях пойдет речь в данной лекции.

    Принято считать, что первый всплеск интереса к ИИ пришелся на период начиная с середины пятидесятых и примерно до конца семидесятых годов. В это время появились многообещающие эксперименты и первые приложения на основе нового научного направления: достигнуты первые успехи по распознаванию образов на базе искусственных нейронных сетей, разработаны программы для игры в шашки и шахматы, предприняты попытки создания первых переводчиков. Кстати, термин "Искусственный интеллект" был введен разработчиком языка программирования LISP LISP - язык программирования общего назначения, изначально ориентированный на работу с символьными данными. Все языки программирования того времени делали упор на вычисления, поэтому LISP (а впоследствии Prolog) идеально подходил для реализации символьных систем искусственного интеллекта Джоном МакКарти в 1956 г. В этом году Джон Маккарти организовал знаменитую конференцию в Дартмутском колледже для обсуждения способов программирования компьютеров таким образом, чтобы добиться их интеллектуального поведения. Именно на этой конференции был впервые использован термин "Искусственный интеллект". Считается, что данная конференция положила начало новому профессиональному сообществу со своими научными целями и предметом исследований. 60-е годы называют золотыми годами развития ИИ. Это был период энтузиазма, связанного с появлением нового научного направления, который был подкреплен активным финансированием со стороны недавно организованного агентства DARPA. В эти годы был реализован целый ряд пионерских проектов, которые упоминаются во многочисленных публикациях по истории развития ИИ. Например, в 1964 году был реализован проект Eliza - чат-бот, разработанный в Массачусетском технологическом институте, в 1966 году был создан мобильный робот общего назначения SHAKEY. На новое направление возлагались большие надежды, специалистам казалось, что через 5-10 лет удастся создать машину с интеллектом среднего человека (задача, которую так и не удалось решить до настоящего времени). Ожидания первопроходцев были сверхамбициозными. Однако, учитывая сложность задач и тот факт, что аппаратно-вычислительная база того времени была крайне ограничена, вполне естественно, что разработчики столкнулись с принципиальными трудностями. К семидесятым годам стало очевидно, что радужные ожидания не оправдались, инвесторы были разочарованы скромными результатами, и в середине 1970-х годов наступила так называемая первая зима ИИ - период охлаждения к теме ИИ и сокращение финансирования 1971-1975: разочарование DARPA исследовательской программой по распознаванию речи в Университете Карнеги - Меллона; 1973-1974: сокращение расходов DARPA на академические исследования по искусственному интеллекту в целом .

    Второй взлет интереса к ИИ произошел на волне развития экспертных систем, о которых более подробно будет рассказано далее в этой лекции. У экспертных систем оказались свои ограничения, и, как показано на рисунке 1.12, на период 1987-1993 пришлась вторая зима ИИ.

    Третий взлет произошел на базе массового внедрения технологии глубоких нейронных сетей (глубокого обучения), который существенно продвинул многие прикладные решения, включая компьютерное зрение, обработку естественного языка и другие направления.

    Развитие глубокого обучения стало возможным благодаря совершенствованию технологий ИИ, опыта их применения, увеличению вычислительных ресурсов, оптимизированных под задачи ИИ По сути, под задачу умножения матрицы на вектор, которая является основной при вычислении нейронных сетей. - Примечание научного редактора и росту объемов, доступных для обучения данных.

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

    По аналогии с тремя волнами повышенного интереса к ИИ условно выделяют и три периода в его развитии ИИ Следует уточнить, что данные периоды не совпадают по времени с периодами, когда наблюдались зимы искусственного интеллекта. - Примечание научного редактора (рис. 1.13).

    Это период до 80-х годов, ознаменованный оформлением ИИ в новое направление и его становление как профессионального сообщества, второй с 80-х по 90-е - как период, связанный с бурным развитием машинного обучения ( ML Мы будем использовать сокращение ML - Machine Learning (Машинное обучение) ), и третий - с 2010 года по настоящее время как этап, связанный с глубоким обучением. Все три периода сопровождались ростом вычислительных возможностей оборудования, который позволял решать все более сложные задачи ИИ.

    Мы выделили три взлета в развитии ИИ, три условных периода, заметим, что самая частая схема представления структуры ИИ также отображается в виде совокупности все тех же множеств (см. рис. 1.14).

    Здесь искусственный интеллект - это базовое понятие, которое мы обсуждаем на протяжении всего курса, машинное обучение - его подмножество (решает задачи создания алгоритмов, способных обучаться на данных в отличие от явного программирования задачи). Глубокое обучение и нейросети - один из видов машинного обучения, получивший массовое применение. О разных направлениях машинного обучения речь пойдет далее в данной лекции.

    Представленная выше схема получила массовое цитирование [32, 33], однако, как любая высокоуровневая схема, она не раскрывает подробностей, вынужденно упрощает реальную картину и может ввести в заблуждение по поводу деталей. Например, известно, что первая модель искусственного нейрона появилась в 1943 году, а первые попытки создания нейронных сетей были предприняты в 50-е - 60-е годы. Персептрон Персептрон (перцептрон) - математическая или компьютерная модель восприятия информации мозгом, предложенная Фрэнком Розенблаттом и впервые реализованная в виде электронной машины "Марк-1" в 1960 году , предложенный американским нейрофизиологом Фрэнком Розенблаттом, имел возможность обучаться, и это было самое настоящее машинное обучение (задолго до периода, соотнесенного с машинным обучением на популярном рисунке 1.13). То же самое и с глубоким обучением - многослойные нейронные сети появились задолго до отмеченного на рисунке 2010 года.

    Почему же этап машинного обучения обозначен лишь в восьмидесятые годы, а глубокое обучение с 2010 года?

    Попробуем разобраться.

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

    Поэтому от рождения до того момента, когда технология доходит до уровня массового принятия (когда она определяет сущность этапа), может проходить длительное время. Именно так следует воспринимать начало этапов на рис.1.13.

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

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

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

    Отмеченную выше мысль (отличие машинного обучения от традиционного программирования) иллюстрирует рис. 1.15.

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

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

    Неслучайно появился слоган "От программ, написанных человеком, к программам, написанным другими программами".

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

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

    Увы, простота оставляет за скобками массу деталей. По мере рассмотрения этих деталей мы неизбежно придем к более сложным схемам, которые уже не укладываются в простые и наглядные высокоуровневые представления. Говоря о сложности построения единой схемы ИИ, уместно привести цитату Марвина Минского: "Инженерное и научное образование заставляет нас ожидать, что все, включая интеллект, имеет простое, компактное объяснение. Соответственно, когда новички в области ИИ спрашивают: "В чем суть ИИ?", - они, похоже, ожидают ответа, определяющего ИИ в терминах нескольких основных математических законов" [34].

    Множественность подходов создания ИИ

    Ранее мы обратили внимание читателя на неравномерный волно-образныйхарактерразвитиятехнологий ИИ. Еслипосмотретьразные источники, в поисках согласованного мнения, когда был взлет внимания к технологиям ИИ, а когда охлаждение, то обнаружим, что у разных авторов мнения несколько расходятся. Дело в том, что процесс развития ИИ не является однородным (опирающимся на одну технологию) - напротив, он эволюционировал в рамках разных направлений, разных научных школ. Поэтому в то время, как в развитии одних научных направлений был прорыв, другие имели локальные замедления. В многочисленных работах, посвященных этому вопросу, можно найти упоминания разного количества научных школ (направлений). Мы упомянем четыре и чуть подробнее остановимся на трех из них (коннекционизм, символизм На мой взгляд, "символизм" хоть и используется в ряде источников, не очень удачный термин, более предпочтительно использование термина "символьный подход". - Примечание научного редактора и эволюционизм) ( рис. 1.16).

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

    Символизм или символьный ИИ

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

    С помощью символов мы можем представлять окружающие нас предметы (машина, кошка, собака). Это могут быть не только перечисленные материальные объекты, но и абстрактные понятия (демократия, капитализм, транзакция). Символы могут быть организованы в иерархию (автомобиль состоит из дверей, окон, шин, сидений и т. д.). Символы могут использоваться для описания других символов (красное яблоко, тяжелый груз). Способность человека манипулировать символами существовала тысячи лет до появления термина "искусственный интеллект".

    С помощью символов могут быть построены логические конструкции (если Петя является сыном моей дочери, то, следовательно, Петя мой внук). Символьный искусственный интеллект также иногда именуют как "Rule based AI" - ИИ, основанный на правилах. В некоторых публикациях в качестве синонима понятия "символьный ИИ" используют сокращение GOFAI ("Good Old-Fashioned Artificial Intelligence" - "старый добрый искусственный интеллект"), по имени, которое использовал Джон Хоугеланд в своего курса "Искусственный интеллект: Основная идея".

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

    Приведем простой пример применения подходов символьного ИИ на практике: пусть некая скоринговая программа использует символьные переменные "пол", "возраст", "профессия" и т. п., которые могут принимать определенные значения. В программе заданы правила типа "Если профессия "программист", пол мужской, а возраст попадает в промежуток от 30 до 40 лет, то некоторая переменная, участвующая в определении кредитного рейтинга, примет такое-то значение". При этом очевидно, что логика, по которой оценивается кредитный рейтинг респондента в данном примере задана изначально, вычисляется она по определенным правилам, может быть явно прочитана человеком, а подобного рода вывод программы является объяснимым. Определив совокупность правил вышеуказанным способом и задавая на входе совокупность параметров, по которым мы оцениваем потенциальных клиентов, можно решать такие задачи, как оценка целесообразности выдачи кредита.

    Говорят, что символьный ИИ относится к объяснимым (или интерпретируемым) методам ИИ, поскольку позволяет рассуждать о том, каким образом получен достигнутый результат.

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

    Определив набор сущностей, выраженных в виде символов и отношений между ними, мы приходим к понятию " семантические Семантика - раздел лингвистики, изучающий смысловое значение единиц языка. В качестве инструмента изучения применяют семантический анализ сети" - сети, которые представляют собой направленный граф, вершины которого соответствуют объектам, а дуги (линии) - отношениям между ними.

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

    Примером семантической сети является граф, отражающий взаимодействия в семейной системе, где на основе указанных связей можно получить характер родственных отношений между всеми членами группы (рис. 1.18).

    Используя в качестве семантической сети (базы знаний) семейное дерево, то есть зная имена и родственные связи и следуя цепочке рассуждений типа "Если Анна мать Елены, а Елена мать Евгения, то Евгений - это внук Анны", система может генерировать ответы на вопросы о родственных отношениях всех участников системы.

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

    При этом отметим, что символьная система ИИ, по крайней мере в классическом ее понимании, не может обучаться сама, она опирается на базы знаний, которые явно закладываются в систему разработчиком.

    Эффективность такой системы зависит от объема и качества базы знаний. Если система получает запрос, по которому знания либо отсутствуют, либо ошибочны, система не сможет дать удовлетворительный ответ.

    Приведенный пример на рис. 1.18 ограничен набором людей, связанных заранее известными (родственными) отношениями, однако если попытаться построить граф взаимоотношений из случайного набора людей, задача окажется намного сложнее.

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

    В частности, символьный подход (наряду с другими методами) был использован в решении Deep Blue, победившем чемпиона по шахматам Каспарова в 1997 году.

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

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

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

    Пример дерева решений показан на рис. 1.19. Начиная с отправной точки "могу ли я начать писать статью", решения принимаются в зависимости от последовательности ответов на вопросы, каждый из которых зависит от результатов предыдущих ответов. Так двигаясь по той или иной ветке дерева, мы достигаем результата.

    Дерево решений - это простейший способ извлечения знаний из данных, существуют и другие. Такой подход изучается в рамках направления интеллектуального анализа данных (Data Mining) или "добычи знаний из баз данных" (Knowledge Discovery in Databases).

    В первую очередь символьный ИИ ассоциируется с экспертными системами и базами знаний.

    Экспертные системы были одними из первых действительно успешных форм программного обеспечения для ИИ. Экспертная система эмулирует способность человека-эксперта по принятию решений путем рассуждений на основе совокупности знаний, представленных в виде правил. Первые экспертные системы были созданы в 1970-х годах. К наиболее ранним примерам можно отнести программу MYCIN, которая была разработана в 1972 году и диагностировала инфекционные заболевания крови.

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

    Так же, как и MYCIN, PROSPECTOR вовлекает геолога в диалог, с тем чтобы, опираясь на его наблюдения в качестве источника исходных данных, выбрать модель и дать ответ на вопросы "Где бурить?" и "Где искать?". В 1984 г. система достаточно точно предсказала существование месторождения молибдена, оцененного в многомиллионную сумму.

    Широкое распространение экспертные системы получили в 1980-х годах. В 1980 году для корпорации Digital Equipment Сorp. была создана экспертная система под названием XCON, которая, по свидетельству разработчиков, экономила до 40 млн долларов ежегодно. С начала 1980-х годов корпорации по всему миру начали разрабатывать экспертные системы. Можно сказать, что выход из очередной зимы искусственного интеллекта в 1980-х годах произошел именно на волне разработок ИИ в форме экспертных систем. Основные элементы экспертной системы показаны на рис. 1.20.

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

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

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

    Данную идею наглядно иллюстрирует рис. 1.21.

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

    Понимание взаимосвязи между словами, отношений между сущностями позволяет улучшить качество поиска. Для решения данной задачи используются уже упомянутые нами графы знаний Графы знаний - сетевые структуры данных, представляющие знания о реальном мире. В узлах сети могут располагаться любые объекты (люди, компании, цифровые активы и т. д.), а связи между узлами соответствуют отношениям между узлами . По данным компании Google, она начала первой использовать графы знаний для реализации семантического поиска в 2012 году. В это время в компании появился лозунг "сущности и контекст, вместо строк ключевых слов", известный также в короткой его форме "сущности, а не строки". Граф знаний объединяет большой объем общедоступной информации о различных сущностях и их признаках, свойствах и связях между этими сущностями. В 2013 году в поисковой системе Google появился алгоритм Hummingbird (Колибри), который считается первым поисковым алгоритмом, в котором был реализован семантический поиск, направленный на решение задачи "страницы, соответствующие смыслу, должны быть в приоритете по сравнению со страницами, соответствующими лишь нескольким поисковым словам". По сути, это означает, что страницы, которые лучше соответствуют контексту и намерениям пользователя, должны ранжироваться выше, чем страницы, которые повторяют ключевые слова без контекста. Для поисковиков это было очень важно, учитывая, что появилось множество недобросовестных методов для поднятия рейтинга страниц путем накачки ключевых слов. В настоящее время графы знаний широко используются технологическими гигантами, которым необходим анализ огромных объемов неупорядоченных данных. Не только Google использует графы знаний. Facebook Facebook - проект Meta Platforms Inc., деятельность которой в России запрещена также использует данную форму организации информации, чтобы отслеживать сети людей и связи между ними, с учетом такой информации, как любимые фильмы и актеры, посещенные мероприятия и т. п.

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

    Можно сказать, что семантический поиск - это технология, которая использует модель графа знаний и позволяет системам искусственного интеллекта понимать значение сущностей и связей между ними, давая таким образом возможность увеличить точность поиска и степень его персонализации.

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

    Несмотря на то, что по массовости применения в решении современных задач ИИ символьный ИИ уступил позиции субсимвольным методам, тем не менее применение символьного ИИ существует и по сей день в современных экспертных системах, таких как, например, платформа ROSS [38], которая помогает юридическим фирмам в изучении судебных дел, в поисковых системах и других приложениях.

    Каждое из направлений ИИ имеет свои сильные и слабые стороны. Многогранность явления ИИ говорит о том, что не существует одного-единственного наилучшего способа для решения широкого спектра задач ИИ. Оптимальные решения могут быть достигнуты на базе комбинирования нескольких подходов. Например, разработки в области символьного ИИ лежат в истоках такого фундаментального направления в области ИИ как NLP (Natural Language Processing, обработка естественного языка), которое в последнее время активно развивается, опираясь на технологии глубокого обучения. Все чаще возникают проекты, в которых речь идет об интеграции символьных и субсимвольных подходов для обеспечения объяснимости ИИ-решений. Прежде чем привести примеры подобных решений, напомним читателю более подробно о сути коннекционистских подходов в создании ИИ.

    Коннекционизм

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

    Одним из центральных направлений коннекционизма является моделирование интеллекта с помощью искусственных нейронных сетей, состоящих из нейронов и синапсов (связей между нейронами). Механизм работы искусственных нейронов заимствован из живой природы. Последние были созданы в результате наблюдения за процессами, происходящими в мозге живых организмов. Заметим, что сам термин "нейрон", используемый в понятии "искусственные нейронные сети" (ИНС), был заимствован из биологии. Представление о том, что развитие и обучение человека базируется на свойствах нейронов мозга устанавливать связи, не ново, согласно данным [39] данная идея была высказана еще в 1932 г. психологом из Колумбийского университета (Нью-Йорк) Эдвардом Торндайком.

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

    Каждая нервная клетка состоит из трех частей: из тела, нескольких ветвистых отростков (дендритов) и протяженного нервного волокна (аксона), длина которого может составлять от нескольких миллиметров до десятков сантиметров (рис. 1.23).

    Нервные клетки взаимодействуют между собой в местах стыка (синапсах), где встречаются аксон пресинаптического нейрона и дендрит постсинаптического нейрона. Дендриты являются входными каналами для нервных импульсов, поступающих через аксоны от других нейронов. Эти импульсы могут либо возбуждать (увеличивать), либо подавлять (уменьшать) мембранный потенциал тела нейрона, который со временем возвращается к своему нормальному значению. Если количество возбуждающих импульсов превышает пороговое значение, то нейрон сам генерирует импульс.

    Взаимодействующие между собой посредством передачи возбуждений нейроны формируют нейронные сети.

    Как будет показано далее, ИНС используют некоторую аналогию с работой живых нервных клеток.

    Основополагающей работой, заложившей фундамент для создания искусственных моделей нейронов и нейронных сетей, явилась работа Уоррена С. Мак-Каллока и Вальтера Питтса "Логическое исчисление идей, относящихся к нервной активности", опубликованная в 1943 г., в которой была предложена модель формального нейрона. Однако прошло более 10 лет, прежде чем появился нейрон Розенблатта, в котором использовалось суммирование входящих сигналов, умноженных на соответствующие числовые значения (синаптические веса) - рис. 1.24.

    Несложно проследить сходство схемы, показанной на рис. 1.24, и рисунка 1.24. Модель, прообразом которой является биологический нейрон, представляет собой устройство, имеющее несколько входов (синапсы) и один выход (аксон).

    На вход подаются сигналы x1, х2\dots хn. Каждому входу ставится в соответствие некоторый весовой коэффициент w1, w2\dots wn.

    Попадая в нейрон, сигналы умножаются на соответствующие веса и складываются между собой (x1*w1+ x2*w2+ \dots + xn*wn - линейное преобразование). Сложение сигналов, поступающих по синаптическим связям, осуществляется в сумматоре (рис. 1.24).

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

    В рассмотренной модели использовалась пороговая функция активации (ступенчатая функция), которая показана на рис. 1.25 (а). Если суммарный сигнал превышает заданный порог активации, то нейрон возбуждается (активируется) и выдает на выходе 1, иначе выдается 0.

    Определенным недостатком (ограниченной гибкостью) модели Уоррена Мак-Каллока являлся именно вид переходной функции (пороговый) - если значение вычисленного суммарного сигнала даже незначительно не достигает заданного порога, то выходной сигнал не формируется.

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

    Впоследствии были реализованы модели нейрона с различными функциями активации. В частности, наиболее широкое использование получила сигмоида - гладкая монотонно возрастающая нелинейная функция, которая ограничена двумя горизонтальными асимптотами, что обеспечивает нормализацию выходного значения нейрона (рис. 1.25 б ) в диапазоне от 0 до 1.

    По сути, нейрон представляет собой элементарный вычислитель, характеризующийся входным/ выходным состоянием и функцией активации.

    На основе элементарных вычислителей, каждый из которых получает сигналы и посылает другим вычислителям, составляются ИНС разной топологии. Самая простая однослойная сеть показана на рис. 1.26.

    Здесь сигналы от входного слоя сразу подаются на выходной слой по связям, каждой из которых устанавливается свой весовой коэффициент.

    С помощью подобной сети можно построить работу простейших автоматов. Например, на рис. 1.27 показан автомат (гусеничный робот с тремя датчиками света), реагирующий на положение источника света.

    Входные ячейки (фотоэлектрические датчики) реагируют на свет, посылают сигналы на выходные ячейки (нейроны), которые подают сигнал на управление гусеницами робота. Обучить такой автомат разным вариантам движения в зависимости от положения света можно задав весовые коэффициенты, определяющие силу связи между ячейками. В рассмотренном примере задача по обучению робота состояла в необходимости обеспечения движения такой машины за источником света. Для этого были подобраны веса, определяющие силу связи (от 0,45 до 0,99), как показано на рисунке. Еслиположение источника света находится спереди слева от автомата, то активируется вращение правой гусеницы, и наоборот. Несложно представить, что подобная машина будет двигаться за источником света.

    Мы рассмотрели простейшую однослойную сеть. Больший интерес представляют многослойные сети. На рис. 1.28 показана многослойная сеть, где каждый нейрон одного слоя посылает сигнал каждому нейрону другого слоя. Данная сеть - это сеть прямого распространения, то есть сеть, в которой сигнал распространяется от входного слоя к выходному в одном направлении Сети, в которых выход нейрона может вновь подаваться на его вход, называются сетями с обратными связями или рекуррентными сетями, о таких сетях речь пойдет далее в этой лекции .

    В показанной на рис. 1.28 сети пять слоев - один входной, три скрытых (промежуточных) и один выходной. Чем больше количество слоев, тем глубже сеть, поэтому и появился термин "глубокое обучение". Формально при наличии больше одного скрытого слоя уже принято говорить о глубоких нейронных сетях [41], сети с одним скрытым слоем называют неглубокими (shallow).

    Далее поговорим об обучении нейронных сетей. В процессе обучения на вход подается вектор признаков ( рис.1.28), описывающий объект (массив значений), число элементов которого равно числу входных нейронов, на внутренних слоях происходит обработка сигналов, сеть преобразовывает сигнал в выходной слой.

    Для того чтобы более наглядно объяснить, как происходит процесс обучения, рассмотрим конкретную задачу распознавания рукописных символов (рис. 1.29).

    Как показано на рисунке, изображение рукописного символа (в данном случае цифры 4) разбивается на пикселы, представляется в виде вектора чисел и подается на вход сети.

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

    Если необходимо, чтобы сеть классифицировала все многочисленные варианты рукописного написания цифр (например, четверки, показанной на рисунке как числа "4"), то задача состоит в том, чтобы научить сеть способности обобщать признаки на различных входных данных.

    Для этого сети нужно продемонстрировать максимально полный набор вариантов написания цифры разными способами, чтобы она "поняла", какая совокупность признаков позволяет людям относить все разные начертания к одному классу изображений (цифре четыре). Для решения подобной задачи создаются обучающие выборки - данные, по которым обучается сеть. Обучение производится на многочисленных примерах размеченных данных, то есть на базе изображений, в каждом из которых отмечен правильный результат. Подобное обучение называют обучением с учителем или контролируемым обучением. Этот процесс похож на обучение ребенка. Ученику показывают изображение цифры в курсе или написав ее на доске, сообщая при этом правильный ответ. А потом тестируют ученика на знание предмета. Похожая процедура проводится с сетью. Сеть обучают на большом числе примеров по многочисленным вариантам написания каждой цифры, в результате чего подбираются весовые коэффициенты всех связей нейронов, и сеть в результате этой операции приобретает способность распознавать те изображения рукописных цифр, которые ей ранее не были продемонстрированы. После того, как сеть обучена, качество полученной модели проверяют на тестовой выборке. Если тест пройден - модель готова.

    На рис. 1.29 условно мы показали процесс распознавания рукописной цифры 4. Затемненные кружки на рисунке отражают процесс возбуждения (активаций) нейронов, приводящих к получению ответа на выходном слое. Темным цветом показана искомая цифра, а светло-серым в выходном слое обозначены нейроны, соответствующие цифрам 1 и 7, что отражает тот факт, что написание этих цифр имеет некоторые схожие признаки с цифрой "4".

    Жизненный цикл нейронной сети, как и любой модели машинного обучения, состоит из двух этапов: обучение (training) и применение (inference). На рис. 1.30 показаны периоды обучения сети: 1 иллюстрирует сеть определенной топологии до начала обучения, 2 показывает процесс обучения. Речь идет о задаче, в которой сеть должна обучиться относить изображения к одному из двух классов - "кошка" и "собака". По аналогии с предыдущим примером, где речь шла о необходимости продемонстрировать сети все варианты написания цифр, в данном случае сети необходимо продемонстрировать все варианты расположения, все ракурсы, все варианты освещения изображений обоих животных, чтобы сеть могла вычленить общие признаки для распознавания каждого из двух классов на фото. По мере того, как в сеть подаются размеченные изображения (про каждое известно, что там показано - кошка или собака), идет процесс обучения, который состоит в том, чтобы так подобрать весовые коэффициенты, чтобы сеть правильно относила каждое изображение к одному из двух классов. На рисунке на стадии обучения нейроны показаны разных размеров, что условно означает процесс нахождения весовых коэффициентов, которые определяют разную силу связи между соседними нейронами (то есть вес отдельных нейронов). На рис. 1.30 (3-4) условно показан процесс оптимизации сети по производительности: производится удаление избыточных связей в сети - связей, которые определяются малыми весами.

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

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

    Обученная и оптимизированная модель передается в систему, где происходит ее применение - сеть распознает новые изображения. Заметим, что обучение сети может являться довольно длительным процессом, а вычисление результатов обученной сетью модели происходит достаточно быстро. Готовая для использования модель может быть размещена в облаке в некотором ЦОДе, локально у заказчика или на периферийном устройстве. В случае периферийного устройства небольшой мощности может быть особенно актуальна стадия оптимизации модели по производительности, о которой мы упомянули ранее.

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

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

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

    Обучение нейросети происходит в два этапа - прямого распространения сигнала по сети, после которого вычисляется ошибка предсказания, и распространения ошибки по сети в обратную сторону по тем же самым связям, при котором веса связей сети корректируются таким образом, чтобы повысить успешность решения сетью задачи (уменьшить ошибку). Процесс повторяется до тех пор, пока не будет достигнут желаемый результат.

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

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

    Символизм и коннекционизм - конкуренция и интеграция

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

    Сравнивая упомянутые направления, уместно напомнить понятия "нисходящий" и "восходящий" как два подхода к созданию ИИ. Символьный подход относят к нисходящему (его также иногда называют подход "сверху вниз"), а коннекционистский - к восходящему (или к подходу "снизу вверх").

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

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

    Использование вышеописанных подходов можно проиллюстрировать на разных вариантах построения программы распознавания символов - например, символы можно распознавать на основе описания начертания той или иной буквы, в виде определения совокупности правил: "если буква состоит из трех отрезков, двух длинных и одного короткого, которые расположены таким-то образом, то следовательно - это буква А". Это символьный или нисходящий подход. В восходящем подходе речь может идти об обучении нейронной сети путем представления ей изображений большой совокупности букв "А", написанных разными способами, так что сеть сможет вычленить общие признаки для всех вариантов написания буквы и начать ее распознавать.

    Исторически символьный подход был первым направлением, на базе которого удалось создать коммерчески успешные системы искусственного интеллекта. Он господствовал примерно с 1950-х по 1980-е годы.

    Нисходящие системы плохо справляются с решением задач, включающих большое количество слабых видов взаимодействий, как, например, в системах распознавания образов. Этим объясняется растущее стремление найти альтернативный, более гибкий подход - что стимулировало обращение к коннекционистским моделям.

    Для обучения ИНС требуют больших вычислительных ресурсов и памяти, которые было невозможно удовлетворить в период расцвета символьных методов. Позднее, когда появились более производительные компьютеры, исследования коннекционистских сетей "подход снизу вверх" показали значительные перспективы сначала в области распознавания образов, а позднее и во многих других областях. Общая тенденция выразилась в том, что по мере роста вычислительных возможностей коннекционистские методы в существенной мере потеснили символьные.

    Этот процесс наглядно иллюстрирует рис. 1.32, на котором показано соотношение числа цитируемых публикаций, принадлежащих к категориям "Коннекционизм" и "Символизм". Корпус статей "Коннекционизм" включал более 100 тысяч публикаций, собранных на "Web of Science", а корпус "Символизм" - примерно 65 тысяч публикаций, собранных по профильным ключевым словам.

    На рис. 1.32 отмечен 1943 год, в котором, как мы упомянули, появилась модель МакКаллока-Питтса.

    Согласно данным Британики [45], первая нейронная сеть появилась в 1954 году, она была разработана Белмонтом Фарли и Уэсли Кларком из Массачусетского технологического института. Сеть была ограничена 128 нейронами и позволяла распознавать простые шаблоны.

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

    Среди первых применений можно упомянуть использование сети для принятия инвестиционных решений, распознавания рукописных цифр и определение по внешнему виду некоторых видов вооружений на изображениях.

    В 1958 году Розенблатт построил электронное устройство, которое должно было имитировать процессы человеческого восприятия, получившее название "Перцептрон". Проект базировался на развитии идей МакКаллока и Питтса. Перцептрон должен был передавать сигналы от устройства на базе фотоэлементов в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов.

    Два года спустя (в 1960 году) в Корнеллском университете был продемонстрирован первый нейрокомпьютер - "Марк-1", который был способен распознавать некоторые буквы английского алфавита. В современной терминологии перцептроны могут быть классифицированы как искусственные нейронные сети с одним скрытым слоем, с пороговой передаточной функцией и с прямым распространением сигнала.

    В это же время шло развитие технологий в области символьного ИИ. В частности, на рис. 1.32 отмечен 1965 год - это год, в котором британский философ и логик Джон Алан Робинсон сформулировал правило резолюций - правило вывода, восходящее к методу доказательства теорем через поиск противоречий. Работы ученого были решающими в развитии языка логического программирования Пролог, оказавшего большое влияние на развитие символьного направления.

    Следующее событие, отмеченное на временной шкале рис. 1.32, это 1969 год - год, когда Марвин Минский и Сеймур Пейперт написали книгу под названием "Перцептроны", в которой были отмечены некоторые ограничения перцептронов, публикация способствовала смещению интереса исследователей искусственного интеллекта в область символьных вычислений.

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

    Однако в конце 1980-х и начале 1990-х годов индустрия ИИ испытала ряд финансовых неудач. На рис. 1.32 этот период обозначен как крах рынка LISP машин. В конце 80-х годов рынок специализированных аппаратных средств искусственного интеллекта испытал давление со стороны настольных компьютеров Apple и IBM, которые быстро набирали вычислительную мощность и вскоре сделали неэффективными более дорогие LISP-машины, что привело к закрытию целой индустрии.

    1986 г. отмечен как год появления алгоритма обратного распространения ошибки - популярного алгоритма обучения нейронных сетей, в существенной мере способствовавшего распространению нейросетевых технологий. Алгоритм часто связывают с именем Румельхарта, который внес существенный вклад в развитие метода Впервые метод был описан в 1974 г. А.И. Галушкиным, а также независимо и одновременно Полом Дж. Вербосом, далее существенно развит в 1986 г. Дэвидом И. Румельхартом, Дж. Е. Хинтоном .

    С середины 90-х годов нейронные сети привлекают все больший интерес сообщества разработчиков ИИ.

    Глубокие нейронные сети позволили получить ранее недостижимые результаты в задачах предсказания, однако они не дают объяснения человеку того, как именно был достигнут тот или иной результат (не являются интерпретируемыми), что ограничивает их применение особенно в таких приложениях, в которых принятие решения является критичным с точки зрения последствий при неверно принятом решении (например, постановка диагноза и выбор метода лечения).

    Если логика семантической сети изначально понятна человеку, то с нейронными сетями такую логику проследить невозможно, что демонстрирует рис. 1.33.

    Наличие недостатков и достоинств в нейросетевом и символьном подходах стимулировало исследователей к созданию гибридных решений. Гибридный подход, известный как нейросимвольный ИИ, сочетает в себе черты двух основных стратегий ИИ символьного и коннекционистского (рис. 1.34).

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

    Мы уже говорили, что там, где критичность принятия решения высока, необходимо решение, где человек контролирует ИИ. Те же соображения справедливы в отношении объяснимости ИИ там, где решение критично с точки зрения недопустимости ошибки, там требуется объяснение - как, на основании чего ИИ принял решение.

    Объяснимый искусственный интеллект, или XAI (сокращение от Explainable Artificial Intelligence), - одно из относительно молодых и быстро развивающихся направлений в области ИИ, о котором речь еще будет идти в данном курсе.

    Эволюционизм

    Эволюционизм можно определить как научное направление, в рамках которого разрабатывается совокупность алгоритмов, моделирующих эволюционные процессы (и механизмы их реализации), наблюдаемые в живой природе. Эти механизмы обеспечили возникновение сложнейших живых организмов на Земле, приспособленных к самым разным условиям обитания. Исследование и использование данных механизмов позволило человеку создать искусственные системы, проявляющие способности достижения оптимальных стратегий поведения в разных внешних условиях. Подобно тому как искусственные нейронные сети получили начало на основе изучения работы нейронов в живых организмах, так эволюционные алгоритмы базируются на наблюдаемых в живой природе процессах наследования, мутации и отбора.

    Отметим, что идея построения эволюционных алгоритмов ненамного моложе идеи построения искусственных нейронных сетей. Первые попытки использования цифровых компьютерных моделей для изучения процессов естественной эволюции использовались уже с середины 1950-х годов [47].

    В начале 60-х годов прошлого столетия Ганс-Иоахим Бремерманн представил одни из первых попыток применить моделируемую эволюцию для решения задач численной оптимизации, а также разработал некоторые из ранних теорий эволюционных алгоритмов.

    В 1967 году Джоном Генри Холландом были разработаны наиболее значимые генетические алгоритмы (подмножество эволюционных алгоритмов), на базовых принципах работы которых мы коротко остановимся.

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

    Генетический алгоритм моделирует процесс естественного отбора, в котором наиболее приспособленные особи отбираются для производства потомства следующего поколения. Эти наиболее приспособленные особи из популяции производят потомство, которое наследует характеристики родителей, и эти характеристики передаются следующему поколению. Данный процесс продолжается при смене поколений (итерационно) и в конце концов приводит к "искомому" поколению с наиболее приспособленными особями. По сути, этот процесс можно рассматривать как итерационный процесс нахождения наилучшего решения задачи.

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

    Можно сказать, что генетический алгоритм позволяет заменить процесс моделирования объекта, отвечающего некоторым требованиям, на процесс моделирования эволюции, приводящий к появлению подобного объекта.

    Рассмотрим принципы работы генетического алгоритма на упрощенном наглядном примере.

    Задача формулируется так, что ее решение может быть представлено в виде вектора генов ( генотипа Напомним, что в биологии генотип определяется как совокупность генов данного организма и, в отличие от понятия генофонд, характеризует особь, а не вид ), где каждый ген может быть представлен некоторым объектом (числом или битом). На рис. 1.35 показана схема, поясняющая соотношение понятий ген, хромосома, популяция, используемых в генетическом алгоритме. Подобно тому как в алгоритмах на базе искусственных нейросетей базовый термин "нейрон" заимствован из нейробиологии, в генетических алгоритмах применяется целый ряд терминов, изначально введенных в генетике (популяция, особь, ген, хромосома, генотип).

    Особь (индивидуум) характеризуется набором параметров - фенотипом. Фенотип - это совокупность внешних и внутренних признаков организма, приобретенных в результате индивидуального развития. Фенотип формируется на основе генотипа (совокупность генов) при участии ряда факторов внешней среды.

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

    Процесс поиска решения осуществляется в рамках алгоритма, показанного на рис. 1.36.

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

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

    Фитнес-функция принимает на входе текущее потенциальное решение задачи и выдает значение, оценивающее его пригодность.

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

    Если условие остановки не выполнено, то производится отбор хромосом для производства потомков. Идея фазы отбора заключается в том, чтобы отобрать наиболее приспособленных особей (хромосом) и позволить им передать свои гены следующему поколению.

    Особи с высокой приспособленностью имеют больше шансов быть отобранными для воспроизводства. Процесс скрещивания показан на рис. 1.37(а). Для каждой пары родителей, подлежащих размножению случайным образом, выбирается точка кроссинговера (точка разрыва). В этой точке обе хромосомы делятся на две части и обмениваются генетическим материалом. На рис. 1.37(а) точка кроссинговера равна 3. Потомство создается путем обмена генами родителей между собой до достижения точки кроссинговера. Новое потомство добавляется в популяцию.

    Некоторые из генов образовавшихся потомков могут подвергнуться мутации для поддержания разнообразия в популяции. На рис. 1.37(б) данный процесс проиллюстрирован тем, что некоторые нули заменены на единицы, а единицы на нули. Есть определенная вероятность, что благодаря мутации особь приобретет новое полезное свойство, если это свойство будет вредным, то такая особь будет отсеяна.

    Таким образом, для возникновения новых комбинаций генов используются две операции: кроссинговер (скрещивание), позволяющий создать две новые хромосомы потомков путем комбинирования генетического материала пары родителей, а также мутация, которая может вызывать изменения в отдельных хромосомах.

    Со временем эволюционные методы стали применять для оптимизации структуры нейросети, так возник термин "нейроэволюция". Первые нейроэволюционные алгоритмы появились в 1980-х годах.

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

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

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

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

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

    Принципиальная схема нейроэволюции показана на рис. 1.38.

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

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

    Агентный подход

    Центральным элементом данного подхода к построению искусственного интеллекта, как следует из его названия, является понятие агента. Согласно [52], "агент - это любая сущность физическая или виртуальная, которая воспринимает свое окружение через датчики и действует на это окружение через исполнительные механизмы".

    Под агентом могут подразумеваться разные сущности (программа, робот, человек). Агенты могут действовать в реальном мире (роботы), в виртуальном (персонаж игры), воздействовать на внешний мир из виртуального - чат-боты и другие программные агенты, поддерживающие решения конкретных людей.

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

    Алгоритмы машинного обучения позволяют агенту адекватно реагировать на изменения среды, совершенствовать правила поведения или приобретать интеллектуальное поведение.

    Агенты можно классифицировать по степени их интеллектуальности, по способности рассуждать. Самые простые агенты - это реактивные агенты, они имеют простейший тип поведения, основываются на минимальном объеме информации и простых правилах: "ситуация-действие", "запрос-ответ".

    Так называемые делиберативные агенты используют некоторые логические рассуждения и/или возможности планирования (1.39).

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

    По поведению агенты можно разделить на пассивные (не имеют конкретных целей, могут реагировать на внешние раздражители, но сами не будут инициировать никаких действий) и активные (имеют определенные цели, которые они преследуют). Используется также термин "когнитивные агенты" - агенты, которые предполагают сложное планирование и рассуждения.

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

    Многоагентные системы можно классифицировать по типу сотрудничества агентов (рис. 1.40).

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

    Многоагентные системы называются сотрудничающими, если у ее агентов есть общие цели, при этом ее агенты могут взаимодействовать между собой, а могут не взаимодействовать.

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

    Многоагентный подход обеспечивает устойчивость и масштабируемость системы. За счет того, что ответственность за выполнение общей задачи распределена между большим числом агентов, система может переносить сбои одного или нескольких агентов.

    Такие характеристики многоагентных систем, как гибкость и надежность, делают их эффективным подходом для решения многих сложных задач. Подобная задача делится на множество мелких простых подзадач, которые распределяются между агентами. Потребление ресурсов в такой системе оптимизируется между несколькими агентами, что часто приводит к менее затратному решению по сравнению с подходом, при котором вся задача выполняется одним агентом [54].

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

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

    Из конкретных примеров можно привести проект компании Waymo, которая создала среду многоагентного моделирования Carcraft для тестирования алгоритмов беспилотных автомобилей, где имитируется дорожное взаимодействие между водителями-людьми, пешеходами и самоуправляемыми автомобилями.

    Машинное обучение и его типы

    Мы выделили на рис. 1.14 машинное обучение как монолитную область, затем рассмотрели разные научные направления, которые используются для решения задач машинного обучения. Помимо этого, следует упомянуть классификацию машинного обучения по степени контроля за процессом обучения (контролируемое, неконтролируемое, и т. п.), а также по типу целевой переменной Целевая переменная описывает результат (цель) процесса, она может быть непрерывной (принимать произвольные значения), категориальной (выбор класса изображения). Может быть ситуация, когда целевой переменной не существует, как, например, в задаче о кластеризации при обучении без учителя и решаемых задач ( рис. 1.42).

    Контролируемое обучение (с учителем)

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

    На рис. 1.42 отмечено два типа задач в категории обучения с учителем - это классификация и регрессия.

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

    При этом нельзя сказать, что успехи нейросетей полностью вытеснили методы классического машинного обучения, включающего в себя целый ряд различных алгоритмов обучения, помимо нейро-сетевого. Нейросети хорошо показывают себя в задачах, где имеются большие объемы данных и признаки трудно извлечь ручным способом. Если же имеются данные небольшого объема с понятными структурированными признаками, то можно применить методы классического машинного обучения, которые мы очень кратко рассмотрим в этом курсе.

    В качестве примера алгоритма классического обучения с учителем, используемого для решения задачи классификации, приведем весьма популярный метод опорных векторов (Support Vector Machine, SVM). Впервые этот алгоритм был предложен нашими соотечественниками Владимиром Вапником и Алексеем Червоненкисом в 1963 году.

    Идею метода проиллюстрируем на примере задачи определения, к какому из двух изначально известных классов А и Б относится искомый объект.

    Рассмотрим простейший наглядный пример (рис. 1.43), где представлены исходные точки (распределенные на плоскости по двум признакам - X\apos и X\apos\apos) и разбитые на два класса "А" и "Б". Задачей классификации является предсказание принадлежности к тому или иному классу новой (не принадлежащей к известной выборке) точки на плоскости.

    Чтобы пример не был абстрактным, скажем, что параметры - это возраст и доход некоторой группы людей, а задача классификации состоит в определении их принадлежности к классу А (потенциальных покупателей определенного товара) и классу Б (тех, кто товар не купит).

    На рисунке построена линия, разделяющая эти два класса (разделяющая прямая). Оптимальной с точки зрения точности классификации является прямая, расстояние от которой до каждого класса максимально. Если известно положение данной прямой, то новые точки (не относящиеся к обучающей выборке) будут классифицироваться по положению относительно данной прямой, определяя их принадлежность классу A или Б.

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

    По обеим сторонам гиперплоскости ( рис. 1.43 б ) строятся параллельные гиперплоскости. Точки данных, лежащие на одной из двух параллельных гиперплоскостей, которые определяют наибольшее расстояние, называются опорными векторами. Отсюда и происходит название метода. Чем больше расстояние между параллельными гиперплоскостями, тем меньше средняя ошибка классификатора.

    Представим ситуацию, когда множество точек первого и второго класса пересекаются и разделить их прямой линией невозможно (рис. 1.44). При этом при переходе из двумерного пространства параметров в трехмерное (при добавлении еще одного параметра, являющегося комбинацией имеющихся двух) возникает возможность разнести упомянутые классы и провести искомую плоскость. Таким образом, идея метода SVM состоит в переводе исходных векторов в пространство более высокой размерности и построение гиперплоскости, оптимально разделяющей эти классы.

    Для иллюстрации принципа работы алгоритма регрессии Регрессия - односторонняя стохастическая зависимость, устанавливающая соответствие между случайными переменными. В отличие от функциональной зависимости y=f(x), где каждому значению независимой переменной x соответствует одно определенное значение величины y, при регрессионной связи одному и тому же значению x могут соответствовать в зависимости от случая различные значения величины y , упомянутой на рис. 1.42, рассмотрим линейную регрессию на примере функции одной переменной в задаче прогнозирования стоимости жилья. Предположим, что имеются исходные данные о стоимости жилья определенной площади и нам необходимо спрогнозировать цену квартиры некоторой площади, которую мы планируем приобрести. Графически это можно представить как совокупность точек, которые отражают некоторый тренд. Задача линейной регрессии состоит в том, чтобы провести прямую линию так, чтобы она наиболее точно отражала исследуемый тренд. Зная данный тренд, можно предсказать цену для любой площади.

    Прямая описывается уравнением Y = kx+b, и задача определения этой прямой сводится к нахождению параметров (коэффициентов) линейной зависимости (k и b), которые могут быть найдены путем минимизации суммы квадратов отклонений от каждой точки до нашей прямой (метод наименьших квадратов). Определив коэффициенты, мы можем провести прямую, которая обеспечивает минимальные расстояния от этой прямой до исходных точек. Получив уравнение искомой прямой, найдем значение цены квартиры Y_1 при заданном значении площади Х_1 .

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

    Неконтролируемое обучение (без учителя)

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

    Одним из популярных алгоритмов, применяемых для решения задач кластеризации, является метод k-средних - метод, предложенный в 1950-х годах, суть которого состоит в том, что он стремится минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров ( рис. 1.46).

    Весьма наглядное толкование метода приводит автор статьи [56], рассматривая задачу оптимального расположения трех ларьков в поселке. На первом шаге ставим торговые точки случайным образом и смотрим, в какой ларек кому из жителей ближе идти, выделяем три кластера - три группы людей, которым ближе идти до одного из трех ларьков. Перемещаем ларьки в сторону лучшей доступности для посетителей каждой из групп. Повторяем процедуру, то есть опять делим жителей на три кластера и вновь перемещаем ларьки до тех пор, пока не получим решение задачи.

    Другой пример, отмеченный на рис. 1.42, - это метод поиска взаимосвязей (ассоциаций) в данных. Поиск подобных взаимосвязей применяется к транзакционным данным в различных отраслях, таких как розничная торговля, банковское дело, страхование. Наиболее распространенный пример - это задача поиска закономерностей в покупаемых вместе товарах. Если вы знаете, какие товары посетители данного магазина покупают вместе, вы можете так расположить продукты в магазине, что продажи вырастут.

    Полуконтролируемое обучение

    Полуконтролируемое обучение или обучение с частичным участием учителя - это случай, когда обучение происходит на небольшом количестве размеченных и большом количестве неразмеченных данных. Можно сказать, что полуконтролируемое обучение находится между неконтролируемым обучением (без каких-либо размеченных данных) и контролируемым обучением (с полностью размеченными обучающими данными) - см. рис. 1.47.

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

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

    Обучение с подкреплением

    Машинное обучение с подкреплением напоминает обучение с учителем, однако в данном случае в роли "учителя" выступает окружающая (настоящая или виртуальная) среда, которая показывает, как агенты должны действовать, чтобы получить наибольшее суммарное вознаграждение (рис. 1.48 б ).

    Если в случае (рис. 1.48 а ) мы отвечаем на вопрос "К какому классу относится исследуемый объект?", то в случае (рис. 1.48 б) мы пытаемся ответить на вопрос "Что нужно сделать, чтобы достичь жела-емого результата?". При этом мы, как правило, не знаем, хороший или плохой выбор мы делаем на каждом шаге, а получаем "вознаграждение" (подкрепление) после завершения эпизода обучения.

    Еще в 1951 году Марвин Минский, будучи студентом Гарвардского университета, построил машину, использующую простой метод обучения с подкреплением для имитации поведения мышей, которые учатся находить выход из лабиринта.

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

    Робот (агент) учится выполнять задачу путем повторяющихся проб и ошибок при взаимодействии с незнакомой динамической средой, выполняя определенные действия, получая определенные результаты (и в зависимости от них награды), и при этом его задача - добиваться максимальной награды. Часто, говоря об обучении с подкреплением, в качестве аналогии приводят пример дрессировки домашних животных, которые ориентируются на подкрепление в виде лакомства, которое они получают, выполняя правильные действия.

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

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

    Мы обещали в начале курса приводить более полные структурные схемы понятия ИИ по мере толкования новых терминов. После того как мы ввели понятия контролируемое обучение, неконтролируемое и обучение с подкреплением, можно несколько усложнить картинку (рис. 1.14), добавив в нее новые элементы (рис. 1.49).

    Соотношение категорий машинного обучения можно также наглядно представить в зависимости от решаемых задач и используемых алгоритмов (рис. 1.50).

    Перечень вариантов машинного обучения расширяется. Сравнительно недавно появилась так называемая форма самоконтролируемого обучения (Self-supervised learning SSL).

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

    Метод самоконтролируемого обучения заключается в определении любой скрытой части входных данных из любой открытой части входных данных. В этом процессе задача из неконтролируемой преобразуется в задачу с контролем путем автоматической генерации меток.

    Например, при обработке видео мы можем предсказать прошлые или будущие кадры на основе имеющихся видеоданных.

    Продолжая разговор об эволюции систем машинного обучения, следует отметить рост точности и адекватности создаваемых моделей, что, естественно, приводило к повышению доверия к более зрелым моделям со стороны пользователей. Менялись способы создания программного обеспечения, которое обеспечивало решение задач (рис. 1.52).

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

    Разработчики выделились в отдельную категорию, появились специализированные библиотеки, приложения не приходилось писать с нуля, однако дублирование было по-прежнему высоким в силу преобладания внутренних разработок и ограниченного количества общедоступных программных продуктов.

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

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

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

    Страницы:

    Попытки дать определение термина

    Искусственный Интеллект (ИИ) сегодня один из самых популярных, обсуждаемых и одновременно противоречивых и многозначных терминов. Действительно, с одной стороны, многочисленные эксперты утверждают, что уровень развития технологий искусственного интеллекта в стране - это важнейший критерий технологической, экономической и военно-стратегической мощи государства, показатель конкурентоспособности на высокотехнологичных рынках. Аналитики сообщают, что десятки тысяч компаний применяют технологии ИИ, тысячи стартапов по всему миру развивают решения на базе искусственного интеллекта, а ИТ-гиганты конкурируют за возможность купить наиболее успешных разработчиков в этой области. Рынок искусственного интеллекта оценивается консалтинговыми компаниями в сотни Оценки разных аналитиков существенно различаются, об этом подробно будет рассказано во второй лекции данного курса миллиардов долларов. С другой стороны, целый ряд специалистов говорит, что ИИ - это миф, никакого искусственного интеллекта пока не создано! Причем такие высказывания можно услышать не только в частных беседах. Например, в статье под названием "ИИ на самом деле еще не существует" [1] авторы начинают свое повествование с категоричного утверждения: "многие компании, которые заявляют, что используют ИИ, обманывают себя - и вас тоже".

    Авторы упомянутой публикации со ссылкой на Джулию Люк (Luc Julia), вице-президента Samsung по инновациям и соавтора цифрового помощника Siri, приводят следующую ее цитату: "Сегодняшние инструменты для бизнеса используют математику, статистику, машинное обучение, глубокое обучение, большие данные, получая машины более совершенные, чем в прошлом. Но то, что так часто называют ИИ, на самом деле не связано с искусственной формой интеллекта".

    Многие авторы отмечали, что словосочетание "Искусственный интеллект" - это неудачный термин, который тем не менее стал общеупотребимым. Целый ряд специалистов предлагали свои уточнения этого названия, вспомним, например, замечание профессора Константина Воронцова, согласно которому ИИ логичнее было бы расшифровать как "имитация интеллекта" [2].

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

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

    Почему же термин, которым люди пользуются почти 70 лет, до сих пор понимается разными группами специалистов по-разному? Какие определения ИИ существуют и чем они различаются?

    Перечислим некоторые проблемы, с которыми сталкиваются специалисты, пытающиеся дать свое определение ИИ.

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

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

    С философской, гносеологической, точки зрения термин интеллект привязан к биологическому объекту, а вопрос о том, могут ли неживые объекты обладать ощущением (как первичной основой структуры сознания и интеллекта), не решен. Поэтому большинство нейробиологов вопрос о том, может ли машина обладать разумом и, соответственно, интеллектом, пытаются отложить на будущее.

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

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

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

    В табл. 1.1 мы представили десять определений ИИ, предложенных разными авторами за последние 50 лет, и выделили ключевую часть определения.

    Различие в акцентах при определении термина "искусственный интеллект"
    Определение Автор, год и источник Ключевая часть определения
    1 Автоматизация задач, которые принято считать человеческими: мышление, принятие решений, решение проблем, обучение и т. д Беллман (Bellman), 1978, [3]. Автоматизация задач (вид деятельности человека).
    2 Область исследований, направленная на разъяснение и эмуляцию разумного поведения в терминах вычислительных процессов. Шайкофф (SchaIkoff), 1990, [4]. Область исследований (вид деятельности человека).
    3 Искусство создания машин, выполняющих функции, которые требуют интеллекта, если бы их выполняли люди. Курцвейл, 1990, [5]. Искусство создания машин. (вид деятельности человека).
    4 ИИ - это наука и инженерия создания интеллектуальных машин McCarthy, 2007, [6].
    5 Искусственный интеллект - это область, изучающая компьютерные технологии, которые делают возможным восприятие, рассуждения и действия машин на их основе Winston, P. H., 1992, [7]. Это область изучения компьютерных технологий (вид деятельно)
    6 Искусственный интеллект - это деятельность, направленная на создание интеллектуальных машин, а интеллект - это качество, которое позволяет объекту функционировать в окружающей среде надлежащим образом и с предвидением. Nilsson, N. J. (2010), 2010, [8] Это деятельность по созданию машин (вид деятельности человека).
    7 Зонтичный термин, охватывающий целый ряд алгоритмов, позволяющих оптимизировать поиск в Интернете, нацеливать рекламу, утверждать потребительские кредиты и направлять водителей Эндрю Нг, профессор Стэнфордского университета. 2017, [9]. Свойство алгоритмов
    8 Выполнение компьютером действий, для которых обычно требуется человеческий интеллект Эми Вебб, профессор Нью-Йоркского университета, 2017, [10]. Свойство машин
    9 Интеллектуальная деятельность, которая раньше выполнялась только на основе интеллекта человека, а теперь может быть выполнена компьютером, включая распознавание речи, машинное обучение и обработку естественного языка Генеральный директор Infosys Вишал Сикка, 2017, [11] Деятельность машин с определенными способностями
    10 Под ИИ понимается: "Комплекс технологических решений, позволяющий имитировать когнитивные функции человека (включая самообучение и поиск решений без заранее заданного алгоритма) и получать при выполнении конкретных задач результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека. Комплекс технологических решений включает в себя информационно коммуникационную инфраструктуру, программное обеспечение (в том числе в котором используются методы машинного обучения), процессы и сервисы по обработке данных и поиску решений". Пункт 5 Национальной Стратегии развития ИИ в РФ на период до 2030 года [12] Комплекс технологических решений

    Интересно отметить, что большая часть авторов, упомянутых в табл. 1.1, базируются на утверждении, что ИИ - это некоторая область деятельности человека, например область науки или инженерии, в то время как другая часть экспертов делает акцент на том, что ИИ - это определенное свойство машин Заметим, что когда ставится вопрос об определении, что такое интеллект человека, то в первую очередь определение затрагивает вопросы именно способностей человека, определяемых умственной интеллектуальной деятельностью .

    Заметим, что это принципиально разные подходы. Действительно, ИИ как наука может заниматься чисто теоретическими вопросами. Ответ на вопрос "Что такое ИИ как наука?" предполагает в первую очередь обозначение перечня областей исследования, научных школ, направлений и т. п.

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

    Например, как видно из рисунка, в 1998 г. почти 75 % всех публикаций приходились на компьютерную лингвистику, а спустя 20 лет к ней было отнесено лишь 15 % статей из упомянутого источника. Категория "компьютерное зрение и распознавание образов", которая в начале века была в зачаточном состоянии, выросла многократно и заняла доминирующее положение в 2018 г.

    Как мы отметили, помимо определений ИИ, связываемых с научной деятельностью (табл. 1.1), есть формулировки, которые исходят из того, что ИИ интерпретируется как набор свойств, способностей интеллектуальных машин. Здесь вопрос ставится в более практической плоскости, то есть в данном случае в первую очередь речь идет о реализованном машинном интеллекте в виде программ, работающих на том или ином аппаратном обеспечении и показывающих те или иные способности искусственного интеллекта.

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

    Подходя к развилке между понятиями "существующий ИИ" и "гипотетический ИИ", необходимо упомянуть деление искусственного интеллекта на так называемый сильный или общий ИИ (AGI, Artificial General Intelligence) и узкий, прикладной или слабый ИИ (ANI,Artificial Narrow Intelligence).

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

    Однако сегодня (в 2022 году) - с появлением мультимодальных моделей Мультимодальные модели характеризуются возможностью обучения на нескольких наборах различных типов данных (изображение, текст, речь, числовые данные) для предоставления более точной и правдивой информации - это отличие звучит не так четко. Действительно, ИИ по-прежнему не обладает возможностью обучения по столь широкому спектру направлений, как человек. Но, например, мультимодальная нейросеть Gato Исп. Кошка способна выполнять 604 типа задач, включая создание описаний к изображениям, ведение диалога, укладку блоков с помощью роборуки, игру в аркадные игры, выполняя при этом более половины из перечисленных задач лучше среднего человека [14].

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

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

    "Революционный поворот в понимании того, что индивидуальным может быть только мозг, а разум - исключительно коллективный феномен, кардинально изменит траекторию исследований общего (сильного) искусственного интеллекта. Его исследователям предстоит найти новые, принципиально иные архитектуры и алгоритмы, ориентированные уже не только на нейронные, а на социокогнитивные гиперсети" [15].

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

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

    Подобное деление помогает терминологически разделить два разных понятия и раскрыть одну из основных причин отсутствия консенсуса в определении ИИ. Действительно, часть специалистов (в большей степени гуманитарии) склонны воспринимать термин ИИ как сильный ИИ, как интеллектуальную машину, наделенную свойствами сознания, осознания, мышления, чувственного восприятия действительности, волеизъявления. Другая часть сообщества, занятая разработкой технологий ИИ и различного рода приложений на его основе, привыкла называть искусственным интеллектом именно то, с чем они имеют дело (то есть со слабым ИИ). И в этой связи понимание под термином ИИ-решений, относящихся к категории "слабый ИИ", не вызывают у них отторжения Несмотря на то, что "сильный ИИ" и "слабый ИИ" существенно утоняют понятие, люди в основном пользуются термином ИИ, предполагая, что в зависимости от контекста понятно, о чем идет речь .

    При том, что мы отметили достоинство деления на сильный и слабый ИИ, подобный подход имеет и некоторые ограничения: в частности, мы не можем в рамках этой терминологии отразить процесс "усиления" (развития) слабого ИИ. Очевидно, что те решения, которые мы относим к категории слабого ИИ, совершенствуются, становятся более интеллектуальными, однако до тех пор, пока ИИ не сравняется по возможностям с человеческим, он будет оставаться слабым по определению. В этом случае исследователи, занятые построением сильного ИИ, на всех промежуточных стадиях в рамках описанной терминологии будут получать решения, относящиеся к категории "слабый ИИ".

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

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

    Одним ученым мысль о том, что когда-то машины достигнут уровня интеллекта человека, кажется утопией Исследования 3-х университетов США, проведенные в 2022 г., - было опрошено 480 специалистов, у которых было как минимум 2 публикацииACL(Ассоциация компьютерной лингвистики). Среди прочих на вопрос, есть ли за последние годы хоть какое-то продвижение к AGI, 57% - ответили утвердительно, 43% - нет [17], другие уверены в наступлении часа "х", когда интеллекты человека и машины сравняются, и даже называют примерные даты события, начиная с которого машины станут умнее человека во всех отношениях. Например, Рэймонд Курцвейл называл 2045 год как наиболее вероятную дату появления суперинтеллекта [18].

    Прогнозы перехода к стадии сверхразума можно найти также в работах Ника Бострома, который предрекает резкое ускорение роста возможностей ИИ после достижения уровня человека ( рис. 1.3.).

    Вопрос о достижимости сильного интеллекта остается открытым. Впрочем, человечеству известно множество утверждений о невозможности той или иной технологической новации. Когда-то философы вроде Дрейфуса утверждали, что "компьютеры никогда не смогут играть в шахматы" (Dreyfus, 1972).

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

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

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

    Комментируя причины наличия противоречий в толковании термина ИИ, следует также отметить, что их можно обнаружить в психологии человека - давно замечено, что люди склонны отрицать наличие интеллекта в поведении машин, после того как узнают, как именно реализован механизм "интеллектуальности" принятия ими решения.

    Эту тенденцию можно проследить на рис. 1.4, где показаны четыре группы технологий искусственного интеллекта от зрелых разработок (давно освоенных массовым пользователем) до перспективных.

    Действительно, такие задачи как оптическое распознавание символов, фильтрация спама, контроль дефектов на производстве все меньше ассоциируются с искусственным интеллектом, в то время как перспективные разработки на более ранней стадии исследования, такие как автоматическая разработка ПО или персональные роботы, в большей степени могут претендовать в массовом сознании на роль примеров искусственного интеллекта.

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

    В подтверждение тезиса можно привести курьезный диалог, известный со времен создания пионерских ИИ-программ, в котором у эксперта спрашивают, интеллектуальна ли машина, которая может прочитывать газету и делать "выжимку событий", предлагая вниманию читателя лишь наиболее важные тезисы. После положительного ответа эксперта ему предлагается вновь ответить на тот же вопрос, объяснив ему, что программа всего лишь выбирает из текста заголовки, выделенные жирным шрифтом… Эта шуточная история отражает склонность человека отождествлять понятие искусственного интеллекта со способностями, выходящими за рамки уже известных алгоритмов.

    Из рассмотренного примера следует еще одна дилемма: что мы считаем критерием интеллектуальности машины - ее способности выполнить поставленную задачу или то, как реализован механизм решения этой задачи?

    Отметим также, что дать определение ИИ, который создается как подобие интеллекта естественного, весьма непросто, не зная полной картины механизмов работы, точной локализации последнего и даже не имея однозначного определения самого термина "интеллект человека".Сложность достижения консенсуса в определении ИИ в том числе объясняется отсутствием такового в трактовке понятия "интеллект человека". Действительно, можно найти массу различных трактовок понятия "интеллект человека". Авторы исследования [20] признаются, что "…похоже, существует почти столько же определений интеллекта, сколько и экспертов, которых попросили дать этому термину определение". Так, согласно трактовке толкового словаря русского языка под редакцией Д.Н. Ушакова, "интеллект - это ум, рассудок, мыслительная способность человека (в противоположность воле и чувствам)". А согласно определению AllWords Dictionary, 2006, это "способность использовать память, знания, опыт, понимание, рассуждения, воображение и суждения для решения проблем и адаптации к новым ситуациям". По данным американского словаря The American Heritage Dictionary 2000 г. - это способность приобретать и применять знания.

    Один из специалистов в области ИИ - генеральный директор Deep learning partnership - в своем докладе "Towards a general theory of intelligence", сравнивая интеллект искусственный и живой, предлагает отталкиваться от толкования интеллекта человека как совокупности разных его способностей ( рис. 1.5) и проанализировать, какие из них доступны машине и в какой мере.

    В таблице 1.2 представлена оценочная характеристика возможностей ИИ на момент публикации (2019 г.) по тому, насколько ИИ приблизился к интеллекту человека по разным параметрам.

    Оценка возможностей ИИ в сравнении с интеллектом человека Отметим, что в данной таблице не идет речь про способности, которые у компьютера развиты лучше, чем у человека, при том что такие способности, несомненно, есть - например, вычислительные
    1 Логико-математические способности 50%
    2 Лингвистические способности 50%
    3 Способность восприятия пространства 50%
    4 Музыкальные способности 50%
    5 Телесно-кинестетические 30%
    6 Способность к межличностным отношениям 10%
    7 Способность воспринимать природу 10%
    8 Интрапсихические способности Интрапсихический - (интра + греч. psyche - душа) - внутрипсихический, возникающий внутри психики 5%
    9 Эк0%

    Отметим, что если на рис. 1.5 речь идет о способностях некоего усредненного человека, то в случае табл. 1.2 подразумеваются совокупные способности созданных на сегодняшний день машин, а не свойства конкретного ИИ. Это очевидно, как минимум, в силу того, что пока человеком не реализовано ни одного проекта, в котором созданный ИИ обладал бы одновременно всеми из перечисленных способностей, указанных в таблице 1.2.

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

    Заметим, что способности среднестатистического человека или способности человека, когда мы говорим о человеке (как о "человечестве"), выступающем в качестве автора всех достижений творческой мысли, будут существенно отличаться.

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

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

    Резюмируя вышеописанные подходы к трактовке ИИ, представим их в виде диаграммы (рис. 1.6).

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

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

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

    Проанализировать причины множественности определений и понять наполнение термина позволяет классификация определений. Рассмотрим одну из таких классификаций, впервые предложенную Стюартом Расселом и Питером Норвигом [22]. Авторы отмечают, что различные определения искусственного интеллекта опираются на одну из четырех способностей: действовать, как человек, думать, как человек, думать рационально и действовать рационально. Примеры определений в каждой категории приведены в табл. 1.3.

    Трактовки в верхней части таблицы связаны с мыслительным процессом, в нижней - с поведением, левая часть исходит из сравнения с человеком, правая - из принципов рациональности. Каждое из четырех направлений задает свою область исследований.

    Классификация определений ИИ по Стюарту Расселу и Питеру Норвигу
    Как человек Рационально
    Думать
  • "Автоматизация" действий, которые мы ассоциируем с человеческим мышлением, т. е. таких действий, как принятие решений, решение задач, обучение (Bellman 1978)
  • Направление работ по созданию компьютеров, способных думать, машин, обладающих мозгом, в полном и буквальном смысле этого слова (Haugeland,1985)
  • Изучение способностей и мыслительного процесса с помощью вычислительных моделей (Charniak, McDermott, 1985)
  • Исследование вычислительных систем, которые делают их способными к восприятию, рассуждению и действию (Winston, 1992)
  • Действовать
  • Искусство создания машин, выполняющих функции, которые требуют интеллекта, если бы их выполняли люди. (Курцвейл, 1990)
  • Исследование того, как сделать компьютеры способными выполнять то, что на данный момент лучше получается у человека (Rich, Knight, 1991)
  • Область исследований, направленная на разъяснение и эмуляцию разумного поведения в терминах вычислительных процессов (SchaIkoff, 1990)
  • Ветвь компьютерной науки, касающаяся автоматизации разумного поведения. (Luger, Stubblefield, 1993)
  • Определение ИИ, отталкивающееся от критерия "способности думать, как человек", задает направление, в рамках которого ученые пытаются построить ИИ, изучая структуру и механизмы работы человеческого мозга, анализируя мыслительный процесс человека.

    Критерий "способность действовать как человек", по сути, стал основой теста Тьюринга Тест, в котором человек взаимодействует с компьютером и человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы - ввести человека в заблуждение, заставив сделать неверный выбор и ему подобных, основной принцип которых можно выразить фразой "чтобы считаться интеллектуальной, программа должна продемонстрировать поведение неотличимое от действий человека".

    Определение, берущее за основу способность "думать рационально", соответствует направлению, связанному с созданием компьютерных программ, которые могли бы рассуждать логически. А определение, исходящее из декларирования способности машин "действовать рационально", предполагает возможность создания интеллектуальных агентов, способных оптимально достигать (при заданных ограничениях) поставленной цели (например, бизнес-цели).

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

    Классификацию систем ИИ по степени автономности и адаптивности можно найти в отчете компании PWC (табл. 1.4). Подход предлагает три вида ИИ по степени автономности и адаптивности и отделяет понятие ИИ от понятия "автоматизация".

    Классификация систем ИИ по степени адаптивности и автономности. Источник: PWC [23]
    Человек в контуре управления Без человека в контуре управления
    Система с жесткой программой

    Ассистирующий ИИ

    Системы искусственного интеллекта, которые помогают человеку принимать решения или совершать действия.

    Автоматизация

    Автоматизация ручных и когнитивных задач, как рутинных, так и нерутинных, не предполагающая новых способов выполнения задач, а автоматизирующая существующие.

    Адаптивная система

    Дополняющий ИИ

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

    Автономный ИИ

    Системы ИИ, которые могут адаптироваться к различным ситуациям и действовать автономно без помощи человека.

    Вопрос автономности ИИ тесно связан с вопросом необходимости контроля над работой искусственного интеллекта и определением допустимых рисков при делегировании тех или иных задач системам ИИ. В этой связи классификация ИИ-систем по степени автономности и необходимости контроля за последними представляет определенный интерес Подобную классификацию можно найти в курсе Н. Бостром. Искусственный интеллект: Искусственный интеллект типа "Оракул" понимает лишь вопросы, на которые существуют однозначные ответы типа "да" и "нет". "Монарх" получает мандат на любые действия. "Джинн" получает команду, выполняет ее и ждет следующей команды. Наконец, "инструмент" подобно программному обеспечению делает лишь то, для чего предназначен. - Примечание научного редактора .

    Ограничение автономности ряда интеллектуальных машин объясняется тем, что полностью автономные машины могут совершить непоправимую ошибку. И чем серьезнее возможные последствия этой ошибки, тем в большей степени человек стремится оставить за собой контроль за принятием решения (рис. 1.7).

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

    Говоря о развитии систем ИИ и пользуясь обозначениями рис. 1.7, можно сказать, что зона, где "человек дополняет машину", продолжит расти, а зона, где "машина дополняет человека", продолжит сокращение, что в известной мере можно назвать процессом постепенного вытеснения человека из области систем решения интеллектуальных задач и принятия решений.

    Системы ИИ могут быть реализованы в виде сложных человекообразных роботов, таких как, например, в проекте ATLAS компании Boston Dynamics, однако это весьма узкое направление. Существует огромное количество ИИ-решений для реализации практических задач (увеличения производительности труда, повышения качества и степени кастомизации разного рода продуктов и услуг и т. п.). Поэтому внедрение ИИ выступает скорее в виде многогранного процесса интеллектуализации искусственной среды, окружающей человека, которая становится все более связанной, более интеллектуальной, более удобной для человека с точки зрения концепции "удобства функционирования человека" в том или ином обществе на определенный момент его развития.

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

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

    Очевидно, что финальная часть схемы рис. 1.8 - это картина будущего, которая осуществима лишь при приближении к концепции сильного ИИ. Здесь кроется еще одно противоречие во взглядах на цели и перспективы развития ИИ. Ученые, которые нацелены на построение сильного ИИ, говорят о необходимости поиска новых подходов в построении ИИ, отмечая, что экстенсивный путь развития слабого (узкого) ИИ является боковым, если не тупиковым путем развития направления. При этом процент ученых, занятых в проектах построения сильного ИИ, существенно уступает по численности группам разработчиков, занятых масштабированием и внедрением существующих ИИ-технологий во все новые решения в самых разных отраслях экономики. Поэтому можно сказать, что цель построения сильного интеллекта, как явления, оправдывающего изначальное понятие термина ИИ, в большинстве проектов заменяется более очевидной целью - максимальной коммерциализации узкого ИИ.

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

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

    Многие специалисты сходятся во мнении, что ИИ - это локомотив последней волны конвергенции наиболее сложных взаимодополняющих технологий DARQ DARQ - это аббревиатура, обозначающая четыре технологии: Distributed ledger technology (технологии распределенного реестра), Artificial intelligence (искусственного интеллекта), Extended reality (расширенной реальности) и Quantum computing (квантовых вычислений) (рис. 1.10), которые ведут человечество в цифровой мир [25].

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

    Мы отразили разные акценты и разные подходы в трактовке термина ИИ.

    Сложность однозначного определения понятия ИИ и путей его развития порождает проблемы в определении производных терминов, таких как "ИИ-решение", "ИИ-проект", "ИИ-компания", "ИИ-рынок". Что в свою очередь приводит к трудностям при попытках рейтингования ИИ-проектов, ИИ-компаний и, что особенно важно, при количественной оценке рынка искусственного интеллекта в силу того, что разные авторы включают в ИИ-проект разный набор технологий и сервисов.

    Комментируя вопрос, почему нет общепринятой трактовки границ ИИ-проекта, приведем аналогию - попытаемся ответить на вопрос, где локализован интеллект человека и как выделить систему его формирующую. Наиболее частый ответ - это область неокортекса Новая кора - новые области коры головного мозга, которые у низших млекопитающих только намечены, а у человека составляют основную часть коры , которая ответственна за интеллектуальную деятельность человека, более широкий взгляд на проблему приводит к мысли, что другие, более древние части мозга нельзя отбросить, говоря о работе интеллекта. Далее становится очевидно, что в рассматриваемую систему необходимо включить зрение как "часть мозга, вынесенную на периферию", вслед приходится вспомнить про органы слуха, рецепторы вкуса, которые доносят информацию в мозг, без которой невозможно формирование представлений о внешнем мире - основы интеллекта. Добавив к сенсорам тактильные ощущения, приходим к выводу, что рассмотрение интеллекта невозможно в отрыве от тела человека. А признав, что интеллект - это продукт общения человека в социуме, приходится еще больше расширить область его формирования. В случае с искусственным интеллектом границы явления еще более размыты. Какая часть интеллектуальной машины является искусственным интеллектом? Является ли процессор, который участвует в процессе вычислений, частью ИИ? А сервер? А если речь идет об облаке, в котором производятся вычисления? Эти вопросы, которые на первый взгляд кажутся второстепенными, становятся весьма актуальными, когда мы пытаемся определить, а потом оценить количественно такие понятия как рынок ИИ. К рассмотрению этих вопросов мы вернемся в лекции 2.

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

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

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

    После обзора проблем в определении термина ИИ было бы неверным не привести определение, которое нам кажется менее противоречивым.

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

    Для того чтобы дополнить и развить понятие термина ИИ, перейдем к анализу эволюции Тут и далее слово "эволюция" (связанное с понятием естественного отбора) подразумевает просто развитие в историческом контексте технологии ИИ, что позволит лучше разобраться в сущности и структуре данного явления.

    Эволюция и классификация систем ИИ

    Существуют десятки попыток отобразить эволюцию ИИ в виде диаграмм или так называемых лент времени (timelines) - от простейших [27] до весьма подробных [28, 29, 30] с демонстрацией научных, технологических и финансовых событий, отражающих логику развития ИИ. Подчас обилие полезной информации в этих таймлайнах входит в противоречие с их наглядностью и простотой. Мы постараемся выстроить траекторию изложения материала так, чтобы постепенно вводить новые термины, начав с простых диаграмм, чтобы не вызвать у читателя отторжения в отношении схем с обилием не описанных ранее терминов.

    Упрощенные схемы эволюции ИИ - наглядно, но не точно

    Начнем рассказ о развитии систем искусственного интеллекта с самой простой ленты времени, которая отражает основные периоды развития и коммерциализации технологий ИИ (рис. 1.12).

    Как видно из рис.1.12, примерно до середины 70-х годов прошлого столетия ИИ развивался как научное направление и практически не имел коммерческих внедрений при достаточно активном финансировании в первую очередь со стороны военных ведомств США, с середины 70-х начинается стадия военного и коммерческого применения и примерно с конца 90-х массовое коммерческое использование ИИ в форме различного рода корпоративных и пользовательских приложений, при этом военные разработки на этой стадии, естественно, продолжились.

    Развитие технологий искусственного интеллекта шло весьма неравномерно. Часто говорят о трех волнах развития ИИ: первая связана со становлением ИИ как нового научного направления и первыми его успехами, в том числе в машинном обучении, вторая - с успехами экспертных систем и третья - с массовым применением технологии глубокого обучения (Deep Learning) и приложений на его основе. Обо всех этих направлениях пойдет речь в данной лекции.

    Принято считать, что первый всплеск интереса к ИИ пришелся на период начиная с середины пятидесятых и примерно до конца семидесятых годов. В это время появились многообещающие эксперименты и первые приложения на основе нового научного направления: достигнуты первые успехи по распознаванию образов на базе искусственных нейронных сетей, разработаны программы для игры в шашки и шахматы, предприняты попытки создания первых переводчиков. Кстати, термин "Искусственный интеллект" был введен разработчиком языка программирования LISP LISP - язык программирования общего назначения, изначально ориентированный на работу с символьными данными. Все языки программирования того времени делали упор на вычисления, поэтому LISP (а впоследствии Prolog) идеально подходил для реализации символьных систем искусственного интеллекта Джоном МакКарти в 1956 г. В этом году Джон Маккарти организовал знаменитую конференцию в Дартмутском колледже для обсуждения способов программирования компьютеров таким образом, чтобы добиться их интеллектуального поведения. Именно на этой конференции был впервые использован термин "Искусственный интеллект". Считается, что данная конференция положила начало новому профессиональному сообществу со своими научными целями и предметом исследований. 60-е годы называют золотыми годами развития ИИ. Это был период энтузиазма, связанного с появлением нового научного направления, который был подкреплен активным финансированием со стороны недавно организованного агентства DARPA. В эти годы был реализован целый ряд пионерских проектов, которые упоминаются во многочисленных публикациях по истории развития ИИ. Например, в 1964 году был реализован проект Eliza - чат-бот, разработанный в Массачусетском технологическом институте, в 1966 году был создан мобильный робот общего назначения SHAKEY. На новое направление возлагались большие надежды, специалистам казалось, что через 5-10 лет удастся создать машину с интеллектом среднего человека (задача, которую так и не удалось решить до настоящего времени). Ожидания первопроходцев были сверхамбициозными. Однако, учитывая сложность задач и тот факт, что аппаратно-вычислительная база того времени была крайне ограничена, вполне естественно, что разработчики столкнулись с принципиальными трудностями. К семидесятым годам стало очевидно, что радужные ожидания не оправдались, инвесторы были разочарованы скромными результатами, и в середине 1970-х годов наступила так называемая первая зима ИИ - период охлаждения к теме ИИ и сокращение финансирования 1971-1975: разочарование DARPA исследовательской программой по распознаванию речи в Университете Карнеги - Меллона; 1973-1974: сокращение расходов DARPA на академические исследования по искусственному интеллекту в целом .

    Второй взлет интереса к ИИ произошел на волне развития экспертных систем, о которых более подробно будет рассказано далее в этой лекции. У экспертных систем оказались свои ограничения, и, как показано на рисунке 1.12, на период 1987-1993 пришлась вторая зима ИИ.

    Третий взлет произошел на базе массового внедрения технологии глубоких нейронных сетей (глубокого обучения), который существенно продвинул многие прикладные решения, включая компьютерное зрение, обработку естественного языка и другие направления.

    Развитие глубокого обучения стало возможным благодаря совершенствованию технологий ИИ, опыта их применения, увеличению вычислительных ресурсов, оптимизированных под задачи ИИ По сути, под задачу умножения матрицы на вектор, которая является основной при вычислении нейронных сетей. - Примечание научного редактора и росту объемов, доступных для обучения данных.

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

    По аналогии с тремя волнами повышенного интереса к ИИ условно выделяют и три периода в его развитии ИИ Следует уточнить, что данные периоды не совпадают по времени с периодами, когда наблюдались зимы искусственного интеллекта. - Примечание научного редактора (рис. 1.13).

    Это период до 80-х годов, ознаменованный оформлением ИИ в новое направление и его становление как профессионального сообщества, второй с 80-х по 90-е - как период, связанный с бурным развитием машинного обучения ( ML Мы будем использовать сокращение ML - Machine Learning (Машинное обучение) ), и третий - с 2010 года по настоящее время как этап, связанный с глубоким обучением. Все три периода сопровождались ростом вычислительных возможностей оборудования, который позволял решать все более сложные задачи ИИ.

    Мы выделили три взлета в развитии ИИ, три условных периода, заметим, что самая частая схема представления структуры ИИ также отображается в виде совокупности все тех же множеств (см. рис. 1.14).

    Здесь искусственный интеллект - это базовое понятие, которое мы обсуждаем на протяжении всего курса, машинное обучение - его подмножество (решает задачи создания алгоритмов, способных обучаться на данных в отличие от явного программирования задачи). Глубокое обучение и нейросети - один из видов машинного обучения, получивший массовое применение. О разных направлениях машинного обучения речь пойдет далее в данной лекции.

    Представленная выше схема получила массовое цитирование [32, 33], однако, как любая высокоуровневая схема, она не раскрывает подробностей, вынужденно упрощает реальную картину и может ввести в заблуждение по поводу деталей. Например, известно, что первая модель искусственного нейрона появилась в 1943 году, а первые попытки создания нейронных сетей были предприняты в 50-е - 60-е годы. Персептрон Персептрон (перцептрон) - математическая или компьютерная модель восприятия информации мозгом, предложенная Фрэнком Розенблаттом и впервые реализованная в виде электронной машины "Марк-1" в 1960 году , предложенный американским нейрофизиологом Фрэнком Розенблаттом, имел возможность обучаться, и это было самое настоящее машинное обучение (задолго до периода, соотнесенного с машинным обучением на популярном рисунке 1.13). То же самое и с глубоким обучением - многослойные нейронные сети появились задолго до отмеченного на рисунке 2010 года.

    Почему же этап машинного обучения обозначен лишь в восьмидесятые годы, а глубокое обучение с 2010 года?

    Попробуем разобраться.

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

    Поэтому от рождения до того момента, когда технология доходит до уровня массового принятия (когда она определяет сущность этапа), может проходить длительное время. Именно так следует воспринимать начало этапов на рис.1.13.

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

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

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

    Отмеченную выше мысль (отличие машинного обучения от традиционного программирования) иллюстрирует рис. 1.15.

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

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

    Неслучайно появился слоган "От программ, написанных человеком, к программам, написанным другими программами".

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

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

    Увы, простота оставляет за скобками массу деталей. По мере рассмотрения этих деталей мы неизбежно придем к более сложным схемам, которые уже не укладываются в простые и наглядные высокоуровневые представления. Говоря о сложности построения единой схемы ИИ, уместно привести цитату Марвина Минского: "Инженерное и научное образование заставляет нас ожидать, что все, включая интеллект, имеет простое, компактное объяснение. Соответственно, когда новички в области ИИ спрашивают: "В чем суть ИИ?", - они, похоже, ожидают ответа, определяющего ИИ в терминах нескольких основных математических законов" [34].

    Множественность подходов создания ИИ

    Ранее мы обратили внимание читателя на неравномерный волно-образныйхарактерразвитиятехнологий ИИ. Еслипосмотретьразные источники, в поисках согласованного мнения, когда был взлет внимания к технологиям ИИ, а когда охлаждение, то обнаружим, что у разных авторов мнения несколько расходятся. Дело в том, что процесс развития ИИ не является однородным (опирающимся на одну технологию) - напротив, он эволюционировал в рамках разных направлений, разных научных школ. Поэтому в то время, как в развитии одних научных направлений был прорыв, другие имели локальные замедления. В многочисленных работах, посвященных этому вопросу, можно найти упоминания разного количества научных школ (направлений). Мы упомянем четыре и чуть подробнее остановимся на трех из них (коннекционизм, символизм На мой взгляд, "символизм" хоть и используется в ряде источников, не очень удачный термин, более предпочтительно использование термина "символьный подход". - Примечание научного редактора и эволюционизм) ( рис. 1.16).

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

    Символизм или символьный ИИ

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

    С помощью символов мы можем представлять окружающие нас предметы (машина, кошка, собака). Это могут быть не только перечисленные материальные объекты, но и абстрактные понятия (демократия, капитализм, транзакция). Символы могут быть организованы в иерархию (автомобиль состоит из дверей, окон, шин, сидений и т. д.). Символы могут использоваться для описания других символов (красное яблоко, тяжелый груз). Способность человека манипулировать символами существовала тысячи лет до появления термина "искусственный интеллект".

    С помощью символов могут быть построены логические конструкции (если Петя является сыном моей дочери, то, следовательно, Петя мой внук). Символьный искусственный интеллект также иногда именуют как "Rule based AI" - ИИ, основанный на правилах. В некоторых публикациях в качестве синонима понятия "символьный ИИ" используют сокращение GOFAI ("Good Old-Fashioned Artificial Intelligence" - "старый добрый искусственный интеллект"), по имени, которое использовал Джон Хоугеланд в своего курса "Искусственный интеллект: Основная идея".

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

    Приведем простой пример применения подходов символьного ИИ на практике: пусть некая скоринговая программа использует символьные переменные "пол", "возраст", "профессия" и т. п., которые могут принимать определенные значения. В программе заданы правила типа "Если профессия "программист", пол мужской, а возраст попадает в промежуток от 30 до 40 лет, то некоторая переменная, участвующая в определении кредитного рейтинга, примет такое-то значение". При этом очевидно, что логика, по которой оценивается кредитный рейтинг респондента в данном примере задана изначально, вычисляется она по определенным правилам, может быть явно прочитана человеком, а подобного рода вывод программы является объяснимым. Определив совокупность правил вышеуказанным способом и задавая на входе совокупность параметров, по которым мы оцениваем потенциальных клиентов, можно решать такие задачи, как оценка целесообразности выдачи кредита.

    Говорят, что символьный ИИ относится к объяснимым (или интерпретируемым) методам ИИ, поскольку позволяет рассуждать о том, каким образом получен достигнутый результат.

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

    Определив набор сущностей, выраженных в виде символов и отношений между ними, мы приходим к понятию " семантические Семантика - раздел лингвистики, изучающий смысловое значение единиц языка. В качестве инструмента изучения применяют семантический анализ сети" - сети, которые представляют собой направленный граф, вершины которого соответствуют объектам, а дуги (линии) - отношениям между ними.

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

    Примером семантической сети является граф, отражающий взаимодействия в семейной системе, где на основе указанных связей можно получить характер родственных отношений между всеми членами группы (рис. 1.18).

    Используя в качестве семантической сети (базы знаний) семейное дерево, то есть зная имена и родственные связи и следуя цепочке рассуждений типа "Если Анна мать Елены, а Елена мать Евгения, то Евгений - это внук Анны", система может генерировать ответы на вопросы о родственных отношениях всех участников системы.

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

    При этом отметим, что символьная система ИИ, по крайней мере в классическом ее понимании, не может обучаться сама, она опирается на базы знаний, которые явно закладываются в систему разработчиком.

    Эффективность такой системы зависит от объема и качества базы знаний. Если система получает запрос, по которому знания либо отсутствуют, либо ошибочны, система не сможет дать удовлетворительный ответ.

    Приведенный пример на рис. 1.18 ограничен набором людей, связанных заранее известными (родственными) отношениями, однако если попытаться построить граф взаимоотношений из случайного набора людей, задача окажется намного сложнее.

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

    В частности, символьный подход (наряду с другими методами) был использован в решении Deep Blue, победившем чемпиона по шахматам Каспарова в 1997 году.

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

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

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

    Пример дерева решений показан на рис. 1.19. Начиная с отправной точки "могу ли я начать писать статью", решения принимаются в зависимости от последовательности ответов на вопросы, каждый из которых зависит от результатов предыдущих ответов. Так двигаясь по той или иной ветке дерева, мы достигаем результата.

    Дерево решений - это простейший способ извлечения знаний из данных, существуют и другие. Такой подход изучается в рамках направления интеллектуального анализа данных (Data Mining) или "добычи знаний из баз данных" (Knowledge Discovery in Databases).

    В первую очередь символьный ИИ ассоциируется с экспертными системами и базами знаний.

    Экспертные системы были одними из первых действительно успешных форм программного обеспечения для ИИ. Экспертная система эмулирует способность человека-эксперта по принятию решений путем рассуждений на основе совокупности знаний, представленных в виде правил. Первые экспертные системы были созданы в 1970-х годах. К наиболее ранним примерам можно отнести программу MYCIN, которая была разработана в 1972 году и диагностировала инфекционные заболевания крови.

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

    Так же, как и MYCIN, PROSPECTOR вовлекает геолога в диалог, с тем чтобы, опираясь на его наблюдения в качестве источника исходных данных, выбрать модель и дать ответ на вопросы "Где бурить?" и "Где искать?". В 1984 г. система достаточно точно предсказала существование месторождения молибдена, оцененного в многомиллионную сумму.

    Широкое распространение экспертные системы получили в 1980-х годах. В 1980 году для корпорации Digital Equipment Сorp. была создана экспертная система под названием XCON, которая, по свидетельству разработчиков, экономила до 40 млн долларов ежегодно. С начала 1980-х годов корпорации по всему миру начали разрабатывать экспертные системы. Можно сказать, что выход из очередной зимы искусственного интеллекта в 1980-х годах произошел именно на волне разработок ИИ в форме экспертных систем. Основные элементы экспертной системы показаны на рис. 1.20.

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

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

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

    Данную идею наглядно иллюстрирует рис. 1.21.

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

    Понимание взаимосвязи между словами, отношений между сущностями позволяет улучшить качество поиска. Для решения данной задачи используются уже упомянутые нами графы знаний Графы знаний - сетевые структуры данных, представляющие знания о реальном мире. В узлах сети могут располагаться любые объекты (люди, компании, цифровые активы и т. д.), а связи между узлами соответствуют отношениям между узлами . По данным компании Google, она начала первой использовать графы знаний для реализации семантического поиска в 2012 году. В это время в компании появился лозунг "сущности и контекст, вместо строк ключевых слов", известный также в короткой его форме "сущности, а не строки". Граф знаний объединяет большой объем общедоступной информации о различных сущностях и их признаках, свойствах и связях между этими сущностями. В 2013 году в поисковой системе Google появился алгоритм Hummingbird (Колибри), который считается первым поисковым алгоритмом, в котором был реализован семантический поиск, направленный на решение задачи "страницы, соответствующие смыслу, должны быть в приоритете по сравнению со страницами, соответствующими лишь нескольким поисковым словам". По сути, это означает, что страницы, которые лучше соответствуют контексту и намерениям пользователя, должны ранжироваться выше, чем страницы, которые повторяют ключевые слова без контекста. Для поисковиков это было очень важно, учитывая, что появилось множество недобросовестных методов для поднятия рейтинга страниц путем накачки ключевых слов. В настоящее время графы знаний широко используются технологическими гигантами, которым необходим анализ огромных объемов неупорядоченных данных. Не только Google использует графы знаний. Facebook Facebook - проект Meta Platforms Inc., деятельность которой в России запрещена также использует данную форму организации информации, чтобы отслеживать сети людей и связи между ними, с учетом такой информации, как любимые фильмы и актеры, посещенные мероприятия и т. п.

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

    Можно сказать, что семантический поиск - это технология, которая использует модель графа знаний и позволяет системам искусственного интеллекта понимать значение сущностей и связей между ними, давая таким образом возможность увеличить точность поиска и степень его персонализации.

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

    Несмотря на то, что по массовости применения в решении современных задач ИИ символьный ИИ уступил позиции субсимвольным методам, тем не менее применение символьного ИИ существует и по сей день в современных экспертных системах, таких как, например, платформа ROSS [38], которая помогает юридическим фирмам в изучении судебных дел, в поисковых системах и других приложениях.

    Каждое из направлений ИИ имеет свои сильные и слабые стороны. Многогранность явления ИИ говорит о том, что не существует одного-единственного наилучшего способа для решения широкого спектра задач ИИ. Оптимальные решения могут быть достигнуты на базе комбинирования нескольких подходов. Например, разработки в области символьного ИИ лежат в истоках такого фундаментального направления в области ИИ как NLP (Natural Language Processing, обработка естественного языка), которое в последнее время активно развивается, опираясь на технологии глубокого обучения. Все чаще возникают проекты, в которых речь идет об интеграции символьных и субсимвольных подходов для обеспечения объяснимости ИИ-решений. Прежде чем привести примеры подобных решений, напомним читателю более подробно о сути коннекционистских подходов в создании ИИ.

    Коннекционизм

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

    Одним из центральных направлений коннекционизма является моделирование интеллекта с помощью искусственных нейронных сетей, состоящих из нейронов и синапсов (связей между нейронами). Механизм работы искусственных нейронов заимствован из живой природы. Последние были созданы в результате наблюдения за процессами, происходящими в мозге живых организмов. Заметим, что сам термин "нейрон", используемый в понятии "искусственные нейронные сети" (ИНС), был заимствован из биологии. Представление о том, что развитие и обучение человека базируется на свойствах нейронов мозга устанавливать связи, не ново, согласно данным [39] данная идея была высказана еще в 1932 г. психологом из Колумбийского университета (Нью-Йорк) Эдвардом Торндайком.

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

    Каждая нервная клетка состоит из трех частей: из тела, нескольких ветвистых отростков (дендритов) и протяженного нервного волокна (аксона), длина которого может составлять от нескольких миллиметров до десятков сантиметров (рис. 1.23).

    Нервные клетки взаимодействуют между собой в местах стыка (синапсах), где встречаются аксон пресинаптического нейрона и дендрит постсинаптического нейрона. Дендриты являются входными каналами для нервных импульсов, поступающих через аксоны от других нейронов. Эти импульсы могут либо возбуждать (увеличивать), либо подавлять (уменьшать) мембранный потенциал тела нейрона, который со временем возвращается к своему нормальному значению. Если количество возбуждающих импульсов превышает пороговое значение, то нейрон сам генерирует импульс.

    Взаимодействующие между собой посредством передачи возбуждений нейроны формируют нейронные сети.

    Как будет показано далее, ИНС используют некоторую аналогию с работой живых нервных клеток.

    Основополагающей работой, заложившей фундамент для создания искусственных моделей нейронов и нейронных сетей, явилась работа Уоррена С. Мак-Каллока и Вальтера Питтса "Логическое исчисление идей, относящихся к нервной активности", опубликованная в 1943 г., в которой была предложена модель формального нейрона. Однако прошло более 10 лет, прежде чем появился нейрон Розенблатта, в котором использовалось суммирование входящих сигналов, умноженных на соответствующие числовые значения (синаптические веса) - рис. 1.24.

    Несложно проследить сходство схемы, показанной на рис. 1.24, и рисунка 1.24. Модель, прообразом которой является биологический нейрон, представляет собой устройство, имеющее несколько входов (синапсы) и один выход (аксон).

    На вход подаются сигналы x1, х2\dots хn. Каждому входу ставится в соответствие некоторый весовой коэффициент w1, w2\dots wn.

    Попадая в нейрон, сигналы умножаются на соответствующие веса и складываются между собой (x1*w1+ x2*w2+ \dots + xn*wn - линейное преобразование). Сложение сигналов, поступающих по синаптическим связям, осуществляется в сумматоре (рис. 1.24).

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

    В рассмотренной модели использовалась пороговая функция активации (ступенчатая функция), которая показана на рис. 1.25 (а). Если суммарный сигнал превышает заданный порог активации, то нейрон возбуждается (активируется) и выдает на выходе 1, иначе выдается 0.

    Определенным недостатком (ограниченной гибкостью) модели Уоррена Мак-Каллока являлся именно вид переходной функции (пороговый) - если значение вычисленного суммарного сигнала даже незначительно не достигает заданного порога, то выходной сигнал не формируется.

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

    Впоследствии были реализованы модели нейрона с различными функциями активации. В частности, наиболее широкое использование получила сигмоида - гладкая монотонно возрастающая нелинейная функция, которая ограничена двумя горизонтальными асимптотами, что обеспечивает нормализацию выходного значения нейрона (рис. 1.25 б ) в диапазоне от 0 до 1.

    По сути, нейрон представляет собой элементарный вычислитель, характеризующийся входным/ выходным состоянием и функцией активации.

    На основе элементарных вычислителей, каждый из которых получает сигналы и посылает другим вычислителям, составляются ИНС разной топологии. Самая простая однослойная сеть показана на рис. 1.26.

    Здесь сигналы от входного слоя сразу подаются на выходной слой по связям, каждой из которых устанавливается свой весовой коэффициент.

    С помощью подобной сети можно построить работу простейших автоматов. Например, на рис. 1.27 показан автомат (гусеничный робот с тремя датчиками света), реагирующий на положение источника света.

    Входные ячейки (фотоэлектрические датчики) реагируют на свет, посылают сигналы на выходные ячейки (нейроны), которые подают сигнал на управление гусеницами робота. Обучить такой автомат разным вариантам движения в зависимости от положения света можно задав весовые коэффициенты, определяющие силу связи между ячейками. В рассмотренном примере задача по обучению робота состояла в необходимости обеспечения движения такой машины за источником света. Для этого были подобраны веса, определяющие силу связи (от 0,45 до 0,99), как показано на рисунке. Еслиположение источника света находится спереди слева от автомата, то активируется вращение правой гусеницы, и наоборот. Несложно представить, что подобная машина будет двигаться за источником света.

    Мы рассмотрели простейшую однослойную сеть. Больший интерес представляют многослойные сети. На рис. 1.28 показана многослойная сеть, где каждый нейрон одного слоя посылает сигнал каждому нейрону другого слоя. Данная сеть - это сеть прямого распространения, то есть сеть, в которой сигнал распространяется от входного слоя к выходному в одном направлении Сети, в которых выход нейрона может вновь подаваться на его вход, называются сетями с обратными связями или рекуррентными сетями, о таких сетях речь пойдет далее в этой лекции .

    В показанной на рис. 1.28 сети пять слоев - один входной, три скрытых (промежуточных) и один выходной. Чем больше количество слоев, тем глубже сеть, поэтому и появился термин "глубокое обучение". Формально при наличии больше одного скрытого слоя уже принято говорить о глубоких нейронных сетях [41], сети с одним скрытым слоем называют неглубокими (shallow).

    Далее поговорим об обучении нейронных сетей. В процессе обучения на вход подается вектор признаков ( рис.1.28), описывающий объект (массив значений), число элементов которого равно числу входных нейронов, на внутренних слоях происходит обработка сигналов, сеть преобразовывает сигнал в выходной слой.

    Для того чтобы более наглядно объяснить, как происходит процесс обучения, рассмотрим конкретную задачу распознавания рукописных символов (рис. 1.29).

    Как показано на рисунке, изображение рукописного символа (в данном случае цифры 4) разбивается на пикселы, представляется в виде вектора чисел и подается на вход сети.

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

    Если необходимо, чтобы сеть классифицировала все многочисленные варианты рукописного написания цифр (например, четверки, показанной на рисунке как числа "4"), то задача состоит в том, чтобы научить сеть способности обобщать признаки на различных входных данных.

    Для этого сети нужно продемонстрировать максимально полный набор вариантов написания цифры разными способами, чтобы она "поняла", какая совокупность признаков позволяет людям относить все разные начертания к одному классу изображений (цифре четыре). Для решения подобной задачи создаются обучающие выборки - данные, по которым обучается сеть. Обучение производится на многочисленных примерах размеченных данных, то есть на базе изображений, в каждом из которых отмечен правильный результат. Подобное обучение называют обучением с учителем или контролируемым обучением. Этот процесс похож на обучение ребенка. Ученику показывают изображение цифры в курсе или написав ее на доске, сообщая при этом правильный ответ. А потом тестируют ученика на знание предмета. Похожая процедура проводится с сетью. Сеть обучают на большом числе примеров по многочисленным вариантам написания каждой цифры, в результате чего подбираются весовые коэффициенты всех связей нейронов, и сеть в результате этой операции приобретает способность распознавать те изображения рукописных цифр, которые ей ранее не были продемонстрированы. После того, как сеть обучена, качество полученной модели проверяют на тестовой выборке. Если тест пройден - модель готова.

    На рис. 1.29 условно мы показали процесс распознавания рукописной цифры 4. Затемненные кружки на рисунке отражают процесс возбуждения (активаций) нейронов, приводящих к получению ответа на выходном слое. Темным цветом показана искомая цифра, а светло-серым в выходном слое обозначены нейроны, соответствующие цифрам 1 и 7, что отражает тот факт, что написание этих цифр имеет некоторые схожие признаки с цифрой "4".

    Жизненный цикл нейронной сети, как и любой модели машинного обучения, состоит из двух этапов: обучение (training) и применение (inference). На рис. 1.30 показаны периоды обучения сети: 1 иллюстрирует сеть определенной топологии до начала обучения, 2 показывает процесс обучения. Речь идет о задаче, в которой сеть должна обучиться относить изображения к одному из двух классов - "кошка" и "собака". По аналогии с предыдущим примером, где речь шла о необходимости продемонстрировать сети все варианты написания цифр, в данном случае сети необходимо продемонстрировать все варианты расположения, все ракурсы, все варианты освещения изображений обоих животных, чтобы сеть могла вычленить общие признаки для распознавания каждого из двух классов на фото. По мере того, как в сеть подаются размеченные изображения (про каждое известно, что там показано - кошка или собака), идет процесс обучения, который состоит в том, чтобы так подобрать весовые коэффициенты, чтобы сеть правильно относила каждое изображение к одному из двух классов. На рисунке на стадии обучения нейроны показаны разных размеров, что условно означает процесс нахождения весовых коэффициентов, которые определяют разную силу связи между соседними нейронами (то есть вес отдельных нейронов). На рис. 1.30 (3-4) условно показан процесс оптимизации сети по производительности: производится удаление избыточных связей в сети - связей, которые определяются малыми весами.

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

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

    Обученная и оптимизированная модель передается в систему, где происходит ее применение - сеть распознает новые изображения. Заметим, что обучение сети может являться довольно длительным процессом, а вычисление результатов обученной сетью модели происходит достаточно быстро. Готовая для использования модель может быть размещена в облаке в некотором ЦОДе, локально у заказчика или на периферийном устройстве. В случае периферийного устройства небольшой мощности может быть особенно актуальна стадия оптимизации модели по производительности, о которой мы упомянули ранее.

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

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

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

    Обучение нейросети происходит в два этапа - прямого распространения сигнала по сети, после которого вычисляется ошибка предсказания, и распространения ошибки по сети в обратную сторону по тем же самым связям, при котором веса связей сети корректируются таким образом, чтобы повысить успешность решения сетью задачи (уменьшить ошибку). Процесс повторяется до тех пор, пока не будет достигнут желаемый результат.

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

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

    Символизм и коннекционизм - конкуренция и интеграция

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

    Сравнивая упомянутые направления, уместно напомнить понятия "нисходящий" и "восходящий" как два подхода к созданию ИИ. Символьный подход относят к нисходящему (его также иногда называют подход "сверху вниз"), а коннекционистский - к восходящему (или к подходу "снизу вверх").

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

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

    Использование вышеописанных подходов можно проиллюстрировать на разных вариантах построения программы распознавания символов - например, символы можно распознавать на основе описания начертания той или иной буквы, в виде определения совокупности правил: "если буква состоит из трех отрезков, двух длинных и одного короткого, которые расположены таким-то образом, то следовательно - это буква А". Это символьный или нисходящий подход. В восходящем подходе речь может идти об обучении нейронной сети путем представления ей изображений большой совокупности букв "А", написанных разными способами, так что сеть сможет вычленить общие признаки для всех вариантов написания буквы и начать ее распознавать.

    Исторически символьный подход был первым направлением, на базе которого удалось создать коммерчески успешные системы искусственного интеллекта. Он господствовал примерно с 1950-х по 1980-е годы.

    Нисходящие системы плохо справляются с решением задач, включающих большое количество слабых видов взаимодействий, как, например, в системах распознавания образов. Этим объясняется растущее стремление найти альтернативный, более гибкий подход - что стимулировало обращение к коннекционистским моделям.

    Для обучения ИНС требуют больших вычислительных ресурсов и памяти, которые было невозможно удовлетворить в период расцвета символьных методов. Позднее, когда появились более производительные компьютеры, исследования коннекционистских сетей "подход снизу вверх" показали значительные перспективы сначала в области распознавания образов, а позднее и во многих других областях. Общая тенденция выразилась в том, что по мере роста вычислительных возможностей коннекционистские методы в существенной мере потеснили символьные.

    Этот процесс наглядно иллюстрирует рис. 1.32, на котором показано соотношение числа цитируемых публикаций, принадлежащих к категориям "Коннекционизм" и "Символизм". Корпус статей "Коннекционизм" включал более 100 тысяч публикаций, собранных на "Web of Science", а корпус "Символизм" - примерно 65 тысяч публикаций, собранных по профильным ключевым словам.

    На рис. 1.32 отмечен 1943 год, в котором, как мы упомянули, появилась модель МакКаллока-Питтса.

    Согласно данным Британики [45], первая нейронная сеть появилась в 1954 году, она была разработана Белмонтом Фарли и Уэсли Кларком из Массачусетского технологического института. Сеть была ограничена 128 нейронами и позволяла распознавать простые шаблоны.

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

    Среди первых применений можно упомянуть использование сети для принятия инвестиционных решений, распознавания рукописных цифр и определение по внешнему виду некоторых видов вооружений на изображениях.

    В 1958 году Розенблатт построил электронное устройство, которое должно было имитировать процессы человеческого восприятия, получившее название "Перцептрон". Проект базировался на развитии идей МакКаллока и Питтса. Перцептрон должен был передавать сигналы от устройства на базе фотоэлементов в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов.

    Два года спустя (в 1960 году) в Корнеллском университете был продемонстрирован первый нейрокомпьютер - "Марк-1", который был способен распознавать некоторые буквы английского алфавита. В современной терминологии перцептроны могут быть классифицированы как искусственные нейронные сети с одним скрытым слоем, с пороговой передаточной функцией и с прямым распространением сигнала.

    В это же время шло развитие технологий в области символьного ИИ. В частности, на рис. 1.32 отмечен 1965 год - это год, в котором британский философ и логик Джон Алан Робинсон сформулировал правило резолюций - правило вывода, восходящее к методу доказательства теорем через поиск противоречий. Работы ученого были решающими в развитии языка логического программирования Пролог, оказавшего большое влияние на развитие символьного направления.

    Следующее событие, отмеченное на временной шкале рис. 1.32, это 1969 год - год, когда Марвин Минский и Сеймур Пейперт написали книгу под названием "Перцептроны", в которой были отмечены некоторые ограничения перцептронов, публикация способствовала смещению интереса исследователей искусственного интеллекта в область символьных вычислений.

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

    Однако в конце 1980-х и начале 1990-х годов индустрия ИИ испытала ряд финансовых неудач. На рис. 1.32 этот период обозначен как крах рынка LISP машин. В конце 80-х годов рынок специализированных аппаратных средств искусственного интеллекта испытал давление со стороны настольных компьютеров Apple и IBM, которые быстро набирали вычислительную мощность и вскоре сделали неэффективными более дорогие LISP-машины, что привело к закрытию целой индустрии.

    1986 г. отмечен как год появления алгоритма обратного распространения ошибки - популярного алгоритма обучения нейронных сетей, в существенной мере способствовавшего распространению нейросетевых технологий. Алгоритм часто связывают с именем Румельхарта, который внес существенный вклад в развитие метода Впервые метод был описан в 1974 г. А.И. Галушкиным, а также независимо и одновременно Полом Дж. Вербосом, далее существенно развит в 1986 г. Дэвидом И. Румельхартом, Дж. Е. Хинтоном .

    С середины 90-х годов нейронные сети привлекают все больший интерес сообщества разработчиков ИИ.

    Глубокие нейронные сети позволили получить ранее недостижимые результаты в задачах предсказания, однако они не дают объяснения человеку того, как именно был достигнут тот или иной результат (не являются интерпретируемыми), что ограничивает их применение особенно в таких приложениях, в которых принятие решения является критичным с точки зрения последствий при неверно принятом решении (например, постановка диагноза и выбор метода лечения).

    Если логика семантической сети изначально понятна человеку, то с нейронными сетями такую логику проследить невозможно, что демонстрирует рис. 1.33.

    Наличие недостатков и достоинств в нейросетевом и символьном подходах стимулировало исследователей к созданию гибридных решений. Гибридный подход, известный как нейросимвольный ИИ, сочетает в себе черты двух основных стратегий ИИ символьного и коннекционистского (рис. 1.34).

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

    Мы уже говорили, что там, где критичность принятия решения высока, необходимо решение, где человек контролирует ИИ. Те же соображения справедливы в отношении объяснимости ИИ там, где решение критично с точки зрения недопустимости ошибки, там требуется объяснение - как, на основании чего ИИ принял решение.

    Объяснимый искусственный интеллект, или XAI (сокращение от Explainable Artificial Intelligence), - одно из относительно молодых и быстро развивающихся направлений в области ИИ, о котором речь еще будет идти в данном курсе.

    Эволюционизм

    Эволюционизм можно определить как научное направление, в рамках которого разрабатывается совокупность алгоритмов, моделирующих эволюционные процессы (и механизмы их реализации), наблюдаемые в живой природе. Эти механизмы обеспечили возникновение сложнейших живых организмов на Земле, приспособленных к самым разным условиям обитания. Исследование и использование данных механизмов позволило человеку создать искусственные системы, проявляющие способности достижения оптимальных стратегий поведения в разных внешних условиях. Подобно тому как искусственные нейронные сети получили начало на основе изучения работы нейронов в живых организмах, так эволюционные алгоритмы базируются на наблюдаемых в живой природе процессах наследования, мутации и отбора.

    Отметим, что идея построения эволюционных алгоритмов ненамного моложе идеи построения искусственных нейронных сетей. Первые попытки использования цифровых компьютерных моделей для изучения процессов естественной эволюции использовались уже с середины 1950-х годов [47].

    В начале 60-х годов прошлого столетия Ганс-Иоахим Бремерманн представил одни из первых попыток применить моделируемую эволюцию для решения задач численной оптимизации, а также разработал некоторые из ранних теорий эволюционных алгоритмов.

    В 1967 году Джоном Генри Холландом были разработаны наиболее значимые генетические алгоритмы (подмножество эволюционных алгоритмов), на базовых принципах работы которых мы коротко остановимся.

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

    Генетический алгоритм моделирует процесс естественного отбора, в котором наиболее приспособленные особи отбираются для производства потомства следующего поколения. Эти наиболее приспособленные особи из популяции производят потомство, которое наследует характеристики родителей, и эти характеристики передаются следующему поколению. Данный процесс продолжается при смене поколений (итерационно) и в конце концов приводит к "искомому" поколению с наиболее приспособленными особями. По сути, этот процесс можно рассматривать как итерационный процесс нахождения наилучшего решения задачи.

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

    Можно сказать, что генетический алгоритм позволяет заменить процесс моделирования объекта, отвечающего некоторым требованиям, на процесс моделирования эволюции, приводящий к появлению подобного объекта.

    Рассмотрим принципы работы генетического алгоритма на упрощенном наглядном примере.

    Задача формулируется так, что ее решение может быть представлено в виде вектора генов ( генотипа Напомним, что в биологии генотип определяется как совокупность генов данного организма и, в отличие от понятия генофонд, характеризует особь, а не вид ), где каждый ген может быть представлен некоторым объектом (числом или битом). На рис. 1.35 показана схема, поясняющая соотношение понятий ген, хромосома, популяция, используемых в генетическом алгоритме. Подобно тому как в алгоритмах на базе искусственных нейросетей базовый термин "нейрон" заимствован из нейробиологии, в генетических алгоритмах применяется целый ряд терминов, изначально введенных в генетике (популяция, особь, ген, хромосома, генотип).

    Особь (индивидуум) характеризуется набором параметров - фенотипом. Фенотип - это совокупность внешних и внутренних признаков организма, приобретенных в результате индивидуального развития. Фенотип формируется на основе генотипа (совокупность генов) при участии ряда факторов внешней среды.

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

    Процесс поиска решения осуществляется в рамках алгоритма, показанного на рис. 1.36.

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

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

    Фитнес-функция принимает на входе текущее потенциальное решение задачи и выдает значение, оценивающее его пригодность.

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

    Если условие остановки не выполнено, то производится отбор хромосом для производства потомков. Идея фазы отбора заключается в том, чтобы отобрать наиболее приспособленных особей (хромосом) и позволить им передать свои гены следующему поколению.

    Особи с высокой приспособленностью имеют больше шансов быть отобранными для воспроизводства. Процесс скрещивания показан на рис. 1.37(а). Для каждой пары родителей, подлежащих размножению случайным образом, выбирается точка кроссинговера (точка разрыва). В этой точке обе хромосомы делятся на две части и обмениваются генетическим материалом. На рис. 1.37(а) точка кроссинговера равна 3. Потомство создается путем обмена генами родителей между собой до достижения точки кроссинговера. Новое потомство добавляется в популяцию.

    Некоторые из генов образовавшихся потомков могут подвергнуться мутации для поддержания разнообразия в популяции. На рис. 1.37(б) данный процесс проиллюстрирован тем, что некоторые нули заменены на единицы, а единицы на нули. Есть определенная вероятность, что благодаря мутации особь приобретет новое полезное свойство, если это свойство будет вредным, то такая особь будет отсеяна.

    Таким образом, для возникновения новых комбинаций генов используются две операции: кроссинговер (скрещивание), позволяющий создать две новые хромосомы потомков путем комбинирования генетического материала пары родителей, а также мутация, которая может вызывать изменения в отдельных хромосомах.

    Со временем эволюционные методы стали применять для оптимизации структуры нейросети, так возник термин "нейроэволюция". Первые нейроэволюционные алгоритмы появились в 1980-х годах.

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

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

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

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

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

    Принципиальная схема нейроэволюции показана на рис. 1.38.

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

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

    Агентный подход

    Центральным элементом данного подхода к построению искусственного интеллекта, как следует из его названия, является понятие агента. Согласно [52], "агент - это любая сущность физическая или виртуальная, которая воспринимает свое окружение через датчики и действует на это окружение через исполнительные механизмы".

    Под агентом могут подразумеваться разные сущности (программа, робот, человек). Агенты могут действовать в реальном мире (роботы), в виртуальном (персонаж игры), воздействовать на внешний мир из виртуального - чат-боты и другие программные агенты, поддерживающие решения конкретных людей.

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

    Алгоритмы машинного обучения позволяют агенту адекватно реагировать на изменения среды, совершенствовать правила поведения или приобретать интеллектуальное поведение.

    Агенты можно классифицировать по степени их интеллектуальности, по способности рассуждать. Самые простые агенты - это реактивные агенты, они имеют простейший тип поведения, основываются на минимальном объеме информации и простых правилах: "ситуация-действие", "запрос-ответ".

    Так называемые делиберативные агенты используют некоторые логические рассуждения и/или возможности планирования (1.39).

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

    По поведению агенты можно разделить на пассивные (не имеют конкретных целей, могут реагировать на внешние раздражители, но сами не будут инициировать никаких действий) и активные (имеют определенные цели, которые они преследуют). Используется также термин "когнитивные агенты" - агенты, которые предполагают сложное планирование и рассуждения.

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

    Многоагентные системы можно классифицировать по типу сотрудничества агентов (рис. 1.40).

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

    Многоагентные системы называются сотрудничающими, если у ее агентов есть общие цели, при этом ее агенты могут взаимодействовать между собой, а могут не взаимодействовать.

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

    Многоагентный подход обеспечивает устойчивость и масштабируемость системы. За счет того, что ответственность за выполнение общей задачи распределена между большим числом агентов, система может переносить сбои одного или нескольких агентов.

    Такие характеристики многоагентных систем, как гибкость и надежность, делают их эффективным подходом для решения многих сложных задач. Подобная задача делится на множество мелких простых подзадач, которые распределяются между агентами. Потребление ресурсов в такой системе оптимизируется между несколькими агентами, что часто приводит к менее затратному решению по сравнению с подходом, при котором вся задача выполняется одним агентом [54].

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

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

    Из конкретных примеров можно привести проект компании Waymo, которая создала среду многоагентного моделирования Carcraft для тестирования алгоритмов беспилотных автомобилей, где имитируется дорожное взаимодействие между водителями-людьми, пешеходами и самоуправляемыми автомобилями.

    Машинное обучение и его типы

    Мы выделили на рис. 1.14 машинное обучение как монолитную область, затем рассмотрели разные научные направления, которые используются для решения задач машинного обучения. Помимо этого, следует упомянуть классификацию машинного обучения по степени контроля за процессом обучения (контролируемое, неконтролируемое, и т. п.), а также по типу целевой переменной Целевая переменная описывает результат (цель) процесса, она может быть непрерывной (принимать произвольные значения), категориальной (выбор класса изображения). Может быть ситуация, когда целевой переменной не существует, как, например, в задаче о кластеризации при обучении без учителя и решаемых задач ( рис. 1.42).

    Контролируемое обучение (с учителем)

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

    На рис. 1.42 отмечено два типа задач в категории обучения с учителем - это классификация и регрессия.

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

    При этом нельзя сказать, что успехи нейросетей полностью вытеснили методы классического машинного обучения, включающего в себя целый ряд различных алгоритмов обучения, помимо нейро-сетевого. Нейросети хорошо показывают себя в задачах, где имеются большие объемы данных и признаки трудно извлечь ручным способом. Если же имеются данные небольшого объема с понятными структурированными признаками, то можно применить методы классического машинного обучения, которые мы очень кратко рассмотрим в этом курсе.

    В качестве примера алгоритма классического обучения с учителем, используемого для решения задачи классификации, приведем весьма популярный метод опорных векторов (Support Vector Machine, SVM). Впервые этот алгоритм был предложен нашими соотечественниками Владимиром Вапником и Алексеем Червоненкисом в 1963 году.

    Идею метода проиллюстрируем на примере задачи определения, к какому из двух изначально известных классов А и Б относится искомый объект.

    Рассмотрим простейший наглядный пример (рис. 1.43), где представлены исходные точки (распределенные на плоскости по двум признакам - X\apos и X\apos\apos) и разбитые на два класса "А" и "Б". Задачей классификации является предсказание принадлежности к тому или иному классу новой (не принадлежащей к известной выборке) точки на плоскости.

    Чтобы пример не был абстрактным, скажем, что параметры - это возраст и доход некоторой группы людей, а задача классификации состоит в определении их принадлежности к классу А (потенциальных покупателей определенного товара) и классу Б (тех, кто товар не купит).

    На рисунке построена линия, разделяющая эти два класса (разделяющая прямая). Оптимальной с точки зрения точности классификации является прямая, расстояние от которой до каждого класса максимально. Если известно положение данной прямой, то новые точки (не относящиеся к обучающей выборке) будут классифицироваться по положению относительно данной прямой, определяя их принадлежность классу A или Б.

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

    По обеим сторонам гиперплоскости ( рис. 1.43 б ) строятся параллельные гиперплоскости. Точки данных, лежащие на одной из двух параллельных гиперплоскостей, которые определяют наибольшее расстояние, называются опорными векторами. Отсюда и происходит название метода. Чем больше расстояние между параллельными гиперплоскостями, тем меньше средняя ошибка классификатора.

    Представим ситуацию, когда множество точек первого и второго класса пересекаются и разделить их прямой линией невозможно (рис. 1.44). При этом при переходе из двумерного пространства параметров в трехмерное (при добавлении еще одного параметра, являющегося комбинацией имеющихся двух) возникает возможность разнести упомянутые классы и провести искомую плоскость. Таким образом, идея метода SVM состоит в переводе исходных векторов в пространство более высокой размерности и построение гиперплоскости, оптимально разделяющей эти классы.

    Для иллюстрации принципа работы алгоритма регрессии Регрессия - односторонняя стохастическая зависимость, устанавливающая соответствие между случайными переменными. В отличие от функциональной зависимости y=f(x), где каждому значению независимой переменной x соответствует одно определенное значение величины y, при регрессионной связи одному и тому же значению x могут соответствовать в зависимости от случая различные значения величины y , упомянутой на рис. 1.42, рассмотрим линейную регрессию на примере функции одной переменной в задаче прогнозирования стоимости жилья. Предположим, что имеются исходные данные о стоимости жилья определенной площади и нам необходимо спрогнозировать цену квартиры некоторой площади, которую мы планируем приобрести. Графически это можно представить как совокупность точек, которые отражают некоторый тренд. Задача линейной регрессии состоит в том, чтобы провести прямую линию так, чтобы она наиболее точно отражала исследуемый тренд. Зная данный тренд, можно предсказать цену для любой площади.

    Прямая описывается уравнением Y = kx+b, и задача определения этой прямой сводится к нахождению параметров (коэффициентов) линейной зависимости (k и b), которые могут быть найдены путем минимизации суммы квадратов отклонений от каждой точки до нашей прямой (метод наименьших квадратов). Определив коэффициенты, мы можем провести прямую, которая обеспечивает минимальные расстояния от этой прямой до исходных точек. Получив уравнение искомой прямой, найдем значение цены квартиры Y_1 при заданном значении площади Х_1 .

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

    Неконтролируемое обучение (без учителя)

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

    Одним из популярных алгоритмов, применяемых для решения задач кластеризации, является метод k-средних - метод, предложенный в 1950-х годах, суть которого состоит в том, что он стремится минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров ( рис. 1.46).

    Весьма наглядное толкование метода приводит автор статьи [56], рассматривая задачу оптимального расположения трех ларьков в поселке. На первом шаге ставим торговые точки случайным образом и смотрим, в какой ларек кому из жителей ближе идти, выделяем три кластера - три группы людей, которым ближе идти до одного из трех ларьков. Перемещаем ларьки в сторону лучшей доступности для посетителей каждой из групп. Повторяем процедуру, то есть опять делим жителей на три кластера и вновь перемещаем ларьки до тех пор, пока не получим решение задачи.

    Другой пример, отмеченный на рис. 1.42, - это метод поиска взаимосвязей (ассоциаций) в данных. Поиск подобных взаимосвязей применяется к транзакционным данным в различных отраслях, таких как розничная торговля, банковское дело, страхование. Наиболее распространенный пример - это задача поиска закономерностей в покупаемых вместе товарах. Если вы знаете, какие товары посетители данного магазина покупают вместе, вы можете так расположить продукты в магазине, что продажи вырастут.

    Полуконтролируемое обучение

    Полуконтролируемое обучение или обучение с частичным участием учителя - это случай, когда обучение происходит на небольшом количестве размеченных и большом количестве неразмеченных данных. Можно сказать, что полуконтролируемое обучение находится между неконтролируемым обучением (без каких-либо размеченных данных) и контролируемым обучением (с полностью размеченными обучающими данными) - см. рис. 1.47.

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

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

    Обучение с подкреплением

    Машинное обучение с подкреплением напоминает обучение с учителем, однако в данном случае в роли "учителя" выступает окружающая (настоящая или виртуальная) среда, которая показывает, как агенты должны действовать, чтобы получить наибольшее суммарное вознаграждение (рис. 1.48 б ).

    Если в случае (рис. 1.48 а ) мы отвечаем на вопрос "К какому классу относится исследуемый объект?", то в случае (рис. 1.48 б) мы пытаемся ответить на вопрос "Что нужно сделать, чтобы достичь жела-емого результата?". При этом мы, как правило, не знаем, хороший или плохой выбор мы делаем на каждом шаге, а получаем "вознаграждение" (подкрепление) после завершения эпизода обучения.

    Еще в 1951 году Марвин Минский, будучи студентом Гарвардского университета, построил машину, использующую простой метод обучения с подкреплением для имитации поведения мышей, которые учатся находить выход из лабиринта.

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

    Робот (агент) учится выполнять задачу путем повторяющихся проб и ошибок при взаимодействии с незнакомой динамической средой, выполняя определенные действия, получая определенные результаты (и в зависимости от них награды), и при этом его задача - добиваться максимальной награды. Часто, говоря об обучении с подкреплением, в качестве аналогии приводят пример дрессировки домашних животных, которые ориентируются на подкрепление в виде лакомства, которое они получают, выполняя правильные действия.

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

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

    Мы обещали в начале курса приводить более полные структурные схемы понятия ИИ по мере толкования новых терминов. После того как мы ввели понятия контролируемое обучение, неконтролируемое и обучение с подкреплением, можно несколько усложнить картинку (рис. 1.14), добавив в нее новые элементы (рис. 1.49).

    Соотношение категорий машинного обучения можно также наглядно представить в зависимости от решаемых задач и используемых алгоритмов (рис. 1.50).

    Перечень вариантов машинного обучения расширяется. Сравнительно недавно появилась так называемая форма самоконтролируемого обучения (Self-supervised learning SSL).

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

    Метод самоконтролируемого обучения заключается в определении любой скрытой части входных данных из любой открытой части входных данных. В этом процессе задача из неконтролируемой преобразуется в задачу с контролем путем автоматической генерации меток.

    Например, при обработке видео мы можем предсказать прошлые или будущие кадры на основе имеющихся видеоданных.

    Продолжая разговор об эволюции систем машинного обучения, следует отметить рост точности и адекватности создаваемых моделей, что, естественно, приводило к повышению доверия к более зрелым моделям со стороны пользователей. Менялись способы создания программного обеспечения, которое обеспечивало решение задач (рис. 1.52).

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

    Разработчики выделились в отдельную категорию, появились специализированные библиотеки, приложения не приходилось писать с нуля, однако дублирование было по-прежнему высоким в силу преобладания внутренних разработок и ограниченного количества общедоступных программных продуктов.

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

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

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

    Вернуться к учебному плану