تعلم آلي - CS ۲۲۹

ملخص مختصر التعلم العميق

Star

النص الأصلي بواسطة افشین عمیدی و شروین عمیدی
تمت الترجمة بواسطة امجد الخطابي. تمت المراجعة بواسطة زيد اليافعي.

الشبكة العصبونية الاصطناعية (neural networks)

الشبكة العصبونية الاصطناعيةهي عبارة عن نوع من النماذج يبنى من عدة طبقات , اكثر هذة الانواع استخداما هي الشبكات الالتفافية و الشبكات العصبونية المتكرره

البنية المصطلحات حول بنية الشبكة العصبونية موضح في الشكل ادناة

Illustration

عبر تدوين $i$ كالطبقة رقم $i$ و $j$ للدلالة على رقم الوحده الخفية في تلك الطبقة , نحصل على:

\[\boxed{z_j^{[i]}={w_j^{[i]}}^Tx+b_j^{[i]}}\]

حيث نعرف $w, b, z$ كالوزن , و معامل التعديل , و الناتج حسب الترتيب.


دالة التفعيل (activation function) دالة التفعيل تستخدم في نهاية الوحده الخفية لتضمن المكونات الغير خطية للنموذج. هنا بعض دوال التفعيل الشائعة

Sigmoid Tanh ReLU Leaky ReLU
$g(z)=\displaystyle\frac{1}{1+e^{-z}}$ $g(z)=\displaystyle\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}$ $g(z)=\textrm{max}(0,z)$ $g(z)=\textrm{max}(\epsilon z,z)$
و $\epsilon\ll1$
Illustration Illustration Illustration Illustration

دالة الانتروبيا التقاطعية للخسارة (cross-entropy loss) في سياق الشبكات العصبونية, دالة الأنتروبيا $L(z,y)$ تستخدم و تعرف كالاتي:

\[\boxed{L(z,y)=-\Big[y\log(z)+(1-y)\log(1-z)\Big]}\]

معدل التعلم (learning rate) معدل التعلم, يرمز , و هو مؤشر في اي تجاة يتم تحديث الاوزان. يمكن تثبيت هذا المعامل او تحديثة بشكل تأقلمي . حاليا اكثر النسب شيوعا تدعى Adam , وهي طريقة تجعل هذه النسبة سرعة التعلم بشكل تأقلمي $\alpha$ او $\eta$ ب ,


التغذية الخلفية (backpropagation) التغذية الخلفية هي طريقة لتحديث الاوزان في الشبكة العصبونية عبر اعتبار القيم الحقيقة للناتج مع القيمة المطلوبة للخرج. المشتقة بالنسبة للوزن $w$ يتم حسابها باستخدام قاعدة التسلسل و تكون عبر الشكل الاتي:

\[\boxed{\frac{\partial L(z,y)}{\partial w}=\frac{\partial L(z,y)}{\partial a}\times\frac{\partial a}{\partial z}\times\frac{\partial z}{\partial w}}\]

كنتيجة , الوزن سيتم تحديثة كالتالي:

\[\boxed{w\longleftarrow w-\alpha\frac{\partial L(z,y)}{\partial w}}\]

تحديث الاوزان في الشبكات العصبونية , يتم تحديث الاوزان كما يلي:
- الخطوة 1: خذ حزمة من بيانات التدريب
- الخطوة 2: قم بعملية التغذيه الامامية لحساب الخسارة الناتجة
- الخطوة 3: قم بتغذية خلفية للخساره للحصول على دالة الانحدار
- الخطوة 4: استخدم قيم الانحدار لتحديث اوزان الشبكة


الاسقاط (dropout) الاسقاط هي طريقة الغرض منها منع التكيف الزائد للنموذج في بيانات التدريب عبر اسقاط بعض الواحدات في الشبكة العصبونية, العصبونات يتم اما اسقاطها باحتمالية $p$ او الحفاظ عليها باحتمالية $1-p$.


الشبكات العصبونية الالتفافية (CNN)

احتياج الطبقة الالتفافية عبر رمز $W$ لحجم المدخل , $F$ حجم العصبونات للطبقة الالتفافية , $P$ عدد الحشوات الصفرية , فأن $N$ عدد العصبونات لكل حجم معطى يحسب عبر الاتي:

\[\boxed{N=\frac{W-F+2P}{S}+1}\]

تنظيم الحزمة (batch normalization) هي خطوه من قيم التحسين الخاصة $\gamma, \beta$ والتي تعدل الحزمة $\{x_i\}$. لنجعل $\mu_B, \sigma_B^2$ المتوسط و الانحراف للحزمة المعنية و نريد تصحيح هذه الحزمة, يتم ذلك كالتالي:

\[\boxed{x_i\longleftarrow\gamma\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta}\]

في الغالب تتم بعد الطبقة الالتفافية أو المتصلة كليا و قبل طبقة التغيرات الغير خطية و تهدف للسماح للسرعات التعليم العالية للتقليل من الاعتمادية القوية للقيم الاولية.


الشبكات العصبونية التكرارية (RNN)

انواع البوابات هنا الانواع المختلفة التي ممكن مواجهتها في الشبكة العصبونية الاعتيادية:

بوابة ادخال بوابة نسيان بوابة منفذ بوابة اخراج
كتابة ام عدم كتابة الى الخلية؟ مسح ام عدم مسح الخلية؟ كمية الكتابة الى الخلية ؟ مدى الافصاح عن الخلية ؟

LSTM ذاكرة طويلة قصير الامد (long short-term memory) هي نوع من نموذج ال RNN تستخدم لتجنب مشكلة اختفاء الانحدار عبر اضافة بوابات النسيان.


التعلم و التحكم المعزز (reinforcement learning)

الهدف من التعلم المعزز للعميل الذكي هو التعلم لكيفية التأقلم في اي بيئة.

تعريفات

عملية ماركوف لاتخاذ القرار عملية ماركوف لاتخاذ القرار هي سلسلة خماسية $(\mathcal{S},\mathcal{A},\{P_{sa}\},\gamma,R)$ حيث
- $\mathcal{S}$ هي مجموعة من حالات البيئة
- $\mathcal{A}$ هي مجموعة من حالات الاجراءات
- $\{P_{sa}\}$ هو حالة احتمال الانتقال من الحالة $s\in\mathcal{S}$ و $a\in\mathcal{A}$
- $\gamma\in[0,1[$ هي عامل الخصم
- $R:\mathcal{S}\times\mathcal{A}\longrightarrow\mathbb{R}$ or $R:\mathcal{S}\longrightarrow\mathbb{R}$ هي دالة المكافأة والتي تعمل الخوارزمية على جعلها اعلى قيمة


دالة القواعد دالة القواعد $\pi:\mathcal{S}\longrightarrow\mathcal{A}$ هي التي تقوم بترجمة الحالات الى اجراءات.

ملاحظة: نقول ان النموذج ينفذ القاعدة المعينه $\pi$ للحالة المعطاة $s$ ان نتخذ الاجراء$a=\pi(s)$.


دالة القاعدة لاي قاعدة معطاة $\pi$ و حالة $s$, نقوم بتعريف دالة القيمة $V^{\pi}$ كما يلي:

\[\boxed{V^\pi(s)=E\Big[R(s_0)+\gamma R(s_1)+\gamma^2 R(s_2)+...|s_0=s,\pi\Big]}\]

معادلة بيلمان معادلات بيلمان المثلى تشخص دالة القيمة دالة القيمة $V^{\pi^*}$ $\pi^*$:للقاعدة المثلى

\[\boxed{V^{\pi^*}(s)=R(s)+\max_{a\in\mathcal{A}}\gamma\sum_{s'\in S}P_{sa}(s')V^{\pi^*}(s')}\]

$\pi^*$ للحالة المعطاه $s$ تعطى كاالتالي: ملاحظة: نلاحظ ان القاعدة المثلى

\[\boxed{\pi^*(s)=\underset{a\in\mathcal{A}}{\textrm{argmax}}\sum_{s'\in\mathcal{S}}P_{sa}(s')V^*(s')}\]

خوارزمية تكرار القيمة (value iteration algorithm) خوارزمية تكرار القيمة تكون في خطوتين:

1) نقوم بوضع قيمة اولية:

\[\boxed{V_0(s)=0}\]

2) نقوم بتكرير القيمة حسب القيم السابقة:

\[\boxed{V_{i+1}(s)=R(s)+\max_{a\in\mathcal{A}}\left[\sum_{s'\in\mathcal{S}}\gamma P_{sa}(s')V_i(s')\right]}\]

التعلم-$Q$ ($Q$-learning) هي طريقة غير منمذجة لتقدير $Q$, و تتم كالاتي:

\[\boxed{Q(s,a)\leftarrow Q(s,a)+\alpha\Big[R(s,a,s')+\gamma\max_{a'}Q(s',a')-Q(s,a)\Big]}\]