previous chapters
Final Debugging Algorithms
44. Test for optimization verification (The Optimization Verification test)
Suppose you are developing a speech recognition system. The system receives the input voice recording A and calculates a certain value A (S) , estimating the plausibility that this sound clip corresponds proposal S . For example, you can try to estimate the value of A (the S) = P (the S | A) , the probability that the correct output transcription will offer S, provided that the input sound was A .
Whatever method of estimating the quantity A (S) you choose, the task is to find the English sentence S at which this quantity will be maximum:

How to approach the calculation of "arg max" in this formula? Let's say 50,000 words in English, of which you can make
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.
One of the differences between this and earlier examples is that the quality of the algorithm is not compared with the “optimal” result, but with the human trajectory T human . We assumed that T human is good enough, even if not optimal. In general, as long as you have some result y * (in this example, T human ) that exceeds the quality of the system - even if it is not “optimal,” the Optimization Verification test will indicate that more promising: to improve the optimization algorithm or evaluation function.
continuation