Cloud of Science. 2018. T. 5. № 3 http:/ / cloudofscience.ru
Автоматизация обработки данных неразрушающего контроля на основе искусственной нейронной сети
А. А. Косач, Е. Е. Ковшов
Акционерное общество «Научно-исследовательский и конструкторский институт монтажной технологии — Атомстрой» 127410, Москва, Алтуфьевское шоссе, 43, стр. 2
e-mail: ek177@bk.ru
Аннотация. Рассматривается архитектура универсальной программно-аппаратной платформы для сбора, обработки и хранения данных, получаемых в результате проведения неразрушающего контроля изделий. Для процедуры обработки и фильтрации потоков данных применен нейросетевой модуль, имеющий широкий потенциал своего применения — от распознавания изображений до классификации данных. В качестве практического примера описывается система дистанционного контроля герметичности, построенная на основе вышеупомянутой платформы.
Ключевые слова: нейронная сеть, сервисно-ориентированная архитектура, автоматизированный неразрушающий контроль, контроль герметичности.
1. Введение
Современные промышленные предприятия стремятся к переходу на цифровое производство и автоматизированное управление жизненным циклом изделий. Создание гибких производственных систем, в частности систем неразрушающего контроля, позволяет значительно снизить влияние человеческого фактора на результаты контроля, повысить надежность систем и обеспечить точность анализа больших неструктурированных данных. Согласно [1] все проблемы, решаемые человеком с точки зрения нейронных технологий, можно условно разделить на две большие группы. Первая группа содержит задачи, имеющие известный и определенный набор условий, на основе которого необходимо получить четкий, однозначный ответ на определенный алгоритм. Вторая группа включает задачи, в которых невозможно учесть все фактические условия, влияющие на ответ, но можно определить только приблизительный набор наиболее важных условий. Поскольку некоторые из условий не принимаются во внимание, ответ является неточным, приблизительным, и алгоритм его поиска не может быть написан однозначно.
При решении проблем первой группы можно использовать традиционное прикладное программное обеспечение на основе алгоритмов с ограниченным набором параметров. Для решения проблем второй группы использование нейросетевых технологий оправдывает себя во всех отношениях при следующих условиях: во-первых, наличие универсального типа архитектуры и единого универсального алгоритма обучения (нет необходимости разрабатывать их для каждого типа задачи), а во-вторых, наличие примеров (учебных образцов), на основе которых обучаются нейронные сети.
В настоящее время существует широкий спектр наиболее популярных нейронных сетей, таких как: многослойные персептроны, самоорганизующиеся сети Ко-хонена, повторяющиеся нейронные сети, сверточные нейронные сети. Все они имеют свои отличительные особенности в топологии, активационных функциях и методах обучения и, конечно же, в механизмах реализации программного обеспечения. Однако высокая вычислительная стоимость реализации указанных нейронных сетей существенно ограничивает их развитие. Для решения этой проблемы используется организация параллельных (например, CUDA — Compute Unified Device Architecture) и распределенных вычислений (например, SOA — Сервисно-Ориентированная Архитектура), зачастую на специализированном оборудовании.
В статье рассматривается аппаратно-программная платформа, состоящая из набора веб-сервисов и аппаратных решений для управления устройствами сбора, обработки и хранения данных. Программные и аппаратные решения на основе искусственных нейронных сетей различных архитектур и топологий являются важной и универсальной частью данной платформы, которая может быть использована при разработке различных автоматизированных промышленных систем для большинства типов неразрушающего контроля, особенно для тех, где данные находятся в цифровой форме: ультразвуковой, радиографический и контроль герметичности.
2. Постановка цели и задач
Целью представляемого исследования является разработка макета универсальной программно-аппаратной платформы для сбора, хранения и высокоэффективной обработки данных физических экспериментов неразрушающего контроля (НК).
Для достижения поставленной цели были решены следующие научные задачи:
- разработка универсальной программно-аппаратной платформы сбора и обработки потоков больших неструктурированных и слабоструктурированных данных, получаемых в процессе НК;
- исследование и создание эффективных инструментальных средств моделирования и многомерного анализа данных технологических процессов НК;
- разработка нейросетевого модуля для фильтрации и обработки данных НК;
- разработка архитектуры платформы интеллектуальной обработки данных на примере дистанционной системы НК — контроля герметичности.
3. Архитектура и программное обеспечение платформы
Предлагаемая интеллектуальная платформа основана на сервисно-ориентированной архитектуре программных решений [2]. Данная архитектура представляет собой модульный подход к разработке прикладного программного обеспечения, основанный на использовании распределенных, слабо связанных стандартизированных сервисов. Сервисы реализуют различные прикладные действия и могут быть повторно использованы и объединены для решения конкретных задач.
При разработке любых информационных систем модульность облегчает масштабирование программного обеспечения и позволяет наилучшим образом использовать функции информационной системы, даже в то время, когда часть системы все еще находится в разработке. SOA позволяет использовать внешние сервисы и веб-сервисы (например, расположенные в частном или общедоступном облаке). С ростом объемов данных и расчетов построение информационных систем на основе SOA становится наиболее предпочтительным.
Модель интеллектуальной платформы была разработана и испытана при опытной эксплуатации в условиях реальных технологических процессов для автоматизированной системы контроля герметичности масс-спектрометрическим методом на основе архитектуры и технологии SOA (рис. 1). Модель включила в себя сбор и обработку данных с технологических устройств нижнего уровня, анализ герметичности изделия и автоматическое формирование технологической документации [3].
На первом этапе разработки автоматизированной системы для хранения данных, полученных в процессе мониторинга, использовалась СУБД с открытым исходным кодом PostgreSQL. Использование указанных программных технологий [4] позволяет анализировать и фильтровать данные в основных программных средствах, например Microsoft Office или его аналогах с открытым исходным кодом. Автоматизированная система управления контролем герметичности была разработана в открытой среде программирования NetBeans с использованием пары распространенных в инженерной среде языков программирования Java/C ++. Применение вышеуказанных решений позволяет существенно сократить время контроля, особенно на поточных линиях производства. Благодаря хранению данных в СУБД в любой момент можно визуализировать полученные результаты и провести повтор-
ную оценку. Автоматизация процедуры контроля герметичности исключает влияние человеческого фактора и повышает безопасность персонала.
1 1 Пользователи 1 1
Сервисная шина предприятия (ЕБВ)
и
Сервисы обработки входящих данных
Управление оборудованием
Разделение потоков _данных_
Удаление артефактов и _флуктаций_
Компенсация фона
Сервисы обработки результатов
Поиск максимального значения
Графическая интерпретация
Распознавание и анализ изображений
Регистр сервисов
Модуль оркестровки
Сервис технологической документации
Технологические карты контроля
Заключения и протоколы контроля
Внешний сервис 1
Внешний сервис 2
Внешний сервис ...
Рисунок 1. Схема взаимодействия сервисов и пользователей автоматизированной системы
4. Нейросетевая модель
Задачи, связанные с неразрушающим контролем, почти всегда имеют несколько решений, и очень часто «нечеткий» характер ответа соответствует тому, который выдают нейронные сети. В связи с этим нейронные сети используются для классификации в области компьютерной диагностики при неразрушающем контроле. Разработка оптимальной (адекватной для решения проблемы) нейронной сети включает последовательность основных этапов: выбор топологии сети, выбор функции активации нейронов скрытого слоя, выбор метода обучения и непосредственно обучение сети. Для обработки данных, полученных в процессе контроля герметич-
ности, был разработан нейронный модуль, который выполняет функции нормализации и очистки.
Нейронная сеть имеет следующую топологию (рис. 2): входные нейроны (число варьируется в зависимости от типа данных), два скрытых слоя по два нейрона и по одному нейрону сдвига, выходной нейрон, который выводит результат классификации данных (1 — «истинные» данные, 0 — «ложные» данные). Нейронная сеть обучается на основе тестовой выборки с использованием алгоритма для обратного распространения ошибки [5].
Рисунок 2. Топология нейронной сети
Нейроны сдвига были помещены в нейронную сеть для смещения функции активации нейрона и, соответственно, для уменьшения количества эпох, необходимых для его обучения. С увеличением числа нейронов в скрытых слоях их веса связей в процессе обучения стремятся к нулю, и дополнительные нейроны являются избыточными. Для решения указанной проблемы фильтрации трафика данных топология нейронной сети такого рода является наиболее подходящей. При обучении сети целью является минимизация функции ошибки:
1 к
Е=1Е о, - )2> (1)
2,=1
где у. — значение , выходного сигнала сети; г — желаемое значение , выходного сигнала сети; к — количество выходов сети.
Минимальная функция ошибки определяется методом стохастического градиентного спуска. Функция активации нейрона:
/ (х,) = 1/(1 + е-х ), (2)
где х — взвешенная сумма на входе нейрона:
к
= Е ,, (3)
= Е Ж
г =1
где ж — веса связей между нейронами; у — выход предыдущего нейронного слоя г.
В начале обучения весовые числа нейронных связей инициируются случайным образом в интервале [- 0.1; 0.1]. Далее вектор обучающей выборки с известными
результатами обработки поступает в нейронную сеть. Для каждого значения из вектора выборки вычисляется значение ошибки и производится корректировка весов нейронных связей по формуле:
w.. = w.. , + Aw.., (4)
j у-1 j ' v '
Awi =-nö jy. + pAwj-!, (5)
где w j — вес связи между i и j нейронами; S — погрешность нейрона в слое j; A^j является поправкой веса нейронных связей, выполненных для предыдущей операции.
к
Sj = f '(X )Z SnWjn , (б)
n=l
out f (xout)(tout - yout ), (7)
где 0Л — погрешность нейрона в слое n; n — слой нейронов, который стоит после слоя j; out — слой выходных нейронов. Коэффициенты n и ц вводятся для управления скоростью обучения и успешного прохождения локального минимума функции ошибки соответственно.
Основная идея этого метода заключается в распространении сигналов ошибки с выходов сети на ее входы, т. е. в направлении, противоположном прямому распространению сигналов в нормальном режиме работы. После повторного прохождения учебного образца (около 5000 эпох) нейронная сеть готова к фильтрации и обработке входных данных.
Нейронные сети могут эффективно применяться в цифровой платформе не только для классификации данных, но также для многомерного распознавания цифровых сигналов и обработки полихроматических растровых изображений. При увеличении числа нейронов возрастает размер обучающей выборки и сложность решаемых задач НК, которые могут быть реализованы с применением специализированных программных библиотек и решений, таких как Java Neural Network Framework (Neuroph) [6] или Microsoft Cognitive Toolkit (CNTK) [7]. Очевидно, что в этом случае, помимо вычислительных ресурсов центрального процессора (CPU), используется графический процессор, например NVIDIA [8], реализующий архитектуру параллельных вычислений CUDA [9, 10], который представляет собой специализированный программный интерфейс для вычислений, напрямую не связанных с растровой и векторной графикой.
Следует отметить, что в настоящее время наряду с популярным решением CNTK on Azure with Windows [7] программно-аппаратное решение NVIDIA GPU Cloud (NGC) обеспечивает легкий доступ к полному каталогу программного обеспечения для глубокого обучения и высокопроизводительных вычислений, оптимизированных для GPU [11]. Репозиторий NGC включает контейнеры с ведущими си-
стемами глубокого обучения для нейронных сетей, которые настроены, сертифицированы и обслуживаются NVIDIA.
5. Заключение
Предложен прототип универсальной интеллектуальной программно-аппаратной платформы для автоматизированного сбора и обработки данных на примере технологического процесса контроля герметичности. Интеллектуальная платформа построена на основе модульной архитектуры SOA, что делает ее гибкой и легко масштабируемой, позволяет использовать виртуальные ресурсы для проведения математических вычислений и хранения информации. В части математического аппарата предложен нейросетевой модуль (обученный методом стохастического градиентного спуска), при увеличении опыта и количества обрабатываемых данных он позволит экономить большое количество вычислительных и временных ресурсов и снизить нагрузку на оператора.
Литература
[1] Parubets V. V., Berestneva O. G., Devyatykh D. V. Application of CUDA technology to speed up calculations in neural networks // Bulletin of the Tomsk Polytechnic University. 2012. Vol. 320. No. 5. P. 121-125.
[2] Bieberstein N., Bose S., Fiammante M. Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap - IBM Press, 2005.
[3] Kovshov E., Kosach A. Automated remote computer monitoring of environmentally hazardous products // The 14th International Conference Application of Contemporary Non-Destructive Testing in Engineering. — 2017. С. 95-102.
[4] Microsoft Download Center. [Электронный ресурс] URL: www.microsoft.com
[5] Аксенов С. В., Новосельцев В. Б. Организация и использование нейронных сетей (методы и технологии). Под общ. ред. В. Б. Новосельцева. — Томск : НТЛ, 2006.
[6] Java Neural Network Framework. [Электронный ресурс] URL: http://neuroph. sourceforge.net/index.html.
[7] The Microsoft Cognitive Toolkit. [Электронный ресурс] URL: https://docs.microsoft.com/ en-us/cognitive-toolkit/.
[8] NVIDIA Developer. [Электронный ресурс] URL: https://developer.nvidia.com/.
[9] CUDA Toolkit Documentation v. 9.1.85. [Электронный ресурс] URL: https://docs. nvidia.com/cuda/.
[10]NVIDIA Accelerated Computing. Deep learning. [Электронный ресурс] https://developer. nvidia.com/deep-learning.
[11]NVIDIA GPU Cloud. [Электронный ресурс] https://www.nvidia.ru/gpu-cloud/.
Авторы:
Алиса Анатольевна Косач — ведущий инженер-технолог, Акционерное общество «Научно-исследовательский и конструкторский институт монтажной технологии — Атомстрой»
Евгений Евгеньевич Ковшов — доктор технических наук, профессор, главный научный сотрудник, Акционерное общество «Научно-исследовательский и конструкторский институт монтажной технологии — Атомстрой»
Automation of non-destructive testing data processing based on artificial neural network
A. A. Kosach, E. E. Kovshov
JSC «NIKIMT-Atomstroy», Altufevskoe highway, 43/2, Moscow, Russia 127410 e-mail: ek177@bk.ru
Abstract. The architecture of a universal hardware-software platform for collecting, processing and storing data obtained as a result of non-destructive testing of products is considered. A neural network module with a wide potential of its application — from image recognition to data classification-is used for processing and filtering of data streams. As a practical example, the system of remote leakage control, built on the basis of the above-mentioned platform, is described.
Keywords: non-destructive testing, universal digital platform, artificial neural network, filtering data traffic, remote leakage control.
References
[1] Parubets V. V., Berestneva O. G., Devyatykh D. V. (2012) Bullet. TomskPolytech. Univ. 320:121-125.
[2] Bieberstein N., Bose S., Fiammante M. (2005) Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap. IBM Press.
[3] Kovshov E., Kosach A. (2017) Automated remote computer monitoring of environmentally hazardous products. In Proc. The 14th International Conference Application of Contemporary Non-Destructive Testing in Engineering (pp. 95-102).
[4] Microsoft Download Center (2018) Retrieved from www.microsoft.com
[5] Aksenov S. V., Novosel'tsev V. B. (2006) Organizatsiya i ispol'zovaniye neyronnykh setey (metody i tekhnologii). Tomsk, NTL. [In Rus]
[6] Java Neural Network Framework (2018) Retrieved from http://neuroph.sourceforge.net/index.html
[7] The Microsoft Cognitive Toolkit (2018) Retrieved from https://docs.microsoft.com/en-us/cognitive -toolkit/
[8] NVIDIA Developer (2018) Retrieved from https://developer.nvidia.com/
[9] CUDA Toolkit Documentation v. 9.1.85 (2017) Retrieved from https://docs.nvidia.com/cuda/
[10] NVIDIA Accelerated Computing. Deep learning (2018) Retrieved from https://developer.nvidia.com/deep-learning
[11] NVIDIA GPU Cloud (2018) Retrieved from https://www.nvidia.ru/gpu-cloud/