Прогресс в области аппаратных средств открыл широкие возможности для выполнения сложных алгоритмов на компактных бортовых системах. Одновременно в промышленности началось внедрение сложного технологического оборудования, что повлекло за собой рост числа парамет- ров, необходимых для настройки, отладки и управления. Это, в свою очередь, привело к усложнению процессов контроля за работой производственных установок, поддерживать которые вручную стало уже невозможно. Одним из решений может стать интеллектуализация конечных устройств (периферийных систем, Edge Device), способных самостоятельно решать часть производственных задач.
Обработка искусственных нейронных сетей в Edge AI выполняется локально на данных с сенсоров самого устройства, и это имеет ряд достоинств. Во-первых, работа таких устройств не требует подключения к Cети для передачи всех данных внешнему вычислителю, что значительно ускоряет процесс обработки — разница в скорости обработки в облаке и на борту может достигать 20 раз. Кроме того, повышается стабильность работы устройства благодаря уменьшению влияния внешних факторов. Во-вторых, появляется возможность принятия решений в реальном времени — данные телеметрии можно считывать чаще.
Однако у Edge AI имеются и недостатки, не позволяющие повсеместно применять этот подход. Для обучения искусственной нейронной сети требуется много данных, иначе невозможно выявить закономерности, по- этому необходимо очень тщательно подойти к процессу тренинга перед загрузкой готовой сети в периферийное устройство для последующего инференса непосредственно в точке сбора телеметрии. При этом всегда есть вероятность непредсказуемой работы нейронных сетей при обработке наборов входных параметров, не представленных в тренировочной выборке. Кроме того, для Edge AI почти отсутствует стандартизация, что может, например, затруднить процедуры обновления программного обеспечения оборудования в случае смены поставщика решений или модели устройства.
Как бы то ни было, для Edge AI расчеты производятся внутри устройства, без выхода в Сеть, что повышает безопасность. Мало того, в идеале можно добиться полной автономности работы производственной установки — все необходимые для этого компоненты (сенсоры, программное обеспечение) уже имеются. Фактически установка подключена только к сети электропитания, и повлиять на ее работу можно только физически через ее приборную панель (подразумевается, что сотрудники предприятия не заинтересованы в подмене управляющих команд).
Остается, правда, вероятность появления уязвимостей вследствие аппаратных сбоев устройства. И хотя современное оборудование становится все более надежным, в условиях повышения сложности даже небольшое отклонение от нормального режима может оказаться критическим как для самого устройства, так и для его окружения. По своей природе нейронная сеть представляет собой совокупность последовательных слоев, и даже незначительное изменение входных параметров после множества математичес- ких преобразований, в том числе и нелинейных, может на выходе в последнем слое привести к существенному увеличению значения выходного параметра, которое может быть интерпретировано как управляющее воздействие на установку, потенциально способное вывести оборудование из строя.
Вместе с тем если оборудование совсем закрыто от внешнего мира, то нет возможности выполнять удаленный мониторинг параметров и контролировать режимы. А это приводит к тому, что на производство нанимаются специальные люди только для наблюдения за установками непосредственно в месте их размещения. Обеспечить централизованное наблюдение без повышения рис- ков безопасности можно, если использовать Edge AI в комбинации с локальной сетью, объединяющей все производственные установки. Каждая установка в этом случае взаимодействует с локальной сетью только в режиме односторонней передачи данных от устройств в центр, и даже в случае компрометации сети злоумышленникам не удастся нарушить нормальную работу оборудования. Максимум, что может произойти, — это некорректное отображение информации на приборной панели оператора, который, однако, перед совершением каких-либо действий обычно проводит верификацию данных.
Потенциально полностью исключить человека из контура управления позволяют АСУТП [1], управляющие технологическими процессами, представляющими собой совокупность способов и средств проведения конкретных производственных операций изготовления промышленной продукции. В таких системах осуществляется контроль технологических параметров, определяющих режим и качество обработки, состояние механизмов и др., а задача управления состоит в оптимизации этих параметров. Однако для каждого конкретного станка нужна отдельная программа управления, которую надо протестировать и отладить, что увеличивает время внедрения технологии и повышает стоимость разработки.
Использование алгоритмов искусственного интеллекта позволяет унифицировать процесс разработки программного решения и сократить продолжительность этого процесса. Искусственным нейронным сетям требуются минимальные подготовительные операции со стороны человека — такие сети являются универсальными аппроксиматорами функций, определяющих зависимость между входными и выходными параметрами. Человек здесь обычно лишь выбирает конкретную конфигурацию нейронной сети (количество слоев и нейронов, их соединение) — на рынке имеется множество готовых открытых моделей, предлагаемых, в частности, Google, Facebook и Microsoft для разных классов задач.
Таким образом, идеальная система динамического контроля производственных установок должна: считывать и обрабатывать данные; управлять установкой при минимальном участии оператора; работать автономно без подключения к Сети и обеспечивать высокую скорость выполнения вычислительных процессов.
Все эти требования в той или иной степени реализуются в АСУТП, однако в большинстве таких систем мониторинг технологического оборудования осуществляется через информационные панели, что предполагает участие человека и может повлиять на время реакции системы, а также привести к неадекватным управляющим воздействиям. Не следует забывать и о том, что основные финансовые издержки при разработке любого высокотехнологичного программно-аппаратного комплекса — это затраты на программирование. Именно это остается камнем преткновения всего процесса разработки управляющей системы и зачастую самым затратным этапом, требующим участия человека. Обучение нейронных сетей для Edge AI требует относительно немного времени и минимального программирования.
Для динамического контроля за работой производственных установок можно предложить программный комплекс, действующий в полностью автономном режиме и визуализирующий информацию о режиме работы оборудования и программного комплекса. Основной режим работы такого комплекса — определение значения из матрицы статистической модели оборудования, ближайшего к текущим показаниям телеметрии. Такая матрица нормальных значений показаний телеметрии может быть получена непосредственно от производителя оборудования, а если решается задача управления установкой, то необходимо будет составить эту матрицу непосредственно на предприятии исходя, например, из конкретных операционных карт. Для этого в заданные интервалы времени считываются показания телеметрии установки, которые затем подаются на вход алгоритма, выбирающего с помощью непараметрического метода k-ближайших соседей (K-nearest neighbors algorithm) [2] наиболее близкое значение из матрицы статистической модели оборудования. На основании этого значения устанавливается указанный режим работы или запускается последовательность операций установки. Если количество записей в матрице превышает число режимов работы оборудования, то эти записи группируются и устанавливается отношение «многие-к-одному». Таким образом достигается автоматическое управление на дискретном пространстве операций.
Упрощенная блок-схема работы программного комплекса для непрерывного пространства |
Алгоритм может быть расширен для случая непрерывного управления так, чтобы выходная величина принимала в заданном диапазоне любые значения — например, скорость подачи заготовки, напряжение на входе и пр. Тогда используется та же матрица статистической модели, но, в отличие от дискретного случая, подбирается не одно значение, а K наиболее близких значений матрицы к текущим показаниям телеметрии установки. Каждая запись матрицы должна содержать хотя бы одну целевую переменную, обозначающую рекомендуемые значения управляющих воздействий для заданных значений матрицы. После чего, в соответствии с полученными значениями, возможны два варианта их использования (см. рисунок). Первый состоит в нахождении простого среднего целевых переменных и подачи его на управляющие входы оборудования. Второй уместен тогда, когда матрица статистической модели в качестве целевых переменных содержит только промежуточные значения, которые сами по себе не могут быть поданы на управляющие входы оборудования. В этом случае необходимо обучить дополнительную нейронную сеть, которая по своей сущности представляет взаимно однозначное соответствие из пространства промежуточных значений в пространство управляющих значений. Таким образом, каждому элементу из множества выходных значений разработанной программы (промежуточные значения) будет соответствовать конкретный управляющий сигнал для установки. Например, в установках, требующих управления линейной или угловой скоростью движения рабочего органа, управляющие сигналы — это напряжение, однако для модели искусственного интеллекта целесообразно задать целевую переменную в виде скорости. За время эксплуатации двигатели изнашиваются, в результате чего фиксированные значения управляющего напряжения приводят к получению на выходном валу электродвигателя разных значений скоростей. Дополнительная нейронная сеть сможет адаптироваться к этим изменениям.
Получение значений телеметрии, сильно отличающихся от использованных при обучении нейронной сети, означает, что установка работает в ненормальном (критическом) режиме. В этом случае возможны такие варианты реагирования: если оборудование не рассчитано на работу в режиме перегрузок, то отправляется управляющий сигнал останова, а если оборудование способно некоторое время продолжать работу со значениями параметров, далекими от нормальных, то можно установить таймер наблюдения за телеметрией.
***
Для повышения эффективности технологических и производственных процессов сегодня все чаще используются решения, работающие по принципам Edge AI. При этом для контроля за работой автономной системы с исключением влияния человеческого фактора может использоваться динамическое сравнение параметров телеметрии оборудования с заданной матрицей статистической модели. Такой подход обеспечивает устойчивость к кибератакам и быстродействие при относительно небольших трудозатратах на программирование.
1. URL: https://automation-system.ru (дата обращения: 05.12.2019).
2. Виктор Китов. Практические аспекты машинного обучения // Открытые системы.СУБД. — 2016. — № 1. — С. 14–17. URL: www.osp.ru/os/2016/01/13048648/ (дата обращения: 05.12.2019).
Виктор Попов (vp282@cornell.edu) — исследователь данных, компания Opex Analytics (Чикаго, США).