پیاده‌سازی شبکه های عصبی با پایتورچ PyTorch


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

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

پیاده سازی صفر تا صد شبکه های عصبی

تو این دوره یکبار مسیر رو کاملا پیاده رفتیم و تمامی موارد مرتبط با شبکه‌های عصبی (ساختار، مشتق گیری، توابع هزینه و روشهای بهینه‌سازی مبتنی بر گرادیان نزولی) رو خودمون صفر تا صد پیاده‌سازی کردیم. بعدش با کمک ابزار و ویژگی‌هایی که PyTorch داره شبکه‌های عصبی رو پیاده‌سازی کردیم. دوره پایتوچ رو با پیاده‌سازی یک نورون ساده شروع کردیم... شبکه عصبی پرسپترون تک لایه  و با پیاده‌سازی شبکه عصبی CNN تموم کردیم! شبکه عصبی کانولوشنال CNN

اهداف اصلی دوره پایتورچ

در این دوره چندین موضوع برای ما بسیار اهمیت داشت:
  • یادگیری دقیق تئوری و ریاضیات تمامی الگوریتم‌ها
    • شبکه‌های عصبی
    • توابع هزینه
    • روشهای بهینه‌سازی
  • پیاده‌سازی شبکه‌های عصبی بدون استفاده از ابزار آماده
  • کار با Dataset و DataLoaderها
    • خوندن داده به فرمتهای مختلف
    • ساخت دیتالودر اختصاصی
  • پیاده‌سازی شبکه‌های عصبی با ابزار PyTorch
  • انجام تمرینات بسیار ساده جهت درک بهتر الگوریتم‌ها
  • انجام پروژه‌های عملی مختلف جهت آشنایی با چالشهای واقعی
  • ارائه تمرینات در جهت تقویت مهارت برنامه‌نویسی به سبک OOP

دوره تخصصی پایتورچ یک دوره پروژه محور است!

 در این دوره علاوه بر بررسی کامل مباحث ریاضیاتی و پیاده‌سازی الگوریتم‌ها، مثالها و تمرینات مختلفی انجام شده است تا با کابردهای هر الگوریتم و چالش‌های استفاده از آنها در کارهای عملی آشنا شویم. 101 مثال + 24 تمرین + 40 پروژه پروژه های انجام شده در دوره پایتورچ

سرفصل دوره تخصصی پایتورچ (Pytorch)

فصل اول:آشنایی با چارچوب کار و نصب PyTorch

  • آشنایی با مفاهیم اولیه یادگیری ماشین
  • یادگیری ماشین
  • شبکه عصبی
  • چارچوب طراحی یک شبکه عصبی
  • معرفی کلی پلتفرم پایتورچ
  • ویژگی های پایتوچ
  • نصب پایتورچ
  • شروع کار با کتابخانه ی پایتورچ
  • چارچوب انجام پروژه در پایتورچ

چارچوب انجام پروژه با پلتفرم پایتورچ


فصل دوم: کار با تنسورها

  • فرق تنسور با آرایه های نامپای
  • ساخت تنسور در پایتورچ
  • تولید اعداد تصادفی
  • آدرس دهی تنسورها
  • تغییر اندازه تنسورها
  • چسباندن تنسورها
  • عملیات محاسباتی روی تنسورها
  • عملیات منطقی روی تنسورها
  • عملیات ریاضیاتی روی تنسورها
  • معرفی متدهای مثلثاتی در تنسور
  • معرفی متدهای پرکاربرد
  • ارتباط بین پایتورچ و نامپای
  • انتقال به GPU
  • پروژه عملی

تنسورها در پایتورچ


فصل سوم: ساخت DataLoader اختصاصی

  • معرفی دادهای یادگیری ماشین UCI
  • خواندن داده‌های مختلف در پایتون
    • داده .data
    • داده .txt
    • داده .excel
    • داده .mat
  • معرفی داده‌های sklearn
  • کار با DataLoader و Dataset در پایتورچ
    • ساخت dataloader اختصاصی
    • Batching داده‌های اختصاصی
  • پیش پردازش داده
    • Missing value
    • Normalization
ساخت دیتالودر اختصاصی در پایتورچ

فصل چهارم: تئوری و ریاضیات شبکه عصبی پرسپترون تک لایه

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

فصل پنجم: تئوری و ریاضیات شبکه عصبی پرسپترون چندلایه

  • پرسپترون چندلایه
  • پس انتشار خطا
  • MLP با تابع هزینه MSE
  • MLP با تابع هزینهCross Entropy
  • MLP در مسائل طبقه‌بندی
  • MLP در مسائل رگرسیون
شبکه عصبی پرسپترون چندلایه

فصل ششم: روشهای بهینه سازی مبتنی بر SGD

  • SGD
  • Time variant learning rates
  • SGD
  • SDG with Momentum
  • AdaGrad
  • RMSprop
  • AdaDelta
  • Adam
روشهای بهینه‌سازی مبتنی بر SGD

فصل هفتم: پیاده‌سازی شبکه های عصبی در PyTorch

  • چارچوب پیاده‌سازی شبکه‌های عصبی با پایتورچ
  • تعریف ساختار شبکه عصبی
  • تعریف تابع هزینه
  • تعریف optimizer
  • حلقه بهینه سازی
  • کار با مشتق گیری autograd
  • پیاده‌سازی شبکه عصبی پرسپترون چند لایه
  • پیاده‌سازی شبکه عصبی CNN
    • پیاده‌سازی لایه Convolution
    • پیاده‌سازی لایه Pooling
  • ذخیره سازی و لود کردن شبکه‌های عصبی

منابع استفاده شده در دوره PyTorch

مباحث این دوره طبق مراجع معتبر گرداوری شده است  که چند تا از آنها در زیر آورده شده است.  
  • Deep Learning (Ian Goodfellow, Yoshua Bengio, Aaron Courville)
  • Dive into Deep Learning (ASTONZHANG, ZACHARYC.LIPTON,MULI,ANDALEXANDERJ. SMOLA)
  • Neural Networks and Learning Machines (Simon Haykin)
  • Articles
    • ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION
    • Adaptive Sub gradient Methods for Online Learning and Stochastic Optimization
    • An overview of gradient descent optimization algorithms

1 دیدگاه برای پیاده‌سازی شبکه های عصبی با پایتورچ PyTorch

  1. e.m.hasani77 (مالک تایید شده)

    مثل همیشه فوق العاده و بسیار آموزنده بود. واقعاً لذت بردم!

    • محمد نوری زاده چرلو (مالک تایید شده)

      خیلی خوشحالیم از اینکه دوره براتون مفید بوده
      موفق باشید

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