cslehe 发表于 2021-4-18 14:21:51

大数据和AI以及存储芯片的未来

#111723#作为ICT的从业职员,各人都晓得有两个公司是有点污名昭著,由于他们和SUN Micro公司纷歧样,好IT公司养工程师,“坏”公司养状师。Qualcomm和Oracle都是以状师而有名。近来特殊是Oracle,愈加不养中国的工程师了。
在memory界,也有一个公司有相似的名望,那就是Rambus。在2019年的Memory+的集会上,他们竟然吃了豹子胆,给本人挖了一个深深的坑,《Big Data, AI and the future of Memory》。对于AI来说,现在从利用,到框架,再究竟层言语和硬件,这是一个百家争鸣的时期。Nvidia在坚固了本人在练习上的位置以后,向推理防御,各家始创公司在应用开源框架,占据推理市场,并乘机向练习防御。
因而,对于任何一种神经收集来说,实现对于资本的需要的影响仍是比拟大的,一个神经收集在差别的框架(Caffe/Pytroch/TensorFlow)上,在差别的硬件平台上(CPU/GPU/FPGA/ASIC)的需要都多几多少差别。更不要讲有成千上万的AI炼丹师在种种调参,天生种种定制的收集,因而Rambus这类行动和我明天一样都是一种“蒙昧者无畏”的举动。
从2015年的Resnet以后,各人都以为在神经收集的深度进修方面,特殊是标杆性的ImageNet的上,各人没有太显明的停顿了。

因而从2012年以来的ImageNet优越收集模子来看,各人的趋向很显明,Top-5的毛病率逐年降落,收集的层数也越来越厚。固然另有就是收集的parameter,也就是weight和bias 也越来越多。

   很成心思的是,良多货色抛开景象看实质会有一一般样的视角。举个上周进修到观念,对于数据库范畴来说,现在workload就是OLTP和OLAP。OLTP的买卖的实质就是数据的I/O,对!就是把你的软妹币从你口袋中搬运到淘宝卖家的口袋中去。OLAP的实质就是盘算,在晓得你买了尿布,奶粉以后算出来应当给你推送婴儿车的告白。
那对于现在比拟风行的深度进修来说,也能够从一样的话来总结。基于卷积盘算的CNN,他的实质就是盘算,也算出你究竟有几多个事后练习好的元素,这些元素包括外形,色彩等等。比方,假如你有一个嘴巴,两个眼睛,和一个鼻子,那就是一团体脸。   另有一种是RNN,RNN的实质也是盘算和I/O,和CNN的盘算上线文有关,RNN的详细的表示情势为收集会对后面的信息停止影象并利用于以后输出的盘算中。现在,Google掉臂版权协会的支持,数字化人类的册本,实质上就是懂得各人的言语。比方在天朝,假如有一个名词,开端是“历害”,各人确定晓得下一个就是“国”了。
因而,不外CNN和RNN,各人都是须要参数了,也就是“Weights” 和“Bias” 。二者对于这些参数的share的方法也很大差别。

CNN是在空间上同享,RNN在时光上同享。因而,成绩就来了,这些参数是怎样出来的呢?他们的巨细和机能的请求是几多呢?
先来说对于巨细的请求。这里就要从最基础的CNN收集 Alexnet提及。

细心先容每一层的货色:(对于stride 和padding不熟的,请看CS231n,不晓得CS231n的,请打赏,并到此为止)
input:黑色的图片 227X227X3
Conv-1:第一层的卷积有96个kernel。kernel的巨细是11X11,卷积的stride是4,padding是0
MaxPool-1 :第一层卷积的最大值。Pooling的size是3X3,stride是2
Conv-2:256个kernel,kernel的size是5X5,stride是1,padding是2.
MaxPool-2:第二层卷积的最大值,Pooling是3X3, stride是2
Conv-3: 384个kernel。kernel巨细是3X3, stride是1 ,padding是1.
Conv-4:和第三层相似。384 个kernel。3X3,strdie和padding是1.
Conv-5:256个kernel。kernel size 3X3,stride和padding是1.
MaxPool-3:第五层卷积的最大值,Pooling是3X3, stride是2
FC-1:第一个全衔接层,有4096个神经元
FC-2:第二个全衔接,有4096个神经元
FC-3: 第三个全衔接层,有1000个神经元
对于CNN来说,上一层的输出是这一层的输入。因而须要把每一层的输出算明白。从下面看,每一层的收集范例有Input,Conv,Maxpool和FC四类,因而上面的盘算也是按四类开端的。
O=(I-K+2P)/S+1
此中:O是输出的宽度,I是输入的宽度,K是Kernel的宽度,N是Kernel的数目,S是stride, P是Padding。N是kernel的数目。
因而,输出的image的size就是OXOXN
Output的范围的盘算:
Conv 层的盘算:界说以下:
作死用中文说明一下,就是一个227X277的图上,我用11X11的小计划从左到右,从上到小描红一边。这个描红,这个11X11小框子每次跳4格,假如跳到边上没对齐的话,我用多一行的0来补齐。因而227X227X3的第一层卷积的输出就是:(227⑾+2X0)/4+1=55. image size=55X55X96
MaxPool 的盘算:界说以下:
O=(I-ps)/S+1
此中:O是输出的宽度,I是输入的宽度, S是stride,ps是Pool size
因而,对于第一层卷积的Maxpooling就是(55-3)/2+1=27 , image就是27X27X96
FC的盘算:一个全衔接层的输出就是一个向量,这个向量的单位数是它神经元的数目。比方FC-1就是一个4096的向量。
因而,对于一个包括227X227X3的图片,它的过程以下:
一开端是227X227X3,过了第一层卷积,就是55X55X96, 以后的MaxPool就是27X27X96. 第二次卷积以后是27X27X256,以后的MaxPooling就是 13X13X256,第三层卷积是13X13X384,以后的第4和5 卷积酿成:27X27X256,第3个Maxpooling 酿成 6X6X256,以后的FC-1就是4096X1,FC-2稳定,最后就是一个1000X1 的向量了。
更多内容阅读推荐:全自动洗衣机不排水怎么修
页: [1]
查看完整版本: 大数据和AI以及存储芯片的未来