یادگیری عمیق (Deep Learning) چیست و چطور کار می کند؟

بفرست برای دوستت
Telegram
WhatsApp
یادگیری عمیق چیست

فهرست مطالب

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

  • اپ های دستیار دیجیتال
  • تشخیص تقلب
  • تشخیص اتوماتیک چهره

یادگیری عمیق (Deep Learning) همچنین جزئی کلیدی در تکنولوژی های نوظهور می باشد، مواردی همچون اتومبیل های خودران، واقعیت مجازی (VR) و غیره.

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

 

یادگیری عمیق (deep learning) چیست؟

یادگیری عمیق چیست

دیپ لِرنینگ یا یادگیری عمیق، یک روش در هوش مصنوعی (AI) است که به کامپیوترها یاد می دهد که داده ها را به شکلی پردازش کنند که الهام گرفته از مغز انسان باشد.

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

 

یادگیری عمیق در چه مواردی کاربرد دارد؟

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

✔️ اتومبیل های خودران (خودگردان یا بدون راننده) از مدل های یادگیری عمیق، برای تشخیص خودکار علائم جاده و عابران پیاده استفاده می کنند.

✔️ سیستم های دفاعی از یادگیری عمیق برای علامتگذاری نواحی مشکوک و مهم در تصاویر ماهواره ای استفاده می کنند.

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

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

می توانیم این کاربردهای مختلف یادگیری عمیق را در چهار دسته بندی کلی خلاصه کنیم:

  1. بینایی کامپیوتر،
  2. بازشناسی گفتار،
  3. پردازش زبانهای طبیعی (NLP) و
  4. موتورهای توصیه گر.

 

1- بینایی کامپیوتر (computer vision)

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

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

 

2- بازشناسی گفتار (speech recognition)

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

  • کمک به کارمندان مرکز تماس ها و وصل کردن تماس ها به شکل خودکار.
  • تبدیل گفتگوهای واقعی و بالینی به سند مکتوب، به شکل بی درنگ (real time).
  • ساخت زیرنویس دقیق برای ویدیوها و میتینگ های ضبط شده، تا محتوای شما مورد استفاده مخاطبان بیشتری قرار گیرد.
  مهمترین کاربردهای داده‌ کاوی (Data Mining)

 

3- پردازش زبانهای طبیعی (NLP)

کامپیوترها از الگوریتم های یادگیری عمیق برای کسب اطلاعات و درک معنی داده های متنی و اسناد استفاده می کنند. تواناییِ پردازش متون طبیعی که توسط انسان ها نوشته شده، کاربردهای زیادی دارد، همچون:

  • دستیارهای مجازی اتوماتیک و چت بات ها (chatbot)
  • خلاصه نویسی خودکار اسناد و اخبار
  • تحلیل هوشمند بیزینسیِ اسناد طویل و دراز، همچون ایمیل ها و فرم ها
  • فهرست کردن عبارات کلیدی که رویکرد یا نگاه افراد را نشان می دهد، همچون نظرات و کامنتهای مثبت و منفی در شبکه های اجتماعی

 

4- موتورهای توصیه گر (recommendation engines)

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

به طور مثال، بسیاری از شرکت های بزرگ رسانه و سرگرمی، همچون نتفلیکس، فاکس و پیکاک، از یادگیری عمیق برای ارائه ویدیوهای پیشنهادی شخصی سازی شده استفاده می کنند.

 

یادگیری عمیق چطور کار می کند؟

نحوه کار یادگیری عمیق

حالا پس از اینکه فهمیدیم یادگیری عمیق چیست می خواهیم به سراغ این سوال برویم که یادگیری عمیق چطور کار می کند؟

الگوریتم های یادگیری عمیق، شبکه های عصبی هستند که بر اساس مغز انسان مدلسازی شده اند. به طور مثال، مغز انسان متشکل از میلیونها نورون به هم پیوسته است که برای یادگیری و پردازش اطلاعات، با یکدیگر کار می کنند. مشابه همین، شبکه های عصبی یادگیری عمیق، یا شبکه های عصبی مصنوعی، متشکل از لایه های بسیاری از نورون های مصنوعی هستند که داخل کامپیوتر، با یکدیگر کار می کنند.

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

 

اجزای یک شبکه یادگیری عمیق شامل چه مواردی می شود؟

اجزای یک شبکه یادگیری عمیق عبارتند از:

✅ لایه ورودی (Input Layer)

یک شبکه عصبی مصنوعی، چندین گره دارد که داده ها را وارد شبکه می کنند. این گره ها، لایه ورودی سیستم را تشکیل می دهند.

 

✅ لایه پنهان (Hidden Layer)

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

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

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

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

 

✅ لایه خروجی (Output Layer)

لایه خروجی متشکل از گره هایی است که داده را خروجی می کنند. مدل های یادگیری عمیق که جواب «بله» یا «خیر» را خروجی می دهند، تنها دو گره در لایه خروجی خود دارند. از طرف دیگر، مدل هایی که بازه گسترده تری از پاسخ ها را ارائه می کنند، گره های بیشتری دارند.

 

در زمینه یادگیری ماشین (ML)، یادگیری عمیق چه معنایی دارد؟

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

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

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

به این فرآیند، یادگیری با نظارت (supervised learning) گفته می شود. در روش یادگیری با نظارت، دقت نتایج به دست آمده تنها زمانی بهبود پیدا می کند که شما دیتاست یا مجموعه داده ای وسیع و به حد کافی متنوع در اختیار داشته باشید.

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

 

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

یادگیری عمیق چیست

شبکه یادگیری عمیق، چندین مزیت نسبت به روش های مرسوم یادگیری ماشین دارد:

✅ پردازش بهینه داده های بدون ساختار

برای روش های یادگیری ماشین، پردازش داده های بدون ساختار (همچون اسناد متنی) چالش برانگیز و سخت است، چون مجموعه داده آموزشی، ممکن است بی نهایت متنوع باشد.

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

  • ممکن است به من بگویید که از چه روشی پرداخت کنم؟
  • چطور پول را به حساب شما واریز کنم؟
  تفاوت برنامه نویسی و کدنویسی چیست و چطور به هم کمک می کنند؟

 

روابط پنهان و کشف کردن الگو

یک اپلیکیشن یادگیری عمیق، می تواند مجموعه بزرگی از داده ها را به شکل عمیق تری تحلیل کند و به درک و بینشی جدید دست پیدا کند، که برای آن شاید حتی آموزش ندیده باشد.

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

 

✅ یادگیری بدون نظارت

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

بیایید فرض کنیم که این مدل با زبان انگلیسی، آموزش دیده است و می تواند کلمات زبان انگلیسی را از نظر املایی بررسی کند. از طرفی اگر شما به شکل منظم کلمات غیرانگلیسی تایپ کنید، مثلا danke (به معنی «متشکرم» در زبان آلمانی)، این شبکه عصبی به شکل اتوماتیک این کلمات را نیز یاد می گیرد و می تواند آنها را نیز به شکل خودکار تصحیح کند.

 

✅ پردازش داده فرار (Volatile Data Processing)

مجموعه داده های فرار (volatile)، تنوع بسیار زیادی دارند. یک مثال بزنیم: مقادیر قسط پرداختی به بانک. یک شبکه عصبی یادگیری عمیق می تواند این داده را هم دسته بندی و مرتب کند، مثلا با تحلیل تراکنش های مالی و علامتگذاری برخی از آنها به منظور تشخیص تقلب.

 

برخی از چالش های مرتبط با یادگیری عمیق چیست؟

از آنجایی که یادگیری عمیق یک تکنولوژی نسبتا تازه است، پیاده سازی عملی آن با چالش هایی همراه است:

 

✅ مقادیر بزرگی از داده های با کیفیت

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

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

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

 

✅ قدرت پردازشی بالا

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

 

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

Rating 5.00 from 4 votes

آموزش پیشنهادی و مکمل

این مطالب را هم مشاهده کنید

اشتراک در
اطلاع از
guest
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید

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

برای دیدن نوشته هایی که دنبال آن هستید تایپ کنید.
×