chatGPT 是由 OpenAI 开发的一款人工智能机器人程序, 一经推出就火遍全球.chatGPT 的开发主要采用 RLHF(人类反馈强化学习)技术, 训练分为以下三个阶段.
第一阶段: 训练监督策略模型对抽取的 prompt 数据, 人工进行高质量的回答, 获取 < prompt,answer>数据对, 帮助数学模型 GPT-3.5 更好地理解指令.
第二阶段: 训练奖励模型. 用上一阶段训练好的数学模型, 生成 $k$ 个不同的回答, 人工标注排名, 通过奖励模型给出不同的数值, 奖励数值越高越好. 奖励数值可以通过最小化下面的交叉摘损失函数得到: Loss $=-\sum_{i=1}^n y_i \ln \hat{y}_i$, 其中 $y_i \in\{0,1\}, \hat{y}_i \in(0,1)$, 且 $\sum_{i=1}^n \hat{y}_i=1$.
第三阶段: 实验与强化模型和算法, 通过调整模型的参数, 使模型得到最大的奖励以符合人工的选择取向.
参考数据: $\ln 2 \approx 0.693, \ln 5 \approx 1.609, \ln 7 \approx 1.946$
( I ) 若已知某单个样本, 其真实分布 $y=\left[y_1, y_2, \cdots, y_{10}\right]=[0,0,0,0,1,0,0,0,0,0]$, 其预测近似分布 $\hat{y}=\left[y_1, y_2, \cdots, y_{10}\right]=[0,0.2,0,0,0.7,0,0,0.1,0,0]$, 计算该单个样本的交叉摘损失函数 Loss 值.
(II) 绝对值误差 $M A E$ 也是一种比较常见的损失函数, 现已知某 $n$ 阶变量的绝对值误差, $M A E=\frac{1}{N} \sum_i^n\left|\hat{y}_i-y_i\right|$, 其中 $\left|\hat{y}_i-y_i\right|=\left|\hat{y}_{i 1}-y_{i 1}\right|+\left|\hat{y}_{i 2}-y_{i 2}\right|+\ldots+\left|\hat{y}_{i n}-y_{i n}\right|, N$ 表示变量的阶。若已知某个样本是一个三阶变量的数阵 $y=\left[\begin{array}{c}y_1 \\ y_2 \\ y_3\end{array}\right]=\left[\begin{array}{c}y_{11}, y_{12}, y_{13} \\ y_{21}, y_{22}, y_{23} \\ y_{31}, y_{32}, y_{33}\end{array}\right]$, 其真实分布是 $y=\left[\begin{array}{c}0,0,1 \\ 0,1,0 \\ 1,0,0\end{array}\right]$ 现已知其预测分布为 $\hat{y}=\left[\begin{array}{c}a, b, c \\ c, a, b \\ b, c, a\end{array}\right]$, 求证: 该变量的绝对值误差 $M A E$ 为定值.
(III) 在测试 chatGPT 时, 如果输人问题没有语法错误 chatGPT 的回答被采纳的概率为 $90 \%$, 当出现语法错误时, chatGPT 的回答被采纳的概率为 $50 \%$ 。现已知输人的问题中出现语法错误的概率为 $5 \%$, 现已知 chatGPT 的回答被采纳, 求该问题的输人语法没有错误的概率.