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

Если задуматься, типичный «современный» промышленный робот, который продается в наши дни, имеет те же самые функции, что и в восьмидесятые: кинематическая модель, динамическая модель, гибридное управление… ничего нового, ничего интеллектуального.

OEM-производители обычно предпочитают более простые, но более стабильные подходы к автоматизации своих машин. Операторы верны своим устаревшим интерфейсам с аппаратными клавишами. Все они думают, что новые яркие трюки лучше оставить за пределами фабрики. То есть до тех пор, пока не будет продемонстрировано огромное преимущество в производительности, оправдывающее скачок технологической кривой.

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

Машинное зрение

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

Собрать печенье с конвейера и упаковать его в коробки - типичное применение, но оно требует длительной специальной настройки и страдает от всех видов нестабильности. Это не то, что вы могли бы применить на современной производственной линии типа «размер партии один».

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

Если вас устраивают простые ограничивающие прямоугольники, как YOLO, так и SDD работают практически со скоростью в реальном времени. Семантическая сегментация с помощью FCN немного медленнее (хотя процесс вывода можно оптимизировать), но она предоставляет большой объем информации на уровне пикселей.

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

Хотя обучение всей глубокой сети может показаться пугающим, трансферное обучение значительно сокращает время обучения. При обучении CNN нам остается настроить только полностью подключенные головки (либо для классификации, либо для регрессии, либо для того и другого). При работе с FCN нам нужно беспокоиться только о части декодера.

Машинное зрение быстро найдет свое применение в автоматизации машин и предприятий в областях упаковки, логистики, сортировки, управления грузовыми автомобилями и многого другого.

Профилактическое обслуживание

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

Традиционно мониторинг состояния на промышленном уровне выполняется путем считывания сигналов с датчиков различных типов (токов, температур, крутящих моментов, ускорений, потоков…) и путем установки статических пороговых значений, которые нельзя нарушать. Несмотря на простоту, этот метод имеет несколько недостатков:

· Операторы редко знают, как и где устанавливать пороги

· Пороговые значения статичны, но условия окружающей среды могут сильно различаться.

· Внутренняя структура сигналов полностью игнорируется, поэтому скопления проблем не распознаются своевременно

· Как только сигнал достигает порогового значения, действовать может быть слишком поздно

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

Хотя этот метод решает многие из ранее упомянутых недостатков, его практически очень сложно реализовать. Основные причины:

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

· Математическая формула никогда не моделирует физическую систему идеально. Всегда есть неточности из-за немоделированных эффектов (например, эластичности в механических моделях) или отклонений из-за неправильной параметризации самой модели (например, термические константы в экструдере для пластика)

· Даже лучшая модель с наиболее точными параметрами будет страдать от зависящих от времени эффектов, которые изменяют фоновые условия (например, колебания температуры между летом и зимой, эффекты трения, когда звенья более или менее смазаны). Повторная параметризация модели может быть сложной и дорогостоящей: вам нужно вызвать эксперта, чтобы сделать это для каждой машины, развернутой в поле ...

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

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

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

Оптимизация модели

Оптимизация - это еще одна область, в которой внедрение методов машинного обучения может произвести серьезную революцию в этой области. Все промышленные машины и процессы управляются контроллерами: от простейшего ПИД-регулятора до дополнительных моделей с прямой связью, методов MPC и других более экзотических нелинейных моделей. Все эти контроллеры необходимо параметризовать вручную или автоматически с помощью методов идентификации с автонастройкой. И здесь возникает проблема: большинство контроллеров, развернутых в полевых условиях, настроены неоптимально по нескольким причинам:

· Ручная настройка сложна и требует длительного опыта и глубоких знаний процесса.

· Функции автонастройки не всегда доступны, а когда они доступны, они не всегда оптимальны. После этого часто требуется точная настройка.

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

Количество параметров в контроллере может сильно варьироваться: регулятор температуры пластика в литьевой машине обычно полагается только на три параметра; динамическая модель стандартного 6-осевого манипулятора использует более сотни базовых параметров (хотя и не полностью несвязанных).

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

Машинное обучение решает проблему оптимизации стратегии управления с использованием методов обучения с подкреплением. Номенклатура немного отличается (модель становится политикой, вход - наблюдением, выход - действием, обратная связь - наградой), но концепция абсолютно та же.

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

После этого мы применяем методы RL, чтобы улучшить политику π, максимизируя ожидание сгенерированного вознаграждения R: E [R | π]. Мы можем либо возмущать пространство действий (например, DDPG), либо политику напрямую (например, ES), последнее является единственным выбором в случае недифференцируемых функций затрат и, в целом, более исследовательский вариант, хотя и более дорогостоящий с точки зрения времени. .

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

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

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

Контроль

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

Очевидно, что это сложная задача: для нее требуется большой объем данных, и обычно она рассматривается только для процессов, которые можно моделировать. Запуск поиска политики с нуля означает обширное исследование пространства действий, которое может быть очень длительным и дорогостоящим на реальной машине, не говоря уже о потенциально опасном.

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

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

На самом деле, попытка изучить новую стратегию управления с нуля - не обязательно плохая идея даже для тех задач, для которых у нас уже есть какой-то рабочий контроллер. Предыдущие знания в процессе обучения часто являются палкой о двух концах. Это дает сильный начальный удар, но не всегда в правильном направлении. А однажды усвоенные привычки трудно забыть. Таким образом, обучение с нуля, хотя и требует дополнительных начальных затрат, может дать свободу открывать совершенно новые стратегии, намного превосходящие исходный контроллер. Ссылка на AlphaZero должна быть очень четкой.

Есть ли способы ускорить обучение, если мы решим пойти по этому пути? Да пара. Независимо от того, используете ли вы традиционные алгоритмы обучения с подкреплением или эволюционные стратегии, или даже смешиваете их, два подхода полезны:

· Распараллеливание обучения.

· Иерархическое обучение.

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

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

Вывод

Подводя итоги, вот как машинное обучение может проникнуть в современные фабрики и добавить интеллекта нашим машинам:

· Зрение: быстрое и надежное распознавание и наблюдение за объектами в различных условиях без сложных и специальных процедур тонкой настройки.

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

· Оптимизация: улучшая существующие параметры управления и увеличивая результат, эффективность или производительность машины.

· Контроль: открывая совершенно новые стратегии управления процессами, которые мы в настоящее время не в состоянии освоить.

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

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