Altifigence Academy

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?

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.

y[m,h,w]=b[m]+∑c∑r∑sx[c,hSh−Pt+rDh,wSw−Pl+sDw]w[m,c,r,s]y[m,h,w]=b[m]+\sum_c\sum_r\sum_s x[c,hS_h-P_t+rD_h,wS_w-P_l+sD_w]w[m,c,r,s]

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.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.