周六下午,你走进「云仓百货」,举着手机里朋友婚礼上穿过的一条裙子,对导购安姐说:“想要这种调调,但颜色淡一点,上班能穿。”安姐扫了一眼照片、听完半句话,便从上万件商品里拎出三件:一件图片同款、两件淡色通勤款。你压根没说出口的“潜台词”,她全接住了。这背后,就是电商后端的多模态检索——把“照片”和“文字”翻译成同一种“向量语言”,再在商品库里瞬间找到最接近的答案。这篇文章会拆解安姐的四步绝活:看懂照片(商品图像编码)、听懂需求(属性文本融合)、记住偏好(点击反馈优化)、极速淘货(检索与工程优化),最后聊聊怎么衡量这套系统的业务价值。
学懂多模态检索,你将能为电商打造“拍照+一句话”的新型搜索入口,把说不清、搜不出的需求变成实打实的转化率提升——这是搜索与推荐团队最有说服力的业绩亮点。
可视化演示
演示以图搜物、图文混合查询与点击反馈优化三种多模态检索方式,展示图像编码、语义对齐与商品排序的完整链路。
本节配有交互动效(进入视口后自动加载,约 3KB)。
以图搜物 图像编码 cos(θ) 视觉相似检索
多模态检索概述
云仓百货的导购台前常年摆着两样东西:顾客递来的照片,和顾客嘴里的描述。早年的导购只会“听”——顾客说“红裙子”,他就满仓库找标着“红裙子”的货签;后来聪明的导购学会“看”——顾客给图,他按图索骥;但真正顶尖的安姐是“连看带听”:照片定下风格基调,话语挑明属性偏好,两样一合,意图便清晰了。
电商搜索的演进正是这条“导购进化史”。最早的电商搜索只有文本模态,用户敲关键词,系统匹配商品标题;拍照搜索出现后,用户拍下实物找相似款,这是图像模态;而多模态检索把两者打通,允许“这张图+这句话”共同构成一次查询——这就是拍照搜索与图文混合查询的由来。
让图像和文本能一起参与检索,关键在于“跨模态对齐”:用编码器把照片变成向量,把文字也变成向量,并让它们落在同一个向量空间里。这样“照片里的红裙”与文字里的“白色”“通勤”就可以直接比较、加权、融合。检索最终化简为一个朴素问题:在商品向量库中,找到与查询向量最相似的商品。
1. 查询向量 $\mathbf{q}$:由“照片+文字”融合而成的查询意图向量,是后续各节模型的输出。
2. 商品向量 $\mathbf{p}$:某件商品经过编码后得到的向量,相当于安姐脑中给每件商品贴的“坐标标签”。
3. 点积 $\mathbf{q} \cdot \mathbf{p}$:两个向量逐维度相乘再求和,衡量二者在同一方向上的分量有多大。
4. 模长归一化 $\lVert \cdot \rVert$:分母除以各自的模长,消除向量长度差异,只保留方向信息,得到余弦相似度。
安姐能“秒懂”,并非天赋异禀,而是她脑中早把每件商品、每句需求都翻译成了同一套坐标——坐标越近,越是你要的那件。多模态检索的全部秘密,就藏在“翻译到同一空间”这八个字里。
商品图像编码
安姐看照片,从不盯像素,而是抓“轮廓、颜色、材质”这些关键线索:裙子的收腰线条、面料的哑光质感、领口的形状——几十个细节在零点几秒内汇成一句话:“这是一条正式场合的红色收腰连衣裙。”人的眼睛在「提特征」,机器也一样。
计算机的图像编码就是模仿这个“提炼气质”的过程。商品图像编码的第一步是图像特征提取:模型读入图片像素矩阵,通过卷积或注意力层逐层抽象,把视觉细节从“点、线、面”逐步压缩成一个稠密向量。这个向量不是照片本身,而是照片的“灵魂画像”。
工程上还要回答三个问题:视觉模型选型上,ResNet 性价比高、部署成熟,ViT 表达力强但更重,按算力预算取舍;向量表征学习上,用对比学习让“同款不同图”的向量尽可能拉近;多尺度融合上,把全局特征与局部区域特征拼在一起,兼顾“整体风格”与“领口花纹”这类局部细节。
1. 输入图像 $I$:商品图片的像素矩阵,包含高度、宽度和颜色通道。
2. 编码器 $f_{\theta}$:ResNet、ViT 等视觉模型,通过卷积或注意力逐层抽象视觉语义。
3. 网络参数 $\theta$:模型的权重,在海量“图文对”上学到“什么样的像素对应什么样的风格”。
4. 输出维度 $d$:图像向量的维度,实践中常见 128~768 维,兼顾表达能力与检索开销。
这一步就是安姐的“火眼金睛”:一张照片压缩成几百个数字,却浓缩了整件衣服的神韵。向量不是照片的复印件,而是照片的灵魂画像——后面所有检索、比较,都用这幅画像进行。
属性文本融合
照片说得清“长这样”,却说不清“颜色淡一点”“上班能穿”。安姐把话里的属性——颜色、风格、场景、品牌——也翻译成数字,再和照片的气质捏合成一张完整的“心愿单”。这就是属性文本融合要解决的问题。
融合的第一步是文本特征编码:词嵌入把“白、通勤、自家品牌”这些词映射成文本向量。但“捏合”不能简单相加,因为这次搜索可能是“图更重要”(我就喜欢这个款式),下次可能是“字更重要”(款式无所谓,必须白色)——于是需要注意力式的门控融合来自动权衡。
门控融合的数学形式如下:模型把图像向量和文本向量拼接,经过一个 sigmoid 门计算出权重系数 λ,再用 λ 加权合成查询向量,最后做 L2 归一化。这样系统就能根据查询内容自适应地分配“看图”与“听话”的权重,这正是跨模态交互的精髓。
1. 拼接符号 $[\,;\,]$:把图像向量和文本向量首尾相接,合并成一个更长的向量,供门控打分。
2. 变换矩阵 $\mathbf{W}$:可学习的权重,把拼接向量投影成一个实数得分。
3. sigmoid 函数 $\sigma$:把任意实数压到 0~1 之间,得到平滑可导的门控值。
4. 加权合成:λ 份图像特征加上 1−λ 份文本特征,融合后再做 L2 归一化,得到最终查询向量。
门控 λ 就是安姐的“心眼”:顾客使劲看图时,她多看图;顾客反复强调“必须白色”时,她多听话。两只眼睛、两只耳朵的信息,最终汇成一单清晰的采购指令,这是多模态检索“懂人话”的关键一步。
点击反馈优化
安姐也有猜错的时候。但她有个职业习惯:顾客最终买了哪条裙子,她默默记下;下次遇到类似需求,她会优先把那条拿出来——她在用“结果”校正“判断”。点击反馈优化,做的正是这件事。
用户搜索后点击了某个商品,这个点击就是“隐式反馈”——虽然用户没说出口,但行为已经投票:“这个方向对了。”系统把点击数据收集起来,进入隐式反馈建模:让查询向量与被点击商品的距离更近,与同一批展示却没被点击的商品距离更远,从而不断修正向量空间。
三元组损失是训练这套空间关系的经典目标:对每个查询 q,取一个被点击的正样本 p⁺ 和一个未点击的负样本 p⁻,要求正样本距离比负样本至少近一个间隔 m。模型在线优化时用新日志持续微调向量;至于没有点击记录的新品,则用图文相似度做冷启动,让它们先“混个脸熟”。
1. 正样本 $\mathbf{p}^{+}$:本次查询下被用户点击的商品向量,代表“对的方向”。
2. 负样本 $\mathbf{p}^{-}$:同一批展示却没有被点击的商品向量,代表“不够对的方向”。
3. 距离函数 $d$:常用余弦距离 $1 - \cos$,距离越小表示越相似。
4. 间隔 $m$ 与 hinge 结构:$m$ 强制正负样本之间至少留出这么多距离;$\max(0, \cdot)$ 表示已经达标时损失为 0,不重复惩罚。
每一次点击,都是安姐在“长记性”;几百万次记性累积起来,她对顾客的潜台词越来越有把握。这也是多模态检索“越用越聪明”的根本原因——向量空间不是建好就固定,而是被用户行为持续雕刻。
业务效果评估
老板不管安姐背了多少商品,只问两件事:顾客买了没有,顾客下次还来不来。搜索系统也一样,技术指标再漂亮,最终都要落到业务效果上——这就是评估环节存在的意义。
最核心的指标是转化率:点击了商品详情的用户里,有多大比例最终下单。同时还要度量用户体验:搜索耗时、二次搜索率、满意度问卷,都是“顾客心情”的晴雨表。算法团队通常先建离线评测体系,用标注好的相关性数据算召回率@K,快速筛选模型;上线前再跑线上 A/B 实验,让新旧两版在真实流量中同台竞技。
1. 标准答案集 $\mathcal{G}(q)$:人工标注或点击统计出的、与查询 $q$ 真正相关的商品集合。
2. 召回结果集 $\mathcal{R}_K(q)$:检索系统返回的前 $K$ 个商品组成的集合。
3. 交集与归一化:分子统计“召回的结果中正好命中的答案数”,分母为标准答案总数,得到 0~1 的召回率。
评估体系就是老板手里的考核表:既看“成交”(转化率),也看“顾客心情”(体验),还准备了两套考卷——离线指标和线上 A/B——确保每一个改动都经得起真实生意的检验。
技术挑战应对
云仓百货货架上躺着上亿件商品,客人站在台前,安姐必须在零点几秒内给出答案。她功夫再深,也不能挨个翻货架——这正是多模态检索最现实的压力:规模与速度的双重夹击。
压力来自四个方面。大规模向量检索:商品以亿计,逐一计算相似度不可行;实时性要求:用户等待超过几百毫秒就会流失;多模态异构:图像和文本的特征分布天差地别,融合不当反而互相干扰;数据稀疏性:大量长尾商品没有点击记录,模型学不好它们的表征。
先看复杂度账本。暴力检索要在 N 个商品上各做 D 维点积,共 N×D 次乘法,亿级规模无法承受;近似最近邻(ANN)通过“先粗筛、后精排”的两阶段结构,把查询复杂度压到近似对数级,用极小精度损失换回数量级的速度提升,这让大规模部署成为可能。
1. 商品数 $N$:候选商品总量,电商场景以亿计,是复杂度的基数。
2. 向量维度 $D$:每个商品向量的维度,决定单次点积的运算量。
3. 暴力检索复杂度:每个查询要对 N 个商品各做一次 D 维点积。
4. ANN 近似检索:通过空间划分或图索引跳过绝大多数候选,把复杂度降到近似对数级。
安姐能“秒回”,靠的不是蛮力,而是把仓库变成分区货架、把翻找变成查表。技术挑战的应对之道,永远是“用结构换速度”——这是多模态检索从论文走向生产的第一步。
工程优化策略
安姐之所以在超大仓库里游刃有余,靠三件装备:小本本(常见需求速查)、动线图(货架分区)、提前备货(热销品放前台)。工程系统也有对应的三板斧,让“安姐”不再是万里挑一的天才,而是可复制的标准配置。
第一招是向量索引加速:用 HNSW、IVF 等近似索引组织商品向量,召回延迟从秒级降到毫秒级;第二招是服务架构设计:把查询理解、向量召回、精排串成流水线,各环节独立扩容、互不拖累;第三招是缓存与降级机制:热门查询结果缓存复用,模型故障时自动降级为纯文本搜索,保证服务不中断。此外还有模型压缩部署,用量化和蒸馏让模型更小更快。
量化的收益一目了然:此前每个向量维度用 4 字节的 FP32 存储,压缩为 1 字节的 INT8 后,内存只有原来的四分之一,检索时的访存开销同步下降,延迟也随之改善。压缩的代价是精度略有损失,但配合精排阶段的重打分,可以做到基本无损。
1. FP32 存储:单精度浮点数每个向量维度占 4 字节,全库内存正比于商品数与维度。
2. INT8 量化:把浮点向量缩放到 8 位整数,每个维度只占 1 字节。
3. 压缩比:内存与访存开销同步降为原来的四分之一。
4. 精度代价:量化引入微小误差,但配合重排序环节可基本无损。
工程优化的意义在于:它让“金牌导购”成为可以批量复制的标准品。索引是动线图,缓存是小本本,量化是提前备货——多模态搜索能走进千家万户的 App,靠的正是这些不起眼的“装备”。
AI 应用场景
拍照搜同款,让“说不清”变成“拍下来”
阶段:图像编码与向量召回(离线建库+在线检索)
解决的问题:传统搜索依赖关键词,用户看到别人穿搭却无法描述品牌和款式,导致搜不到、转化流失。AI 用图像编码器把照片变成向量,直接在亿级商品向量库中召回相似款。
具体案例:电商 App 的“拍立淘”功能中,用户上传街拍照片,系统先做主体检测与图像编码,再经 HNSW 索引召回 Top 100 相似商品,最后用颜色、品类等文本属性重排,返回“同款平替”。
图文混合查询,让搜索框“看图又听话”
阶段:查询理解与特征融合
解决的问题:纯图片搜索无法表达“颜色浅一点”“换成长裤”等修改意图。门控融合让“图”与“字”协同,一次查询同时满足“款式像图”和“属性如字”。
具体案例:用户上传连衣裙照片并输入“白色通勤”,系统分别编码图像与文本,门控融合后检索,优先返回白色、通勤风格、版型接近的连衣裙。
点击反馈驱动迭代,让检索越用越聪明
阶段:在线学习与效果评估
解决的问题:静态模型不理解用户偏好漂移。点击日志作为隐式反馈,通过三元组损失微调向量空间,让搜索结果随真实行为持续进化。
具体案例:搜索团队每日收集亿级“查询-点击”日志,离线训练三元组损失后更新商品向量,线上 A/B 验证转化率提升 2%,随后全量上线。
Python 演示
import math def l2_normalize(vec): # 对向量做 L2 归一化, 使余弦相似度只由方向决定 norm = math.sqrt(sum(v * v for v in vec)) return [v / norm for v in vec] def encode_text(color, style, brand): # 模拟文本编码器: 将属性词映射为 8 维稀疏向量 color_map = {"red": 1.0, "white": -0.8, "blue": 0.2} style_map = {"office": 1.0, "casual": -0.5, "sport": -1.0} vec = [0.0] * 8 vec[0] = color_map.get(color, 0.0) vec[1] = style_map.get(style, 0.0) vec[2] = 1.0 if brand == "own" else -1.0 return l2_normalize(vec) def encode_image(kind): # 模拟图像编码器: 按商品类别返回固定的视觉特征向量 image_table = { "dress": [1.0, 0.5, 0.8, 0.2, 0.0, 0.0, 0.0, 0.1], "shirt": [0.6, 0.9, 0.1, 0.4, 0.0, 0.0, 0.0, 0.2], "jeans": [0.1, 0.2, 0.3, 0.9, 0.3, 0.0, 0.0, 0.0], } return l2_normalize(image_table[kind]) def gate_fusion(v_img, v_txt): # 门控融合: lambda 表示文本特征在当前查询中的权重 gate_sum = sum(v_txt) - sum(v_img) lam = 1.0 / (1.0 + math.exp(-gate_sum)) fused = [lam * ti + (1.0 - lam) * ii for ii, ti in zip(v_img, v_txt)] return l2_normalize(fused) def cosine_sim(a, b): # 余弦相似度: 越接近 1 表示两个向量方向越一致 return sum(x * y for x, y in zip(a, b)) def build_catalog(products): # 为每个商品生成"图像+文本"融合后的向量, 相当于导购的记忆 catalog = [] for pid, kind, color, style, brand in products: v_img = encode_image(kind) v_txt = encode_text(color, style, brand) catalog.append({"id": pid, "kind": kind, "vec": gate_fusion(v_img, v_txt)}) return catalog def search(catalog, query_vec, top_k=3): # 对候选商品逐一打分并排序, 取相似度最高的前 top_k 个 scored = [(cosine_sim(item["vec"], query_vec), item) for item in catalog] scored.sort(key=lambda pair: pair[0], reverse=True) return scored[:top_k] def apply_click_feedback(catalog, clicked_id, boost=0.15): # 点击反馈: 用户点击某商品后, 将该商品向量向查询方向微调 for item in catalog: if item["id"] == clicked_id: item["vec"] = [v + boost for v in item["vec"]] item["vec"] = l2_normalize(item["vec"]) def main(): # (商品ID, 类别, 颜色, 风格, 品牌) products = [ (101, "dress", "red", "office", "own"), (102, "dress", "white", "casual", "other"), (103, "shirt", "blue", "office", "own"), (104, "jeans", "blue", "sport", "other"), ] catalog = build_catalog(products) # 用户上传一张连衣裙的照片, 并输入文字"白色通勤款" v_img = encode_image("dress") v_txt = encode_text("white", "office", "own") query = gate_fusion(v_img, v_txt) print("=== 多模态检索 Top-3 ===") for score, item in search(catalog, query): print(" id=%d kind=%s score=%.4f" % (item["id"], item["kind"], score)) # 用户点击了第 102 号商品, 系统借此学习本次查询的真实意图 apply_click_feedback(catalog, 102) print("=== 点击反馈后重检索 ===") for score, item in search(catalog, query): print(" id=%d kind=%s score=%.4f" % (item["id"], item["kind"], score)) if __name__ == "__main__": main()
def gate_fusion(v_img, v_txt):定义门控融合函数,对应安姐“掂量图与话哪个更该信”。lam = 1.0 / (1.0 + math.exp(-gate_sum))用 sigmoid 把差值压到 0~1 之间,算出文本权重。catalog.append({"id": pid, "kind": kind, "vec": gate_fusion(v_img, v_txt)})为每件商品生成融合向量,相当于给仓库里的每件货贴上“坐标标签”。scored.sort(key=lambda pair: pair[0], reverse=True)按相似度降序排列候选商品,完成召回排序。apply_click_feedback(catalog, 102)模拟用户点击第 102 号商品后的反馈更新。item["vec"] = [v + boost for v in item["vec"]]把被点击商品的向量向查询方向微调,让下次更易被命中。
常见误区
误区以为多模态检索只是“以图搜图”和“关键词搜索”各出一份结果,最后把两份列表拼在一起就行,图是图、文是文,互不干扰。
正解真正的多模态检索要求跨模态对齐——图像和文本必须先映射到同一个向量空间,才能在融合后统一比较。就像安姐不会先按照片翻一遍、再按“白色通勤”翻一遍,而是把照片气质和话语属性捏合成一张心愿单。分开跑的结果只是两个单模态榜单的机械拼接,无法表达“款式像图、颜色如字”这种交叉约束,效果会明显打折。
为何常见:因为“多”字容易被理解成“多个结果拼起来”,而且工程上分开跑实现简单,很多人误以为这就是多模态。
误区以为把向量维度从 128 提到 1024,甚至上万,商品区分度就一定更高,检索效果一定更好。
正解维度越高,表达力越强,但也会带来“维度灾难”:高维空间里所有向量彼此都差不多远,区分度反而下降;同时内存和计算开销成倍上涨。实践中常用 128~768 维,再配合 L2 归一化,把向量约束在单位球面上,让余弦距离稳定可比。安姐记商品不是记细节越多越好,而是记“关键气质”,维度选择同理。
为何常见:人直觉上认为“信息越多越好”,忽略了高维空间几何特性的反直觉现象,以及工程成本边界。
误区看到某版模型点击率提升,就断定它检索更准,立刻全量上线。
正解点击率受位置偏差严重影响——排在前面的商品本来就更容易被点击,哪怕它并不那么相关。必须做位置偏差校正,或者用“跳过率”“加购率”等更干净的行为信号辅助判断,同时结合转化率和用户体验指标。安姐也不会因为顾客“多看了一眼”就认定对方想买,她看的是最终有没有下单。
为何常见:点击是最易获取的行为信号,人容易把“注意力”误当成“购买意向”,忽略了展示位置这个混杂因素。
误区离线评测 Recall@K 提升明显,就认为线上 A/B 一定赢,甚至跳过实验直接全量。
正解离线指标和线上表现经常不一致:训练特征与线上服务特征不同步、数据分布漂移、延迟导致的截断等都会造成偏差。正确做法是把离线指标当“快速筛子”,上线前必须跑 A/B 实验,用真实流量验证转化率与体验。安姐的“聪不聪明”最终也要靠顾客用脚投票,而不是靠笔试成绩。
为何常见:离线评测成本低、速度快,人容易贪图便利,把“必要条件”误当成“充分条件”。
误区以为 HNSW 索引构建一次就能永久使用,商品上新下架不用管索引。
正解电商商品每天大量上新、下架、改价,索引必须支持增量插入、删除和定期重建,否则会搜到已下架商品、漏掉新品。工程上还要配合缓存淘汰策略,保证索引与商品库的一致性。安姐的小本本也需要每天更新,货架上的商品摆法在变,她的“动线图”自然也要跟着改。
为何常见:索引构建成本高,人倾向于“一次投资、长期受益”,忽略了电商数据动态变化的本质。
面试题
Q1. 多模态检索“跨模态对齐”的核心目标是?
- A.让图像文本落到同一向量空间← 正确答案
- B.让图像文件体积变得更小
- C.让搜索引擎返回更多商品
- D.让标题关键词匹配更精准
答案:A。跨模态对齐的核心是把图像和文本映射到同一个向量空间,使两者可以直接比较和融合。类比安姐把照片和话语都翻译成同一套“坐标语言”。压缩图片体积、增加返回数量、优化关键词匹配都不是“对齐”的含义,它们分别属于存储优化、召回策略和文本检索的范畴。
Q2. 拍照搜索中商品图像编码最常用的模型是?
- A.ResNet 等卷积神经网络← 正确答案
- B.随机森林决策树模型
- C.K 均值聚类算法模型
- D.马尔可夫链概率模型
答案:A。图像编码需要从像素中提取空间视觉特征,ResNet 等 CNN 通过卷积层逐层抽象,是视觉特征提取的主力;ViT 则用注意力机制替代卷积。随机森林、K 均值、马尔可夫链分别擅长表格分类、聚类和序列建模,不适用于像素级的特征提取,就像安姐靠眼睛看而非靠算账来认款。
Q3. 用户“点击”行为在搜索优化中属于?
- A.隐式反馈的正样本信号← 正确答案
- B.显式打分的负样本信号
- C.人工标注的强监督标签
- D.商品自身的静态属性
答案:A。用户没有明说“我要这个”,但点击行为隐含了偏好,属于隐式反馈,且相对于未点击商品构成正样本。它不是显式评分(如星级评价),不是人工标注,也不是商品静态属性。如同安姐观察顾客多看哪条裙子,而不是等顾客亲口说要哪条。
Q4. 门控融合中 λ 越接近 1 表示?
- A.查询更依赖图像特征← 正确答案
- B.查询更依赖文本特征
- C.查询向量维度变得更高
- D.查询响应速度变得更快
答案:A。门控融合公式为 $v_q = \lambda v_{img} + (1-\lambda)v_{txt}$,λ 是图像特征的权重。λ 越接近 1,融合向量越偏向图像;越接近 0 越偏向文本。它跟维度、速度无关,只控制“看图”与“听话”的比重。
Q5. 三元组损失中 margin m 的语义是?
- A.正负样本需拉开的最小间距← 正确答案
- B.模型训练的批大小数值
- C.向量空间总维度的数值
- D.学习率初始取值大小
答案:A。三元组损失要求正样本(被点击商品)比负样本(未点击商品)与查询的距离至少近 m,m 就是正负样本之间必须保持的最小间隔。它既不是批大小,也不是维度或学习率。类比安姐记偏好时,要求“想要的”和“不想要的”在脑中至少隔出明显的一段距离。
Q6. 电商亿级商品向量检索首选的索引是?
- A.HNSW 近似最近邻图索引← 正确答案
- B.B 加树等磁盘索引结构
- C.哈希表精确匹配索引结构
- D.跳表有序链表索引结构
答案:A。亿级商品向量需要近似最近邻(ANN)检索,HNSW 通过多层图结构实现对数级查询复杂度,是工业界主流选择。B+ 树适合数据库范围查询,哈希表只支持精确等值匹配,跳表适合有序链表场景,它们都无法高效处理“找最相似向量”这类高维近邻问题。
Q7. 离线指标与线上表现不一致的可能原因有?
- A.训练线上特征不一致← 正确答案
- B.实时数据分布发生漂移← 正确答案
- C.模型版本没同时更新上← 正确答案
- D.图片尺寸压缩必然会变小
答案:ABC。训练与线上特征不一致(如特征缺失、口径不同)、数据分布漂移、模型版本不一致都会导致“离线涨、线上不涨”。D 是图片处理的客观现象,与指标不一致无因果关系。这就像安姐的笔试成绩好,但实际服务时商场换了一批货、规则也改了,表现自然可能打折。
Q8. 关于位置偏差对点击反馈的影响,正确的说法是?
- A.排在前面的商品天然更容易被点击← 正确答案
- B.点击反馈训练完全不受位置影响
- C.位置偏差只影响图像搜索不影响文本
- D.位置偏差可以通过更换服务器消除
答案:A。用户习惯从上往下浏览,排在前面的商品曝光更充分,点击概率天然更高,这就是位置偏差。若不加校正,模型会误以为“排前面=更相关”。位置偏差对图像、文本搜索都成立,且属于数据固有偏差,与服务器硬件无关。类比顾客在货架顶层随手拿的那件,未必是他最想买的。
Q9. 多模态搜索的工程优化策略包括哪些?
- A.用 HNSW 索引加速向量召回← 正确答案
- B.热门查询结果缓存到内存← 正确答案
- C.模型量化压缩降低部署成本← 正确答案
- D.人工逐个审核全部商品图片
答案:ABC。HNSW 索引、缓存降级、INT8 量化分别是索引加速、服务优化、部署优化的标准手段。人工逐个审核商品图成本极高且无法随规模扩展,不在工程优化策略之列。这三招对应安姐的“动线图、小本本、提前备货”,都是让系统更快更省的工程杠杆。
Q10. 电商多模态检索面临的主要技术挑战有?
- A.亿级商品规模下的实时响应← 正确答案
- B.图像与文本特征的异构差异← 正确答案
- C.长尾商品点击数据的稀疏冷启动← 正确答案
- D.商品物流配送路径规划优化
答案:ABC。大规模检索、多模态异构、数据稀疏是检索算法自身的三大挑战,分别对应“仓库太大”“图话难捏合”“新品没记录”。物流路径规划属于供应链优化问题,与多模态检索无关。安姐的困境从来不是货怎么运到店里,而是如何在万千商品中瞬间锁定你要的那一件。