گرادیان کاهشی
بهنام خدا، سلام… در این پست میخواهم درباره الگوریتم گرادیان کاهشی (Gradient Descent) صحبت کنم. باتوجه به اهمیت زیاد این الگوریتم، در جلسه سوم از آموزش یادگیری ماشین رایگان میخواهم به تشریح گرادیان کاهشی بپردازم. این الگوریتم در جلسات بعدی بسیار کاربرد دارد. با هوسم همراه باشید…
مقدمهای بر الگوریتم گرادیان کاهشی
اغراق نیست اگر بگویم گرادیان کاهشی یکی از مهمترین و کاربردیترین الگوریتمها در یادگیری ماشین است. اثر این الگوریتم در بسیاری از الگوریتمها و مدلهای یادگیری ماشین دیده میشود. بههمین خاطر، لازم دیدم که در این دوره یادگیری ماشین، همین ابتدا این الگوریتم را به شما توضیح بدهم. مهم است که با اعماق وجود خود این الگوریتم را درک کنید!
بیایید در یک جمله این الگوریتم را برای شما تعریف کنم:
الگوریتم گرادیان کاهشی، یک الگوریتم بهینهسازی تکراری مرتبه-اول هست که مینیموم محلی در یک تابع مشتقپذیر را پیدا میکند.
سخت بود؟ پر از کلمات عجیب و غریب؟ اجازه دهید سادهاش کنم:
گرادیان کاهشی الگوریتمی است که مینیمومهای محلی را در یک تابع پیدا میکند.
یکسری از کلمات را حذف کردم. البته، این کلمات مهم بودند. بعدا درباره کلمات حذفشده توضیح میدهم. حتما میدانید که مینیموم محلی چیست؛ اما محض یادآوری به تصویر زیر نگاه کنید.
اما چه گفتم؟ گرادیان کاهشی میتواند در تابعی مانند شکل بالا، مینیموم محلی را پیدا کند. ممکن است این سوال برای شما ایجاد شود که چرا گرادیان کاهشی؟ ما در دبیرستان دیدیم که یک مشتق بگیریم و برابر با صفر قرار دهیم، میتوانیم همه نقاط اکسترمم را پیدا کنیم. بله، درست هست. اما این روش محدودیت دارد. وقتی توابع ما پیچیده شود (مثلا چندجملهای از درجه 6 یا بالاتر)، آنگاه حل بسته (مشتقگیری و برابر صفر قراردادن) ممکن است دیگر پاسخگو نباشد. در چنین شرایطی بهتر است سراغ روشهایی دیگری برویم. یکی از این روشها، گرادیان کاهشی است که در ادامه خواهید دید.
الگوریتم گرادیان کاهشی
میخواهم گرادیان کاهشی را طی یک مثال به شما توضیح بدهم. مثال زیر را درنظر بگیرید؛ بیایید با گرادیان کاهشی، مینیموم محلی آن را بیابیم.
قبل از اینکه توضیحات اصلی را شروع کنیم، بیایید چند نکته مقدماتی و لازم به شما بگویم.
توجه حتما میدانید که در اینجا ما یک مینیموم داریم و آن هم یک مینیموم سراسری است. پس در اینجا با گرادیان کاهشی میتوانیم به مینیموم سراسری برسیم.
نکته یادتان باشد که یک تابع محدب (Convex) همواره یک اکسترمم دارد. اما یک تابع غیرمحدب (Non Convex) بیش از یک اکسترمم دارد. تفاوت یک تابع محدب و غیرمحدب چیست؟ معیار بررسی محدب/غیرمحدب بودن یک تابع، دو نقطه مانند A و B است! به شکل زیر نگاه کنید:
- تابع محدب: هر دو نقطهای روی منحنی انتخاب کنیم، به هیچ وجه خط واصل این دو نقطه، تابع را قطع نمیکند.
- تابع غیرمحدب: دو نقطهای وجود دارد که خط واصل آنها، تابع را قطع خواهد کرد. به دو علامت ضربدر در شکل سمت راست نگاه کنید که تابع را قطع کرده است.
اگر دنبال فرمول هستید، باید بگویم که مشتق دوم یک تابع محدب همواره مثبت یا منفی است. اینطور نیست که تغییر علامت بدهد.
نکته تابع درجه دوم همواره همواره همواره یک تابع محدب هست. چون یک اکسترمم دارد و بنابراین قطعا محدب است و تمام.
بسیارخب، بعد از چند نکته، برویم مینیموم محلی تابع y=0.1x2 را با گرادیان کاهشی بدست بیاوریم. گرادیان کاهشی شامل چند مرحله ساده هست که در ادامه توضیح میدهم.
مرحله 1: انتخاب یک مقدار رندوم برای x
در اولین مرحله، به صورت رندوم یک مقدار برای x انتخاب میشود. به عنوان مثال، در شکل زیر نقطه x=2 به عنوان نقطه اولیه انتخاب شده است.
مرحله 2: محاسبه مقدار مشتق در این نقطه
حال باید محاسبه کنیم که مقدار مشتق تابع y=0.1x2 در این نقطه چقدر است. چرا باید مقدار مشتق را حساب کنیم؟ ساده است، ما میدانیم که اکسترممها در نقاطی اتفاق می افتد که مقدار مشتق برابر با صفر هست. بنابراین، اینجا مقدار مشتق را حساب میکنیم تا ببینیم صفر هست یا نه. اتفاقا کلمه گرادیان در الگوریتم گرادیان کاهشی هم به همین مشتق اشاره دارد. خب، مشاهده میکنید که صفر نیست:
اگرچه صفر نیست، اما یک اطلاعات مهم در دلش دارد. اینکه، اطلاعاتی از شیب آن نقطه به ما میدهد، چون میدانیم شیب در هر نقطه از منحنی برابر مقدار مشتق تابع در آن نقطه هست. یعنی رابطه زیر:
شیب میتواند ما را به محل مینیموم نزدیک کند. چگونه؟ در مرحله سوم میبینید…
مرحله 3: بدست آوردن نقطه جدید با مشتق
اگر به شما بگویم که یک گام به سمت نقطه مینیموم بردارید، به سمت راست میروید یا چپ؟ قطعا چپ، یعنی همیشه به دنبال سراشیبی هستید. پس شیب میتواند به ما کمک کند؛ در اینجا شیب مثبت است و فلش زرد در شکل زیر هم شیب مثبت را نشان میدهد. اگر در جهت شیب (فلش زرد) حرکت کنیم، قطعا فی ضلالٍ مبین! درعوض کافی است، در جهت منفی شیب (فلش قرمز) حرکت کنیم، دراینصورت به هدف نزدیک میشویم.
این حرفی که زدم یعنی، حرکت در راستای منفی شیب برای رسیدن به نقطه جدید، میشود رابطه زیر:
بیایید نقطه جدید را در شکل هم ببینیم:
پس:
برای رسیدن به نقطه مینیموم محلی، باید در جهت خلاف شیب (همان مشتق) حرکت کنیم.
گفتم کلمه گرادیان به همان مشتق اشاره دارد. حالا باید بگویم که کلمه کاهشی هم اشاره به حرکت در خلاف جهت گرادیان اشاره دارد.
و حالا تکرار مرحله 2 و 3
در آن تعریف سخت از گرادیان کاهشی، گفته بودم که یک الگوریتم تکراری است. یعنی یک فرآیند تکراری باید آنقدر تکرار شود تا ما به مینیموم محلی برسیم. بنابراین، اگر همین روند سه مرحله بالا را مدام انجام دهیم، انتظار داریم به نتیجه برسیم. یعنی مراحل زیر:
- مرحله 1: یک نقطه رندوم انتخاب کن.
- مرحله 2: مقدار مشتق در این نقطه را حساب کن.
- مرحله 3: از رابطه (*) xnew=x – df/dx برای محاسبه مقدار جدید استفاده کن.
- برگرد به مرحله 2
این فرآیند آنقدر تکرار میشود تا ما به نقطه مینیموم محلی برسیم. بیایید انیمیشن حرکت گوی به سمت نقطه مینیموم را ببینیم.
ببینید چطور گام به گام حرکت میکند و به سمت مینیموم محلی میرود.
ممکن است این سوال برای شما ایجاد شود که چرا رفته رفته آن فلش کوچک و کوچکتر شد؟ چون شیب رفته رفته کمتر شد. یعنی مشتق کوچکتر شد و بنابراین هربار مقدار کمتری هم به x اضافه شد.
اما یک چالش در گرادیان کاهشی
در فرمولی که تا الان ساختیم، یک چالش بزرگ وجود دارد. بیایید، یک انیمیشن دیگر از پیدا کردن نقطه مینیموم محلی ببینیم:
چه شد؟! چرا گوی ما دیوانهوار به درودیوار میخورد و یک جا آرام نمیگیرد! چرا مسیرش را پیدا نمیکند؟! دقت کنید، قدرت مشتق (شیب) زیاد است. همچون آب میتواند حیات ببخشد (ما را به مینیموم برساند) هم میتواند سیل شود و ویران کند (حرکت کاتورهای). ما باید این جریان را کنترل کنیم. کافی است یک ضریب کنترل بهنام طول گام (Step Size) برای مشتق قرار دهیم تا جلوی قدرت زیادش را بگیریم.
طول گام در گرادیان کاهشی
به رابطه زیر دقت کنید؛ یک پارامتر η اضافه کردهام که به آن طول گام گفته میشود. معمولا مقدار آن بین 0 و 1 است. این پارامتر، میتواند از قدرت مشتق بکاهد و جلوی آن حرکت نامنظم را بگیرد:
رابطه بالا، فرمول کامل گرادیان کاهشی است. حال، بیایید با طول گام 0.1 دوباره مینیموم تابع را بدست آوریم:
چه میکند این طول گام! حالا در انیمیشنهای زیر، طول گام را با مقادیر مختلف ببینید:
درمورد انیمیشنهای بالا صحبت بسیار است. میخواهم آنها را کمی تحلیل کنم:
- همه نمودارهای بالا با 25 گام کشیده شده است. یعنی 25 بار فرآیند گرادیان کاهشی را طبق رابطه (*) انجام دادهام.
- در طول گام 0.2 و 0.4 اوضاع خوب است. بهخوبی به سمت مینیموم محلی سرازیر میشویم. قبل از 25 گام به مینیموم میرسند. البته، 0.4 زودتر میرسد. یعنی، نسبت به 0.2 طول گام مناسبتری است.
- در طول گام 0.6 سریع پیش رفتیم. اما درنهایت، بین دو نقطه نوسان کردیم و به مینیموم محلی نرسیدیم. ای کاش میتوانستیم طول گام را آن نزدیکیهای مینیموم کوچکتر کنیم. آن وقت مشکل حل میشد.
- در طول گام 0.8 اوضاع بد هست. بهنظر میرسد نوسان شدیدی داریم و احتمال کمی دارد که به مینیموم محلی برسیم.
- نتایج بالا، نشان میدهد که برای این تابع طول گام 0.4 خوب است.
بسیارخب، بیایید چند نکته درمورد طول گام بگویم.
نکته طول گام یک پارامتر است که توسط ما مهندسان تنظیم میشود. این پارامتر باید به درستی انتخاب شود تا به نتیجه مطلوب برسیم.
نکته معمولا در یادگیری ماشین به پارامتر η نرخ یادگیری گفته میشود.
گرادیان کاهشی در ابعاد بالاتر
همه مثالهایی که برای شما زدم، در فضای دوبعدی بود. تنها یک متغیر مستقل (x) داشتیم که میخواستیم مقداری برایش بدست آوریم که تابع f مینیموم شود. اما در یادگیری ماشین آنقدر ابعادمان زیاد است که نمیتوانیم به تصویر بکشیم. یعنی، یک عالمه متغیر مستقل داریم. همچنین، یک عالمه نقطه مینیموم محلی داریم. درضمن، هر نقطه مینیموم محلی برایمان مطلوب نیست. بلکه به دنبال نقطهای هستیم که مینیموم تر است! به تصویر زیر نگاه کنید؛ فضا سه بعدی است و دو متغیر مستقل [x1, x2]=x داریم.
دقت کنید؛ مثلا میخواهیم از نقطه A شروع کنیم و از چاله Local Minima نجات پیدا کنیم. سپس، Saddle Point را هم به سلامت رد کنیم. درنهایت بیفتیم در چاه Global Minima. کار سختی است! 😅 خب بیایید کمی سختترش کنیم. نظرتان درباره شکل پایینی چیست؟!
تازه همه اینها در سه بعد است که میتوانیم به تصویر بکشیم. معمولا، در یادگیری ماشین ما با ابرفضا (Hyper-space) یا فضاهای بیش از سه بعد سروکار داریم.
نکته گرادیان افزایشی (Gradient Ascent) هم داریم که در آن به سمت بالا (در جهت شیب) حرکت کنیم تا به ماکزیموم محلی برسیم. معمولا، در یادگیری ماشین از گرادیان کاهشی استفاده میشود.
گرادیان کاهشی در یک نگاه
بیایید در آخرین بخش از این آموزش، آنچه را که از گرادیان کاهشی آموختیم را مرور کنیم. اول اینکه، فرآیند کامل الگوریتم گرادیان کاهشی بهصورت زیر است:
در بلوک دیاگرام بالا، چرا از ∂ برای نشان دادن مشتق استفاده کردم؟ چون دیدید که تابع ممکن است چندین متغیر مستقل داشته باشد که طبیعتا باید از همه متغیرهای مستقل مشتق بگیریم. یعنی x در تصویر بالا، یک برداری از متغیرهای مستقل بهصورت [x1, x2, …, xn]=x است. به همین خاطر است که بجای کلمه مشتق از کلمه گرادیان استفاده میشود.
در پایان بیایید یک بار دیگر آن تعریف سخت را مرور کنیم:
الگوریتم گرادیان کاهشی، یک الگوریتم بهینهسازی تکراری مرتبه-اول هست که مینیموم محلی در یک تابع مشتقپذیر را پیدا میکند.
اما تحلیل کلمات موجود در جمله بالا:
- بهینهسازی: دیدیم که یک الگوریتم بهینه سازی است که به دنبال یافتن مینیموم محلی است.
- تکراری: دیدیم که یک فرآیند سه مرحلهای آنقدر تکرار میشود تا به مینیموم محلی برسیم.
- مرتبه-اول: در گرادیان کاهشی از مشتق اول استفاده میشود. مرتبه-اول هم به همین نکته اشاره دارد.
- تابع مشتقپذیر: تابع باید مشتقپذیر باشد که بتوانیم مشتق بگیریم!
خب خسته نباشید؛ این جلسه هم تمام شد، اما حرف ناگفته بسیار است. بهینه سازی در یادگیری ماشین بسیار پراهمیت هست. در جلسات بعدی یادگیری ماشین خواهید دید. همه آنچه که در اینجا گفتم، تنها شروعی ساده در بحث بهینه سازی در یادگیری ماشین است. مثلا، الگوریتم های SGD و ADAM و Mini-batch SGD بسیار مهم هستند. اما برای شروع کافی است. در جلسه بعدی میخواهم درباره رگرسیون خطی صحبت کنم. اتفاقا کاربرد گرادیان کاهشی در رگرسیون خطی را خواهید دید. خب، حالا شما بگویید، این جلسه چطور بود؟ برای ما کامنت کنید و با هوسم همراه باشید…
مطالب زیر را حتما مطالعه کنید
آموزش یادگیری ماشین رایگان
الگوریتم k means
نرمال سازی داده در یادگیری ماشین
یادگیری گروهی
ماشین بردار پشتیبان
الگوریتم KNN
91 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
salam.
tadris Aali va mabsoot va ba tamame rize kari ha bood.
Tabrik migam. (beba
(sorry for the Finglish)
You have a great understanding of the domain plus a great skill to convey the knowledge. Thanks for sharing your brilliant talent.
ممنون محمد عزیز 🙏
بسیار عالی بود واقعا ممنون
سلام
یک سوالی داشتم ، دوره های پروژه محور غیر رایگان هم دارید که مثلا روشهای مختلف پردازش تصویر را پیاده سازی کنید . من ارشد نرم افزار هستم و در این حوزه برای ورود به بازار کار ضعف دارم . مطالب حوزه پردازش تصویر را مطالعه کردم ولی در پیاده سازی مثلا با متلب مشکل دارم . ممنون.
سلام ، مثل آموزشهای دیگتون عالی بود .
عرض سلام و خداقوت
بسیار عالی بود. ممنون
در مورد دوره های خارجی که در وبلاگ گذاشته اید سوالی داشتم. آیا این دوره ها در اصل هم رایگان است؟ یعنی اگر به سایت کورسرا دسترسی داشته باشیم این دوره ها رایگان ارایه میشوند؟
سلام، سپاس🌹🙏
بله دوره ها در اصل هم رایگان هستند.
بسیار بسیار عالی! هم ویدئو و هم نوشته ها تا به اینجا که عالی بود، تنها نکته ای که می تونم بگم اینه که لطفا معادل انگلیسی کلمات رو هم تو پرانتز بگین، چون مثلا برای افرادی که دوره های خارجی (مثل Andre NG) رو میبینن مطالب بهتر جا بیفته.
از مطالبی که گذاشتید ممنونم.
سپاس 🌹🙏
معمولا سعی می کنیم معادل انگلیسی رو برای اولین بار بنویسیم.
سلام
ممنون میشم رفرنس مطالب را بگین
سلام
تالیفی هست. این آموزش بخشی از دوره جامع یادگیری عمیق و دوره جامع یادگیری ماشین هوسم هست. جهت آشنایی بیشتر با گرادیان کاهشی و سایر الگوریتمهای بهینه سازی میتونید به این دورهها مراجعه کنید.
دوره یادگیری ماشین هوسم:
https://howsam.org/downloads/machine-learning-2022/
دوره یادگیری عمیق هوسم:
https://howsam.org/downloads/deep-learning-2022/
ممنون میشم اگه ابرفضا (Hyper-space) رو هم میشه برامون توضیح بدید و الگوریتم های SGD و ADAM و Mini-batch SGD که گفتید مهم هستند رو همینطور 🙂 ممنون
سلام
در مورد ابرفضا، SGD، Mini batch، ADAM و خیلی مطالب دیگه از الگوریتمهای بهینه سازی در دوره یادگیری عمیق هوسم صحبت شده. مدرس دوره هم نویسنده همین آموزش هستند. میتونید از طریق لینک زیر، دوره یادگیری عمیق رو بررسی کنید:
https://howsam.org/downloads/deep-learning-2022/
عااااللیییییی بود
سلام آموزشتون خیلی خوب بود .فقط من با انتخاب نقطه تصادفی اولیه تون مشکل دارم مثلا در شکل دوم اگر نقطه اولیه اول نمودار باشد و گرادیان کاهشی به دره اول برسد از کجا میداند که همینجا باید توقف کند یا به امید پیدا کردن یک دره عمیق تر به راه خود ادامه دهد ؟
طبیعتا این گرادیان کاهشی با این فرمول، وقتی به هر نقطهای برسه که گرادیان در اون نقطه صفر باشه، متوقف میشه و اون نقطه رو به عنوان نقطه بهینه اعلام میکنه. حتی ممکنه اون نقطه، مینیموم نباشه و یک نقطه زینی باشه.
اما همین گرادیان کاهشی اگه بهش مومنتوم اضافه بشه، اونوقت این پتانسیل رو داره که از درههای کم عمق رد بشه و گرفتار نشه.
عالی عالی عالی
فوق العاده بود
ممنونم ازتون
بسيار عالي. خيلي ممنون از مطلبتون
محشر بود
عااااااااالی توضیح دادید مرسی مرررررسیییییییییی
سلام و درودی دیگر
خواستم اضافه کنم استاد گرامی که مطلب را به نحوی خوب توضیح دادید که حتی افرادی که رشته های غیر مرتبط با مهندسی هستن هم به خوبی متوجه میشن و با قاطعیت از بهترین اموزش هایی که من در این زمینه دیدم هست ممنونم
سلام و درود بسیار زیبا و کاررردی توضیح دادید سپاس فراوان استاد گرامی
بدون اغراق، بنده حداقل 10 تا آموزش مختلف از بهترین اساتید دنیا و کورس های دانشگاه های مختلف مثل MIT رو دیدم.
شما با اختلاف بهترین بودید.
فوق العاده بود!
مشتاقانه پیگیر آموزش های بعدی شما هستم.
سلام
مایه افتخاره که ما رو با بهترینها مقایسه میکنید.
بسیار خوشحال شدیم. ممنون 🌹🙏
استاد تدریس یعنی شما. مطالبتون تا مغز استخوان هم نشست…
این پیام خیلی لذتبخش بود. ممنون 😊🌹🙏
سلام بسیار عالی بود سپاس فراوان
خیلی عالی عالی عالی بود دمتون گرم
خیلی خیلی خیلی ممنون 😊🌹🙏
چقدر عالی توضیح دادین خدا خیرتون بده. ای کاش ادامه بدین و همه مطالب گنگ رو برای ما اینجوری موشکافی کنید
سلام
انشالله با قدرت ادامه میدیم و هم آموزش رایگان و آموزش غیررایگان باکیفیت آماده میکنیم.
ممنون 🌹🙏
دمتون گررررررم. خیلی خوب بود. مخاطب سایتتون شدیم رفت :)))
خیلی هم عالی 😍🙏
سپاس از شما
ممنون 🌹🙏
با سلام و درود
(همین خودمونی که توضیح داده بودین) عشق کردم
عشقید به مولا
سلام
ممنون بابت پیام باعشقتون 😊🙏
ایول دمتون گرم
ممنون 🌹🙏
سلام وقت بخیر. ممنون
معنی Convex و Nonconvex جابجا نوشته شده است
سلام محمد عزیز،
اصلاح شد.
ممنون که این مورد رو گزارش دادید. 🌹🙏
سلام و عرض ادب
خیلی خیلی عالی بود آقای مهندس حرفی برای گفتن نیست.
سپاس از ساده سازی مطلب و توضیحات بسیار خوبتون.
سلام
ممنون از شما بابت کامنت 🌹🙏
دمتون گرم
تا حالا روی یک مطلب اینقدر شیر فهم نشده بودم
پایدار باشید
خیلی هم عالی 😊🙏
سلام و سپاس فراوان
روحم تازه میشه وقتی مطالب هوسم رو میخونم.
قلمتون پایدار:)
سلام
روح ما هم تازه شد وقتی پیام شما رو خوندیم 😊
ممنون 🌹🙏
سلام خسته نباشید
ببخشید نویسنده این مطلب کیه؟
مهندس سید سجاد اشرفی
با کلیک روی لینک بالا، میتونید پیج ایشون رو مشاهده کنید.
سلام
اگر شيب منفي باشه باز هم بايد خلاف جهت شيب حركت كنيم؟
ميشه توضيح بديد
چون وقتي شيب منفيه و ميخوايم به مينيمم برسيم بايد در جهتش حركت كنيم
سلام
چه شیب منفی باشه چه شیب مثبت، درهرصورت باید در خلاف جهت شیب حرکت کنیم. هیچ تبصره و قانونی وجود نداره که خلاف جهت شیب رو نقض کنیم و در جهت شیب حرکت کنیم.
بسیار بسیار عالی .
عالی عالی
ممنون ممنون 😊🙏
بسیار ممنون از توضیح بسیار قابل فهم
یک سوال هم داشتم ممنون میشم پاسخ بدید
تفاوت گرادیان نزولی (Gradient Descent) با گرادیان مزدوج(Conjugate gradient) تو چی هست؟
فک میکنم خیلی شبیه هم هستن
چقد خوب و کاربردی توضیح دادید من تو کتاب deep learnining هم یه مثال خوب داشت اونم خوندم قشنگ فهمیدم توصیه میکنم مثال هم کار کنید
سلام و وقت بخیر من حوصله نظر نوشتن ندارم ولی اونقدر با این اموزش حال کردم گفتم اگه تشکر نکنم بی انصافیه
یاشاسین مرسی
سلام
ممنون از شما برای کامنت 🌹🙏
کامنت یا فیدبک دادن باعث میشه که ما و سایر موسسههای آموزشی، انرژی مضاعف بگیریم و تلاش کنیم که کیفیت و کمیت رو ارتقا بدیم.
موفق باشید
عالی بود مرسی
سپاس 🌹🙏
سلام
توضیحات عالی بود
ممنون از وقت و انرژی که گذاشتید
خدا قوت
سلام
ممنون 🌹🙏
واقعا خسته نباشید
توضیحات به زبان ساده و قابل فهم به پشتوانه مهم، فهم کامل موضوع توسط آموزش دهنده نیازمند است.
بسیار عالی بود
سلام
خوشحالیم که آموزش مورد رضایت شما واقع شده.
ممنون 🌹🙏
خیلی عالی
دم شما گرم
سلام
سپاس 🌹🙏
جناب اقای قربانزاده من از نحوه بیان خصوصا ساده توام با مثال خیلی مستفیذ شدم .موفق موید باشید
سلام
سپاس 🌹🙏
البته این آموزش رو مهندس سید سجاد اشرفی نوشتن.
موفق باشید
سلام.من دوساله در زمینه شبکه های عصبی فعالیت می کنم .می تونم به جرات بگم یکی از قوی ترین مطالبی بود که در مورد گرادیان کاهشی دیدم.من الان خودم در گیر نوشتن یک تابع خطا هستم.و متاسفاه تابع خطای من مشتق پذیر نیست.به هر حال ممنون از این مطلب عالی و فوق العاده.
سلام
خوندن پیام شما لذت خاصی داشت، چون خودتون دانش و تجربه ارزشمندی در این زمینه دارید و این آموزش رو تایید کردید. براتون آرزوی موفقیت داریم و امیدواریم مشکل کارتون هم حل بشه. 🌹🙏
با سلام و آرزوی موفقیت برای شما ، پیشنهاد می کنم با دوستانی که رشته ریاضی خوانده اند به خصوص آنهایی که گرایش آنالیز یا گرایش معادلات دیفرانسیل را دنبال کرده اند مشورت بفرمایید . به احتمال خیلی زیاد در یافتن تابع مشتق پذیر مورد نظرتان می توانند راهنمایی کنند .
سلام
ممنون بابت این پیشنهاد خوب 🌹🙏
سلام و خدا قوت
مطالب بسیار ساده و روان بیان شده و اشکال گرافیکی خیلی قدرت انتقال مفاهیم رو بیشتر کرده
بابت وقت و زمانی که صرف تولید این محتوای ارزشمند کردین خیلی خیلی تشکر میکنم
سلام
سپاس 🌹🙏
انشالله بتونیم آموزشهای بیشتر و باکیفیتتری آماده کنیم.
دمت گرم خدایی عالی بود
😘😘😘😘😘😘😘
سلام
ممنون 🌹🙏
سلام میشه کد برنامه به زبان متلب رو به ایمیلم ارسال کنیدalireza.fm137@gmail.com
سلام
کد متلب نداریم.
کدهای این آموزش به زبان پایتون و فریمورک نامپای نوشته شده.
چقد خوب توضیح میدین عالیه من قشنگ فهمیدم قبلا اموزش دیگه دیده بودم گیج شدم ممنون ازتون
سلام
خوشحالیم که آموزش براتون مفید بوده.
از شما بابت کامنت ممنونیم 🌹🙏
ممنون از توضیحات بی نهایت عالی شما
یک سوال : برای ساخت این انیمیشنها که خیلی در یادگیری مفید هستند از چه نرم افزاری استفاده شده.؟
سپاس
سلام
سپاس 💕🙏
همه این انیمیشنها با پایتون ساخته شده و تیم هوسم همه اینها رو از صفر نوشته…
سلام خیلی ممنون برای توضیحات خوبتون.
فقط ای کاش لطف میکردید یک مثال برای بهینه سازی دو متغیر مستقل با روش گرادیان نزولی هم توضیح میدادید.
سلام
انشالله دو متغیره رو هم اضافه میکنیم.
ممنون بابت کامنت و پیشنهادتون 🌹🙏
چقدر خوب توضیح دادید!
دمتون گرم
سلام
سپاس 🌹🙏
سلام و سپاس
بسیار روان و خوب بود
ممنون
سلام
سپاس 🌹🙏
خیلی خوب و جامع و با متنی روان توضیح دادید.
سلام
سپاس 🌹🙏