Maschinelles Lernen und Künstliche Intelligenz
Die Beziehung zwischen Künstlicher Intelligenz, maschinellem Lernen und Deep Learning
Stellen Sie sich eine russische Matrjoschka vor: Eine große Puppe enthält eine mittlere Puppe, und die mittlere Puppe enthält eine kleine Puppe. Die Beziehung zwischen künstlicher Intelligenz, maschinellem Lernen und Deep Learning ist genau so:
- Künstliche Intelligenz (KI): Die größte Puppe, das umfassendste Konzept
- Maschinelles Lernen (ML): Die mittlere Puppe, ein Teil der KI
- Deep Learning (DL): Die kleinste Puppe, ein Teil des maschinellen Lernens

Was ist Künstliche Intelligenz (KI)?
Künstliche Intelligenzist ein breites Konzept, das sich auf Technologien bezieht, die es Maschinen ermöglichen, menschenähnliche Intelligenz zu zeigen. So wie die menschliche Intelligenz Fähigkeiten wie Schlussfolgern, Lernen, Wahrnehmung und Sprachverständnis umfasst, versucht KI auch, Maschinen mit diesen Fähigkeiten auszustatten.
Die Ziele der KI:
- Menschliche Denkprozesse simulieren
- Aufgaben lösen, für die menschliche Intelligenz erforderlich ist
- Übertrifft menschliche Fähigkeiten in bestimmten Bereichen
Beispiele für KI:
- Schachprogramme (wie AlphaGo)
- Sprachassistenten (wie Siri, Xiao Ai)
- Selbstfahrende Autos
Die Stellung des maschinellen Lernens (ML) in der KI
Maschinelles Lernenist eine Methode zur Erreichung künstlicher Intelligenz, aber nicht die einzige. So wie es mehrere Arten des Kochens gibt (Pfannenrühren, Kochen, Dämpfen, Braten), gibt es auch mehrere Ansätze zur Umsetzung von KI.
Merkmale des maschinellen Lernens:
- Erfordert nicht, alle Regeln manuell zu schreiben
- Lernt automatisch Muster aus Daten
- Geeignet für komplexe Probleme, bei denen Regeln schwer explizit zu definieren sind
Traditionelle KI vs. Maschinelles Lernen:
| Traditioneller KI-Ansatz | Ansatz des maschinellen Lernens |
|---|---|
| Expertensysteme: manuell geschriebene Regeln | Regeln aus Daten lernen |
| Logisches Schlussfolgern: basierend auf expliziten Regeln | Mustererkennung: Muster in Daten finden |
| Geeignet für Probleme mit klar definierten Regeln | Geeignet für komplexe, mehrdeutige Probleme |
Deep Learning (DL) und maschinelles Lernen
Deep Learningist ein Teilbereich des maschinellen Lernens, der mehrschichtige neuronale Netze verwendet, um komplexe Muster in Daten zu lernen.
Merkmale des Deep Learning:
- Verwendet mehrschichtige neuronale Netze ("deep" bezieht sich auf viele Schichten)
- Besonders geeignet für die Verarbeitung unstrukturierter Daten wie Bilder, Audio und Text
- Erfordert große Datenmengen und Rechenressourcen
Entwicklungsgeschichte und Evolution

- Frühe KI (1950er-1970er): Beruhte hauptsächlich auf manuell geschriebenen Regeln und logischem Schlussfolgern
- Aufstieg des maschinellen Lernens (1980er-2000er): Begann aus Daten zu lernen, aber Merkmale mussten manuell entworfen werden
- Deep-Learning-Ära (2010er-heute): Lernt Merkmale automatisch, behandelt komplexere Probleme

Beispiel
Verwenden wir ein einfaches Beispiel, um die Unterschiede zwischen traditionellen Methoden, maschinellem Lernen und Deep Learning zu demonstrieren - der Versuch, handgeschriebene Ziffern zu erkennen.
Methode 1: Traditioneller Ansatz (regelbasiert)
Beispiel
# Dies ist nur ein konzeptionelles Beispiel; in der Praxis funktioniert diese Methode sehr schlecht
def recognize_digit_by_rules(image):
"""
Erkennung von Ziffern auf Basis manueller Regeln (vereinfachtes Beispiel)
"""
# Regel 1: Zähle die Anzahl der schwarzen Pixel im Bild
black_pixels = count_black_pixels(image)
# Regel 2: Berechne die Schwerpunktposition des Bildes
center_x, center_y = calculate_center(image)
# Regel 3: Erkenne bestimmte Formmerkmale
has_circle = detect_circle(image)
has_straight_line = detect_straight_line(image)
# Regelbasierte Beurteilung
if has_circle and black_pixels < 50:
return "0"
elif has_straight_line and center_y < image_height/2:
return "7"
# ... weitere Regeln
else:
return "Kann nicht erkannt werden"
# Problem: Regeln können nur schwer alle Fälle abdecken und sind sehr fragil
Methode 2: Ansatz des maschinellen Lernens
Beispiel
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 1. Merkmale manuell entwerfen (dies ist die Einschränkung des traditionellen maschinellen Lernens)
def extract_features(image):
"""
Manuell entworfene Merkmale
"""
features = []
# Merkmal 1: Anteil schwarzer Pixel
features.append(count_black_pixels(image) / total_pixels)
# Merkmal 2: Bildschwerpunkt
center_x, center_y = calculate_center(image)
features.extend([center_x, center_y])
# Merkmal 3: Kantendichte
features.append(calculate_edge_density(image))
# ... weitere manuell entworfene Merkmale
return features
# 2. Merkmale aus allen Trainingsdaten extrahieren
X_train = [extract_features(img) for img in train_images]
y_train = train_labels
# 3. Das Modell trainieren
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
# 4. Test
X_test = [extract_features(img) for img in test_images]
predictions = model.predict(X_test)
print(f"Genauigkeit: {accuracy_score(test_labels, predictions):.2f}")
Methode 3: Deep-Learning-Ansatz
Beispiel
import tensorflow as tf
from tensorflow.keras import layers, models
# 1. Ein neuronales Netz aufbauen
model = models.Sequential([
# Lernt automatisch Low-Level-Merkmale (Kanten, Texturen usw.)
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D((2, 2)),
# Lernt automatisch Mid-Level-Merkmale (Formen, Kombinationen usw.)
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
# Lernt automatisch High-Level-Merkmale (übergeordnete Muster)
layers.Conv2D(64, (3, 3), activation='relu'),
# Klassifikationsschicht
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax') # 10 Ziffernkategorien
])
# 2. Das Modell kompilieren
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 3. Direkt mit Rohbilddaten trainieren (keine manuell entworfenen Merkmale nötig)
model.fit(train_images, train_labels, epochs=5,
validation_data=(test_images, test_labels))
# 4. Evaluieren
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Genauigkeit des Deep-Learning-Modells: {test_acc:.2f}")
Vergleich der Ausführungsergebnisse:
- Traditionelle Methode: Genauigkeit etwa 60-70% (und komplexe Regeln)
- Maschinelles Lernen: Genauigkeit etwa 85-92% (erfordert manuell entworfene Merkmale)
- Deep Learning: Genauigkeit etwa 98-99% (lernt Merkmale automatisch)