Топпоиск.рф
 
ТОППОИСК.РФ Наука Математика Афанасьев С.Г. Нечёткая логика нейронной сети булевых функций

УДК 004.89

Афанасьев С. Г.

магистр математики

Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Нечёткая логика нейронной сети булевых функций

Аннотация: Нечёткость логики заключается в том, что на вход нейронной сети могут поступать сигналы отличные от 0 и 1. В статье приводятся пример конструирования нейронной сети прямого распространения сигнала на основе законов математической логики. Искусственная нейронная сеть понимается как конвергенция биологического нейрона и математической логики. В статье приводятся результаты вычислений булевых функций от двух переменных, для входящих сигналов, принимающих значение из числового отрезка от 0 до 1. Вычисления проводятся на математической модели трехслойной нейронной сети, с входами сдвига, где скрытый слой содержит четыре нейрона. Результаты «нечёткой логики» представлены в виде геометрической интерпретации булевых функций от двух переменных, вычисляемых с помощью математической модели искусственной нейронной сети.

Ключевые слова: нейронная сеть, перцептрон, нечёткая логика, обратное распространение ошибки, исключающее или, искусственный нейрон, график функции от двух переменных, булевы функции.

Введение

Логика – дисциплина изучает вопросы применения математических методов для решения логических задач и построения логических схем, которые лежат в основе работы любого компьютера.

Историческая справка: первая работа Дж. Буля по алгебре логики появилась в 1847г., а окончательный вариант в 1854г. – положили начало алгебре логики.

До широкого применения математической логики прошло достаточно много времени, хотя еще в 1910г. П. Эренфест обратил внимание на возможность применения математической логики для решения прикладных вопросов релейно-контактных схем.

В 1938г. К. Шенноном и В.И. Шестаковым была сделана первая попытка описать логические схемы на реле в терминах алгебры логики. В 1950г. эта идея была оформлена в работе М.А. Гаврилова как теория логического проектирования релейно-контактных схем. В дальнейшем многие отечественные и зарубежные ученые проводили исследования в области теории и технологии проектирования логических схем.

Сегодня булева алгебра вполне сформировавшийся раздел дискретной математики.

Булевой функцией будем называть, в узком смысле, формулу алгебраического высказывания, содержащую лишь операции: отрицание, конъюнкцию, дизъюнкцию.

Материалы и методы исследований

Булева функция от двух переменных f(x1, x2) может принимать шестнадцать значений: .

Перечень всех логических возможностей и значений истинности для булевой функции от двух переменных можно записать в виде таблицы:

Таблица 1

x1

x2

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

f15

f16

0

0

0

1

0

0

0

1

1

1

0

0

0

1

1

1

0

1

0

1

0

0

1

0

0

1

0

0

1

1

0

1

1

0

1

1

1

0

0

0

0

1

0

0

1

0

1

0

1

1

0

1

1

1

1

1

0

0

0

0

1

0

0

1

0

1

1

0

1

1

1

1

 

Булева алгебра является математической основой вычислительной техники. Принимая мозг как логическую машину выводов, в которой нейрон – элементарный вычислительный элемент, присущий любому биологическому компьютеру, физика процессов в котором представляет прохождение и распространение электрических импульсов. Таким образом, искусственная нейронная сеть понимается как конвергенция биологического нейрона и математической логики.

Рассмотрим математическую модель искусственного нейрона (рис. 1).

 

Рис 1. Схема простого перцептрона.

Ограничим его двумя входами и одним выходом, использующим логистическую функцию активации

с простой производной

Для простого перцептрона (рис. 1), где х1, х2 – входные сигналы, w11, w21 – коэффициенты проводимости сигналов, f(y) – выходной сигнал будет вычисляться по формуле:

Задача состоит в отыскании весовых коэффициентов w11, w21, путём обучения нейронной сетки «с учителем».

Корректировка весовых коэффициентов для матрицы проводимости осуществляется методом «обратного распространения ошибки», заключающейся в минимизации целевой функции ошибки:

afanasev-2-6

где 1, х2, d) – обучающий вектор.

Простой перцептрон, реализует только логические функции: конъюнкцию f5 и дизъюнкцию f15.

«Операцию сложения по модулю два»: f9 – такой логический элемент не может реализовать, то есть нельзя подобрать коэффициенты w11, w21 для простого перцептрона.

Используя законы логики, операция «сложение по модулю два» («исключающее или») запишется через операции конъюнкция и дизъюнкция:

Откуда, схема нейронной сети будет выглядеть следующим образом (рис. 2):

Рис 2.

Первые и вторые слои реализуют логическую операцию конъюнкции, второй и третий слой реализуют логическую операцию дизъюнкции.

Можно упростить схему до общепринятого вида (рис. 3):

Рис 3. Трёхслойный перцептрон

Таким образом, полученная нейронная сеть позволяет реализовать логику булевой функции от двух переменных в полном объёме.

Булевы функции от трёх переменных F(x1,x2,x3) принимают  значений.

Для примера рассмотрим следующую формулу алгебры высказываний:

Поскольку, булевой функцией называют, в узком смысле, формулу алгебраического высказывания, содержащую лишь операции: отрицание, конъюнкцию, дизъюнкцию.

Представим последнюю формулу через совершенные конъюктивные и дезъюнктивные нормальные формы (табл. 3).

Таблица 3

Согласно алгоритму построения, сама формула и её СДНФ, и СКНФ равносильны, так как принимают одинаковые значения истинности в каждой логической возможности.

Совершенные формы формулы алгебры логики дают представление о способе проектирования математической модели искусственной нейронной сети прямого распространения сигнала (рис. 4).

Рис 4. Нейронная сеть СКНФ F

Слой входов, первый скрытый слой и второй скрытый слой реализуют логическую операцию дизъюнкции, второй скрытый слой, третий скрытый слой и слой выходов реализуют логическую операцию конъюнкции.

Нечёткость логики заключается в том, что на вход нейронной сети могут поступать сигналы отличные от 0 и 1 (), что влияет на уровень выходного сигнала.

В вычислительном эксперименте используется трехслойная нейронная сеть, с входами сдвига – х0, у0, где скрытый слой содержит четыре нейрона.

Схема трёхслойного перцептрона со вторым скрытым слоем представлена на рисунке (рис. 5).

Рис 5. Нейронная сеть, применяемая в вычислительном эксперименте

Тривиальные случаи для f1, f16 не рассматривались (графики поверхностей – плоскость). Обучающая выборка векторов берётся из таблицы всех логических возможностей и значений истинности для булевой функции от двух переменных, приведённой выше (табл. 1). Рассмотрим алгоритм отыскания весовых коэффициентов нейронной сети методом «обратного распространения ошибки» на примере булевой функции f9 – «исключающее или». На первом шаге весовые коэффициенты выбираются произвольно, в случае попадания в локальный минимум их изменяют и продолжают итерации.

Алгоритм обучения нейронной сети:

1) прямой проход вычислений

2) обратный проход – вычисление ошибки, уточнение весовых коэффициентов:

afanasev-2-16

– ошибка вычислений, требующая минимизации.

Значение корректирующих коэффициентов выходного слоя:

Новые весовые коэффициенты выходного слоя:

Значение корректирующих коэффициентов скрытого слоя:

Новые весовые коэффициенты скрытого слоя:

Затем повторяем первый – прямой и второй – обратный проход, пока ошибка не достигнет требуемого значения.

Далее, повторяем весь комплекс итераций для остальных обучающих векторов. Проведя несколько эпох обучения нейронной сети, получают весовые коэффициенты, удовлетворяющие обучающему набору векторов с заданной точностью ошибки.

Результаты исследований и их обсуждение

Вычисления проводились с использованием математического пакета «Мапле».

Обучающие векторы (табл. 2):

Таблица 2

x1

x2

f9

0

0

0

0

1

1

1

0

1

1

1

0

 

Были получены следующие весовые коэффициенты нейронной сети, реализующей логическую операцию «исключающее или»:

Для данных весовых коэффициентов проведён прямой проход вычислений.

Результат вычислений представлен поверхностью (рис. 6), являющуюся геометрической интерпретацией нечёткой логики нейронной сети булевой функции «исключающее или».

afanasev-2-23

Рис 6. График функции «исключающее или»

Следующая поверхность (рис. 7) представляет геометрическую интерпретацию нечёткой логики нейронной сети булевой функции: f10(x1, x2)= x2, полностью определяется уже своими весовыми коэффициентами:

Рис 7. График функции f10

Следующая поверхность представляет геометрическую интерпретацию нечёткой логики нейронной сети, реализующей булеву функцию «стрелка Пирса»:  (рис. 8), определяемую весовыми коэффициентами:

Рис 8. График функции «стрелка Пирса»

Выводы

Булевы функции от двух переменных описываются четырьмя типами поверхностей нечёткой логики, понимание которой способствует формированию выборки обучающих векторов нейронной сети. Если данные, требующие классификации нейронной сетью, удовлетворяют одной из поверхности, то их можно классифицировать с помощью этой нейронной сети. Каждая из шестнадцати булевых функций от двух переменных однозначно определяется своим набором из четырёх «базовых» обучающих вектора. Логично предположить, что каждая булева функция от трёх переменных однозначно определяется своим набором из восьми «базовых» обучающих вектора. Для обучения нейронной сети с n-входами требуется 2n «базовых» обучающих вектора.

Библиографический список

  1. 1.Барский А. Б. Нейронные сети: распознавание, управление, принятие решений. / А. Б. Барский — М.: Финансы и статистика, 2004. — 176 с: ил. — (Прикладные информационные технологии).
  2. 2.Гусева И. А. Математическая логика: учебно-методическое пособие / И. А. Гусева, А. В. Игнатова, О. А. Перепёлкина, Н. А. Поляков. – Ростов н/Д: ИПО ПИ ЮФУ, 2009, - 68с.
  3. 3.Игошин В.И. Математическая логика и теория алгоритмов. / В.И. Игошин – М.: Изд. Центр «Академия», 2004.
  4. 4.Солдатова О.П. Основы нейроинформатики [Электронный учебник] : [учеб. пособие] / О. П. Солдатова. - Издательство СГАУ, 2006. - 132 с. Режим доступа: http://rucont.ru/efd/176442
  5. 5.Хайкин С. Нейронные сети: Полный курс: Пер. с англ. - 2-е изд. / С. Хайкин – М.: Вильямс, 2006. – 1104 с.: ил.