双重推理与基于边际概率的双重半监督学习
立即解锁
发布时间: 2025-09-02 01:04:04 阅读量: 15 订阅数: 9 AIGC 


双学重习:AI对偶学习
### 双重推理与基于边际概率的双重半监督学习
#### 1. 双重推理
在传统的模型推理中,当原始模型和对偶模型训练好后,通常各自独立地对原始任务和对偶任务进行推理,二者在推理过程中没有交互。但实际上,结构对偶性也可用于改进推理过程。双重推理就是一种利用预训练的原始模型和对偶模型对每个单独任务进行推理的新方法。
##### 1.1 一般公式
在传统的监督学习中,假设一个由参数 $\theta$ 表示的模型通过最大似然估计进行训练:
$$\max_{\theta} \sum_{(x,y)} \log P(y|x; \theta)$$
在推理时,给定输入 $x$,模型输出能使条件概率最大化的 $y$:
$$y = \arg \max_{y'\in Y} P(y'|x; \theta)$$
在双重学习中,原始任务和对偶任务的推理如下:
- 原始任务:$y = \arg \max_{y'\in Y} P(y'|x; \theta_{XY})$
- 对偶任务:$x = \arg \max_{x'\in X} P(x'|y; \theta_{YX})$
根据联合概率原理,条件概率 $P(y|x)$ 可以通过原始模型 $\theta_{XY}$ 和对偶模型 $\theta_{YX}$ 计算:
- $P(y|x) = \frac{P(x, y)}{P(x)} = \frac{P(y)P(x|y; \theta_{YX})}{P(x)}$
- $P(x|y) = \frac{P(x, y)}{P(y)} = \frac{P(x)P(y|x; \theta_{XY})}{P(Y)}$
双重推理通过结合原始模型和对偶模型计算的条件概率来进行推理:
- 原始任务:$P(y|x; \theta_{XY}, \theta_{YX}) = \alpha P(y|x; \theta_{XY}) + (1 - \alpha) \frac{P(y)P(x|y; \theta_{YX})}{P(x)}$
- 对偶任务:$P(x|y; \theta_{XY}, \theta_{YX}) = \beta P(x|y; \theta_{YX}) + (1 - \beta) \frac{P(x)P(y|x; \theta_{XY})}{P(Y)}$
其中,$\alpha \in [0, 1]$ 和 $\beta \in [0, 1]$ 是控制两项之间权衡的超参数,将根据验证集上的性能进行调整和确定。
更一般的公式为:
设 $f : X \to Y$ 表示原始任务的模型,$g : Y \to X$ 表示对偶任务的模型,$\ell_f(x, y)$ 和 $\ell_g(x, y)$ 分别表示 $f$ 和 $g$ 的损失函数。则双重推理的公式为:
- $f_{dual}(x) = \arg \min_{y'\in Y} \{ \alpha \ell_f(x, y') + (1 - \alpha) \ell_g(x, y') \}$
- $g_{dual}(y) = \arg \min_{x'\in X} \{ \beta \ell_g(x', y) + (1 - \beta) \ell_f(x', y) \}$
##### 1.2 双重推理的特点
- 不重新训练或修改原始任务和对偶任务的模型,仅修改推理规则。
- 目前机器学习任务中广泛使用的推理规则可以看作是双重推理在 $\alpha = 1$ 和 $\beta = 1$ 时的极端情况,因此双重推理是一种更通用的推理框架。
- 与模型集成概念相关,但不同的是,大多数模型集成方法中所有模型遵循相同的映射方向,仅单向推理得到改进,而双重推理涉及两个映射方向相反的模型,双向推理都得到增强。
##### 1.3 应用
双重推理具有广泛的应用,以下以神经机器翻译为例进行说明。
在神经机器翻译中,损失函数可以专门化为负对数似然:
- $\ell_f(x, y) = -\log P(y|x; f)$
- $\ell_g(x, y) = -\log P(x|y; g)$
由于神经机器翻译的输出空间巨大,无法遍历所有可能的 $y$ 来找到损失最小的 $y$,因此需要使用束搜索。双重推理在神经机器翻译原始任务中的详细过程如下:
1. 使用模型 $f$ 通过束搜索翻译源句子 $x$,得到 $K$ 个候选翻译 $\{ \hat{y}_i \}_{i\in [K]}$($K$ 为束宽)。
2. 找到最佳候选:$i^* = \arg \min_{i\in [K]} \alpha \ell_f(x, \hat{y}_i) + (1 - \alpha) \ell_g(x, \hat{y}_i)$
3. 返回 $\hat{y}_{i^*}$ 作为 $x$ 的翻译。
除了神经机器翻译,双重推理还可以提高情感分析(情感分类与基于情感标签的句子生成)和图像处理(图像分类与基于类别标签的图像生成)的推理准确性。此外,在问题生成和回答、分位数建模等领域也有应用。
```mermaid
graph TD;
A[输入源句子 x] --> B[使用模型 f 束搜索得到 K 个候选翻译];
B --> C[计算每个候选的损失];
C --> D[找到最佳候选 i*];
D --> E[返回最佳候选作为翻译];
```
#### 2. 基于边际概率的双重半监督学习
在双重学习中,除了利用结构对偶性改进模型训练
0
0
复制全文
相关推荐









