Архитектура и основные составные части систем ИИ
Основные понятия и история развития систем ИИ. Подходы к построению систем ИИ, архитектура, основные части и особенности.
Лыкошин Александр
2022-24
#### Нейробионическое направление
- Первый экспериментальный нейрокомпьютер Snark был построен Марвином Минским в 1951 году
- 40 искусственных нейронов
![misky-maze-sover.webp](img/misky-maze-sover.webp)
#### Нейробионическое направление
- Первые успехи нейрокомпьютинга связывают с разработкой персептрона (от английского perception — восприятие)
американцем Френком Розенблаттом.
- Одна из первых моделей нейронных сетей, которая вызвала большой интерес из-за своей способности обучаться
распознаванию простых образов.
- Персептрон состоял из бинарных нейроподобных элементов и имел простую топологию, что позволило достаточно
полно
проанализировать ее работу и создать многочисленные физические реализации.
- Работы Минского и Пейперта, доказавшие ограниченные возможности простейшего персептрона, погасили энтузиазм
большинства исследователей на два десятилетия.
#### Нейробионическое направление
- Широкий интерес научной общественности к нейросетям начался в начале восьмидесятых годов после теоретических
работ физика Хопфилда
- коллективное взаимодействие нейронов, энергия сети, температура обучения и т. д.
- Практическое применение нейросетей началось после публикации Румельхартом метода обучения многослойного
персептрона, названного ими методом *обратного распространения ошибки*.
- Таким образом, ограничения персептронов, доказательства которых представили Минский и Пейперт, оказались
преодолимыми.
#### Нейробионическое направление
##### Классификация систем нейронной обработки
- Системы нейронной обработки
- Специализированные системы (нейрокомпьютеры)
- Нейроэмуляторы
- Нейропакеты общего назначения
- Системы разработки нейроприложений
- Системы готовых решений на основе нейросетей
![Классификация систем нейронной обработки](./img/Классификация%20систем%20нейронной%20обработки.png)
#### Нейробионическое направление
- Доступность и возросшие вычислительные возможности современных компьютеров привели к широкому распространению
программ, использующих принципы нейросетевой обработки данных, но исполняемых на последовательных компьютерах.
- Этот подход не использует параллелизм, но ориентируется исключительно на способность нейросетей решать
неформализованные задачи и реализуется нейроэмуляторами.
#### Нейробионическое направление
- Нейропакеты общего назначения — законченные независимые программные продукты, предназначенные для широкого
класса задач (например, статистической обработке данных).
- Бесплатные и условно-бесплатные пакеты; как правило, это обычные многослойные персептроны с одним или
несколькими правилами обучения.
- Коммерческие пакеты (BrainMaker Professional, NeuroForecaster и т.п.)
#### Нейробионическое направление
- Системы разработки нейроприложений — это программное обеспечение, способное генерировать программный код,
использующий обученные нейросети для обработки данных.
- Пример - MATLAB с прилагающимся к нему нейросетевым инструментарием, ограниченно вписавшимся в матричную
идеологию этой системы.
- среда для синтеза нейросетевых методик с прочими методами обработки (wavelet — анализ, статистика, финансовый
анализ и т. п.).
#### Информационное направление
1. Эвристическое программирование — это разработка оригинальных методов, алгоритмов решения задач, подобных
человеческим, а в некоторых случаях даже и лучших.
- Под эвристикой понимается правило, стратегия, метод или прием, используемые для повышения эффективности
системы, которая пытается найти решения сложных задач.
- Эвристическая программа — это программа для компьютера, использующая эвристики.
_Словарь Вебстера: «эвристический» означает «способствующий открытию»._
#### Эвристическое программирование
- Всякая предметная (проблемная) область деятельности может быть описана в виде некоторой совокупности
сведений
о структуре этой области, основных ее характеристиках, процессах, протекающих в ней, а также о способах
решения
возникающих в ней задач.
- Все эти сведения образуют знания о предметной области.
- При использовании интеллектуальных систем для решения задач в данной предметной области необходимо собрать о
ней сведения и создать концептуальную модель этой области.
#### Эвристическое программирование
- В области извлечения знаний можно выделить два основных направления: формализация качественных знаний и
интеграция знаний.
- Первое направление связано с созданием разнообразных методов, позволяющих переходить от знаний, выраженных в
текстовой форме, к их аналогам, пригодным для ввода в память интеллектуальной системы.
- В связи с этой проблемой развивались не только традиционные методы обработки экспериментальных данных, но и
совершенно новое направление, получившее название нечеткой математики. Возникновение этого направления связано
с
именем американского специалиста Л. Заде.
- Нечеткая математика и ее методы оказали существенное влияние на многие области искусственного интеллекта и,
в
частности, на весь комплекс проблем, связанных с представлением и переработкой качественной информации.
#### Эвристическое программирование
- Полученные от экспертов знания нужно оценить с точки зрения их соответствия ранее накопленным знаниям и
формализовать их для ввода в память интеллектуальной системы.
- Кроме того, знания, полученные от различных экспертов, надо еще согласовать между собой; эти знания могут
быть
внешне несовместимыми и даже противоречивыми; инженер по знаниям должен устранить эти противоречия.
#### Эвристическое программирование
- Следующая большая проблема, изучаемая в искусственном интеллекте, — это представление знаний в памяти
системы.
- Для этого разрабатываются разнообразные модели представления знаний. В настоящее время в интеллектуальных
системах используются четыре основные модели знаний.
- Первая модель, возможно, наиболее близка к тому, как представляются знания в текстах на естественном языке.
- В ее основе лежит идея о том, что вся необходимая информация может быть описана как совокупность троек вида:
(a R Ь), где а и h два объекта или понятия, a R — двоичное отношение между ними.
- Такая модель графически может представляться в виде сети, в которой вершинам соответствуют объекты или
понятия, а дугам — отношения между ними. Дуги помечены именами соответствующих отношений.
- Такая модель носит название семантической сети.
## 3. Интеллектуальное программирование
- Это направление в искусственном интеллекте соответствует программистскому взгляду на эту область. Трудоемкость
разработки интеллектуальных приложений зависит от использованного языка, инструментальных систем, парадигмы
программирования, средств разработки ИИС и приобретения знаний, систем когнитивной графики
#### 3. Интеллектуальное программирование
- Среди огромного количества языков программирования в работах по искусственному интеллекту используется
небольшая
часть.
1) Традиционные языки программирования типа С, C++, но ограниченно,
- как правило, для создания инструментальных средств.
2) Специализированные языки программирования:
- LISP и все его многочисленные версии, ориентированные на обработку списков;
- язык логического программирования PROLOG.
- язык рекурсивных функций РЕФАЛ.
3) Отдельно стоят языки для представления знаний. Это языки, ориентированные на фреймы K.L-1, K.RL, FRL или язык
ПИЛОТ, ориентированный на модель знаний в виде продукций