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

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

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

 

یادگیری عمیق یک نوع شبکه عصبی بوده که فراداده (Metadata) را به عنوان یک ورودی جذب می‌کند و داده‌ها ورودی را از طریق برخی لایه‌های تبدیل غیرخطی پردازش و محاسبه کرده و به عنوان داده‌های خروجی برمی‌گرداند. این الگوریتم دارای یک ویژگی منحصربفرد بوده که آن ویژگی استخراج خودکار محسوب می‌شود. این بدین معنی است که الگوریتم ویژگی‌های موردنیاز و مرتبط را جهت حل مشکل درک می‌کند. این موجب کاهش وظیفه برنامه نویسان شده تا به انتخاب صریح ویژگی‌ها بپردازند. این الگوریتم حتی برای حل چالش ها تحت نظارت، بدون نظارت به کار گرفته می شود. در یادگیری عمیق هر لایه پنهان مسئول آموزش مجموعه‌ای از ویژگی‌های منحصربفرد بوده که براساس خروجی لایه پیشین عمل می کند. با افزوده شدن بر تعداد لایه های پنهان، پیچیدگی داده‌ها بیشتر شده و مشکلات را افزایش می‌دهد. همچنین این نوع یادگیری سلسله مراتبی، ویژگی‌های سطح پایین را به ویژگی‌های سطح بالا تبدیل می‌کند. با چنین کاری الگوریتم یادگیری عمیق مورد استفاده قرار گرفته و به حل مشکلات پیچیده که لایه های غیرخطی متعددی را دربرمی گیرد، می پردازد. در یادگیری عمیق، هر سطح یاد میگیرد که داده های ورودی خود را به یک نمایش اندکی مجردتر و ترکیبی تر تبدیل کند. در یک کاربرد شناسایی تصویر، ورودی خام میتواند ماتریسی از پیکسل ها باشد؛ اولین لایه نمایشی ممکن است پیکسل ها را مجرد کند و لبه ها را کدگذاری کند؛ لایه دوم ممکن است چینش لبه ها را بسازد و کدگذاری کند؛ لایه سوم ممکن است بینی و چشم ها را کدگذاری کند؛ و لایه چهارم ممکن است تشخیص دهد که تصویر، شامل یک چهره است. چیزی که اهمیت دارد، این است که یک پروسه یادگیری عمیق، به خودی خود میتواند یاد بگیرد که کدام ویژگی ها بطور بهینه در کدام سطح قرار دهد. در سال های اخیر، یادگیری عمیق، تحول بزرگی را در یادگیری ماشین و هوش مصنوعی ایجاد کرده است. از سال ۲۰۱۲ تا کنون، تمامی رتبه های برتر چالش شناسایی بصری ImageNet، که به جام جهانی بینایی ماشین معروف است، از شبکه های عصبی عمیق استفاده کرده اند. همچنین، تمام روش های برتر در رقابت های دسته بندی تصاویر اعداد دست نویس MNIST (با ۲۱ خطا در ۱۰,۰۰۰ تصویر) و تصاویر طبیعی CIFAR (با خطای کمتر از ۵%) نیز به مدل های شبکه عصبی عمیق تعلق دارد. از سال ۲۰۱۲ به بعد، شرکت های بزرگ نرم افزاری و سخت افزاری مانند Google, Microsoft, NVIDIA نیز بخش مهمی از فعالیت های پژوهشی و تجاری خود را به یادگیری عمیق اختصاص داده اند. به دلیل وجود لایه های متفاوت و سطح های متفاوتی از اطلاعات از واژه عمیق استفاده می شود. شبکه عصبی از دو یا نهایتا سه لایه تشکیل شده است. در حالی که شبکه عصبی عمیق از بیش از ۱۵۰ لایه تشکیل شده است. یادگیری عمیق به گونه ای طراحی شده است که قادر باشد بدون دستور العمل هایی که توسط اپراتور صادر می شود، اطلاعات مورد نیاز خود را از میان حجم وسیعی از اطلاعات استخراج کرده و مورد استفاده قرار دهد.

 

کتابخانه Keras چیست؟

کراس کتابخانه ای است که با آن و تنها با چند خط کد می‌توانیم برای ساختن شبکه‌های عصبی استفاده کنیم. البته کراس همه این کارها را خودش به تنهایی انجام نمی‌دهد، در حقیقت کراس یک فرانت‌اند (front-end) برای فریمورک های یادگیری عمیق تنسرفلو، CNTK و (مرحوم) تیانو است و آن‌ها پشت شبکه‌های عصبی را می‌سازند و آموزش می‌دهند و برای همین به آن یک چهارچوب سطح بالا می گوییم چون کراس پیچیدگی استفاده از این کتابخانه‌ها را تا حد خوبی حذف می‌کند. یک ویژگی خاص دیگر کراس این است که محدود به یک کتابخانه یادگیری عمیق نیست و همانطور که گفتیم می‌توانیم از تنسرفلو، CNTK و یا تیانو برای محاسبات پشت پرده آن استفاده کنیم. Keras یک کتابخانه یادگیری عمیق برای آموزش سریع و کارآمد مدل های یادگیری عمیق است و همچنین می تواند با Tensorflow و Theano کار کند. از آنجا که سبک وزن و بسیار آسان برای استفاده است، Keras در یک زمان بسیار کم محبوبیت زیادی به دست آورده است. ساده ترین کتابخانه‌ در این حوزه را می‌توان ار پایتون کراس (Keras) نام برد. کراس از رنج گسترده ایی از شبکه های عصبی پشتیبانی می‌کند و ساختن نمونه های اولیه را بسیار ساده می‌کند. و از همه مهمتر تحلیل کد آن هم بسیار ساده است. البته به عنوان یکی از نقاط قوت آن می‌توان به این نکته اشاره کرد که این کتابخانه از چند GPU پشتیبانی می‌کند.  Keras یک شبکه عصبی با سطح بالا است که به زبان Python نوشته شده و قادر به اجرا در بالای TensorFlow ، CNTK یا Theano است. این برنامه با تمرکز بر فعال کردن سریع آزمایش انجام شد. توانایی رفتن از ایده به نتیجه با حداقل تاخیر ممکن برای انجام تحقیقات خوب مهم است. Keras بهترین اقدامات را برای کاهش بار محسباتی دنبال می کند: API های سازگار و ساده را ارائه می دهد ، تعداد اقدامات کاربر مورد نیاز برای موارد استفاده معمولی را به حداقل می رساند و بازخورد واضح و عملی را در مورد خطای کاربر فراهم می کند. به طور خاص ، لایه های عصبی ، توابع هزینه ، بهینه سازها ، برنامه های اولیه سازی ، توابع فعال سازی و برنامه های منظم سازی ، همه ماژول های مستقل هستند که می توانید برای ایجاد مدل های جدید در کراس ترکیب کنید. Keras با زبانهای یادگیری عمیق سطح پایین تر (به ویژه TensorFlow) ادغام می شود ، این امکان را برای شما فراهم می کند تا بتوانید هر چیزی را که می توانستید به زبان پایه ساخته باشید ، پیاده سازی کنید. به طور خاص ، به عنوان tf.keras ، API Keras یکپارچه با گردش کار TensorFlow شما ادغام می شود.

مزیت های کتابخانه قدرتمند Keras ؟

  • آسان نسبت به اغلب فریمورک ها
  • تحلیل کد آن هم ساده
  • قابلیت استفاده از چند GPU
  • ماژولاریتی بالا
  • انعطاف پذیری بالا
  • پشتیبانی همزمان از چندین backend
  • قابلیت ایجاد مدل های ترتیبی و تابعی
  • دیتاست های آماده
  • مدل های اماده زیاد
  • اجرای همزمان روی چند GPU و چند سیستم

هدف از این دوره آموزشی؟

هدف از این دوره آموزشی، معرفی کامل یادگیری عمیق و کتابخانه قدرتمند keras می باشد. ابتدا یادگیری عمیق به صورت کامل بحث می شود و بعد الگوریتم های یادگیری عمیق با استفاده از کتابخانه قدرتمند کراس پیاده سازی می شوند. در آموزش تمامی قابلیت های کتابخانه keras گفته شده است و کامل پیاده سازی می شوند. همچنین کدهای پیاده سازی در هر مرحله خط به خط توضیح داده می شوند. در این دوره به صورت کامل کار با داده های یک بعدی، دو بعدی و سه بعدی براساس کتابخانه کراس آموزش داده می شود. همچنین انواع مختلف شبکه های عمیق (کانولوشنی – بازگشتی – مولد – خودرمزنگار) کامل توضیح داده شده و با کراس پیاده سازی می شوند. جزئیات این دوره آموزشی در زیر لیست شده است. بدون شک یکی از بهترین دوره های یادگیری عمیق با keras می باشد که با زبان فارسی بصورت روان توضیح داده شده است. امیدواریم که این آموزش از “بیگ لرن” هم مثل سایر آموزش ها مورد تایید و رضایت شما مخاطبان گرامی قرار گیرد.

 

مشاهده پیش نمایش اول این دوره در آپارات

مشاهده پیش نمایش دوم  این دوره در آپارات

برای دیدن محتوای هر بخش روی آن کلیک کنید

بخش صفر: مرور کامل روی پایتون
بخش اول: یاگیری ماشین و یادگیری عمیق
بخش دوم : یادگیری عمیق و شبکه های عصبی
بخش سوم: انواع شبکه های عمیق (نطارت شده و بدون نظارت)
بخش چهارم: معرفی کامل کتابخانه keras
بخش پنجم: پیاده سازی عملی با کتابخانه keras
بخش ششم: مثال های عملی یادگیری عمیق با پایتون در keras
بخش هفتم: شبکه های عمیق پرکاربرد
بخش هشتم: تنظیم پارامترهای شبکه عمیق با keras_tuner
مشاهده بیشتر

نظرات

متوسط امتیازات

4.8
4.75 4 رای
180,000 تومان
4 نقد و بررسی

جزئیات امتیازات

5 ستاره
3
4 ستاره
1
3 ستاره
0
2 ستاره
0
1 ستاره
0

4 دیدگاه برای آموزش یادگیری عمیق با کراس (keras)

  1. پارسا

    خیلی خوب گفته شده بود و قابل فهم. ممنون

  2. شیوا

    بخش تئوری و عملی خوب تدریس شد. فقط کاش مثال عملی بیشتر حل می کردید. با تشکر

  3. شاهین

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

  4. پارسا

    دوره خوبی بود. با تشکر از آقای دکتر

دیدگاه خود را بنویسید