المزيد من كتب التعلم العميق......كتب التعلم العميق

كتاب التعمق في التعلم العميق:الجزء الاول: الأساسيات والمقدمات

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

قبل بضع سنوات فقط، لم يكن هناك جحافل من علماء التعلم العميق deep learning يطورون منتجات وخدمات ذكية في الشركات الكبرى والشركات الناشئة. عندما دخلنا هذا المجال، لم يكن التعلم الآلي machine learning يتصدر عناوين الصحف اليومية. لم يكن لدى والدينا أي فكرة عن ماهية التعلم الآلي، ناهيك عن سبب تفضيلنا له على مهنة في الطب أو القانون. كان التعلم الآلي تخصصًا أكاديميًا في السماء الزرقاء اقتصرت أهميته الصناعية على مجموعة ضيقة من تطبيقات العالم الحقيقي، بما في ذلك التعرف على الكلام speech recognition والرؤية الحاسوبية computer vision. علاوة على ذلك، تطلب العديد من هذه التطبيقات قدرًا كبيرًا من المعرفة بالمجال لدرجة أنه غالبًا ما كان يُنظر إليها على أنها مناطق منفصلة تمامًا كان التعلم الآلي مكونًا صغيرًا لها. في ذلك الوقت، كانت الشبكات العصبية neural networks – أسلاف أساليب التعلم العميق التي نركز عليها في هذا الكتاب – تعتبر بشكل عام عفا عليها الزمن.

في السنوات القليلة الماضية فقط، فاجأ التعلم العميق العالم، مما أدى إلى تقدم سريع في مجالات متنوعة مثل لرؤية الحاسوبية computer vision، ومعالجة اللغة الطبيعية natural language processing، والتعرف التلقائي على الكلام automatic speech recognition، والتعلم المعزز reinforcement learning، والمعلوماتية الطبية الحيوية biomedical informatics. علاوة على ذلك، أدى نجاح التعلم العميق في العديد من المهام ذات الأهمية العملية إلى تحفيز التطورات في التعلم الآلي النظري والإحصاءات. مع هذه التطورات في متناول اليد، يمكننا الآن بناء سيارات تقود نفسها باستقلالية أكثر من أي وقت مضى (واستقلالية أقل مما قد تعتقده بعض الشركات)، أنظمة الرد الذكية التي تقوم تلقائيًا بصياغة معظم رسائل البريد الإلكتروني العادية، مما يساعد الناس مساعدة الناس على الخروج من البريد الوارد الكبير بشكل قمعي، ووكلاء برمجيات يهيمنون على أفضل البشر في العالم في ألعاب الطاولة مثل Go، وهو إنجاز كان يُعتقد في السابق أنه يبعد عقودًا. بالفعل، تمارس هذه الأدوات تأثيرات واسعة النطاق على الصناعة والمجتمع، وتغير طريقة صناعة الأفلام، وتشخيص الأمراض، وتلعب دورًا متزايدًا في العلوم الأساسية – من الفيزياء الفلكية إلى علم الأحياء.

حول هذا الكتاب

يمثل هذا الكتاب محاولتنا لجعل التعلم العميق سهل المنال، ويعلمك المفاهيم والسياق والبرمجة.

متوسط ​​واحد يجمع بين الكود والرياضيات وHTML

لكي تصل أي تقنية حوسبة إلى تأثيرها الكامل، يجب أن تكون مفهومة جيدًا وموثقة جيدًا ومدعومة بأدوات ناضجة وجيدة الصيانة. يجب أن تكون الأفكار الرئيسية موجزة بوضوح، مما يقلل من وقت الإعداد اللازم لتحديث الممارسين الجدد. يجب أن تقوم المكتبات الناضجة بأتمتة المهام الشائعة، ويجب أن تسهل التعليمات البرمجية النموذجية على الممارسين تعديل التطبيقات الشائعة وتطبيقها وتوسيعها لتناسب احتياجاتهم. خذ تطبيقات الويب الديناميكية كمثال. على الرغم من وجود عدد كبير من الشركات، مثل Amazon، التي طورت تطبيقات ويب ناجحة تعتمد على قواعد البيانات في التسعينيات، فقد تم تحقيق إمكانات هذه التكنولوجيا لمساعدة رواد الأعمال المبدعين إلى درجة أكبر بكثير في السنوات العشر الماضية، ويرجع ذلك جزئيًا إلى التطور من الأطر القوية والموثقة جيدًا.

يمثل اختبار إمكانات التعلم العميق تحديات فريدة لأن أي تطبيق فردي يجمع بين مختلف التخصصات. يتطلب تطبيق التعلم العميق فهمًا متزامنًا (1) لدوافع طرح مشكلة بطريقة معينة؛ (2) الشكل الرياضي لنموذج معين. (3) خوارزميات التحسين لتلائم النماذج مع البيانات؛ (4) المبادئ الإحصائية التي تخبرنا متى يجب أن نتوقع أن تعمم نماذجنا على البيانات غير المرئية والطرق العملية للتصديق على أنها، في الواقع، معممة؛ و (5) التقنيات الهندسية المطلوبة لتدريب النماذج بكفاءة، والتغلب على مخاطر الحوسبة الرقمية وتحقيق أقصى استفادة من الأجهزة المتاحة. يمثل تدريس كل من مهارات التفكير النقدي المطلوبة لصياغة المشكلات، والرياضيات لحلها، والأدوات البرمجية لتنفيذ هذه الحلول كلها في مكان واحد تحديات هائلة. هدفنا في هذا الكتاب هو تقديم مورد موحد لإطلاع الممارسين المحتملين على السرعة.

عندما بدأنا مشروع الكتاب هذا، لم تكن هناك موارد (1) ظلت محدثة في نفس الوقت؛ (2) تغطية اتساع نطاق ممارسات التعلم الآلي الحديثة بعمق تقني كافٍ؛ و (3) عرض معشق للجودة التي يتوقعها المرء من كتاب مدرسي مع الكود النظيف القابل للتشغيل الذي يتوقعه المرء من برنامج تعليمي عملي. لقد وجدنا الكثير من أمثلة التعليمات البرمجية لكيفية استخدام إطار عمل تعليمي عميق معين (على سبيل المثال، كيفية إجراء الحوسبة الرقمية الأساسية باستخدام المصفوفات في TensorFlow) أو لتنفيذ تقنيات معينة (على سبيل المثال، مقتطفات التعليمات البرمجية لـ LeNet و AlexNet و ResNet وما إلى ذلك) المتناثرة عبر العديد من منشورات المدونة ومستودعات GitHub. ومع ذلك، ركزت هذه الأمثلة عادةً على كيفية تنفيذ نهج معين، لكنها استبعدت مناقشة سبب اتخاذ قرارات خوارزمية معينة. بينما ظهرت بعض الموارد التفاعلية بشكل متقطع لمعالجة موضوع معين، على سبيل المثال، منشورات المدونة الجذابة المنشورة على موقع الويب Distill أو المدونات الشخصية، فإنها تغطي فقط موضوعات محددة في التعلم العميق، وغالبًا ما تفتقر إلى التعليمات البرمجية المرتبطة. من ناحية أخرى، بينما ظهرت العديد من كتب التعلم العميق – على سبيل المثال، (Goodfellow et al.، 2016)، والتي تقدم مسحًا شاملاً لأساسيات التعلم العميق – فإن هذه الموارد لا تقرن الأوصاف بإدراك المفاهيم في الكود. وأحيانًا يترك القراء جاهلين بكيفية تنفيذها. علاوة على ذلك، يتم إخفاء عدد كبير جدًا من الموارد خلف جدران حظر الاشتراك المدفوعة لمقدمي الدورات التدريبية التجارية.

شرعنا في إنشاء مورد يمكن (1) أن يكون متاحًا للجميع؛ (2) توفر عمقًا تقنيًا كافيًا لتوفير نقطة انطلاق على الطريق لتصبح بالفعل عالمًا تطبيقيًا للتعلم الآلي؛ (3) تضمين التعليمات البرمجية القابلة للتشغيل، والتي توضح للقراء كيفية حل المشكلات عمليًا؛ (4) السماح بالتحديثات السريعة، سواء من جانبنا أو من قبل المجتمع community ككل؛ و (5) استكماله بمنتدى للمناقشة التفاعلية للتفاصيل التقنية وللإجابة على الأسئلة.

كانت هذه الأهداف في كثير من الأحيان متعارضة. من الأفضل إدارة المعادلات والنظريات والاستشهادات ووضعها في LaTeX. أفضل وصف للكود في بايثون. وصفحات الويب أصلية بتنسيق HTML وJavaScript. علاوة على ذلك، نريد أن يكون المحتوى متاحًا سواء أكان رمزًا قابلاً للتنفيذ أو كتابًا ماديًا أو ملف PDF قابل للتنزيل أو على الإنترنت كموقع ويب. لم يبدُ أي سير عمل مناسبًا لهذه المطالب، لذلك قررنا تجميع مهامنا الخاصة (القسم 20.6). اتفقنا على GitHub لمشاركة المصدر وتسهيل مساهمات المجتمع؛ دفاتر جوبيتر Jupyter notebooks لخلط الكود والمعادلات والنص؛ Sphinx كمحرك تقديم؛ وDiscourse كمنصة مناقشة. في حين أن نظامنا ليس مثاليًا، إلا أن هذه الخيارات تقدم حلاً وسطًا بين الاهتمامات المتنافسة. نعتقد أن كتاب Dive into Deep Learning قد يكون الكتاب الأول الذي يتم نشره باستخدام سير العمل المتكامل integrated workflow هذا.

التعلم عبر الممارسة

تقدم العديد من الكتب المدرسية المفاهيم على التوالي، وتغطي كل منها بتفصيل شامل. على سبيل المثال، يُعلِّم الكتاب المدرسي الممتاز لكريس بيشوب Chris Bishop’s excellent textbook (Bishop، 2006) كل موضوع بدقة شديدة لدرجة أن الوصول إلى فصل الانحدار الخطي يتطلب قدرًا غير ضئيل من العمل. بينما يحب الخبراء هذا الكتاب على وجه التحديد لشموله، بالنسبة للمبتدئين الحقيقيين، فإن هذه الخاصية تحد من فائدته كنص تمهيدي.

في هذا الكتاب، نقوم بتدريس معظم المفاهيم في الوقت المناسب. بمعنى آخر، سوف تتعلم المفاهيم في نفس اللحظة التي تكون فيها ضرورية لتحقيق بعض الأهداف العملية. بينما نأخذ بعض الوقت في البداية لتدريس المقدمات الأساسية، مثل الجبر الخطي linear algebra والاحتمالية probability، نريدك أن تتذوق الرضا بتدريب نموذجك الأول قبل القلق بشأن المزيد من المفاهيم الباطنية esoteric concepts.

بصرف النظر عن بعض النوتبوكس notebooks الأولية التي توفر دورة تدريبية مكثفة في الخلفية الرياضية الأساسية، يقدم كل فصل لاحق عددًا معقولًا من المفاهيم الجديدة ويوفر العديد من أمثلة العمل المستقلة، باستخدام مجموعات بيانات حقيقية. قدم هذا تحديا تنظيميا. قد يتم بشكل منطقي تجميع بعض الطرز معًا في دفتر ملاحظات واحد. وأفضل طريقة لتدريس بعض الأفكار هي تنفيذ عدة نماذج متتالية. من ناحية أخرى، هناك ميزة كبيرة للالتزام بسياسة مثال عملي واحد، نوتبوك واحد: هذا يجعل الأمر سهلاً قدر الإمكان بالنسبة لك لبدء مشاريع البحث الخاصة بك من خلال الاستفادة من التعليمات البرمجية الخاصة بنا. فقط انسخ النوتبوك وابدأ في تعديله.

طوال الوقت، نقوم بإدخال الكود القابل للتشغيل مع مواد الخلفية حسب الحاجة. بشكل عام، نخطئ في جانب إتاحة الأدوات قبل شرحها بالكامل (غالبًا ما يتم ملء الخلفية لاحقًا). على سبيل المثال، قد نستخدم التدرج الاشتقاقي العشوائي stochastic gradient descent قبل شرح سبب فائدته أو تقديم حدس حول سبب نجاحه. يساعد هذا في إعطاء الممارسين الذخيرة اللازمة لحل المشكلات بسرعة، على حساب مطالبة القارئ بالثقة بنا في بعض القرارات التنظيمية.

يعلم هذا الكتاب مفاهيم التعلم العميق من الصفر. في بعض الأحيان، نتعمق في التفاصيل الدقيقة حول النماذج التي عادةً ما تكون مخفية عن المستخدمين بواسطة أطر التعلم العميق الحديثة. يظهر هذا بشكل خاص في البرامج التعليمية الأساسية، حيث نريد منك أن تفهم كل ما يحدث في طبقة أو مُحسِّن معين. في هذه الحالات، غالبًا ما نقدم نسختين من المثال: أحدهما ننفذ فيه كل شيء من البداية، ونعتمد فقط على دوال تشبه NumPy والتمايز التلقائي automatic differentiation، ومثال عملي أكثر، حيث نكتب كودًا موجزًا ​​باستخدام واجهات برمجة التطبيقات عالية المستوى high-level API لـ أطر التعلم العميق. بعد شرح كيفية عمل بعض المكونات، نعتمد على واجهة برمجة التطبيقات عالية المستوى في البرامج التعليمية اللاحقة.

المحتوى والبنية

يمكن تقسيم الكتاب إلى ثلاثة أجزاء تقريبًا، مع التركيز على المقدمات وتقنيات التعلم العميق والموضوعات المتقدمة التي تركز على الأنظمة والتطبيقات الحقيقية (الشكل 1).

  • الجزء الأول: الأساسيات والمقدمات. يقدم القسم الاول مقدمة للتعلم العميق. بعد ذلك، في القسم الثاني، نطلعك بسرعة على المتطلبات الأساسية اللازمة للتعلم العميق العملي، مثل كيفية تخزين البيانات ومعالجتها، وكيفية تطبيق العمليات العددية المختلفة بناءً على المفاهيم الأساسية من الجبر الخطي، وحساب التفاضل والتكامل، والاحتمال. يغطي القسم الرابع والقسم والخامس المفاهيم والتقنيات الأساسية في التعلم العميق، بما في ذلك الانحدار regression والتصنيف classification؛ نماذج خطية linear models؛ البيرسبيترون متعددة الطبقات multilayer perceptron. وفرط التجهيز overfitting والتنظيم
  • الجزء الثاني: تقنيات التعلم العميق الحديثة. يصف القسم السادس المكونات الحسابية الرئيسية لأنظمة التعلم العميق ويضع الأساس لتطبيقاتنا اللاحقة لنماذج أكثر تعقيدًا. بعد ذلك، يقدم القسم السابع والقسم الثامن الشبكات العصبية التلافيفية (CNNs)، وهي أدوات قوية تشكل العمود الفقري لمعظم أنظمة الرؤية الحاسوبية الحديثة. وبالمثل، يقدم القسم التاسع والقسم العاشر الشبكات العصبية المتكررة (RNNs)، وهي نماذج تستغل البنية المتسلسلة (على سبيل المثال، الزمنية) في البيانات وتستخدم بشكل شائع لمعالجة اللغة الطبيعية والتنبؤ بالسلاسل الزمنية. في القسم الحادي عشر، قدمنا ​​فئة جديدة نسبيًا من النماذج تعتمد على ما يسمى بآليات الانتباه attention mechanisms التي حلت محل RNNs باعتبارها البنية المهيمنة لمعظم مهام معالجة اللغة الطبيعية. ستُطلعك هذه الأقسام على أقوى الأدوات والأدوات العامة المستخدمة على نطاق واسع من قبل ممارسي التعلم العميق.
  • الجزء الثالث: قابلية التوسعة والكفاءة والتطبيقات. في القسم الثاني عشر، نناقش العديد من خوارزميات التحسين الشائعة المستخدمة لتدريب نماذج التعلم العميق. بعد ذلك، في القسم الثالث عشر، ندرس العديد من العوامل الرئيسية التي تؤثر على الأداء الحسابي لكود التعلم العميق. بعد ذلك، في القسم الرابع عشر، نوضح التطبيقات الرئيسية للتعلم العميق في الرؤية الحاسوبية. أخيرًا، في القسم الخامس عشر والقسم السادس عشر، نوضح كيفية التدريب المسبق لنماذج تمثيل اللغة وتطبيقها على مهام معالجة اللغة الطبيعية. هذا الجزء متاح على الإنترنت.

رابط الكتاب

المصدر
Dive into Deep Learning

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

مقالات ذات صلة

تعليق واحد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى