یادگیری عمیق (Deep Learning) چیست؟
💡 این متن «بازنویسی آزاد» است: ایدهها و مفاهیم مطلب اصلی با نگارش کاملاً مستقل فارسی و مثالهای تازه بازگو شدهاند و ترجمهٔ کلمهبهکلمه نیست. بخشهای افزودهٔ مترجم در جعبهٔ منبع مشخص شدهاند.
طراح لازم نیست شبکهٔ عصبی بسازد. اما لازم است بداند چه چیزی را دارد طراحی میکند — و یادگیری عمیق دقیقاً همان چیزی است که رفتار محصول را غیرقابلپیشبینی میکند.
تعریف
یادگیری عمیق نوعی از یادگیری ماشین است که با لایههایی از شبکهٔ عصبی مصنوعی رفتار مغز انسان را تقلید میکند.
سیستم، دادهٔ بیساختار را از چند لایه نورون مصنوعیِ بههمپیوسته میگذراند. عمدتاً تصویر و متن. هر لایه تشخیص الگو را کمی دقیقتر میکند، و این دقت با تنظیم وزنها و با زیادشدن دادهٔ آموزش بالا میرود.
واژهٔ «عمیق» در نامش به همین لایهها اشاره دارد، نه به عمق فهم.
سه واژه که یکی نیستند
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق سه دایرهٔ تودرتو هستند. هوش مصنوعی بزرگترین است. یادگیری عمیق زیرمجموعهای تخصصی از یادگیری ماشین است که معماری شبکهٔ عصبی دارد.
و تفاوتهای عملیاش با یادگیری ماشین ششتاست:
- - حجم داده. یادگیری عمیق دادهٔ بزرگ میخواهد؛ یادگیری ماشین با دادهٔ کوچکتر هم کار میکند.
- - جنس داده. یادگیری عمیق با دادهٔ بیساختار کار میکند — تصویر، متن، صدا. یادگیری ماشین با دادهٔ ساختاریافته و برچسبخورده.
- - دخالت انسان. یادگیری عمیق از بازخورد مستقلتر یاد میگیرد؛ یادگیری ماشین اصلاح انسانی بیشتری میخواهد.
- - توان محاسباتی. یادگیری عمیق به GPU نیاز دارد؛ یادگیری ماشین با پردازندهٔ معمولی هم راه میافتد.
- - جنس الگو. یادگیری عمیق رابطههای پیچیده و غیرخطی پیدا میکند؛ یادگیری ماشین رابطههای سادهتر.
- - استخراج ویژگی. در یادگیری عمیق خودکار است؛ در یادگیری ماشین پیشپردازش و پسپردازش دستی لازم است.
چهار معماری که نامشان را میشنوید
- - شبکهٔ عصبی بازگشتی (RNN): خروجی یک گذر را ورودی گذر بعدی میکند. برای پردازش زبان مهم است، چون معنای جمله به ترتیب کلمهها بستگی دارد.
- - شبکهٔ عصبی پیچشی (CNN): سامانهای برای تشخیص ویژگی، که آزادانه از پردازش بینایی مغز انسان الگو گرفته.
- - پسانتشار (Backpropagation): تنظیم وزنهای شبکه بر پایهٔ نرخ خطای گذر قبلی. این همان سازوکار «یادگرفتن» است.
- - معماری ترنسفورمر: همان چیزی که ChatGPT از آن استفاده میکند و در کارهای پردازش زبان موفق بوده.
تاریخ کوتاه
- - دههٔ ۱۹۴۰. مککالک و پیتس نورون مصنوعی را پیشنهاد دادند.
- - اواخر قرن بیستم. جهش در شبکههای بازگشتی و پیچشی و پسانتشار.
- - اوایل قرن بیستویکم. پیشرفت در پردازش گفتار و زبان و تصویر، همزمان با دردسترسشدن دادهٔ بزرگ.
- - ۲۰۲۴. ChatGPT گفتوگو در سطح انسان را نشان داد. و در فوریهٔ همان سال پژوهشگران نشان دادند بعضی چتباتها از آزمون تورینگ عبور میکنند و از انسان قابل تشخیص نیستند.
یک عامل فنی هم در این ماجرا نقش تعیینکننده داشت و کمتر گفته میشود: پردازندهٔ گرافیکی. کارتهایی که برای بازی ساخته شده بودند — و امروز نسخههای تخصصی شبکهٔ عصبی دارند — زمان آموزش روی دادهٔ بزرگ را بهشکل چشمگیری کم کردند.
کجا در محصول ظاهر میشود
- - چتبات. زبان طبیعی را میفهمد و پاسخ معنادار تولید میکند. از تعاملها یاد میگیرد و وقتی به خطایش آگاه شود، بهتر میشود.
- - دستیار صوتی. الکسا و دستیار گوگل و سیری برای فهم گفتار و تولید پاسخ و یادگیری از بازخورد از آن استفاده میکنند.
- - تشخیص تصویر. Google Lens برای پردازش تصویر و تشخیص شیء.
- - خودران. در دو نقش: بینایی ماشین برای خواندن تابلو و تشخیص عابر، و یادگیری سرتاسری برای پردازش دادهٔ خام حسگر بی هیچ ویژگی ازپیشبرنامهریزیشده.
- - و بقیه. تشخیص گفتار، تحلیل احساس، سامانهٔ توصیه، تشخیص تقلب، و تشخیص پزشکی.
سه چیزی که طراح باید بداند
این بخش افزودهٔ من است. متنهای این حوزه معماری را توضیح میدهند و نمیگویند کدام ویژگیشان به کار طراح مربوط است. بهنظرم سهتا مربوط است.
یک: تفسیرپذیری، مسئلهٔ شما است نه مسئلهٔ تیم داده. در یادگیری عمیق همیشه روشن نیست پیشبینی از کجا آمده. این یک محدودیت شناختهشدهٔ فنی است.
اما پیامدش در رابط ظاهر میشود. کاربری که نمیداند چرا درخواستش رد شد، توضیح میخواهد — و شما توضیحی ندارید که بدهید. پس هر جا مدل تصمیم میگیرد، از قبل تصمیم بگیرید چه چیزی به کاربر میگویید. «الگوریتم» جواب نیست.
دو: خودکاربودن استخراج ویژگی یعنی سوگیری هم خودکار است. در یادگیری ماشین کسی ویژگیها را دستی انتخاب میکند، پس میشود پرسید چرا این ویژگی. در یادگیری عمیق مدل خودش پیدایشان میکند.
نتیجهاش این است که سوگیری در دادهٔ آموزش بیسروصدا به رفتار محصول منتقل میشود. و سوگیری در این حوزه سه سطح دارد: انسانی-شناختی، سامانهای، و آماری-محاسباتی.
سه: «دادهٔ بزرگ لازم است» یک محدودیت طراحی است، نه یک جزئیات فنی. اگر محصول شما دادهٔ کافی ندارد، مدل ضعیف میماند — و رابطی که پاسخ مطمئن نشان میدهد، دروغ میگوید.
پس همانطور که در هوش مصنوعی نوشتم، پرسش کارآمد این است: این سیستم چه چیزی را حدس میزند، و چقدر بد حدس میزند؟
چطور یاد میگیرد
سازوکار یادگیریاش سادهتر از آن است که بهنظر میرسد، و دانستنش کمک میکند بفهمید چرا محصول اینطور رفتار میکند.
یک چرخه است که میلیونها بار تکرار میشود. ورودی از لایهها میگذرد و شبکه یک حدس تولید میکند. حدس با جواب درست مقایسه میشود و مقدار خطا حساب میشود. بعد پسانتشار همان خطا را از آخر به اول برمیگرداند و وزن هر اتصال را کمی تنظیم میکند.
هر لایه در این میان کار خودش را میکند. لایههای اول ویژگیهای ساده را میگیرند — لبه، تغییر رنگ، صدای بلند. لایههای بعدی از آن ویژگیهای ساده، ویژگیهای مرکب میسازند. و لایههای آخر همان ویژگیهای مرکب را به یک تصمیم تبدیل میکنند.
سه پیامد از این چرخه بیرون میآید که به طراح مربوط است.
اول، مدل هیچوقت «میداند» نمیشود. هر خروجی یک حدس با احتمال است. رابطی که خروجی را قطعی نشان میدهد، چیزی را پنهان میکند که خودِ سیستم پنهان نکرده.
دوم، مدل چیزی را یاد میگیرد که در داده بوده. نه چیزی که شما قصد کردهاید. اگر دادهٔ آموزش الگوی ناخواستهای داشته باشد، مدل همان را میآموزد و در محصول تحویل میدهد.
سوم، بهبود پلهای است نه پیوسته. مدل ماهها ثابت میماند و بعد با دادهٔ تازه یکباره جهش میکند. این با انتظار «هر هفته کمی بهتر» جور نیست، و بهتر است از قبل به ذینفعان گفته شود.
کجا ابزار غلطی است
این بخش افزودهٔ من است، چون فهرست کاربردها همهجا هست و فهرست ناکاربردها تقریباً هیچجا.
- - وقتی قاعده روشن و نوشتنی است. اگر میشود شرط را در بیست خط کد نوشت، مدل هیچ چیزی اضافه نمیکند و یک لایهٔ ابهام اضافه میکند.
- - وقتی خطا گران است و برگشتش سخت. جایی که تصمیم غلط پول یا اعتبار یا سلامت میبرد، نرخ خطای مدل باید پیش از رابط بحث شود، نه بعدش.
- - وقتی باید توضیح بدهید. در بافتهایی که الزام قانونی یا انتظار کاربر توضیح میخواهد، مدلی که تفسیرپذیر نیست بدهی است.
- - وقتی داده ندارید. این بدیهی بهنظر میرسد و پرتکرارترین اشتباه است. مدل ضعیف با رابط مطمئن، از نبودِ مدل بدتر است.
- - وقتی مسئله در واقع مسئلهٔ محتوا یا فرایند است. بخش بزرگی از چیزهایی که «هوش مصنوعی میخواهند» با یک برچسب بهتر یا یک گام کمتر حل میشوند.
و یک آزمون یکجملهای که وقت زیادی نجات میدهد: اگر نمیتوانید بگویید مدل چه چیزی را حدس میزند، هنوز مسئله را تعریف نکردهاید.
چند واژه که در جلسهها میشنوید
- - اندازهٔ دسته (batch size): یک ابرپارامتر که تعیین میکند در هر تکرار آموزش، چند نمونه استفاده شود. روی دقت و سرعت و مصرف حافظه و توان تعمیم اثر میگذارد.
- - یادگیری انتقالی (transfer learning): مدلی که برای یک کار آموزش دیده، نقطهٔ شروع آموزش برای کاری متفاوت اما مرتبط میشود. وزنهای ویژگیهای آموختهشده به مدل تازه منتقل میشوند.
- - شبکهٔ عصبی در برابر یادگیری عمیق. یادگیری عمیق با دادهٔ پیچیدهتر و بیساختار کار میکند و استخراج ویژگی را خودکار میکند. شبکهٔ عصبی سرراستتر و محدودتر است.
و یادگیری انتقالی مهمترین این سه برای تیم کوچک است. یعنی لازم نیست از صفر آموزش بدهید؛ میشود از مدلی که جای دیگری آموزش دیده شروع کرد.
در بافت فارسی
یک: هر سه محدودیت این فناوری در فارسی تشدید میشوند. دادهٔ آموزش فارسی کمتر است، برچسبخوردهاش کمتر از آن، و کیفیتش نایکدست.
نتیجهاش عملی است: عدد دقتی که برای انگلیسی منتشر شده، برای فارسی معتبر نیست. یا باید در فارسی جداگانه بسنجید، یا همان پاسخ را با قطعیت کمتری نشان دهید.
دو: نرمالسازی متن، پیش از مدل اتفاق میافتد و مسئلهٔ طراحی است. «ی» و «ک» عربی و فارسی، نیمفاصله، ارقام فارسی و لاتین و عربی، و «ۀ» و «هٔ» — هر کدام یک رشتهٔ متفاوتاند برای ماشین و یک چیز برای کاربر.
تیمی که این را حل نکند، مسئله را به شکل «کیفیت بد مدل» میبیند و سراغ اصلاح پرامپت میرود. و هرگز به آن نمیرسد.
سه: یادگیری انتقالی اینجا نه یک انتخاب، بلکه تنها راه است. تیم ایرانی معمولاً نه دادهٔ کافی دارد و نه دسترسی به توان محاسباتی لازم برای آموزش از صفر.
پس مسیر عملی همیشه یکی است: مدل آماده را بردارید و با دادهٔ کوچکِ خودتان تنظیمش کنید. و این یعنی کیفیت دادهٔ کوچک شما مهمتر از حجمش است.
چهار: تفسیرپذیری در بافت ما بار حقوقی و اعتمادی سنگینتری دارد. کاربری که نگران بازگشت پولش است، «الگوریتم تصمیم گرفت» را نمیپذیرد. و همانطور که در برندسازی نوشتم، اعتماد در بازار ما با مشخصبودن ساخته میشود.
پس یک قاعده: هر تصمیم خودکار باید یک مسیر انسانی موازی داشته باشد. نه بهعنوان لطف، بهعنوان شرط قابل استفادهبودن.
جمعبندی
- - یادگیری عمیق نوعی یادگیری ماشین است که با لایههای شبکهٔ عصبی کار میکند · «عمیق» به لایهها اشاره دارد، نه به عمق فهم · و با دادهٔ بیساختار کار میکند
- - شش تفاوتش با یادگیری ماشین: حجم داده · جنس داده · دخالت انسان · توان محاسباتی · جنس الگو · و خودکاربودن استخراج ویژگی
- - چهار معماری: شبکهٔ بازگشتی برای ترتیب · شبکهٔ پیچشی برای ویژگی بینایی · پسانتشار بهعنوان سازوکار یادگیری · و ترنسفورمر که ChatGPT از آن استفاده میکند
- - تاریخش از نورون مصنوعی مککالک و پیتس در دههٔ ۱۹۴۰ شروع میشود · و عامل جهش اخیرش پردازندهٔ گرافیکی بود
- - سه چیزی که به کار طراح میآید: تفسیرپذیری مسئلهٔ رابط است نه تیم داده · خودکاربودن استخراج ویژگی یعنی سوگیری هم خودکار است · و «دادهٔ بزرگ لازم است» یک محدودیت طراحی است
- - و در فارسی: هر سه محدودیت تشدید میشوند · عدد دقت انگلیسی منتقل نمیشود · نرمالسازی متن پیش از مدل مسئلهٔ طراحی است · یادگیری انتقالی تنها راه است · و هر تصمیم خودکار باید مسیر انسانی موازی داشته باشد
مقالات مرتبط
منبع
این نوشته «بازنویسی آزاد» است از مطلب What is Deep Learning? در وبسایت بنیاد طراحی تعامل (Interaction Design Foundation — IxDF؛ بدون نام نویسندهٔ مشخص). مفاهیم پایه — تعریف یادگیری عمیق بهعنوان نوعی یادگیری ماشین با لایههای شبکهٔ عصبی مصنوعی که رفتار مغز انسان را تقلید میکند و گذراندن دادهٔ بیساختار از لایهها با تنظیم وزنها، هر شش تفاوت با یادگیری ماشین (حجم داده، جنس دادهٔ ساختاریافته در برابر بیساختار، میزان دخالت انسان، نیاز به GPU در برابر پردازندهٔ معمولی، پیچیدگی و غیرخطیبودن الگو، و خودکار در برابر دستیبودن استخراج ویژگی)، نسبت یادگیری عمیق با هوش مصنوعی بهعنوان زیرمجموعهای تخصصی، هر چهار معماری (شبکهٔ عصبی بازگشتی و اهمیتش برای ترتیب کلمهها، شبکهٔ عصبی پیچشی و الگوگیریاش از پردازش بینایی مغز، پسانتشار بهعنوان تنظیم وزن بر پایهٔ نرخ خطای گذر قبلی، و معماری ترنسفورمر در ChatGPT)، خط زمانی تاریخی شامل پیشنهاد نورون مصنوعی از سوی مککالک و پیتس در دههٔ ۱۹۴۰ و جهشهای اواخر قرن بیستم و پیشرفتهای اوایل قرن بیستویکم و نمایش گفتوگوی سطح انسان از سوی ChatGPT در ۲۰۲۴ و عبور بعضی چتباتها از آزمون تورینگ در فوریهٔ ۲۰۲۴، نقش تعیینکنندهٔ پردازندهٔ گرافیکی در کاهش زمان آموزش، همهٔ کاربردهای نامبردهشده (چتبات، دستیار صوتی الکسا و دستیار گوگل و سیری، Google Lens برای تشخیص شیء، خودران در دو نقش بینایی ماشین و یادگیری سرتاسری، و تشخیص گفتار و تحلیل احساس و سامانهٔ توصیه و تشخیص تقلب و تشخیص پزشکی)، محدودیت تفسیرپذیری و نیاز به دادهٔ برچسبخوردهٔ فراوان، سه سطح سوگیری هوش مصنوعی، و تعریف اندازهٔ دسته و یادگیری انتقالی و تفاوت یادگیری عمیق با شبکهٔ عصبی سادهٔتر — از این منبع گرفته شده. متن فارسی، ساختار بخشها و همهٔ تحلیلها کاملاً مستقل نوشته شدهاند.
متن مطلب اصلی تحت هیچ لایسنس بازی منتشر نشده است؛ به همین دلیل اینجا ترجمهٔ کلمهبهکلمه ارائه نشده و متن کامل انگلیسی (بههمراه همهٔ منابع مرتبط) در لینک زیر در دسترس است.
بخشهای افزودهٔ مترجم: صورتبندی آغازین دربارهٔ اینکه طراح لازم نیست شبکه بسازد ولی باید بداند چه چیزی رفتار محصول را غیرقابلپیشبینی میکند؛ توضیح اینکه «عمیق» به لایهها اشاره دارد نه به عمق فهم؛ کل بخش «سه چیزی که طراح باید بداند» شامل تفسیرپذیری بهعنوان مسئلهٔ رابط و قاعدهٔ «از قبل تصمیم بگیرید چه چیزی به کاربر میگویید»، پیوند خودکاربودن استخراج ویژگی با خودکاربودن انتقال سوگیری، و صورتبندی «دادهٔ بزرگ لازم است» بهعنوان محدودیت طراحی نه جزئیات فنی؛ تأکید بر یادگیری انتقالی بهعنوان مهمترین واژه برای تیم کوچک؛ و کل بخش بافت فارسی شامل تشدید هر سه محدودیت در فارسی و بیاعتباری عدد دقت انگلیسی، نرمالسازی متن (ی و ک، نیمفاصله، سه نظام ارقام، ۀ و هٔ) بهعنوان مسئلهٔ طراحی پیش از مدل، ناگزیربودن یادگیری انتقالی و نتیجهٔ «کیفیت دادهٔ کوچک مهمتر از حجمش»، و بار حقوقی و اعتمادی سنگینتر تفسیرپذیری با قاعدهٔ «هر تصمیم خودکار باید مسیر انسانی موازی داشته باشد»
تصاویر: هیچ تصویری از مطلب اصلی بازتولید نشده است. هر سه نمودار این صفحه طراحی مستقل مترجم است.
مشاهدهٔ مطلب اصلی
یادگیری عمیق