Ефективна політика контролю дозволяє промисловим компаніям підвищити свою прибутковість шляхом максимізації продуктивності, одночасно зменшуючи позапланові простої та споживання енергії. Пошук оптимальної політики управління є складним завданням, оскільки фізичні системи, такі як хімічні реактори та вітрові турбіни, часто важко моделювати, а дрейф у динаміці процесу може призвести до погіршення продуктивності з часом. Офлайн-навчання з посиленням — це стратегія контролю, яка дозволяє промисловим компаніям будувати політику контролю повністю на основі історичних даних без потреби в явній моделі процесу. Цей підхід не вимагає взаємодії з процесом безпосередньо на етапі дослідження, що усуває одну з перешкод для впровадження навчання з підкріпленням у критично важливих для безпеки програмах. У цій публікації ми створимо наскрізне рішення для пошуку оптимальних політик контролю, використовуючи лише історичні дані Amazon SageMaker за допомогою Ray's RLlib бібліотека. Щоб дізнатися більше про навчання з підкріпленням, див Використовуйте Reinforcement Learning з Amazon SageMaker.
Use cases
Промисловий контроль передбачає керування складними системами, такими як виробничі лінії, енергетичні мережі та хімічні заводи, для забезпечення ефективної та надійної роботи. Багато традиційних стратегій контролю базуються на попередньо визначених правилах і моделях, які часто потребують ручної оптимізації. У деяких галузях стандартною практикою є моніторинг продуктивності та коригування політики контролю, коли, наприклад, обладнання починає виходити з ладу або змінюються умови навколишнього середовища. Повторне налаштування може зайняти тижні та може вимагати введення зовнішніх збуджень у систему, щоб записати її відповідь методом проб і помилок.
Навчання з підкріпленням з’явилося як нова парадигма в управлінні процесами, щоб навчитися оптимальній політиці управління шляхом взаємодії з навколишнім середовищем. Цей процес вимагає розбиття даних на три категорії: 1) вимірювання, доступні з фізичної системи, 2) набір дій, які можна виконати над системою, і 3) числова метрика (винагорода) продуктивності обладнання. Політика навчена знаходити дію, за певного спостереження, яка, ймовірно, принесе найвищі майбутні винагороди.
У офлайн-навчанні підкріплення можна навчити політику на історичних даних перед розгортанням її у виробництві. Алгоритм, навчений у цій публікації блогу, називається «Консервативне Q навчання” (CQL). CQL містить моделі «актор» і модель «критик» і розроблено для консервативного прогнозування власної продуктивності після виконання рекомендованої дії. У цьому дописі процес демонструється за допомогою ілюстративної проблеми керування візком-стовпом. Мета полягає в тому, щоб навчити агента балансувати жердиною на візку, одночасно переміщаючи візок до визначеного місця цілі. У процедурі навчання використовуються офлайн-дані, що дозволяє агенту навчатися на попередньо існуючій інформації. Цей практичний приклад демонструє процес навчання та його ефективність у потенційних реальних застосуваннях.
Огляд рішення
Рішення, представлене в цій публікації, автоматизує розгортання наскрізного робочого процесу для офлайн-навчання підкріплення з історичними даними. На наступній діаграмі описано архітектуру, яка використовується в цьому робочому процесі. Дані вимірювань виробляються на краю промисловим обладнанням (тут імітується за допомогою AWS Lambda функція). Дані вводяться в Амазонський кінезіс Data Firehose, де вони зберігаються Служба простого зберігання Amazon (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
Покрокове керівництво
Сформулюйте проблему
Наша система в цьому дописі блогу — це візок із жердиною, збалансованою зверху. Система добре працює, коли жердина стоїть у вертикальному положенні, а візок знаходиться близько до позиції воріт. На попередньому кроці ми створили історичні дані з цієї системи.
У наведеній нижче таблиці показано історичні дані, зібрані з системи.
Позиція кошика | Швидкість візка | Полюсний кут | Полюсна кутова швидкість | Гольова позиція | Зовнішня сила | Винагороджувати | Time |
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 дозволяє швидко запускати кілька навчальних завдань, щоб побачити, як різні конфігурації впливають на отриману навчену модель. Викличте лямбда-функцію з іменем 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 дозволяють обслуговувати моделі машинного навчання декількома різними способами, щоб відповідати різноманітним варіантам використання. У цій публікації ми будемо використовувати безсерверний тип кінцевої точки, щоб наша кінцева точка автоматично масштабувалася відповідно до попиту, і ми платили за використання обчислень лише тоді, коли кінцева точка генерувала висновок. Щоб розгорнути безсерверну кінцеву точку, додайте a ProductionVariantServerlessConfig в виробничий варіант SageMaker конфігурація кінцевої точки. У наведеному нижче фрагменті коду показано, як безсерверна кінцева точка в цьому прикладі розгортається за допомогою комплекту розробки програмного забезпечення Amazon SageMaker для Python. Знайдіть зразок коду, використаний для розгортання моделі, за адресою sagemaker-offline-reinforcement-learning-ray-cql.
Файли навченої моделі розташовані в артефактах моделі S3 для кожного тренувального прогону. Щоб розгорнути модель машинного навчання, знайдіть файли моделі найкращого навчального циклу та викличте функцію Lambda під назвою «ModelDeployerFunction
” із подією, яка містить дані моделі. Функція Lambda запустить безсерверну кінцеву точку SageMaker для обслуговування навченої моделі. Приклад події для використання під час виклику "ModelDeployerFunction
"
Оцініть продуктивність навченої моделі
Настав час подивитися, як наша тренована модель працює у виробництві! Щоб перевірити продуктивність нової моделі, викличте лямбда-функцію з назвою “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 Company. У вільний час любить займатися садівництвом і ловити нахлистом.
Феліпе Лопес є старшим архітектором рішень в AWS, який спеціалізується на видобутку нафти та газу. До приходу в AWS Феліпе працював у GE Digital і Schlumberger, де він зосереджувався на моделюванні та оптимізації продуктів для промислового застосування.
Інвей Ю є прикладним науковцем у Generative AI Incubator, AWS. Він має досвід роботи з кількома організаціями в різних галузях над різними доказами концепції в машинному навчанні, включаючи обробку природної мови, аналіз часових рядів і прогнозне обслуговування. У вільний час він захоплюється плаванням, малюванням, пішим туризмом, а також проводить час з родиною та друзями.
Хаочжу Ван є науковим співробітником Amazon Bedrock, який зосереджується на розробці фундаментних моделей Amazon Titan. Раніше він працював у Amazon ML Solutions Lab як співкерівник Reinforcement Learning Vertical і допомагав клієнтам створювати передові рішення ML завдяки останнім дослідженням навчання з підкріпленням, обробки природної мови та вивчення графів. Хаочжу отримав ступінь доктора філософії з електротехніки та комп’ютерної інженерії в Мічиганському університеті.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. Автомобільні / електромобілі, вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- ChartPrime. Розвивайте свою торгову гру за допомогою ChartPrime. Доступ тут.
- BlockOffsets. Модернізація екологічної компенсаційної власності. Доступ тут.
- джерело: 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 SageMaker
- Amazon Web Services
- an
- аналіз
- та
- Angular
- анімації
- застосування
- прикладної
- підхід
- архітектура
- ЕСТЬ
- AS
- At
- автоматизувати
- автоматизує
- автоматичний
- автоматично
- доступний
- середній
- AWS
- AWS CloudFormation
- AWS Lambda
- назад
- Balance
- бар'єри
- база
- заснований
- бити
- BE
- оскільки
- перед тим
- КРАЩЕ
- Краще
- між
- Біт
- Блог
- синій
- Box
- Перерва
- Розрив
- будувати
- Створюємо
- by
- call
- званий
- покликання
- CAN
- випадок
- тематичне дослідження
- випадків
- каталоги
- категорії
- Викликати
- зміна
- перевірка
- хімічний
- близько
- ближче
- код
- Компанії
- компанія
- порівняти
- повний
- комплекс
- компрометуючі
- обчислення
- комп'ютер
- Комп'ютерна інженерія
- концентрація
- концепція
- Умови
- консервативний
- споживати
- споживання
- Наші контакти
- містить
- контроль
- конвертувати
- створює
- Критик
- Клієнти
- дані
- вирішувати
- певний
- Попит
- продемонстрований
- демонструє
- розгортання
- розгорнути
- розгортання
- розгортання
- призначені
- призначений
- бажаний
- деталі
- Визначати
- розробка
- різниця
- різний
- цифровий
- безпосередньо
- Знижка
- зі знижкою
- обговорення
- do
- робить
- справи
- вниз
- час простою
- під час
- динаміка
- кожен
- край
- ефективність
- ефективний
- продуктивно
- або
- з'явився
- включіть
- кінець в кінець
- Кінцева точка
- енергія
- Енергоспоживання
- інженер
- Машинобудування
- забезпечувати
- повністю
- Навколишнє середовище
- навколишній
- епізод
- обладнання
- помилка
- Оцінки
- Event
- досліджувати
- приклад
- досвід
- експеримент
- Експерименти
- експерт
- дослідження
- експоненціально
- зовнішній
- сім'я
- зворотний зв'язок
- Рисунок
- філе
- Файли
- знайти
- виявлення
- риба
- увагу
- фокусування
- стежити
- після
- для
- Примусово
- форма
- формат
- вперед
- фонд
- чотири
- друзі
- від
- функція
- майбутнє
- сад
- ГАЗ
- зібраний
- ge
- породжувати
- генерується
- генерує
- породжує
- генеративний
- Генеративний ШІ
- GIF
- GitHub
- Давати
- даний
- мета
- графік
- зелений
- Group
- Жорсткий
- Мати
- he
- допомога
- допоміг
- допомагає
- тут
- Високий
- вище
- найвищий
- його
- історичний
- історично
- Як
- How To
- HTML
- HTTPS
- Налаштування гіперпараметрів
- ідентифікує
- if
- здійснювати
- реалізація
- in
- включати
- includes
- У тому числі
- Augmenter
- інкубатор
- вказувати
- індикація
- промислові
- промисловості
- інформація
- встановлювати
- взаємодіючих
- взаємодія
- інтерфейс
- в
- IT
- ЙОГО
- сам
- робота
- Джобс
- приєднання
- JPG
- json
- скачки
- просто
- ключі
- lab
- мова
- великий
- останній
- запуск
- УЧИТЬСЯ
- вчений
- вивчення
- найменш
- дозволяти
- дозволяє
- бібліотека
- Ймовірно
- Сподобалося
- МЕЖА
- Лінія
- ліній
- вантажі
- розташований
- розташування
- подивитися
- від
- низький
- недорогий
- машина
- навчання за допомогою машини
- Підтримка
- обслуговування
- зробити
- РОБОТИ
- управління
- керівництво
- виробництво
- багато
- максимізація
- Може..
- значити
- вимір
- вимірювання
- заходи
- Зустрічатися
- метрика
- Метрика
- Мічиган
- ML
- модель
- моделювання
- Моделі
- монітор
- більше
- рухається
- переміщення
- множинний
- множення
- ім'я
- Названий
- Природний
- Обробка природних мов
- Переміщення
- Необхідність
- Нові
- номер
- об'єкти
- of
- offline
- часто
- Нафта
- on
- ONE
- тільки
- працювати
- операція
- операції
- оптимальний
- оптимізація
- Оптимізувати
- or
- порядок
- організації
- наші
- Результат
- Вищі результати
- вихід
- над
- власний
- Картина
- Папір
- парадигма
- частина
- Платити
- для
- відсотків
- Виконувати
- продуктивність
- виконується
- виступає
- Вчений ступінь
- фізичний
- вибирати
- частина
- Рослини
- plato
- Інформація про дані Платона
- PlatoData
- будь ласка
- Політика
- політика
- положення
- пошта
- потенціал
- практика
- передбачати
- прогнозування
- прогноз
- представити
- представлений
- попередній
- раніше
- попередній
- Проблема
- процедура
- процес
- процеси
- обробка
- виробляти
- Вироблений
- випускає
- Production
- продуктивність
- Продукти
- рентабельність
- докази
- put
- Python
- швидко
- випадковий
- ставка
- RAY
- Реальний світ
- отримати
- отримано
- Рекомендація
- рекомендації
- рекомендований
- запис
- червоний
- зниження
- надійний
- Сховище
- вимагати
- Вимагається
- дослідження
- ресурси
- відповідь
- в результаті
- результати
- Винагороджувати
- Нагороди
- ролі
- Правила
- прогін
- пробіжки
- безпечно
- Безпека
- мудрець
- Сем
- ваги
- вчений
- сценарій
- Пошук
- розділ
- побачити
- послати
- старший
- Серія
- служити
- Без сервера
- служить
- Послуги
- комплект
- набори
- кілька
- Показувати
- Шоу
- простий
- моделювання
- одночасно
- уривок
- So
- Софтвер
- розробка програмного забезпечення
- комплект для розробки програмного забезпечення
- рішення
- Рішення
- деякі
- Витрати
- Стабільність
- стек
- Стажування
- standard
- старт
- починається
- стан
- Крок
- заходи
- зберігання
- зберігати
- магазинів
- стратегії
- Стратегія
- структура
- Вивчення
- такі
- поверхню
- система
- Systems
- таблиця
- Приймати
- прийняті
- взяття
- Завдання
- шаблон
- ніж
- Що
- Команда
- Держава
- їх
- потім
- Ці
- це
- три
- через
- час
- Часовий ряд
- велетень
- до
- топ
- до
- традиційний
- поїзд
- навчений
- Навчання
- Перетворення
- Перетворення
- перетворення
- правда
- намагатися
- тип
- розуміти
- університет
- на
- us
- Використання
- використання
- використовуваний
- використовує
- використання
- значення
- Цінності
- різноманітність
- різний
- VeloCity
- вертикальний
- Обсяги
- покрокове керівництво
- було
- способи
- we
- Web
- веб-сервіси
- тижня
- ДОБРЕ
- Що
- коли
- який
- в той час як
- волі
- вітер
- з
- без
- працював
- робочий
- робочий
- Ти
- вашу
- зефірнет