
2024好事发生
在文章开始之前,推荐一篇值得阅读的好文章!感兴趣的也可以去看一下,并关注作者!
在现代电子商务中,个性化推荐系统已经成为提升用户体验和增加销售的重要工具。智能食品推荐系统通过分析用户的历史行为和偏好,提供个性化的食品推荐,从而提高用户满意度和转化率,这篇文章介绍了如何使用Python构建一个智能食品推荐系统的深度学习模型。该系统通过分析用户的食品偏好和购买历史,预测用户可能喜欢的食品,实现了食品推荐的智能化,并通过具体代码示例展示实现过程。
好事文章地址:https://cloud.tencent.com/developer/article/2467321
好了,开始今天的主题:
Adma-GAN是由浙大学者和腾讯联合提出的一种属性驱动内存增强型GAN,文章被 A类会议ACM Multimedia收录,发表于2022年9月28日。 原文地址:https://arxiv.org/abs/2209.14046 代码地址:https://github.com/Hsintien-Ng/Adma-GAN 本篇文章是阅读Adma-GAN: Attribute-Driven Memory Augmented GANs for Text-to-Image Generation的精读笔记。
作为一项具有挑战性的任务,文本到图像生成旨在根据给定的文本描述生成照片级真实感和语义一致的图像。现有的方法主要是从一个句子中提取文本信息来表示图像,文本表示对生成图像的质量影响很大。然而,在一句话中直接利用有限的信息会遗漏一些关键的属性描述,而这些属性描述是准确描述图像的关键因素。为了缓解上述问题,我们提出了一种有效的带有属性信息补充的文本表示方法。首先,我们构造了一个属性存储器来联合控制文本到图像的生成和句子输入。其次,我们探索了两种更新机制,样本感知和样本联合机制,以动态优化广义属性内存。此外,我们还设计了一种属性-句子联合条件生成器学习方案,以使特征嵌入在多个表示之间对齐,从而促进了跨模态网络的训练。实验结果表明,该方法在CUB(FID从14.81到8.57)和COCO(FID由21.42到12.39)数据集上都取得了显著的性能改进。
基于此,文章提出了一种有效的基于句子属性信息补足的文本表示方法。并设计了一个属性存储器来联合句子和生成器的合成过程。因此,作者把文本到图像的生成任务看作是一个 属性-句子联合条件生成问题。问题的关键有两方面:
模型以DFGAN作为baseline,同样使用单阶段文本生成图像架构:

文本编码部分(图中未给出,4.2节展开)将原始句子转换为句子嵌入并构建一个属性存储器来自预定义属性库。
再主框架,包括一个存储增强型生成器和一个带有辅助分类的条件鉴别器,在生成器生成过程中,使用存储器提取文本的属性特征,将属性特征和句子特征分别插入到不同级别的Up-Block中。鉴别器鉴别过程与DFGAN类似。
作者采用了两种属性内存更新策略:样本感知和样本联结,以从属性内存中获取当前句子最合适的属性嵌入(最终比较选择样本联结的策略)。

为了更新属性内存,作者将内存的所有参数视为可优化参数,并将它们添加到整个生成器的参数组中。因此,可以通过网络的梯度反向传播来实现内存的更新。 如图中y表示,将图像样本用多属性二进制标签进行标注,1表示图像有此类属性,而0表示图像不具有此类属性。 给定一个样本,将图像样本标注的y与从文本编码中经过属性内存器提取的MaMa相乘,得到公共属性ea=y⋅Maea=y⋅Ma,其中y的维度为1×n,MaMa的维度为n×d,n表示所有属性的数量,d表示嵌入向量的维数。然后eaea作为附加条件与句子特征eses共同引导图像合成。
这样,通过梯度反向传播,当网络更新时,只优化与采样器相关的属性嵌入。但是,预定义属性库中的不同属性具有内在的关联性。这种方法忽略整个数据集中的全局相关模式。



这部分和DF-GAN相同,使用铰链损失作为对抗损失:

将多属性分类设置为辅助任务,让鉴别器学习识别给定图像中的多个属性。为了消除两个不同任务的学习过程中的偏差,使分类器能够在分类属性标签时区分真假,

作者合并了真实图像之间的所有对比度损失函数x 以及相应的文本嵌入{eses, eaea} 优化鉴别器 此外,伪图像之间的对比度损失函数xfxf 和{eses, eaea} 用于规范生成器. 对应的对准损失函数:

数据集:CUB-Birds、COCO 评价指标:FID、IS、top-1 Acc(评估语义一致性)、mAP(评估多属性分类性能) 实验细节:DF-GAN作为主干网络,Adam优化器、生成器学习率0.0001、鉴别器学习率0.0004,其他细节见原文。


样本联合策略比样本感知策略取得了更好的结果,因为它建模了全局相关性并获得了更合适的属性记忆。此外,样本联结和对齐策略的组合可以获得最佳结果。

下表报告了属性内存的重要性。第3-4行表示使用属性嵌入作为内存初始化的方法。第3行使用固定内存,而第4行使用可学习内存。根据第2行和第4行的比较结果,有必要使用属性嵌入进行内存初始化。与第3行和第4行相比,发现使用更新的内存而不是固定内存有助于模型训练,并能很好地提高性能。

下表报告了哪里插入句子和属性嵌入作用更佳:

多属性描述提供了样本的一般内容,句子提供了属性之间的关联。两者的结合可以合成更逼真的图像和语义匹配的图像。
文章主要贡献在于提出了一种有效的文本表示方法,并补充了属性信息,以帮助控制图像生成。
结合以上所有策略,该方法在CUB和COCO数据集上都取得了显著的性能改进。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。