Home
Login

المرحلة الرابعة: التعلم العميق والشبكات العصبية

كتاب تعليمي مفتوح المصدر للتعلم العميق، يجمع بين النظرية والكود والتطبيق، ويدعم تطبيقات متعددة الإطارات، ويوفر مسارًا كاملاً للتعلم العميق من المبتدئين إلى المستويات المتقدمة.

DeepLearningPyTorchNeuralNetworksWebSiteebookFreeMulti-Language

مقدمة تفصيلية لدورة الغوص في التعلم العميق (D2L)

نظرة عامة على الدورة

الغوص في التعلم العميق (D2L) هو كتاب تعليمي مفتوح المصدر للتعلم العميق، يهدف إلى جعل التعلم العميق سهل الفهم والتعلم. يجمع هذا الكتاب بين المفاهيم والسياق والتعليمات البرمجية لتزويد القراء بمورد تعليمي شامل للتعلم العميق.

خلفية الدورة

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

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

مميزات الكتاب التعليمي

1. دمج الوسائط المتعددة

  • دمج التعليمات البرمجية والرياضيات وHTML: دمج التعليمات البرمجية والصيغ الرياضية ومحتوى الويب في منصة واحدة.
  • تعليمات برمجية قابلة للتنفيذ: تحتوي معظم الفصول على أمثلة تعليمات برمجية قابلة للتنفيذ.
  • تحديثات في الوقت الفعلي: يدعم التحديثات السريعة ومساهمات المجتمع عبر GitHub.

2. طريقة التعلم: التعلم بالممارسة

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

3. دعم أطر عمل متعددة

يدعم هذا الكتاب التعليمي تطبيقات لأطر عمل التعلم العميق المتعددة:

  • PyTorch (الإطار الرئيسي)
  • TensorFlow
  • MXNet
  • JAX

هيكل المحتوى

يمكن تقسيم الكتاب التعليمي إلى ثلاثة أجزاء رئيسية:

الجزء الأول: الأساسيات والمعرفة التمهيدية

  • الفصل الأول: مقدمة في التعلم العميق
  • الفصل الثاني: المعرفة التمهيدية (تخزين البيانات ومعالجتها، العمليات العددية، إلخ.)
  • الفصل الثالث: الانحدار الخطي
  • الفصل الخامس: الشبكات العصبية متعددة الطبقات (Multilayer Perceptrons)
  • يغطي المفاهيم الأساسية مثل الانحدار والتصنيف، والنماذج الخطية، والشبكات العصبية متعددة الطبقات، والفرط في التجهيز (Overfitting)، والتنظيم (Regularization).

الجزء الثاني: تقنيات التعلم العميق الحديثة

  • الفصل السادس: المكونات الحسابية الرئيسية لأنظمة التعلم العميق
  • الفصلان 7-8: الشبكات العصبية التلافيفية (CNN)
  • الفصلان 9-10: الشبكات العصبية المتكررة (RNN)
  • الفصل الحادي عشر: آلية الانتباه والمحولات (Transformer)
  • يغطي أقوى الأدوات وأكثرها شيوعًا التي يستخدمها ممارسو التعلم العميق الحديثون على نطاق واسع.

الجزء الثالث: قابلية التوسع والكفاءة والتطبيقات (متاح عبر الإنترنت)

  • الفصل الثاني عشر: خوارزميات التحسين
  • الفصل الثالث عشر: الأداء الحسابي
  • الفصل الرابع عشر: تطبيقات رؤية الكمبيوتر
  • الفصلان 15-16: التدريب المسبق لنماذج تمثيل اللغة وتطبيقات معالجة اللغة الطبيعية.

مميزات تطبيق التعليمات البرمجية

الحزم والتبعيات الأساسية

يستخدم الكتاب التعليمي حزمة d2l لتجنب التكرار غير الضروري، وهي حزمة خفيفة الوزن ولا تتطلب سوى التبعيات التالية:

#@save
import collections
import hashlib
import inspect
import math
import os
import random
import re
import shutil
import sys
import tarfile
import time
import zipfile
from collections import defaultdict
import pandas as pd
import requests
from IPython import display
from matplotlib import pyplot as plt
from matplotlib_inline import backend_inline
d2l = sys.modules[__name__]

تبعيات تطبيق PyTorch

#@save
import numpy as np
import torch
import torchvision
from PIL import Image
from scipy.spatial import distance_matrix
from torch import nn
from torch.nn import functional as F
from torchvision import transforms

تبعيات تطبيق TensorFlow

#@save
import numpy as np
import tensorflow as tf

تبعيات تطبيق JAX

#@save
from dataclasses import field
from functools import partial
from types import FunctionType
from typing import Any
import flax
import jax
import numpy as np
import optax
import tensorflow as tf
import tensorflow_datasets as tfds
from flax import linen as nn
from flax.training import train_state
from jax import grad
from jax import numpy as jnp
from jax import vmap

الجمهور المستهدف

يستهدف هذا الكتاب التعليمي الفئات التالية:

  • الطلاب (مرحلة البكالوريوس أو الدراسات العليا)
  • المهندسون
  • الباحثون

الذين يسعون إلى إتقان قوي للتقنيات العملية في التعلم العميق.

متطلبات المعرفة المسبقة

  • معرفة معقولة بالجبر الخطي
  • أساسيات حساب التفاضل والتكامل
  • أساسيات نظرية الاحتمالات
  • أساسيات برمجة بايثون

مصادر التعلم

الموارد عبر الإنترنت

طرق الحصول

  • بصيغة تعليمات برمجية قابلة للتنفيذ
  • كتاب مطبوع
  • ملف PDF قابل للتنزيل
  • نسخة إلكترونية على الموقع

يمكن تنزيل جميع دفاتر الملاحظات مجانًا من موقع D2L.ai وعلى GitHub.

مزايا الكتاب التعليمي

  1. مفتوح ومجاني: متاح مجانًا للجميع.
  2. عمق تقني: يوفر العمق التقني اللازم كنقطة انطلاق لتصبح عالمًا في التعلم الآلي التطبيقي.
  3. تعليمات برمجية قابلة للتشغيل: توضح كيفية حل المشكلات عمليًا.
  4. تحديثات سريعة: يدعم التحديثات السريعة من المؤلفين والمجتمع.
  5. دعم المجتمع: مزود بمنتدى تفاعلي للمناقشات الفنية والإجابة على الأسئلة.

الميزات المبتكرة

  • قد يكون أول كتاب يُنشر باستخدام سير عمل متكامل.
  • يجمع بين الشرح بجودة الكتب المدرسية والتعليمات البرمجية النظيفة والقابلة للتشغيل للدروس العملية.
  • يستخدم GitHub لمشاركة الكود المصدري، ودفاتر Jupyter التي تمزج بين الكود والمعادلات والنصوص.
  • يستخدم Sphinx كمحرك عرض، وDiscourse كمنصة للمناقشة.

نصائح للتعلم

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

يمثل هذا الكتاب التعليمي علامة فارقة مهمة في تعليم التعلم العميق، حيث يوفر للمتعلمين موردًا تعليميًا شاملاً وعمليًا وسهل الوصول إليه في التعلم العميق.