张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

Google提出间接卷积算法,未来可会有突破?

AI科技大本营 2019-07-15 16:24 次阅读

本文介绍的内容主要聚焦Google 的一项最新工作:改变基于 GEMM 实现的 CNN底层算法提出的新方法。通用矩阵乘法(General Matrix Multiply, GEMM)是广泛用于线性代数、机器学习、统计学等各个领域的常见底层算法,其实现了基本的矩阵与矩阵相乘的功能,因此算法效率直接决定了所有上层模型性能,目前主流的卷积算法都是基于GEMM来实现的。来自谷歌的Peter Vajda在ECV2019中提出了一种全新的间接卷积算法,用于改进GEMM在实现卷积操作时存在的一些缺点,进而提升计算效率。

通用矩阵乘法

GEMM是基础线性代数子程序库(Basic Linear Algebra Subprograms, BLAS)中的一个函数。BLAS提供了实现矩阵和向量基本运算的函数,最早于1979年由C.L.LAWSON提出。BLAS的发展大致可以分为三个阶段(levels)的历程,这和函数定义,出版顺序,以及算法中多项式的阶数以及复杂性有关,第一阶段只包含与向量(vector)有关的运算,第二阶段添加了向量与矩阵进行运算的操作,第三阶段添加了矩阵与矩阵之间的运算,前两个阶段的BLAS都是用于向量处理器的,而第三阶段适用于矩阵处理器,所以BLAS的发展和硬件的发展密不可分。GEMM属于第三阶段的算法,正式公布于1990年,其迭代更新形式为:

其中A和B可以进行转置或hermitian共轭转置,而A、B和C都可以被忽略(be strided),因此实际上这个公式就表示了任意矩阵之间所有可能的加法和乘法组合,例如最基本的A*B,可以将α置1,C置为全0矩阵即可,这也是其通用性的表现。

由于矩阵乘法相对于向量-向量乘法以及向量-矩阵乘法,有更低的时间复杂度,效率更高,因此其广泛用于许多科学任务中,与之相关的GEMM算法成为了目前BLAS设计者的主要优化对象。例如可以将A和B分解为分块矩阵,使得GEMM可以递归实现。有关GEMM的详细信息可以参见[1][2][3]。如何对GEMM进行优化,是BLAS相关工作的研究热点。

基于 GEMM 的卷积算法及其缺点

卷积神经网络(CNN)在CV问题中的表现很出色,有多种在算法层面对齐进行实现的方法:直接卷积算法,采用7层循环,快速卷积算法,利用傅里叶变换来进行卷积,以及基于GEMM的卷积算法。

通过将卷积操作用矩阵乘法来代替,进而使用GEMM算法来间接进行卷积操作,这使得卷积操作可以在任何包含GEMM的平台上进行,并且受益于矩阵乘法的高效性,任何针对GEMM的改进和研究都能有助于卷积运算效率的提升,从而提高模型的运算速度,因此目前大部分主流的神经网络框架,例如Tensorflow、Pytorch和Caffe都使用基于GEMM的方法来在底层代码中实现卷积。

具体的,基于GEMM的卷积方法需要借助于 im2col或im2row buffer来内存转换,使得数据格式满足GEMM算法的输入要求,从而将卷积操作转化为GEMM操作,然而这个转换过程是一个计算开销和内存开销都比较大的过程,特别是在输入channel数较小时,这个过程会在整个卷积过程中占有很大的比例。简言之,就是在卷积过程中,每个pixel都会被多次重复的转换,这是不必要的计算开销。因此有许多工作都在对这一过程进行改进,本文工作提出了一种改进算法——间接卷积算法(Indirect Convolution algorithm),主要有以下两个优点:

1、去掉了im2row的转换过程,这使得算法性能有了巨大的提升(up to 62%)。

2、用了一个更小的indirection buffer来代替原来的im2row buffer。不同于im2row buffer的大小随着输入channel数线性增加,indirection buffer没有这个特性,因此indirection buffer的内存占用特性非常有利于输入channel数较多时的卷积操作。

间接卷积算法

原始的GEMM通过如下计算来不断迭代进行矩阵运算操作并输出矩阵:

其中A是输入张量,B是一个常量滤波器,C是输出矩阵,在传统的im2col+GEMM算法中,通常α=1而β=0,原始GEMM操作示意图如下:

图1 原始GEMM操作

其中 im2col buffer 代表矩阵A,filter tensor 代表矩阵B,A和B的乘积就是输出copy表示将输入的张量展开为一个二维矩阵,也就是im2col buffer。可以看到buffer的每一行则是由固定个数(步长)的pixel展开成一维的向量组成的,这些pixel都在原始tensor中的一个patch内,在经过和filter tensor相乘后,由于矩阵行列相乘得到一个元素,因此这几个pixel的信息都被整合成了一个值,也就是对他们进行了卷积操作。最后在输出矩阵C中,行数rows代表输出的像素点个数,columns代表输出的channel数。可以看到buffer的columns是和输入channel数有关的。

为了降低buffer带来的开销,作者提出了一种间接矩阵乘法的思想,不把输入的tensor直接展开并存储在buffer中,而只是在buffer中存放每个pixel在input tensor的坐标,也就是从存数据变成了存地址(类似于指针pointer思想),这样不管channel数有多少,存的地址信息始终只有二维,极大的降低了buffer的计算和存储开销,如下图:

图2 indirect convolution

当然,由于buffer中存的是地址信息,因此不能直接和filter做矩阵乘法,所以就只能通过在buffer的行间进行循环,根据该行的pointer找到对应的输入数据,再将输入数据与kernel相乘,并与之前循环的结果拼接起来,从而间接的实现矩阵乘法,因此叫做indirection buffer。

对于不同的卷积步长,只需要将不同步长对应的卷积patch位置确定即可。而对于padding策略,将指向填充位置的pointer对应的输入pixel的向量值全部设置为0。

间接卷积算法的缺点

间接卷积算法作为GEMM-BASED CNN算法的一种改进,能极大的提升计算效率,但是存在以下几个限制:

1. 这个算法是为NHWC layout设计的,也就是说应用范围比较窄,不能和目前的主流方法相比。

2. 算法适用于前向传播中的卷积操作,而在反向传播中作用不大,不及基于col2im和row2im的算法。

3. 具有和GEMM相同的缺点,在深度小卷积核的卷积操作中效率并不好。

实验测试结果

Efficient Deep Learning for Computer Vision主要聚焦于如何将深度学习部署到移动设备上,因此本文的工作主要在移动设备和移动芯片上进行测试,结果如下:

可以看到一旦步长增加,那么Indirect convolution带来的性能提升就会明显下降,这是因为步长越大,在原始的GEMM算法中重复计算的量就会减小,因此原始GEMM的性能本身就会提升,而indirect convolution并不受益于步长增加。

原文标题:基于GEMM实现的CNN底层算法被改?Google提出全新间接卷积算法

文章出处:【微信号:rgznai100,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

《计算机体系结构—软件篇3》 之 解释器、语言、算法

点击右方"佳嵌"图标,可以看所有课程。我们将《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程&n
发表于 12-07 00:00 1425次 阅读
《计算机体系结构—软件篇3》 之 解释器、语言、算法

如何在Google助手的帮助下控制任何电器

 按照以下方式建立连接上面给出的图表,在高压工作时安全工作。如果您愿意,可以跳过继电器部分并使用晶体....
的头像 39度创意研究所 发表于 08-23 11:33 56次 阅读
如何在Google助手的帮助下控制任何电器

Google官方宣布:将推出的Android Q 将被命名为 Android 10

PingWest品玩8月23日讯,今日,Google官方宣布,将结束以“甜点”命名Android系统....
的头像 工业IoT 发表于 08-23 10:27 51次 阅读
Google官方宣布:将推出的Android Q 将被命名为 Android 10

微软、Google和阿里等巨头成立机密计算联盟 联手保护数据安全

几巨头联手以保护数据安全
的头像 陈翠 发表于 08-23 09:10 177次 阅读
微软、Google和阿里等巨头成立机密计算联盟 联手保护数据安全

人脸识别技术系统在“天网工程”的应用解决方案

人脸大库检索功能是指将城镇常住人口数据库、疑犯在逃库或人脸抓拍数据库等人脸信息数据库导入人脸识别服务....
的头像 倩倩 发表于 08-22 14:30 85次 阅读
人脸识别技术系统在“天网工程”的应用解决方案

任正非:仍希望设备终端里可以使用安卓系统

8月20日,华为心声社区发布华为董事长任正非接受采访纪要,采访时间为8月15日。在此次采访中,任正非....
的头像 电子发烧友网工程师 发表于 08-21 15:56 150次 阅读
任正非:仍希望设备终端里可以使用安卓系统

google glog安装和使用

google glog 简单使用小结
发表于 08-21 14:24 20次 阅读
google glog安装和使用

谷歌AR实景导航全面支持安卓和苹果

近日,Google 在其官方博客宣布,将于本周起向支持 ARCore 和 ARKit 的 Andro....
发表于 08-21 12:44 12次 阅读
谷歌AR实景导航全面支持安卓和苹果

Matlab数学建模算法全收录PDF电子书免费下载

本文档的主要内容详细介绍的是Matlab数学建模算法全收录PDF电子书免费下载包括了:第一章 线性规....
发表于 08-21 08:00 21次 阅读
Matlab数学建模算法全收录PDF电子书免费下载

世界在等华为在AI领域突出

Google、NVIDIA垄断AI核心技术?世界在等华为!
的头像 陈翠 发表于 08-19 14:57 639次 阅读
世界在等华为在AI领域突出

华为手机在台湾已经卖断货需要加强供货

报道称,遭到美国封杀后,Google宣布停止供应华为安卓操作系统更新及使用热门软件,华为手机可能会成....
发表于 08-15 10:01 197次 阅读
华为手机在台湾已经卖断货需要加强供货

怎么利用FPGA研究高速路由查找算法?

随着网络流量的不断增加和路由表容量的不断增大,路由查找已经成为制约因特网的主要瓶颈。尽管采用CIDR技术能产生聚集路由,...
发表于 08-15 07:23 31次 阅读
怎么利用FPGA研究高速路由查找算法?

机器学习算法帮助我们做出更好的决定

机器学习算法,可以帮助我们做出更好的决策,通过将人类的偏见最小化,使用更完整的数据集,或者弥补我们决....
的头像 视听前线音响短评 发表于 08-14 16:47 179次 阅读
机器学习算法帮助我们做出更好的决定

鸿蒙系统的两个优势,未来的命运到底如何?

当然,对于这个操作系统,并不看好的人也有很多,毕竟一个系统要成功需要强大的生态,这是目前鸿蒙最为欠缺....
的头像 倩倩 发表于 08-13 09:27 968次 阅读
鸿蒙系统的两个优势,未来的命运到底如何?

无人机光流模块使用技巧

无人机光流模块使用技巧 光流模块在无 GPS 环境下,课实时检测飞机水平移动距离,实现对四轴无人机长时间的稳定悬停。图1显示...
发表于 08-12 16:00 233次 阅读
无人机光流模块使用技巧

矩阵论程云鹏第三版PDF电子书免费下载

《矩阵论(第3版)》共分7章,主要介绍线性空间与线性变换,矩阵范数,矩阵分析,矩阵分解,特征值估计,....
发表于 08-12 08:00 21次 阅读
矩阵论程云鹏第三版PDF电子书免费下载

怎样推动人工智能和金融相互融合

某些智能金融业务和操作还处于政策模糊地带,监管科技落后于市场发展等。
发表于 08-11 11:34 55次 阅读
怎样推动人工智能和金融相互融合

那些常用的 Unix 命令,你不知道的功能!

我逐渐意识到,Unix 的命令行工具可以解决一切与文字处理有关的问题。
的头像 Linux爱好者 发表于 08-11 10:04 196次 阅读
那些常用的 Unix 命令,你不知道的功能!

Improved SRN——最强人脸检测算法!

今天我们不说计算机视觉基础知识,接下来说说AAAI2019一篇比较新颖的Paper,其是中科院自动化....
的头像 传感器技术 发表于 08-09 16:06 238次 阅读
Improved SRN——最强人脸检测算法!

简述机器学习算法要点

当我们要处理很多数据来做一个有高预测能力的预测时,我们会用到 GBM 和 AdaBoost 这两种 ....
的头像 ADAS 发表于 08-09 10:25 207次 阅读
简述机器学习算法要点

统计机器学习常见算法分类的学习方式

像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少....
的头像 ADAS 发表于 08-09 10:16 262次 阅读
统计机器学习常见算法分类的学习方式

详细介绍ADAS算法

Hash是一种典型以空间换时间的算法,比如原来一个长度为100的数组,对其查找,只需要遍历且匹配相应....
的头像 ADAS 发表于 08-08 17:34 196次 阅读
详细介绍ADAS算法

深入介绍智能相机市场、终端设备嵌入神经网络加速器日益增长的需求

像Google Clip这样的AI摄像头得到了褒贬不一的评价,但是对于这项技术下结论还为时尚早。
的头像 Imagination Tech 发表于 08-08 11:13 386次 阅读
深入介绍智能相机市场、终端设备嵌入神经网络加速器日益增长的需求

CRC算法原理和CRC编码的实现方式与使用Verilog对CRC编码进行描述

CRC 校验是一种在数据通信系统和其它串行传输系统中广泛使用的错误检测手段。通用的CRC 标准有CR....
发表于 08-06 16:39 62次 阅读
CRC算法原理和CRC编码的实现方式与使用Verilog对CRC编码进行描述

人脸识别的三大模式

人脸识别技术已成人工智能最火热的应用之一,如刷脸登机、刷脸取厕纸、刷脸支付、刷脸考勤、刷脸识别闯红灯的行人、刷脸人脸识别...
发表于 08-06 14:15 221次 阅读
人脸识别的三大模式

通过机器学习基于演员们维持稳定工作量的能力来定义、量化甚至预测演员的成功

本次研究认为演员的“活跃度”和“作品产量”是定义其成功与否的重要因素,而非我们从前认为的“知名度”和....
的头像 将门创投 发表于 08-02 15:36 180次 阅读
通过机器学习基于演员们维持稳定工作量的能力来定义、量化甚至预测演员的成功

研究人员提出了一种多尺度高效率的新模型FAMED-Net

而基于学习的方法采用了数据驱动的方法来学习出图像特征和透射率之间的关系,克服了手工选取先验特征的不足....
的头像 将门创投 发表于 08-02 15:08 230次 阅读
研究人员提出了一种多尺度高效率的新模型FAMED-Net

基于学习的数据增强策略扩充你的数据集!

数据增强广泛是机器学习中常用的数据处理手段,不同的数据集通常会利用针对性的数据处理手段来处理。例如M....
的头像 将门创投 发表于 08-02 15:00 307次 阅读
基于学习的数据增强策略扩充你的数据集!

一种解偶人脸属性与化妆属性的妆容解偶迁移器

在这篇文章中,研究人员提出了一种称为解偶妆容迁移器(disentangled makeup tran....
的头像 将门创投 发表于 08-02 14:36 335次 阅读
一种解偶人脸属性与化妆属性的妆容解偶迁移器

Google在区块链领域的发展方向介绍

面,我们将阐释智能合约平台(以太坊)如何通过中间件(Chainlink)与我们的企业云数据库(Big....
发表于 08-01 10:57 199次 阅读
Google在区块链领域的发展方向介绍

苹果、 Google牵头, 5G 后的下一个竞争点是相机应用?

在 iPhone 加入 TOF 和 Pixel 加入新模组后,他们又会给我们带来哪些体验上的变化?
的头像 爱范儿 发表于 08-01 10:35 638次 阅读
苹果、 Google牵头, 5G 后的下一个竞争点是相机应用?

Google Pixel 4 搭载隔空手势操控,引领一波新触摸屏革命?

Google(以下称谷歌)潜心研发数年的手势操控技术Soli,可能会在今年10 月首次搭载到谷歌新手....
的头像 DeepTech深科技 发表于 07-31 14:21 750次 阅读
Google Pixel 4 搭载隔空手势操控,引领一波新触摸屏革命?

Google以丰富的对话情境资讯改进客服中心AI的语音识别能力

Google进一步更新客服中心AI所使用的技术,特别是在Dialogflow以及云端语音转文字两服务....
的头像 CTI论坛 发表于 07-30 15:57 304次 阅读
Google以丰富的对话情境资讯改进客服中心AI的语音识别能力

未来媒体的竞争力来自于哪里

在人工智能不断发展的过程中,媒体需要探索将人工智能运用在新闻采集、生产、分发、接收、反馈中,用主流价....
发表于 07-30 15:39 538次 阅读
未来媒体的竞争力来自于哪里

谷歌AI:学习更好的偏微分方程仿真方法

研究人员已经开始探索使用ML在高性能计算方面提供持续改进的可能,以解决偏微分方程和科学计算中的困难计....
的头像 凡亿PCB 发表于 07-30 10:20 339次 阅读
谷歌AI:学习更好的偏微分方程仿真方法

AI支持的测谎仪

针对人工智能(AI)算法的网络攻击新闻已不再罕见,现在几乎每天都在发生。
的头像 网易智能 发表于 07-30 09:48 383次 阅读
AI支持的测谎仪

刷脸的安全如何来保证

在信息爆炸的时代,数据的处理、分析、应用很多都是由算法来实现的,越来越多的决策正被算法所取代。
发表于 07-30 09:19 470次 阅读
刷脸的安全如何来保证

英特尔收购Mobileye——算法和芯片协同进化的时代已经到来

如果说过去是算法根据芯片进行优化设计的时代,那么英特尔对 Mobileye 的收购,预示着一个新时代....
的头像 智车科技 发表于 07-29 09:43 498次 阅读
英特尔收购Mobileye——算法和芯片协同进化的时代已经到来

科普 | 商业分析与数据分析、算法模型的关系与区别

我们常说,办事情要“名正言顺”,而数据领域的名字则是格外的多,商业分析、数据分析、数据挖掘、算法模型....
的头像 人工智能爱好者社区 发表于 07-28 11:49 661次 阅读
科普 | 商业分析与数据分析、算法模型的关系与区别

Google新款智能音箱发售时间确定!

媒体 The Verge 透露,Nest Hub Max 将会在 9 月 9 日正式发售。
的头像 爱范儿 发表于 07-26 16:03 489次 阅读
Google新款智能音箱发售时间确定!

六轴并联机器人——拥有最复杂算法并联机器人产品

Stewart平台以其特有的大刚度、高精度和高载荷自重比等特点,适用于高精度、大载荷且对工作空间的要....
的头像 高工机器人 发表于 07-26 09:32 357次 阅读
六轴并联机器人——拥有最复杂算法并联机器人产品

新手四旋翼算法的资料和程序总结免费下载

本文档的主要内容详细介绍的是新手四旋翼算法的资料和程序总结免费下载 首先,程序中一般用了两种求解姿态....
发表于 07-25 17:08 52次 阅读
新手四旋翼算法的资料和程序总结免费下载

【技术杂谈】动画演示各大算法,助力 AI 小白顺利入门

人工智能如此热门,如何自学呢?来自常青藤盟校布朗大学(Brown University)和罗德岛设计学院(RISD)的双学位学生马家驹...
发表于 07-25 16:07 410次 阅读
【技术杂谈】动画演示各大算法,助力 AI 小白顺利入门

稳定系统仅靠电脑算法,双螺旋桨无人机问世!

瑞士洛桑联邦理工学院(EPFL)的初创公司 Flybotix 研发了一款只有 2 个螺旋桨的无人机,....
的头像 无人机网 发表于 07-24 11:30 376次 阅读
稳定系统仅靠电脑算法,双螺旋桨无人机问世!

聚焦 | 数据、算力和算法赋能体验经济

数据洞察用户需求,算法改变商业本质,算力重塑经济未来!
的头像 SAP天天事 发表于 07-24 11:00 279次 阅读
聚焦 | 数据、算力和算法赋能体验经济

算法心得-高效算法的奥秘-第2版

发表于 07-23 16:00 571次 阅读
算法心得-高效算法的奥秘-第2版

中文repo霸榜GitHub Trending,你怎么看?

Github 的 Trending 页面是发现有趣的新 repo 的好功能,也给了新项目获得更多注意....
的头像 新智元 发表于 07-21 09:18 378次 阅读
中文repo霸榜GitHub Trending,你怎么看?

【案例分享】基于BP算法的前馈神经网络

BP神经网络 首先给出只包含一个隐层的BP神经网络模型(两层神经网络): BP神经网络其实由两部分组成: 前馈神经网络:...
发表于 07-21 04:00 217次 阅读
【案例分享】基于BP算法的前馈神经网络

机器学习准确预测发病风险

机器学习算法在改善慢性病风险评估和护理方面发挥了关键作用,尤其对阿尔茨海默病(俗称老年痴呆症)患者和....
的头像 机器人技术与应用 发表于 07-19 17:15 391次 阅读
机器学习准确预测发病风险

DARPA人工智能作战应用研究将提升美军“算法战”能力

近日,DARPA副局长彼得·海纳姆在华盛顿接受记者采访时说,DARPA的“下一代人工智能”(AI N....
的头像 人工智能学家 发表于 07-19 17:10 383次 阅读
DARPA人工智能作战应用研究将提升美军“算法战”能力

夜间驾驶的“第三只眼”,车载视觉的行人检测受到广泛关注

根据世界卫生组织的最新调查,每年有大约125万人死于道路交通事故,其中超过一半的人数是弱势道路使用者....
的头像 芯片晶圆切割保护膜 发表于 07-19 13:44 482次 阅读
夜间驾驶的“第三只眼”,车载视觉的行人检测受到广泛关注

华为拍月亮专利公布

近日,华为的拍月亮技术专利在国家知识产权局进行了公示,这一专利被华为称为“一种拍摄月亮的方法和电子设....
的头像 科技美学 发表于 07-18 16:07 553次 阅读
华为拍月亮专利公布

Google推出了超级强大的在线编辑器Colaboratory

colab作为一款在线编辑器,除了能让大家方便协作使用外,colab还有另外一个身份:帮助传播机器学....
的头像 AI科技大本营 发表于 07-18 15:45 305次 阅读
Google推出了超级强大的在线编辑器Colaboratory

深度强化学习给推荐系统以及CTR预估工业界带来的最新进展

所以,Google这两篇强化学习应用于YouTube推荐论文的出现给大家带来了比较振奋人心的希望。首....
的头像 AI科技大本营 发表于 07-18 11:11 332次 阅读
深度强化学习给推荐系统以及CTR预估工业界带来的最新进展

基于Erlang语言的视频相似推荐系统

视频行业一般是具备结构化信息的,一般视频公司会有CMS(Content Management Sys....
的头像 AI科技大本营 发表于 07-18 10:27 275次 阅读
基于Erlang语言的视频相似推荐系统

Lipson教授直面人工智能中最难的问题——自我意识

为了达到这个目的,Lipson公开地面对一个棘手的概念——意识——这在他的同事中常常被视为禁忌。他说....
的头像 新智元 发表于 07-18 09:22 344次 阅读
Lipson教授直面人工智能中最难的问题——自我意识

人工智能音乐家“出道”!推动音乐产业发展

AI实际上已经在幕后以许多方式影响着我们创作和倾听音乐的方式。
的头像 网易智能 发表于 07-17 09:51 460次 阅读
人工智能音乐家“出道”!推动音乐产业发展

【案例分享】经典的压缩算法Huffman算法

前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过 David Huffman ...
发表于 07-17 04:30 202次 阅读
【案例分享】经典的压缩算法Huffman算法

【案例分享】改进的图像重组算法及其硬件实现

         目前,大多数的数字相机的图像传感器,不管是CMOS还是CCD,都是单色的,即只有灰...
发表于 07-17 04:00 215次 阅读
【案例分享】改进的图像重组算法及其硬件实现

六大步骤学习贝叶斯算法

学习贝叶斯算法的五个步骤
发表于 07-16 16:57 89次 阅读
六大步骤学习贝叶斯算法

2019美赛常用算法程序包的详细资料免费下载

本文档的主要内容详细介绍的是2019美赛常用算法程序包的详细资料免费下载常规的智能算法直接调用版主要....
发表于 07-16 08:00 49次 阅读
2019美赛常用算法程序包的详细资料免费下载