我们都知道,大语言模型(LLM)能够以一种无需模型微调的方式从少量示例中学习,这种方式被称为「上下文学习」(In-context Learning)。这种上下文学习现象目前只能在大模型上观察到。比如 GPT-4、Llama 等大模型在非常多的领域中都表现出了杰出的性能,但还是有很多场景受限于资源或者实时性要求较高,无法使用大模型。那么,常规大小的模型是否具备这种能力呢?为了探索小模型的上下文学习能力,字节和华东师大的研究团队在场景文本识别任务上进行了研究。目前,在实际应用场景中,场景文本识别面临着多种挑战:不同的场景、文字排版、形变、光照变化、字迹模糊、字体多样性等,因此很难训练一个能应对所有场景的统一的文本识别模型。一个直接的解决办法是收集相应的数据,然后在具体场景下对模型进行微调。但是这一过程需要重新训练模型,计算量很大,而且需要针对不同场景需要保存多个模型权重。如果文本识别模型也能具备上下文学习能力,面对新的场景,只需要少量标注数据作为提示,就能提升在新场景上的性能,那么上面的问题就迎刃而解。不过,场景文本识别是一个资源敏感型任务,将大模型当作文本识别器非常耗费资源,通过初步的实验,研究人员得到的观察是传统的大模型训练方法在场景文本识别任务上并不适用。为了解决这个问题,来自字节跳动和华东师大的研究团队提出了自进化文本识别器,E2STR(Ego-Evolving Scene Text Recognizer),一个融合了上下文学习能力的常规大小的文本识别器,无需微调即可快速适应不同的文本识别场景。
论文地址:https://arxiv.org/pdf/2311.13120.pdfE2STR 配备了一种上下文训练和上下文推理模式,不仅在常规数据集上达到了 SOTA 的水平,而且可以使用单一模型提升在各个场景中的识别性能,实现对新场景的快速适应,甚至超过了经过微调后专用模型的识别性能。E2STR 证明,常规大小的模型足以在文本识别任务中实现有效的上下文学习能力。方法图 1 介绍了 E2STR 的训练和推理流程。
如图 2 所示,这篇文章提出 ST 策略,在场景文本数据中进行随机的分割和转换,从而生成一组 "子样本"。子样本在视觉和语言方面都是内在联系的。这些内在联系的样本被拼接成一个序列,模型从这些语义丰富的序列中学习上下文知识,从而获取上下文学习的能力。这一阶段同样采用自回归框架进行训练:
3. 上下文推理针对一个测试样本,该框架会从上下文提示池中选择 N 个样本,这些样本在视觉隐空间与测试样本具有最高的相似度。具体来说,这篇文章通过对视觉 token 序列做平均池化,计算出图像 embedding I 。然后,从上下文池中选择图像嵌入与 I 的余弦相似度最高的前 N 个样本,从而形成上下文提示。