Phase 4: Deep Learning und neuronale Netze
Open-Source-Lehrbuch für Deep Learning, das Theorie, Code und Praxis kombiniert, mehrere Framework-Implementierungen unterstützt und einen vollständigen Lernpfad für Deep Learning vom Anfänger- bis zum Fortgeschrittenenniveau bietet.
Detaillierte Kursbeschreibung: Dive into Deep Learning (D2L)
Kursübersicht
Dive into Deep Learning (D2L) ist ein Open-Source-Lehrbuch über Deep Learning, das darauf abzielt, Deep Learning leicht verständlich und erlernbar zu machen. Das Buch kombiniert Konzepte, Kontext und Code, um den Lesern eine umfassende Lernressource für Deep Learning zu bieten.
Hintergrund des Kurses
Vor einigen Jahren war es noch selten, dass Deep-Learning-Wissenschaftler in großen Unternehmen und Start-ups intelligente Produkte und Dienstleistungen entwickelten. Damals war maschinelles Lernen noch keine Schlagzeile in den Tageszeitungen, und unsere Eltern wussten nicht, was maschinelles Lernen ist. Maschinelles Lernen war damals noch ein akademisches "Blue-Sky"-Feld, dessen industrielle Bedeutung auf wenige praktische Anwendungen beschränkt war, darunter Spracherkennung und Computer Vision.
Doch innerhalb weniger Jahre hat Deep Learning die Welt in Erstaunen versetzt und eine rasante Entwicklung in verschiedenen Bereichen vorangetrieben, darunter Computer Vision, natürliche Sprachverarbeitung, automatische Spracherkennung, Reinforcement Learning und biomedizinische Informatik. Der Erfolg von Deep Learning hat sogar die Entwicklung des theoretischen maschinellen Lernens und der Statistik katalysiert.
Merkmale des Lehrbuchs
1. Kombination verschiedener Medien
- Kombination aus Code, Mathematik und HTML: Integration von Code, mathematischen Formeln und Webinhalten auf einer Plattform
- Ausführbarer Code: Die meisten Kapitel enthalten ausführbare Codebeispiele
- Echtzeit-Updates: Schnelle Updates und Community-Beiträge werden über GitHub unterstützt
2. Lernmethode: Learning by Doing
- Sofortiges Konzeptlernen: Relevante Konzepte werden nur dann gelehrt, wenn sie zur Lösung praktischer Probleme benötigt werden
- Praxisorientierung: Ermöglicht den Studierenden, die Zufriedenheit beim Trainieren ihres ersten Modells zu erleben, bevor sie sich um komplexere Konzepte kümmern
- Echte Datensätze: Jedes nachfolgende Kapitel bietet mehrere eigenständige Arbeitsbeispiele unter Verwendung realer Datensätze
3. Unterstützung mehrerer Frameworks
Das Lehrbuch unterstützt die Implementierung in mehreren Deep-Learning-Frameworks:
- PyTorch (Haupt-Framework)
- TensorFlow
- MXNet
- JAX
Inhaltsstruktur
Das Lehrbuch kann in drei Hauptteile unterteilt werden:
Teil I: Grundlagen und Vorbereitung
- Kapitel 1: Einführung in Deep Learning
- Kapitel 2: Vorbereitung (Datenspeicherung und -manipulation, numerische Operationen usw.)
- Kapitel 3: Lineare Regression
- Kapitel 5: Mehrschichtige Perzeptronen
- Behandelt grundlegende Konzepte wie Regression und Klassifikation, lineare Modelle, mehrschichtige Perzeptronen, Overfitting und Regularisierung
Teil II: Moderne Deep-Learning-Techniken
- Kapitel 6: Schlüsselkomponenten für Berechnungen in Deep-Learning-Systemen
- Kapitel 7-8: Faltungsneuronale Netze (CNN)
- Kapitel 9-10: Rekurrente Neuronale Netze (RNN)
- Kapitel 11: Aufmerksamkeitsmechanismen und Transformer
- Behandelt die leistungsstärksten und vielseitigsten Werkzeuge, die von modernen Deep-Learning-Praktikern weit verbreitet sind
Teil III: Skalierbarkeit, Effizienz und Anwendungen (online verfügbar)
- Kapitel 12: Optimierungsalgorithmen
- Kapitel 13: Rechenleistung
- Kapitel 14: Anwendungen in der Computer Vision
- Kapitel 15-16: Vortraining von Sprachrepräsentationsmodellen und Anwendungen in der natürlichen Sprachverarbeitung
Merkmale der Code-Implementierung
Kernpaket und Abhängigkeiten
Das Lehrbuch verwendet das d2l
-Paket, um unnötige Wiederholungen zu vermeiden. Dieses Paket ist leichtgewichtig und benötigt nur die folgenden Abhängigkeiten:
#@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-Implementierungsabhängigkeiten
#@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-Implementierungsabhängigkeiten
#@save
import numpy as np
import tensorflow as tf
JAX-Implementierungsabhängigkeiten
#@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
Zielgruppe
Dieses Lehrbuch richtet sich an folgende Personen:
- Studierende (Bachelor oder Master)
- Ingenieure
- Forschende
Personen, die eine solide praktische Beherrschung der Deep-Learning-Techniken anstreben.
Erforderliche Vorkenntnisse
- Angemessene Kenntnisse der linearen Algebra
- Grundkenntnisse der Analysis
- Grundkenntnisse der Wahrscheinlichkeitstheorie
- Grundkenntnisse der Python-Programmierung
Lernressourcen
Online-Ressourcen
- Offizielle Website: D2L.ai
- GitHub-Repository: d2l-ai/d2l-en
- Diskussionsforum: discuss.d2l.ai
- Andere Sprachversionen: Andere Sprachversionen
Zugangswege
- Als ausführbarer Code
- Als physisches Buch
- Als herunterladbares PDF
- Als Online-Version auf der Website
Alle Notebooks können kostenlos von der D2L.ai-Website und GitHub heruntergeladen werden.
Vorteile des Lehrbuchs
- Kostenlos und Open Source: Für alle kostenlos verfügbar
- Technische Tiefe: Bietet die technische Tiefe, die für den Einstieg als angewandter Machine-Learning-Wissenschaftler erforderlich ist
- Ausführbarer Code: Zeigt, wie Probleme in der Praxis gelöst werden
- Schnelle Updates: Ermöglicht schnelle Updates durch die Autoren und die Community
- Community-Support: Begleitet von einem interaktiven Forum für technische Diskussionen und Fragen
Innovative Merkmale
- Wahrscheinlich das erste Buch, das mit einem integrierten Workflow veröffentlicht wurde
- Kombiniert die Erläuterungen eines Lehrbuchs mit sauberem, ausführbarem Code eines praktischen Tutorials
- Verwendet GitHub zur Freigabe des Quellcodes, Jupyter Notebooks mischen Code, Gleichungen und Text
- Verwendet Sphinx als Rendering-Engine und Discourse als Diskussionsplattform
Lernempfehlungen
- Registrieren Sie sich für ein Konto im Diskussionsforum
- Installieren Sie Python auf Ihrem Computer
- Suchen Sie Hilfe und Diskussionen über die Forum-Links am Ende der Kapitel
- Lernen Sie durch Handeln und nutzen Sie den ausführbaren Code voll aus
- Beteiligen Sie sich an Community-Diskussionen und tauschen Sie sich mit den Autoren und der breiteren Community aus
Dieses Lehrbuch stellt einen wichtigen Meilenstein in der Deep-Learning-Ausbildung dar und bietet Lernenden eine umfassende, praktische und leicht zugängliche Lernressource für Deep Learning.