از 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
یکی دیگه از فصلا جالب دیپ لرنینگ این مپ هست اتوینکودر ها یا ایی به اختصار
اتوکودر یعنی اینکه شبکه که یک ورودی رو دریافت میکنه و قراره که همون ورودی رو
دوباره تولید بکنه
و شاید این یه ذره عجیب باشه چرا ما باید
یه چیزی به یه شبکه عصبی بدیم و ازش
انتظار داشته باشیم که همونو تولید بکنه
چیزی که داره میگه اینه که این مسئله کجا کاربرد داره جایی که ما میخوایم شبکه رو
مجبور بکنیم ساختار مهم اون دادهه رو یاد
بگیره جزئیاتشو یاد بگیره که چه کاری
بکنیم مثلاً بخوایم ابعادو کم بکنیم سایز
اون تصویرو کم کنیم نویزو حذف بکنیم
یه سری فیچر یا ویژگی ازش بکشیم بیرون
جاهایی که خراب شده رو ترمیم بکنیم
و و حالا کلی کاربرد دیگه
بریم شروع کنیم راجع به این صحبت بکنیم
اصلاً اول بریم راجع به اینکه اتو انکودر
چیه
میگه که یک اتو انکودر معمولاً دو بخش
اصلی داره
اینپوت میره داخل انکودر
لیتنک دیکودر و اون ورود ورودی دوباره
ساخته شده
میگه فرض کنید یه تصویری داریم از دیتاست
ام نیست همونتاستی که یه بار با هم چک
کرده بودیم یه سری اعداد بود باهاش تصاوی
مختلف ۲۸ در ۲۸
یعنی ما ۷۸۴ تا پیکسل داره تصویلمون و
اینو میخوایم بدیم به یه شبکه عصبی
میدیمش به یه انکودر
۳۲ بعد دیکود کدرر دوباره یه ۷۸۴ به ما
میده هدف اینه که همون تصویر ورودی رو
دوباره تولید بکنیم تا حد ممکنم شبیه
تصویر اول باشه
خب انکودل چیه اون ابتدای کار انکودر میاد داده رو فشرده میکنه
مثلاً ۷۸۴ تا پیکسل یا فیچررو
تبدیل میکنه به ۲۵۶ ۶۴ ۱۶ ۱۵
در انتها فقط ما ۱۶ تا عدد داریم برای
نمایش کل اون تصویره
خب که به این ۱۶ تا عدد نهایی معمولاً یکی از این چهار تا رو می اسمشو میذارم لیتد
کد میگن لیتد ریپریزنتیشن امبدینگ باتلنک
ریپریزنتیشن اسم مختلف دارن
دیکودر چیست
دقیقاً برعکسو انجام میده. یعنی اون ۱۶ تا
رو میگیره ۷۸۴ تا رو به ما میده و تلاش
میکنه تصویر اصلیو بازسازی کنه.
میگه که چرا باتلنک مهمه؟ باتلنک بچهها میدونید چیه دیگه؟
یه حجم زیادی ورودی مثلاً بیاد بره تو یه
مسیر کوچیکتر.
میگه اگه بیایم شبکه رو اینجوری بسازیم ۷۸۴ تا ۱۰۰ تا ۱۰۰ تا ۷۸۴
ممکنه است شبکه خیلی راحت اینپوت رو حفظ
کنه اما اگه مجبورش بکنیم یه همچین چیزی
اتفاق بیفته دیگه نمیتونه میتونه تمام
پیکسلا رو مستقیم حفظ کنه. باید مهمترین
پترنا رو یاد بگیره.
مثلاً برایتا سد مینز ممکنه ریپیزنتیشن داخل چیزایی مثل شکل کلی رقم، ضخامت خطوط،
زاویه، حلقهها جهت استروکها رو انکود
کنن.
میگه ما برای انکودر معمولاً چی داریم؟ ورودیمون همون تارگتمونه.
ورودیمون دقیقاً همون چیزیه که میخوایم در نهایت بسازیم.
بعد خیلی ساده هم میتونه لاسو محاسبه کنه طبیعتاً چون ورودیش قراره همون خروجیمون
قراره همون ورودی باشه میاد این دو تا رو
با هم مقایسه میکنه لاسو محاسبه میکنن.
میگه برای تصاویر با مقدار پیکسل پیوسته میتونیم برای محاسب لاست فانکشن از ام اس
ای لاست استفاده بکنیم که فرمولشم این زیر
داره بهمون نشون میده.
میگه فرض کنید مقدار اصلیمون اینه واقعیمون اینم اون چیزی که ساختیم خیلی
راحت میتونیم با اون فرمولا اینو حساب
بکنیم
میگه اتو انکودر یه کلاسیفیکیشن مدل نیست قرار نیست چی ک چیزیو کلاس بندی بکنه
همین دارن میگن که اتو انکودر تو خانواده روش سلف سوپروایز یا آن سوپروایز
ریپریزنتیشن لرنینگ قرار میگیره.
اینم یه نمونه کد اتو انکودر خیلی ساده است توی پایتون.
اه خب ببینیم چی که چی داریم یکی از کاربردهای بسیار مهم اتو انکودر
بحث دین نویزینگ اتو انکودره هدف یه تصویر
خراب و نویز رو بگیره و ت نسخه تمیز اونو
تولید بکنه
ساختار مسئله چهجوری میشه اینجا
تو اتو انکودر معمولی ما یه تصویر ترتمیزو
میدیم [گلویش را صاف میکند] به اتو
اینکودر همونو برامون میسازه اما تو حالت
دینویزینگ
یه تصویر نویز رو میدیم به اتو اینکودر و
یه تصویر تمیز باید برا ما بسازه
میگه فرض کن شما یه رقم پ تمیز دارید از همونتاست مینست یه ذره نویز بهش اضافه
میکنید تو خروجی باید اون بدون نویزه رو
داشته باشید تولید بکنه
اصلاً چرا این کار جواب میده به نظرتون
میگه چون مدل نباید نویز تصادفی رو حفظ کنه باید پترنی واقعی رو یاد بگیره تو اون
تصویر
یعنی شبکه کمکم یاد میگیره که اون ساختار
مفیده رو جدا بکنه تمیز بده از اون نویزه
ما هی تصویره رو میدیم بهش میره برمیگرده
لاسو حساب میکنیم دیگه به همزادگی
خب کاربرد مشابه حذف نویز عکسز حذف آرتیفکت تمیز کردن
سیگنال
بازسازی دادههای خراب، پردازش تصاویر
پزشکی و الی آخر.
میگه آکیولیشن فکر کنم تلفظشو مطمئن نیستن.
ولی فکر کنم فکر نکنم این باشه حالا کاری
نداره به تلفظش یعنی بخشی از تصویر
پوشانده یا حذف شده باشه
چهجوری بتونیم اونو دیتکت بکنیم
مثلاً فرض کنید تصویر رقم ۸و داریم ولی
وسط تصویرو پاک کنیم
مثل مثلاً مخدوش کردن پلاک خودرو مثال
باید تلاش بکنه قسمت گم شده رو بازسازی
بکنه
تفاوتش با نی نو دیویزینگ چیه؟
نویز رو کل تصویر میفته ولی این رو قسمتی
از تصویره.
اوکی اینجا داره ففرآیندشو توضیح میده باز
حالا سؤالی که بهش میگه مدل از کجا قسمت
گم شده رو میفهمه؟
مدل دقیقاً پیکسل گم شده رو نمیدونه بلکه
از پترنهایی که از دیتا ست یاد گرفته
استفاده میکنه.
از اون نمونه عدد ۸ تایی که دیگهای که داره میتونه بفهمه که مثلاً اون جایی که
در حقیقت مخدوش شده یا وجود نداره چهجوری
باید اینو بازسازی کنن.
خب تفاوت انکودر و دیکودر تقارن انکودر و دیکودر
خب حالا مثالشو من می یه دونه کاملشو نشونتون میدم اینا رو برای همین دارم رد
میکنم
اه
این تصویر کلی اتو اینکودره ورودی انکودر کامپرشن
لیتد [ __ ] دیکوده تصویر دور ساخته میشه
با تارگت مقایسه میشه
بعد [گلویش را صاف میکند]
اون دقد برمیگرده مسیررو که وی رو تغییر
بده و دقیق ویتا رو که آپدیت کرد دوباره
تصویرو میسازه.
ساختار توی دینویزینگ به این شکله
تو اینم به این شکله
اینو کاری نداریم و جمعبندی خب
هدف ما تو این فصل چی بود؟ این بود که شما
با مفهوم اتو اینکودر آشنا بشید.
بریم بیایم جلسه بعدی میریم سراغ فصل
بعدیمون و میخوام راجع بهش صحبت بکنیم که
یه مدل رو چهجوری روی جی پی یو ران بکنیم.
فعلاً خداحافظ.