التعلم العميق: مقدمة
الذكاء الاصطناعي يتطور كل يوم، والتعلم العميق هو أحد العوامل المساهمة في هذا التطور. فمن هذا المنطلق، تهدف هذه المقالة إلى التعريف بأساسيات التعلم العميق عبر شرح المصطلحات والعوامل المؤثرة في بناء نماذج التعلم العميق.
مقدمة
التعلم العميق هو فرع من فروع تعلم الآلة يتعامل مع خوارزميات مستوحاة من بنية الشبكات العصبية في الدماغ البشري. بعبارة أخرى، هو يحاكي طريقة أداء دماغنا لمهمة معينة. تشبه خوارزميات التعلم العميق طريقة تنظيم الجهاز العصبي، حيث تتصل كل خلية عصبية بالخلايا الأخرى وتمرر المعلومات فيما بينها.
فبنفس الطريقة التي تعمل بها الخلايا العصبية في المخ، كل خلية في خوارزميات التعلم العميق 1) تأخذ مٌدخل عددي، 2) تعمل بعض العمليات على المدخل، ثم 3) ترسل المخرج الذي إما أن يرسل لخلايا أخرى لعمليات إضافية، أو يكون هو المخرج النهائي.
وتكون هذه الخلايا موجودة على ثلاث طبقات أو أكثر. الخلايا الموجودة في الطبقة الأولى تأخذ المدخلات، والطبقة الأخيرة تخرج المخرجات، وما بينهما تسمى الطبقات الخفيّة والتي تستقبل المعلومات من الطبقة السابقة وتعالجها ثم تمررها للطبقة التالية.
ونجد أن نماذج التعلم العميق يتحسن أدائها كلما زادت البيانات المدخلة، على عكس نماذج تعلم الآلة القديمة التي تتوقف عن التحسن بعد نقطة معينة تسمى نقطة التشبع.
أحد الفروق الجلية بين نماذج تعلم الآلة والتعلم العميق تكمن في مرحلة استخراج الخصائص، حيث تتم بشكل يدوي من الإنسان في تعلم الآلة، بينما يقوم التعلم العميق باستخراج الخصائص بدون تحديدها مسبقاً.
مثال
غالباً ما تستخدم خوارزميات التعلم العميق لتصنيف الصور، لكونها تستخرج خصائص دقيقة من الصور بشكل تلقائي، كما في الصورة التالية.
لكننا في هذا المقال، سنشرح مثالاً أبسط، وهو توقع نتيجة الاختبار بناء على ساعات النوم وساعات الدراسة. الصورة التالية تتوقع نتيجة طالب درس لساعتين، ونام لمدة 9 ساعات، فكانت النتيجة المتوقعة هي 85 من 100.
الأوزان
ذكرنا سابقاً بأن كل خلية تعالج المدخلات لها من الطبقة السابقة، فأول ما تقوم به الخلية هو ضرب قيمة المدخل بوزن معين يتم تحديده عشوائياً في البداية.
وكلما تعلمت الشبكة العصبية أكثر عن تأثير كل مدخل في نتيجة اختبار الطالب، ستقوم بتعديل الوزن، بحيث تعطي وزناً أعلى للمدخلات الأهم، وكلما قلت الأهمية، قل الوزن. فالمدخلات التي لا تؤثر في درجة الاختبار، سيكون وزنها صفراً.
فمثلاً لو كان المدخل a، وقيمة الوزن هي W. فإن المدخل بعد العملية يساوي a*W1
الانحياز
بالإضافة إلى الأوزان، يتم إضافة قيمة ثابتة إلى المدخل. بعد ضرب قيمة المدخل في الوزن، يتم إضافة عدد ثابت يسمى الانحياز ويرمز له بالحرف b. فتصبح المعادلة كالتالي:
عودة إلى المثال السابق، فإن أول خطوة هي توليد أوزان عشوائية (.2 ، .6 ، .1 ، .8 ، .3 ، .7).
ثم يتم ضرب كل مدخل x (9، 2) بالوزن المقابل له w من (.2 ، .6 ، .1 ، .8 ، .3 ، .7). وفي الأخير، يتم إضافة العدد الثابت b -صفر في هذا المثال- لكل ناتج. ثم يتم حساب مجموع هذه النواتج ولنرمز له بالحرف u.
فقيمة u للخلية الأولى في الطبقة الخفيّة هي 7.6، نتيجةً لجمع (2 * .2) و (9 * .8). وبنفس الطريقة تم حساب قيمة u الخليتين الأخرى.
دالة التفعيل
حتى تتم ترجمة المدخلات إلى مخرجات، يتم تطبيق دالة تفعيل على المعادلة السابقة. وناتج الدالة f(x) يكون مدخل للخلايا في الطبقة التالية، أو مخرج نهائي.
مثال على دالة تفعيل
هناك الكثير من دوال التفعيل، ودالة سيجمويد من أكثرها استخداماً.
تم تطبيق دالة سيجمويد في المثال السابق، لترجمة الناتج حتى يكون مدخل للخلية النهائية. فعلى سبيل المثال، قيمة الخلية الأولى 0.9994 هي نتيجة حساب سيجمويد لـ 7.6. وبنفس الطريقة تم حساب قيم بقية الخلايا.
والآن يمكننا حساب الناتج النهائي عبر جمع نتيجة ضرب كل خلية بالوزن المقابل
ومن ثم تطبيق دالة سيجمويد على الناتج السابق
وبذلك تكون النسبة المتوقع أن يحصل عليها الطالب هي 85 من 100
شكراً لوقتك
أتمنى أن تكون المقالة أفادتك، وأختم بتعريف ليبينق يانق للشبكات العصبية:
الشبكات العصبية تتكون من عدد كبير من الخلايا العصبية الاصطناعية، والمرتبطة ببعضها البعض، حيث تمرر البيانات فيما بينها، وترتبط كل خلية بوزن يتم ضبطه استنادًا إلى خبرة الشبكة.
قاموس
الذكاء الاصطناعي: Artificial Intelligence
التعلم العميق: Deep Learning
الأوزان: Weights
الانحياز: Bias
دالة التفعيل: Activation Function
مراجع
25 Must Know Terms & concepts for Beginners in Deep Learning Build a flexible Neural Network with Backpropagation in Python