2017 Future Chips之旅

Introduction

future chips首页

https://2017.futurechip.org/

主办单位:

地点在清华大学。

今年的主题是:

Smart Chips, Smar World.

邀请了很多学术界和工业界大牛来讨论前沿话题,包括芯片设计及其在人工智能上的应用。

12.18

caffe2作者贾扬清做了关于caffe2的介绍和演示等。

由于我们是临时改签车票走的,因此去的时候已经讲了一半。

分布式

随着数据量的增大,分布式在机器学习上将越来越广泛。

Batch Size

batchsize:批大小。即每次训练在训练集中取batchsize个样本训练;

举个例子,训练集有1000个样本,batchsize=10,那么:
训练完整个样本集需要:100次iteration,1次epoch。

  • iteration:1个iteration等于使用batchsize个样本训练一次;
  • epoch:1个epoch等于使用训练集中的全部样本训练一次;

贾在这里以batch size为例做的说明。既然分布式,那就需要有一个较为合理的任务分布,如果batch size过小,那么给每个节点的工作量就过小,导致大部分时间耗费在数据传输上,尝试增大batch size,来减少计算节点。

印象中增大到512,发现和256相比,尽管速度快了很多,但是很容易陷入局部最优解,导致精度不高。

而实际上,增大了batch size,看的越多,那么confidence应该也越大,因此应该增大在决策时的tolerance,放宽选择的标准。

贾还安利了一波python的notebook。抽时间准备看一下。

会场一直在传看安卓的demo,使用安卓的caffe2来实时渲染摄像头拍摄到的内容,变换成夜景等模式。具体不了解。

贾的报告给我的感觉是Facebook在大力推caffe2,而caffe2的革新是全线推广:安卓、ios、树莓派等等,而且架构变化较大,优化足够到位。

12.19

符号系统

人工智能,理想情况是对人类理性行为的模拟。

两个模型:

  1. 符号表示(Symbolic Representation)

    计算机的功能可以描述为:输入==》处理==》输出。计算机将一系列符号作为输入,这些符号可以表示只对人类有意义的某些概念或者结构,通过预先设定的操作处理这些符号,产生结果。人类的认知同样可以作为某种特殊的符号处理系统。比如“我喜欢Linux”。

  2. 亚符号表示(Sub-symbolic Representation):

    亚符号或连接系统通常隐喻神经元模式。早期的亚符号系统实现是1957年左右提出的感知器(Perceptron)。就像大脑里的一组神经元,一个亚符号系统由一组可以并行处理输入数据的感知机构成。而识别处理的过程则主要由调节感知机的权重完成。一个亚符号系统可以看成是自主学习系统,这是他的主要特点。

感知机是生物神经细胞的简单抽象。神经细胞结构大致可分为:树突突触、细胞体及轴突。单个神经细胞可被视为一种只有两种状态的机器——激动时为‘是’,而未激动时为‘否’。神经细胞的状态取决于从其它的神经细胞收到的输入信号量,及突触的强度(抑制或加强)。当信号量总和超过了某个阈值时,细胞体就会激动,产生电脉冲。电脉冲沿着轴突并通过突触传递到其它神经元。为了模拟神经细胞行为,与之对应的感知机基础概念被提出,如权量(突触)、偏置(阈值)及激活函数(细胞体)。

在人工神经网络领域中,感知机也被指为单层的人工神经网络,以区别于较复杂的多层感知机(Multilayer Perceptron)。作为一种线性分类器,(单层)感知机可说是最简单的前向人工神经网络形式。尽管结构简单,感知机能够学习并解决相当复杂的问题。感知机主要的本质缺陷是它不能处理线性不可分问题。

感知器的结构:

设有n维输入的单个感知机,a1至an为n维输入向量的各个分量,w1至wn为各个输入分量连接到感知机的权量,b为偏置,f为激活函数(激励函数或者传递函数),t为标量输出。输出t的数学符号描述:

$$t = f( \sum_{i=1}^nw_ix_i + b ) = f(w^Tx)$$

其中,$w=[w_1, w_2,\dots w_n b]^T$,$x=[x_1, x_2, \dots x_n 1]^T$及$f(x)$为反对称的符号函数:

$$f(n) = \begin{cases}
+1& \text{if n ≥ 0}\\
-1& \text{otherwise}
\end{cases}$$

一感知机的输出行为是求得输入向量与权向量的内积后,经一个激活函数所得一个标量结果。

深度神经网络

带来的改变:

  • 不需要人工选择特征
  • 比单层的神经网络提高非常多

现在还是人工智能的非常初级阶段。

非冯诺依曼架构

现在的存储和计算器件是分开的,而存储和计算合在一起是一个可能有前途的趋势之一。

清华的Thinker芯片

提到利用该芯片实现的语音控制模块,功耗接近于0。

现场演示了与“小薇”的交互。

分布式(Distribute)

我认为分布式的定义应该更广义一点,比如cpu工艺,单核cpu在04年左右达到瓶颈,因为硅技术功耗的限制,才有了多核cpu的发展。

任务分解的思想当然不是从分布式开始的,但是分布式大大促进了这个思想的演进和推广。

而分布式也有一些前提,比如数据量级,计算能力的进步以及数据量级的巨变,迫使计算机不断发展。

现在分布式AI也已经开始成型。

Edge Computing也是近两年推出的一个概念,其基本内容是在分布式架构下,将计算任务从服务中心下沉到节点。当然其发展前提也是节点的计算能力提升,当然节点的能力提升和边缘计算二者是相辅相成的,互相要求互相影响。

内存计算 In-Memory Computing

内存计算不是最新提出的概念, 但是近年来它却成为业界和研究领域的一个热点, 解决了前面提到的大数据时代数据处理速度以及时效性的问题, 其原因在于, 在内存计算模式下 , 所有的数据在初始化阶段全部加载到内存中, 数据及查询的操作都在高速内存中执行,CPU 直接从内存读取数据, 进行实时地计算和分析, 减少了磁盘数据访问, 降低了网络与磁盘 I/O 的影响, 大幅提升了计算处理的数据吞吐量与处理的速度, 减少了原本占大量计算资源的 I/O 开销. 通过内存计算的应用, 避免了 I/O 瓶颈, 以前在数小时、数天时间内计算的结果, 在内存计算环境中, 可以在数秒内完成.

经典应用比如Spark。

主要有以下特性:

  1. 硬件方面拥有大容量内存, 可将待处理数据尽量全部存放于内存当中, 内存可以是单机内存或者分布式内存, 且单机内存要足够大;
  2. 具有良好的编程模型和编程接口;
  3. 主要面向数据密集型应用, 数据规模大, 处理实时性要求高;
  4. 大多支持并行处理数据.

内存计算是以大数据为中心、依托计算机硬件的发展、依靠新型的软件体系结构, 即 , 通过对体系结构及编程模型等进行重大革新,将数据装入内存中处理, 而尽量避免 I/O 操作的一种新型的以数据为中心的并行计算模式。

还有个computing with memory 的概念?与in memory 不一样。

Offchip is offchip.

功耗问题

人脑的功耗大概是20w,而现在台式cpu的功耗一般在100w以上。

问题

所以实际上有可能现在的深度学习方向是错误的方向?

12.20

类脑计算

人的大脑和现代计算机具有完全不同的架构,它们擅长不一样的应用领域。现代计算机一般使用固定的数字化的程序模型,同步、串行、集中、快速、具有通用性地处理问题,数据存储与计算过程在不同地址空间完成。而与之形成鲜明对比的是,人的大脑会重复利用神经元,并突触、异步、并行、分布式、缓慢、不具通用性地处理问题,是可重构的、专门的、容错的生物基质,并且人脑记忆数据与进行计算的边界是模糊的。而类脑计算架构能够实现类人脑功能,模拟人脑实时反应。该架构是由数目庞大的神经芯片组成的数字通信网络,每个内核集成计算(神经元)、记忆体(突触)和核内通信(轴突),有望打破“ 冯诺伊曼” 瓶颈;每个芯片是事件驱动(与时间驱动相对应)、可重构、超低功耗的系统。

类脑芯片与计算平台研究的动机是通过借鉴脑神经系统的工作原理,实现高性能、低功耗的计算系统,终极目标还要达到高智能。2014 年,IBM推出 TrueNorth 芯片,借鉴神经元工作原理及其信息传递机制,实现了存储与计算的融合。该芯片包含 4096 个核、100 万个神经元、2.56 亿个突触,能耗不足 70 毫瓦,可执行超低功耗的多目标学习任务[49] 。美国加州大学和纽约州立大学石溪分校的Prezioso 等人研制出了完全基于忆阻器的神经网络芯片,目前可基于该芯片感知和学习 3×3 像素的黑白图像[50] 。高通公司也推出了神经处理器 NPU,并应用于手机使用行为学习、机器人研发等领域[51] 。此外,作为欧盟脑计划的核心组成部分之一,德国海德堡大学提出的 BrainScaleS 项目也在类脑机制和高性能计算方面取得进展。

国内在本领域的研究仍然处于萌芽期。中科院计算所陈云霁团队研发了深度学习系列芯片[54][55] ,该芯片为实现深度学习做了定制化的优化,其中 DaDianNao 采用多核体系结构,在深度学习任务上可以达到单 GPU 的 450.65 倍,针对 64 结点能耗可降低 150.31 倍[55] 。DianNao 系列芯片借鉴神经系统的工作原理在功耗方面取得一系列突破,未来该团队也计划融入更多的脑信息处理机制来改进现有的深度学习芯片。

以上内容均摘自Reference中的部分论文和讲义,可能有时效性。

 

Reference

深度机器学习中的batch的大小对学习效果有何影响?

Tensorflow基础4-(epoch, iteration和batchsize)

Caffe2正式发布!新框架有何不同?贾扬清亲自解答

感知器(Perceptron) wiki

微纳电子系人工智能Thinker芯片获2017国际低功耗电子学与设计会议设计竞赛奖

分布式计算 wiki

Distributed artificial intelligence wiki

人工智能芯片:发展史、GPU、FPGA和专用集成电路 | 厚势

Computing with Memory

In-memory processing

罗乐,刘轶,钱德沛.内存计算技术研究综述[J].软件学报,2016,27(08):2147-2167.

类脑计算技术发展及应用前景 – 上海超级计算中心

曾毅,刘成林,谭铁牛.类脑智能研究的回顾与展望[J].计算机学报,2016,39(01):212-222.

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/2277

你可能喜欢:(相似内容推荐和广告都使用了谷歌的推荐系统,需要对本站取消广告屏蔽才能显示。感谢点击↓广告支持博主~)

Find

新浪微博(FindHaoX86)QQ群:不安分的Coder(375670127) 不安分的Coder

发表评论

电子邮件地址不会被公开。 必填项已用*标注