Типизация искусственного интеллекта
Искусственный интеллект (ИИ) - сравнительно новая отрасль информационных технологий. В ней еще не сложился четкий научный аппарат, но уже можно выделить некоторые ключевые понятия. В частности, выделяют следующие типы ИИ:
- автоматизированный (для решения рутинных задач);
- вспомогательный (оптимизирует человеческие решения);
- расширенный (направлен на поддержку человеческого мышления в экстремальных ситуациях);
- автономный (осуществляет самостоятельную деятельность, подобную человеческому мышлению).
По типу восприятия окружающей среды ИИ-системы можно разделить на:
- реагирующие (лишь анализируют окружающую обстановку и формируют ответную реакцию);
- с ограниченной памятью (корректирует свое поведение с учетом предыдущего "опыта", как, например, беспилотные автомобили);
- с элементами разума (способны распознавать мысли и эмоции);
- "сильный ИИ" (сопоставимый по мыслительным способностям с человеком).
Полноценных систем с "сильным" типом интеллекта пока не создано, но многие корпорации прилагают в этом направлении существенные усилия.
Рисунок 1. Эволюция искусственного интеллекта. Автор24 — интернет-биржа студенческих работ
Подходы к созданию ИИ
При создании искусственного интеллекта применяются различные подходы. Рассмотрим наиболее традиционные из них.
Символьный подход
Символьный подход стал наиболее ранней концепцией реализации искусственного интеллекта. Он был применен уже во второй половине 1960-ых гг., когда появился язык программирования Lisp, ориентированный на обработку слабоформализованных данных. Основной метод - выработка новых правил обработки в процессе выполнения алгоритма. Это отличает его от обычной компьютерной программы, в которой заранее заложены все возможные варианты развития событий (полнота по Тьюрингу).
Логическое программирование
Логический подход к созданию ИИ основан на применении правил формальной логики. Это тоже одна из ранних концепций создания "мыслящих" машин. Она появилась в начале 1970-х гг. Одной из первых реализаций системы, имитирующей логические рассуждения, стал язык программирования Prolog. Он позволяет на основании введенной информации об объектах и связях между ними получать логические умозаключения. Впоследствии этот метод развился в концепцию семантических сетей.
Агентно-ориентированный подход
В начале 1990-х гг. сформировался еще один подход к формированию ИИ. Он основан на объединении в сеть т.н. рациональных агентов - сравнительно простых узкоспециализированных программ, обменивающихся информацией с центральным узлом. Это позволяет частично децентрализовать нагрузку на главный алгоритм, сделать его более простым, модульным. Этот подход применяется в робототехнике, "умных домах", при создании систем контроля компьютерных сетей и т.п.
Наконец, следует упомянуть гибридный подход, сторонники которого считают, во-первых, что наиболее мощные системы удастся создать только сочетая все имеющиеся возможности; во-вторых же, что ИИ еще только развивается и в будущем могут появиться его разновидности, которые превзойдут по возможностям традиционные варианты.
Нейронные сети
О технологии искусственных нейронных сетей (ИНС) следует сказать отдельно, поскольку ее часто путают с самим понятием "искусственный интеллект".
Рисунок 2. Принцип работы нейронных сетей. Автор24 — интернет-биржа студенческих работ
Нейронные сети кардинально отличаются от традиционных компьютерных программ. Они представляют собой самообучающиеся математические модели, в основе которых лежат те же принципы, которые присущи биологическим нервным системам. ИНС способны производить адаптивное взвешивание входящих сигналов и на основе анализа последовательно улучшать результаты их обработки. Такие системы представляют собой "слоистые" структуры, состоящие из "нейронов" - миниатюрных вычислительных систем, решающих, стоит ли передавать полученную информацию в следующий слой.
Важными характеристиками нейронных сетей являются:
- приемлемая сложность;
- способность выполнять задачу за отведенное время.
Чрезмерно сложная или слишком долго работающая нейронная сеть могут оказаться экономически нецелесообразными
Типы машинного обучения
Настройка нейронных сетей на автоматическое решение задач может производиться несколькими способами:
- обучение с наблюдателем (supervised learning); эксперт подбирает параметры программы таким образом, чтобы ожидаемые от нее предсказания как можно точнее совпадали с результатами обработки "тренировочных" данных;
- обучение с частичным наблюдением (semi-supervised learning): система самосотятельно вырабатывает оптимальную модель; оператор лишь корректирует направление оптимизации;
- обучение без наблюдателя (unsupervised learning) - полностью автоматическая выработка алгоритма на основе ранее проведенных тренировок;
- теневое обучение (shadow learning) - когда поиск ключевых подходящей модели предваряется обработкой знаний, предоставляемых экспертами;
- обучение на ошибках (reinforcement).
Рисунок 3. Типы машинного обучения. Автор24 — интернет-биржа студенческих работ