想象一位叫“小图”的年轻绘本画家,接了一单大活儿:给一本 20 页的绘本配图。第一天,他画出了惊艳的单页插画,可把 20 张贴在墙上时却发现问题:男主角第一页是圆脸戴蓝帽,第五页却悄悄变了样;上一页还是晴天,下一页毫无征兆电闪雷鸣;整本故事的情绪起落毫无章法,读者只觉得“热闹”,却感受不到情感的牵引。 单张画得好,不等于故事讲得好。这正是视觉故事生成(Visual Storytelling)的核心挑战:教模型像绘本家一样,在一组连贯画面中讲故事。它不只是生成单张图画,还要管理多图叙事逻辑、保持角色一致、设计情感曲线。大模型加入后,AI 甚至能从一句“写一个温馨的小狗冒险故事”出发,自动完成大纲、分镜、配图,再经反馈打磨,交付完整作品。 本文沿着“小图”的成长路,拆解多图叙事建模、序列到序列生成、角色一致性、情感曲线、强化学习评估、人工偏好对齐、大模型创作与部署优化八大模块。读完后你会理解:让 AI 讲好故事,是画面、角色、情绪、反馈四重因素的精密协作。
定位:面向互动叙事、游戏剧情、短视频脚本方向的开发者,本知识让你从“单图生成”升级到“多图叙事”,掌握连贯性建模、一致性控制与反馈优化,这是创意内容生产的工程基石。
目录
可视化演示
展示多图叙事Seq2Seq建模(编码器→跨图注意力→解码器)、RLHF偏好对齐(生成→奖励→PPO→对齐循环)与情感曲线+角色一致性追踪(5情感节点+余弦相似度),交互切换核心技术。
本节配有交互动效(进入视口后自动加载,约 3KB)。
视觉故事生成进阶技术 Seq2Seq叙事:多图编码器→跨图注意力上下文聚合→解码器逐词生成故事 RLHF对齐:生成→奖励模型评分→PPO裁剪优化→人工偏好对齐反馈循环 情感曲线:5节点叙事弧线(平静→期待→高潮→冲突→结局)+角色余弦相似度追踪 Story = Decode(Encode(IMGs), Attention) | RLHF = PPO(Reward(S)) | cos(char_i, char_j)>0.85 多图叙事建模+RLHF对齐+情感曲线设计
多图叙事建模:从一张好画到一套好分镜
小图被编辑点醒后,终于明白:画绘本不是在画“一张张单独的画”,而是在设计一场编排好的演出。他重新铺开稿纸,先画分镜——故事要经过哪些场景、每一页演什么、翻页时观众的眼睛会被什么钩住。这套分镜,决定了故事能不能“顺”。
在视觉故事生成里,这套分镜思维对应多图叙事建模。模型不能把每一帧当作独立样本生成,而要让一整个画面序列在语义上构成因果链条,就像分镜里“上一页递一个钩子,下一页接住它”。
假设故事有 N 帧画面 \(S_1, S_2, \dots, S_N\),最朴素也最经典的建模方式是马尔可夫链:当前帧只直接依赖前一帧。这样,整个故事的联合概率就可以拆成“第一帧的概率 × 每一对相邻帧的转移概率”的连乘:
这个模型的意义在于把“讲一个连贯故事”变成了“每一帧都要给下一帧一个合理的理由”。就像分镜纸上的箭头:每一页都画着“下一页为什么发生”。
- 联合概率 \(P(S_{1N})\):从第 1 帧到第 N 帧全部画面一起出现的概率。这个值越大,说明整组画面越像同一个故事,而不是随机拼凑。
- 条件概率 \(P(S_n \mid S_{n-1})\)已知前一页画面的内容,下一页出现的概率。它编码了“因果关联”——正因为上一页小狗撑开了伞,下一页雨点才没有淋湿它。
- 连乘符号 \(\prod_{n=2}^{N}\)把所有相邻帧之间的转移概率逐项相乘,相当于把每一页的“钩子”都扣紧,串成一条完整的故事链。
序列到序列:一页一页“说”出故事
分镜定了,小图开始动笔。他发现自己不能每页从零起稿——画到第 10 页时,必须记得前 9 页建立了什么世界观。于是他养成了习惯:开工前先看一眼故事设定小抄(主角是谁、住在哪、基调是雨是晴),画到中间还会翻回前面对照。这个过程,像极了序列到序列(Seq2Seq)模型。
Seq2Seq 由编码器和解码器组成。编码器先把输入条件(比如故事开头的一句话设定)压缩成一个“故事种子”向量 \(c\);解码器再拿着这颗种子,一页一页地生成画面序列。
值得特别提一句的是注意力机制:当序列很长时,光靠一粒种子 \(c\) 记不住全部信息。注意力让解码器在生成每一帧时“翻看”特定的前帧细节——第 10 页需要回忆小狗的伞是什么颜色,注意力就自动把第 3 页的背景信息“调出来”。小图画着画着突然想起“伞是红色的”,正是这个机制在脑海里起作用。
- 编码结果 \(c = g(x_1,\dots,x_M)\)编码器把 M 个输入符号(如“小狗、雨天、捡到伞”)压缩成一个上下文向量。它相当于小图那张写了核心设定的“小抄”。
- 条件概率 \(P(y_t \mid y_{<t}, c)\)生成第 t 帧时,模型要同时参考两样东西:已经生成好的前 t-1 帧(\(y_{<t}\))以及故事种子 \(c\)。这就是“画到一半翻前面对照”的数学表达。
- 连乘 \(\prod_{t=1}^{T}\)每一帧的条件概率相乘,得到整个绘本序列的生成概率。解码器一次次“读小抄 + 翻前面”,直到最后一帧画完。
角色一致性:主角永远不能“变脸”
小图又被编辑训了:“主角第 5 页怎么变成方脸了?!”他委屈地辩解,却又无法反驳。最后想出一个笨办法:把主角的标准像贴在桌角,每画一页就比对着画。从此,主角的脸型、蓝帽、蓝上衣,再也没跑偏过。
这个“标准像贴桌角”的操作,对应技术上的角色一致性约束。视觉故事生成模型很容易在长序列中“遗忘”主角长相,于是研究者引入对比学习:把同一角色在不同帧的特征拉近,把不同角色的特征推开。假设主角在第 1 帧的特征向量是 \(z_1\),第 t 帧的特征是 \(z_t\),一致性损失写作:
工程上,除了对比损失,还会在提示词里显式固化“圆脸、蓝帽、蓝上衣”这类属性描述,双管齐下。就像小图不仅贴了标准像,还会在画稿顶部写一行“蓝帽不要再变成红帽”的提醒——两者都是为了保证读者不会在看到第 5 页时突然出戏。
- 相似度 \(\operatorname{sim}(z_t, z_1)\)当前帧角色特征与主角标准像的余弦相似度。数值越接近 1,说明“这张脸越来越像本人”。
- 温度系数 \(\tau\)控制相似度分布的“松紧”。\(\tau\) 小,模型会更严格地要求每一帧都像主角;\(\tau\) 大,容忍度随之放宽。
- 负样本项 \(\sum_{j \in \mathcal{N}} e^{\operatorname{sim}(z_t, z_j)/\tau}\)集合 \(\mathcal{N}\) 里是其他角色的特征。加上这一项,模型不仅要“靠近主角”,还要“远离配角”,避免所有人都长得像主角。
情感曲线:给故事装上“过山车轨道”
故事终于连贯了,但读者反馈“太平淡”。编辑丢过来一张手写的图:一条起伏的曲线,标着“起、承、转、合”四个字。小图恍然大悟——好的绘本像过山车,要先缓缓爬升积累期待,再俯冲制造紧张,最后冲刺迎来释放。这条曲线,就是情感曲线。
在生成模型里,情感曲线是一条关于故事进度 \(t\) 的函数 \(E(t)\),取值映射到“情绪强度”。生成每一帧画面时,把 \(E(t)\) 作为条件注入——像给命令加上情绪的滤镜。故事进度 \(t\) 归一化到 0 到 1,经典的“起承转合”可以用四段线性函数逼近:
情感曲线节奏控制的核心是“每一段都服务于剧情因果”:没有铺垫的跌落叫“车祸”,没有回升的结尾叫“烂尾”。正如过山车轨道中的每一个陡坡,都必须有一截爬升来为它蓄能。
- 第一段 \(0.2 + 2.4t\)开场情绪从低位爬升,对应“起”——日常铺垫、建立好感,情绪指数从 0.2 升到 0.8。
- 第二段 \(0.8 - 2.0(t - 0.25)\)保持在高位但微微下行,对应“承”——故事顺展、小插曲不伤大雅。
- 第三段 \(0.3 - 4.4(t - 0.5)\)斜率变陡,情绪俯冲至 \(-0.8\),对应“转”——矛盾爆发、主角受挫,这是全篇最低谷。
- 第四段 \(-0.8 + 6.8(t - 0.75)\)从谷底强力反弹到 0.9,对应“合”——危机解决、情感释放,收束在高潮。
强化学习:让“经验丰富的编辑”打分
第一稿画完,小图忐忑地送给老编辑评审。老编辑不只看单张,而是翻完全篇,在稿子上写:“第 3 页到第 4 页的转场太突兀”“第 12 页主角表情应该更惊恐”。这些批注,比“画得好看”有用得多。模型也需要一个“老编辑”——这就是强化学习中的奖励函数与评估机制。
生成模型被视为一个策略 \(\pi_\theta\):给它一个状态 \(s_t\)(当前的故事情节与画面),它输出动作 \(a_t\)(下一帧的画面决策)。奖励函数 \(R(s_t, a_t)\) 对这次决策打分——连贯性高、角色一致、情绪符合曲线,就给高分。模型的目标是让整条故事轨迹的期望总奖励最大。策略梯度算法给出更新方向:
强化学习的价值在于引入“整篇好才算好”的评价视角。小图最怕的恰恰是单页精致、连读别扭——而奖励函数可以同时考虑连贯性、一致性、情感贴合度,把老编辑的经验变成可优化的目标。
- 期望 \(\mathbb{E}_{\tau \sim \pi_\theta}\)\(\tau\) 是一条完整的故事生成轨迹。期望表示“如果让模型生成很多个版本,平均来看”——对应老编辑不是只看一遍,而是反复通读多份稿件。
- 奖励 \(R(s_t, a_t)\)对第 t 步“状态 + 动作”的质量评分。它是编辑批注的自动化版本:把“转场突兀”量化成一个负分。
- \(\nabla_\theta \log \pi_\theta(a_t \mid s_t)\)这个梯度项让模型“提高好动作的概率”。如果第 3 页到第 4 页的转场获得好评,梯度就会推动模型下次更可能做出类似转场。
偏好对齐:按读者口味校准
老编辑的品味再专业,也只是一个人。图书卖得好不好,最终取决于成百上千个普通读者。出版社组织了一场试读会,让 100 位小朋友对两个结局版本投票:62 人选了“小狗把伞还给老爷爷”,38 人选了“小狗自己留下伞”。这个投票结果,就是宝贵的人工偏好数据。
人工偏好对齐要解决的问题正是“怎么把投票转化为模型的奖励信号”。由于人很难给“这个结局打几分”这种绝对分数,更容易做的是相对比较:“A 和 B 哪个更好?”于是有了 Bradley-Terry 模型:假设每个方案都有一个隐藏的奖励分数 \(r\),那么“方案 i 比方案 j 更被喜欢”的概率由两者的分差决定:
偏好对齐的价值,是把“大众口味”这个抽象概念落地成一组可训练的数值。小图从中悟出的道理是:画给评委看和画给读者看是两回事。模型也是一样,先被老编辑(自动奖励函数)训练得专业,再被读者投票校准得更讨喜。
- 奖励差 \(r_i - r_j\)两个版本在隐藏奖励模型下的得分差。差值越大,说明 i 比 j 的优势越明显——就像试读会上 62 比 38 的票数差距。
- \(\frac{1}{1 + e^{-x}}\)sigmoid 函数,把任意实数差值压缩到 0 到 1 之间,变成一个可解释的“胜出概率”。差值为 0 时概率正好是 0.5。
- \(P(i \succ j)\)读者更喜欢方案 i 的概率。收集大量这样的成对比较后,就能反推出每个版本的奖励分数,进而微调模型——这相当于“让模型学会把读者投票高的结局画得更细腻”。
大模型创作:把灵感变成完整故事
技巧都熟了,小图却卡在更根本的问题上:“今天画什么?”这时候,他遇到一位阅遍千本绘本的老作家。只要说一句“我想画一个关于勇气的小故事”,老作家立刻铺开人物设定、三幕结构、关键场景清单。这位老作家,就像大语言模型。
大模型创作故事的核心是把“创意需求”翻译成“结构化大纲”。提示词就是订单——用户写“温馨、小狗、雨天、友谊”,模型用自回归方式逐 token 生成完整故事、角色卡与分镜提示。在这个过程中,决定模型“现在该参考哪段信息”的,是注意力机制:
在视觉故事生成管线中,大模型负责“想得出”:生成故事大纲、角色设定、分镜脚本;扩散模型负责“画得出”:按脚本逐帧出图。两者结合,创作者只需一句话,就能得到一整套可执行的故事蓝图。
- \(\frac{QK^{T}}{\sqrt{d_k}}\)Q(当前生成位置在“问什么”)与 K(已有内容里有哪些“答案”)做点积,算出每个历史信息的匹配分数;除以 \(\sqrt{d_k}\) 是防止分数过大导致 softmax 饱和,梯度消失。
- \(\operatorname{softmax}(\cdot)\)把匹配分数变成归一化的注意力权重。哪个历史词条对“当前要写的词”最重要,权重就更大。
- 加权求和 \(V\)按注意力权重把 V(真正的信息内容)加权求和,得到当前词的上下文。老作家下笔时“应该引哪本书的哪段”——注意力就是这样一种“翻阅记忆”的机制。
部署优化:让绘本走进千家万户
绘本定稿了,出版社却发愁:一张原始尺寸的油画级大图要渲染十几分钟,真要一本一本地印,成本高得吓人。小图发现,把大画按比例缩印成口袋版,只要保留神韵、不追求每笔细节,8 秒就能出一页——这是印刷业的智慧,也是模型部署优化的智慧。
视觉故事生成模型动辄数十亿参数,直接跑在用户手机上不现实。业界常用的手段是知识蒸馏:训练一个“学生”小模型去模仿“教师”大模型的输出分布,同时配合量化和缓存,让生成速度提升数倍、成本大幅下降。蒸馏的优化目标是小模型与大模型的输出分布尽量接近:
配合 INT8 量化和分镜复用缓存,一个原本要 GPU 集群才能跑的模型,可以装进手机 App,让每个普通用户随时生成属于自己的绘本故事。小图终于明白:好故事从画室走到千家万户,靠的不仅是艺术,还有工程。
- 教师输出 \(p_{\mathrm{teacher}}(y \mid x)\)大模型在输入 \(x\) 下输出的概率分布,被视为“标准答案的软版本”——不仅告诉学生哪个词对,还告诉它“近义词也很合理”。
- 学生输出 \(p_{\mathrm{student}}(y \mid x)\)小模型自己的输出分布。目标就是让它无限接近教师分布。
- KL 散度 \(\operatorname{KL}(\cdot\|\cdot)\)衡量两个分布的差异。KL 越小,学生的输出越像老师——就像缩印版虽然笔触粗了,但神韵和色彩关系没丢。
AI 应用场景
互动叙事游戏剧情生成
阶段:故事生成 + 角色一致性控制
解决的问题:传统游戏剧情靠编剧手工编写,分支多、成本高,且多分支下主角形象很容易在各线路中“崩坏”。AI 可按玩家选择动态生成分镜,同时用角色一致性模块锁住主角形象,避免“这一条线是蓝帽子、另一条线变成红帽子”的出戏事故。
具体案例:某互动小说 App 接入大模型后,玩家在关键节点做出选择,模型实时生成下一段剧情分镜与配图:先由大模型产出分支脚本,再用情感曲线规划本章情绪走向,视觉模型按分镜出图,角色一致性模块统一主角的外貌、服饰与姿态。
短视频脚本自动分镜
阶段:大模型创作 + 情感曲线规划
解决的问题:短视频编导手工写脚本和分镜表通常要半天以上,且新手容易把情绪节奏写平。AI 从一句主题句出发,自动扩展出脚本并按“起承转合”切分镜头,让每个镜头都带情绪标注。
具体案例:创作者输入“夏日海边失恋又重生的故事”,大模型生成 30 秒口播脚本和 8 条分镜,并标注每条镜头的情感值:开场 0.3(平静)→ 中段 -0.6(低落)→ 结尾 0.8(释然)。这些标注直接作为条件输入文生视频工具,让 AI 镜头跟着情绪走。
小说插画批量生成与本地化部署
阶段:序列到序列生成 + 部署优化
解决的问题:长篇小说配插图动辄几百张,人工约稿周期长、风格不稳定。AI 批量生成再配合蒸馏后的轻量模型本地出图,可大幅降低成本和等待时间。
具体案例:一家数字出版公司将一本 200 章的小说交给视觉故事模型,模型用第一章建立的角色特征向量约束后续所有章节的插画主角形象;出图模型经知识蒸馏和 INT8 量化后部署到公司内部服务器,批量生成速度提升约 5 倍,单张成本下降约 70%。
Python 演示
import random def plan_emotion_curve(total_frames=12): """规划情感曲线:起、承、转、合四段,返回每帧的情感值""" acts = [ ("起", 0.00, 0.25, -0.1, 0.7), ("承", 0.25, 0.50, 0.70, 0.3), ("转", 0.50, 0.75, 0.30, -0.8), ("合", 0.75, 1.00, -0.80, 0.9), ] curve = [] for name, start, end, e_start, e_end in acts: n = max(int(total_frames * (end - start)), 1) for i in range(n): t = i / max(n - 1, 1) if n > 1 else 0.5 e = e_start + (e_end - e_start) * t curve.append((name, e)) return curve[:total_frames] def emotion_to_mood(value): """情感分数映射为画面氛围与色彩""" if value > 0.6: return "欢快", "#10B981" if value > 0.0: return "平静", "#818CF8" if value > -0.5: return "低沉", "#F43F5E" return "激昂", "#F59E0B" class VisualStoryGenerator: def __init__(self): self.scenes = [] self.character_attrs = {"face": "circle", "hat": "blue"} def generate_scene(self, frame, act, emotion): mood, color = emotion_to_mood(emotion) return { "frame": frame + 1, "act": act, "emotion": round(emotion, 2), "mood": mood, "color": color, "character": self.character_attrs, } def generate_story(self, total_frames=12): curve = plan_emotion_curve(total_frames) self.scenes = [ self.generate_scene(i, act, e) for i, (act, e) in enumerate(curve) ] return self.scenes def check_consistency(self): """检查所有帧的角色特征是否与第一帧一致""" if not self.scenes: return True first = self.scenes[0]["character"] return all(s["character"] == first for s in self.scenes) def print_story(self): for s in self.scenes: act, mood, emo = s["act"], s["mood"], s["emotion"] frame = s["frame"] print(f"[{frame:>2}] {act}段 | 情绪 {emo:>5} | {mood} | 角色一致") def main(): gen = VisualStoryGenerator() gen.generate_story(total_frames=12) gen.print_story() print("\n角色一致性检查:", "通过" if gen.check_consistency() else "失败") if __name__ == "__main__": main()
acts = [("起", 0.00, 0.25, -0.1, 0.7), ...]用一张表定义四段结构,每段包含起止时间与情感起止值,“起”从 -0.1 升到 0.7n = max(int(total_frames * (end - start)), 1)将连续时间切分成离散帧数,至少保留 1 帧防止段为空t = i / max(n - 1, 1) if n > 1 else 0.5段内归一化进度,处理 n=1 时除零的边界情况emotion_to_mood(value)把情感分数映射到“欢快/平静/低沉/激昂”四种氛围与对应配色,让情绪可见self.character_attrs = {"face": "circle", "hat": "blue"}用字典固化主角身份特征,模拟“贴标准像在桌角”self.generate_scene(...)生成单帧场景:帧号、幕段、情绪值、氛围、角色特征都打包进一个字典check_consistency()逐帧比较角色特征与第一帧是否完全一致,返回整体的连贯性校验结果
常见误区
误区我觉得视觉故事生成就是把每张图画好看,只要单张图够精美,拼在一起自然就是好故事了。
正解单张画质只是基础。多图叙事更核心的要求是帧与帧之间的连贯性:同一角色长得一样、场景转换有逻辑、事件因果清晰。就像绘本讲究的是翻页时“下一页会发生什么”的牵引力,而不是单独一页多惊艳。技术上用马尔可夫链建模帧间条件依赖,用一致性约束锁住角色,都是为了“连起来读”这件事服务。
为何常见:我们习惯了单图生成的“画质优先”评价习惯,很容易忽略“连续听起来顺不顺”这个维度。
误区只要每帧都把主角的脸画成同一个人,角色一致性就搞定了。
正解脸型只是身份特征的一部分。服饰颜色、发型、体型、姿态、光影风格都会影响“这个人是不是 TA”的判断。一只蓝帽子在第 3 帧变成红帽子,读者立刻出戏。工程上常用对比学习把同一角色的全局特征(不只脸部)拉近,并在提示词中显式固化服饰、配色等属性;有时还要用一致性分类器做误差修正。
为何常见:人脸是最显眼的记忆点,大家容易把“一致性”简化为“脸一致”。
误区情感曲线嘛,让情绪波动大一些、反转多一些,故事就一定精彩。
正解情感曲线讲究节奏合理性,“起承转合”必须服务于叙事逻辑。莫名其妙的剧烈反转会让故事显得突兀;全程平缓又会无聊。好的情感曲线像过山车轨道:有爬升、有俯冲、有缓冲,但每一段都符合剧情因果。情感值的设定要与故事事件对应,不能为了起伏而起伏。
为何常见:市面上许多“反转爽文”让新手误以为情感波动大就等于好看,忽略了铺垫和逻辑的重要性。
误区用强化学习训练故事生成模型,模型会自动学会讲故事,我只需要写好奖励函数就行了。
正解强化学习只能优化你给出的目标,而奖励函数设计本身就是最难的工程环节:要同时度量连贯性、一致性、情感合理性、多样性。奖励设计偏了,模型会“钻空子”(比如重复高频词刷分)——就像学生发现老师只查字数,就拼命灌水。另外,初始策略太差时强化学习很难收敛,通常要先做人工偏好对齐打好基础再微调。
为何常见:强化学习听起来是“自动学习”,其实它把工程难度从“如何生成”转移到了“如何评价”,只是换了一个地方烧脑。
面试题
Q1. 视觉故事生成相比单图生成,核心新增的挑战是什么?
- A.单张画质更高
- B.图与图保持连贯← 正确答案
- C.色彩更加鲜艳
- D.分辨率更高
答案:B。多图叙事的关键是把一组图讲成一个连贯故事,“帧间连贯”是单图生成时代没有的新难题。画质、色彩、分辨率在单图生成中已经是成熟指标,不是新增挑战。
Q2. 序列到序列模型中,解码器的主要作用是什么?
- A.把输入压缩成向量
- B.逐步生成输出序列← 正确答案
- C.放大画面细节
- D.为图片自动标注
答案:B。编码器把输入压缩为上下文向量 \(c\),解码器拿着 \(c\) 和已生成内容,逐步产出每一帧的画面符号。压缩输入是编码器的职责,放大细节和自动标注不在 Seq2Seq 的标准流程中。
Q3. 以下哪些是保持角色一致性的有效手段?
- A.对比学习特征约束← 正确答案
- B.人脸识别网络对齐← 正确答案
- C.图像白平衡处理
- D.规范服饰与场景描述← 正确答案
答案:ABD。对比学习把同角色特征拉近、异角色推开;人脸识别网络提供身份级特征约束;在提示词中规范服饰与场景描述可以避免“帽子变色”。白平衡是图像颜色校正手段,与角色身份无关。
Q4. 情感曲线“起承转合”中的“转”,在情绪上通常呈现什么特征?
- A.情绪达到最高点
- B.情绪跌入低谷区← 正确答案
- C.情绪平稳无起伏
- D.情绪直接到结尾
答案:B。“转”对应剧情矛盾爆发,情绪通常从高位滑向全篇低谷,为最终高潮蓄力。情绪最高点一般在结尾“合”的阶段;平稳无起伏更像“承”;直接到结尾则违背了四段结构。
Q5. 强化学习在故事生成中的主要用途是什么?
- A.提高生成图像画质
- B.优化生成策略以获得高奖励← 正确答案
- C.减少模型参数量
- D.加快推理运算速度
答案:B。强化学习把生成过程看作策略,用奖励信号(连贯性、一致性、情感贴合度等综合评分)指导策略更新。画面画质优化主要靠扩散模型本身,参数量与推理速度属于部署优化范畴。
Q6. 人工偏好对齐通常包含哪些关键步骤?
- A.人对多个结果排序← 正确答案
- B.训练奖励打分模型← 正确答案
- C.用奖励模型微调策略← 正确答案
- D.扩大训练数据集
答案:ABC。先收集人对多个生成结果的排序数据,再用这些排序训练奖励模型(如 Bradley-Terry),最后用奖励模型微调生成策略。扩大训练数据集属于常规数据工程,不是偏好对齐的特有步骤。
Q7. Bradley-Terry 模型在偏好对齐中的作用是什么?
- A.计算图像的相似度
- B.建模两结果被偏好的概率← 正确答案
- C.压缩模型的体积
- D.生成对抗噪声
答案:B。Bradley-Terry 模型输入两个方案的奖励分差,输出其中一个方案更受偏好的概率 \(1/(1+e^{-(r_i-r_j)})\)。它是把“人更喜欢谁”这类相对比较转化为可训练奖励信号的数学桥梁。
Q8. 大模型驱动故事创作时,提示词的主要作用是什么?
- A.加速模型的计算
- B.约束故事的风格与走向← 正确答案
- C.完全替代训练数据
- D.提高生成的分辨率
答案:B。提示词为模型提供需求上下文,约束风格、角色和剧情走向;模型的知识和能力仍然来自训练参数。提示词不改变计算速度,也不替代训练数据,更不直接作用于图像分辨率。
Q9. 部署视觉故事生成模型时,以下哪些是有效的优化手段?
- A.量化压缩模型参数← 正确答案
- B.知识蒸馏到小模型← 正确答案
- C.缓存重复生成结果← 正确答案
- D.提高采样步数
答案:ABC。INT8 量化、知识蒸馏、缓存重复的生成结果都能有效降低延迟和成本。提高采样步数只会增加计算量、降低生成速度,属于反向操作。
Q10. 情感曲线在工程上通常如何作用于生成过程?
- A.每帧以情感向量为条件生成← 正确答案
- B.在图片上绘制曲线标注
- C.用文本替代情感变量
- D.生成全程使用定值情感
答案:A。把情感曲线在当前帧的取值编码为向量,作为条件注入生成模型,画面情绪才会跟着曲线起伏。绘制标注或文本替代都不是模型的输入方式;全程定值则违背了情感曲线动态设计的初衷。