ГоловнаШІ та Машинне навчанняДетектор аномалій датчиків — автоенкодер наживо

🔧 Детектор аномалій датчиків — автоенкодер наживо

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

ШІ та Машинне навчання3DПросунутий60 FPS
ai-manufacturing-sensor-anomaly-autoencoder ↗ Відкрити окремо

Про цю симуляцію

Ця симуляція запускає справжню нейронну мережу енкодер-декодер (п'ятивходовий автоенкодер із «горлечком» із трьох нейронів) повністю у вашому браузері, навчаючи її наживо власноруч написаним зворотним поширенням помилки та стохастичним градієнтним спуском — без TensorFlow.js, без готової ML-бібліотеки, лише прямі та зворотні проходи, закодовані за ланцюговим правилом. Їй подається безперервний потік синтетичних, корельованих показань «нормальної роботи» від п'яти симульованих датчиків машини (температура, вібрація, тиск, струм і оберти за хвилину), і вона вчиться, епоха за епохою, стискати та реконструювати цей здоровий патерн. Після навчання подання показання, якого вона ніколи не бачила — стрибка, дрейфу, заклиненого датчика, розриву кореляції або сплеску шуму — спричиняє помітно вищу похибку реконструкції, що є саме тим способом, яким реальні системи прогнозованого обслуговування виявляють несправності обладнання до того, як вони спричинять простій.

🔬 Що показано

Живий графік втрат, що справді спадає, оскільки зворотне поширення помилки оновлює ваги мережі кожен кадр, живий стрічковий графік похибки реконструкції з налаштовуваним порогом виявлення та 3D-модель машини, чиї п'ять вузлів датчиків світяться від зеленого до червоного залежно від квадрата похибки реконструкції кожного каналу в реальному часі.

🎮 Як користуватися

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

💡 Чи знали ви?

Виявлення аномалій на основі автоенкодера не потребує жодних розмічених прикладів несправностей: воно навчається лише на рясних даних «усе гаразд». Саме тому воно популярне у промисловому прогнозованому обслуговуванні, де реальні відмови рідкісні, дорогі для навмисного відтворення і часто щоразу різні.

Часті запитання

Що таке автоенкодер і як він виявляє аномалії?

Автоенкодер — це нейронна мережа, навчена реконструювати власний вхід через вузький шар-«горлечко», який змушує її вивчити стиснене представлення даних. Якщо навчати мережу лише на нормальних показаннях датчиків, вона стає дуже доброю у стисненні та реконструкції побачених патернів, але поганою у реконструкції патернів, яких вона ніколи не зустрічала. Виявлення аномалій використовує це: подайте на навчену мережу будь-яке нове показання і виміряйте похибку реконструкції — середньоквадратичну різницю між входом і виходом мережі. Нормальні показання реконструюються з низькою похибкою; показання, що виходять за межі вивченого багатовиду, реконструюються з високою похибкою, бо стиснене горлечко просто не має для них ефективного коду.

Чому важливий шар «горлечка»?

Якби прихований шар був такий самий широкий, як вхід, мережа могла б вивчити тривіальне тотожне відображення, що просто копіює кожне значення напряму, і будь-який вхід — нормальний чи аномальний — реконструювався б із майже нульовою похибкою, роблячи виявлення аномалій безглуздим. Енкодер цієї симуляції стискає п'ять каналів датчиків до горлечка з 3 нейронів, перш ніж дзеркальний декодер розгортає їх назад у п'ять виходів. Це вузьке горлечко змушує мережу відкрити малорозмірну структуру, яка фактично керує справним обладнанням — його спільний цикл навантаження — і відкинути все, що виходить за межі цієї структури.

Як ця мережа насправді навчається в браузері?

На кожному кадрі анімації симуляція генерує нові синтетичні нормальні показання (ніколи не реальні файли даних), пропускає їх через поточну мережу прямим проходом, обчислює середньоквадратичну похибку реконструкції відносно того самого входу як цільового значення навчання, а потім виконує повний зворотний прохід: ланцюгове правило застосовується пошарово для обчислення градієнтів кожної ваги та зміщення, використовуючи похідні tanh для прихованих шарів і звичайну лінійну похідну для вихідного шару, після чого кожен параметр зсувається на мінус швидкість навчання, помножену на його градієнт. Це справжнє зворотне поширення помилки та градієнтний спуск, реалізовані з нуля на чистому JavaScript без жодної бібліотеки машинного навчання, і ви можете спостерігати, як крива втрат спадає у процесі навчання.

Які типи аномалій можна ввести і чим вони відрізняються?

Доступно п'ять режимів несправностей: «Стрибок датчика» — один канал різко змінюється на кілька стандартних відхилень; «Дрейф датчика» — один канал повільно зміщується за межі здорового діапазону; «Заклинений датчик» — один канал завмирає на фіксованому значенні, тоді як реальне навантаження продовжує змінюватися; «Розрив кореляції» — всі датчики продовжують змінюватися, але перестають рухатися узгоджено, хоча в реальних машинах датчики пов'язані через спільне фізичне навантаження; і «Сплеск шуму» — всі канали стають набагато шумнішими, ніж будь-що бачене під час навчання. Оскільки мережа ніколи не навчалася на жодному з цих п'яти патернів, кожен із них зазвичай спричиняє похибку реконструкції у десятки-сотні разів вищу, ніж при нормальній роботі.

Як правильно встановити поріг виявлення?

Повзунок порогу встановлює значення похибки реконструкції, вище якого симуляція позначає стан «АНОМАЛІЮ ВИЯВЛЕНО». Якщо встановити його занадто низьким, звичайні шумні, але справні показання спричинятимуть хибні тривоги; якщо занадто високим — реальні несправності проходитимуть непоміченими. Поширений практичний підхід, відтворений тут, — встановити поріг на кілька стандартних відхилень вище середньої похибки реконструкції, спостережуваної на перевірених нормальних даних, а потім коригувати його, спостерігаючи за живим графіком похибки, щоб збалансувати чутливість і частоту хибних тривог для конкретної машини, що контролюється.

Чому мережа навчається лише на даних нормальної роботи?

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

Чи показує 3D-візуалізація реальні значення?

Так. П'ять світних вузлів датчиків відповідають п'яти вхідним каналам мережі — температурі, вібрації, тиску, струму та обертам за хвилину — і колір та інтенсивність світіння кожного вузла безпосередньо визначаються квадратом похибки реконструкції цього каналу в поточну мить, тобто квадратом різниці між фактичним показанням і реконструкцією мережі. Колір центрального корпусу відображає комбінований показник відносно поточного порогу. Ніщо тут не заскриптовано і не підготовлено заздалегідь: кожне значення надходить із живого прямого проходу тієї самої мережі, чиє навчання показано на графіку втрат.

⚙ Під капотом

Повнозв'язний автоенкодер 5→8→3→8→5 навчається наживо за допомогою власноруч написаного зворотного поширення помилки та SGD на синтетичних корельованих даних датчиків, а потім виявляє аномалії за справжніми сплесками похибки реконструкції відносно налаштовуваного порогу.

AutoencoderBackpropagationAnomaly DetectionGradient DescentPredictive Maintenance

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

Що ви знайшли?

Додати кроки відтворення (необов'язково)