AI天团出道已久,成员都是集颜值和才华于一身的男纸,之前我们已经见过其中三位了,压轴出场的到底是谁?

更为重要的是,他会带给我们关于人工智能的什么新鲜东东呢?


王宇航,博士毕业于中国科学院自动化研究所,现阶段主要研究方向包括:深度学习、图像语义分割、目标检测、网络模型压缩与加速等。


宇航告诉我们,深度神经网络也可以是一个“Transformer”,它可以在使用时根据输入数据动态地调整自己的结构。至于为什么要设计这样的网络结构,宇航用“杀鸡焉用牛刀”来形容它。

随着近年来深度学习的快速发展,我们已经能够获得越来越精确的模型实现对图像目标的识别,而相应地,模型的体积也在成倍地增长,这给模型的部署和应用带来了很大的麻烦。因此,很多学者一直致力于给深度神经网络模型“减重”,从而实现效果和速度的平衡。

其中的主要方法包括对模型和知识进行蒸馏,对模型进行剪枝,以及对模型参数进行分解和量化等等。这些方法都能够提高模型中“有效计算”的密度,从而使模型变得更加高效。如果说这些方法是获得了更加高效的“静态”模型的话,另一类方法则采用“动态”的模型来提高应用端的计算效率,它们针对不同的输入数据动态地调整网络的前向过程,去除不必要的计算,从而达到加速的目的。

今天王宇航博士要介绍的是两篇使用“动态”的网络结构来实现CNN模型加速的文章,先注明一下来源~


1.Runtime Neural Pruning,原文链接:https://papers.nips.cc/paper/6813-runtime-neural-pruning,NIPS2017接收文章,来自清华大学。

2.SkipNet: Learning Dynamic Routing in Convolutional Networks,原文链接:https://arxiv.org/abs/1711.09485,来自UC Berkeley和南京大学。


首先,我们可以分析一下深度神经网络模型在训练和预测过程中的不同:在训练的过程中,我们要求模型对来自不同场景不同类别的目标都进行学习和辨别,以丰富其“知识储备”,并因此不得不引入更多的神经元和网络连接。

而在预测阶段,我们的需求往往集中于个体图像的识别,而应对这样相对单一的场景和目标,往往不需要我们使出全部的“看家本领”,只需要使用一部分相关知识针对性地去解决就可以了。

对于深度神经网络模型,参数,或者说神经元之间的连接,就是它的“知识”,而针对不同的数据对网络连接进行选择, 就可以动态地调整网络的计算过程,对于比较容易辨认的图像进行较少的编码和计算,而对于比较难以辨认的图像进行较多的编码和计算,从而提高网络预测的整体效率。

本文介绍的这两篇文章都是基于这样的出发点,而它们的关注点又各自不同。

“Runtime” 一文主要关注于减少网络中卷积层的channel数量,如下图所示:

为了简化模型,他们将网络中每一个卷积层的卷积核分为k组,根据网络各前层的输出特征决定在本层中使用的卷积核数量m(1≤m≤k),并仅使用前m组卷积核参与运算,从而通过减小m来削减层与层之间的连接,达到channel pruning的效果。

而 “SkipNet”一文则主要关注网络中layer的数量,其主要思想如下图所示:

他们为网络中的每一个层(或每一组层)学习一个“门”,并基于网络各前层的输出特征进行判断,是将前一层输出的特征图输入本层进行计算还是直接越过本层将其送入后续网络,从而通过“skip”掉尽可能多的层来实现加速的目的。

从直观上来讲,这两篇文章分别从动态削减模型的“宽度”和“深度”的角度,实现了对预测过程中网络计算的约减。

那么如何实现对网络连接方式的动态调整呢?

在网络由浅至深的过程中,对于网络中每一层连接方式的选择(对于“Runtime” 一文是选择该层使用的卷积核数量,而对于 “SkipNet”一文是选择该层参与计算与否)可以看作一个序列决策过程,因此,这两篇文章均选择了强化学习的方式建模这一过程。将原始的主体CNN网络作为“Environment”,学习一个额外的轻量的CNN或RNN网络作为“Agent”来产生决策序列。其中,对于原CNN网络每一层的决策,作为一个“Action”都将带来相应的“Reward”。

为了在最大限度地压缩网络计算的同时最大化网络的分类精度,在构建“Reward”函数的过程中,需要同时考虑两个部分:1.对“Action”约减计算量的奖励,即prune掉的channel越多或skip掉的layer越多,获得奖励越大;2.网络最终的分类预测损失,即最终分类预测的log损失越小,获得奖励越大。由于这两部分的梯度计算方式不同,因此在对模型目标函数进行优化的过程中,会构成一个“强化学习+监督学习”的混合学习框架。

在具体的算法实现中,这两篇文章对于“Reward”函数的设计和优化策略的选择各有不同。“Runtime”一文采取了交替更新的方式,而“SkipNet”一文则采用了混合优化的方式,具体的细节我们就不在这里详述了。

对于方法的效果,这两篇文章都给出了严谨的数据对比和可视化结果分析,大家可以根据兴趣进行更深入的阅读和研究。而动态网络结构的意义,可能也不止于单纯的约减计算。网络连接的改变实际上影响着整个特征编码的过程,以“SkipNet”为例,对n个网络层的选择可能会带来2^n种不同的特征编码方式,而在训练这种动态选择策略的过程中,可能也会一定程度地解耦层与层之间的依赖关系,这也会为我们日后设计更具“自适应性”的网络结构和研究网络中信息的传递及融合方式带来更多的启发。


说正经的,我们AI天团正在纳新中。

要不要带个offer回家过年?

就看你咯~

重磅推出

驭势科技AI天团最新咖位

计算机视觉算法工程师 

工作职责

用视觉识别和理解复杂环境,为视觉主导的无人驾驶系统在感知和定位方提供强有力的支撑。

职位要求

·有扎实的图像分析和模式识别理论基础,精通目标检测、跟踪、识别等常见的计算机视觉处理任务

·有扎实的数学基础,精通常见的几何、统计学等,并熟悉这些技术在图像识别领域中的应用

·有很强的工程能力,精通 C++ 语言以及至少另一种常见编程语言·对计算机结构有深刻的认识,能够开发高性能、实时运行的图像处理软件

·有发明创造的理想和热情,致力于创造解决实际问题的视觉感知技术

优先考虑

· 熟悉VISUAL SLAM 等在机器人定位和导航领域中常用的经典方法 · 熟悉STEREO , STRUCTURED LIGHT, TOF 等三维成像原理和方法

· 熟悉图像识别领域的常见工具如 OPENCV 等

· 熟悉高性能运算加速工具如 NEON 以及GPGPU 技术如 GLES, CUDA 和OPENCL 等

· 发表过CVPR/ECCV/ICCV/NIPS/ICML 等视觉和 AI 领域会议文章

· 熟悉图像识别领域的常见工具如 OPENCV 、MATLAB 等

机器学习/深度学习算法工程师

工作职责 

既要让自动驾驶更好的理解周围

又要挑战更多ML用于无人驾驶的可能

职位要求

· 熟悉机器学习的基本方法 ( 降维、分类、回归、排序等等 )熟悉深度学习原理和基本模型

· 熟练使用 CAFFE ,THEANO 或其他常用深度学习工具,并能够灵活的解决实际问题熟悉计算机视觉和图像处理的常用方法 ( 物体检测、跟踪、分割、分类识别等 ) 。

· 学习能力强,读机器学习、计算机视觉领域的论文易如反掌

· 有很强的工程能力,精通 C++ 语言以及至少另一种常见编程语言· 对计算机架构有深刻的认识,能够开发高性能、实时运行的图像处理软件

· 有发明创造的理想和热情,致力于创造解决实际问题的视觉感知技术尝试将机器学习和深度学习技术应用于非识别领域

优先考虑

· 发表过CVPR/ECCV/ICCV/NIPS/ICML 等视觉和 AI 领域会议文章

· 熟悉图像识别领域的常见工具如 OPENCV 等

· 熟悉高性能运算加速工具如 NEON 以及GPGPU 技术如 GLES, CUDA 和OPENCL等

高性能计算工程师 

工作职责  

通过GPU和CPU多核加速等一切方式, 实现人工智能算法的极致加速 在NVIDIA JETSON等嵌入式平台开发最高效实用的自动驾驶应用程序

任职要求 

· 熟练掌握GPU并行算法设计

· 熟练掌握GPU体系结构和CUDA代码调试与优化技术

· 三年以上相关工作经验

· 有TK1/TX1/TX2开发经验和算法移植与优化经验

优先考虑  

熟悉常用的计算机视觉、深度学习算法者优先

在驭势AI天团中

你将接触和熟悉最前沿的人工智能算法

与最棒的AI算法工程师合作

完成最高效能低成本的自动驾驶落地产品

更多招聘岗位欢迎点击WWW.UISEE.COM

扫描二维码,驭势科技官网上投简历咯!

驭势导读 | 通往深度学习之路,“杀鸡焉用宰牛刀”?相关推荐

  1. 我的三年自学深度学习之路

    大家好,我是羽峰.今天要和大家分享的是研究生三年的生活,也是自己自学深度学习的三年,凭借三年自学,最终进入了大厂做了一名算法工程师. 目录 2018 2019 2020 2021 2018 考研因为失 ...

  2. 深度学习网络大杀器之Dropout(II)——将丢弃学习视为集成学习之我见

    原帖:阿里云云栖社区: https://yq.aliyun.com/articles/110002 关于dropout的分析,可以见博主的另外一篇文章: <深度学习网络大杀器之Dropout-- ...

  3. 全职奶爸的一年深度学习之路:从零基础到成为研究科学家

    https://www.toutiao.com/a6642453108142113294/ 2019-01-04 09:50:32 [新智元导读]零基础学习深度学习是怎样一种体验?本文作者分享了他仅仅 ...

  4. Yann LeCun在线访谈:我的深度学习之路

      新智元报道   来源:the gradient 编辑:Emil.Su [导读]LeCun的AI启蒙竟是来自一本哲学书?他曾经因为用法语写论文阻碍了机器学习理论发展?SSL究竟能为世界带来什么?在最 ...

  5. 深度学习之路---从历史认识深度学习

    学习任一门知识都应该先从其历史开始,把握了历史,也就抓住了现在与未来 ---by BryantLJ¶ 学习深度学习也需要了解深度学习的经历过程,能够更好的帮助我们理解深度学习的变更和趋势. 深度学习经 ...

  6. 深度学习之路孤单吗?我们带你进组织!

    重要通知 为了帮助大家,尤其是身边缺乏各类软硬件资源的朋友,更快地步入深度学习这个行业,快速拥有从事该方向的完整的学术和工程能力,我们建立了10个兴趣小组,欢迎大家加入,具体介绍如下: 1 兴趣小组招 ...

  7. 深度学习,路在何方?

    文 | Severus 最近,AI领域的三位图灵奖获得者Yoshua Bengio.Yann LeCun和Geoffrey Hinton共同发表了一篇文章,名为Deep Learning for AI ...

  8. 坎坎坷坷的深度学习之路(一)-环境搭建

    大家好,我是新人,这是我的第一篇技术连载,希望可以在深度学习的路上走上一走,我会尽可能说的清楚一点,大佬们能喷就喷,这样才能进步.此后还请多多关照.(另外如果排版不好看的话欢迎评论,我会逐步优化我的排 ...

  9. sklearn中lstm_深度学习之路(一):用LSTM网络做时间序列数据预测

    简介 问题:有一组1维数据,可能是某商品的销售量,可能是股票的价格等,用深度学习模型来解决对该数据的预测问题,比如用前50个数据,来预测下一个数据. 首先,给出数据集: 前10行数据.png 接下来, ...

最新文章

  1. JavaScript基础学习之强制类转换(二)
  2. 更改linux子系统软件源为国内镜像
  3. 卸载VMware Server后,无法加载登录用户界面 #F#
  4. 查询解析MySQL_mysql内部查询过程详解
  5. MySQL数据库定期自动备份(定时任务)
  6. 2010第六届中国移动互联网TOP50
  7. 流量红利不再,餐企做私域流量要趁早
  8. mysql grant 用户权限总结
  9. 三种评价聚类程度的内部指标
  10. 小内存海量数据,找中位数: 只有2G内存,在10G数据量怎样找到中位数?
  11. 互联网公司发送短信为什么通过第三方短信平台,而不是通过运营商。
  12. 计算机域名(domain name)
  13. 优质文章为什么对网站推广这么重要
  14. 电子科技大学 图论期末复习 公式索引
  15. 怀旧服最新pve服务器,部落玩家被歧视了?魔兽怀旧服三个PVE服务器,联盟专享占两个...
  16. Spring Cloud Gateway 不小心换了个 Web 容器就不能用了,我 TM 人傻了
  17. Axure教程:中继器如何加载显示图片
  18. 纳芯微电子科创板上市:市值262亿 深创投与小米是股东
  19. Https双向认证Android客户端配置
  20. android+tv盒子+主界面,x96max+ 盒子 与 CoreELEC系统配置(三)AndroidTV刷机记录

热门文章

  1. Vue3+element-plus实现后台管理系统
  2. edusoho 二次开发
  3. VUE ---element ui 引入第三方 iconFont
  4. 一个经典的营销小故事
  5. Bash漏洞分析溯源 cgi文件 (CVE-2014-6271) --墨者学院
  6. go orm 报错 packet.go:123 closing bad idle connection
  7. 写给程序员的时间管理
  8. 字节的换算关系,char,int等区别
  9. 室内导航--机器视觉、ROS、Goseek(一)开篇概要
  10. Greasy Fork 提供用户脚本的网站