JavaRush /وبلاگ جاوا /Random-FA /یادگیری عمیق، هوش مصنوعی و یادگیری ماشین برای آدمک ها: با...

یادگیری عمیق، هوش مصنوعی و یادگیری ماشین برای آدمک ها: با یک مثال توضیح داده شده است

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

مبانی

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

هوش مصنوعی در مقابل یادگیری ماشینی

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

یادگیری تحت نظارت در مقابل یادگیری بدون نظارت

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

یادگیری ماشین چگونه کار می کند

بنابراین، یادگیری عمیق یکی از رویکردهای یادگیری ماشینی است. این به شما امکان می دهد نتایج را از داده های ورودی داده شده پیش بینی کنید. برای آموزش هوش مصنوعی، می توانید از هر دو گزینه بالا استفاده کنید: یادگیری تحت نظارت و بدون نظارت. ما با استفاده از یک مثال واضح خواهیم فهمید که یادگیری عمیق چگونه کار می کند: فرض کنید باید سرویسی برای پیش بینی قیمت سفرهای هوایی ایجاد کنیم. ما الگوریتم خود را با استفاده از روش نظارت شده آموزش خواهیم داد. ما می‌خواهیم سرویس ما برای پیش‌بینی قیمت‌های سفر هوایی، قیمت را بر اساس داده‌های ورودی زیر پیش‌بینی کند (برای سهولت ارائه، پرواز برگشت را در نظر نمی‌گیریم):
  • فرودگاه مبدا؛
  • فرودگاه ورود؛
  • تاریخ عزیمت برنامه ریزی شده؛
  • شرکت هواپیمایی
شبکه های عصبی بیایید نگاهی به مغز هوش مصنوعی بیندازیم. همانطور که در مورد موجودات زنده بیولوژیکی، پیش بینی کننده ما نورون هایی در "سر" خود دارد. در تصویر آنها به شکل دایره ارائه شده اند. نورون ها به یکدیگر متصل هستند.
یادگیری عمیق، هوش مصنوعی و یادگیری ماشین برای آدمک ها: با یک مثال توضیح داده شده - 3
در تصویر، نورون ها در سه گروه لایه ترکیب شده اند:
  • لایه ورودی؛
  • لایه پنهان 1 (لایه پنهان 1) و لایه پنهان 2 (لایه پنهان 2)؛
  • لایه خروجی
برخی از داده ها وارد لایه ورودی می شوند. در مورد ما، ما چهار نورون در لایه ورودی داریم: فرودگاه عزیمت، فرودگاه ورود، تاریخ خروج، خط هوایی. لایه ورودی داده ها را به اولین لایه پنهان ارسال می کند. لایه های مخفی محاسبات ریاضی را بر اساس داده های ورودی دریافتی انجام می دهند. یکی از مسائل اصلی در ساخت شبکه های عصبی، انتخاب تعداد لایه های پنهان و تعداد نورون ها در هر لایه است.
کلمه Deep در عبارت Deep Learning نشان دهنده وجود بیش از یک لایه پنهان است.
لایه خروجی اطلاعات به دست آمده را به ما برمی گرداند. در مورد ما، قیمت مورد انتظار پرواز.
یادگیری عمیق، هوش مصنوعی و یادگیری ماشین برای آدمک ها: با یک مثال توضیح داده شده - 4
ما تا به حال جالب ترین چیز را از دست داده ایم: قیمت مورد انتظار دقیقا چگونه محاسبه می شود؟ اینجاست که جادوی یادگیری عمیق آغاز می شود. به هر ارتباط بین نورون ها وزن (ضریب) مشخصی اختصاص داده می شود. این وزن اهمیت مقدار ورودی را تعیین می کند. وزن های اولیه به صورت تصادفی تنظیم می شوند. هنگام پیش بینی هزینه سفر هوایی، تاریخ حرکت بیشترین تأثیر را بر قیمت دارد. بنابراین، اتصالات نورون "تاریخ خروج" وزن بیشتری دارد.
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 5
هر نورون دارای یک تابع فعال سازی است که به آن متصل است. درک این تابع بدون دانش ریاضی دشوار است. بنابراین اجازه دهید کمی ساده سازی کنیم: هدف تابع فعال سازی "استاندارد کردن" خروجی از نورون است. پس از اینکه مجموعه داده از تمام لایه های شبکه عصبی عبور کرد، نتیجه را از طریق لایه خروجی برمی گرداند. تا اینجا همه چیز روشن است، درست است؟

آموزش شبکه های عصبی

آموزش شبکه عصبی سخت ترین بخش یادگیری عمیق است! چرا؟ زیرا به حجم زیادی داده نیاز دارید. زیرا به قدرت محاسباتی بیشتری نیاز دارید. برای پروژه خود، باید داده های تاریخی بلیط هواپیما را پیدا کنیم. علاوه بر این، برای همه ترکیب‌های ممکن از فرودگاه‌های مبدأ و مقصد، تاریخ‌های حرکت و خطوط هوایی مختلف. ما به مقدار بسیار زیادی داده با قیمت بلیط نیاز داریم. ما باید داده های ورودی را از مجموعه خود به ورودی های شبکه عصبی خود وارد کنیم و بررسی کنیم که آیا آنها با نتایجی که قبلاً داریم مطابقت دارند یا خیر. اگر نتایج به دست آمده توسط هوش مصنوعی با نتایج مورد انتظار متفاوت باشد، به این معنی است که هنوز به اندازه کافی آموزش ندیده است. هنگامی که کل حجم داده را از طریق شبکه عصبی خود اجرا کردیم، می‌توانیم تابعی بسازیم که نشان دهد نتایج AI با نتایج واقعی مجموعه داده‌های ما چقدر متفاوت است. چنین تابعی تابع هزینه نامیده می شود . در حالت ایده آل، که ما با تمام توان برای آن تلاش می کنیم، مقادیر تابع هزینه ما برابر با صفر است. این بدان معنی است که نتایج هزینه انتخاب شده توسط شبکه عصبی با هزینه واقعی بلیط در مجموعه داده ما تفاوتی ندارد.

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

وزن اتصالات بین نورون ها را تغییر می دهیم. این می تواند به صورت تصادفی انجام شود، اما این روش کارآمد نیست. در عوض، از روشی به نام Gradient Descent استفاده خواهیم کرد .
گرادیان نزول روشی است که به ما امکان می دهد حداقل یک تابع را پیدا کنیم. در مورد ما، ما به دنبال حداقل تابع هزینه هستیم.
این الگوریتم با افزایش تدریجی وزن ها پس از هر تکرار جدید پردازش مجموعه داده ما کار می کند. با محاسبه مشتق (یا گرادیان) تابع هزینه برای مجموعه های خاصی از وزن ها، می توانیم ببینیم که حداقل در کدام جهت قرار دارد.
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 6
در تصویر: وزن اولیه - وزن اولیه، حداقل هزینه جهانی - حداقل جهانی تابع هزینه. برای به حداقل رساندن تابع هزینه، باید چندین بار محاسبات را روی مجموعه داده های خود انجام دهیم. به همین دلیل است که شما به قدرت محاسباتی زیادی نیاز دارید. وزن ها به طور خودکار با استفاده از روش نزول گرادیان به روز می شوند. این جادوی یادگیری عمیق است! هنگامی که سرویس پیش‌بینی قیمت پرواز با هوش مصنوعی خود را آموزش دادیم، می‌توانیم با خیال راحت از آن برای پیش‌بینی قیمت‌ها در واقعیت استفاده کنیم.

بیایید آن را خلاصه کنیم ...

  • یادگیری عمیق از شبکه های عصبی برای شبیه سازی هوش استفاده می کند.
  • سه نوع نورون در شبکه عصبی وجود دارد: لایه ورودی، لایه های پنهان، لایه خروجی.
  • هر ارتباط بین نورون ها وزن خاص خود را دارد که نشان دهنده اهمیت آن ورودی است.
  • نورون ها از یک تابع فعال سازی برای استاندارد کردن خروجی نورون استفاده می کنند.
  • برای آموزش شبکه عصبی به حجم زیادی داده نیاز دارید.
  • اگر یک آرایه داده را با استفاده از یک شبکه عصبی پردازش کنیم و داده های خروجی را با داده های واقعی مقایسه کنیم، یک تابع هزینه دریافت می کنیم که نشان می دهد چقدر هوش مصنوعی اشتباه است.
  • پس از هر پردازش داده، وزن بین نورون ها با استفاده از روش نزول گرادیان تنظیم می شود تا به کاهش تابع هزینه دست یابد.
لینک به اصل
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION