УДК 621(075.8)
ЛОГИЧЕСКИ ПРОЗРАЧНЫЕ СЕТИ
А. Е. Городецкий,
д-р техн. наук И. Л. Тарасова,
канд. техн. наук
Институт проблем машиноведения РАН, Санкт-Петербург
Рассматриваются методы формирования логически прозрачных сетей. Выделяются следующие классы нейронных сетей: логико-лингвистические и логико-вероятностные. Анализируются условия и проблемы создания таких сетей.
Methods of formation of logically transparent networks are considered The following classes of neural networks are entered: logical-linguistic and logical-probabilistic. It is analyzed conditions and problems of creation of such networks.
Введение
Одним из недостатков нейронных сетей (НС), с точки зрения многих пользователей, является отсутствие объяснительного компонента получаемых результатов, т. е. из обученной НС невозможно извлечь алгоритм решаемой задачи. Конечным результатом работы алгоритма обучения является некоторый вектор весов межнейронных связей сети, в котором, в соответствии с принятым коннекцио-нистским подходом к формализации НС, и сосредоточены все знания. Каждая компонента этого вектора представляет собой некоторое число, которое никаким образом невозможно интерпретировать.
Формирование логических нейронных сетей
Красноярской группой «НейроКомп» была сформулирована идея логически прозрачных сетей, т. е. сетей, на основе структуры которых можно построить вербальное описание алгоритма получения ответа [1]. Это достигается при помощи специальным образом построенной процедуры уменьшения сложности (прореживания) сети.
Другой подход к построению логически прозрачных сетей заключается в том, что в сети используются только два типа нейронов, осуществляющих логические операции отрицания и дизъюнкции или отрицания и конъюнкции, либо операции сложения и умножения по модулю «2». Такие нейроны можно назвать логическими. Входная информация в этом случае должна быть преобразована в логическую форму или набор логических переменныхх,-,
из которых можно создать фундаментальный вектор логической системы [2]:
Р = /Х-| Х2 ... ХПХ-|®Х2 Х^Хз ... ХП_10ХПХ1®Х2®Х3...
.. .Хп_2®Хп_-,0Хп ... Х-, ®Х2®Х3®Х4 ...
... Хл_з®Хп_2®Хл_1 ®ХП ...X!®Х2® ... ®ХП-:®ХП/Т, (1)
по которому можно вычислить любую логическую функцию:
Ъ=ср, (2)
где С, — идентификационная строка, состоящая из комбинации 0 и 1 и имеющая размерность вектора Р, например,
С, = /0 0 0 1 1 0..0/. (3)
При этом обучение полученной логической нейронной сети будет состоять в поиске идентификационных строк (или связей между нейронами).
Логические переменныех/ вектора Р можно получить путем квантования входных величин и присвоения полученным квантам д,- имен логических переменных X,-, принимающих значения истина «1» или ложно «0». Например, если входная переменная-температура Т может изменяться в пределах от -20 до +20 °С, то, введя квант в 10 °С, можно весь диапазон изменения температуры разбить на четыре кванта: = [-20, -10], д2 = [-10, 0], д3 = [0, +10],
д4 = [+10, +20] (рис. 1). Тогда кванту д-, можно присвоить имях1 {оченьхолодно}, квантуд2присвоить имях2 {холодно}, квантуд3 присвоить имях3 {прохладно} и квантуд4—х4 {тепло}. Теперь, если, например, температура на входе Г = +5 °С , то значения логических переменных будут следующими: х-| = 0, х2 = 0, х3 = 1, х4 = 0. Если кванты, образующие смежные логические переменные, например «холод-
[ 41 ][ Р2 ][ Рз ][ Цл ]
______I ______I______I _______I____I________I______I_____I г, °с
-20 -15 -10 -5 0 5 10 15 20
■ Рис. 1. Получение логических переменных
к]1 Цз
41 ][ I I | 4з ] I г, °о
15 -10 -5 0 5 10 15 20
[ 42 ][ Чл ]
Цг к*4
^Зпч4
■ Рис. 2. Получение лингвистических переменных
но» и «прохладно», будут частично перекрываться («холодно» — [-15, +5], а «прохладно» — [-5, +15] (рис. 2), то этим квантам можно также поставить в соответствие логические переменные таких же наименований. При этом степень принадлежности входной величины X; к тому или иному кванту (к той или иной логической переменной) характеризуется функцией принадлежности ц(х,) подобно тому, как это делается при фазификации [1]. Полученные таким образом переменные принято называть лингвистическими.
Поэтому в дальнейшем нейронные сети, построенные из логических нейронов и использующие на входе лингвистические переменные, будем называть логико-лингвистическими нейронными сетями.
■ Рис. 3. Функциональные зависимости входных величин
Кроме того, вместо функции принадлежности можно ввести другую характеристику степени принадлежности входной величины к тому или иному кванту. Наиболее естественно в качестве такой характеристики выбрать вероятность, вычисляемую как отношение перекрывающегося промежутка к протяженности кванта /_д/ (см. рис. 2):
P(xi=^) = Lqi/Lqinqj. (4)
Полученные описанным способом переменные в дальнейшем будем логико-вероятностны-
ми, а соответствующие им нейронные сети — логико-вероятностными нейронными сетями.
Уменьшение избыточности логических нейронных сетей
Введенные выше сети являются логически прозрачными, но имеют значительную избыточность, которая может быть уменьшена, если часть логических функций fj известна заранее и нет необходимости поиска соответствующих им идентификационных строк С/. Кроме того, уменьшить избыточность таких НС можно также, если известны функциональные зависимости между входными величинами.
Пусть, например, имеется функциональная зависимость входных величин >2(^1). показанная на рис. 3.
Для перевода линейной зависимости 1, представленной на рис. 3, в систему логических функций (уравнений), вначале надо, исходя из требуемой точности 6/ представления входных величин, разбить диапазоны их изменения: = У1гпах - /1т,п
И 02 = У2тах - ^2тт На И Ы2 КВЭНТОВ:
Ям = 171 т1п + /5,-; УЛ т|п + (/ + 1 )5#], /= 0, 1,2, ЛА,; (5)
<72/= [^2пгт +Щ ^2тш + (/’+"• )8у],У = 0, 1, 2, ..., Л/2. (6)
Ул
./обработка информации и управление /
■ Таблица 1 ■ Таблица 2
Х21 Х22 Х23 Х24 Х25 Х26 Х27 Х28 Х29
хп 1/1 1/1 1/0,5 0 0 0 0 0 0
Х12 0 0 1/0,5 1/1 1/0,2 0 0 0 0
Х13 0 0 0 0 1/0,8 1/0,4 0 0 0
Х14 0 0 0 0 0 1/0,6 1/0,5 0 0
Х15 0 0 0 0 0 0 1/0,6 1/0,1 0
Х16 0 0 0 0 0 0 0 1/0,8 0
Х17 0 0 0 0 0 0 0 1/0,1 1/0,5
Х18 0 0 0 0 0 0 0 0 1/0,7
Х19 0 0 0 0 0 0 0 0 1/0,1
Х21 Х22 Х23 Х24 Х25 Х26 X го Х28 Х29
ХЛ 1 0 0 0 0 0 0 0 0
Х12 0 1 0 0 0 0 0 0 0
Х13 0 0 1 0 0 0 0 0 0
Х14 0 0 0 1 0 0 0 0 0
Х15 0 0 0 0 1 0 0 0 0
Х16 0 0 0 0 0 1 0 0 0
Х17 0 0 0 0 0 0 1 0 0
Х18 0 0 0 0 0 0 0 1 0
Х19 0 0 0 0 0 0 0 0 1
Затем в соответствии с рис. 3 можно составить табл. 1 для вывода логических функций умножения по модулю «два» или конъюнкции между логическими переменными Хг, и Х2у( которым соответствуют кванты д1( и д2/-:
У=*ХЛрХц\ (7)
У=>Х1(«)Х2у, (8)
либо — импликаций между Ху и Х2у:
У==> Х1(—>Х2у,- (9)
У =*-Ху^Х2-, (10)
У =* Хь®Х2рХу^. (11)
Выбор конкретной логической функции из набора (7) —(11), отражающей приведенную на рис. 3 линейную функцию У2{У^), зависит от содержательной части решаемой задачи. В большинстве случаев указанную зависимость можно представить в виде системы из логических уравнений (11).
Очевидно, что все логические уравнения типа (7)-(11) могут быть переведены в стандартную форму (2).
В случае нелинейной зависимости У2{У\) (кривая 2 на рис. 3) нельзя каждому кванту qу поставить в соответствие один квант д2у (см. также рис. 2). При этом какому-либо кванту д1; может соответствовать: либо один полный квант д2у, либо один неполный квант д2;-, либо два и более полных кванта д2у, д2у+1, либо один или несколько полных квантов д2у, q2k и один или несколько неполных квантов д2у--|, q2k+^ и т. д. (табл. 2). При этом, если такие нелинейные зависимости, представленные на рис. 3, отображать, как и прежде, только системой логических уравнений, т. е. без учета степени принадлежности какого-либо кванта д2у кванту д^-, то будет
вводиться большая погрешность отображения, зависящая от вида кривой 2. Улучшить эту ситуацию можно путем введения либо вероятности Р{Ху -» Х2у = 1}, либо функции принадлежности ц(У') (У <=> Ху <=> Х2у), вычисляемой подобно вероятности в уравнении (4). Вычисленные величины приведены в табл. 2. (в знаменателях). Например, Р{Х12 -> Х2г> = = 1} = М-(Х12 —> Х23) = 0,5.
Заключение
Нами рассмотрена простейшая монотонная гладкая возрастающая зависимость. Замена более сложных функциональных зависимостей на логические функции, очевидно, будут приводить к большим погрешностям, уменьшение которых потребует дополнительных усилий. Тем не менее, приведенные примеры показывают, что имеется принципиальная возможность построения логически прозрачных сетей, позволяющих получать решения многих практических задач с достаточной точностью при некотором увеличении их размерности и интерпретировать и объяснять получаемые результаты. Однако построение таких сетей чаще всего требует большого числа экспериментов и не всегда экономически выгодно.
Литератур ъ/~
1. Комарцова Л. Г., Максимов А. В. Нейрокомпьютеры. — М.: МГТУ им. Н. Э. Баумана, 2002. — 317 с.
2. Городецкий А. Е., Дубаренко В. В., Ерофеев А. А.
Алгебраический подход к решению задач логического управления // А и Т. — 2000. — № 2. — С. 127-138.