Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
Dieses Kapitel führt Sie in die Grundprinzipien von Deep Learning ein. Sollten Sie bereits über einiges an Erfahrung mit Deep Learning verfügen, können Sie dieses Kapitel auch nur überfliegen und dann zum nächsten gehen. Falls Sie weniger Erfahrung haben, sollten Sie dieses Kapitel sorgfältig lesen, da das darin enthaltene Wissen für das weitere Verständnis des Buchs unentbehrlich ist.
Bei den meisten Aufgabenstellungen, die wir behandeln werden, besteht unsere Arbeit darin, eine mathematische Formel zu erstellen:
y = f(x)
Beachten Sie bitte, dass x und y fett geschrieben sind. Das bedeutet, hierbei handelt es sich um Vektoren. Eine Funktion kann viele Eingabewerte haben, möglicherweise Tausende oder gar Millionen, und viele Ausgabewerte erzeugen. Hier einige Funktionsbeispiele:
Wie Sie sehen können, kann es sich bei f(x) um eine sehr komplizierte Funktion handeln! In der Regel wird ein langer Vektor als Eingabe verwendet, aus dem versucht wird, Informationen zu extrahieren, die nur anhand der eingegebenen Zahlen nicht ersichtlich sind.
Der übliche Ansatz zur Lösung dieser Aufgabenstellung besteht darin, eine Funktion von Hand zu entwerfen. Sie würden damit beginnen, die Aufgabe zu zerlegen. Welche Pixelmuster deuten auf die Anwesenheit einer Katze hin? Welche DNA-Muster neigen dazu, codierende von nicht codierenden Regionen zu unterscheiden? Sie würden Computercode schreiben, um bestimmte Arten von Merkmalen zu erkennen, und dann versuchen, Kombinationen von Merkmalen zu identifizieren, die zuverlässig das beabsichtigte Ergebnis erzeugen. Dieser Ablauf ist langsam und arbeitsaufwendig und hängt stark von den Fachkenntnissen des Auszuführenden ab.
Machine Learning geht ganz anders vor. Anstatt eine Funktion von Hand zu entwerfen, ermöglichen Sie dem Computer, seine eigene Funktion anhand von Daten zu erlernen. Sie sammeln Tausende oder Millionen von Bildern, die jeweils kennzeichnen, ob eine Katze enthalten ist. Sie geben die gesamten Trainingsdaten dem Computer und lassen ihn nach einer Funktion suchen, die für Bilder mit Katzen durchgehend nahe 1 und für die ohne nahe 0 liegt.
Was bedeutet es, den Computer nach einer Funktion suchen zu lassen? Im Allgemeinen erstellen Sie ein Modell, das eine große Klasse von Funktionen definiert. Die Modelle beinhalten Parameter, das sind Variablen, die einen beliebigen Wert annehmen können. Durch die Wahl der Parameterwerte legen Sie eine bestimmte Funktion aus den vielen Funktionen in der vom Modell definierten Klasse fest. Die Aufgabe des Computers besteht darin, die Werte für die Parameter auszuwählen. Er wird versuchen, die Werte so zu finden, dass bei Verwendung der Trainingsdaten als Eingabe die Ausgabe den entsprechenden Vorgaben möglichst nahekommt.
Eines der einfachsten Modelle, die Sie ausprobieren sollten, ist das lineare Modell:
y = Mx + b
In dieser Gleichung ist M eine Matrix (manchmal als »Gewicht« bezeichnet), und b ist ein Vektor (auch »Bias« genannt). Ihre Größen werden anhand der Anzahl der Ein- und Ausgabewerte bestimmt. Wenn x die Länge T hat und y die Länge S haben soll, ist M eine S × T-Matrix und b ein Vektor der Länge S. Zusammen bilden sie die Parameter des Modells. Diese Formel besagt einfach, dass jeder Ausgabewert eine lineare Kombination der Eingabewerte ist. Durch Festlegen der Parameter (M und b) können Sie für jede Komponente eine beliebige lineare Kombination auswählen.
Dies war eines der frühesten Modelle im Machine Learning. Es wurde bereits 1957 eingeführt und Perzeptron genannt. Der Name hat erstaunliches Marketingpotenzial: Er klingt nach Science-Fiction und scheint wundervolle Dinge zu versprechen, obwohl es tatsächlich nichts anderes als eine lineare Transformation ist. Wie auch immer, der Name hat seit mehr als einem halben Jahrhundert Bestand.
Es ist sehr einfach, das lineare Modell völlig allgemein zu formulieren. Es hat immer die gleiche Form, unabhängig von der Aufgabenstellung, auf die es angewendet wird. Den einzigen Unterschied zwischen linearen Modellen bilden die Längen der Eingabe- und Ausgabevektoren. Von dort aus müssen nur noch die Werte der Parameter ausgewählt werden, was mit allgemeinen Algorithmen auf einfache Weise möglich ist. Das ist genau das, was wir für Machine Learning brauchen: ein Modell und Algorithmen, die unabhängig von der zu lösenden Aufgabe sind. Es müssen nur Trainingsdaten zur Verfügung gestellt werden, die Parameter, die das allgemeine Modell in eine spezifische Gleichung umwandeln, werden automatisch bestimmt.
Leider sind lineare Modelle stark eingeschränkt. Wie in Abbildung 2-1 dargestellt, kann ein lineares Modell (in einer Dimension, also eine Gerade) einfach nicht die meisten realen Datensätze fitten. Das Problem verschlimmert sich sogar, wenn hochdimensionale Daten verwendet werden sollen. Keine lineare Kombination von Pixeln eines Bilds erkennt zuverlässig, ob sich auf dem Bild eine Katze befindet. Für diese Aufgabe wird ein komplizierteres, nicht lineares Modell benötigt. Tatsächlich wird jedes Modell, das dieses Problem löst, notwendigerweise sehr kompliziert und sehr nicht linear sein. Wie können wir es allgemein formulieren? Der Raum aller möglichen nicht linearen Funktionen ist unendlich komplex. Wie können wir ein Modell so definieren, dass wir nur anhand gewählter Parameterwerte fast jede nicht lineare Gleichung erstellen können, die wir jemals benötigen werden?
Abbildung 2-1: Ein lineares Modell kann keine Datenpunkte fitten, die einer Kurve folgen. Hierfür wird ein nicht lineares Modell benötigt.
Ein einfacher Ansatz besteht darin, mehrere lineare Transformationen hintereinanderzuschalten. Zum Beispiel könnten wir Folgendes schreiben:
y = M2f(M1x + b1) + b2
Schauen Sie sich genau an, was wir hier gemacht haben. Wir beginnen mit einer gewöhnlichen linearen Transformation, M1x + b1. Anschließend übergeben wir das Ergebnis an eine nicht lineare Funktion f(x) und wenden dann eine zweite lineare Transformation auf dieses Ergebnis an. Die Gleichung, f(x), die als Aktivierungsfunktion bezeichnet wird, ist ein wesentlicher Bestandteil dessen, was diese Funktion ausmacht. Ohne sie wäre das Modell immer noch linear und nicht leistungsfähiger als das vorherige. Eine lineare Kombination von linearen Kombinationen ist selbst nichts anderes als eine lineare Kombination der ursprünglichen Eingabe! Durch Hinzufügen einer Nichtlinearität ermöglichen wir dem Modell, einen viel größeren Funktionsumfang zu erlernen.
Wir müssen es nicht bei zwei linearen Transformationen belassen. Wir können so viele übereinanderschichten, wie wir möchten:
h1 = f1(M1x + b1)
h2 = f2(M2h1 + b2)
...
hn - 1 = fn - 1(Mn - 1hn - 2 + bn - 1)
y =...
Dateiformat: ePUBKopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.