Смекни!
smekni.com

Нейрокомпьютерные системы (стр. 6 из 32)

ПЕРСЕПТРОННАЯ ПРЕДСТАВЛЯЕМОСТЬ

Доказательство теоремы обучения персептрона [4] показало, что персептрон способен научиться всему, что он способен представлять. Важно при этом уметь разли­чать представляемость и обучаемость. Понятие представляемости относится к способности персептрона (или дру­гой сети) моделировать определенную функцию. Обучае­мость же требует наличия систематической процедуры настройки весов сети для реализации этой функции. Для иллюстрации проблемы представляемости допус­тим, что у нас есть множество карт, помеченных цифрами от 0 до 9. Допустим также, что мы обладаем гипотетичес­кой машиной, способной отличать карты с нечетным номе­ром от карт с четным номером и зажигающей индикатор на своей панели при предъявлении карты с нечетным номером (см. рис. 2.3). Представима ли такая машина персептроном? То есть, может ли быть сконструирован персептрон и настроены его веса (неважно каким образом) так, чтобы он обладал такой же разделяющей способностью? Если это так, то говорят, что персептрон способен представлять желаемую машину. Мы увидим, что возможности представле­ния однослойными персептронами весьма ограниченны. Имеется много простых машин, которые не могут быть представлены персептроном независимо от того, как на­страиваются его веса.

Проблема функции ИСКЛЮЧАЮЩЕЕ ИЛИ

Один из самых пессимистических результатов Минско­го показывает, что однослойный персептрон не может воспроизвести такую простую функцию, как ИСКЛЮЧАЮЩЕЕ ИЛИ. Это - функция от двух аргументов, каждый из кото­рых может быть нулем или единицей. Она принимает значе­ние единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 2.4. Обозначим один вход через х, а другой через у, тогда все их возможные комбинации будут состоять из четырех точек на плоскости х - у, как пока­зано на рис. 2.5. Например, точка x=0 и у=0 обозна­чена на рисунке как точка А .Табл. 2.1 показывает тре­буемую связь между входами и выходом, где входные ком­бинации, которые должны давать нулевой выход, помечены А и А, единичный выход - В и В. В сети на рис. 2.4 функция F является обычным порогом, так что OUT принимает значение ноль, когда NET меньше 0,5, и единица в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление:

xw1 + yw2 = 0,5 .

Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 2.1. Чтобы понять это ограничение, зафиксируем NET на величине порога 0,5. Сеть в этом случае описыва­ется уравнением (2.2). Это уравнение линейно по х и у, т.е. все значения по х и у, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости x-y.

Таблица 2.1. Таблица истинности для функции ИСКЛЮЧАЮЩЕЕ ИЛИ

Точки

Значения X

Значения Y

Требуемый выход

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 и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную табл. 2.1, нужно расположить прямую так, чтобы точки А были с одной стороны прямой, а точки В - с другой. Попытавшись нарисовать такую прямую на рис. 2.5, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ.

Взглянув на задачу с другой точки зрения, рассмот­рим NET как поверхность над плоскостью х-у. Каждая точка этой поверхности находится над соответствующей точкой плоскости х-у на расстоянии, равном значению NET этой точке. Можно показать, что наклон этой NЕТ-поверхности одинаков для всей поверхности х-у. Все точки, в которых значение NET равно величине порога, проектируются на линию уровня плоскости NET (см. рис. 2.6). Ясно, что все точки по одну сторону порого­вой прямой спроецируются в значения NET, большие порога, а точки по другую сторону дадут меньшие значения ^ЕТ. Таким образом, пороговая прямая разбивает плос­кость х-у на две области. Во всех точках по одну сторону пороговой прямой значение OUT равно единице, по другую сторону - нулю.

Линейная разделимость

Как мы видели, невозможно нарисовать прямую линию, разделяющую плоскость х-у так, чтобы реализовывалась функция ИСКЛЮЧАЮЩЕЕ ИЛИ. К сожалению, этот пример не единственный. Имеется обширный класс функций, не реали­зуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определентные ограничения на возможности однослойных сетей. Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделе­ны геометрически. Для нашего случая с двумя входами разделитель является прямой линией. В случае трех вхо­дов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна и необходимо мысленно предста­вить n-мерное пространство, рассекаемое «гиперплос­костью» - геометрическим объектом, который рассекает пространство четырех или большего числа измерений. Так как линейная разделимость ограничивает возмож­ности персептронного представления, то важно знать, является ли данная функция разделимой. К сожалению, не существует простого способа определить это, если число переменных велико.

Нейрон с п двоичными входами может иметь 2п разли­чных входных образов, состоящих из нулей и единиц. Так как каждый входной образ может соответствовать двум различным бинарным выходам (единица и ноль), то всего

2" имеется 2 функций от п переменных.

Таблица 2.2. Линейно разделимые функции

(Взято из R.O.Winder, Single-stage logic. Paper presented at the AIEE Fall General Meeting,1960.) Как видно из табл. 2.2, вероятность того, что случайно выбранная функция окажется линейно разделимой, весьма мала даже для умеренного числа переменных. По этой причине однослойные персептроны на практике огра­ничены простыми задачами.

Преодоление ограничения линейной разделимости

К концу 60-х годов проблема линейной разделимости была хорошо понята. К тому же было известно, что это серьёзное ограничение представляемости однослойными сетями можно преодолеть, добавив дополнительные слои. Например, двухслойные сети можно получить каскадным соединением двух однослойных сетей. Они способны выполнять более общие классификации, отделяя те точки, кото­рые содержатся в выпуклых ограниченных или неограничен­ных областях. Область называется выпуклой, если для любых двух ее точек соединяющий их отрезок целиком лежит в области. Область называется ограниченной, если ее можно заключить в некоторый шар. Неограниченную область невозможно заключить внутрь шара (например, область между двумя параллельными линиями). Примеры выпуклых ограниченных и неограниченных областей пред­ставлены на рис. 2.7.