Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

ALGORITHMS OF FUZZY AND NEURAL CONTROL IN REAL-TIME SYSTEMS

Volkhonskiy A.N. 1
1 Samara state technical University
Currently, the necessary parallelization in order to ensure high computing performance is provided by the use of real-time systems. The main requirements for real-time systems are their timely execution of tasks and performance. An increase in the time required for the survey of sensors and the time for the formation of the control action can have a negative impact on the quality of control in the case of real-time tasks. Real-time systems react predictably in response time to external events that are unpredictable in time of occurrence. This property allows the developer to ensure the functionality and correctness of the designed system. To estimate the time reserve in fuzzy logic systems, it is advisable to use the fuzzy logic apparatus for automatic control systems of objects with an indefinite and definite mathematical description. The application of real-time systems to systems with an incomplete description of the object of regulation is necessary, since in this case the information processing procedure is performed absolutely neutrally and all the requirements that real-time systems put forward are strictly fulfilled here. In this article, the basic provisions of the theory of fuzzy, neural and fuzzy-neural control of nondeterministic objects are considered, and examples of their application in real-time systems are given.
real time systems
neural networks
fuzzy logic
fuzzy set
self-organizing systems

Нечеткое множество - ключевое понятие нечеткой логики. Пусть Е — универсальное множество, х — элемент Е, a R — некоторое свойство. Обычное (четкое) подмножество А универ­сального множества Е, элементы которого удовлетворяют свойству R, определяется как множество упорядоченных пар.

Нечеткое подмножество отличается от обычного тем, что для элементов х из Е нет однозначного ответа «да-нет» относительно свойства R. В связи с этим нечеткое подмножество А универсаль­ного множества Е определяется как множество упорядоченных пар

Надпись: А = { ?A(x) / x}(1)

где μА(х) — характеристическая функция, принимающая значения в некотором вполне упорядоченном множестве М (например, М = [0, 1]).

Функция принадлежности указывает степень принадлежности элемента х подмножеству А. Множество М называют множеством принадлежностей. Если М = {0, 1}, то нечеткое подмножество А может рассматриваться как обычное или четкое множество.

Пример нечёткого множества принадлежности свойства «младенческий» к параметру возраста ребёнка представлен на рисунке 1.

https://cf.ppt-online.org/files/slide/h/hwVb8Ej0DH4fcFaJLBZNoCtx3Iuiqrk9lTXUYO/slide-8.jpg

Рисунок 1 - Принадлежность свойства «младенческий» к параметру возраста ребёнка

Нейросеть — это связка нейронов. Каждый из этих нейронов получает данные, обрабатывает их, а потом передаёт другому нейрону. И каждый нейрон обрабатывает сигналы одинаково.

В составе нейросети есть три вида нейронов: входной, выходной и скрытый.

Любой нейрон состоит из двух типов данных: входных и выходных. У первого слоя входные данные равняются выходным. В других случаях на вход попадает суммарная информация предыдущих слоёв, после чего она нормализуется.

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

В результате на результат оказывают влияние не нейроны, а конкретно синапсы, которые дают совокупность веса входных данных, ведь собственно сами нейроны постоянно выполняют абсолютно одинаковые вычисления. Выставление весов осуществляется в случайном порядке.

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

Обобщенная структура нейросети представлена на рисунке 2.

https://avatars.mds.yandex.net/get-zen_doc/248942/pub_5bd777896b4c0f361ae916b2_5bd78419c1416b351a2a08b7/scale_1200

Рисунок 2 – Обобщенная структура нейросети

Каждая нейронная сеть включает в себя первый слой нейронов, называемый входным. Этот слой не выполняет каких-либо преобразований и вычислений, его задача состоит в том, чтобы: принимать и распределять входные сигналы по остальным нейронам. И этот слой единственный, являющийся общим для всех типов нейросетей, а критерием для деления является уже дальнейшая структура:

1. Однослойная структура нейронной сети. Представляет собой структуру взаимодействия нейронов, в которой сигналы с входного слоя сразу направляются на выходной слой, который, преобразует сигнал, и сразу же выдаёт ответ. Входные нейроны являются объединёнными с основным слоем с помощью синапсов с разными весами, обеспечивающими качество связей.

Схема однослойной нейронной сети представлена на рисунке 3.

Рисунок 3 – Схема однослойной нейронной сети

2. Многослойная нейронная сеть. В сети помимо выходного и входного слоёв, имеются ещё несколько скрытых промежуточных слоёв. Число этих слоёв зависит от степени сложности нейронной сети.

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

Рисунок 4 – Схема многослойной нейронной сети

Кроме количества слоёв, нейронные сети можно классифицировать по направлению распределения информации по синапсам между нейронами:

1. Нейросети прямого распространения (однонаправленные). В этой структуре сигнал перемещается строго по направлению от входного слоя к выходному. Движение сигнала в обратном направлении не осуществляется и в принципе невозможно.

Схема нейросети прямого распространения представлена на рисунке 5.

https://textarchive.ru/images/722/1442792/m4ebb91cd.png

Рисунок 5 – Схема нейросети прямого распространения

2. Рекуррентные нейронные сети (с обратными связями). Здесь сигнал двигается и в прямом, и в обратном направлении. В итоге результат выхода способен возвращаться на вход. Выход нейрона определяется весовыми характеристиками и входными сигналами, плюс дополняется предыдущими выходами, снова вернувшимися на вход. Этим нейронным сетям присуща функция кратковременной памяти, на основании чего сигналы восстанавливаются и дополняются во время их обработки.

Пример схемы рекуррентной нейросети представлен на рисунке 6.

https://studfile.net/html/2706/277/html_ryzAm6NpK8.MeZx/htmlconvd-vcMaFZ6x1.jpg

Рисунок 6 – Схема рекуррентной нейросети

Рекуррентные нейросети делятся на следующие виды:

- слоисто-циклические, отличающиеся тем, что слои замкнуты в кольцо: последний слой передает свои выходные сигналы первому; все слои равноправны и могут, как получать входные сигналы, так и выдавать выходные. Пример такой сети представлен на рисунке 6.

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

https://myslide.ru/documents_3/bb08cc10d08e1c1ffa6a22294d1d1f16/img20.jpg

Рисунок 7 – Схема слоисто-полносвязной сети

 

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

3. Самоорганизующиеся карты, называемые картами Кохонена - это одна из разновидностей нейронных сетей, однако они принципиально отличаются от рассмотренных выше, поскольку используют неконтролируемое обучение. При таком обучении обучающее множество состоит лишь из значений входных переменных, в процессе обучения нет сравнивания выходов нейронов с эталонными значениями. Можно сказать, что такая сеть учится понимать структуру данных.

Пример самоорганизующиеся карты представлен на рисунке 8.

Сеть Кохонена

Рисунок 8 – Самоорганизующаяся карта Кохонена

4. Слабосвязанные нейронные сети

В слабосвязных нейронных сетях нейроны располагаются в узлах прямоугольной или гексагональной решетки. Каждый нейрон связан с четырьмя в окрестности фон Неймана, шестью в окрестности Голея или восемью в окрестности Мура своими ближайшими соседями. Структуры слабосвязанных сетей Неймана и Голея представлены на рисунке 9.

https://neuronus.com/images/theory/classif/20140613/130614_1.jpg

Рисунок 9 – Структуры слабосвязанных сетей Неймана и Голея

5. Полносвязанные нейронные сети

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

https://neuronus.com/images/theory/classif/20140613/130614_1.jpg

Рисунок 10 – Структура полносвязанных нейронных сетей

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

Достоинства нечеткого управления:

1. Нечеткий регулятор обеспечивает большую устойчивость системы к помехам, чем традиционный регулятор;

2. Нечеткий регулятор лучше управляет нелинейными процессами;

3. Для проектирования и эксплуатации нечетких регуляторов требуется менее опытный персонал по сравнению с традиционным регулятором.

Недостатками нечетких систем являются:

1. отсутствие стандартной методики проектирования и расчета нечетких систем;

2. невозможность математического анализа нечетких систем существующими методами;

3. применение нечеткого подхода по сравнению с вероятностным не приводит к повышению точности вычислений;