9 / 24 · Konzept
Direkte Faltungsreferenz
Welches falsche Ergebnis entsteht für Eingaben [2,3], Gewichte [4,−1] und Bias eins, wenn der Bias pro Eingabekanaliteration einmal addiert wird?
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
Eine überprüfbare Referenz bevorzugen
Ein Sollmodell stellt sichtbare Verhaltensregeln über Geschwindigkeit. Iterieren Sie über Ausgabekanal, Ausgabezeile und Ausgabespalte; reduzieren Sie dann über Eingabekanal und Kernelzeile und -spalte. Berechnen Sie jede Eingabekoordinate und liefern Sie außerhalb der Grenzen Null. So werden die erste falsche Ausgabe und der genaue abweichende Term sichtbar. Das Modell muss die optimierte Schleifenreihenfolge der Hardware nicht nachbilden.
Initialisieren Sie den Akkumulator einmal pro Ausgabe mit b[m]. Addition innerhalb der Reduktion würde den Bias wiederholen. Im Ganzzahlmodell sind x und w zentrierte Codes und der Bias verwendet die Produktskalierung.
Durchgerechnetes Mehrkanalbeispiel
Verwenden Sie zwei 1×1-Eingabekanäle mit zwei und drei. Ausgabekanal Null hat Gewichte [4,−1] und Bias eins und ergibt 1+8−3=6. Ausgabekanal eins hat Gewichte [−2,5] und Bias −1 und ergibt −1−4+15=10. Ein gemeinsamer Akkumulator muss die zweite Ausgabe unabhängig beginnen, statt das erste Ergebnis zu erhalten.
Für Eingabe [1,2,3;4,5,6;7,8,9] und Kernel [1,2;3,4] erwarten Sie [37,47;67,77]. Die zuerst protokollierten Produkte sind 1,4,12,20; die nächsten 2,6,15,24. Prüfen Sie eine von Hand berechnete Position; Endwerte allein können kompensierende Fehler verbergen.
Vergleichen Sie das direkte Modell mit einem anders strukturierten Modell aus Fenstervektoren und Skalarprodukten. Dieselbe Adressroutine in beiden kann denselben Fehler teilen. Kombinieren Sie unabhängige Struktur mit Handtestfällen. Halten Sie Zufallsstartwerte reproduzierbar und bewahren Sie einen fehlerhaften Tensor auf. Vergleichen Sie sowohl den unumgewandelten Akkumulator als auch den endgültigen Ausgabecode, um numerische Fehler einzugrenzen.
Unser model.mjs akzeptiert X[C][H][W] und W[M][C/G][R][S] mit einem impliziten Stapel. Es prüft rechteckige Tensoren, Kanalkompatibilität und Gruppen. Es importiert keine Frameworkmodelle. Verwenden Sie unterschiedliche Werte, negative Werte und asymmetrische Gewichte statt eines reinen Nulltestfalls. Vergleichen Sie die Konventionen mit ONNX Conv und dokumentieren Sie die Grenzen dieses Lehrmodells.
Selbst ausprobieren
Welches falsche Ergebnis entsteht für Eingaben [2,3], Gewichte [4,−1] und Bias eins, wenn der Bias pro Eingabekanaliteration einmal addiert wird?
Erklärung lesen
Das richtige Ergebnis ist 1+8−3=6. Zweifache Wiederholung des Bias ergibt 8−3+2=7. Initialisieren Sie den Bias außerhalb der Kanalreduktion.