Was ist Gewicht und Voreingenommenheit beim Tiefenlernen?


16

Ich fange an, maschinelles Lernen von der Tensorflow-Website zu lernen. Ich habe ein sehr sehr rudimentäres Verständnis des Ablaufs entwickelt, dem ein vertieftes Lernprogramm folgt (mit dieser Methode lerne ich schnell, anstatt Bücher und große Artikel zu lesen).

Es gibt ein paar verwirrende Dinge, auf die ich gestoßen bin, zwei davon sind:

  1. Vorspannen
  2. Gewicht

Im MNIST-Tutorial auf der Tensorflow-Website haben sie erwähnt, dass wir Voreingenommenheit und Gewicht benötigen, um den Beweis für die Existenz eines bestimmten Musters in einem Bild zu finden. Was ich nicht verstehe ist, wo und wie werden die Werte für Bias und Weight ermittelt?

Müssen diese Werte angegeben werden oder berechnet die TensorFlow-Bibliothek diese Werte automatisch basierend auf dem Trainingsdatensatz?

Auch wenn Sie einige Vorschläge zur Beschleunigung meines Lerntempos machen könnten, wäre das großartig!

Tensorflow Anfänger Tutorial


3
Als Parameter eines statistischen Modells werden sie gelernt oder geschätzt, indem eine von Ihren Daten abhängige Verlustfunktion minimiert wird . Und genau darum geht es beim maschinellen Lernen. Sie werden viele Fragen stellen, wenn Sie dieser pädagogischen Methode folgen. Ich schlage vor, ein MOOC wie das auf Coursera zu nehmen, damit Sie die Dinge in einer vernünftigen Reihenfolge lernen können.
Emre

Das ist sehr einfach, also solltest du einen Kurs wie @Emre machen.
SmallChess

Antworten:


11

Mathematisch gesehen. Stellen Sie sich vor, Sie sind ein Model (Nein, nicht diese Art, Abbildung 8)

Y=WX+nigerian

Also, was verstehst du? Voreingenommen ist diese Voraussetzung in einem Modell wie Sie.

Was das Gewicht betrifft, so ist das Gewicht logischerweise Ihr Gradient (eine lineare Algebra).

Was ist Farbverlauf? Es ist die Steilheit der linearen Funktion.

Was macht den linearen Gradienten sehr steil (hoher positiver Wert)?

Dies liegt daran, dass kleine Änderungen in X (Eingabe) große Unterschiede in der Y-Achse (Ausgabe) verursachen. Also versuchen Sie (nicht mehr als Model, sondern als brillanter Mathematiker (Ihr Alter Ego)) oder Ihr Computer, diesen Gradienten zu finden, den Sie als Gewicht bezeichnen können. Der Unterschied besteht darin, dass Sie einen Bleistift und ein Schaubild verwenden, um dies zu finden, aber die Blackbox erledigt ihre elektronische Magie mit Registern.

Während des maschinellen Lernprozesses versucht der Computer oder Sie, viele gerade Linien oder lineare Funktionen über die Datenpunkte zu zeichnen.

Warum versuchen Sie, viele gerade Linien zu zeichnen?

Weil Sie in Ihrem Grafikbuch / Computerspeicher versuchen, die Linie zu sehen, die richtig passt.

Woher weiß ich oder Computer, welche Leitung richtig passt?

In meiner weiterführenden Schule lernte ich, eine Linie über die Datenpunkte zu ziehen und visuell die Linie zu überprüfen, die genau in der Mitte des gesamten Datenpunkts verläuft. . Bei Computern wird jedoch die Standardabweichung und Varianz jeder Linie zu den Datenpunkten hin untersucht. Die Zeile mit der geringsten Abweichung (wird manchmal als Fehlerfunktion bezeichnet) wird ausgewählt.

Cool! also und was passiert

Die Steigung dieser Linie wird berechnet, sagen wir, das Gewicht des Lernproblems wird berechnet

Das ist maschinelles Lernen in seiner Grundausbildung und ein Diagramm, das ein Schüler in sein Graphbook zeichnet


10

Ich stimme den Kommentaren zu Ihrer Frage zu, dass Sie sich einen Kurs ansehen sollten, vielleicht Andrew Ngs Maschinelles Lernen auf Coursera , der ein hoch angesehener, kostenloser Einführungskurs ist. Dies ist eine grundlegende Frage zu den Grundlagen des maschinellen Lernens. Aus diesem Grund werde ich in dieser Antwort nicht auf die Mathematik eingehen. Das können Sie an vielen Stellen, einschließlich in diesem Kurs, nachlesen.

wo und wie werden die Werte für Bias und Weight ermittelt?

Gewichte und Vorspannungen sind die lernbaren Parameter Ihres Modells. Neben neuronalen Netzen werden sie in verwandten Modellen wie der linearen Regression mit denselben Namen angezeigt. Die meisten Algorithmen für maschinelles Lernen enthalten einige lernbare Parameter wie diesen.

Die Werte dieser Parameter werden vor dem Start des Lernens zufällig initialisiert (dies verhindert, dass sie alle zu einem einzigen Wert konvergieren). Wenn ihnen dann während des Trainings Daten präsentiert werden, werden sie an Werte angepasst, die die richtige Ausgabe haben.

Müssen diese Werte angegeben werden oder berechnet die TensorFlow-Bibliothek diese Werte automatisch basierend auf dem Trainingsdatensatz?

Sie müssen vor dem Training keine Werte angeben, möchten jedoch möglicherweise entscheiden, wie viele Parameter vorhanden sein sollen (in neuronalen Netzen, die durch die Größe der einzelnen Ebenen gesteuert werden). TensorFlow berechnet die Werte während des Trainings automatisch. Wenn Sie ein bereits trainiertes Modell haben und es wiederverwenden möchten, möchten Sie die Werte direkt einstellen, z. B. indem Sie sie aus einer Datei laden.

Der spezifische Code, der Änderungen an Gewichten und Verzerrungen aus dem Lernprogramm verarbeitet, lautet wie folgt:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

und das:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

In der ersten Zeile wird festgelegt, wie die Gewichte und Werte geändert werden. Sie können dies fast wörtlich lesen als "Definieren einer Trainingsfunktion, die den Gradientenabstiegsoptimierer verwendet, um die Querentropie der gelieferten Daten zu reduzieren".

yx


8

Gewicht - Gewicht ist die Stärke der Verbindung. Wenn ich den Input erhöhe, wie viel Einfluss hat er dann auf den Output?

Gewichte nahe Null bedeuten, dass durch Ändern dieses Eingangs der Ausgang nicht geändert wird. Viele Algorithmen setzen diese Gewichte automatisch auf Null, um das Netzwerk zu vereinfachen.

Verzerrung - als bedeutet, wie weit unsere Vorhersagen von den tatsächlichen Werten entfernt sind. Im Allgemeinen weisen parametrische Algorithmen eine hohe Verzerrung auf, wodurch sie schnell zu erlernen und leichter zu verstehen sind, aber im Allgemeinen weniger flexibel sind. Im Gegenzug weisen sie bei komplexen Problemen eine geringere Vorhersageleistung auf, die die vereinfachenden Annahmen der Algorithmus-Verzerrung nicht erfüllen.

Geringe Abweichung : Schlägt weitere Annahmen zur Form der Zielfunktion vor.

High-Bias : Schlägt weniger Annahmen über die Form der Zielfunktion vor.


2
Das OP fragte nach dem Bias-Parameter in einem neuronalen Netzwerk. Ihre Definitionen für Voreingenommenheit sind in Ordnung, aber beantworten Sie die Frage nicht.
Neil Slater
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.