التعلم العميق
التعلم العميق هو شكل متقدم من التعلم الآلي الذي يحاول محاكاة الطريقة التي يتعلم بها الدماغ البشري. مفتاح التعلم العميق هو إنشاء شبكة عصبية اصطناعية تحاكي النشاط الكهروكيميائية في الخلايا العصبية البيولوجية باستخدام الوظائف الرياضية، كما هو موضح هنا.
الشبكة العصبية البيولوجية | الشبكة العصبية الاصطناعية |
---|---|
![]() |
![]() |
الخلايا العصبية النار استجابة للمحفزات الكهروكيميائية. عند إطلاقها، يتم تمرير الإشارة إلى الخلايا العصبية المتصلة. | كل الخلايا العصبية هي دالة تعمل على قيمة إدخال (x) ووزن (w). يتم تضمين الدالة في دالة تنشيط تحدد ما إذا كنت تريد تمرير الإخراج. |
تتكون الشبكات العصبية الاصطناعية من طبقات متعددة من الخلايا العصبية - تحدد أساسا وظيفة متداخلة بعمق. هذه البنية هي السبب في الإشارة إلى التقنية باسم التعلم العميق وغالبا ما يشار إلى النماذج التي تنتجها باسم الشبكات العصبية العميقة (DNNs). يمكنك استخدام الشبكات العصبية العميقة لأنواع عديدة من مشكلة التعلم الآلي، بما في ذلك الانحدار والتصنيف، بالإضافة إلى نماذج أكثر تخصصا لمعالجة اللغة الطبيعية ورؤية الكمبيوتر.
تماما مثل تقنيات التعلم الآلي الأخرى التي تمت مناقشتها في هذه الوحدة النمطية، يتضمن التعلم العميق ملاءمة بيانات التدريب لوظيفة يمكنها التنبؤ بالتسمية (y) استنادا إلى قيمة ميزة واحدة أو أكثر (x). الدالة (f(x)) هي الطبقة الخارجية لدالة متداخلة حيث تغلف كل طبقة من طبقة الشبكة العصبية الوظائف التي تعمل على قيم x والوزن (w) المقترنة بها. تتضمن الخوارزمية المستخدمة لتدريب النموذج تغذية قيم الميزة (x) بشكل متكرر في بيانات التدريب للأمام من خلال الطبقات لحساب قيم الإخراج ل ŷ، والتحقق من صحة النموذج لتقييم مدى بعد قيم ŷ المحسوبة عن قيم y المعروفة (التي تحدد مستوى الخطأ أو الخسارة في النموذج)، ثم تعديل الأوزان (w) لتقليل الخسارة. يتضمن النموذج المدرب قيم الوزن النهائية التي تؤدي إلى التنبؤات الأكثر دقة.
مثال - استخدام التعلم العميق للتصنيف
لفهم كيفية عمل نموذج الشبكة العصبية العميقة بشكل أفضل، دعونا نستكشف مثالا يتم فيه استخدام شبكة عصبية لتحديد نموذج تصنيف لأنواع البطريق.
تتكون بيانات الميزة (x) من بعض قياسات البطريق. وبالتحديد، فإن القياسات هي:
- طول منقار البطريق.
- عرض منقار البطريق.
- طول قلابات البطريق.
- وزن البطريق.
في هذه الحالة، x هو متجه مكون من أربع قيم، أو رياضيا، x=[x1,x2,x3,x4].
التسمية التي نحاول التنبؤ بها (y) هي أنواع البطريق، وأن هناك ثلاثة أنواع محتملة يمكن أن تكون:
- Adelie
- Gentoo
- Chinstrap
هذا مثال على مشكلة التصنيف، حيث يجب أن يتنبأ نموذج التعلم الآلي بالفئة الأكثر احتمالا التي تنتمي إليها الملاحظة. يقوم نموذج التصنيف بإنجاز ذلك عن طريق توقع تسمية تتكون من الاحتمال لكل فئة. بمعنى آخر، y هو متجه من ثلاث قيم احتمالية؛ واحد لكل فئة من الفئات المحتملة: [P(y=0|x)، P(y=1|x)، P(y=2|x)].
عملية الاستدلال على فئة البطريق المتوقعة باستخدام هذه الشبكة هي:
- يتم تغذية متجه الميزة لمراقبة البطريق في طبقة الإدخال للشبكة العصبية، والتي تتكون من خلايا عصبية لكل قيمة x . في هذا المثال، يتم استخدام متجه x التالي كإدخل: [37.3، 16.8، 19.2، 30.0]
- تحسب وظائف الطبقة الأولى من الخلايا العصبية مجموعا مرجحا عن طريق الجمع بين قيمة xووزن w ، وتمريرها إلى دالة تنشيط تحدد ما إذا كانت تفي بالحد الذي سيتم تمريره إلى الطبقة التالية.
- يتم توصيل كل خلايا عصبية في طبقة بجميع الخلايا العصبية في الطبقة التالية (بنية تسمى أحيانا شبكة متصلة بالكامل) بحيث يتم تغذية نتائج كل طبقة إلى الأمام من خلال الشبكة حتى تصل إلى طبقة الإخراج.
- تنتج طبقة الإخراج متجها من القيم؛ في هذه الحالة، باستخدام softmax أو وظيفة مشابهة لحساب توزيع الاحتمال للفئات الثلاث المحتملة من البطريق. في هذا المثال، متجه الإخراج هو: [0.2، 0.7، 0.1]
- تمثل عناصر المتجه الاحتمالات للفئات 0 و1 و2. القيمة الثانية هي الأعلى، لذلك يتوقع النموذج أن أنواع البطريق هي 1 (Gentoo).
كيف تتعلم الشبكة العصبية؟
تعد الأوزان في الشبكة العصبية مركزية لكيفية حساب القيم المتوقعة للتسميات. أثناء عملية التدريب، يتعلم النموذج الأوزان التي ستؤدي إلى التنبؤات الأكثر دقة. دعونا نستكشف عملية التدريب بمزيد من التفصيل لفهم كيفية حدوث هذا التعلم.
- يتم تعريف مجموعات بيانات التدريب والتحقق من الصحة، ويتم تغذية ميزات التدريب في طبقة الإدخال.
- تطبق الخلايا العصبية في كل طبقة من طبقة الشبكة أوزانها (التي يتم تعيينها بشكل عشوائي في البداية) وتغذي البيانات من خلال الشبكة.
- تنتج طبقة الإخراج متجها يحتوي على القيم المحسوبة ل ŷ. على سبيل المثال، قد يكون إخراج تنبؤ فئة البطريق [0.3. 0.1. 0.6].
- تستخدم دالة الخسارة لمقارنة قيم ŷ المتوقعة بقيم y المعروفة وتجميع الفرق (الذي يعرف باسم الخسارة). على سبيل المثال، إذا كانت الفئة المعروفة للحالة التي أرجعت الإخراج في الخطوة السابقة هي Chinstrap، فيجب أن تكون القيمة y[0.0، 0.0، 1.0]. الفرق المطلق بين هذا والمتجه ŷ هو [0.3، 0.1، 0.4]. في الواقع، تحسب دالة الخسارة التباين الإجمالي لحالات متعددة وتلخصه كقيمة خسارة واحدة.
- نظرا لأن الشبكة بأكملها هي في الأساس دالة متداخلة كبيرة، يمكن لدالة التحسين استخدام حساب التفاضلية لتقييم تأثير كل وزن في الشبكة على الخسارة، وتحديد كيفية تعديلها (لأعلى أو لأسفل) لتقليل مقدار الخسارة الإجمالية. يمكن أن تختلف تقنية التحسين المحددة، ولكنها تتضمن عادة نهج هبوط متدرج حيث يتم زيادة كل وزن أو تقليله لتقليل الخسارة.
- يتم توفير التغييرات على الأوزان مرة أخرى إلى الطبقات في الشبكة، مع استبدال القيم المستخدمة سابقا.
- تتكرر العملية عبر تكرارات متعددة (تعرف باسم الفترات) حتى يتم تقليل الخسارة ويتنبأ النموذج بدقة مقبولة.
ملاحظة
في حين أنه من الأسهل التفكير في كل حالة في بيانات التدريب التي يتم تمريرها عبر الشبكة واحدا تلو الآخر، في الواقع يتم تجميع البيانات في مصفوفات ومعالجتها باستخدام حسابات الجبر الخطي. لهذا السبب، أفضل أداء لتدريب الشبكة العصبية على أجهزة الكمبيوتر ذات وحدات المعالجة الرسومية (GPUs) التي تم تحسينها لمعالجة المتجهات والمصفوفة.