از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه آموزشی، مدرس با ارائه یک پروژه عملی، به طراحی و اجرا یک مدل شبکه عصبی میپردازد. ابتدا یک مجموعه داده تصادفی ایجاد میشود و سپس معماری مدل با استفاده از لایههای خطی و فانکشنهای فعالسازی طراحی میشود. مدل با یک اپتیمایزر و تابع هزینه آموزش داده میشود و نتایج ارزیابی بر روی دادههای تست نمایش داده میشود. در ادامه، مشکلاتی در کد مربوط به نسخههای پایتون و اشتباهات املایی و ساختاری بررسی و حل میشوند. همچنین، مدرس به مشکلی در معماری شبکه عصبی اشاره میکند که باعث کاهش دقت مدل میشود و با تغییر معماری و حذف یک لایه، دقت مدل بهبود یافته و به ۱۰۰ درصد رسیده است.
نکات کلیدی
طراحی و اجرا یک مدل شبکه عصبی با استفاده از لایههای خطی و فانکشنهای فعالسازی.
ارزیابی مدل بر روی دادههای تست و بررسی نتایج اکیورسی.
استفاده از اکتیویشن فانکشنی که مقادیر منفی را حذف میکند، باعث کاهش دقت مدل میشود.
تغییر در معماری شبکه عصبی و حذف یک لایه، باعث بهبود دقت مدل به ۱۰۰ درصد شد.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
تغییر در معماری شبکه عصبی و حذف یک لایه میتواند باعث بهبود دقت مدل شود.
اشتباهات املایی و ساختاری در کد میتوانند باعث مشکلاتی در اجرا شوند.
استفاده از اکتیویشن فانکشنی که مقادیر منفی را حذف نمیکند، میتواند به بهبود دقت مدل کمک کند.
آخرین بهروزرسانی محتوای متنی:
در این دوره جامع، وارد دنیای Deep Learning (یادگیری عمیق) میشویم و مفاهیم اصلی، الگوریتمها و تکنیکهای مورد استفاده در ساخت مدلهای هوش مصنوعی را از پایه یاد میگیریم. این دوره برای افرادی طراحی شده که میخواهند درک عمیقی از شبکههای عصبی، معماریهای مدرن یادگیری عمیق و نحوه پیادهسازی مدلهای هوش مصنوعی با Python و PyTorch داشته باشند. در طول این دوره ابتدا با مفاهیم پایه Deep Learning آشنا میشویم و سپس قدمبهقدم به سمت ساخت و آموزش مدلهای واقعی حرکت میکنیم. در این دوره یاد میگیرید: 🔹 مفاهیم پایه یادگیری عمیق و نحوه عملکرد شبکههای عصبی 🔹 کار با Python، NumPy و PyTorch برای توسعه مدلهای Deep Learning 🔹 ساخت و آموزش Artificial Neural Networks (ANNs) 🔹 مفهوم Gradient Descent و نحوه بهینهسازی مدلها 🔹 جلوگیری از Overfitting با روشهایی مانند Regularization و Cross Validation 🔹 انتخاب Activation Function، Optimizer و Hyperparameterها 🔹 ساخت Feed Forward Neural Networks 🔹 ارزیابی عملکرد مدلهای یادگیری ماشین 🔹 کار با پروژههای عملی Deep Learning 🔹 آشنایی با Autoencoderها 🔹 اجرای مدلهای Deep Learning روی GPU 🔹 طراحی و پیادهسازی Convolutional Neural Networks (CNNs) 🔹 پروژههای مرتبط با تصاویر و Computer Vision 🔹 Transfer Learning و استفاده از مدلهای از پیش آموزشدیده 🔹 Neural Style Transfer 🔹 Generative Adversarial Networks (GANs) 🔹 Recurrent Neural Networks (RNNs) و مدلهای GRU/LSTM 🔹 مباحث اخلاقی و آینده Deep Learning همچنین در بخشهای ابتدایی دوره، مباحث ضروری Python شامل: ✅ ساختار دادهها در Python ✅ Indexing و Slicing ✅ Functions ✅ Flow Control ✅ کار با Text و Plotها بررسی میشود تا بتوانید بدون نیاز به پیشنیازهای پیچیده وارد دنیای Deep Learning شوید. این دوره مناسب چه کسانی است؟ این دوره برای: 🎯 دانشجویان و علاقهمندان هوش مصنوعی 🎯 برنامهنویسانی که میخواهند وارد حوزه Machine Learning و Deep Learning شوند 🎯 Data Scientistها و تحلیلگرانی که میخواهند مهارتهای خود را ارتقا دهند 🎯 افرادی که قصد ساخت پروژههای واقعی AI دارند مناسب است. پیشنیازهای دوره برای شروع این دوره بهتر است با موارد زیر آشنایی اولیه داشته باشید: ✔ مفاهیم پایه برنامهنویسی ✔ آشنایی مقدماتی با Python ✔ آشنایی اولیه با ریاضیات پایه اما تمام مباحث مورد نیاز در طول دوره مرور و توضیح داده خواهد شد. اگر به دنبال یادگیری Deep Learning به صورت اصولی و پروژهمحور هستید، این دوره میتواند مسیر شما را برای ورود به دنیای هوش مصنوعی هموار کند. 📌 برای مشاهده تمام جلسات این دوره، کانال Pista Academy را دنبال کنید. 🌐 وبسایت: https://pistaacademy.ir
ولی میتونید ازش استفاده بکنید. الان
تمام ویدیوها دورهها داخل وب سایت به
صورت خودکار از یوتیوب میاد. پس طبیعتاً
فیلتر شکنم شما لازم دارید برای دیدنش.
هر دوره رو که شروع بکنید به دیدن اینجا
براتون درصدشو میزنه که چقدرشو رفتید
دیدید و حالا به زودی یه قسمت ثبتنامو
لاگینم اضافه میکنم که اطلاعاتتون ذخیره
بشه که یه موقع پاک نشه اگه مثلاً یه
دورهی رو تا یه جای دیدید
یه قسمت در حقیقت تماس با ما اینا اینجا
اضافه میکنم اگه سؤالی درخواستی نکتهی
چیزی بود میتونید اونجا بهمون پیام بدید
اگرم تمرین داشتید که از کانالمون حمایت
بکنید هم میتونید حمایت مالی داشته باشید
از طریق پلتفرم ریمیت که این بالا لینکش
هست
وارد اینجا بشید میتونید حالا دونیت
بکنید هم برای دوستانی که خارج از کشورم
هستن راههای مختلفی یوتیوب گذاشته برای
حمایت مالی میتونید از اون طریق حمایت
بکنید اگرم حمایت مالی تمایل نداشتید هیچ
ایرادی نداره همین که کانال ما رو دنبال
بکنید سابسکرایب بکنید و به دوستاتون
معرفی کنید کامنت لایک کفایت میکنه برامون
خب بریم سراغ ادامه دوره دیپلینگمون
میخوایم یه دونه پروژه رو با همدیگه
انجام بدیم یه صفر تا ۱۰۰ یه پروژه دیپ
لرنینگو با همدیگه انجام بدیم اجازه زیاد
کنم که خب بریم شروع بکنیم من خط به خط
مینویسم جایی لازم باشه توضیح بدم
توضیحاتو میدم
اول کتابخونهی که لازم داریم رو ایمپورت کنیم
خب این از چیزایی که لازم داریم.
مرحله بعدی بریم دیتاونو درست بکنیم میخوام یه دیتای رندم خودمون درست بکنیم
برای این پروژه
یه تعریف میکنم میذارم شروع ۲۰۰۰
که از اسمش مشخصه چیکار میکنه لو مساوی منفی ۱۰
آ مساوی ۱۱
سایزشم مساوی
ان دات
فلو لت یه لیبل لازم داریم برای هر کدوم
ترش رند اینت لو منفی ده ۱۱
سایزم گذاشتن
آها من چرا اینو این شکلی گذاشتم پرانتزه
خب یه همچین چیزی به ما درست کرده و این خروجیمون شده
یه دیتای رندمه خیلیهم اصلاً برام مهم
نیست چیه
خب بریم سراغ طراحی مدلمون
و ببینیم که مدلمون قراره چه شکلی باشه.
برای طراحی مدل میام چیکار میکنم؟ یه دونه فانکشن تعریف میکنم که مدلمونو
بسازه. میگم د مساوی کرت
اول میایم معماری مدلمونو میسازیم معماری مدل یعنی چی؟ اون لایهها رو پشت هم
بسازیم ایدی دی
کلاسیفای اسمشو میذارم اید دی کلاسیفای مساوی میگم برو داخل ان ان که اون بالا
ایمپورت کرده بودم از پای تورچ
سکونشیالو برا من بیار سکونشیال یعنی
توالی اون لایهها توالی لایهها رو
میخوایم بسازیم
اول یه لایه اولم هم یه لایه لاینیره
که
لایه ورودی میده
چرا دو چون این د تاست دیگه د تا ورودی داره خروجی ۳۰ تاست
یه اکتیویشن فانکشن
خروجی قبلی میشه ورودی این و اینم خروجیش یه دونه میذارم
تا اینجا ما چند تا لایه گذاشتیم د تا لایه گذاشتیم
و در نهایت لایه نهایی لایه خروجیمون
مرحله بعدی چیه؟ لاست فانکشنمونم
مرحله بعدیمون چیه اپتیمایزرمونه
میایم داخل ترج اپتیم
آدام
لن ریتمونم میذارم روی یک صدم
در نهایت مدلو میخوان بهم برگردونن ریترن
ایتی
کلاسیفایر
خود لاست فانکشن
و اپتیمایزر
خب میریم یه دونه فانکشن بنویسیم برای اینکه بخواد مدلمونو ترین بکنه
بریم خط بعدی پس میخوام یه فانکشن بنویسیم که مدلمونو ترین بکنه خب یه متغیری تقریب
میکنم اسمشو میذارم نام اپوک از اسمش
مشخصه قراره چیکار بکنه تعداد اپوکامونه
پس فانکشن ترین د مدل اسمشو میذارم
یه مدل به عنوان ورودی طبیعتاً دریافت
میکنه.
از رنج نامپک
نا لاس مساوی این لاس رو میذارم داخل این جلوتر که بریم
فور
نام
ای ان اس این
زیپ
دیتا
لیبلز مرسی
مدلو بهش میدم
این چرا آن ایشو جا انداختم ایدی مدل
لاس فانکشن وا
این
پس من ورودی رو میدم به مدلم
بعد میخوام با لاس حساب بکنم مقدار
پیشبینیش رو مقایسه میکنم با مقدار
واقعی
خب برم بیایم درستش بدم بعد نام لاست. اپند میکنم بهش اینو
مقدارو
لاست. آیتم
بعد حالا مقدار لاسو حساب کردم چه اتفاقی میفتاد توی فرایند یادگیری شک عصبی این یه
بار به سمت جلو میرفت
یه بار برمیگشت بهش میگفتن بک پروپگیشن
الان تو مرحله بک هستیم لاسو میخوایم حساب
کنیم بریم وی رو عوض بکنیم
اپتیمایزر
ز گ
لاستدا بکارد
پس مرحله برمیگرده لاسو در حقیقت ویت رو تغییر بده برای اینکه بخوایم
یه بار دیگه بریم درق شبیه سازی رو انجام میدیم
لاسز اپوک آی
مساوی امپیدا مین نام لاس
تو اون اپوک میانگین لاسا رو حساب میکنم
مقدارشو ذخیره میکنم برای اون اپوک میشه
چون ما تو یه دونه اپوکم بچههای مختلف
داریم میفرستیم دیگه چند تا لاس خواهیم
داشت
فقط بچهها این
بذارید ببینم که داخل من یه دونه اسپیس یه
تب باید بزنم اینو
این باید بره داخل این فورلوپه قرار بگیره
بچهها
این همراستای این باشه
ویت تدا
ان
سایز با ایدیتی مدل دیتا
این بچهها مرحله آخرمونه
فاینال فورورد پسمونه در اصل
خب مرحله بعدی میریم اکیورسی رو حساب بکنیم
ترین اکیوریسی مساویست با
خب امپی. ای بی اس
پردکشن
اسم اینجا بذارم پردکشنز پردکشنز منهای لیبلز
لو مساوی منفی ۱۰ های مساوی ۱۱
سایز مساوی
فلوت بعد
تست
لیبلز مساوی
تچ.
تست دیتا
و با دیتای تستم بردیم مدلمونو ارزیابی بکنیم حالا بریم اکیورسیمونو برای دیتای
تست ببینیم چقده
ویت
تست اکسی مساویست با دقیقا همین فرمولی که این بالا نوشته بود
می ای پرکشنز منهای اینجا میشه تست لیبلز لیبلو بهش بدم
اینم از این و در نهایت ریترن میکنه این فانکشن چیو
لاسو
تست اکیوریسی خود
بریم مدلمونو اجرا بکنیم روی این دیتای رندمی که خودمون ساختیم حالا پروژه بعدی
که جلسه بعدیه بچهها یه دیتای واقعی
میارما فعلاً یه دیتا تست الکی خودمون
ساختیم
خب
ادینگ ماشین
لاس فانکشن
اپتیمایزرش نوشته اپتیمایزر خب فانکشن کریت مدلو فراخونی میکنم
کرت ایدی دی مدل
ترین اکیوریسی تست اکیوریسی
ایدی دی مدل
فانکشن ترین
که مدل فراخونه میکنم چی بهش میدم این
ادی ماشینو بهش میدم
به عنوان ورودی و در نهایت میگن برنامه چیو چاپ کن تو خروجی ترین اکیوریسی
بعد تست اکیوریسی
خب یه لحظه بچهها من اینو اینجا اشتباه نوشتم تره اینو درستش کنم که این خطاش ته
حالا ببینیم چی میگه که
خب بذار یه بار از بالا دوباره ران کنیم
همه رو
میگه که این هست که دکوریتور بذارید ببینم
فانکشن درست نوشتم آره درسته
خب یه مشکلی اینجاست بذار بینو کپی پیست کنم شاید چیزی دارم اینجا اشتباه میذارم
ترین مدلم کجاست
خب بچهها خب کدمون مشکل نداره مشکلمون ناسازگاری ترچه با مدل پایتونی که رو
سیستم من نصب حالا این از چجی پرسیدم یه
راهحلی داده
بذار من راهحل یهو تست بکنم میگه اول یه
بار بعد این ترچه یه اینو ایمپورت کن
خب
و شاید مشکلت حل بشه بذارید ببینم من یه
بار اینو کلاً ران کنم مشکل حل بشه یا نه
چی میگه
بذار من اول یه بار یه خط کد اینجا بنویسم راهحلایی که داره ججیبیتی بهمون میده
میدونه یه بار ران کن ببینم نسخه چنده خب
نسخه ۳۱۳ پایتونو دارم با ۲۱ ۱۱ پایتونشو
دارم
خب اینم لود شد.
خب حالا یه بار دیگه ما اینو ران کنیم ببینیم درست میشه نه
این اوک شد من اینا رو حذفش کنم
خب الان خطامون رفت مشکلمون حل شد بعد
ببینم اینو میگه رندتو آها آرگومهای ورودیش مشکل داره چرا
۱ د سه تا آگون ورودی دادم کجا دیگه رندی
که استفاده کرده بودیم جلوتر اینجا بود
اینجا لو موشن های موشن ۱۱ سایزمین اینجا هم
درسته تعدادش
گفتم یه مثال ساده بزنم سریع بریم گیر کردیم اشکال نداره
آها فکر کنم فهمیدم ایراد کارم کجاست وایسته وایسته وایسته وایسته
اینجا
اینجاهم بچهها یه سوتی اینجا دادم یه تی اینجا اضافه گذاشته بودم
ببینیم درست میشه یا نه باز نشد
سپمون داره چیپیتی همه رو دونه دونه میگیره همشم غلط املایی و پرانتز و
ایناست
خب خب
باز یه فلوت دیگه هم اینجا اشتباه گذاشتم بچهها
اینجا هم دوباره یه دونه اشتباه گذاشتم
مثل اینکه
خب بذار ببینم چی داشته باشم این درسته میچ
خب بذار من این کدو بدم بهش درستش بکنه چون مشکل پرانتز و ایناست من یه چند تا
سوتی سر پرانتز دادم
خب من این نسخه رو دادم چی بیتی برام اصلاح کرد پرانتز و اینا شه جاش ایراد
داشت و در آمد فکر کنم مشکل حل شد غلط
املایی داشتم یک د تا پرانتز اشتباه
گذاشته بودم ولی کد کلیتش درست بود ایراد
نداره خب الان به ما برگردوند
یه همچین چیزی برگردوند
خروجی ترین اکیوریسی و تست اکیورسی حالا
بریم اینو تحلیلش بکنیم با همدیگه این
اصلاً یعنی چی
این داره میگه که بچهها دقتمون تو
دادههای ترین حدود ۱۰ده
تو دادههای تست ۹ که خیلی مقدار کمیه
حالا چرا به خاطر معماریمونو بچهها
چیپیتی داره میگه معماریمون غلطه خب حالا
من معماریو همینجوری خودم گذاشته بودم
میگه که این اکتیویشن فانکشنی که شما
اینجا گذاشتی یه مشکل بزرگ داره مقادیر
منفی رو از حذف میکنه صفر میکنه
خب
و این مشکل ایجاد میکنه یه مقدار منفی
باشه میشه صفر. بنابراین درست کار
نمیکنه. حالا بیایم مدلو یه ذره تغییرش
بدیم. بیایم چیکار میکنیم؟
ورودی رو میذارم باشه. اینم باشه اینم باشه. این د تا رو اول برمیدارم
یه تغییری تو مدلمون بدیم ببینیم مشکل حل میشه یا نه.
بعد برقیش دیگه دست نخوره
بذار اپکا رم بیشتر کنیم یه ذره آموزشمون بیشتر بشه گوش پک
آها مثلا ۵۰ تا
یه بار دیگه ران کنیم یه ریاستارت بدم
یه ران
ببینیم دقتمون بهتر میشه یا نه یه اکتیویشن فانکشن و یه لایه آخرو حذف کردیم
ببینیم که دقتمون بهتر میشه ۱۰ و ۹
فعلاً من ویدیو رو پاز کنم. خب دوستان با یه تغییر توی
معمانی شبکه عصبیمون تونستیم دقتمون رو از
۱۰ برسونیم به ۱۰۰. پس طراحی شبکه عصبیمون
خیلی نکته مهمیه. من اینجا یه سوتی داده
بودم.
این اکتیوشن فانکشن بچهها آر یو رو اگه
یادتون باشه توی جلسات قبلی راجعش صحبت
کردیم اگه مقدار بزرگتر از صفر باشه خودشو
برمیگردونه زیر صفر باشه میکنه صفر
عملاً ما تمام این مقادیر منفی رو داشتیم
از بین میبردیم
تو این لایه بعدی برای همین یه لایه کمترش
کردیم مشکل حل شد خب بریم بیایم جلسه بعدی
میریم سراغ یه دیتای واقعی و
یه دیتا طوری از تو اینترنت حالا پیدا
میکنیم روش کار میکنیم.