TENSORIZING GENERATIVE ADVERSARI
这是发在2018 IEEE International Conference on Consumer Electronics-Asia 上的文章
Abstract
生成对抗网络(GAN)及其变体在生成模型的类别中表现出最先进的性能。为了捕获高维度的分布,常见的学习方法需要高的计算复杂度和大量的参数。这使得当部署这些模型到计算资源有限制的平台(如手机)上会变得困难。在这篇文章中,通过将每一层表示为通过多线性操作连接的张量结构,提出了一种新的生成对抗框架,旨在在保持生成性能和样本质量的同时,将模型参数的数量减少很多。
1. Introduction
GAN的成功不仅依赖于算法的先进,并且还依赖计算能力的增加。
但是,当在计算能力有限的平台(例如平板电脑,智能手机)上部署大规模生成框架时,就会出现与这种对强大的计算系统的依赖相关的关键问题。
实施复杂模型的必要性部分归因于数据集的多维性。 自然数据集通常具有多模式结构,并且在大量此类可用数据集中,图像通常是生成学习框架的主题。 随着学习这种高维数据集的必要性,采用了具有大量参数的模型。
Goodfellow 等人利用多层感知机(MLPs)来学习并且分类这些高维数据集。尽管 MLPs能够代表多分类功能,但是主要的缺点是:
- 层与层之间的密集链接需要大量地参数;
- 向量化操作导致了数据内部信息的损失。
在这篇文章中,提出了一个在维持生成样本质量的前提下以减少模型参数的生成框架。
在提出的框架中,使用张量代数压缩传统的仿射变换,以减少全连接层的参数数量。用张量结构来表示所有的隐藏层,输入层以及输出层。模型旨在保留其原始的多模式信息,同时很大程度上节省了模型的空间复杂度
2. Background
2.1 Tensor algebra
构建张量层的一些张量运算。
模乘:
模乘
K式积:
其中,,
多个模乘:
多个模乘2.2 Generative adversarial nets
GANs由两部分组成:生成器,鉴别器;这两个通常都是由 MLPs组成。鉴别器的任务是判断输入属于真实数据分布或者是模型分布。生成器试图产生难以区分的样本来欺骗鉴别器。
3. Tensor layer
利用 2.1 中的张量代数来构建 Tensor layer。用 Tensor layer 来代替 MLPs 中的传统的仿射变换。
当训练 MLP 模型的时候,因为输入通常是向量,所以需要先扁平化张量。MLPS 的计算方式是:
公式4
Tensor layer 不需要扁平化输入。给定一个维的张量,给定个权重矩阵,给定偏置张量。
通过 Tensor layer,得到,计算方式为:
4. Training FT-Nets
在这篇文章中,包含 tensor layers 的网络被叫做 FT-Nets。一个包含 FT-Nets 的 GAN 模型叫做 TGAN。
给定输入,两个张量层,。
公式其中,是激活函数,,,最后的轴为代表了batch_size。 梯度1 梯度2
定义损失函数为;
让,
那么FT-Nets的参数量。
参考资料:
TENSORIZING GENERATIVE ADVERSARIAL NETS