Эффективная политика контроля позволяет промышленным компаниям повысить свою прибыльность за счет максимизации производительности при одновременном сокращении внеплановых простоев и энергопотребления. Поиск оптимальной политики управления является сложной задачей, поскольку физические системы, такие как химические реакторы и ветряные турбины, часто трудно моделировать, а также потому, что дрейф в динамике процесса может со временем привести к ухудшению производительности. Офлайн-обучение с подкреплением — это стратегия управления, которая позволяет промышленным компаниям строить политику управления полностью на основе исторических данных без необходимости использования явной модели процесса. Этот подход не требует взаимодействия с процессом непосредственно на этапе исследования, что устраняет одно из препятствий для внедрения обучения с подкреплением в критически важных для безопасности приложениях. В этом посте мы создадим комплексное решение для поиска оптимальных политик управления, используя только исторические данные о Создатель мудреца Амазонки используя Рэя RLlib библиотека. Чтобы узнать больше об обучении с подкреплением, см. Используйте обучение с подкреплением с Amazon SageMaker.
Use cases
Промышленный контроль предполагает управление сложными системами, такими как производственные линии, энергосети и химические заводы, для обеспечения эффективной и надежной работы. Многие традиционные стратегии управления основаны на заранее определенных правилах и моделях, которые часто требуют ручной оптимизации. В некоторых отраслях стандартной практикой является мониторинг производительности и корректировка политики контроля, когда, например, оборудование начинает ухудшаться или изменяются условия окружающей среды. Перенастройка может занять несколько недель и может потребовать введения внешних возбуждений в систему для регистрации ее реакции методом проб и ошибок.
Обучение с подкреплением возникло как новая парадигма управления процессами, позволяющая изучить оптимальные политики управления посредством взаимодействия с окружающей средой. Этот процесс требует разбивки данных на три категории: 1) измерения, доступные в физической системе, 2) набор действий, которые можно предпринять с системой, и 3) числовые показатели (вознаграждение) производительности оборудования. Политика обучена находить при заданном наблюдении действие, которое с большой вероятностью принесет наибольшую будущую выгоду.
При автономном обучении с подкреплением можно обучить политику на исторических данных перед ее развертыванием в производстве. Алгоритм, обученный в этом сообщении блога, называется «Консервативное Q-обучение(ККЛ). CQL содержит модель «актера» и модель «критика» и предназначен для консервативного прогнозирования собственной производительности после выполнения рекомендуемого действия. В этом посте процесс демонстрируется на примере иллюстративной задачи управления тележкой. Цель состоит в том, чтобы научить агента балансировать на тележке с шестом, одновременно перемещая тележку к назначенной цели. Процедура обучения использует офлайн-данные, позволяя агенту учиться на уже существующей информации. Этот пример использования тележки демонстрирует процесс обучения и его эффективность в потенциальных реальных приложениях.
Обзор решения
Решение, представленное в этом посте, автоматизирует развертывание сквозного рабочего процесса для автономного обучения с подкреплением на исторических данных. На следующей диаграмме описана архитектура, используемая в этом рабочем процессе. Данные измерений производятся на границе промышленного оборудования (здесь моделируются с помощью AWS Lambda функция). Данные помещаются в Амазонка Кинезис Data Firehose, который хранит их в Простой сервис хранения Amazon (Амазонка S3). Amazon S3 — это надежное, производительное и недорогое решение для хранения данных, которое позволяет обслуживать большие объемы данных в процессе обучения машинному обучению.
Клей AWS каталогизирует данные и делает их доступными для запроса с помощью Амазонка Афина. Athena преобразует данные измерений в форму, которую может принять алгоритм обучения с подкреплением, а затем выгружает их обратно в Amazon S3. Amazon SageMaker загружает эти данные в задание обучения и создает обученную модель. Затем SageMaker обслуживает эту модель в конечной точке SageMaker. Затем промышленное оборудование может запросить эту конечную точку для получения рекомендаций по действию.
В этом посте мы разобьем рабочий процесс на следующие этапы:
- Сформулируйте проблему. Решите, какие действия можно предпринять, на основе каких измерений дать рекомендации, и численно определите, насколько хорошо выполнено каждое действие.
- Подготовьте данные. Преобразуйте таблицу измерений в формат, который может использовать алгоритм машинного обучения.
- Обучите алгоритм на этих данных.
- Выберите лучший тренировочный прогон на основе показателей обучения.
- Разверните модель в конечной точке SageMaker.
- Оцените работоспособность модели в производстве.
Предпосылки
Для выполнения этого пошагового руководства вам необходимо иметь Аккаунт AWS и интерфейс командной строки с Установлен AWS SAM. Выполните следующие действия, чтобы развернуть шаблон AWS SAM для запуска этого рабочего процесса и создания обучающих данных:
- Загрузите репозиторий кода с помощью команды
- Измените каталог на репо:
- Создайте репо:
- Развертывание репозитория
- Используйте следующие команды для вызова сценария bash, который генерирует фиктивные данные с помощью функции AWS Lambda.
sudo yum install jq
cd utils
sh generate_mock_data.sh
Пошаговое руководство по решению
Сформулировать проблему
Наша система, описанная в этом посте, представляет собой тележку с балансиром наверху. Система работает хорошо, когда штанга находится в вертикальном положении, а положение тележки близко к целевому положению. На предварительном этапе мы сгенерировали исторические данные из этой системы.
В следующей таблице показаны исторические данные, собранные из системы.
Положение корзины | Скорость тележки | Угол полюса | Угловая скорость полюса | Позиция цели | Внешняя сила | Предложение | Время |
0.53 | -0.79 | -0.08 | 0.16 | 0.50 | -0.04 | 11.5 | 5: 37: 54 PM |
0.51 | -0.82 | -0.07 | 0.17 | 0.50 | -0.04 | 11.9 | 5: 37: 55 PM |
0.50 | -0.84 | -0.07 | 0.18 | 0.50 | -0.03 | 12.2 | 5: 37: 56 PM |
0.48 | -0.85 | -0.07 | 0.18 | 0.50 | -0.03 | 10.5 | 5: 37: 57 PM |
0.46 | -0.87 | -0.06 | 0.19 | 0.50 | -0.03 | 10.3 | 5: 37: 58 PM |
Вы можете запросить историческую информацию о системе с помощью Amazon Athena, выполнив следующий запрос:
Состояние этой системы определяется положением тележки, скоростью тележки, углом шеста, угловой скоростью шеста и положением ворот. Действие, совершаемое на каждом временном шаге, — это внешняя сила, приложенная к тележке. Моделируемая среда выводит значение вознаграждения, которое тем выше, чем тележка ближе к целевой позиции и шест находится в более вертикальном положении.
Подготовить данные
Чтобы представить системную информацию модели обучения с подкреплением, преобразуйте ее в объекты JSON с ключами, которые классифицируют значения по категориям состояния (также называемого наблюдением), действия и вознаграждения. Сохраните эти объекты в Amazon S3. Вот пример объектов JSON, созданных на основе временных шагов из предыдущей таблицы.
{“obs”:[[0.53,-0.79,-0.08,0.16,0.5]], “action”:[[-0.04]], “reward”:[11.5] ,”next_obs”:[[0.51,-0.82,-0.07,0.17,0.5]]} |
{“obs”:[[0.51,-0.82,-0.07,0.17,0.5]], “action”:[[-0.04]], “reward”:[11.9], “next_obs”:[[0.50,-0.84,-0.07,0.18,0.5]]} |
{“obs”:[[0.50,-0.84,-0.07,0.18,0.5]], “action”:[[-0.03]], “reward”:[12.2], “next_obs”:[[0.48,-0.85,-0.07,0.18,0.5]]} |
Стек AWS CloudFormation содержит выходные данные под названием AthenaQueryToCreateJsonFormatedData
. Запустите этот запрос в Amazon Athena, чтобы выполнить преобразование и сохранить объекты JSON в Amazon S3. Алгоритм обучения с подкреплением использует структуру этих объектов JSON, чтобы понять, на каких значениях основывать рекомендации и на каких результатах основывать действия на исторических данных.
Поездной агент
Теперь мы можем начать обучение, чтобы создать обученную модель рекомендаций по действиям. Amazon SageMaker позволяет быстро запускать несколько заданий обучения, чтобы увидеть, как различные конфигурации влияют на полученную обученную модель. Вызовите функцию Lambda с именем TuningJobLauncherFunction
чтобы начать работу по настройке гиперпараметров, которая экспериментирует с четырьмя различными наборами гиперпараметров при обучении алгоритма.
Выберите лучший тренировочный забег
Чтобы определить, какое из обучающих заданий создало лучшую модель, изучите кривые потерь, полученные во время обучения. Критическая модель CQL оценивает эффективность актера (так называемое значение Q) после выполнения рекомендованного действия. Часть функции потерь критика включает ошибку временной разницы. Этот показатель измеряет точность значения Q критика. Ищите обучающие прогоны с высоким средним значением Q и низкой ошибкой временной разницы. Эта бумага, Рабочий процесс автономного роботизированного обучения с подкреплением без использования моделей, подробно описано, как выбрать лучший тренировочный забег. В репозитории кода есть файл /utils/investigate_training.py
, который создает графическое изображение в формате HTML, описывающее последнее задание по обучению. Запустите этот файл и используйте выходные данные, чтобы выбрать лучший тренировочный прогон.
Мы можем использовать среднее значение Q для прогнозирования производительности обученной модели. Значения Q обучены консервативному прогнозированию суммы дисконтированных будущих значений вознаграждения. Для длительных процессов мы можем преобразовать это число в экспоненциально взвешенное среднее, умножив значение Q на (1 – «ставка дисконтирования»). Лучший тренировочный прогон в этом наборе достиг среднего значения Q, равного 539. Наша ставка дисконтирования равна 0.99, поэтому модель прогнозирует не менее 5.39 среднего вознаграждения за временной шаг. Вы можете сравнить это значение с исторической производительностью системы, чтобы определить, превзойдет ли новая модель историческую политику управления. В этом эксперименте среднее вознаграждение за исторические данные за шаг по времени составило 4.3, поэтому модель CQL предсказывает производительность на 25 процентов выше, чем система, достигнутая исторически.
Развернуть модель
Конечные точки Amazon SageMaker позволяют обслуживать модели машинного обучения несколькими различными способами для различных вариантов использования. В этом посте мы будем использовать тип бессерверной конечной точки, чтобы наша конечная точка автоматически масштабировалась в зависимости от спроса, и мы платим за использование вычислений только тогда, когда конечная точка генерирует вывод. Чтобы развернуть бессерверную конечную точку, включите ProductionVariantServerlessConfig в производственный вариант из SageMaker конфигурация конечной точки. В следующем фрагменте кода показано, как в этом примере развертывается бессерверная конечная точка с помощью пакета разработки программного обеспечения Amazon SageMaker для Python. Найдите пример кода, используемый для развертывания модели, по адресу sagemaker-offline-reinforcement-learning-ray-cql.
Файлы обученной модели располагаются в артефактах модели S3 для каждого прогона обучения. Чтобы развернуть модель машинного обучения, найдите файлы модели лучшего прогона обучения и вызовите функцию Lambda с именем «ModelDeployerFunction
» с событием, содержащим данные этой модели. Функция Lambda запустит бессерверную конечную точку SageMaker для обслуживания обученной модели. Пример события, используемого при вызове «ModelDeployerFunction
"
Оценка производительности обученной модели
Пришло время посмотреть, как наша обученная модель работает на производстве! Чтобы проверить производительность новой модели, вызовите функцию Lambda с именем «RunPhysicsSimulationFunction
» с именем конечной точки SageMaker в событии. Это запустит симуляцию с использованием действий, рекомендованных конечной точкой. Пример события, используемого при вызове RunPhysicsSimulatorFunction
:
Используйте следующий запрос Athena, чтобы сравнить производительность обученной модели с исторической производительностью системы.
Источник действия | Средняя награда за временной шаг |
trained_model |
10.8 |
historic_data |
4.3 |
Следующие анимации показывают разницу между примером эпизода из обучающих данных и эпизодом, в котором обученная модель использовалась для выбора действия, которое следует предпринять. В анимации синий прямоугольник — это тележка, синяя линия — это столб, а зеленый прямоугольник — местоположение цели. Красная стрелка показывает силу, приложенную к тележке на каждом временном шаге. Красная стрелка в обучающих данных немного прыгает вперед и назад, потому что данные были сгенерированы с использованием 50 процентов экспертных действий и 50 процентов случайных действий. Обученная модель полностью освоила политику управления, которая быстро перемещает тележку в целевое положение, сохраняя при этом стабильность, полностью благодаря наблюдениям за демонстрациями, выполненными неспециалистами.
Убирать
Чтобы удалить ресурсы, используемые в этом рабочем процессе, перейдите в раздел ресурсов стека Amazon CloudFormation и удалите корзины S3 и роли IAM. Затем удалите сам стек CloudFormation.
Заключение
Офлайн-обучение с подкреплением может помочь промышленным компаниям автоматизировать поиск оптимальных политик без ущерба для безопасности за счет использования исторических данных. Чтобы реализовать этот подход в своей деятельности, начните с определения показателей, составляющих систему, определяемую состоянием, действий, которыми вы можете управлять, и показателей, указывающих желаемую производительность. Затем доступ этот репозиторий GitHub за внедрение автоматического комплексного решения с использованием Ray и Amazon SageMaker.
Этот пост лишь поверхностно описывает то, что можно сделать с помощью Amazon SageMaker RL. Попробуйте и пришлите нам отзыв либо в Дискуссионный форум Amazon SageMaker или через ваши обычные контакты AWS.
Об авторах
Уолт Мэйфилд является архитектором решений в AWS и помогает энергетическим компаниям работать более безопасно и эффективно. До прихода в AWS Уолт работал инженером по эксплуатации в компании Hilcorp Energy. В свободное время он любит заниматься садоводством и ловить рыбу.
Фелипе Лопес — старший архитектор решений в AWS, специализирующийся на операциях по добыче нефти и газа. До прихода в AWS Фелипе работал в компаниях GE Digital и Schlumberger, где занимался продуктами моделирования и оптимизации для промышленных приложений.
Инвэй Ю — учёный-прикладник в Generative AI Incubator, AWS. У него есть опыт работы с несколькими организациями в разных отраслях над различными проверками концепции машинного обучения, включая обработку естественного языка, анализ временных рядов и прогнозное обслуживание. В свободное время он любит плавать, рисовать, ходить в походы и проводить время с семьей и друзьями.
Хаочжу Ван — научный сотрудник Amazon Bedrock, занимающийся созданием моделей фундамента Amazon Titan. Ранее он работал в лаборатории решений Amazon ML в качестве соруководителя подразделения обучения с подкреплением и помогал клиентам создавать передовые решения машинного обучения с использованием новейших исследований в области обучения с подкреплением, обработки естественного языка и обучения графам. Хаочжу получил докторскую степень в области электротехники и вычислительной техники в Мичиганском университете.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- ЧартПрайм. Улучшите свою торговую игру с ChartPrime. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/optimize-equipment-performance-with-historical-data-ray-and-amazon-sagemaker/
- :имеет
- :является
- :нет
- :куда
- $UP
- 07
- 08
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 16
- 17
- 25
- 32
- 39
- 50
- 51
- 54
- 7
- 8
- 84
- 9
- a
- О нас
- доступ
- точность
- достигнутый
- через
- Действие
- действия
- Дополнительно
- Принятие
- продвинутый
- влиять на
- После
- Агент
- AI
- алгоритм
- Позволяющий
- позволяет
- причислены
- Amazon
- Амазонка Афина
- Лаборатория решений Amazon ML
- Создатель мудреца Амазонки
- Amazon Web Services
- an
- анализ
- и
- Угловой
- анимации
- Приложения
- прикладной
- подхода
- архитектура
- МЫ
- AS
- At
- автоматизировать
- автоматы
- Автоматический
- автоматически
- доступен
- в среднем
- AWS
- AWS CloudFormation
- AWS Lambda
- назад
- Баланс
- барьеры
- Использование темпера с изогнутым основанием
- основанный
- колотить
- BE
- , так как:
- до
- ЛУЧШЕЕ
- Лучшая
- между
- Немного
- Блог
- Синии
- Коробка
- Ломать
- Разрыв
- строить
- Строительство
- by
- призывают
- под названием
- вызова
- CAN
- случаев
- тематическое исследование
- случаев
- каталоги
- категории
- Вызывать
- изменение
- проверка
- химический
- Закрыть
- ближе
- код
- Компании
- Компания
- сравнить
- полный
- комплекс
- компромат
- Вычисление
- компьютер
- Компьютерная инженерия
- концентрации
- сама концепция
- Условия
- консервативный
- потреблять
- потребление
- контакты
- содержит
- контроль
- конвертировать
- создает
- Критик
- Клиенты
- данным
- решать
- определенный
- Спрос
- убивают
- демонстрирует
- развертывание
- развернуть
- развертывание
- развертывание
- назначенный
- предназначенный
- желанный
- подробнее
- Определять
- Развитие
- разница
- различный
- Интернет
- непосредственно
- скидка
- со скидкой
- обсуждение
- do
- приносит
- дело
- вниз
- время простоя
- в течение
- динамика
- каждый
- Edge
- эффективность
- эффективный
- эффективно
- или
- появившийся
- включить
- впритык
- Конечная точка
- энергетика
- Энергопотребление
- инженер
- Проект и
- обеспечивать
- полностью
- Окружающая среда
- окружающий
- эпизод
- Оборудование
- ошибка
- Оценки
- События
- исследовать
- пример
- опыт
- эксперимент
- Эксперименты
- эксперту
- исследование
- экспоненциально
- и, что лучший способ
- семья
- Обратная связь
- фигура
- Файл
- Файлы
- Найдите
- обнаружение
- Рыба
- внимание
- фокусировка
- следовать
- после
- Что касается
- Форс-мажор
- форма
- формат
- вперед
- Год основания
- 4
- друзья
- от
- функция
- будущее
- Garden
- ГАЗ
- собранный
- ge
- порождать
- генерируется
- генерирует
- порождающий
- генеративный
- Генеративный ИИ
- GIF
- GitHub
- Дайте
- данный
- цель
- график
- Зелёная
- группы
- Жесткий
- Есть
- he
- помощь
- помог
- помогает
- здесь
- High
- высший
- наивысший
- его
- исторический
- исторически
- Как
- How To
- HTML
- HTTPS
- Настройка гиперпараметра
- идентифицирующий
- if
- осуществлять
- реализация
- in
- включают
- включает в себя
- В том числе
- Увеличение
- инкубатор
- указывать
- индикация
- промышленность
- промышленности
- информация
- устанавливать
- взаимодействующий
- взаимодействие
- Интерфейс
- в
- IT
- ЕГО
- саму трезвость
- работа
- Джобс
- присоединение
- JPG
- JSON
- скачки
- всего
- ключи
- лаборатория
- язык
- большой
- последний
- запуск
- УЧИТЬСЯ
- узнали
- изучение
- наименее
- позволять
- Lets
- Библиотека
- Вероятно
- нравится
- ОГРАНИЧЕНИЯ
- линия
- линий
- грузы
- расположенный
- расположение
- посмотреть
- от
- Низкий
- бюджетный
- машина
- обучение с помощью машины
- Сохранение
- техническое обслуживание
- сделать
- ДЕЛАЕТ
- управление
- руководство
- производство
- многих
- максимизации
- Май..
- значить
- измерение
- размеры
- меры
- Встречайте
- метрический
- Метрика
- Мичиган
- ML
- модель
- моделирование
- Модели
- монитор
- БОЛЕЕ
- движется
- перемещение
- с разными
- умножения
- имя
- Названный
- натуральный
- Обработка естественного языка
- Откройте
- Необходимость
- Новые
- номер
- объекты
- of
- оффлайн
- .
- Масло
- on
- ONE
- только
- работать
- операция
- Операционный отдел
- оптимальный
- оптимизация
- Оптимизировать
- or
- заказ
- организации
- наши
- Результат
- опережать
- выходной
- за
- собственный
- Картина
- бумага & картон
- парадигма
- часть
- ОПЛАТИТЬ
- для
- процент
- Выполнять
- производительность
- выполнены
- выполняет
- кандидат наук
- физический
- выбирать
- кусок
- растения
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- сборах
- политика
- должность
- После
- потенциал
- практика
- предсказывать
- прогнозирования
- прогноз
- представить
- представлены
- предыдущий
- предварительно
- Предварительный
- Проблема
- процедуры
- процесс
- Процессы
- обработка
- производит
- Произведенный
- производит
- Производство
- производительность
- Продукция
- прибыли
- доказательства
- положил
- Питон
- быстро
- случайный
- Обменный курс
- RAY
- реальный мир
- Получать
- получила
- Рекомендация
- рекомендаций
- Управление по борьбе с наркотиками (DEA)
- запись
- Red
- снижение
- складская
- хранилище
- требовать
- требуется
- исследованиям
- Полезные ресурсы
- ответ
- в результате
- Итоги
- Предложение
- Награды
- роли
- условиями,
- Run
- работает
- безопасно
- Сохранность
- sagemaker
- Сэм
- Весы
- Ученый
- скрипт
- Поиск
- Раздел
- посмотреть
- Отправить
- старший
- Серии
- служить
- Serverless
- служит
- Услуги
- набор
- Наборы
- несколько
- показывать
- Шоу
- просто
- моделирование
- одновременно
- отрывок
- So
- Software
- разработка программного обеспечения
- комплект для разработки программного обеспечения
- Решение
- Решения
- некоторые
- Расходы
- Стабильность
- стек
- Этап
- стандарт
- Начало
- начинается
- Область
- Шаг
- Шаги
- диск
- магазин
- магазины
- стратегий
- Стратегия
- Структура
- Кабинет
- такие
- Поверхность
- система
- системы
- ТАБЛИЦЫ
- взять
- приняты
- с
- Сложность задачи
- шаблон
- чем
- который
- Ассоциация
- Государство
- их
- тогда
- Эти
- этой
- три
- Через
- время
- Временные ряды
- исполин
- в
- топ
- к
- традиционный
- Train
- специалистов
- Обучение
- Transform
- трансформация
- прообразы
- правда
- стараться
- напишите
- понимать
- Университет
- на
- us
- Применение
- использование
- используемый
- использования
- через
- ценностное
- Наши ценности
- разнообразие
- различный
- Скорость
- вертикальный
- тома
- прохождение
- законопроект
- способы
- we
- Web
- веб-сервисы
- Недели
- ЧТО Ж
- Что
- когда
- , которые
- в то время как
- будете
- ветер
- без
- работавший
- рабочий
- работает
- Ты
- ВАШЕ
- зефирнет