Chapter 45、General form of Optimization Verification test

优化验证集的一般形式

当给定输入x,你知道如何计算表示响应y对输入x有多好的Score_x(y)时,你可以应用优化验证测试。而且,你正在使用近似算法来试图找到arg max_y Score_x(y),但怀疑搜索算法有时不能找到最大值。在我们前面的语音识别示例中,x=A是一个音频剪辑,y=S是输出转录。

假设y*是“正确的”输出,但算法输出y_out。那么关键测试是测量是否Score_x(y*) > Score_x(y_out)。如果该不等式成立,那么我们会将错误归咎于优化算法。参考前一章以确保你理解其背后的逻辑。否则,我们将归咎于Score_x(y)的计算。

让我们再看一个例子。假设你正在构建一个中译英的机器翻译系统。系统通过输入中文句子C,并为每个可能的翻译E计算Score_c(E)。例如,你可能使用Score_c(E)=P(E|C),给定输入语句C,翻译为E的概率。

你的算法通过尝试如下计算来翻译句子:

45

然而,所有可能的英语语句E的集合太大了,所以你依靠启发式搜索算法。

假设你的算法输出错误的翻译E_out,而不是正确的翻译E*。那么优化验证测试将要求你计算是否Score_c(E*) > Score_c(E_out)。如果该不等式成立,那么Score_c(.)正确地将E*识别为比E_out更好的输出;因此,你会将此错误归咎于近似搜索算法。否则,你将此错误归咎于Score_c(.)的计算。

这是AI中一个非常常见的“设计模式”,首先学习一个近似打分函数Score_x(.),然后使用一个近似最大化算法。如果你能够发现该模式,那么你将能够使用优化验证测试来了解您的错误来源。

results matching ""

    No results matching ""