УДК 519.710.5:004.8
Ермолаев Н.С., Кириллов Н.Д., Дударов С.П.
МОДЕЛЬ УНИВЕРСАЛЬНОГО НЕЙРОСЕТЕВОГО ДЕФАЗЗИФИКАТОРА
Ермолаев Никита Станиславович, студент 4 курса бакалавриата факультета информационных технологий и управления;
Кириллов Никита Дмитриевич, студент 4 курса бакалавриата факультета информационных технологий и управления;
Дударов Сергей Павлович, к.т.н., доцент, декан факультета информационных технологий и управления, e-mail: [email protected];
Российский химико-технологический университет имени Д. И. Менделеева, Москва, Россия 125047, Москва, Миусская пл., д. 9
В работе предложено использовать двухслойный перцептрон в качестве математической модели дефаззификатора, служащего для преобразования нечёткого решения в числовую форму в процедурах нечётко-логического вывода. При использовании заранее обученной нейронной сети он позволяет значительно снизить вычислительную нагрузку этапа дефаззификации методами, требующими множественного интегрирования нелинейных функций. Универсальность подхода и метода описания входных наборов данных позволяет использовать обученный перцептрон для дефаззификации нечёткого решения в любых задачах. Проведено обучение и тестирование двухслойного перцептрона. Доказана эффективность его использования для решения поставленной задачи.
Ключевые слова: нейросетевой дефаззификатор, искусственная нейронная сеть, двухслойный перцептрон, нечётко-логический вывод, дефаззификация, нечёткое подзаключение, функция принадлежности.
MODEL OF GENERIC NEURAL NETWORK DEFUZZIFICATOR
Ermolaev N.S., Kirillov N.D., Dudarov S.P.
D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia
In this work the two-layer perceptron was offered to use as mathematical model of defuzzificator designed for conversion of fuzzy logical solution to numerical view in procedures of fuzzy logical derivation. This method allows to decrease computational workload for defuzzification stage, which involves the great number of nonlinear function integrations, with use ofpreviously trained neural network. The universality of approach and method for input datasets describing enables to use trained perceptron for defuzzification a fuzzy solution of any tasks. A learning and a testing of two-layer perceptron have been carried out. Its effectivity has been proven for solving the task.
Keywords: neural network defuzzificator, artificial neural network, two-layer perceptron, fuzzy-logical derivation, defuzzification, fuzzy subconclusion, membership function.
Процедуры нечётко-логического вывода решений активно применяются в задачах, обусловленных значительной неопределенностью или неполнотой исходной информации, в области разработки автоматических и автоматизированных систем управления, экспертных систем, систем поддержки принятия решений. Эффективность их применения признана наравне со многими другими методами искусственного интеллекта [1]. Они позволяют имитировать рассуждения
квалифицированного эксперта предметной области без использования математических моделей в виде алгебраических, дифференциальных уравнений или их систем.
Наиболее важными и ресурсоёмкими этапами процедуры нечётко-логического вывода, как правило, являются этапы дефаззификации нечёткого решения или нечётких подзаключений, например, в алгоритмах Мамдани, Ларсена и Тсукамото. Это связано с тем, что простые методы дефаззификации (методы максимумов) чаще всего не обеспечивают удовлетворительного решения, а более сложные (методы центра тяжести) требуют интегрирования
нескольких фрагментов зачастую нелинейных функций:
I x|(x)dx
X * = Jf , (1) I |(x)dx
где X* - числовое представление результата дефаззификации;
x - переменная универсального множества; ц^) - функция принадлежности.
В случае многократного повторения этапа дефаззификации в цикле, он становится лимитирующим для всего алгоритма.
Пределы интегрирования, в общем случае, включают всё универсальное множество. На практике интегрирование осуществляется в пределах объединения носителей подзаключений - элементов универсального множества с положительными значениями степени принадлежности.
Функция принадлежности ц^) определяется соотношением (2) как объединение нечётких
подзаключений, функции принадлежности которых jx) ограничены сверху соответствующими весами
ц(х) = U ( j (x)n m] ).(2)
j=i
С целью снижения вычислительной нагрузки данного этапа в процедурах нечётко-логического вывода предлагается использовать заранее обученную искусственную нейронную сеть, реализованную в архитектуре двухслойного перцептрона. Перцептрон однократно обучается на любом требуемом количестве случайно сгенерированных примеров, затем подключается в программе к системе вывода в виде обычной функции.
Рассмотрим формат и состав переменных модели нейросетевого дефаззификатора в виде двухслойного перцептрона. Традиционно для выполнения этапа дефаззификации любым методом необходима информация о значениях п нечётких подзаключений и соответствующих им степенях принадлежности (рис.1). При этом для реализации в виде перцептрона должны соблюдаться следующие требования: 1) высота каждого нечёткого подзаключения равна 1; 2) непрерывное, но ограниченное слева и справа универсальное множество: х е [Хтт, Хтах]; 3) использование унимодальных функций принадлежности нечётких подзаключений (с единственным максимумом); 4) все функции принадлежности относятся к одному классу; 5) взаимное дополнение функций принадлежности подзаключений в их точках максимумов:
ï>j (x) = 1. (3)
j=i
Рис.1. Входная и выходная информация этапа дефаззификации
Благодаря выполнению требований 1-3 и 5, зная математическое выражение выбранного класса функций принадлежности, для описания всего их множества достаточно иметь лишь координаты максимумов: x1, x2, ..., xn. Кроме того, для учёта вклада каждого подзаключения в итоговое числовое решение необходимо иметь n значений степени принадлежности: m1, m2, ..., mn, определяющих веса подзаключений.
Таким образом, нейросетевая математическая модель дефаззификатора включает 2n входных переменных (координаты максимумов
подзаключений и их степени принадлежности) и одну выходную переменную - результат дефаззификации X*.
Одна из наиболее подходящих архитектур нейронных сетей для аппроксимации многомерных нелинейных функций - многослойные перцептроны [2]. Так как основная цель создания нейросетевого дефаззификатора - снижение вычислительной нагрузки в процессе нечётко-логического вывода, использование более одного скрытого слоя представляется нецелесообразным, и для дальнейшего рассмотрения был выбран двухслойный перцептрон. Структура такого перцептрона для решения поставленной задачи дефаззификации приведена на рис.2.
Для обеспечения высокого качества работы обученного перцептрона количество его весовых коэффициентов, настраиваемых в процессе обучения, должно быть в 2-5 раз меньше, чем количество обучающих примеров [2]. В нашем случае число весовых коэффициентов Q и число нейронов скрытого слоя к связаны между собой расчётным соотношением:
Q = 2к(п + 1) + 1. (4)
Рассмотрим задачу моделирования
нейросетевого дефаззификатора на примере множества, состоящего из 5 нечётких подзаключений. Это даёт нам 10 входных переменных двухслойного перцептрона: 5 координат максимумов и 5 весов подзаключений. Выход модели - результат дефаззификации методом центра тяжести.
Программно-алгоритмическое обеспечение для генерации обучающей выборки, настройки, обучения и практического использования двухслойного перцептрона было разработано в интегрированной среде Microsoft Visual Studio 2012 на языке программирования C++. Данные средства разработки позволяют эффективно использовать динамическую память и применять методы объектно-ориентированного программирования [3], например, создавать экземпляры объектов, что является удобным при создании отдельных нейронов и нейронной сети в целом.
m
Рис.2. Структура нейросетевого дефаззификатора
Для обучения перцептрона была составлена выборка, включавшая около 1000 примеров. Примеры генерировались для 5 случайных пар значений Ху - ту таким образом, чтобы выполнялось условие: х;-1 < Ху. Из 5 весов нечётких подзаключений лишь один, а также два или три смежных подзаключения могли иметь положительные значения; остальные оставались нулевыми.
Для тестирования использовался независимый набор из 200 примеров, сформированный по тем же принципам, что и обучающая выборка.
В качестве активационной функции использовалась сигмоидная логистическая функция с параметром насыщения а = 1,0. Использован линейно убывающий коэффициент скорости обучения. Для коррекции весовых коэффициентов использован алгоритм обратного распространения ошибки [4].
В ходе исследований варьировалось количество нейронов в скрытом слое от 15 до 25. Полученные ошибки обучения варьировались от 0,39 до 0,83%, ошибки тестовой выборки - от 1,6 до 3,3%.
В ходе исследования установлено:
- ошибка тестирования в несколько раз превосходит ошибку обучения, что говорит о недостаточно полном охвате всех возможных комбинаций входных переменных в обучающем множестве;
- ошибки обучения и тестирования значительно меньше разброса в результирующих величинах, получаемых при использовании различных методов дефаззификации, что свидетельствует о возможности использования нейросетевого
дефаззификатора в качестве альтернативы любому другому расчётному модулю;
- увеличение количества скрытых нейронов приводит к уменьшению ошибок обучения и тестирования;
- при больших (близких к единице) начальных значениях коэффициента скорости обучения процесс коррекции весовых коэффициентов отличается низкой эффективностью в связи с тем, что каждый следующий пример сводит к нулю значимость всех ранее сделанных поправок;
- сложность структуры перцептрона определяет продолжительность его обучения: чем больше в структуре скрытых нейронов, тем большее количество эпох обучения потребуется для стабилизации ошибки. Тем не менее, даже самые простые из рассмотренных структур обеспечивают удовлетворительную точность решения задачи дефаззификации.
Представленная модель нейросетевого дефаззификатора универсальна, поскольку может быть использована для любого количества нечётких подзаключений и для любых функций принадлежности, удовлетворяющих
вышеперечисленным требованиям. А поскольку для обучения перцептрона используются
предварительно нормализованные входные переменные, область применения уже настроенного дефаззификатора также может быть любой при согласовании формата входных данных.
Список литературы
1. Дударов С.П., Папаев П.Л. Алгоритмизация принятия решений на основе процедур нечётко-логического вывода в условиях неопределённости // От фундаментальных исследований к коммерциализации научных идей: Сборник материалов российско-швейцарского семинара. М.: РХТУ им. Д.И. Менделеева, 2016. С. 26-28.
2. Дударов С.П., Папаев П.Л. Теоретические основы и практическое применение искусственных нейронных сетей: учеб. пособие. М.: РХТУ им. Д.И. Менделеева, 2014. 104 с.
3. Янчи С.О., Дударов С.П. Использование объектно-ориентированного подхода при разработке программных средств нейросетевого моделирования // Успехи в химии и химической технологии: сб. науч. тр. Том XXII, № 1 (81). М.: РХТУ им. Д.И. Менделеева, 2008. С. 55-59.
4. Rumelhart D.E., Hinton G.E., Williams R.J. Learning internal representations by error propagation // Parallel Distributed Processing. Cambridge, MA, MIT Press, 1986. V. 1. P. 318-362.