خب رفیق، امروز میخوام درباره یکی از چالشبرانگیزترین کارهای دنیا باهات حرف بزنم: شناسایی مشکلات پنهونی تو خط تولید چیپسهای الکترونیکی (همون نیمههادیها که تو گوشی و لپتاپ همهمون هست!). تصور کن هزاران پارامتر مختلف هر لحظه دارن اندازهگیری میشن و دیتاها پشت سر هم سرازیرن، اونم با سر و صدا و اندازهگیری ناقص. پیدا کردن مشکل تو این همه دیتا واقعاً کار حضرت فیل ـه! تازه خیلی از این عیبها کم اتفاق میافتن (یعنی class imbalance هم داریم! میشه تعداد دادههای مشکلدار خیلی کمتر از بقیه باشه)، و تا یک مدت طولانی خودشون رو نشون نمیدن یا ردشون تو مراحل بعدی دیده میشه.
اینجا بود که کلی دانشمند باحال اومدن دست به کار شدن و یه روش جدید و عمومی با هوش مصنوعی ساختن که خیلی از این دردسرها رو حل میکنه. کاری که انجام دادن اینه:
۱. اول اومدن دادههای سری زمانی چندمتغیره (multivariate time series یعنی دادههایی که تو زمان از پارامترهای زیادی داریم) رو با یه تکنیک جالب به اسم Continuous Wavelet Transform یا همون تبدیل پیوسته موجک تبدیل کردن به تصویر! یعنی هر رشته عدد تبدیل شده به یه تصویر خاص که اطلاعات تغییراتش رو بهتر نشون میده. (توضیح دوستانه: این تبدیل موجک یه جوریه که به جای اینکه فقط خود داده رو مشاهده کنیم، میاد فرکانسها و تغییرات در هر زمان رو به فرم عکس نشون میده. خیلی کاربردیه برای کشف ریزجزئیات تو داده.)
۲. بعدش اومدن سراغ یه مدل معروف به اسم VGG-16 که قبلاً حسابی برای تشخیص عکس آموزش دیده. اینجا VGG-16 یعنی یه شبکه عصبی خیلی عمیق که معمولاً برای شناسایی تصویر به کار میره، ولی این بندگان خدا اومدن اینو با عکسهای CWT خودشون دوباره تنظیم کردن (یعنی fine-tune کردنش برای مشکل خاص خودشون).
۳. حالا گام بعدی اینه که مدل رو دو قلو کردن! یعنی Siamese Network ساختنش. (توضیح: Siamese Network یعنی شبکهای که از دو بخش تقریباً مشابه ساخته میشه و میتونه یاد بگیره فاصله یا شباهت بین دوتا ورودی رو بسنجه.) تو این روش، به این مدل دوتا تصویر CWT میدن: یکی عکس مرجع (که میدونن سالمه) و یکی عکس تستی (که معلوم نیست سالمه یا نه). حالا شبکه با مقایسه این دوتا تصمیم میگیره که آیا این دو عکس از یه کلاس هستن یا نه، یعنی مثلاً جفتشون سالم هستن یا یکیشون مشکل داره.
نتیجه؟ این روش دقت خیلی بالایی داشته و تونسته عیبها یا همون آنومالیها رو تو دادههای واقعی از یه خط تولید چیپ پیدا کنه. نکته باحال اینجاست که این ایده فقط برای دادههای کارخانهای کاربرد نداره، بلکه هر جا دیتا به این شکل داشته باشی، میشه ازش استفاده کرد.
یه ویژگی دیگه این رویکرد اینه که هم با نظارت کامل (supervised، یعنی دادههای برچسبخورده) و هم نیمهنظارتی (semi-supervised، یعنی بخشی از دادهها بدون برچسب هستن) کار میکنه. پس حتی وقتی ندونیم دقیقاً کجاها خرابه، باز هم میتونیم عیب رو از دل کلی نویز و پارامتر ناشناس پیدا کنیم.
در کل این روش یعنی استفاده از CWT برای تبدیل دادهها به عکس، آموزش مدل عمیق مثل VGG-16، و استفاده از ساختار دوقلو یا سِیامیس برای مقایسه، واقعاً راه حل جالبی برای مشکلات پیچیده صنعت مدرن مثل نیمههادیهاست. اگه دنبال کشف مشکلات پنهون تو خط تولید با کلی پارامتر و تغییرات عجیبغریب هستی، این ترکیب میتونه حسابی به کارت بیاد!
منبع: +