Підключайте та виконуйте моделі машинного навчання для візуальних аномалій у безсерверній архітектурі AWS

| | 0 Comments| 7:53 AM
Categories:

Уявіть, що у вас є велика інфраструктура різноманітних пристроїв, які вам потрібно регулярно обслуговувати або гарантувати, що вони не небезпечні для навколишнього середовища.

Один із способів досягти цього — регулярно відправляти людей у ​​кожну точку перевіряти, чи все гаразд. Це певною мірою можливо, але це вимагає досить витрат часу та ресурсів. І якщо інфраструктура досить велика, можливо, ви не зможете охопити її повністю протягом року.

Інший спосіб — автоматизувати цей процес і дозволити роботам у хмарі перевіряти за вас. Щоб це сталося, вам потрібно буде зробити наступне:

👉 Швидкий процес отримання фотографій пристроїв. Це все ще можуть зробити люди, оскільки все ще набагато швидше зробити лише зображення, як виконувати всі процеси перевірки пристрою. Це також можна зробити за допомогою фотографій, зроблених з автомобілів або навіть дронів, і в цьому випадку процес збору зображень стане набагато швидшим і більш автоматизованим.

👉 Потім потрібно відправити всі отримані фотографії в одне спеціальне місце в хмарі.

👉 У хмарі вам потрібна автоматизована робота, щоб збирати зображення та обробляти їх за допомогою моделей машинного навчання, навчених розпізнавати пошкодження пристроїв або аномалії.

👉 Нарешті, результати мають бути видимими для необхідних користувачів, щоб можна було запланувати ремонт пристроїв із проблемами.

Давайте подивимося, як можна досягти виявлення аномалій із зображень у хмарі AWS. У Amazon є кілька готових моделей машинного навчання, які ми можемо використовувати для цієї мети.

Як створити модель для візуального виявлення аномалій

Щоб створити модель для візуального виявлення аномалій, потрібно виконати кілька кроків:

Крок 1. Чітко визначте проблему, яку ви хочете вирішити, і типи аномалій, які ви хочете виявити. Це допоможе вам визначити відповідний набір даних для тестування, який знадобиться для навчання моделі.

Крок 2: Зберіть великий набір даних зображень, що представляють нормальні та аномальні умови. Позначте зображення, щоб вказати, які нормальні, а які містять аномалії.

Крок 3: Виберіть архітектуру моделі, яка підходить для завдання. Це може включати вибір попередньо навченої моделі та її тонке налаштування для конкретного випадку використання або створення спеціальної моделі з нуля.

Крок 4: Навчіть модель за допомогою підготовленого набору даних і вибраного алгоритму. Це означає використання трансферного навчання для використання попередньо навчених моделей або навчання моделі з нуля за допомогою таких методів, як згорточні нейронні мережі (CNN).

Як навчити модель машинного навчання

Джерело: aws.amazon.com

Процес навчання моделей машинного навчання AWS для виявлення візуальних аномалій зазвичай включає кілька важливих етапів.

#1. Зберіть дані

На початку вам потрібно зібрати та позначити великий набір даних зображень, які представляють як нормальні, так і аномальні умови. Чим більший набір даних, тим краще і точніше можна навчити модель. Крім того, це передбачає набагато більше часу, присвяченого навчанню моделі.

  Як підключитися до бездротового маршрутизатора або модему Frontier

Зазвичай ви хочете мати близько 1000 зображень у наборі для тестування, щоб мати хороший початок.

#2. Підготуйте дані

Дані зображення мають бути попередньо оброблені, щоб моделі машинного навчання могли їх підібрати. Попередня обробка може означати різні речі, наприклад:

  • Очищення вхідних зображень в окремі вкладені папки, виправлення метаданих тощо.
  • Зміна розміру зображень відповідно до вимог моделі до роздільної здатності.
  • Розподіліть їх на менші фрагменти зображень для більш ефективної та паралельної обробки.

#3. Виберіть модель

Тепер виберіть правильну модель, щоб виконувати правильну роботу. Або виберіть попередньо навчену модель, або ви можете створити спеціальну модель, придатну для візуального виявлення аномалії на моделі.

#4. Оцініть результати

Коли модель обробить ваш набір даних, ви повинні перевірити її продуктивність. Крім того, ви хочете перевірити, чи результати задовільні для потреб. Це може означати, наприклад, що результати правильні для більш ніж 99% вхідних даних.

#5. Розгорніть модель

Якщо ви задоволені результатами та продуктивністю, розгорніть модель із певною версією в середовищі облікового запису AWS, щоб процеси та служби могли почати її використовувати.

#6. Моніторинг і вдосконалення

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

Якщо ні, перенавчіть модель, включивши нові набори даних, де модель дала неправильні результати.

Моделі машинного навчання AWS

Тепер подивіться на деякі конкретні моделі, якими можна скористатися в хмарі Amazon.

Розпізнавання AWS

Джерело: aws.amazon.com

Розпізнавання — це універсальні служби аналізу зображень і відео, які можна використовувати в різних випадках, наприклад розпізнавання обличчя, виявлення об’єктів і розпізнавання тексту. У більшості випадків ви будете використовувати модель Rekognition для початкової необробленої генерації результатів виявлення, щоб сформувати озеро даних виявлених аномалій.

Він надає низку готових моделей, якими можна користуватися без навчання. Розпізнавання також забезпечує аналіз зображень і відео в реальному часі з високою точністю та малою затримкою.

Ось декілька типових випадків використання, коли Rekognition є гарним вибором для виявлення аномалій:

  • Майте варіант використання загального призначення для виявлення аномалій, наприклад виявлення аномалій у зображеннях або відео.
  • Виконуйте виявлення аномалій у реальному часі.
  • Інтегруйте свою модель виявлення аномалій із такими сервісами AWS, як Amazon S3, Amazon Kinesis або AWS Lambda.

А ось кілька конкретних прикладів аномалій, які можна виявити за допомогою Rekognition:

  • Аномалії облич, такі як виявлення виразу обличчя або емоцій поза нормою.
  • Відсутні або неправильно розміщені об’єкти в сцені.
  • Неправильно написані слова або незвичні шаблони тексту.
  • Незвичайні умови освітлення або неочікувані об’єкти в сцені.
  • Невідповідний або образливий вміст у зображеннях або відео.
  • Раптові зміни в русі або несподівані моделі руху.

AWS Lookout for Vision

Джерело: aws.amazon.com

Lookout for Vision — це модель, спеціально розроблена для виявлення аномалій у промислових процесах, таких як виробництво та виробничі лінії. Зазвичай для цього потрібна певна попередня обробка коду та постобробка зображення або якийсь конкретний виріз із зображення, який зазвичай виконується за допомогою мови програмування Python. У більшості випадків він спеціалізується на деяких дуже особливих проблемах на зображенні.

  Як змінити Chrome як браузер за замовчуванням

Для створення спеціальної моделі для виявлення аномалій потрібне спеціальне навчання на наборі даних нормальних і аномальних зображень. Він не так орієнтований на реальний час; скоріше, він призначений для пакетної обробки зображень, зосереджуючись на точності та точності.

Ось кілька типових випадків використання, коли Lookout for Vision є гарним вибором, якщо вам потрібно виявити:

  • Дефекти виробленої продукції або виявлення несправностей обладнання на виробничій лінії.
  • Великий набір зображень або інших даних.
  • Аномалія в реальному часі в промисловому процесі.
  • Аномалія інтегрована з іншими службами AWS, такими як Amazon S3 або AWS IoT.

А ось кілька конкретних прикладів аномалій, які можна виявити за допомогою Lookout for Vision:

  • Дефекти у виготовлених виробах, такі як подряпини, вм’ятини чи інші недоліки, можуть вплинути на якість виробу.
  • Збої обладнання на виробничій лінії, наприклад виявлення зламаного або несправного обладнання, що може призвести до затримок або загрози безпеці.
  • Проблеми контролю якості на виробничій лінії включають виявлення продуктів, які не відповідають необхідним специфікаціям або допускам.
  • Небезпека на виробничій лінії включає виявлення об’єктів або матеріалів, які можуть становити небезпеку для працівників або обладнання.
  • Аномалії у виробничому процесі, такі як виявлення неочікуваних змін у потоці матеріалів або продуктів через виробничу лінію.

AWS Sagemaker

Джерело: aws.amazon.com

Sagemaker — це повністю керована платформа для створення, навчання та розгортання спеціальних моделей машинного навчання.

Це набагато надійніше рішення. Насправді він надає спосіб підключити та виконати кілька багатоетапних процесів в один ланцюжок завдань, які слідують одне за одним, подібно до того, як це можуть зробити AWS Step Functions.

Але оскільки Sagemaker використовує спеціальні екземпляри EC2 для обробки, немає обмеження в 15 хвилин для обробки одного завдання, як у випадку лямбда-функцій AWS у покрокових функціях AWS.

Ви також можете виконувати автоматичне налаштування моделі за допомогою Sagemaker, що, безсумнівно, є функцією, яка робить його відмінним варіантом. Нарешті, Sagemaker може легко розгорнути модель у робочому середовищі.

Ось кілька типових випадків використання, коли SageMaker є хорошим вибором для виявлення аномалій:

  • Конкретний випадок використання, який не охоплюється попередньо створеними моделями чи API, і якщо вам потрібно створити індивідуальну модель відповідно до ваших конкретних потреб.
  • Якщо у вас є великий набір зображень або інших даних. У таких випадках попередньо зібрані моделі вимагають певної попередньої обробки, але Sagemaker може обійтися без неї.
  • Якщо вам потрібно виконати виявлення аномалії в реальному часі.
  • Якщо вам потрібно інтегрувати свою модель з іншими службами AWS, такими як Amazon S3, Amazon Kinesis або AWS Lambda.
  Як захистити свою організацію від смурфінг-атак хакерів

А ось кілька типових виявлень аномалій, які Sagemaker може виконувати:

  • Виявлення шахрайства у фінансових операціях, наприклад, незвичайні моделі витрат або транзакції за межами нормального діапазону.
  • Кібербезпека в мережевому трафіку, як-от незвичні шаблони передачі даних або несподівані підключення до зовнішніх серверів.
  • Медична діагностика на медичних зображеннях, як-от виявлення пухлин.
  • Аномалії в роботі обладнання, наприклад виявлення змін у вібрації чи температурі.
  • Контроль якості у виробничих процесах, наприклад, виявлення дефектів у продуктах або виявлення відхилень від очікуваних стандартів якості.
  • Незвичайні моделі споживання енергії.

Як включити моделі в безсерверну архітектуру

Навчена модель машинного навчання — це хмарна служба, яка не використовує жодних кластерних серверів у фоновому режимі; таким чином його можна легко включити в існуючу безсерверну архітектуру.

Автоматизація здійснюється за допомогою лямбда-функцій AWS, об’єднаних у роботу з кількох кроків у службі AWS Step Functions.

Як правило, вам потрібно початкове виявлення відразу після збору зображень і їх попередньої обробки на відрі S3. Саме тут ви створите виявлення атомної аномалії на вхідних зображеннях і збережете результати в озері даних, наприклад, представленому базою даних Athena.

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

Для цього вам може знадобитися інша модель з іншими можливостями. У такому випадку ви можете запустити іншу модель (наприклад, Lookout for Vision) на підмножині зображень, де початкова модель виявила проблему.

Це також хороший спосіб заощадити кошти, оскільки вам не потрібно запускати другу модель на цілому наборі зображень. Замість цього ви запускаєте його лише на значущій підмножині.

Функції AWS Lambda охоплюють всю таку обробку за допомогою внутрішнього коду Python або Javascript. Це залежить лише від природи процесів і кількості лямбда-функцій AWS, які вам потрібно буде включити в потік. 15-хвилинний ліміт для максимальної тривалості лямбда-виклику AWS визначатиме, скільки кроків повинен містити такий процес.

Заключні слова

Робота з моделями хмарного машинного навчання — дуже цікава робота. Якщо ви подивитеся на це з точки зору навичок і технологій, ви побачите, що вам потрібна команда з великою різноманітністю навичок.

Команда має розуміти, як навчити модель, будь вона готова чи створена з нуля. Це означає, що багато математики чи алгебри бере участь у збалансуванні надійності та ефективності результатів.

Вам також потрібні деякі просунуті навички кодування на Python або Javascript, навички роботи з базами даних і SQL. І після завершення всієї роботи над контентом вам знадобляться навички DevOps, щоб підключити його до конвеєра, який перетворить його на автоматизоване завдання, готове до розгортання та виконання.

Визначення аномалії та навчання моделі — це одне. Але об’єднати все це в одну функціональну групу, яка зможе обробляти результати моделей і зберігати дані ефективним і автоматизованим способом для надання їх кінцевим користувачам, є складним завданням.

Далі перегляньте все про розпізнавання облич для компаній.