.
.
Портал искусственного интеллекта
.
.
.
.
.
.
 
Карта сайта Портал искусственного интеллекта  -  Каталог статей  -  Нейронные сети  -  Пример решения задачи XOR - исключающего ИЛИ  
 

Нашли ошибку?

Нашли ошибку?

Нет ничего проще: выделите текст с ошибкой, нажмите CTRL+ENTER и мы уже знаем о ней!

Партнерство

Хотите стать партнером?

Присылайте свои предложения и мы обязательно рассмотрим их

Написать нам

Есть интересная информация?

Пишите нам и мы разместим ее на страницах портала искусственного интеллекта

Пример решения задачи XOR - исключающего ИЛИ

Часто, для того чтобы продемонстрировать ограниченные возможности однослойных персептронов при решении задач прибегают к рассмотрению так называемой проблемы XOR – исключающего ИЛИ.
Суть задачи заключаются в следующем. Дана логическая функция XOR – исключающее ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение 1, когда один из аргументов равен единице, но не оба, иначе 0. Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рисунке ниже.
Однонейронная система
Обозначим один вход через x_{1}, а другой через x_{2}, тогда все их возможные комбинации будут состоять из четырех точек на плоскости. Таблица ниже показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены A_{0} и A_{1}, единичный выход – B_{0} и B_{1}.
ТочкиЗначение x_{1}Значение x_{2}Требуемый выход
A_{0}000
B_{0}101
B_{1}011
A_{1}110
Один нейрон с двумя входами может сформировать решающую поверхность в виде произвольной прямой. Для того, чтобы сеть реализовала функцию XOR, заданную таблицей выше, нужно расположить прямую так, чтобы точки A были с одной стороны прямой, а точки B – с другой. Попытавшись нарисовать такую прямую на рисунке ниже, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, однослойная нейронная сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции XOR.
Проблема XOR -исключающего ИЛИ
Однако функция XOR легко формируется уже двухслойной сетью, причем многими способами. Рассмотрим один из таких способов. Модернизуем сеть на рисунке, добавив еще один скрытый слой нейронов:
Двухслойная нейронная сеть
Отметим, что данная сеть дана как есть, т.е. можно считать, что она уже обучена. Цифры над стрелками показывают значения синаптических весов. В качестве функции активации применим функцию единичного скачка с порогом 0.5, имеющую следующий график:
Функция активации. Единичный скачок
Тогда результат работы такой нейронной сети можно представить в виде следующей таблицы:
ТочкиЗначение x_{1}Значение x_{2}Требуемый выходOUT_{1}OUT_{2}OUT_{3}
A_{0}000000
B_{0}101101
B_{1}011011
A_{1}110000
Каждый из двух нейрон первого слоя формирует решающую поверхность в виде произвольной прямой (делит плоскость x_{1}~x_{2} на две полуплоскости), а нейрон выходного слоя объединяет эти два решения, образуя решающую поверхность в виде полосы, образованной параллельными прямыми нейронов первого слоя :
Функция активации. Единичный скачок
Нейронная сеть, используемая в этой статье для решения задачи XOR, примитивна и не использует всех возможностей многослойных сетей. Очевидно, что многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, только в случае присутствия нелинейности. А в данной сети применена пороговая линейная функция активации. Такую сеть нельзя будет обучить, например, применив алгоритм обратного распространения ошибки.
Новости
Участие в проекте по разработке гуманоидного робота NAO
 
.
Статистика посещений
.
. . .
.