什么是对偶学习(DUAL LEARNING)?

对偶学习的提出
现实中,很多AI任务都是成对出现的。
比如,中英互译,既要从中文翻译成英文,又要从英文翻译成中文。这样的任务就叫做对偶任务。
对偶学习利用人工智能处理任务的对称属性,使其获得更有效的反馈,从而引导、加强学习过程,其中primal表示求解原始问题,dual表示求解与其相对的问题。
对偶的学习原理
假设:学习过程中有两个智能体A和B:
A从事原任务:从x映射到y的学习任务;
B从事对偶任务:从y再映射回x。
在一次对偶学习过程中,先用A的模型 f 将 x 映射成 y:y = f(x);
再用B的模型 g 将 y 映射为 x': x' = g(y)。
然后,比较 x 和 x':如果 x = x',就说明 f 和 g 都是成功的模型;
如果它们相差大,则说明 f 和 g 至少有一个不好。
例子:机器翻译
首先,要有两个比较弱的模型 f 和 g。
然后,开始对偶学习训练,大致过程是这样的:
1. 取一个英文句子 x,通过英译中模型 f,翻译为一个中文句子 y。
其中,可以得到一些反馈信息:比如:
是不是符合语法,是不是通畅,是否和英汉词典一致等等。
2. 用中译英模型 g ,把 y 再翻译为英文句子 x'。
反馈信息:
x' 是否符合语法、通畅,x'与 y 的关系是否与英汉词典一致,x'和 x是否相似等。
3. 用这些反馈信息,然后用各种具体的算法,反复迭代,更新模型,直到最终 f 和 g 都令人满意。
4. 不断循环前面的步骤,直至过程收敛。
对偶学习的扩展应用非常多:
比如:它和GAN结合,形成对偶学习生成对抗网络(DualGAN):把图像处理看成是“图片翻译”的问题。
更多推荐



所有评论(0)