نشریه تراکنش‌های شبکه‌های عصبی IEEE

Downtime Detective — تشخیص توقف ناخواسته ماشین‌آلات با داده جریان/توان (Anomaly Detection)

چکیده پژوهش: در پروژه‌ی Downtime Detective یک سامانه‌ی تشخیص ناهنجاری برای شناسایی توقف‌های ناخواسته ماشین‌آلات طراحی شده است. این سیستم با استفاده از داده‌های جریان برق یا توان مصرفی، رفتار نرمال دستگاه را یاد می‌گیرد و هر انحراف قابل‌توجه را به‌عنوان ناهنجاری یا توقف احتمالی تشخیص می‌دهد.

مقدمه

در خطوط تولید صنعتی، توقف ناخواسته ماشین‌آلات یکی از مهم‌ترین دلایل کاهش بهره‌وری و افزایش هزینه‌هاست. مشکل اصلی این است که همیشه گزارش‌های توقف یا Event Logها کامل و دقیق نیستند. اما توقف دستگاه معمولاً روی سیگنال‌های سنسوری، مخصوصاً جریان برق یا توان مصرفی، اثر مشخصی می‌گذارد. برای مثال: در حالت کار نرمال، مصرف توان الگوی مشخصی دارد. در زمان توقف، سیگنال ممکن است افت کند، تخت شود یا رفتار متفاوتی نشان دهد. هدف پروژه‌ی Downtime Detective این است که بدون نیاز زیاد به داده‌های لیبل‌خورده، توقف‌های احتمالی را از روی سیگنال مصرف انرژی شناسایی کرده و گزارش قابل استفاده برای تیم تولید و نگهداری ارائه دهد.

معماری پیشنهادی و فرمولاسیون

A) Data Ingestion دریافت سیگنال زمان‌مند جریان یا توان و در صورت نیاز Resample کردن داده‌ها. B) Cleaning & Preprocessing حذف داده‌های گمشده، نویزها و outlierهای واضح، سپس نرمال‌سازی سیگنال. C) Windowing تقسیم سیگنال به پنجره‌های زمانی با طول و گام مشخص برای تحلیل بهتر رفتار ماشین. D) Autoencoder Training آموزش Autoencoder روی داده‌های نرمال برای یادگیری الگوی معمول عملکرد دستگاه. E) Scoring & Thresholding محاسبه خطای بازسازی هر پنجره و تشخیص anomaly بر اساس آستانه مشخص. F) Post-processing & Reporting ترکیب anomalyهای نزدیک، حذف نویزهای کوتاه و تولید گزارش downtime شامل مدت توقف، تعداد توقف‌ها و تولید از دست‌رفته.

نمودار معماری LoRA

پیاده‌سازی

دیتای مصنوعی می‌سازیم که شامل «کار نرمال» و چند «توقف» باشد پنجره‌سازی می‌کنیم Autoencoder را آموزش می‌دهیم threshold را از train استخراج می‌کنیم anomalyها را به بازه downtime تبدیل می‌کنیم تولید از دست‌رفته را برآورد می‌کنیم نکته: این کد آماده است که بعداً ورودی واقعی CSV هم به آن وصل شود.

class AutoEncoder1D(nn.Module):
              def __init__(self, win_size, latent_dim=16, hidden=64):
                  super().__init__()
                  self.encoder = nn.Sequential(
                      nn.Linear(win_size, hidden),
                      nn.ReLU(),
                      nn.Linear(hidden, latent_dim)
                  )
                  self.decoder = nn.Sequential(
                      nn.Linear(latent_dim, hidden),
                      nn.ReLU(),
                      nn.Linear(hidden, win_size)
                  )

              def forward(self, x):
                  return self.decoder(self.encoder(x))
                    


            

نتیجه‌گیری

Downtime Detective یک راهکار سبک و کاربردی برای تشخیص توقف‌های ناخواسته ماشین‌آلات از روی سیگنال جریان یا توان است. این سیستم با یادگیری رفتار نرمال توسط Autoencoder، بدون نیاز جدی به داده‌های لیبل‌خورده، توقف‌ها و ناهنجاری‌ها را شناسایی می‌کند. خروجی نهایی می‌تواند برای تیم نگهداری، تعمیرات و مدیریت تولید استفاده شود و به کاهش Downtime و افزایش OEE کمک کند.