简介:文生图模型生成中文字时频繁出现笔画错乱、结构失真,根因不只是生成能力不足,更在于现有强化学习中的文字评分机制过度依赖整字OCR识别。本文从汉字构型与错误粒度两个维度拆解该问题,说明为何“非对即错”的奖励信号难以驱动模型改进,并探讨面向汉字结构的细粒度评价思路。读者可借此理解文字图像生成评估的关键误区与改进方向。
你有没有试过让文生图模型生成一张带中文的海报?结果往往是这样的:乍一看挺像那么回事,凑近了才发现不对劲。某个字多了一撇,某个偏旁被挤成了四不像,整体轮廓对,细节全崩。这不是个别现象,而是几乎所有文生图模型的通病,尤其是碰上笔画复杂的汉字时。
很多人的第一反应是“模型生成能力还不够”。但从技术链路来看,问题可能出在一个更隐蔽的地方:现有评价方法从一开始就在用错误的方式“看”中文字。
要让AI生成的字形越来越准确,常见做法是用强化学习做后期训练。训练过程中需要一个“裁判”来打分,告诉模型生成得好不好。这个裁判通常由OCR模型担任。
OCR全称Optical Character Recognition,即光学字符识别,就是把图片里的文字转换成计算机能理解的文本。OCR裁判的打分逻辑简单直接:把生成图片里的文字区域截取出来识别一遍,识别结果和目标文字一对比,对了就给分,错了就不给分。
问题恰恰出在这个“对了就给分,错了就不给分”上。
汉字和英文字母有本质区别。英文字母是最小书写单位,26个字母排列组合成词,识别粒度天然是字符级甚至亚字符级。但汉字是一种二维的积木结构:
这种由偏旁部首按照左右、上下、包围、穿插等空间关系组合而成的结构,叫做汉字的构型。同一个偏旁在不同字中还会发生形变,比如“王”字旁在“现”“球”“环”中的宽窄比例和笔画收放都不同。这意味着汉字识别天然需要感知细粒度的空间关系,而不是简单地做字符分类。
OCR识别复杂汉字结构时,经常把整个字直接判断成一个不认识的东西,要么瞎猜一个形近字,要么干脆放弃。无论AI生成的字是写错了一笔还是写错了整个偏旁,只要最终OCR认不出,裁判给的分数都是零分。
这就好比你在批改一份100道选择题的试卷,但不管学生错一道题还是错九十道,你给的分数都一样,统统是零分。这样的打分方式完全没法告诉学生“你哪里需要改进”,模型也就学不到该往哪个方向优化。
更值得警惕的是另一种情况:多模态大模型参与识别时,可能结合上下文语境硬“猜”出正确答案。比如生成图里有个“尬”字写错了,专用OCR模型老老实实地把它认成了另一个形近字,打0分。换成多模态大模型去识别,它看到上下文里有“尴尬”这个词,直接“脑补”出了正确结果,打了1分。这实际上是一个假阳性——图上那个字形明明是错的,模型只是靠语言能力蒙对了而已。
汉字的错误本来就有程度之分。同样是写错“尬”字,可能存在以下不同情况:
这些错误对“可读性”和“正确性”的影响完全不同,但整字OCR的评分结果却可能完全一致:0分。强化学习依赖奖励信号的梯度来引导优化方向。如果所有错误都被压平成同一个分数,模型就无法获得足够的信号来区分“差一点就对了”和“完全不可用”,更谈不上针对性地改进某个偏旁或笔画。
要解决这个问题,评分机制必须适配汉字的结构特性。一个可行的方向是改变“裁判”的观察方式:不再把汉字当成一个不可拆分的黑箱,而是让它审视汉字内部的构型元件。
具体来说,评价一个生成汉字的质量时,至少可以关注以下维度:
这种拆解式的评估方式,相当于把原本的“二值判断”转化为“多维连续打分”。模型生成的“尬”字如果只是右侧“龙”的某笔略有偏移,就不应该和“整字乱码”获得相同分数。评分信号拥有了梯度,强化学习才能沿着正确的方向调整生成策略。
在实际工程中,可以将汉字结构的细粒度评价拆成若干步骤。以下是一个示意性的流程:
输入:生成图片中的汉字区域 + 目标汉字步骤1:切分目标汉字的构型部件,确定各部件标准位置与形态步骤2:将生成图片中的对应区域与各部件进行局部对齐步骤3:分别计算每个部件的完整度、形变度和空间偏离度步骤4:汇总为结构化评分向量,而非单一标量输出:整字分数 + 部件级错误报告
这种方式不仅给出“好不好”,还给出“哪里不好”。对强化学习而言,多维评分向量比单一标量包含更丰富的监督信息,有助于模型定位生成缺陷。
当前文生图模型的文字评分机制,本质上是一种“识别结果导向”:只关心最终有没有被OCR认出来。这种导向对于拉丁字母系统或许勉强够用,因为字母本身的构型简单得多。但对于汉字这种构型复杂、部件繁多、空间关系敏感的书写系统,识别结果导向就显得过于粗糙。
一个更有价值的思路是引入“结构质量导向”:评价的不是“能不能被认出来”,而是“写得对不对、结构好不好”。这里的“结构”不是指整字与某个字典条目的相似度,而是指汉字内部的构型规则是否被遵守。
这也意味着,未来面向中文场景的文生图质量优化,可能需要将评分模型与汉字构型知识进行结合。评分模型需要理解偏旁、部首、间架结构等概念,而不是仅凭训练数据中“见过的字形”来分类。
如果你正在构建涉及中文文字生成的图像模型,或是在为这类模型搭建评估管线,以下几点值得关注:
文生图中的中文质量问题表面上是“画不好”,实质上可能是“教不好”。生成器能力再强,如果评分信号无法区分“错误的不同程度”,模型也难以真正学会汉字的结构规则。把汉字拆开看结构,不仅是语言学视角,更是一种工程视角。只有让裁判学会按照构型来评分,生成器才有机会把每一个字都画对。