雷锋网(公众号:雷锋网)按:本文作者痴笑,矽说(微信号:silicon_talks)主笔。本文为《脑芯编:窥脑究竟,织网造芯》系列第二篇。

〈二〉几重卷积几重生

蜘蛛结网,是为了捕食昆虫;

蜘蛛侠结网,是为了拯救世界;

码农Data Scientist (~ds~) 结网,是为了——

换一个角度看世界,

英语叫做: Representation。

如果你只想知道一个关于神经网络的常识,我认为上面这个单词是最不应该错过的。就像每个学模拟电子学的人,其实归根结底就是学了两个字——放大

话接上回,我们说到,通过一系列乘累加和非线性激活函数,我们就可以实现一个神经元。而关键的问题就是如何把神经元们连起来。解决这个问题之前,我们先要明白神经网络的作用——通过一系列线性和非线性的变化重新将输入信息映射成为表达事物的本质的简化特征。

如果你觉得上面一句的每个字都认识,却不知道他在说什么,那么我们来看一个经典的例子——人类的视觉皮层(Visual Cortex)。

视觉皮层, 一场生物与AI的伟大握手

码农老师的生物课又来了……

你有没有想过当你看到生命中一个重要的人的时候,比如说基友(码农怎么会有妹纸?),你是看到是他/她的鼻子,眼睛,脸上的痘痘,昨晚熬夜的黑眼圈……但是这些东西最后都只留下了一个映像——我面基了。可是你有没有想过从你看到图像,到你得到的结论,无数的信息都已经没有过滤,你的脑子完成了一次将4K3D图像压缩成两个字的过程,到底发生了什么事?

这个过程就是从信息经过视觉皮层(神经网络??)的过程。从前到后,他经过了几站:

(1)始发站——视网膜 ,比较像是一个电子系统的传感器,用来接收信号;

(2)快速交流道——LGN,他是将左右眼看到的信号重新编码后传递给视觉皮层,像是一个电子系统中的主控处理器与总线(请原谅我不说LGN的中文,因为说了你也记 不住) ;

(3)第一站——主视觉区V1,第一层神经网络,司“边界检测(Edge Detection)”一职,这可能是神经元数量最丰富的一个区域;

(4)第二站——次视觉区V2,第二层神经网络,司“基础特征提取”一职,归纳视觉信号的形状、大小、颜色、频率……

(5)第三站—— V3,司“位置“,也是个过渡区,一条线上你有些站你不知道为什么会停~

(6)第四站——V4/V5(MT)分支,深度神经网络,各司“色彩/运动”;

(6)V4分支终点站1——换乘inferotemporal Cortex,近深度智能TE区,司 ”目标识别“ ~~~终于终于我认出基友来了,撒花~~

(7)V5分支终点站2——换乘Parietal Cortex, 进深度智能MST区,司“空间运动分析”。

视觉皮层可能是目前为止人类认识的最透彻的大脑部分,不过,好像建立在无数的活体实验上。。。即使如此,还是有很多未知的空间亟待生物学家探索。

不知道读到这里,对人工智能略有了解的你有没有觉得这堂生物课在哪里见过? 先做边界检测,在再做特征提取,在进行分类识别,这不就是大名鼎鼎的

卷积,让加速成为一种可能

其实在神经网络领域里,目前为止唯一能算的上前所未有成功的就是CNN (Convolution Neural Network,卷积神经网络)。最早的CNN可以追溯到98年Yann LeCun的一篇如何识别手写数字的paper,这里出现了第一个CNN的雏形LeNet:

从结构上来,CNN继承了视觉皮层中对信号处理“层”的概念,虽然不是那么的100%的吻合,但是CNN的初级层往往用来做“边界检测”这样的简单的特征提取,而在深度层重新组合初级层的信息成为抽象的再表达(Representation),最后交给事件的发生的相关概率归纳出事物的本质。

另外,一个比较不太准确的趋势是神经元的数量随层的深度逐渐减少,但是单个神经元的粗壮程度(输入数量)随层的深度逐渐增加。视觉皮层也具有相似的规律,V1的数量多,但是结构比较简单,但到了V4/V5,链接变得很复杂,但占的区域却比V1小的多。

然而,这些都不是做电路的人重点。

对于硅工们而言,CNN获得巨大成功的原因在于:它极大地节省了神经网络的硬件开销,使神经元为单位作加速器成为了可能。

(1) CNN定义了一种更高能效的元操作——卷积核

关于卷积是什么,大家可以去参考一篇《一文读懂卷积神经网络》(广泛地转载于各大公众号间),下图是我目前看到的最形象的卷积描述。

该图片源自网络,感谢原gif作者

其本质就是对于一个区块,判断和自己系数组成的“基”区块的相似程度,得到的分数越高就越相似。这样,当一种“基区块”被赋予一种特征是,即使用于整张图片的特征提取,他的系数也是固定的,因此大量的系数加载操作可以被省略。同时,一个固定大小的“卷积核”成为了比“乘累加”更高阶、更高效的原子操作,在现代计算机体系结构中,实现越复杂,但操作越固定的加速器,其效率和速度的提升也就越大。

(2) Pooling —— 是垃圾就要扔掉

CNN网络的另一个巨大贡献就是在卷积层和层之间,设置了一个”垃圾箱“,把上一层产生的无效信息都扔掉,避免了超大规模的数据传输和存储。大家把这叫做Pooling,我又要来吐槽那个中国人给他取了个”池化“的名字,虽然我也找不到更好的名字,但根本无法帮助理解。Pooling的策略很多,最常见的是max pooling就是留个最大的,然后又其他都扔掉。

(3) “乱撸”? (ReLU)

LeNet后期发展到AlexNet后,激活函数也从sigmoid变成了ReLu,他们的图形曲线大概如下所示。用脚趾头也知道,Relu操作的实现就是把符号位为负置0就好了。至于sigmoid么,传承自经典机器学习回归理论,是e指数的除法操作,编译后简直就是一场噩梦,我们先把他当作一个古老的神话就好了。

以上种种硬件实现的简化,加上CNN的巨大胜利,都当让硅工们看到了直接从电路角度优化的角度切入人工智能芯片的可能。但是,也发现了一个问题,传统的硬件加速的算法往往是做死的,比如椭圆加密,浮点乘除等等。但是CNN的元操作——卷积核——虽然模式固定,但是其每一层的卷积核数量和层数却是纷繁复杂,固定的硬件并不能实现网络的可塑性(structual plasticity)?

那该怎么办?下一次,如何利用具有高度可编程性的CPU来配置不同结构的神经网络——计算机的”形与令“。就到这里,且听下回分解。

特别鸣谢复旦大学脑芯片研究中心提供技术咨询,欢迎有志青年报考。

本文作者:矽说

本文转自雷锋网禁止二次转载,原文链接

脑芯编:窥脑究竟,织网造芯(二)相关推荐

  1. 脑芯编 | 窥脑究竟,结网造芯(三)

    雷锋网按:本文作者痴笑,矽说(微信号:silicon_talks)主笔.本文为雷锋网(公众号:雷锋网)发布的<脑芯编 | 窥脑究竟,结网造芯>系列第三篇. 〈三〉梦里不问形与令 世界上有两 ...

  2. 扎堆造芯,巨头拼什么?

    近期字节跳动上一则关于招聘芯片人才的新闻,再次引发了外界对于互联网大厂"造芯"的猜测.事实上,在"缺芯"潮持续发酵之下,"跨界造芯"早已经成 ...

  3. 国产首款脑机编解码集成芯片发布

    来源:科学网 5月17日,由中电云脑(天津)科技有限公司(简称"中电云脑")联合天津大学共同研发的国产首款脑机编解码集成芯片--"脑语者"在天津第三届世界智能大 ...

  4. 后盾网php多少钱_亿多星全脑开发招代理多少钱@山东聊城网

    亿多星全脑开发招代理多少钱@山东聊城网 鸿大教育科技有限公司亿多星全脑开发中国境内可享受元体验7天,(零加盟费,无需经验,全程指导,轻松创业,快速创收)是一家以全脑潜能教育开发,致力于0-18岁儿童全 ...

  5. 织网模板html5,织网的文言文

    织网的文言文以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 1. [有个古文意思是冬天织网为了夏天打渔] <汉书· ...

  6. 读《人脑连接组研究:脑结构网络和脑功能网络》

    人脑连接组研究:脑结构网络和脑功能网络 doi: 10.1360/972009-2150 文章结构 题目 人脑连接组研究:脑结构网络和脑功能网络 摘要 引言 1 复杂网络中的一些基本概念 1.1 网络 ...

  7. 【未来研究】城市云脑是互联网云脑的节点,城市云脑之间如何互补与支撑

    作者: 互联网进化论作者 ,计算机博士 刘锋 前言:本文是未来智能实验室的研究文章,重点探讨了基于类脑架构的智慧城市建设不应局限在城市内部,而是在互联网大背景下,不同城市之间也会发生智慧建设的协同效应 ...

  8. 首个获得FDA批准的脑机接口设备:“突破性”脑机接口设备用于造福人类

    Washington University School of Medicine in St. Louis的EricLeuthardt博士的研究团队设计了一种可以帮助因中风而残疾的人通过使用自己的大脑 ...

  9. 脑与认知科学1 脑的基本结构下

    脑与认知科学1 脑的基本结构下 Cortical Topography Microanatomy and Histology 神经细胞简介 Cortical Topography 我们延续上一讲的内容 ...

最新文章

  1. 设计模式之职责链模式、减小了因为分支带来的耦合
  2. 推荐一个提供干货的java公众号
  3. sql,nolock
  4. java-数据结构-续
  5. 【天池赛事】零基础入门语义分割-地表建筑物识别
  6. EA与Rose UML建模工具比较
  7. python中获取异常描述与else用法
  8. Filecoin网络存储容量已达3 EB
  9. 配置python虚拟环境心得
  10. TMEA:源于音乐,高于盛典
  11. JUC:06.CyclicBarrier栅栏
  12. 光流法的视频移动目标检测(matlab代码)
  13. nginx中的sub_filter
  14. 排球分组循环交叉编排_同学!中国海洋大学第一届排球联赛等你来战!
  15. 数据结构与算法 python版 之 递归三定律
  16. Useing rvm
  17. 电脑出现All boot options are trled.黑屏不能开机解决方法
  18. redis keys scan筛选
  19. Oracle项目管理系统之任务督办及收发文
  20. 视频流TS打包方式详解

热门文章

  1. OpenCV常见的优化方法和技巧总结
  2. 如何高效维持网络长连接
  3. (六)docker-compose使用教程
  4. Flutter入门:Offstage和Visibility
  5. 使用conda安装pydot及其遇到的问题解决方案
  6. BZOJ3747: [POI2015]Kinoman
  7. fcntl函数参数F_GETPIPE_SZ、F_SETPIPE_SZ报错引出的关于linux-specific头文件的使用方法...
  8. 移动app测试流程与测试点
  9. Kolor Panotour Pro 使用方法
  10. 如何使用Web.config的authentication节实现Form认证