TENSORIZING GENERATIVE ADVERSARI

2020-04-21  本文已影响0人  晨光523152

这是发在2018 IEEE International Conference on Consumer Electronics-Asia 上的文章

Abstract

生成对抗网络(GAN)及其变体在生成模型的类别中表现出最先进的性能。为了捕获高维度的分布,常见的学习方法需要高的计算复杂度和大量的参数。这使得当部署这些模型到计算资源有限制的平台(如手机)上会变得困难。在这篇文章中,通过将每一层表示为通过多线性操作连接的张量结构,提出了一种新的生成对抗框架,旨在在保持生成性能和样本质量的同时,将模型参数的数量减少很多。

1. Introduction

GAN的成功不仅依赖于算法的先进,并且还依赖计算能力的增加。

但是,当在计算能力有限的平台(例如平板电脑,智能手机)上部署大规模生成框架时,就会出现与这种对强大的计算系统的依赖相关的关键问题。

实施复杂模型的必要性部分归因于数据集的多维性。 自然数据集通常具有多模式结构,并且在大量此类可用数据集中,图像通常是生成学习框架的主题。 随着学习这种高维数据集的必要性,采用了具有大量参数的模型。

Goodfellow 等人利用多层感知机(MLPs)来学习并且分类这些高维数据集。尽管 MLPs能够代表多分类功能,但是主要的缺点是:

在这篇文章中,提出了一个在维持生成样本质量的前提下以减少模型参数的生成框架。

在提出的框架中,使用张量代数压缩传统的仿射变换,以减少全连接层的参数数量。用张量结构来表示所有的隐藏层,输入层以及输出层。模型旨在保留其原始的多模式信息,同时很大程度上节省了模型的空间复杂度

2. Background

2.1 Tensor algebra

构建张量层的一些张量运算。

模乘:


模乘

K式积:

K式积
其中,,

多个模乘:

多个模乘

2.2 Generative adversarial nets

GANs由两部分组成:生成器,鉴别器;这两个通常都是由 MLPs组成。鉴别器的任务是判断输入属于真实数据分布p_{data}或者是模型分布p_{model}。生成器试图产生难以区分的样本来欺骗鉴别器。

3. Tensor layer

利用 2.1 中的张量代数来构建 Tensor layer。用 Tensor layer 来代替 MLPs 中的传统的仿射变换。

当训练 MLP 模型的时候,因为输入通常是向量,所以需要先扁平化张量。MLPS 的计算方式是:


公式4

Tensor layer 不需要扁平化输入。给定一个N维的张量X\in \mathbb{R}^{I_{1}\times I_{2}\times ... \times I_{N}},给定N个权重矩阵U_{i}\in \mathbb{R}^{J_{i}\times I_{i}};\; i\in [1,N],给定偏置张量B\in \mathbb{R}^{J_{1}\times J_{2}\times ... \times J_{N}}

通过 Tensor layer,得到y\in \mathbb{R}^{J_{1}\times J_{2}\times ... \times J_{N}},计算方式为:

公式5

4. Training FT-Nets

在这篇文章中,包含 tensor layers 的网络被叫做 FT-Nets。一个包含 FT-Nets 的 GAN 模型叫做 TGAN。

给定输入X\in \mathbb{R}^{I_{1}\times I_{2}\times ... \times I_{N}\times C},两个张量层O_{1}\in \mathbb{R}^{J_{1}\times J_{2}\times ... \times J_{N}\times C}O_{2}\in \mathbb{R}^{K_{1}\times K_{2}\times ... \times K_{N}\times C}

公式
其中,是激活函数,,,最后的轴为代表了batch_size。 梯度1 梯度2

定义损失函数为f

梯度3

I=\prod_{i=1}^{N}I_{i},J=\prod_{i=1}^{N}J_{i},K=\prod_{i=1}^{N}K_{i}
那么FT-Nets的参数量J(I+K)+J+K

参考资料:
TENSORIZING GENERATIVE ADVERSARIAL NETS

上一篇下一篇

猜你喜欢

热点阅读