به سوی طراحی انسان‌محور برای چارچوب‌های یادگیری ماشین


منتشرشده در: وبلاگ هوش‌مصنوعی گوگل به تاریخ ۳ مارس ۲۰۲۰
نویسنده: Carrie J. Cai
لینک مقاله اصلی: https://ai.googleblog.com/2020/02/ultra-high-resolution-image-analysis.html

از آنجا که یادگیری ماشین (ML)به طور فزاینده‌ای بر سهام‌داران مختلف و گروه‌های اجتماعی تاثیر می‌گذارد، لازم است که توسعه دهندگان طیف وسیع تری - حتی کسانی که آموزش رسمی یادگیری ماشین ندارند - بتوانند یادگیری ماشین را سازگار کرده و برای مشکلات خود اعمال کنند. در سال‌های اخیر، تلاش‌های زیادی برای کاهش موانع یادگیری ماشین، با خلاصه کردن رفتار مدل پیچیده به API های سطح بالاتر انجام شده‌است. به عنوان مثال، گوگل در حال توسعه یک چارچوب منبع باز است که به توسعه‌دهندگان اجازه می‌دهد تا کد یادگیری ماشین را در جاوا اسکریپت بنویسند تا مستقیما در مرورگرهای وب اجرا شود. علی‌رغم فراوانی کارهای مهندسی در جهت بهبود API ها، اطلاعات کمی در مورد آنچه که توسعه دهندگان نرم‌افزار غیر متخصص در یادگیری ماشین واقعا نیاز دارند تا به طور موفقیت آمیزی یادگیری ماشین را در فعالیت‌های کاری روزانه خود بکار گیرند، وجود دارد. به طور خاص، آن‌ها هنگام تلاش برای چارچوب‌های مدرن یادگیری ماشین با چه چیزی درگیر می‌شوند و می‌خواهند این چارچوب‌ها چه چیزی ارائه دهند؟

در مقاله «توسعه دهندگان نرم‌افزار یادگیری ماشینی: انگیزه، سختی‌ها، و آرزوها»، که جایزه بهترین مقاله را در کنفرانس IEEE در زمینه زبان‌های بصری و محاسبات انسان محور (VL/HCC) را دریافت کرد، ما تحقیق خود را در مورد این سوالات به اشتراک گذاشته و نتایج حاصل از یک نظرسنجی در مقیاس بزرگ از ۶۴۵ نفر که از تنسورفلو جی‌اس استفاده می‌کردند را منتشر کردیم. اکثریت قریب به اتفاق پاسخ دهندگان توسعه‌دهندگان نرم‌افزار یا وب بودند که برای یادگیری ماشین نسبتا مبتدی بودند و معمولا از یادگیری ماشین به عنوان بخشی از کار اولیه خود استفاده نمی‌کردند. ما موانع تجربه‌شده توسط توسعه‌دهندگان را هنگام استفاده از چارچوب‌های یادگیری ماشین بررسی کردیم و ویژگی‌ها و ابزارهایی را که آن‌ها احساس می‌کردند به بهترین نحو در اتخاذ این چارچوب‌ها در جریان کار برنامه‌نویسی شان کمک خواهند کرد را بررسی کردیم.

توسعه‌دهندگان در استفاده از چارچوب‌های یادگیری ماشین بیشتر با چه چیزی کلنجار می‌روند؟

جالب توجه است که رایج‌ترین چالش گزارش‌شده توسط توسعه دهندگان فقدان API واضح نبود بلکه فقدان درک مفهومی آن‌ها از یادگیری ماشین بود که مانع از توانایی آن‌ها برای استفاده موفقیت‌آمیز از چارچوب‌های یادگیری ماشین می‌شد. این موانع از مراحل اولیه انتخاب یک مشکل خوب تا ایجاد معماری شبکه عصبی (به عنوان مثال، «چه تعداد واحد باید در زمان اضافه کردن لایه‌ها به مدل قرار دهم؟» بدون درک مفهومی از این که چگونه پارامترهای مختلف بر نتایج تاثیر می‌گذارند، توسعه دهندگان اغلب احساس می‌کنند که در فضای ظاهرا نامحدود پارامترها در زمان اشکال‌زدایی مدل‌های یادگیری ماشین، تحت‌تاثیر قرار می‌گیرند.

بدون پشتیبانی مفهومی کافی، توسعه دهندگان همچنین انتقال درس‌های آموخته‌شده از آموزش‌های API «سلام جهان» به مشکلات دنیای واقعی خود را دشوار یافتند. در حالی که آموزش‌های API نحوه کار را برای پیاده‌سازی مدل‌های خاص فراهم می‌کند (به عنوان مثال، طبقه‌بندی ارقام MNIST)، آن‌ها معمولا چارچوب مفهومی زیربنایی لازم برای تعمیم فراتر از آن مشکل خاص را فراهم نمی‌کنند.

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

توسعه‌دهندگان از چارچوب‌های یادگیری ماشین چه می‌خواهند؟

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

مدل‌های از پیش ساخته‌شده با پشتیبانی صریح برای اصلاح

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

ارایه بهترین روش‌های توسعه یادگیری ماشین با راهنمایی‌های در لحظه

توسعه‌دهندگان همچنین آرزو داشتند چارچوب‌ها بهترین شیوه‌های یادگیری ماشین را ارایه دهند، به عنوان مثال، نکات و ترفندهای عملی که می‌توانند در زمان طراحی یا مدل‌های اشکال‌زدایی از آن‌ها استفاده کنند. در حالی که کارشناسان یادگیری ماشین ممکن است در طول سال‌ها آزمون و خطای اختصاصی، شیوه‌های اکتشافی و استراتژی‌های پیش رو را به دست آورند، سربار تصمیم‌گیری صرف «کدام پارامتر را باید اول تنظیم کنم؟» برای کمک به محدود کردن این فضای گسترده احتمالات تصمیم‌گیری، چارچوب‌های ML می‌توانند نکاتی را در مورد بهترین روش‌ها به طور مستقیم در جریان کار برنامه‌نویسی ارایه دهند. در حال حاضر، تجاربی مانند tfjs-vis، کمک به دیدن اینکه چه چیزی در داخل مدل‌های آن‌ها در جریان است را ممکن می‌سازد.

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

پشتیبانی از یادگیری از طریق انجام دادن

در نهایت، اگرچه چارچوب‌های یادگیری ماشین سکوهای یادگیری سنتی نیستند، توسعه دهندگان نرم‌افزار در واقع آن‌ها را به عنوان ابزارهای سبک برای یادگیری با انجام‌کار در نظر می‌گیرند. به عنوان مثال، یک پاسخ‌دهنده نظرسنجی زمانی مورد قدردانی قرار گرفت که پشتیبانی مفهومی به جای اینکه یک منبع جداگانه باشد، به چارچوب پیوسته بود: « … کدهای کوچکی که شما می‌توانید آن‌ها را ویرایش و اجرا کنید.» یک توضیح دیگر این است که «من یادگیری را با انجام دادن ترجیح می‌دهم، بنابراین می‌خواهم آموزش‌های بیشتر و مثال‌هایی را ببینم که در چارچوب‌های یادگیری ماشین جای گرفته‌اند.» برخی انجام یک دوره رسمی آنلاین را دشوار یافتند، و ترجیح می‌دهند قطعات کوچک را از طریق سرهم‌بندی یاد بگیرند: «به خاطر بقیه زندگی، من باید یادگیری را در قطعات کوچک ۵ تا ۱۵ دقیقه‌ای جا دهم.»

با توجه به این تمایلات برای یادگیری با انجام، چارچوب‌های یادگیری ماشین ممکن است نیاز داشته باشند تا به وضوح بین طیفی از منابع با هدف سطوح مختلف تخصص تمایز قایل شوند. اگرچه بسیاری از چارچوب‌ها در حال حاضر آموزش‌ها «سلام جهان» دارند، این چارچوب‌ها برای تنظیم درست انتظارات می‌توانند به وضوح بین API (شرح نحوه استفاده) در حین سوار کردن و یادگیری ماشین (مفاهیم) در حین سوار کردن تمایز قایل شوند.

نگاه کردن به جلو

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


این مقاله با استفاده از مترجم هوشمند مقالات هوش مصنوعی ترجمه شده و با ویرایش حداقلی انسانی منتشر شده‌است .
مقالات لینک شده در این متن می‌توانند به رایگان توسط مقاله‌خوان ترجمیار به فارسی مطالعه شوند.