ГОУВПО «Донецкий национальный технический университет»
Рассмотрена концепция преподавания искусственного интеллекта на кафедре программной инженерии Донецкого национального технического университета.
На основе анализа современного состояния науки «Искусственный интеллект» предложен многодисциплинарный подход для выработки у студентов компетенций,
позволяющих создавать программное обеспечение интеллектуальных систем различного назначения.
Введение
В настоящее время искусственный интеллект (ИИ) как наука развивается по многим направлениям, список которых содержит более десятка названий, таких как:
инженерия знаний, интеллектуальный анализ данных, обработка естественного языка, моделирование рассуждений, нечёткие модели, многоагентные системы, нейроинформатика,
компьютерное зрение и др. Многочисленные публикации показывают широкое применение интеллектуальных систем различного назначения во многих сферах нашей жизни.
Рынок технологий ИИ в 2022 году достиг 400 млрд. долл., а к 2024 году преодолеет рубеж 500 млрд. долл.
Причём более 80% продаж приходится на долю программного обеспечения [1].
В Российской Федерации направление ИИ вошло в число самых приоритетных стратегий развития страны, о чём свидетельствует Указ Президента РФ №490 в 2019 г.
«О развитии искусственного интеллекта в РФ» и многочисленные совещания на уровне правительства
[2-3].
Президент Путин В.В. в одном из своих выступлений сказал, что «если кто-то сможет обеспечить монополию в сфере ИИ, тот станет властелином мира»,
поэтому очень важно готовить специалистов в сфере IT и, в частности, развивать программы подготовки специалистов по направлениям искусственного интеллекта в вузах.
Предпосылки развития интеллектуальных технологий на кафедре программной инженерии
Начиная с первых выпускников кафедры, которые закончили ДПИ (ДОННТУ) в 1970 году по специальности «Счётно-решающие приборы и устройства – вычислительная техника»,
в силу характера своей будущей профессии, задавали себе естественный вопрос: каковы границы возможностей компьютеров и достигнут ли машины уровня развития человека?
В 1973 году (50 лет назад), чтобы поступить в аспирантуру, соискатели от кафедры пишут реферат для кафедры философии на тему: «Может ли ЭВМ мыслить?».
Это было время, когда в СССР активно проводились пионерские исследования по искусственному интеллекту, возглавляемые Д.А. Поспеловым.
На кафедре программной инженерии первой работой, использующей интеллектуальные технологии, был проект «Автоматический синтез программ».
В рамках проекта разработан проблемно-ориентированный пакет для автоматического построения на основе знаний алгоритма (программы) решения задачи,
записанной на близком к естественному языку предметной области. Данный пакет ориентирован на численное решение краевых задач математической физики (рисунок 1).
Результаты проекта обсуждались на научных конференциях и семинаре в МЭИ (Москва) [4].
Рисунок 1 – Проект по автоматизации решения краевых задач (1984 г.)
Появление за рубежом первых интеллектуальных экспертных систем показало их практическую значимость в решении трудно формализуемых задач
(диагностики, прогнозирования, принятия решений и т.д.), что послужило поводом для включения в программу подготовки программистов технологий, основанных на знаниях.
В ДОННТУ учебная дисциплина под названием «Введение в системы искусственного интеллекта» стала преподаваться студентам с 1992 года (ровно 30 лет назад).
Данная учебная дисциплина была введена в учебный план подготовки инженеров-программистов. Это был начальный период становления проблематики ИИ,
поэтому содержание данной учебной дисциплины формировалось под влиянием небольшого количества первых отечественных монографий по ИИ,
авторами которых были члены Российской ассоциации искусственного интеллекта (РАИИ) Д.А. Поспелов, Э.В. Попов, В.Л. Стефанюк, Г.С. Осипов.
Другим источником, откуда извлекались учебно-методические материалы для составления учебной рабочей программы по этой новой дисциплине, были научные конференции
по проблемам ИИ и нейрокомпьютерам (рисунок 2). За 20 лет (с 1993 по 2012 гг.) сотрудники кафедры приняли участие с докладами в 17 конференциях, что
позволило кафедре выйти на необходимый уровень компетенции в вопросах ИИ и стать членом РАИИ.
Рисунок 2 – Участие кафедры в конференциях по искусственному интеллекту и искусственным нейронным сетям
Приобретённые знания по базовым разделам интеллектуальных систем и общение с ведущими учёными помогли разработать учебные курсы лекций, которые были прочитаны в
вузах Донецка, Волгограда и Москвы (рисунок 3).
Рисунок 3 – Учебные связи кафедры по тематике ИИ с другими ВУЗами
Характерной особенностью описанного периода было то, что уровень доступных для преподавания методов и технологий ИИ позволял дать студентам знания и базовые навыки
разработки интеллектуальных систем в рамках одной учебной дисциплины.
Современная концепция преподавания ИИ на кафедре
Современный уровень развития науки ИИ существенно расширился новыми идеями, методами, инструментами и технологиями создания интеллектуальных систем (ИС).
Визуально спектр основных методов и систем ИИ можно изобразить интеллект-картой, которая показывает, насколько сильно расширился ИИ как предмет изучения (рисунок 4).
Рисунок 4 – Интеллект-карта «Базовые методы и системы ИИ»
Если несколько десятков лет назад объектом изучения и разработки была только некоторая проблемно-ориентированная Интеллектуальная система анализа и принятия решений
(Экспертная система), то сейчас есть реальная потребность и возможность создавать другие типы ИС. На теоретическом уровне, как видно из рисунка 4, также наблюдается
разнообразие методов и инструментальных средств. Поэтому в рамках одной учебной дисциплины, конечно, невозможно научить студента, во-первых, глубоко разбираться в
разных наукоёмких методах, во-вторых, применять современные технологии и инструменты для разработки систем искусственного интеллекта (СИИ).
В современном учебном плане, который используется в настоящее время на кафедре «Программная инженерия» ДОННТУ, рассмотренная интеллект-карта базовых методов и систем ИИ
«покрывается» несколькими дисциплинами, которые читаются в рамках учебного плана подготовки бакалавров и магистров по направлению подготовки 09.ХХ.04 «Программная инженерия».
Эти учебные дисциплины имеют следующие названия:
Системы искусственного интеллекта;
Нейросетевые и нечёткие системы;
Распознавание образов (с курсовым проектом);
Интеллектуальный анализ данных;
Цифровая обработка сигналов и распознавание речи.
На наш взгляд, даже при определённых ограничениях, накладываемых учебным планом на объём выделенных часов, этот набор дисциплин формирует знания и умения у
инженеров-программистов по большинству вопросов поля знаний под названием «Искусственный интеллект», естественно, при наличии квалифицированных преподавателей.
Остановлюсь подробнее на базовой дисциплине «Системы искусственного интеллекта», которая в настоящее время читается бакалаврам в 8-м семестре в объёме 108 часов.
Предметом изучения этой дисциплины являются методы и технологии символьного искусственного интеллекта (слабого интеллекта).
Цель дисциплины – познакомить студентов с ключевыми проблемами создания СИИ и научить их основным методам и инструментальным средствам разработки программного обеспечения
интеллектуальных систем; подготовить обучаемых к практической деятельности в области создания, внедрения и эксплуатации СИИ в качестве инженера по знаниям.
Содержание учебной дисциплины включает следующие тематические блоки:
1. Искусственный интеллект как наука.
2. Инженерия знаний. Методы извлечения и приобретения знаний.
3. Язык логического программирования Prolog.
4. Стратегии логического вывода: обратный и прямой логический вывод.
5. Представление и использование нечётких знаний. Метод коэффициентов уверенности. Субъективный байесовский метод.
6. Представление знаний семантическими сетями.
7. Представление знаний фреймами. Декларативное и процедурное представление знаний. Организация структур на фреймах. Извлечение информации из фреймов.
8. Инструментальные системы создания экспертных систем.
Лабораторные работы направлены на развитие и закрепление у студентов навыков применения технологии основанной на знаниях для решения трудно формализуемых задач.
Все индивидуальные задания образуют взаимосвязанный комплекс заданий, выполнение которых обеспечивает построение различными методами символьного ИИ основных компонент
экспертной системы, как интеллектуальной системы, начиная с разработки пользовательского интерфейса, механизма дедуктивных логических рассуждений в среде чётких и
нечётких знаний и кончая использованием инструментальных оболочек. Для построения базы знаний использованы методы ручного и автоматического извлечения знаний из
различных источников. Из области машинного обучения студенты осваивают генетический алгоритм решения дискретных задач оптимизации.
Рабочей программой дисциплины предусмотрено выполнение 6 лабораторных работ следующего содержания:
1. Инженерия извлечения знаний при создании базы знаний интеллектуальной системы.
2. Автоматизированное приобретение знаний из баз данных.
3. Построение экспертной системы с помощью языка программирования Пролог.
4. Механизм логического вывода в продукционных интеллектуальных системах.
5. Построение экспертной системы с помощью инструментальной оболочки.
6. Эволюционные методы поиска решения оптимизационных переборных задач.
Текущий контроль в течение семестра осуществляется путём проверки выполнения лабораторных работ. Защита работ позволяет определить самостоятельность их выполнения и
обратить внимание студента на ошибки в принятии тех или иных решений при разработке разных программных компонент интеллектуальных систем.
Междисциплинарность и практическая направленность преподавания ИИ на кафедре реализуется путём предоставления студентам возможности разрабатывать в рамках дипломных проектов
и магистерских диссертаций реальные интеллектуальные системы
[5-6]. Некоторые программные проекты, основанные на знаниях, приведены на рисунке 5.
Рисунок 5 - Примеры многоагентных моделей интеллектуальных организаций и нейросетевые системы компьютерного зрения
ВЫВОДЫ
Тридцатилетний опыт преподавания ИИ на кафедре программной инженерии им. профессора Л.П. Фельдмана Донецкого национального технического университета показал, что в рамках
одной учебной дисциплины невозможно научить студента разрабатывать интеллектуальные системы для различных классов приложений. Принимая во внимание разнообразие современных
методов и технологий ИИ, следует вводить в учебный план столько дисциплин, сколько необходимо для глубокого изучения студентами наиболее важных направлений ИИ, учитывая
специализацию и научный потенциал кафедры, т.е. использовать многодисциплинарный подход.
Выпускники, овладевшие методами ИИ, будут уникальными специалистами, спрос на которых на современном рынке высоких информационных технологий многократно превысит
спрос на «обычных» программистов.
Также очевидно, что для выполнения поставленных Президентом РФ задач в области ИИ, необходимо на кафедре по новому подходить к вопросам повышения квалификации преподавателей,
технического оснащения специализированных лабораторий и издания учебно-методической литературы по ИИ.
2. Указ Президента РФ от 10.10.2019 №490 «О развитии искусственного интеллекта в РФ.
Национальная стратегия развития искусственного интеллекта на период до 2030 года». [Электронный ресурс]. URL:
http://publication.pravo.gov.ru/Document/View/0001201910110003
(дата обращения 10.01.2023).
4. Фельдман Л.П. Пакет программ для решения краевых задач математической физики / Фельдман Л.П., Федяев О.И., Ковалёва Н.В.
// Методы и средства решения краевых задач: тезисы всесоюзного научно-технического семинара. – Москва-Казань, 1984.
5. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. Учебник. – М.: Питер, 2000. – 382 с..
6. Радзищевский А. О процессе подготовки IT-специалистов в ВУЗах. Взгляд работодателя, подсмотренный изнутри [Электронный ресурс]. URL:
https://habr.com/ru/post/582696
(дата обращения 20.12.2022).
Федяев Олег Иванович – доцент кафедры программной инженерии им. Л.П. Фельдмана ГОУВПО «Донецкий национальный технический университет», кандидат технических наук.