۷ پیشنهاد کاربردی از کتاب «اشتیاق یادگیری ماشین»

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

هوش مصنوعی، یادگیری ماشین و یادگیری عمیق به سرعت در حال رشد هستند و بسیاری از صنایع را تغییر می دهند. اندرو ان‌جی یکی از مدعیان اصلی در این زمینه است. او یکی از بنیان گذاران Coursera و رئیس سابق گروه Baidu AI و رئیس سابق بخش Google Brain است. او نویسنده این کتاب تحت نام "اشتیاق یادگیری ماشین" است (میتوانید یک نسخه پیش نویس رایگان ترجمه فارسی را از mlyearning.ir دریافت کنید) به شما چگونگی پیکربندی پروژه های یادگیری ماشین را آموزش می دهد.

اندرو می‌نویسد:

این کتاب بر روی تدریس الگوریتم های یادگیری ماشین متمرکز نیست، بلکه بر روی نحوه ی کار کردن الگوریتم های یادگیری ماشین متمرکز است. برخی از کلاس های فنی هوش مصنوعی به شما یک چکش می دهد و این کتاب به شما می آموزد که چگونه از این چکش استفاده کنید. اگر بخواهید یک رهبر فنی در هوش مصنوعی باشید و بخواهید بیاموزید چگونه برای تیم خود جهت کنید، این کتاب به شما کمک خواهد کرد.

ما پیش نویس کتاب را خوانده‌ایم آن را به فارسی برای شما ترجمه کرده‌ایم و هفت پیشنهاد کاربردی و مفید را برایتان انتخاب کرده‌ایم:

۱- بهینه سازی و رسیدن به معیارها

به جای استفاده از یک فرمول یا یک معیار برای ارزیابی یک الگوریتم، باید از چندین معیار ارزیابی استفاده شود. یکی از راه های انجام این کار داشتن معیار بهینه سازی و معیار رضایت بخشی است.

با استفاده از مثال فوق، ابتدا می توانیم یک زمان مناسب اجرا را تعیین کنیم به طور مثال میگوییم هر چیزی کمتر از ۱۰۰ میلی ثانیه باشد مناسب است و این معیار رضایت بخش ما می شود. کلاسبند خوب کلاسی است که زمان اجرای آن کمتر از این معیار رضایت بخش باشد. صحت در اینجا معیار بهینه سازی است. این می تواند راهی مناسب و آسان برای ارزیابی الگوریتم باشد.

۲- انتخاب سریع مجموع داده های آموزش و تست ( این مجموعه داده‌ها در صورت احتیاج میتواند تغییر کند)

اندرو ان جی بر این باور است که زمان شروع یک پروژه انتخاب سریع مجموعه داده های یادگیری و تست به اعضای تیم هدفی مشخص می دهد. هدف اولیه یک هفته ایی برای تنظیم این مجموعه داده ها مناسب است. بهتر است در این مرحله بیش اندازه فکر نکنید و به سرعت مجموعه ها را حتی اگر کامل نباشد تهیه کنید.

با این گفتار، اگر ناگهان متوجه شدید که مجموعه داده اولیه آموزش و تست درست نیست، از تغییر آن نهراسید. سه علت احتمالی برای انتخاب یک مجموعه داده آموزشی و تست نادرست عبارتند از:

  • توزیعی که در مجموعه داده های آموزشی و تست داریم متفاوت از توزیع واقعی داده ها باشد.
  • مجموعه داده های آموزش و تست بیش از اندازه بزرگ هستند.
  • معیار صحت چیزی غیر از چیزی که پروژه نیاز به بهینه سازی دارد را اندازه گیری می کند.

به یاد داشته باشید که تغییر مجموعه داده آموزش و تست مسئله‌ی بزرگی نیست، فقط این کار را هر چه زودتر انجام دهید و اجازه دهید که تیم شما مسیری که در حال رفتن هستید را به وضوح بدانند.

۳- یادگیری ماشین یک فرآیند تکراری است: انتظار نداشته باشید که اولین بار کار کند.

اندرو ان جی می گوید رویکرد وی برای ساخت نرم‌افزار یادگیری ماشین سه گانه است:

  • با یک ایده شروع می کنید.
  • ایده را با کد پباده سازی می کنید.
  • یک آزمایش انجام دهید تا ببینید این ایده چگونه کار می کند.
مراحل ساخت نرم‌افزار یادگیری ماشین
مراحل ساخت نرم‌افزار یادگیری ماشین

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

۴- اولین سیستم خود را بسازید و آن را تکرار کنید

همانطور که در بند ۳ اشاره شد، ساخت یک الگوریتم یادگیری ماشین یک فرآیند تکراری است. اندرو ان‌جی یک فصل را به توضیح مزایای ایجاد سریع سیستم اولیه اختصاص داده است: "در شروع کار به تلاش برای طراحی و ساخت سیستمی کامل و بی نقض نپردازید. در عوض یک سیستم پایه را به سرعت طراحی کنید و آموزش دهید، این کار را چند روزه میتوانید انجام دهید. حتی اگر سیستم پایه شما از بهترینی که میتوانید بسازید فاصله ی زیادی داشته باشد، بسیار مهم است که عملکرد سیستم پایه را بررسی کنید: این کار باعث می شود به سرعت سرنخ هایی برای مسیر بهینه ایی که وقت خود را سرمایه گذاری خواهید کرد، پیدا کنید.”

۵- ارزیابی موازی چندین ایده

زمانی که تیم شما ایده های زیادی در مورد چگونگی بهبود الگوریتم دارد، می توانید این ایده ها را به صورت موازی ارزیابی کنید. با استفاده از مثال الگوریتم تشخیص عکس های گربه، اندرو ان جی نحوه ی ایجاد جدول پیشرفت پروژه و کامل کردن آن را توضیح می دهد. 100 عکس به نادرستی کلاسبندی شده در مجموعه داده های آموزشی و تست وجود دارند.

جدول بالا شامل تجزیه و تحلیل هر عکس و دلیل تشخیص اشتباه و نظرات کمک کننده در آینده پروژه است. در پایان هم می‌توانید ببینید که کدام ایده(ها) خطای بیشتری را حذف می کند و در آینده باید دنبال شود.

۶- حذف مواردی که به اشتباه برجسب خورده در صورت مفید واقع شدن

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

پس از اتمام می توانید بررسی کنید که آیا ارزش زمانی که صرف رفع این مشکل میشود را دارد یا ندارد. اندرو ان جی دو سناریو ممکن را بیان کرده است که قضاوت کنید آیا ارزش رفع مشکل را دارد یا خیر:

مثال ۱:

صحت کلی روی مجموعه داده آموزشی ...... ۹۰٪ (۱۰٪ خطای کلی)

خطاهایی که در اثر نمونه‌های به اشتباه برچسب خورده حاصل شده‌اند ...... ۰.۶٪ (۶٪ مجموعه باعث خطا می‌شود)

خطاها بر اثر سایر عوامل ...... ۹.۴٪ (۹۴٪ مجموعه باعث خطا می شود)

"در اینجا ۰.۶٪ خطای حاصل از برچسب زنی اشتباه در مقابل ۹.۴٪ خطای کلی که می‌توانید بهبود ببخشید چندان مهم نیست. البته ایرادی ندارد اگر به طور دستی عکس های مجموعه داده را درست کنید اما این کار برای پروژه حیاتی نیست. تفاوت چندانی بین ۱۰٪ یا ۹.۴٪ خطای کلی وجود ندارد."

مثال ۲:

صحت کلی روی مجموعه داده آموزشی ...... ۹۸٪ (۲٪ خطای کلی)

خطاهایی که در اثر نمونه های به اشتباه برچسب خورده حاصل شده‌اند ...... ۰.۶٪ (۳۰٪ مجموعه باعث خطا می‌شود)

خطاها بر اثر سایر عوامل ...... ۱.۴٪ (۷۰٪ مجموعه باعث خطا می‌شود)

٪۳۰ از خطاهای حاصل به دلیل برچسب زنی اشتباه عکس ها در مجموعه داده آموزشی است، که خطای قابل توجهی را به صحت نهایی پروژه وارد میکند. حال تغییر و بهبود برچسب های اشتباه عکس ها در مجموعه داده ارزشمند است. برطرف کردن نمونه های اشتباه به شما کمک میکند بدانید که آیا خطای کلاسبند شما ۱.۴٪ یا ۲٪ است، همانطورکه میبینید تفاوت قابل توجهی است.

۷- تقسیم مجموعه داده به زیر مجموعه های جداگانه

اندرو ان جی میگوید اگر یک مجموعه داده ی بزرگ دارید و دارای نرخ خطای ۲۰٪ باشد، بهتر است که آن را به دو زیرمحموعه جدا تقسیم کنید.

"به عنوان مثال الگوریتمی که ۱۰۰۰ نمونه را از ۵۰۰۰ نمونه مجموعه آموزشی را به اشتباه کلاسبندی می کند را در نظر بگیرید. فرض کنید به طور دستی ۱۰۰ خطا (۱۰٪ خطاها) را بررسی و تحلیل کنیم. باید ۱۰٪ از مجموعه داده به طور تصادفی انتخاب شود و آن را در مجموعه ایی به نام چشم قرار میدهیم تا یادآور این باشد که اطلاعات آن چشمی بررسی می شود (برای یک پروژه در حوزه پردازش گفتار که به فایل های صوتی گوش میدهیم، نام این مجموعه را گوش می گذاریم). بنابراین مجموعه داده چشمی ما ۵۰۰ نمونه دارد که انتظار میرود الگوریتم حدود ۱۰۰ نمونه را به اشتباه کلاس بندی کند.

زیر مجموعه دوم از مجموعه داده ها، مجموعه ی جعبه ی سیاه نام دارد و باقی ۴۵۰۰ نمونه را در این مجموعه قرار میدهیم. می توانید از مجموعه ی جعبه سیاه برای ارزیابی کلاسبند با استفاده از اندازه گیری میزان خطا استفاده کنیم. همچنین میتوانید از این مجموعه برای انتخاب الگوریتم ها یا وفق دادن پارامتر ها استفاده کنید. با این وجود باید از بررسی چشمی این مجموعه خودداری کنید. از اصطلاح جعبه سیاه به این دلیل استفاده می شود که از این زیرمجموعه برای ارزیابی کلاسبند داده های جعبه سیاه انجام می شود و چشمی قابل تغییر نیست".

ترجمه فارسی این کتاب بزودی منتشر می‌شود، برای دریافت نسخه رایگان و بهره‌مندی از تخفیف ویژه به mlyearning.ir سر بزنید!

همیشه در حال یادگیری باشید ..