Статья опубликована в рамках: CLIV Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 08 декабря 2022 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
НЕЙРОСЕТЕВОЙ НЕЧЁТКИЙ АНАЛИЗ ПРИ ОЦЕНКЕ БЕЗОПАСНОЙ РАБОТЫ СТРОИТЕЛЬНОГО КРАНА
NEURAL NETWORK FUZZY ANALYSIS IN ASSESSING THE SAFE OPERATION OF A CONSTRUCTION CRANE
Roman Grafchikov
student, Department of Information Systems and Technologies, Don State Technical University,
Russia, Rostov-on-Don
Ключевые слова: данных; сети; переменных; обучения; оценки; анализ; кран; нейросети.
Keywords: data; networks; variables; learning; evaluation; analysis; crane; neural networks.
Целью анализа полученных данных анкетирования по состоянию оборудования и аналогичным устройствам грузоподъемного крана является разработка и реализация технологии оценки риска аварийных ситуаций на текущий момент и прогнозирования риска на ближайший период. Учитывая слабую формализованность входной информации, наилучшую эффективность в достижении цели имеет применение технологий машинного обучения, нейронных сетей в сочетании с методами нечеткого анализа данных при принятии решений.
Основными задачами предлагаемого подхода являются:
- исследование применения нейросетевого анализа данных в условиях нечеткости входной информации для ее классификации по тяжести последствий аварии и уровням вероятности возникновения опасного события;
- построение и исследование общей задачи оценки риска развития аварийных ситуаций на опасных объектах. Отметим, что задача исследования имеет алгоритм решения на основе нечеткого логического вывода, включающей стадии фаззификации, применения нечетких продукционных правил и дефаззификации, например в соответствии с методом Такаги-Сугено. Наиболее развитым подходом здесь является использование многослойной сети прямого распространения. Обучение нейронной сети проводится без учителя, на основе кластеризации входных данных. Входная информация нейросети нечеткого анализа имеет вид - информация с опросных чек-листов.
Главной задачей разрабатываемой системы является соответствие грузоподъёмного крана требованиям промышленной безопасности. Применение нейронных сетей способствует автоматизации процесса решения данной задачи.
Таким образом, для решения задачи о соответствии грузоподъемного крана требованиям промышленной безопасности по уровням:
- не соответствует (аварийное, плохое);
- не в полной мере, принять меры для снижения риска (удовлетворительное, хорошее);
- соответствует (хорошее, отличное)
была выбрана многослойная нейронная сеть прямого распространения, включающая в себя 3 слоя и решающая задачу многопараметрической классификации на основе входной информации с чек-листов.
В качестве среды разработки используется Anaconda3. Среда Anaconda3 предоставляет разработчику удобный инструментарий для проектирования приложений таких языках, как Python и R. Anaconda3 включает в себя набор популярных свободных библиотек, объединённых темами науки о данных и машинного обучения.
Основная цель создания дистрибутива – объединение единым согласованным комплектом наиболее востребованных тематических модулей (таких как Pandas, Keras, NumPy, SciKit-fuzzy, SciPy и др.) с разрешением возникающих конфликтов при одиночной установке данных пакетов.
Менеджер разрешения зависимостей conda с графическим интерфейсом Anaconda Navigator позволяет отказаться от стандартных менеджеров пакетов. Также использование данной среды обуславливается поддержкой ОС Microsoft Windows 10.
Названия фреймворков, выбранных для разработки, представлены ниже: SciKit-learn, Scikit-Fuzzy, NumPy, Keras, TensorFlow, Matplotlib, а также некоторые дополнительные пакеты математического и инфраструктурного характера.
На этапе семантической обработки входной информации с чек-листов необходимо все используемые показатели риска, а также оцениваемые величины представить в виде семантических переменных в соответствии с теорией нечетких множеств (этап фаззификации).
Для этого введен универсальный носитель нечетких множеств U = [0,96].
Для каждого показателя риска в случае наличия числового выражения, характеризующего его значение, проводится линейное отображение интервала изменения данного показателя на универсальный носитель. При этом минимальное значение величины u ∈ U должно соответствовать наихудшему значению показателя, увеличивающего риск возникновения аварийной ситуации, максимальное значение – наилучшим условиям эксплуатации грузоподъемного оборудования.
В результате экспертной оценки определяются функции принадлежности для каждого значения лингвистических переменных Xi , i = 1, . . . ,12, определяющих выраженноcть факторов риска: в Системе принято семь значений лингвистических переменных: 0=«отлично», 1=«хорошо», 2=«довольно хорошо», 3=«выше среднего», 4=«не удовлетворительно», 5=«плохо», 6=«аварийное».
В качестве лингвистических переменных Xi выбраны следующие параметры, определяющие риск возникновения аварийной ситуации:
X1 = «Состояние основных механизмов оборудования» (mechanism);
X2 = «Состояние ограждения механизмов и электрооборудования» (fences);
X3 = «Состояние смазки канатов» (oil rope);
X4 = «Состояние металлоконструкций оборудования и элементов подвески» (metalworks);
X5 = «Состояние канатов и их крепления на барабане» (winch);
X6 = «Состояние крюковой подвески» (hook);
X7 = «Состояние противовеса» (counterweight);
X8 = «Наличие и состояние приборов и устройств безопасности на кране» (device);
X9 = «Уровень освещения оборудования и рабочей зоны» (lighting);
X10 = «Наличие трещин любых размеров на барабане» (lock);
X11 = «Состояние крановых путей и тупиковых упоров» (crane tracks);
X12 = «Состояние токоподводящего кабеля, а также заземляющих проводников» (current cable).
Для обучения были составлены 3 набора данных по тысяче элементов каждый. Первый набор обучает нейросеть отрицательным состояниям оценки кранового оборудования (для 12 переменных кранового оборудования выбраны 4 переменных оценки оборудования). Второй набор предназначен для обучения на основе всей выборки переменных оценки оборудования (12 переменных кранового оборудования и 7 переменных оценки оборудования). Третий вариант обучает нейронную сеть на основе положительных результатов оценки (для 12 переменных кранового оборудования выбраны 3 наилучших критерия оценки оборудования).
Для каждого значения всех переменных определяется своя функция принадлежности трапециевидного типа μA(u) = trapmf(a, b, c, d).
Рисунок 1. Вид трапециевидной функции принадлежности
Входными данными имитатора являются: набор вопросов со статическими значениями по методу нечеткой логики (дефаззификация). Входов в системе используется 12.
Для начала обучения нейросети импортируем библиотеки Numpy и Sci-Kit fuzzy, затем вносим параметры для 12 устройств грузоподъёмного крана, у каждого устройства по 7 параметров оценки, прописываем им числовые значения. Далее указываем для каждого устройства коэффициентный сценарий риска при возможном отказе устройства, так чтобы в итоге в сумме коэффициенты равнялись 1.
S = {0.14, 0.04, 0.08, 0.14, 0.08, 0.18, 0.06, 0.08, 0.12, 0.02, 0.04, 0.02}
Следующим шагом будет указание параметра на выходе для определения категории риска. В данном случае это – 1 категория – состояние грузоподъёмного крана менее 33%, 2 категория – состояние менее 66% и всё что больше 66% относим к 3 категории.
Следующим шагом будет обучение нейросети.
Далее, при помощи библиотеки Numpy и команды np.array составляем выборку данных для машинного обучения.
Подбираем по тысяче значений 12 устройств для каждой из 3 категорий риска. После этого присваиваем выходные данные.
Выходные данные после дефаззификации будут представлены в виде строкового значения, хранящегося в соответствующей таблице базы данных со статусом теста. Выходов в системе используется 3.
«В нейронной сети выходной сигнал рассчитывается с помощью выражения:
где i–ый полиномиальный компонент аппроксимации.
Веса wi компонентов рассчитываются по следующей формуле (с использованием рациональной формы функции Гаусса):
[1].
Общее количество параметров сети отображено в формуле:
Весовые коэффициенты wi вычисляются до тех пор, пока значение активационной функции по сумме S не станет равно значению yi. Значения yi представлены как: 0, если вход сети не соответствует данному выходу сети, и 1, если соответствует. Таким образом, для обучения сети выходами будут является три набора значений: [1 0 0] для соответствия, [0 1 0] для соответствия не в полной мере и [0 0 1] для несоответствия.
Проведение анализа эксплуатации кранов и обучение модели нейронной сети реализуется за счёт использования открытой нейросетевой библиотеки Keras. «Данная библиотека представляет собой надстройку над фреймворками Deeplearning4j, TensorFlow и Theano.» [2].
Далее, при помощи библиотеки Keras проводим обучение нейронной сети. Для этого импортируем модели Sequential и Dense.
Перед обучением модели нужно настроить сам процесс при помощи метода compile. Он включает в себя 3 аргумента.
Optimizer (Оптимизатор) – это метод стохастического градиентного спуска, основанный на адаптивной оценке моментов первого и второго порядка. Алгоритм оценивает и среднюю нецентрованную дисперсию.
Categorical_crossentropy (Категориальная кроссэнтропия) – это функция ошибки. «Она может быть выражена строковым идентификатором или собственной функцией.» [3].
Metrics (Метрики) – это список метрик.
Метрики бывают в виде метрических функций или строковыми идентификаторами существующих метрик.
Теперь указываем количество отсчетов на обновление градиента (batch_size), количество эпох обучения (epochs) и вербозный режим (verbose).
После этого в модель надо добавить количество входов (в данном случае 12 – по количеству устройств строительного крана), количество нейронов и слоёв сети (3).
Модель Keras обучается на созданных ранее Numpy массивах.
Начинаем исследование построенной модели.
Таблица 1.
Тест модели по количеству нейронов
Тест модели |
1 |
2 |
3 |
4 |
5 |
Количество нейронов 1 слоя |
66 |
66 |
50 |
100 |
10 |
Количество нейронов 2 слоя |
33 |
33 |
25 |
50 |
5 |
optimizer |
adam |
adam |
adam |
adam |
adam |
metrics |
accuracy |
accuracy |
accuracy |
accuracy |
accuracy |
epochs |
100 |
100 |
100 |
100 |
100 |
batch_size |
10 |
10 |
10 |
10 |
10 |
verbose |
1 |
2 |
1 |
1 |
1 |
Обучаемость модели |
0,987 |
0,995 |
0,977 |
0,9823 |
0,9413 |
Функция потерь |
0,0315 |
0,0165 |
0,053 |
0,055 |
0,1313 |
Таблица 2.
Тест модели по выбору оптимизатора
Тест модели |
1 |
2 |
3 |
4 |
5 |
Количество нейронов 1 слоя |
66 |
66 |
66 |
66 |
66 |
Количество нейронов 2 слоя |
33 |
33 |
33 |
33 |
33 |
optimizer |
adam |
adadelta |
rmsprop |
adagrad |
adamax |
metrics |
accuracy |
accuracy |
accuracy |
accuracy |
accuracy |
epochs |
100 |
100 |
100 |
100 |
100 |
batch_size |
10 |
10 |
10 |
10 |
10 |
verbose |
1 |
1 |
1 |
1 |
1 |
Обучаемость модели |
0,987 |
0,9660 |
0,96 |
0,9663 |
0,9670 |
Функция потерь |
0,0315 |
0,871 |
0,0992 |
0,0825 |
0,081 |
Таблица 3.
Тест модели по выбору метрик
Тест модели |
1 |
2 |
3 |
Количество нейронов 1 слоя |
66 |
66 |
66 |
Количество нейронов 2 слоя |
33 |
33 |
33 |
optimize |
adam |
adam |
adam |
metrics |
mae |
accuracy |
categorical_accuracy |
epochs |
100 |
100 |
100 |
batch_size |
10 |
10 |
10 |
verbose |
1 |
1 |
1 |
Обучаемость модели |
0,276 |
0,987 |
0,9997 |
Функция потерь |
0,0128 |
0,0315 |
0,0053 |
В ходе тестов различных параметров было выяснено, что для наилучшего обучения данной нейросети с высоким процентом обучаемости и минимальными потерями лучше всего подойдут следующие параметры:
Оптимизатор Adam, накапливающий в себе значение градиента показал лучшую эффективность. В параметре Metrics лучшим выбором станет модуль categorical_accuracy, подходящий для любых задач классификации. Количество эпох обучения выбрано 100, вербозный режим 1, обозначающий шкалу прогресса. Оптимальным количеством нейронов в данной нейросети будет 66 для первого слоя и 33 для второго. Добавляем функцию Softmax для минимизации перекрёстной энтропии. Параметр количества отсчётов на обновление градиента устанавливаем 10. Функция потерь составила 0,0053%, а обучаемость сети 0,9997 %.
Выходные данные после дефаззификации будут представлены в виде строкового значения, хранящегося в соответствующей таблице базы данных со статусом теста. Выходов в системе используется 3.
Выводы:
- созданы начальные обучающие, тренировочные и тестовые наборы данных по данным с чек-листов.
- реализована многослойная нейросеть прямого распространения в задаче нечеткой классификации.
- исследованы и определены оптимальные параметры нечетких сетей, включающие функции активации на слоях, инициализаторы весов, функции потерь, оптимизаторы, количество нейронов на скрытых слоях.
Достоверность предложенных подходов обосновывается адекватностью работы построенных нейросетей на тестовых наборах данных.
Список литературы:
- Нечеткие нейронные сети / [электронный ресурс] — Режим доступа. — URL: http://www.igce.comcor.ru/AI_mag/NN/FuzzyNets/FuzzyNets.html (дата обращения: 02.12.2022).
- Deep Exploit - Fully Automatic Pentest [Машинное обучение] / [электронный ресурс] — Режим доступа. — URL: https://codeby.net/threads/deep-exploit-fully-automatic-pentest-mashinnoe-obuchenie.63759/ (дата обращения: 03.12.2022).
- Sequential model: руководство / [электронный ресурс] — Режим доступа. — URL: https://ru-keras.com/guide-sequential/ (дата обращения: 04.12.2022).
дипломов
Оставить комментарий