vorherige Kapitel
Endgültige Debugging-Algorithmen
44. Test zur Überprüfung der Optimierung (Der Test zur Überprüfung der Optimierung)
Angenommen, Sie entwickeln ein Spracherkennungssystem. Das System empfängt die eingegebene Sprachaufzeichnung A und berechnet einen bestimmten Wert A (S) , wobei die Plausibilität geschätzt wird, dass dieser Soundclip dem Vorschlag S entspricht . Zum Beispiel können Sie versuchen , den Wert zu schätzen A (S) = P (S | A) , ist die Wahrscheinlichkeit , dass die richtige Ausgang Transkription S bieten, vorausgesetzt , dass der Eingang Sound war A .
Unabhängig von der Methode zur Schätzung der von Ihnen gewählten Menge A (S) besteht die Aufgabe darin, den englischen Satz S zu finden, bei dem diese Menge maximal ist:

Wie gehe ich bei der Berechnung von "arg max" in dieser Formel vor? Sagen wir 50.000 Wörter auf Englisch, aus denen Sie machen können
N — , , .
, , S, () A(S). « », K . ( , « »). , S, A(S).
, A -, « ». : « ».
:
- . ( ) S, A(S).
- ( ). A(S) = P(S|A) . , A(S) « » .
, - . . , A(S).
, ; A(S). , , .
?
(« »), Sout. (« »), S*. , , (The Optimization Verification test): ScoreA(S*) ScoreA(Sout), ScoreA(S*) ScoreA(Sout).
1: ScoreA(S*) > ScoreA(Sout)
S*, , Sout. , Sout, S*. , S, A(S) . (The Optimization Verification test) , , . , « » (beam search).
2: ScoreA(S*) ≤ ScoreA(Sout).
ScoreA(.): S* Sout. (The Optimization Verification test) . , , ScoreA(S) S.
. (The Optimization Verification test) , . , ScoreA(S*) > ScoreA(Sout). , , , . , ScoreA(S*) ≤ ScoreA(Sout) ScoreA(.).
, , 95% ScoreA(.), 5% - . , , ~ 5% . , ScoreA(.).
45. (The Optimization Verification test).
(the Optimization Verification test) , , x , , x(y), , y x , arg maxyScorex(y), , . x=A, y=S.
, y* — «» , yout. Scorex(y*) > Scorex(yout). , . , . , Scorex(y).
. , . C ScoreC(E) E. , ScoreC(E) = P(E|C), E, , C.

, , .
, Eout E*. , ScoreC(E*) > ScoreC(Eout). , ScoreC(.) E* Eout; , . , ScoreC(.).
« » : (approximate scoring function) Scorex(.), (approximate maximization algorithm). , (The Optimization Verification test) .
46.
, , . , , .
«». , . -. , , .
« » R(.), T. , T , R(T) = -1000 — «» . T, , R(T) , , . R(.), , T. , , , . — .
, R(T) , , , maxTR(T). .
, R(.) , . , , - — .
— , , , , maxTR(T) , , ?
(Optimization Verification test), Thuman, , -, Tout . , Thuman Tout. : , R(Thuman) > R(Tout)?
1: , R(.) , Thuman Tout. , , Tout, . , .
2: : R(Thuman) ≤ R(Tout). , R(.) Thuman , Tout, , Thuman . R(.), .
«» Scorex(.) . x, Score(.). Score(T)=R(T), (optimization algorithm) , , T.
Einer der Unterschiede zwischen diesem und früheren Beispielen besteht darin, dass die Qualität des Algorithmus nicht mit dem „optimalen“ Ergebnis verglichen wird, sondern mit der menschlichen Flugbahn T human . Wir gingen davon aus, dass T human gut genug ist, auch wenn es nicht optimal ist. Solange Sie ein y * -Ergebnis (in diesem Beispiel T human ) haben, das die Qualität des Systems übersteigt - auch wenn es nicht „optimal“ ist - zeigt der Optimierungsüberprüfungstest dies an vielversprechender: Verbesserung des Optimierungsalgorithmus oder der Bewertungsfunktion.
Fortsetzung