MedR1
作者认为传统 SFT 主要有两类问题:一是容易学到 task-specific shortcut,而不是真正可迁移的推理;二是医疗领域高质量 CoT 标注稀缺,导致 SFT 难以学到临床上可信的推理过程。
机制解释
SFT:直接把输入对齐到标准答案,容易 shortcut learning。
GRPO:对同一个问题采样多个候选回答,按规则奖励做相对优势估计,鼓励策略探索,并用 KL 项限制偏离参考模型过大。
Med-R1_Reinforcement_Learning_f…
奖励非常简单:格式奖励 + 答案正确性奖励。这意味着论文实际上是在测试:即使没有复杂 reward model,只靠 verifiable reward,RL 能否提升医学泛化。
我判断的“真实贡献”(去水分)
真实贡献 1:把 RL 的价值从“提分”转向“泛化分析”
论文不是简单证明 RL 比 SFT 强,而是专门用跨模态、跨任务设置来验证 RL 是否更会迁移。这一点是有研究价值的。真实贡献 2:发现显式 CoT 在医疗 VQA 中未必有益
No-Think 在多个设置下优于 Think,Think-After 在准确率和解释性之间更平衡。这不是常规直觉,属于有信息量的 empirical finding。真实贡献 3:用极简规则奖励做出较强结果
奖励只有格式和答案正确性,没有复杂 reward model;如果结果成立,说明医学 RL 后训练未必需要昂贵的人类偏好或奖励模型。Med-R1_Reinforcement_Learning_f…
不算强创新的部分
GRPO 本身不是新算法,是已有 RL 后训练方法的迁移应用。
Med-R1_Reinforcement_Learning_f…
“医疗 VLM + RL” 也不是首次提出,作者自己 related work 里就提到已有 MedVLM-R1。
阶段2:Method Analyst(方法拆解)
1. 模型整体结构
输入 → 模块 → 输出
输入:医学图像 + 多选题问题
Backbone:Qwen2-VL-2B-Instruct / Qwen2.5-VL-3B
训练方式:
- SFT baseline
- GRPO RL post-training
- 三种输出协议:Think / No-Think / Think-After
输出:
<answer>中的选项- 某些设定下含 reasoning 文本
2. 信息流
图像和文本问题进入 VLM。
模型生成一个完整响应。
GRPO 对同一问题采样多条候选响应。
用规则奖励计算每条响应的 reward。
在组内做相对优势估计,更新策略。
通过 KL 正则把新策略限制在参考模型附近。
Med-R1_Reinforcement_Learning_f…
我的分析
信息流的关键不是“视觉模块怎么编码”,而是“输出层的行为如何被奖励塑形”。这篇论文的重点在后训练策略,不在架构改造。
3. 关键模块拆解
模块 A:Backbone VLM
作者直接用现成基础模型,不改视觉编码器和大结构。作用是提供通用视觉-语言能力。
Med-R1_Reinforcement_Learning_f…
模块 B:GRPO
作用是替代 SFT 的 token-level imitation learning。
为什么这样设计:作者认为 SFT 只会教模型复述答案,而 GRPO 能让模型探索多种解题路径。
模块 C:格式奖励
检查是否按指定 tag 输出。作用是让模型保持结构化响应,便于解析和施加监督。
Med-R1_Reinforcement_Learning_f…
模块 D:正确性奖励
检查 <answer> 的字母是否与真值一致。作用是让训练目标完全 verifiable,避免额外奖励模型。
Med-R1_Reinforcement_Learning_f…
模块 E:三种 reasoning protocol
- Think:先想再答
- No-Think:只答
- Think-After:先答再解释
作用:
- Think 测试显式 CoT 是否真的帮助泛化
- No-Think 测试去掉冗余 reasoning 是否能减小噪声
- Think-After 测试“决策”和“解释”解耦是否更稳