首页 > 编程知识 正文

transformer的改进,transformer优点

时间:2023-05-04 00:29:58 阅读:177561 作者:1652

计算机视觉联盟获取更多晾衣架

只是进行学术上的共享,不代表本公号的立场,侵权联络被删除

(机器的心

985人工智能博士笔记推荐

hxsdg 《机器学习》 手推笔记正式开源!附pdf下载链接,Github2500星!

利用神经网络进行风格转移是非常常见的任务,优化和基于RL的方法等方法也很多。 最近,来自百度VIS团队的研究人员提出了一种基于Transformer的风格迁移框架,比基线方法更快、更有效。 但是,研究受到了网民的质疑。 为什么会这样呢?

在图像渲染的领域,神经绘制意味着为给定图像生成一系列笔划,并通过神经网络以非真实感重建该笔划。 下图第一行中每个图像的左下角是实际图像,是重构的非现实图像。 第二种行为是渐进的绘画过程。

神经绘画任务的情况下,基于强化学习[RL]的智能体可以一步一步地生成行程序列,但是训练鲁棒的rl智能体并不容易。 另一方面,笔划优化方法在较大的搜索空间中反复搜索一系列的笔划参数。 因此,这种低效的搜索方法极大地限制了基于RL法的通用性和实用性。

上个月,在一篇ICCV 2021 Oral论文中,百度VIS团队和罗格斯大学等研究者将神经绘画视为集合预测问题,提出了一种新的基于Transformer的框架——Paint Transformer,并将前馈网络其结果是,研究者提出的模型可以并行生成一系列的笔画,可以几乎实时地得到512512尺寸的重构绘画。

更重要的是,由于训练Paint Transformer没有可用的数据集,研究人员设计了自训练的pipeline,使其可以在不使用现有数据集的情况下进行训练,同时仍然实现出色的泛化能力。 实验结果表明,Paint Transformer在训练和推理成本较低的情况下,实现了比传统方法更好的性能。

论文地址: https://arxiv.org/pdf/2108.03798.pdf

项目地址: https://github.com/wzmsltw/paint transformer

研究人员为Hugging Face提供了试制界面,用户只需上传图片即可生成动态重构过程和重构后的绘画。 编辑也试图上传图片。 生成效果如下。

原图和重建后的绘画。

动态重建过程如下

试玩地点: https://hugging face.co/spaces/akhaliq/paint transformer

但是,虽然Paint Transformer的效果很好,但一些reddit网友似乎并不买账。 有人说:“这种简单的任务,不需要使用机器学习或神经网络来解决。 " "

还有网友表示:“我使用Processing,只用了50行Scala代码就实现了同样的结果。 " "

方法

研究者将神经绘画视为渐进的行程预测过程。 在每一步中并行预测多个笔划,并通过向前移动的方式最小化当前画布和目标图像之间的差异。 作为其结构,Paint Transformer由笔划预测器Stroke Predictor和笔划渲染器Stroke Renderer两个模块构成。

图2Paint Transformer的自我训练pipeline。

如图2所示,在给定目标图像I_t和中间画布图像I_c时,笔划预测器生成用于确定当前笔划集合S_r的一系列参数。 接下来,笔划渲染器通过S_r按照每个笔划生成笔划图像,然后在画布I_c上绘制该笔划来生成结果图像I_r。 该过程可以用以下公式(1)来描述。

在Paint Transformer中,只有行程预测器包含可以训练的参数,行程渲染器是没有参数的微小模块。 为了训练行程预测器,提出了利用随机合成行程的自我训练pipeline

笔画定义与渲染器

该研究主要考虑了直线笔画,这种笔画可以通过形状参数和颜色参数来表征。如下图 3 所示,一个笔画的形状参数包括:中心点坐标 X 和 Y,高度 h,宽度 w 和渲染角θ。

笔画渲染器和参数定义。

对于神经绘画任务而言,可微渲染是基于笔画参数合成笔画图像并由此实现笔画预测器端到端训练的一个重要问题。但是,对于该研究中的特定笔画定义,研究者没有采用神经网络,而是使用了基于笔画渲染器的几何变换,从而如预期一样不需要训练并且是可微的。笔画渲染器可以用以下公式(3)来描述:

笔画预测器

笔画预测器的目标是为了预测一系列「cover 中间画布图像和目标图像之间差异」的笔画。此外,为了达到可以模拟真实绘画过程的抽象程度,研究者希望笔画预测器在预测很少笔画的同时,依然可以 cover 大部分的差异区域。

为了实现这一目标,他们在 DETR 的启发下,提出了一个基于 Transformer 的预测器。该预测器输入 I_c 和 I_t,生成一个笔画集合,可以用以下公式(5)来描述:

如下图 4 所示,笔画预测器以 I_c 和 I_t ∈ R^3×P ×P 作为输入,首先采用两个独立的卷积神经网络来提取它们的特征映射 F_c 和 F_t ∈ R^C×P/4×P/4。

损失函数

研究者介绍了像素损失、笔画之间差异的测量以及笔画损失。

首先是像素损失。神经绘画的一个直观目标是重新创建目标图像。因此,I_r 和 I_t 之间的像素损失 L_pixel 在图像级别受到惩罚:

然后是笔画损失。训练期间,有效真值笔画的数量是变化的。因此,按照 DETR,在预定义最大笔画数 N 的情况下,研究者首先需要在 N 笔画的预测集 ¯S_r 和真值集 S_g 之间生成匹配机制以计算损失。

推理

为了模仿人类画家,研究者设计了一种从粗到精(coarse-to-fine)的算法,在推理过程中生成绘画结果。Paint Transformer 的推理算法如下所示:

实验

定性比较。如下图 5 所示,研究者将 Paint Transformer 分别与基于优化和基于强化学习的 SOTA 笔画绘画生成方法进行了比较。其中,相较于基于优化的方法,Paint Transformer 可以生成渲染力更强、更清晰的结果。不过,Paint Transformer 的生成效果明显不如基于强化学习的方法。

定量比较。如下表 1 所示,定量比较的结果与定性比较保持一致。借助生动的画笔纹理,Paint Transformer 能够较基于优化的方法更好地表征原始内容。Zhewei Huang 等人论文《 Learning to paint with model-based deep reinforcement learning 》中提出的方法实现了最佳内容保真度,但在抽象处理上较弱。

数值结果表明,Paint Transformer 可以成功地预测笔画,并优于其他方法。

效率比较。如下表 2 所示,研究者在一个英伟达 2080Ti 上评估了训练与推理时间。在推理期间,Paint Transformer 以前馈的方式并行地生成一系列笔画,因而运行速度明显快于优化基线方法,也略快于强化学习基线方法;对于训练而言,研究者仅需要几个小时就可以训练一个笔画预测器,从总训练时长方面比基于优化和强化学习的方法更方便。并且,无模型笔画渲染器和无数据笔画预测器可以高效和方便地使用。

消融实验结果如下图 6 所示:

风格化绘画。Paint Transformer 可以方便地与艺术风格迁移方法融合,从而生成更吸引人和风格化的绘画。研究者使用 LapStyle 和 AdaAttN 等现有风格迁移方法,在风格化内容图像上生成自然的绘画。如下图 8 所示,借助这种富有想象力的方式,研究者生成了具有丰富颜色和纹理的风格化绘画。

-------------------

END

--------------------

我是tsdstKings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!

我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...

这是我的私人微信,位置有限,一起进步!

tsdst的公众号,欢迎关注,干货多多

手推笔记:

思维导图  |  “模型评估与选择”  |  “线性模型”  |  “决策树”  |  “神经网络”  |  支持向量机(上)  |  支持向量机(下)  |  贝叶斯分类(上)  |  贝叶斯分类(下)  |  集成学习(上)  |  集成学习(下)  |  聚类  |  降维与度量学习  |  稀疏学习  |  计算学习理论  |  半监督学习  |  概率图模型  |  规则学习

增长见识:

博士毕业去高校难度大吗?  |  研读论文有哪些经验之谈?  |  聊聊跳槽这件事儿  |  聊聊互联网工资收入的组成  |  机器学习硕士、博士如何自救?  |  聊聊Top2计算机博士2021年就业选择  |  非科班出身怎么转行计算机?  |  有哪些相见恨晚的科研经验?  |  经验 | 计算机专业科班出身如何提高自己编程能力?  |  博士如何高效率阅读文献  |  有哪些越早知道越好的人生经验?  |  

其他学习笔记:

PyTorch张量Tensor  |  卷积神经网络CNN的架构  |  深度学习语义分割  |  深入理解Transformer  |  Scaled-YOLOv4!  |  PyTorch安装及入门  |  PyTorch神经网络箱  |  Numpy基础  |  10篇图像分类  |  CVPR 2020目标检测  |  神经网络的可视化解释  |  YOLOv4全文解读与翻译总结  | 

点分享

点收藏

点点赞

点在看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。