آموزش گراف های محاسباتی در یادگیری عمیق با پایتون

پس انتشار (Backpropagation) در فریم ورک های یادگیری عمیق مانند TensorFlow،Torch،Theano و غیره با استفاده از گراف‌های محاسباتی پیاده‌سازی می‌شود. به‌طور قابل توجهی، درک پس انتشار در گراف های محاسباتی ترکیبی از چندین الگوریتم مختلف و تغییرات آن‌ها مانند پس انتشار از طریق زمان (Backprop through time) و پس انتشار با وزن‌های مشترک (Backprop with shared weights) است. وقتی همه چیز به گراف محاسباتی تبدیل شد، آن‌ها همان الگوریتم هستند — فقط پس انتشار در گراف های محاسباتی.

گراف محاسباتی چیست؟

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

برای مثال، اینجا یک معادله ریاضی ساده داریم:

p = x + y

ما می‌توانیم گراف محاسباتی این معادله را به شکل زیر رسم کنیم:

گراف محاسباتی معادله ۱

گراف محاسباتی فوق یک گره جمع (با علامت “+”) دارد که دو متغیر ورودی x و y و یک خروجی q دارد.

حالا یک مثال دیگر که کمی پیچیده‌تر است:

g = (x + y) * z

معادله بالا با گراف محاسباتی زیر نمایش داده می‌شود:

گراف محاسباتی معادله ۲

پیشنهاد ویژه : آموزش طراحی سایت با پایتون

گراف های محاسباتی و پس انتشار

گراف های محاسباتی و پس انتشار هر دو مفاهیم اصلی و مهم در یادگیری عمیق برای آموزش شبکه‌های عصبی هستند.

مرحله پیش‌روی (Forward Pass)

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

برای مثال، فرض کنید مقادیر زیر را به ورودی‌ها اختصاص داده‌ایم:

x = 1, y = 3, z = 3

با اختصاص این مقادیر به ورودی‌ها، می‌توانیم مرحله پیش‌روی را انجام دهیم و مقادیر خروجی‌ها را در هر گره به دست آوریم.

ابتدا از مقدار x = 1 و y = 3 استفاده می‌کنیم تا مقدار p = 4 به دست آید.

مرحله پیش‌روی

سپس از p = 4 و z = -3 استفاده می‌کنیم تا مقدار g = -12 به دست آید. ما از چپ به راست، به جلو حرکت می‌کنیم.

معادله مرحله پیش‌روی

اهداف مرحله بازگشتی (Backward Pass)

در مرحله بازگشتی، هدف ما محاسبه گرادیان‌ها برای هر ورودی نسبت به خروجی نهایی است. این گرادیان‌ها برای آموزش شبکه عصبی با استفاده از روش نزول گرادیان (Gradient Descent) ضروری هستند.

برای مثال، ما می‌خواهیم گرادیان‌های زیر را به دست آوریم:

گرادیان‌های مورد نظر

گرادیان‌های مورد نظر

مرحله بازگشتی (پس انتشار)

ما مرحله بازگشتی را با یافتن مشتق خروجی نهایی نسبت به خود خروجی نهایی شروع می‌کنیم. بنابراین، این نتیجه در مشتق‌گیری واحد خواهد بود و مقدار آن برابر با یک است.

مرحله بازگشتی (پس انتشار)

گراف محاسباتی ما اکنون به شکل زیر است:

مرحله بازگشتی

سپس، مرحله بازگشتی را از طریق عملیات ضرب (*) انجام خواهیم داد. در اینجا، ما گرادیان‌ها را برای p و z محاسبه خواهیم کرد. از آنجایی که g = p*z، می‌دانیم که:

ما مقادیر z و p را از مرحله پیش‌روی می‌دانیم. بنابراین:

اکنون می‌خواهیم گرادیان‌ها را برای x و y محاسبه کنیم:

با این حال، ما می‌خواهیم این کار را به‌طور کارآمد انجام دهیم (اگرچه x و g فقط دو گام از هم فاصله دارند، فرض کنید که فاصله آن‌ها بسیار زیاد است). برای محاسبه این مقادیر به‌طور کارآمد، از قاعده زنجیره‌ای مشتق‌گیری استفاده خواهیم کرد. طبق قاعده زنجیره‌ای داریم:

اما ما از قبل می‌دانیم که dg/dp = -3، dp/dx، dp/dy ساده هستند چون p به‌طور مستقیم به x و y وابسته است. بنابراین داریم:

در نتیجه:

همچنین برای ورودی y:

دلیل اصلی انجام این مرحله بازگشتی این است که زمانی که ما مجبور بودیم گرادیان x را محاسبه کنیم، فقط از مقادیر قبلاً محاسبه شده استفاده کردیم و از dq/dx (مشتق خروجی گره نسبت به ورودی همان گره) بهره بردیم. ما از اطلاعات محلی برای محاسبه یک مقدار جهانی استفاده کردیم.

مراحل آموزش یک شبکه عصبی

برای آموزش یک شبکه عصبی، مراحل زیر را دنبال کنید:

  1. برای هر نقطه داده x در مجموعه داده، مرحله پیش‌روی را با x به‌عنوان ورودی انجام دهید و هزینه c را به‌عنوان خروجی محاسبه کنید.

  2. مرحله بازگشتی را از c شروع کرده و گرادیان‌ها را برای تمام گره‌ها در گراف محاسبه کنید. این شامل گره‌هایی است که وزن‌های شبکه عصبی را نمایش می‌دهند.

  3. سپس وزن‌ها را با استفاده از فرمول W = W – learning rate * gradients به‌روزرسانی کنید.

  4. این فرایند را تکرار کنید تا زمانی که معیار توقف برآورده شود.

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج آموزش صفر تا صد فتوشاپ به زبان فارسی – حرفه ای شوید
  • انتشار: ۳ شهریور ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید