? 业界领袖回溯60年AI历史,全球对话人工智能未来挑战,权威发布2016世界人工智能名人堂及中国人工智能产业发展报告;? 国际大咖“视频”远程参会, Bengio 和李飞飞联袂寄语中国人工智能;? 探秘讯飞超脑及华为诺亚方舟实验室,最强CTO与7大研究院院长交锋;? 滴滴CTO与百度首席架构师坐镇智能驾驶论坛,新智元三大圆桌阵容史无前例;? 中国“大狗”与"X-Dog"震撼亮相,龙泉寺机器僧“贤二”卖萌。 【新智元导读】谷歌官方博客今天发布了一篇文章,介绍如何使用神经网络压缩图片。在论文中,谷歌证明了神经网络可以获得比现在普遍使用的压缩方法质量更好、大小更小的图片,理论上会小25%。谷歌这次要解决图片占用内存过多的问题。用户可以去 TensorFlow使用该模型压缩自己的图片。 作者: Nick Johnston and David Minnen, Software Engineers 数据压缩几乎发生在互联网的任何角落,你观看的视频、分享的突破、听的音乐,甚至你现在在看的文章,都是经过压缩的。压缩技术使得内容分享变得更快速和高效。如果没有数据压缩,获取你所需时间和带宽的成本将会变得极高。 在论文“Full Resolution Image Compression with Recurrent Neural Networks”中(在新智元公众号回复0930下载论文),我们在自己此前使用神经网络压缩数据的研究上进行了扩展,探索机器学习能否为图像压缩提供更好的结果,正如它在图像识别和文本摘要中所做到的那样。 进一步的,我们在本文中发布了通过TensorFlow构架的压缩模型,这样你就能使用我们的网络来压缩自己的图片,进行体验。 我们带来了一个架构,使用的是一种新的封闭循环单元(Gated Recurrent Unit ,RNN的一种,单元可以存储激活分析和处理序列) 变体,叫残差封闭循环单元(Residual GRU)。我们的Residual DRU 结合了既有的GRU和“图像识别深度残差学习”中的残差连接,在特定的压缩率下获得高质量的图像。 与时下许多使用DCT来生成新的字节表示的图像压缩方法不同,我们训练了两个神经网络,一个用于从图像中生成代码(编码),另一个则是从编码中生成图像(解码)。 我们的系统通过反复地改善原始图像重构进行工作,编码和解码都使用Residual GRU 层,这样,多余的信息能够从一个循环中传递到下一个。每一个循环会想编码增加更多的字节,这会让更高质量的重构成为可能。从概念上看,这一网络的运行过程如下: 最初的残差, R[0],指代原始图像 I: R[0] = I。 第一个循环中,设置 I=1。 循环[i] 把 R[i-1]作为输入,运行解码,同时二值化对图像进行压缩,到B[i]。 循环[i] 在B[i]上进行解码,生产一个重构的图像 P[i]。 对循环[i] 中的残差进行计算:R[i] = I - P[i]。 设i=i+1,回到步骤3(直到获得想要的循环次数) 残差图像代表了压缩后得到的图像与原始图像之消除间的不同。这一图像随后会被用作另一个神经网络的输入,其目标是在下一个版本的图像中消除掉压缩图像的错误率。压缩图像现在的表示就是通过B[N]达到的B[1]的联系。对于更大值的N,解码器会获得更多关于减少错误的信息,并生成更高质量的重构图像。 未了理解这一工作原理,可以参考以下例子,我们的图像压缩神经网络的第一和第二个循环在表进行了展示。我们从一张白房子的照片开始。在网站中的第一个通道,原始图像被看成是一个输入(R[0] = I)。P[1] 就是重构 图像。原始图像与编码图像之间的差异就是残差R[1],它代表着压缩中在错误率。
左边:原始图像,I = R[0]. 中间: 重构图像, P[1]. 右: 残差, R[1], 代表着压缩带来的误差。 在网络中的第二个通道,R[1] 被当成网络的输入(见下图)。一个更高质量的图像 P[2]随之得以生成。那么,这一系统是如何从残差R[1]中创造这么好的图像 (P[2],下图中间)因为模型使用了带有记忆的节点,网络从每一次循环中储存信息,进而可以在下一次循环中进行使用。它在循环[1]中学到一些关于原始图像的知识,这些知识和R[1]一起使用,可以从B[2]中生成更好的P[2]。最后,一个新的残差 R[2] (右),通过从原始图像中减去P[2] 得以生成。这一次,残差变小,因为重构的图像与最开始的图像之间差异已经变小。 (责任编辑:本港台直播) |