神经网络

神经网络中把声音当做图谱处理可以完成语音识别   

激活函数是连接感知机和神经网络的桥梁。激活函数h(x)最终决定 了要发射给下一个神经元的内容。

 

 

ReLU函数是较为流行的一个激活函数。

 

 

 

 过一系列乘累加和非线性激活函数,我们就可以实现一个神经元,如图所示:

 

 

 

就是f(W*X+b) 即某一层的输出即为该层输入信号和权重矩阵做卷积再加上偏置

卷积层和池化层用来提取图片特征 ,全连接层用于将高维特征图映射成一维向量

输出层(全连接层FC)相当于多分类,用softmax函数映射,对输出进行归一化,概率越大,可能越大。

 

 参数分部:卷积层,全连接层有参数;ReLu层,池化层没有参数。

 超参数?有的层有额外的超参数,有的 没有(卷积层、全连接层和池 化层有,ReLU层没有)。

 

看完第三章ppt,需要做的

熟悉CNN,能够根据输入和卷积核尺寸及参数推导输出特征尺寸, 并统计运算数量和存储大小;

神经网络的梯度下降,(这里的梯度是指损失函数关于权重参数的梯度)

参数更新,将权重参数沿梯度方向进行微小更新,w=w-α*梯度下降最大方向

ppt2 优化神经网络方法:反向传播没看懂

 

 

 

卷积的过程:通过卷积核(相当于一个filter),卷积的过程中会使得图像缩小,且可能使得边缘信息丢失,所以卷积前先padding空白补零,既解决了图像缩小的问题,又解决了边缘信息计算过少导致信息损失的问题。

维度问题:n*n为图像维度,f*f为卷积核维度,卷积后得到的维度为(n-f+1)*(n-f+1)

padding为p一圈增加p个0,步长为s,f为卷积核维度一般取奇数。

 

矩阵卷积过程,先将卷积核翻转180度,再与对应位置数字相乘再相加得到最终结果。

 

 

CNN(Convolution Neural Network)卷积神经网络:LeNet/VGG/AlexNet卷积,让加速成为一种可能

优点:①它极大地节省了神经网络的硬件开销(局部感知+权值共享)  ② 使神经元成为单位作加速器成为了可能 

1.CNN中的卷积核,固定的卷积核比乘累加可以实现更高阶,高效的操作。

2,pooling 每个卷积层中有pooling,层与层之间传输的无用的信息倒掉,避免了大规模数据传输与存储。

3.LeNet发展到后期变为ALexNet 激活函数变为ReLu

 

摆在类脑芯面前的路有三条:

(1) 采用冯诺依曼经典架构,把神经元计算写在指令集里,反正是超人,技多不压身;

(2) 采用 RISC+神经元/神经网络加速器,给「总管」再开个府呗;(本次比赛需要做的)

(3) 放弃冯诺依曼架构,完全分布式硬件,像「数据流「一样的风骚走位。

 

神经网络有三个重要因素:1)权重:表示神经元与神经元的连接强度  2)偏置:相当于一个常数 3)激活函数:非线性映射,可将神经元的输出幅度映射到一定范围内。

 

神经网络硬件加速的做法有两种:第一种是采用模型压缩的方式来减少神经网络模型中不必要的参数,去除这些参数并不会影响网络的精度。由于参数减少,网络的计算得以简化并且计算速度得到大幅度提高。当前模型压缩的方式主要有浅层压缩和深层压缩。浅层压缩通过减少参数和模型层次来达到压缩神经网络模型的目的,但不会改变网络的结构,常用的方法包括滤波器级别的剪枝和知识蒸馏。深层压缩会改变卷积核或者网络层级结构,当前常用的方法包括量化、轻量级网络设计和结构搜索方法。

 第二种是用 SoC+加速器的方法来加速系统的运算。将神经网络中的卷积层放在 FPGA 中处理,将神经网络的池化层、激活函数、系统的量化模块、特征图分块模块等放在 RISCV 架构的处理器中进行处理,以此来加速整个 SoC。

 

 

posted @ 2022-04-16 19:58  十点三十睡觉  阅读(109)  评论(0编辑  收藏  举报