论文笔记 -- ISSCC-2020: GANPU (Multi-DNN Processor for GANs with Speculative Dual-Sparsity Exploitation)

ISSCC-2020-GANPU论文解读

@论文笔记

GANPU: A 135TFLOPS/W Multi-DNN Training Processor for GANs with Speculative Dual-Sparsity Exploitation

一、背景和动机

1.背景

这篇论文是韩国KAIST大学Semiconductor System Lab的最新成果,KAIST大学在片上训练(On-chip-training)领域还是非常强的,已经在ISSCC发表过多篇相关论文。这篇论文是针对GAN生成对抗网络做的片上训练系统。

首先对GAN的背景以及应用做了些介绍,Gan广泛应用于图片的风格迁移,AI换脸,图片修复等场景,无非是应用广泛,值得一做。

生成对抗网络主要分为两个部分,一个生成器和一个判别器。生成器的任务是根据输入图片来生成一张“赝品”图片,而判别器则接受生成的赝品图片以及真实的标签图片,评估两者的差异并输出生成器生成的是赝品还是真货,如果生成器生成的图片没能成功“骗过”判别器,则会根据判别器的输出来更新或者优化生成器。

总而言之,GAN的两个网络相互配合,可以实现生成器生成的图片尽量像标签图片或者说目标图片靠拢。

2.动机

a. 本地VS云端

之后,论文提出了主要矛盾,在边际设备上,从云端下载下来的模型在本地针对不同用户的的使用场景表现出来明显的失真。因此需要做片上的训练。

GAN网络的主要分类。

b. 计算和存储瓶颈

不同类别的GAN的资源利用和计算量,存在明显的存储瓶颈和计算瓶颈。

一般判别器可以用传统的图像分类benchmark实现,判别器和生成器的计算量存在较大的差异,一半来说生成器的计算量普遍比判别器大几个量级。

c. 输入与输出稀疏性的不对称

另外,传统的稀疏性方法在反向传播时并不适用。当输入激活值存在0元素时,在卷积时可以直接跳过为0元素的乘累加,这就是所谓的IA (input actication) zero skipping 输入稀疏性跳过

而事实上,如果说我们能预先知道输出层的某个元素为0,那么其实可以直接跳过计算该元素的所有运算!在反向传播中,由于反传的公式特殊性,以及一般卷积之前都会经过Relu函数激活,导致在向前推断梯度时可以预先知道输出的哪个位置是0(具体原理下面会分析),因此可以直接跳过设计该位置的所有运算。这就是所谓的 OA (output activation) zero skipping :输出稀疏性跳过

这边也提到了,反向传播具备的这种OA性质,只能加速反传,对前向的计算实际上没有帮助,因为前向过程无法预先知道输出的稀疏性。

下面这张图比较清楚地解释了为什么反传时OA可以提前确定:

实际上从 δ c \delta_c δc δ R \delta_R δR的推断时会乘上激活函数导函数在 X N X_N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

love小酒窝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值