Секция 4 - Нейросетевые технологии (1250001), страница 9
Текст из файла (страница 9)
На выходе сети получаем численное значение коэффициента принадлежностираспознаваемой динамограммы к каждой из девяти типовых динамограмм.Рис. 5. Структура двухслойной прямонаправленной нейронной сетидля анализа динамограмм.Все исследование и анализ качества работы сети выполнен в приложении Neural Network Toolbox в среде MATLAB 6.1 [2]. Модель системыдиагностики представляет собой структуру из пяти файлов-программ, показанную на рис.
6. Фрагменты программы создания и моделирования работы сети NETCREATE.M приведены в Приложении.Рис. 6. Структура модели системы диагностики ШГНУ.1278Секция 4. Нейро-сетевые технологииОбучение сети проведено итеративным градиентным методом с помощью комбинированного алгоритма обратного распространения ошибкис возмущением и адаптацией параметра скорости настройки. Фрагменттекста программы, задающей параметры обучения в составе файлаNETCREATE.M, также приведен в Приложении.
При запуске этого файлана экране появляется график, подобный изображенному на рис. 7, отображающий зависимость величины ошибки обучения от числа циклов обучения.Рис. 7. Зависимость ошибки от числа циклов обучения сети.4. Тестирование нейронной сетиТестирование сети, основанное на расчете коэффициента принадлежности распознаваемой динамограммы к типовым, выполняет файлPROVTEST.M, текст которого приведен в Приложении.
Если запуститьэтот файл, например, для анализа динамограммы типа 4, что показана нарис. 3,г (характерной при наличии утечки в приемном клапане), то на экран последовательно будут выводиться изображения идеализированнойдинамограммы (см. рис. 8), зашумленной динамограммы (см. рис. 9), и результат работы сети в виде гистограммы расчетных значений коэффициента принадлежности при распознавании зашумленной динамограммы (см.рис. 10). Ниже на рис.
11 … 13 приведены окна, появляющиеся при проверке работы сети на примере распознавания динамограммы типа 9, пока1279Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»занной на рис. 4, и (характерной для высокой посадки плунжера). Способность сети к распознаванию зашумленных динамограмм важна по той причине, что при их снятии на станке-качалки возникает множество помех,обусловленных работой датчиков, аналого-цифровых преобразователей всоставе контроллера, а также силами трения, инерционными нагрузками,вынужденными и собственными колебаниями столба жидкости и т. д.Рис.
8. Окно идеализированнойдинамограммы 4.Рис. 9. Окно зашумленнойдинамограммы 4.Рис. 10. Окно вывода результатов распознавания динамограммы 4при уровне зашумления 0,3.1280Секция 4. Нейро-сетевые технологииРис. 11. Окно идеализированнойдинамограммы 9.Рис. 12. Окно зашумленнойдинамограммы 9.Рис. 13. Окно вывода результатов распознавания динамограммы 9при уровне зашумления 0,4.Для проверки способности сети к распознаванию динамограмм приразличных уровнях зашумления проведено исследование (на примере динамограмм 4 и 9) зависимости коэффициента принадлежности от уровнязашумления путем проведения трех проб на каждый уровень зашумления.Полученные результаты представлены на рис. 14.1281Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»Динамограмма 4Динамограмма 91,2ТочностьраспознаванияТочностьраспознавания1,210,80,60,40,2010,80,60,40,200,00,10,20,30,40,50,60,0Уровень зашумленияа)0,10,20,30,40,50,6Уровень зашумленияб)Рис.
14. Зависимость точности распознавания от уровня зашумления:а - для динамограммы 4; б — для динамограммы 9.Результаты тестирования качества работы предлагаемой нейроннойсети приводят к выводу, что рассмотренная структура вполне способнаобеспечить достаточно высокую точность распознавания динамограмм,даже при наличии довольно значительного уровня помех. Преимуществоданного решения заключается в общности подхода к анализу всего разнообразия динамограмм и возможности развития системы путем параметрирования выбранной структуры с последующим обучением.5.
Техническая реализация системы диагностикина основе нейронной сетиВозможны несколько вариантов реализации предложенных решенийпо построению системы диагностики на основе нейронной сети в зависимости от оснащенности ШГНУ средствами контроля, наличия каналов связи, предполагаемого уровня управления и технологии обработки динамограмм.При реализации системы диагностики на высшем уровне технологического контроля и управления целесообразны следующие варианты ее построения:– в отсутствии на станке-качалке стационарных средств динамометрирования обращаемся к традиционному решению задачи диагностики на основе данных периодического контроля с использованием переносных средств динамометрирования.
Для функционирования системы в этом случае у технологической службыдолжен иметься персональный компьютер и соответствующеепрограммное обеспечение, например, MATLAB 6.1 ProfessionalEdition, в среде которого реализуется рассмотренная система диагностики;1282Секция 4. Нейро-сетевые технологии– при оснащении ШГНУ стационарными средствами динамометрирования и системой управления с каналами связи для передачиданных, централизованная обработка динамограмм может бытьвыполнена на верхнем уровне управления теми же средствами,что и в предыдущем случае;– при реализации системы диагностики на кустовом уровне или всоставе станции управления ШГНУ, требуется оснащение станкакачалки стационарными средствами динамометрирования и применение в системе управления достаточно мощного контроллерасо специальным программным обеспечением, рассчитанным нареализацию нейронных сетей (например, Simatic S7 — 300 Outdoor фирмы Siemens).
Контроллер SIMATIC S7-300 Outdoor предназначен для работы в тяжелых промышленных условиях, отличающихся сильным воздействием вибрации и тряски, повышенной влажности, широким диапазоном рабочих температур. На основе программы диагностики и использования этого контроллеравозможно создание специальной системы управления электроприводом, использующей для выработки управляющих сигналовданные, полученные при анализе динамограмм.Литература1. Алиев Т. М., Тер-Хачатуров А.
А. Автоматический контроль и диагностика скважинных штанговых насосных установок.— М.: Недра,1988.— 232 с.2. Медведев В. С., Потемкин В. Г. Нейронные сети. MATLAB 6 / Под общ.ред. В.Г. Потемкина.— М.: Диалог–МИФИ, 2002.— 496с.ПриложениеПрограмма задания динамограммSUMDINAM.Mfunction [masdin, targ] = sumdinam ( );% Файл-функция sumdinam определяет 9 векторов входа,% каждый из которых содержит 112 элементов. Этот массив называется masdin.% Файл-функция формирует выходные переменные masdin и targ,% которые определяют массивы динамограмм и целевых векторов.% Задание динамограммdin1 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 1 1 1 1 1 1 1 1 1 1 0 ...0 0 0 1 0 0 0 0 0 0 0 0 1 0 ...0 0 1 0 0 0 0 0 0 0 0 1 0 0 ...0 0 1 0 0 0 0 0 0 0 0 1 0 0 ...0 1 0 0 0 0 0 0 0 0 1 0 0 0 ...0 1 1 1 1 1 1 1 1 1 1 0 0 0 ...00000000000000];din2 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 1 1 1 1 1 1 1 1 1 1 0 ...0 0 0 1 0 0 0 0 0 0 0 1 1 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...1283Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 1 0 0 0 0 0 0 0 1 0 0 0 0 ...0 1 1 1 1 1 1 1 1 1 0 0 0 0 ...00000000000000];din3 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 1 1 1 1 1 1 1 1 1 1 0 ...0 0 0 1 0 0 0 0 0 1 1 1 1 0 ...0 0 1 0 0 0 0 0 1 0 0 0 0 0 ...0 0 1 0 0 0 0 0 1 0 0 0 0 0 ...0 1 0 0 0 0 0 1 0 0 0 0 0 0 ...0 1 1 1 1 1 1 1 0 0 0 0 0 0 ...00000000000000];din4 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 1 1 1 1 1 1 1 1 1 1 0 ...0 0 0 1 0 0 0 0 0 0 0 1 0 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 0 1 0 0 0 0 0 0 1 0 0 0 0 ...0 0 1 1 1 1 1 1 1 1 0 0 0 0 ...00000000000000];din5 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 1 1 1 1 1 1 1 1 1 1 1 0 ...0 0 1 0 0 0 0 0 0 0 0 1 0 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 1 0 0 0 0 0 0 0 1 0 0 0 0 ...0 1 0 0 0 0 0 0 1 0 0 0 0 0 ...0 0 1 1 1 1 1 1 0 0 0 0 0 0 ...00000000000000];din6 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 0 0 1 1 1 1 1 1 1 0 0 ...0 0 0 0 1 0 0 0 0 0 0 0 1 0 ...0 0 0 1 0 0 0 0 0 0 0 0 1 0 ...0 0 0 1 0 0 0 0 0 0 0 1 0 0 ...0 0 1 0 0 0 0 0 0 0 0 1 0 0 ...0 1 1 1 1 1 1 1 1 1 1 1 0 0 ...00000000000000];din7 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 0 0 0 1 1 1 1 1 0 0 0 ...0 0 0 0 0 1 0 0 0 0 0 1 0 0 ...0 0 0 0 1 0 0 0 0 0 0 0 1 0 ...0 0 0 1 0 0 0 0 0 0 0 0 1 0 ...0 0 1 0 0 0 0 0 0 0 0 1 0 0 ...0 1 1 1 1 1 1 1 1 1 1 1 0 0 ...00000000000000];din8 = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...0 0 0 0 1 1 1 1 1 1 1 1 1 0 ...0 0 0 1 0 0 0 0 0 0 0 1 0 0 ...0 0 0 1 0 0 0 0 0 0 0 1 0 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 0 1 0 0 0 0 0 0 0 1 0 0 0 ...0 1 1 1 1 1 1 1 1 1 0 0 0 0 ...01000000000000];din9 = [0 0 0 0 0 0 0 0 0 0 0 0 1 0 ...0 0 0 0 1 1 1 1 1 1 1 1 1 0 ...1284Секция 4.