想象你是一家三甲医院的“图文婚介所”所长。每天,放射科送来成千上万张影像照片——CT、MRI、X光片,它们就像一张张“相亲照片”;与此同时,诊断医生写下对应的文字报告,就像一份份“个人简历”。你的核心业务是:拿着照片找到它对应的简历,或者拿着简历找出它对应的照片。过去,这靠人工翻档案,一单要几小时;如今,一种叫“图文对比学习”的技术能训练出一位“AI红娘”,它把照片和简历都翻译成同一套“打分语言”,几秒钟就能在百万份档案里精准牵线。这位红娘的路数,就是医学影像跨模态检索——它不靠死记硬背,而是靠“正主配对、路人拆散”的对比练习,练出一双火眼金睛。

岗位关联

学完本讲,你将理解如何用对比学习打通“影像”与“报告”两座数据孤岛,并能在医学影像管理系统、病例库、辅助诊断产品中落地跨模态检索,成为真正能解决问题、能部署优化的医疗AI工程师。

目录
  1. 可视化演示
  2. 任务背景挑战
  3. 对比学习原理
  4. 跨模态对齐
  5. 医学预训练
  6. 图文双向检索
  7. 病例检索应用
  8. 部署与优化
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示医学图文对比学习的核心机制,通过源头/管道/节点/终端四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

医学图文对比学习:医学跨模 医学跨模态检索的临床价值与应用 图文对比学习的双塔架构设计 核心机制可视化 医学图文对比学习整体架构与关键组件

任务背景挑战

王医生站在影像科档案室门口,面前是三十年的病历柜。他想找“三年前那位气胸患者的复查对比”,得先翻纸质登记本、再按日期找胶片、最后对着报告编号逐份核对——运气好要半小时,运气差直接翻到下班。这还只是“单查一份”的苦,临床上更常见的是“拿着新片子,想看看过去有没有长得像的病人”。这种需求,本质上就是跨模态检索:用一张影像去找文字报告,或用一段描述去找影像。

为什么叫“跨模态”?因为影像和文字是两种完全不同“语言”的数据:影像是一堆像素网格,报告是一串自然语言词汇。计算机眼里,它们就像相亲照和个人简历——格式完全不一样,却描述着同一个人。跨模态检索的任务,就是给查询样本和候选样本各打一个“号码牌”,让相似的彼此靠近。

要让机器学会打分,得先给它一把“尺子”。尺子的设计思路很直接:把影像和报告都编码成一个向量,然后用相似度函数算分,按分数排序取前若干名。这个“编码+打分”的框架,是所有检索系统的地基。

在“婚介所”里,这套思路就是红娘先给每位客户建档编号,再把新客户的需求和档案库里上万份资料逐一比对,挑出最像的三五份递上去。检索的“快”与“准”,就取决于档案建得好不好(编码器)和比对方式灵不灵(相似度函数)——这正是后面几节要解决的事。

Retrieval(q,D)=top⁡-kd∈D    sim(f(q), g(d))\mathrm{Retrieval}(q, D) = \operatorname{top}\text{-}k_{d \in D} \;\; \mathrm{sim}\big(f(q),\, g(d)\big)
检索本质就是“排序”:把检索词和所有候选放在同一把尺子上量一遍,取分数最高的前 k 个。
  1. 编码查询把查询样本(一张 CT 或一句诊断描述)变成向量,相当于给“照片”填一张标准信息卡
    f(q)∈Rdf(q) \in \mathbb{R}^{d}
  2. 编码候选把每个候选样本(一份报告或一张影像)也变成同一空间的向量,相当于给“简历”填同款信息卡
    g(d)∈Rdg(d) \in \mathbb{R}^{d}
  3. 逐项打分用相似度函数对每对向量算分,分数越高代表越般配
    sim(f(q), g(d))\mathrm{sim}\big(f(q),\, g(d)\big)
  4. 取前 k把所有候选按分数从高到低排序,返回前 k 个结果
    top⁡-k\operatorname{top}\text{-}k

对比学习原理

红娘上岗前要集训:教官发她一摞照片和一摞简历,要求把“天生一对”的分到一组,再随手抓一些“路人”来干扰。分组正确就记功,认错人就挨罚。练上几百次,她就学会了“什么叫语义上的像”。这个集训,就是对比学习。

对比学习的训练数据是成对的图文对:同一病人的影像和它的诊断报告构成“正样本对”(天生一对);一张影像配上一份其他病人的报告,就叫“负样本对”(强行拉郎配)。模型的任务不是背下某张图长什么样,而是学会“什么样的一对才算配”——即让正样本对的相似度高于所有负样本对。

最经典的实现是 InfoNCE 对比损失:在一个批里放 N 个图文对,对第 i 张影像,要求它在 N 份报告中“认出”自己的那份报告,认错的代价就是损失。数学上,它把“正确配对”的相对得分转成一个概率,再取负对数——概率越高,损失越低。

回到红娘的集训:每一道“配对题”,正主混在 N 个陌生人里,模型必须把正主挑出来。它不需要把正主的分数练到满分,只要保证正主远超陌生人——这也解释了为什么对比学习特别能吃“大数据”:样本越多,见到的干扰越多,眼光越毒。

Lcontrast=−1N∑i=1Nlog⁡exp⁡(sim(vi,ti)/τ)∑j=1Nexp⁡(sim(vi,tj)/τ)\mathcal{L}_{\mathrm{contrast}} = -\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp\big(\mathrm{sim}(v_i, t_i)/\tau\big)}{\displaystyle \sum_{j=1}^{N} \exp\big(\mathrm{sim}(v_i, t_j)/\tau\big)}
一句话理解:每一个“正主”,都要在一群“陌生人”里面赢过所有人,才算过关。
  1. 算正对相似度先算第 i 张影像和第 i 份报告(正样本对)的相似度
    sim(vi,ti)\mathrm{sim}(v_i, t_i)
  2. 温度缩放除以温度系数 \tau(如 0.07),把相似度差距放大,让好与坏分得更开
    sim(vi,ti)/τ\mathrm{sim}(v_i, t_i)/\tau
  3. 指数归一化分子分母都取指数,再相除,把“第 i 张图应该选中第 i 份报告”的概率算出来
    exp⁡(sim(vi,ti)/τ)∑j=1Nexp⁡(sim(vi,tj)/τ)\frac{\exp\big(\mathrm{sim}(v_i, t_i)/\tau\big)}{\sum_{j=1}^{N} \exp\big(\mathrm{sim}(v_i, t_j)/\tau\big)}
  4. 取负对数并平均概率越接近 1,损失越小;对所有样本求平均后整体优化
    −log⁡(选中概率)-\log(\text{选中概率})

跨模态对齐

红娘拿到一张相亲照,上面有发型、表情、衣品;拿到一份简历,上面有学历、职业、爱好。两者格式八竿子打不着,但聪明的红娘会做一张“标准打分表”:颜值 1-10 分、亲和力 1-10 分、事业稳定性 1-10 分……照片和简历都折算成这张表上的数字,就能横向比较了。深度学习里,这张“标准打分表”就是公共向量空间。

对应到模型结构,我们常用“双塔”架构:影像塔负责把图片编码成向量,文本塔负责把报告编码成向量,两个塔中间不共享参数、各自为政,只在最后一层把向量“塞”进同一个空间。这个“塞进去”的动作就是特征投影——通常是几层全连接网络,把不同维度的原始特征统一成相同长度的向量。

对齐训练时,两个塔就像一对搭档红娘:一个只研究照片,一个只研究简历,但两人必须坐在同一间办公室、用同一套打分表,否则给出的分数没法比。训练完成后,任意一张影像和任意一份报告都能在这个空间里用余弦相似度“量”一下:

这套“双塔+投影+余弦打分”的组合之所以流行,是因为它把训练和部署都做成了“模块化”:影像塔和文本塔可以分开训练、分开部署,甚至离线把全库报告向量算好,线上检索时只跑影像塔一次即可。红娘不必每次约见都把双方叫到现场——简历库早就在档案室排好了队。

sim(v, t)=v⋅t∥v∥ ∥t∥=cos⁡θ\mathrm{sim}(\mathbf{v},\, \mathbf{t}) = \frac{\mathbf{v} \cdot \mathbf{t}}{\|\mathbf{v}\| \, \|\mathbf{t}\|} = \cos\theta
余弦相似度只看两个向量的“方向”是否一致,不看长短,天然适合做跨模态比对。
  1. 向量点积逐维度相乘再求和,算两个向量的“重合程度”,方向越一致值越大
    v⋅t=∑kvk tk\mathbf{v} \cdot \mathbf{t} = \sum_{k} v_k \, t_k
  2. 模长归一化各自除以模长,把向量长度缩放到 1,消除影像和文本特征“长短不一”的影响
    ∥v∥=∑kvk2\|\mathbf{v}\| = \sqrt{\textstyle\sum_k v_k^2}
  3. 余弦夹角归一化后的点积等于夹角余弦,取值在 \left[-1, 1\right],越接近 1 越般配
    cos⁡θ∈[−1,1]\cos\theta \in \left[-1, 1\right]

医学预训练

一位只会看都市青年照片的红娘,突然被派到一家县级医院,面对满墙 CT 断层片,她慌了:这些灰扑扑的图既没有发型也没有衣品,简历上的“磨玻璃影”“实性结节”更是闻所未闻。怎么办?院长给她一个月的“实习期”:先翻出过去十年几万份图文配对档案,让她在真实业务里见世面,再上岗。这就是医学预训练。

预训练的第一步是“找料”:从公开数据集(如 MIMIC-CXR 胸部 X 光图文库)或院内脱敏历史病例里,拿到海量“影像+报告”配对数据。第二步是“练功”:同时优化多个任务,最核心的是图文对比损失,让配对的对得齐;另一个常用辅助任务是掩码语言建模——把报告里某个词盖住(掩码),让模型根据影像和上下文猜被盖住的词,逼它真正读懂影像语义和医学术语。

医学预训练背后的直觉是“领域适配”:通用双塔模型在自然图片上练就的审美,到了医学影像上要打折。CT 的灰度纹理、解剖结构、术语表述都有强烈领域特色,只有用医学图文对“实习”过的模型,才能说出“这个磨玻璃影像原位腺癌”这样内行的话。实习越足,后面接到专科医院的活儿(下游微调)就越省力。

Ltotal=Lcontrast+λ LMLM\mathcal{L}_{\mathrm{total}} = \mathcal{L}_{\mathrm{contrast}} + \lambda \, \mathcal{L}_{\mathrm{MLM}}
总损失 = 图文对齐的“主线任务” + 语言补全的“辅助任务”,λ 控制两者的比重。
  1. 对比损失主线任务,负责把影像和报告拉进同一空间
    Lcontrast\mathcal{L}_{\mathrm{contrast}}
  2. 掩码建模辅助任务,盖住报告中的词语让模型猜,强化医学语言理解
    LMLM=−log⁡p(wm∣影像,w≠m)\mathcal{L}_{\mathrm{MLM}} = -\log p(w_m \mid \text{影像}, w_{\ne m})
  3. 加权求和用 \lambda 调节两个任务的相对重要性,通常设成 1 或 0.1 量级的超参数
    Ltotal=Lcontrast+λ LMLM\mathcal{L}_{\mathrm{total}} = \mathcal{L}_{\mathrm{contrast}} + \lambda \, \mathcal{L}_{\mathrm{MLM}}

图文双向检索

红娘的业务线有两条:一是“看图找人”,客户甩来一张照片,要找对应的简历;二是“看人找图”,客户报出一串条件,要挑出最匹配的照片。两条线看似方向相反,但在她眼里都是同一道题:把查询方和目标方都折到打分表上,比分数大小。这就是图文双向检索——既能用图搜文,也能用文搜图。

用图搜文时,查询是一张影像,把它经影像塔编码成查询向量;候选是数据库里的所有报告,它们早已被文本塔编码成向量并建好索引。接着对全库向量逐一算相似度,找出分数最高的那几份报告。用文搜图则完全对称:把一段诊断描述编码成向量,去影像向量库里找最近邻。方向反了,但“打分排序”的机制不变:

对红娘来说,双向业务让她“一份本事吃两碗饭”:医院既可以把陈年影像翻出来“以图搜文”补写历史报告,也可以拿一句“右上肺实变”去“以文搜图”捞一批典型片子。而工程上更妙的是,双向检索共用同一套向量库——档案建一次,两个方向都能查,成本几乎不增加。

j∗=arg⁡max⁡1≤j≤M  sim(f(q), g(dj))j^{\ast} = \arg\max_{1 \le j \le M} \; \mathrm{sim}\big(f(q),\, g(d_j)\big)
检索的答案就是“全库中相似度最高者的下标”,再顺手拿前 k 名当候选列表。
  1. 查询编码把查询 q(影像或报告)经对应塔编码为查询向量
    f(q)f(q)
  2. 候选遍历把库里第 j 个候选编码成向量,列为 d_1, d_2, \ldots, d_M
    g(dj),j=1,2,…,Mg(d_j),\quad j = 1, 2, \ldots, M
  3. 取最大者argmax 找出相似度最高的候选下标,作为最优匹配
    arg⁡max⁡j  sim(f(q), g(dj))\arg\max_{j} \; \mathrm{sim}\big(f(q),\, g(d_j)\big)
  4. 输出前 k实际系统不止返回一个,而是按分数排序返回前 k 名供医生挑选
    Top-k{sim(f(q), g(dj))}\text{Top-}k \big\{ \mathrm{sim}\big(f(q),\, g(d_j)\big) \big\}

病例检索应用

红娘干得越久,手上的“成功配对档案”就越值钱:遇到一位新客户,她先翻翻档案,找出气质相近、结局美满的老案例,给客户当参考。医生说穿了也是这么干——遇到疑难片子,最想要的是“以前有没有类似的病人?当时怎么诊断、怎么治、预后如何?”这就是病例检索。

病例检索比单模态检索多走一步:不只比较影像像不像,还要比较报告像不像,因为两个病例的“神似”往往体现在疾病描述上。工程上常用加权融合:影像相似度占一部分权重,文本(报告)相似度占另一部分,两者线性叠加作为最终病例相似度:

这个能力落到科室里价值很实在:辅助诊断时,医生拿到相似病例的确诊结果与治疗方案作参考,心里更有底;教学时,带教老师输入“气胸 张力性”,马上调出配好批注的经典影像,实习生学得又快又直观。当然要强调,检索是“递参考”而不是“下结论”——红娘只能推荐相似档案,最终拍板约见谁、怎么处,永远是医生和患者自己的事。

S(A,B)=α sim(vA,vB)+(1−α) sim(tA,tB),0≤α≤1S(A, B) = \alpha \, \mathrm{sim}(v_A, v_B) + (1 - \alpha) \, \mathrm{sim}(t_A, t_B), \quad 0 \le \alpha \le 1
\alpha 越大越看重“长得像”,越小越看重“病情描述像”,具体取值靠验证集调。
  1. 影像相似两个病例影像(如同一部位 CT)的相似度
    sim(vA,vB)\mathrm{sim}(v_A, v_B)
  2. 报告相似两份诊断报告语义向量的相似度
    sim(tA,tB)\mathrm{sim}(t_A, t_B)
  3. 加权融合\alpha 加权再求和,得到病例层面的综合相似度
    α sim(vA,vB)+(1−α) sim(tA,tB)\alpha \, \mathrm{sim}(v_A, v_B) + (1 - \alpha) \, \mathrm{sim}(t_A, t_B)

部署与优化

生意越做越大,婚介所从一天几单发展到一天几万单,红娘再能算,也架不住把每份简历现场重读一遍。聪明的做法是:提前把全库的照片和简历全部折算成“打分表”存进数据库,来新客户时只算一遍新人的表,再去库里做快速比对。这就是检索系统的部署哲学:离线建索引,在线只查“近邻”。

工程上,离线阶段用双塔把全库影像/报告编码成向量,送入向量数据库(如 FAISS、Milvus)构建近似最近邻索引;在线阶段把查询编码成向量后,用 ANN(近似最近邻)快速召回几百个粗选,再用精确余弦相似度重排,兼顾速度和精度。若模型太大跑不动,还可以做量化压缩、知识蒸馏,让红娘“带着小本本跑业务”。效果好不好,要看检索指标:

红娘成名之后,“金字招牌”靠的是又准又快:医疗场景动辄百万级样本,一次检索必须压到几百毫秒内,同时保证召回率不塌。部署时还要守住底线——病例数据涉及隐私,系统要在内网或合规云上运行,做好脱敏审计。技术到位、流程合规,这位“AI 红娘”才能真正坐进影像科,成为医生离不开的老搭档。

R@K=1N∑i=1N1[yi∈TopK(qi)]\mathrm{R@K} = \frac{1}{N} \sum_{i=1}^{N} \mathbb{1}\big[ y_i \in \mathrm{Top}_{K}(q_i) \big]
Recall@K 统计的是:在 N 次查询里,有多少次正确答案出现在返回的前 K 个结果中。
  1. 指示函数\mathbb{1}[\cdot] 是“开关”,条件成立记 1、不成立记 0
    1[正确答案在 Top-K 里]\mathbb{1}\big[ \text{正确答案在 Top-K 里} \big]
  2. 单次命中对第 i 次查询,看它的标准答案 y_i 是否落进检索返回的 Top_K(q_i)
    1[yi∈TopK(qi)]\mathbb{1}\big[ y_i \in \mathrm{Top}_K(q_i) \big]
  3. 整体均值把所有查询的命中数相加再除以查询总数 N,得到召回率
    1N∑i=1N1[⋅]\frac{1}{N} \sum_{i=1}^{N} \mathbb{1}[\cdot]

AI 应用场景

PACS 影像管理系统的“以图搜文”

阶段:模型部署与在线检索

解决的问题:传统 PACS 主要靠检查号、病人姓名或报告关键词检索,医生看到一张可疑 CT 想找对应的历史报告,得先记下患者 ID 再逐条翻,效率低。跨模态检索让影像直接作为查询,系统自动召回最匹配的报告,几秒钟完成过去半小时的活。

具体案例:某三甲医院放射科在 PACS 上接入图文对比检索模型。医生把一张“疑似气胸复查”的胸部 CT 拖进检索框,模型在 50 万份历史报告中 2 秒内召回最像的 10 份,并附上诊断与随访结论,医生据此快速比对影像演变,出具报告的时间缩短约 40%。

住培教学的“典型病例一键调取”

阶段:数据构建与检索应用

解决的问题:教学查房最怕“想举例找不到典型片子”。有了跨模态检索,带教老师输入一段描述如“右肺上叶磨玻璃影,考虑原位腺癌”,系统从教学影像库中调出经过脱敏、带批注的经典图文对,实习生边看影像边读报告,学习效率大幅提升。

具体案例:某医学院附属医院搭建“影像教学病例库”,用对比学习模型把 3 万份教学图文对建成向量索引。实习生用“张力性气胸”检索,秒级返回 12 组典型病例,每组附影像、报告和病理随访结果,被评为最受住培生欢迎的教学工具。

罕见病相似病例推荐

阶段:模型推理与辅助决策

解决的问题:罕见病确诊难,医生往往缺乏参考。用当前患者的影像去检索历史确诊病例库,系统返回影像最相似、报告描述最接近的已确诊病历,帮助医生拓宽诊断思路,提示下一步检查方向。

具体案例:一家罕见病中心的医生遇到一例全身多处骨质异常的青年患者,通过跨模态检索在中心 8 年病例库中找到 5 例影像高度相似的既往确诊病例,结合基因检测最终锁定“ Erdheim-Chester 病”,确诊周期从 3 个月缩至 10 天。

Python 演示

python37 行
import numpy as np  def cosine_sim(a, b):    a = a / (np.linalg.norm(a, axis=1, keepdims=True) + 1e-9)    b = b / (np.linalg.norm(b, axis=1, keepdims=True) + 1e-9)    return a @ b.T  def contrastive_loss(img_emb, txt_emb, tau=0.07):    logits = cosine_sim(img_emb, txt_emb) / tau    n = logits.shape[0]    labels = np.arange(n)    loss_i2t = -np.mean(np.log(np.exp(logits[np.arange(n), labels]) / np.exp(logits).sum(axis=1) + 1e-9))    loss_t2i = -np.mean(np.log(np.exp(logits[labels, np.arange(n)]) / np.exp(logits).sum(axis=0) + 1e-9))    return 0.5 * (loss_i2t + loss_t2i)  def make_pairs(batch_size=16, dim=64, seed=0):    rng = np.random.default_rng(seed)    img = rng.normal(size=(batch_size, dim))    txt = rng.normal(size=(batch_size, dim))    txt = 0.6 * img + 0.8 * txt    return img, txt  def main():    img, txt = make_pairs()    loss = contrastive_loss(img, txt)    print("contrastive loss =", round(loss, 4))    scores = cosine_sim(img[2:3], txt)    topk = np.argsort(scores[0])[::-1][:3]    print("query=img3, top3 report ids:", topk.tolist(), "hit=", 2 in topk)  if __name__ == "__main__":    main()
目的:用 NumPy 手写一个最小版 InfoNCE 对比损失,并演示“用图搜文”的 Top-3 检索流程,帮助理解跨模态检索的核心机制。
  1. txt = 0.6 * img + 0.8 * txt人为制造“同一对”的关联信号,模拟同一位病人的影像与报告天然相似
  2. logits = cosine_sim(img_emb, txt_emb) / tau算出全部图文对相似度并除以温度系数 \tau,等于红娘给所有配对打了一遍分
  3. loss_i2t = -np.mean(np.log(np.exp(logits[np.arange(n), labels]) / np.exp(logits).sum(axis=1) + 1e-9))“用图搜文”方向的损失:要求每张影像在整排报告里认出自己的那一份
  4. loss_t2i = -np.mean(np.log(np.exp(logits[labels, np.arange(n)]) / np.exp(logits).sum(axis=0) + 1e-9))“用文搜图”方向的损失:反向再来一遍,双向对齐更稳
  5. topk = np.argsort(scores[0])[::-1][:3]把相似度从高到低排序并取前 3,就是 Top-3 检索输出

常见误区

误区“我以为跨模态模型就是把影像模型和文本模型焊成一个网络,至少参数要共享,不然怎么敢叫多模态?”

正解双塔结构恰恰是“两个独立编码器 + 一个对齐空间”。影像塔只看图、文本塔只看报告,它们只在对比损失阶段一起训练,目标是让输出向量落在同一把尺子上。部署时甚至可以离线把文本塔的向量算好存起来。这就像媒人手里的打分表是同一张,但负责分析照片和负责读简历的可以是两位专员。

为何常见:“多模态”三个字让人误以为必须把网络融合在一起,忽略了“对齐”才是让模态互通的关键。

误区“我一开始以为对比学习就是回归,把同一对的相似度练到接近 1 才行,得分不够高就是没练好。”

正解对比损失真正看的是“相对顺序”:正样本比同一批里的负样本得分高即可,不必逼近 1。softmax 本质是在做“谁是正主”的判别,而不是“两人长得一模一样”的回归。红娘只要能在人群中认出正主,不需要把正主和照片 P 成一致。

为何常见:把“损失变小”误等同于“输出逼近某个绝对目标值”,忽视了对比学习是判别式而非回归式任务。

误区“CLIP 在图文匹配上那么强,直接把它的开源权重搬到医学影像上用就行,顶多微调两下。”

正解自然图像与医学影像差异巨大:CT/MRI 是灰度断层、解剖结构密集,通用编码器学到的“猫狗纹理”概念几乎用不上。必须在医学图文对上做预训练或继续训练,才能让模型理解“磨玻璃影”“实性结节”这类领域语义。就像大城市婚介所练出的红娘,回到县级医院也得先熟悉当地“行话”。

为何常见:只看到通用模型在自然图像上的惊艳效果,低估了医学领域的域偏移(domain shift)。

误区“评估检索系统只看第一个结果准不准,R@1 高就是好系统,其他指标无所谓。”

正解医疗场景医生要的是“多个靠谱候选”做参考,R@K(K 取 5 或 10)和结果多样性同样重要。只盯 R@1,模型会变成“赌徒”——猜中第一个就满分,猜错就全盘皆输。红娘一次推荐三位候选人,比只推一位、推错就砸招牌更稳妥。

为何常见:把单点准确率当成系统唯一目标,忽略了医学决策天然需要“候选集 + 人工判断”的工作流。

面试题

Q1. 跨模态检索中“跨模态”最准确的理解是?

单选题 · easy

  • A.模型可以同时处理多种任务
  • B.查询与候选来自不同模态← 正确答案
  • C.在多台设备上并行训练
  • D.用多种语言输出诊断报告

答案:B。跨模态指的是查询和候选属于不同类型的数据,比如影像搜文本、文本搜影像。A 说的是多任务,C 说的是分布式训练,D 说的是多语言输出,都和“模态”无关。用红娘比喻:照片和简历是两种格式,跨模态就是在这两种格式之间互相找。

Q2. 对比学习中“正样本对”指的是?

单选题 · easy

  • A.两张完全相同的影像
  • B.同一病人的影像与报告← 正确答案
  • C.任意两张正常的影像
  • D.两份措辞相同的报告

答案:B。正样本对是“天生一对”,即同一病人、同一次检查的影像和它对应的诊断报告。A 只是完全相同不是配对,C 和 D 都没有“跨模态对应”关系。就像红娘眼中,同一客户的相亲照和简历才是一对。

Q3. InfoNCE 损失中温度系数 \tau 的作用是?

单选题 · mid

  • A.调节训练的学习率
  • B.控制特征的输出维度
  • C.放大或压缩相似度差距← 正确答案
  • D.设定训练批次的大小

答案:C。温度系数 \tau 通过除法对相似度做缩放:\tau 越小,相似度差距被拉得越大,模型对“谁更配”更敏感;\tau 越大则越平滑。它不改变学习率、维度或批大小。好比红娘打分时用“加权放大镜”,把微小的优劣差距看得更清楚。

Q4. 双塔结构中两个编码器的关系是?

单选题 · mid

  • A.共享同一套模型参数
  • B.各自独立编码再对齐← 正确答案
  • C.必须完全相同的结构
  • D.串行连接成单个网络

答案:B。双塔的精髓是“各干各的、最后对齐”:影像塔和文本塔彼此独立,结构也可以不同(如一个 CNN、一个 Transformer),只在对比损失下把输出投到同一空间。A 是单塔共享权重,C 无此要求,D 是融合网络,都不符合双塔定义。

Q5. 用报告搜影像时,正确的检索路径是?

单选题 · mid

  • A.报告向量与影像向量比对← 正确答案
  • B.报告关键词匹配文件名
  • C.影像报告向量拼接比对
  • D.影像转文字再搜索报告

答案:A。用文搜图时,报告经文本塔编码成向量,去影像向量库中比对相似度,返回分数最高的影像。B 是传统文本匹配,C 是拼接而非对齐,D 把方向搞反了。红娘的比喻:拿着简历去照片档案里找人,用的是统一打分表。

Q6. 医学预训练中常用的训练任务包括?

多选题 · mid

  • A.图文对比的训练任务← 正确答案
  • B.掩码语言建模任务← 正确答案
  • C.普通图像类别标注
  • D.生成文本翻译报告

答案:AB。医学预训练常组合“图文对比”与“掩码语言建模”:前者负责对齐影像和报告,后者盖住报告词让模型猜,强化医学语言理解。C 是普通分类任务,D 是翻译任务,都不是医学图文预训练的典型任务。

Q7. 余弦相似度的取值范围是?

单选题 · hard

  • A.一个任意的实数
  • B.零到一之间的数
  • C.负一到一之间← 正确答案
  • D.零到正无穷之间的数

答案:C。余弦相似度是两个归一化向量的夹角余弦,cos\theta 天然落在 \left[-1, 1\right]。1 表示方向完全相同,-1 表示方向完全相反。A 是欧氏距离的取值特点,B、D 把范围说窄了。打分表上分数有正有负,红娘要的是“最接近 1”的那位。

Q8. 部署医学跨模态检索系统时,常用的加速手段有?

多选题 · hard

  • A.建立向量索引近似检索← 正确答案
  • B.对模型做量化压缩← 正确答案
  • C.增加检索返回的数量
  • D.用 GPU 批量编码特征← 正确答案

答案:ABD。向量索引(ANN)避免全库暴力扫描,量化压缩减小模型体积和推理耗时,GPU 批处理加速编码。增加返回数量只改变输出条数,不改变系统速度。红娘开分店后,用“通讯录速查表”(索引)、“小本本”(压缩)和“跑腿助手”(GPU)提速,多带几个客户名单可不算提速。

Q9. Recall@K 指标的含义是?

单选题 · hard

  • A.前 K 项含正确答案的占比← 正确答案
  • B.检索结果的平均精度
  • C.模型参数量的大小
  • D.报告文本的长度指标

答案:A。R@K 统计所有查询中,标准答案出现在检索返回前 K 个结果里的比例,反映系统“有没有把正确答案捞回来”的能力。B 是平均精度均值(mAP)的范畴,C、D 与检索准确率无关。红娘考核“Top-K 名单里有没有提到正主”比“名单顺序是否完美”更宽容也更实用。

Q10. 关于病例检索与临床诊断的关系,正确的说法是?

多选题 · extreme

  • A.检索结果能替代医生的诊断
  • B.检索可为医生提供相似病例参考← 正确答案
  • C.模型可能受训练数据偏倚影响← 正确答案
  • D.检索结果能保证预后一定正确

答案:BC。病例检索是“递参考”的工具,帮医生快速找到相似既往病例,但不能替代医生决策;模型表现受训练数据分布影响,数据偏倚可能导致推荐偏差。A、D 把工具作用夸大成绝对保证。红娘推荐档案是助攻,拍板做主永远是医生和患者。