- •Основные понятия и определения
- •Понятие искусственного интеллекта
- •1.2. История развития искусственного интеллекта за рубежом
- •1.3. История развития искусственного интеллекта в России
- •1.4. Цели и задачи искусственного интеллекта
- •1.5. Основные направления исследований по ии
- •1.6. Контрольные вопросы и упражнения
- •2. Истоки формальных рассуждений
- •2.1. Левополушарное и правополушарное мышления
- •2.2. Контрольные вопросы и упражнения
- •3.Формальные системы
- •3.1. Понятие формальной системы
- •3.2. Разрешимость формальной системы
- •3.3. Интерпретация формальной системы
- •3.4. Доказательство и истинность
- •3.5. Контрольные вопросы и упражнения
- •4.1. Основные принципы силлогистики
- •4.2. Решение силлогизмов
- •4.3. Расширенная силлогистика
- •4.4. Моделирование силлогистики
- •4.5. Контрольные вопросы и упражнения
- •5. Исчисление высказываний
- •5.1. Синтаксис исчисления высказываний
- •5.2. Семантика исчисления высказываний
- •5.3. Классы формул исчисления высказываний
- •5.4. Понятие семантического дерева
- •5.5. Алгоритм Куайна
- •5.6. Алгоритм редукции
- •5.7. Алгебраический подход к определению класса формул
- •5.7.1. Нормальные формы и алгоритм нормализации
- •5.7.2. Алгоритм Куайна для днф
- •5.7.3. Принцип резолюций
- •5.7.4. Хорновские дизъюнкты
- •5.8. Применение исчисления высказываний
- •5.8.1. Пример базы знаний на основе логических высказываний
- •5.8.2. Применение исчисления высказываний в конструировании релейно-контактных схем
- •5.9. Контрольные вопросы и упражнения
- •6. Исчисление предикатов
- •6.1. Определение исчисления предикатов первого порядка
- •6.1.1. Операции над предикатами
- •6.1.2. Общезначимость и выполнимость формул исчисления предикатов
- •6.2 Исчисление предикатов как формальная система
- •6.4. Сколемовские стандартные формы исчисления предикатов
- •6.5. Процедура вывода Эрбрана
- •6.6. Принцип резолюции для логики предикатов
- •Контрольные вопросы и упражнения
- •7. Индуктивные рассуждения
- •7.1. Схема индуктивных рассуждений
- •7.2. Индукция Милля
- •1. Принцип единственного различия
- •2. Принцип единственного сходства
- •3. Принцип единственного остатка
- •7.3. Особенности индуктивных схем рассуждений
- •7.4. Индуктивные методы и алгоритмы
- •7.4.2. Метод пятизначной логики
- •7.4.3. Алгоритм древ
- •7.4.4. Алгоритм амх (алгоритм, основанный на метрике Хемминга)
- •7.4.5. Индукция решающих деревьев (id3)
- •7.4.6. Метод фокусирования
- •7.5. Контрольные вопросы и упражнения
- •8. Рассуждения по аналогии
- •8.1. Виды аналогий и приемы работы с ними
- •8.2. Простая аналогия
- •8.3. Другие виды аналогии
- •8.4. Аналогия в доказательстве теорем
- •8.5. Формализация аналогии
- •8.7. Методы реализаций рассуждений по аналогии
- •8.8. Проблемы рассуждений по аналогии
- •8.9. Контрольные вопросы и упражнения
- •9. Автоматизация нечетких рассуждений
- •9.1. Модальные логики
- •9.2. Применение нечеткой математики
- •9.3. Нечеткая силлогистика
- •9.5. Контрольные вопросы и упражнения
- •10. Представление задач в пространстве состояний
- •10.1. Примеры представления задач в пространстве состояний
- •10.2. Методы поиска в пространстве состояний
- •10.3. Контрольные вопросы и упражнения
- •11. Распознавание образов
- •Выделяются следующие основные типы задач распознавания образов:
- •11.1. Искусственный нейрон
- •11.2. Искусственные нейронные сети
- •Персептроны
- •11. 3.1. Персептронная представляемость
- •11.3.2. Преодоление ограничения линейной разделимости
- •11.3.3. Обучение персептрона
- •11.4. Процедура обратного распространения
11.3.3. Обучение персептрона
Способность искусственных нейронных сетей обучаться является их наиболее интригующим свойством. Подобно биологическим системам, которые они моделируют, эти нейронные сети сами моделируют себя в результате попыток достичь лучшей модели поведения.
Используя критерий линейной разделимости, можно решить, способна ли однослойная нейронная сеть реализовывать требуемую функцию. Даже в том случае, когда ответ положительный, это принесет мало пользы, если у нас нет способа найти нужные значения для весов и порогов. Чтобы сеть представляла практическую ценность, нужен систематический метод (алгоритм) для вычисления этих значений. Розенблатт сделал это в своем алгоритме обучения персептрона вместе с доказательством того, что персептрон может быть обучен всему, что он может реализовывать.
Обучение персептрона является обучением с учителем. Алгоритм обучения персептрона может быть реализован на цифровом компьютере или другом электронном устройстве, и сеть становится в определенном смысле самоподстраивающейся. По этой причине процедуру подстройки весов обычно называют «обучением» и говорят, что сеть «обучается». Доказательство Розенблатта стало основной вехой и дало мощный импульс исследованиям в этой области. Сегодня в той или иной форме элементы алгоритма обучения персептрона встречаются во многих сетевых парадигмах.
Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты, и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае – ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.
На рис. 21 показана такая персептронная конфигурация. Допустим, что вектор Х является образом распознаваемой демонстрационной карты. Каждая компонента (квадрат) Х – (x1, x2, …, xn) – умножается на соответствующую компоненту вектора весов W – (w1, w2, ..., wn). Эти произведения суммируются. Если сумма превышает порог Θ, то выход нейрона Y равен единице (индикатор зажигается), в противном случае он – ноль. Эта операция компактно записывается в векторной форме как Y = XW, а после нее следует пороговая операция.
Для обучения сети образ Х подается на вход, и вычисляется выход Y. Если Y правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.
Чтобы увидеть, как это осуществляется, допустим, что демонстрационная карта с цифрой 3 подана на вход и выход Y равен 1 (показывая нечетность). Так как это правильный ответ, то веса не изменяются.
Рис. 21. Персептронная система распознавания изображений
Если, однако, на вход подается карта с номером 4 и выход Y равен 1 (нечетный), то веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если карта с номером 3 дает нулевой выход, то веса, присоединенные к единичным входам, должны быть увеличены, чтобы скорректировать ошибку.
Этот метод обучения может быть подытожен следующим образом:
1. Подать входной образ и вычислить Y.
2. а. Если выход правильный, то перейти на шаг 1;
б. если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или
в. если выход неправильный и равен единице, то вычесть каждый вход из соответствующего ему веса.
3. Перейти на шаг 1.
За конечное число шагов сеть научится разделять карты на четные и нечетные при условии, что множество цифр линейно разделимо. Это значит, что для всех нечетных карт выход будет больше порога, а для всех четных – меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всем множестве карт. Возникает вопрос о том, как это множество должно предъявляться, чтобы минимизировать время обучения.
Важное обобщение алгоритма обучения персептрона, называемое дельта-правилом, переносит этот метод на непрерывные входы и выходы. Чтобы понять, как оно было получено, шаг 2 алгоритма обучения персептрона сформулируем в обобщенной форме с помощью введения величины δ, которая равна разности между требуемым или целевым выходом T и реальным выходом Y
δ = (T - Y).
Случай, когда δ=0, соответствует шагу 2а, когда выход правилен и в сети ничего не изменяется. Шаг 2б соответствует случаю δ > 0, а шаг 2в случаю δ < 0.
В любом из этих случаев персептронный алгоритм обучения сохраняется, если δ умножается на величину каждого входа хi и это произведение добавляется к соответствующему весу. С целью обобщения вводится коэффициент «скорости обучения» η, который умножается на δхi, что позволяет управлять средней величиной изменения весов.
В алгебраической форме записи
Δi = ηδxi,
w(n+1) = w(n) + Δi,
где Δi – коррекция, связанная с i-м входом хi; wi(n+1) – значение веса i после коррекции; wi(n) – значение веса i до коррекции.
Дельта-правило модифицирует веса в соответствии с требуемым и действительным значениями выхода каждой полярности как для непрерывных, так и для бинарных входов и выходов. Эти свойства открыли множество новых приложений.
