یادگیری فعال عمیق راهکار جدیدی برای شناسایی نواقص جاده
کتابخانه یادگیری فعال عمیق Baal به سرعت زمینه را برای انتقال از فاز برچسبزنی به فاز بهره برداری production از مدل یادگیری ماشین فراهم میکند. اخیراً هم قابلیت شناسایی نواقص سطوح جاده به موضوع جالبی برای یادگیری فعال تبدیل شده است. هدف نهایی این است که مشخص شود چه بخشهایی از جاده یا خیابان نیاز به ترمیم دارد. همچنین نیاز است که برآورد مناسبی از ناحیه نیازمند تعمیر به دست آید. به همین منظور، مسئله مورد نظر به عنوان «مسئله بخشبندی معنایی» Semantic segmentation در نظر گرفته شد.
تعریف داده
ما توانستیم یک دیتاست عمومی پیدا کنیم، اما متاسفانه، برچسبهای گذاشته شده تنها شامل اطلاعات خطوط بود. در نتیجه، برای استفاده از این دادهها به منظور بخشبندی معنایی، نیاز داشتیم تا به ایجاد برچسبهای چندضلعی بپردازیم که توسط تیم ما انجام شد. در همین راستا، سه نوع نقص و ویژگی دیگری برای شناسایی در نظر گرفته شد:
1. ترکخوردگیCracks
2. وصله Patches
3. چالهها Manholes
![یادگیری فعال](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%20333'%3E%3C/svg%3E)
تعریف مدل یادگیری فعال
انجام فرایند یادگیری فعال مستلزم استفاده از MC-Dropout و BALD است. این دو در برآورد عدم قطعیت هر کدام از نمونههایِ فاقد برچسب نقش دارند. مدلِ ما U-Net (رونبرگر و همکاران) نام دارد. پیش از کانولوشن Convolution نهایی، یک لایه Dropout به آن اضافه شد.
لایه Dropout زمینه را برای استفاده از MC-Dropout مهیا میکند. ما شبکه خود را با استفاده از انتروپی وزنی استاندارد Standard weighted cross-entropy آموزش دادیم. وزنها به طور خودکار توسط بخشی از پیکسلها در هر مرحله یادگیری فعال شناسایی میشوند.
[irp posts=”5198″]بدون یادگیری فعال (روش سنتی)
در فرایند خطی، برچسبزنی پیش از آموزشِ مدل انجام میشود.
با یادگیری فعال (روش مبتنی بر هوش مصنوعی)
مدل هوش مصنوعی همواره در تصمیمگیریها نقش مهمی دارد و در طول فرایند برچسبزنی به یادگیری میپردازد.MC-Dropout و BALD
MC-Dropout روشِ پیشنهادیِ گال و همکارانش است و در تخمین توزیع پسین Posterior Distribution مدل با استفاده از Dropout نقش دارد. Dropout عملاً مثل مجموعه بیزی عمل میکند. با تخمین بر پایه روش مونت کارلو، اگر پارامترهای مدل نامعلوم باشند، به توزیعی از پیشبینی دست مییابیم که واریانس بالایی دارد. این روش فقط میتواند عدم قطعیت شناختی را برآورد کند.
یادگیری فعال بیزی با ناهمخوانی Bayesian Active Learning by Disagreement یا به اختصار BALD به یک روش کلی گفته میشود که میتواند به همراه MC-Dropout برای تعیین میزان عدم قطعیت توزیع استفاده شود. یکی از ویژگیهای جالب BALD این است که هیچ فرض گاوسی در توزیع در نظر نمیگیرد.
هایپر پارامترها
آنچه باید در هنگام استفاده از یادگیری فعال در پروژههای واقعی به خاطر داشت این است که باید عدم قطعیت را هر چه سریعتر به طور مجدد محاسبه کرد. برای انجام این کار، باید تعداد برآوردهای MC را محدود کنیم زیرا سرعت فرایند را پایین میآورد. در این مورد، تعداد نمونههای MC به 20 عدد کاهش یافت. ما در آزمایشهای خود متوجه این موضوع شدیم که تعامل خوبی بین سرعت و کیفیت موارد عدم قطعیتِ محاسبه شده با روش ما برقرار است.
برچسبزنی با یادگیری فعال
باید تیمی از متخصصان برچسب زنی با تیم یادگیری فعال همکاری کنند. این متخصصان میبایست با دانشمندان داده نیز همکاری نزدیکی داشته باشند تا امکان بکارگیریِ یکپارچۀ دادهها در مسیر پردازشی pipeline یادگیری ماشین فراهم میشود. ما بر این باوریم که تعامل نزدیک با متخصصان و کارشناسان یادگیری ماشین میتواند به تیم برچسبزنی کمک کند تا برچسبهای خوب و باکیفیتی ایجاد کنند و کارشناسان هم دادهها را به شکل بهتری درک نمایند.
مسئله شروع سرد
یادگیری فعال با مسئله شروع سرد دستوپنجه نرم میکند؛ یعنی امکان استفاده از آن پیش از برچسبزنیِ نمونهها وجود ندارد. اگرچه روشهایی نظیر مجموعه داده اصلی core sets (مانند Sener – Savarese) و یادگیری با داده های محدود few-shot learning (طبق تحقیق snell و همکاران) پیشنهاد شده است، اما هیچ اقدام آزمایشی با آنها انجام نشده است. متعاقباً، تعداد اندکی از دادهها را به صورت تصادفی برچسب میزنیم تا یک مجموعه آزمایشی و دیتاست آموزش اولیه ایجاد کنیم. ما در کارهای آتیِ خود قصد داریم مجموعههای اصلی را به عنوان مرحله نخستِ مسیر پردازشی یادگیری فعال به کار گیریم.
[irp posts=”22941″]چه زمان باید دست از کار کشید؟
ما چند معیار را در طول فرایند برچسبزنی بررسی کردیم. متریکها به تیم برچسبزنی توضیح داده شدند. ویژگیهای فرایند همگرا شده نیز به آنها نشان داده شد. با این اقدام، تیم برچسبزنی میتواند به طور مستقل عمل کرده و با کارشناسان علم داده ارتباط برقرار کند.
نتایج
پس از چند روز برچسبزنی، این فعالیت با همگرا شدنِ مدل متوقف شد. به یافتههای ما در زیر توجه کنید.
عکس سمت چپ: دقت و یادآوری در شناسایی ترکخوردگیها، وصلهها و دریچهها با افزایش تعداد نمونههای برچسب زده شده.
عکس سمت راست: برچسب زدنِ آن دسته از نمونههایی در اولویت قرار گرفت که به بیشینهسازی عملکرد کمک میکند؛ یعنی مدل در مدت زمان اندک و با استفاده از نقاط دادهای ناچیز آموزش داده شد.
صرفهجویی در زمان
9900 نمونه در این دادگان وجود دارد؛ 900 نمونه برای آموزش و 90 نمونه برای اعتبارسنجی برچسب زده شد. بر اساس مطالعه بازار، هزینه برچسب زدنِ یک تصویر حدود 50 سِنت تخمین زده شده است. بر طبق دادگان عمومیِ بکار گرفته شده، احتمال میدهیم 30 ثانیه برای برچسب زدن یک تصویر نیاز باشد. چون فقط 990 تصویر از مجموعِ 9900 تصویر برچسب زده شد، مبلغ 4500 دلار در هزینه و 75 ساعت در زمان صرفهجویی کردیم.
پیشبینی
در بخش زیر، پیشبینیِ مدلهای آموزش دیده با کمتر از 10 درصد داده نشان داده شده است.
هماکنون نسخه BaaL 1.2.0 منتشر شده است. میتوانید در لینک زیر به آن دسترسی داشته باشید: