Neurale Netzwerke: Playground-Übungen

Ein erstes neuronales Netzwerk

In dieser Übung trainieren wir unser erstes kleines neuronales Netz. neuronale Netze geben uns die Möglichkeit, nicht lineare Modelle ohne explizite Featureverknüpfungen zu lernen.

Aufgabe 1: Das angegebene Modell kombiniert unsere beiden Eingabefeatures zu einem einzigen Neuron. Erkennt dieses Modell auch Nichtlinearitäten? Führen Sie sie aus, um Ihre Vermutung zu bestätigen.

Aufgabe 2: Erhöhen Sie die Anzahl der Neuronen in der ausgeblendeten Ebene von 1 auf 2 und versuchen Sie, von einer linearen Aktivierung zu einer nicht linearen Aktivierung wie ReLU zu wechseln. Können Sie ein Modell erstellen, das Nicht-Linearität lernen kann? Kann er die Daten effektiv modellieren?

Aufgabe 3: Versuchen Sie, die Anzahl der Neuronen in der verborgenen Ebene von 2 auf 3 zu erhöhen. Verwenden Sie dazu eine nicht lineare Aktivierung wie ReLU. Können die Daten effektiv modelliert werden? Wie unterscheidet sich die Modellqualität von Lauf zu Lauf?

Aufgabe 4: Führen Sie weitere Tests durch, indem Sie verborgene Ebenen und Neuronen pro Ebene hinzufügen oder entfernen. Sie können auch die Lernraten, die Normalisierung und andere Lerneinstellungen ändern. Was ist die kleinste Anzahl von Neuronen und Schichten, die du verwenden kannst, um einen Testverlust von 0,177 oder weniger zu erreichen?

Verbessert die Größe des Modells die Passform oder wie schnell bricht sie zusammen? Ändert sich dadurch die Häufigkeit, mit der ein gutes Modell erreicht wird? Probieren Sie beispielsweise die folgende Architektur aus:

  • Erste verborgene Schicht mit 3 Neuronen.
  • Zweite verborgene Ebene mit 3 Neuronen.
  • Dritte verborgene Ebene mit 2 Neuronen.

Die Antworten werden direkt unter der Übung angezeigt.



Neurale Netzinitialisierung

In dieser Übung werden die XOR-Daten noch einmal verwendet. Es werden jedoch die Wiederholbarkeit des Trainings neuronaler Netze und die Bedeutung der Initialisierung berücksichtigt.

Aufgabe 1:Führen Sie das Modell so aus, wie es vier- oder fünfmal angegeben wird. Klicken Sie vor jedem Test auf die Schaltfläche Netzwerk zurücksetzen, um eine neue zufällige Initialisierung zu erhalten. Die Schaltfläche Netzwerk zurücksetzen befindet sich links neben der Wiedergabeschaltfläche. Lassen Sie jeden Test mindestens 500 Schritte laufen, um für eine Konvergenz zu sorgen. In welche Form wird die Modellausgabe konvergiert? Was heißt das über die Rolle der Initialisierung bei der nicht Convex-Optimierung?

Aufgabe 2:Versuchen Sie, das Modell etwas komplexer zu machen, indem Sie eine Ebene und einige zusätzliche Knoten hinzufügen. Wiederholen Sie die Tests aus Aufgabe 1. Erhöht sich dadurch die Stabilität der Ergebnisse?

Die Antworten werden direkt unter der Übung angezeigt.



Neurale Netz Spiral

Dieses Dataset ist eine laute Spirale. Ein lineares Modell schlägt hier natürlich fehl, aber selbst manuell festgelegte Merkmalsverknüpfungen können schwer zu erstellen sein.

Aufgabe 1: Trainieren Sie das bestmögliche Modell mit X1 und X2. Sie können Ebenen und Neuronen hinzufügen oder entfernen und Lerneinstellungen wie Lernrate, Normalisierungsrate und Batchgröße ändern. Was ist der beste Verlust bei einem Test? Wie glatt ist die Modellausgabeoberfläche?

Aufgabe 2: Selbst bei neuronalen Netzen ist häufig ein Teil des Feature Engineering erforderlich, um eine optimale Leistung zu erzielen. Versuchen Sie, zusätzliche produktübergreifende Funktionen oder andere Transformationen wie sin(X1) und sin(X2) hinzuzufügen. Haben Sie ein besseres Modell? Ist die Modellausgabeoberfläche flüssiger?

Die Antworten werden direkt unter der Übung angezeigt.