- •Основные понятия и определения
- •Понятие искусственного интеллекта
- •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. Процедура обратного распространения
Персептроны
Рис. 13. Персептронный нейрон
Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. Позднее они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам. Простая нейронная модель, показанная на рис. 13, использовалась в большей части их работы. Элемент Σ умножает каждый вход х на вес w и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае – нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов (см. рис. 14), хотя в принципе описываются и более сложные системы.
В 60-е годы персептроны вызвали большой интерес и оптимизм. Розенблатт доказал замечательную теорему об обучении персептронов, объясняемую ниже. Уидроу дал ряд убедительных демонстраций систем персептронного типа, и исследователи во всем мире стремились изучить возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны обучиться решению ряда простых задач. Минский строго проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные персептроны, и, следовательно, на то, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были известны, исследователи перешли в более многообещающие области, и исследования в области нейронных сетей пришли в упадок. Недавнее открытие методов обучения многослойных сетей в большей степени, чем какой-либо иной фактор, повлияло на возрождение интереса и исследовательских усилий.
Рис. 14. Персептрон со многими выходами
Работа Минского, возможно, и охладила пыл энтузиастов персептрона, но обеспечила время для необходимой консолидации и развития лежащей в основе теории. Важно отметить, что анализ Минского не был опровергнут. Он остается важным исследованием и должен изучаться, чтобы ошибки 60-х годов не повторились.
Несмотря на свои ограничения, персептроны широко изучались (хотя не слишком широко использовались). Теория персептронов является основой для многих других типов искусственных нейронных сетей, и персептроны иллюстрируют важные принципы. В силу этих причин они являются логической исходной точкой для изучения искусственных нейронных сетей.
11. 3.1. Персептронная представляемость
Доказательство теоремы обучения персептрона показало, что персептрон способен научиться всему, что он способен представлять. Важно при этом уметь различать представляемость и обучаемость. Понятие представляемости относится к способности персептрона (или другой сети) моделировать определенную функцию. Обучаемость же требует наличия систематической процедуры настройки весов сети для реализации этой функции.
Один из самых пессимистических результатов Минского показывает, что однослойный персептрон не может воспроизвести такую простую функцию, как «исключающее или». Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 15. Обозначим один вход через х, а другой через у, тогда все их возможные комбинации будут состоять из четырех точек на плоскости х-у, как показано на рис. 16. Например, точка х = 0 и у = 0 обозначена на рисунке как точка А. Табл. 6 показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены А0 и А1, единичный выход – В0 и В1.
Рис. 15. Однонейронная система
В сети на рис. 15 функция F является обычным порогом, так что OUT принимает значение ноль, когда NET меньше 0,5, и единица в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление:
NET = xw1 + yw2.
Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 9.
Чтобы понять это ограничение, зафиксируем NET на величине порога 0,5. Сеть в этом случае описывается уравнением xw1 + yw2 = 0,5. Это уравнение линейно по х и у, т. е. все значения по х и у, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости х-у.
Таблица 9
Таблица истинности для функции «исключающее или»
Точки |
Значения х |
Значения у |
Требуемый выход |
A0 |
0 |
0 |
0 |
B0 |
1 |
0 |
1 |
B1 |
0 |
1 |
1 |
A1 |
1 |
1 |
0 |
Любые входные значения для х и у на этой линии будут давать пороговое значение 0,5 для NET. Входные значения с одной стороны прямой обеспечат значения NET больше порога, следовательно, OUT=1. Входные значения по другую сторону прямой обеспечат значения NET меньше порогового значения, делая OUT равным 0. Изменения значений w1, w2 и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию «исключающее или», заданную в табл. 9, нужно расположить прямую так, чтобы точки А были с одной стороны прямой, а точки В – с другой. Нарисовать такую прямую на рис. 16 невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть не способна воспроизвести соотношение между входом и выходом, требуемое для представления функции «исключающее или».
Рис. 16. Проблема «исключающее или»
Взглянув на задачу с другой точки зрения, рассмотрим NET как поверхность над плоскостью х-у. Каждая точка этой поверхности находится над соответствующей точкой плоскости х-у на расстоянии, равном значению NET в этой точке. Можно показать, что наклон этой NET-поверхности одинаков для всей поверхности х-у. Все точки, в которых значение NET равно величине порога, проектируются на линию уровня плоскости NET (см. рис. 17).
Рис. 17. Персептронная NET-плоскость
Ясно, что все точки по одну сторону пороговой прямой спроецируются в значения NET, большие порога, а точки по другую сторону дадут меньшие значения NET. Таким образом, пороговая прямая разбивает плоскость х-у на две области. Во всех точках по одну сторону пороговой прямой значение OUT равно единице, по другую сторону – нулю.
К сожалению, этот пример не единственный. Имеется обширный класс функций, не реализуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определенные ограничения на возможности однослойных сетей.
Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделены геометрически. Для случая с двумя входами разделитель является прямой линией. В случае трех входов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна, и необходимо мысленно представить n-мерное пространство, рассекаемое «гиперплоскостью» – геометрическим объектом, который рассекает пространство четырех или большего числа измерений.
Так как линейная разделимость ограничивает возможности персептронного представления, то важно знать, является ли данная функция разделимой. К сожалению, не существует простого способа определить это, если число переменных велико.
Нейрон с п двоичными входами может иметь 2n различных входных образов, состоящих из нулей и единиц. Так как каждый входной образ может соответствовать двум различным бинарным выходам (единица и ноль), то всего имеется 22n функций 1от n переменных.
Таблица 10
Линейно разделимые функции
n |
22n |
Число линейно разделимых функций |
1 |
4 |
4 |
2 |
16 |
14 |
3 |
256 |
104 |
4 |
65536 |
1882 |
5 |
4,3х109 |
94572 |
6 |
1,8х1019 |
15 028 134 |
Как видно из табл. 10, вероятность того, что случайно выбранная функция окажется линейно разделимой, весьма мала даже для умеренного числа переменных. По этой причине однослойные персептроны на практике ограничены простыми задачами.
