🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀大模型实战训练营_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
目录
1. 前言
不知不觉一学期过去了,我们的【大模型实战训练营】也将要迎来尾声。当然山东大学软件学院2025年的创新实训课程也马上就要结束,因此这最后一篇文章,我想要来为一学期的项目——PostGenius做一个总结。
2. 项目介绍
传统海报制作工具都存在一个难以避免的弊端——制作费时费力,且难以转交。从某种角度来说,制作学术海报是一个劳动密集型的工作,因为并没有很精密的技术要求。但由于其他人又难以快速对你的论文有深入的理解,因此这一无聊的工作又无法轻易转交给其他人。
我们的项目叫做PosterGenius——智能学术海报生成系统。旨在基于Deepseek、Stable、Diffuison、GAN等开源大模型。利用论文概述生成模块、背景图片生成模块、Layout生成模块、GAN超分辨率提升模块三大模块,完成海报生成系统——PostGenius的制作。
下图为本项目的log(本专栏虽然公开,但是未经允许严禁盗用log或公开商用代码):
3. 论文概述生成模块
在学术海报生成中,文本摘要是核心组成部分,直接影响海报的信息传递效果。传统的大模型生成摘要可能存在内容遗漏、逻辑不连贯等问题。为此,我们参考了论文 Improving Factuality and Reasoning in Language Models through Multiagent Debate 中的多智能体辩论技术。这项技术通过多个大模型代理(Agents)协作生成并优化答案,避免单模型的局限性,提升摘要的事实准确性和逻辑性。我们的目标是利用这一技术生成高质量的论文摘要,为后续海报内容提供可靠素材。具体步骤如下:
-
PDF解析与初始输入:通过 PyMuPDF 从论文 PDF 中提取文本,作为多智能体的输入。
-
多模型代理初始化:接入 DeepSeek 和 ChatGPT 等大模型 API,作为独立的 Agent,每个 Agent 基于相同的论文文本生成初始摘要(分点形式)。
-
多轮辩论优化:每轮中,各 Agent 参考其他 Agent 的上一轮输出,指出不足并优化自己的摘要。通过精心设计的提示词(如“综合其他摘要,改进你的回答”),引导 Agent 进行迭代优化。
-
结果整合与输出:经过多轮辩论后,提取最终优化后的摘要,保存为 JSON 格式。
项目最终输出如下(截取部分):
1.各部分概述以及需要的Text、Image、Table数量:
2.总共需要的Text、Image、Table:
4. Layout生成模块
这个模块本质上就是想要利用LLM去生成合适的Layout并以HTML的形式返回。首先模块输入是前面论文概述生成模块给出的,如下:
然后LLM就会根据这个去生成合适的Layout,具体子模块有:
- 数据预处理模块:该模块主要就是利用基础数据预处理方法对数据集中的所有数据样本进行预处理。
- 动态样本选择模块:从训练集中检索最相关的样本,然后作为最直接的上下文(约束信息)送给大语言模型。
- 布局序列化模块:用于将上面所选的样本布局转化为序列表述(因为大语言模型对序列化输入有更好的效果)。序列化数据就是类似 自然语言、代码等。
- 大语言模型模块:将序列化处理后的所有样本一起送给大语言模型,让大语言模型参考的情况下给出自己的答案。
- 大语言模型解析模块:用于将大语言模型给出的布局结果解析为标准化的输出。
- 布局排序模块(布局评价模块):评价大语言模型生成的布局的质量分数,并做一个排序。
模型图如下:
模型运行具体流程如下:
- 用户输入前导信息,例如画布大小,任务类型,限制因素等,数据预处理模块预处理数据库(用户根据自己的任务可以选择数据库,如海报布局数据库、手机UI设计数据库)中的所有数据。
- 动态样本选择模块得到处理后的数据库数据,然后根据用户输入的前导信息选择合适的example样本。
- 将样本+前导信息+测试样本送给大语言模型。
- 由大语言模型生成最终的layout,送给Rank模块。
- Rank模块排序后分数最高的就是最终输出。
最终输出如下:
5. 背景图片生成模块
我们在调整风格时构想出了许多思路。在大量阅读文献后,我们采取了《LTGC: Long-tail Recognition via Leveraging LLMs-driven Generated Content》这里的思路对模型进行增强。
这张图展示了一个基于生成式AI(如LLMs、T2I模型)的自动化内容生成与优化流程。核心思路是通过prompt工程扩展风格描述,利用T2I文生图模型将文本描述转化为图像。在过滤阶段,加载clip模型对生成图像进行语义对齐评估(图文匹配度过滤),输出Filtered Images。通过循环反馈机制(如生成→评估→调整Prompt→再生成)不断优化内容质量。其特色在于将内容生成(Prompt+生成模型)和质量控制(CLIP+自反思)分离,确保可控性;并且通过迭代减少人工干预,实现数据生产的自优化;每个环节(如Prompt工程、T2I、评估)可独立替换或升级,确保模块化流程有条不紊的进行。
模型输入是用户想要的背景图片风格+论文PDF,Prompt格式如下:
通过这个LLM会给出符合论文内容+用户想要风格的Prompt提示词,然后将这个提示词送给Stable Diffusion生成合适的图片作为背景图。之后又将图片交给Clip判断图片是否达到Pormpt要求,如果不满足则重新生成新的图片,直到满足为止。结果类似于:
6. GAN超分辨率模块
采用ESRGAN模型,具体模型图如下:
是香港中文(深圳)本科生在eccv2018的文章,该方法在PIRM218-SR比赛取得冠军。论文分析SRGAN能够生成更多的纹理细节,但它纹理往往不够自然,也常伴随着一些噪声。然后深入研究并改进了SRGAN的三个关键部分——网络结构、对抗损失函数和感知损失函数。具体就是引入了一个新网络结构单元RRDB (Residual-in-Residual Dense Block);借鉴了相对生成对抗网络(relativistic GAN)让判别器预测相对的真实度而不是绝对的值;还使用了激活前的具有更强监督信息的特征表达来约束感知损失函数。
- 引入对生成器架构的更改(从Residual Blocks切换到RRDB,删除批量规范化)。
- adversarial loss方面的改进主要是运用了relativistic GAN【2】使relative realness instead of the absolute value.
- perceptual loss方面使用激活之前的特征进行计算(以前是用激活后的特征)。
- 预先训练网络以首先针对PSNR进行优化,然后使用GAN对其进行微调。
作者提出一种新的思考模式,就是判别器是来估计真实图像相对来说比fake图像更逼真的概率。具体而言,作者把标准的判别器换成Relativistic average Discriminator(RaD),所以判别器的损失函数定义为:
对应的生成器的对抗损失函数为:
求MSE的操作是通过对mini-batch中的所有数据求平均得到的,x_f是原始低分辨图像经过生成器以后的图像,由于对抗的损失包含了x_r和x_f,所以生成器受益于对抗训练中的生成数据和实际数据的梯度,这种调整会使得网络学习到更尖锐的边缘和更细节的纹理。
输入原始图片如下:
处理后图片如下(由于截图本身存在降低分辨率,导致看起来不是很明显):
7. 总结
本篇文章带大家深入了解了PosterGenius项目的Layout生成部分的第一篇,后续将更新Layout系列的第二篇。欢迎大家继续支持猫猫呀!!
【如果想学习更多深度学习文章,可以订阅一下热门专栏】
如果想要学习更多pyTorch/python编程的知识,大家可以点个关注并订阅,持续学习、天天进步你的点赞就是我更新的动力,如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~
本文撰写人:十二月的猫 十二月的猫-CSDN博客