Toybrick

深度学习相关概念笔记

sfs

新手上路

积分
35
发表于 2019-8-9 14:53:07    查看: 7709|回复: 1 | [复制链接]    打印 | 显示全部楼层
**BP神经网络**是一种多层的前馈神经网络。
**特点**:信号是前向传播的,而误差是反向传播的。
**反向传播**:学习的目的是获得对输入准确精炼的描述。影响输出结果的是每层的权重和偏置,因此为了达到目标,需要将输出误差层层传递回去,看每个参数对误差的影响,并因此调整参数。

BP神经网络的过程主要分为**两个阶段**:
第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;
第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
   权值和阈值不断调整的过程,就是网络的学习与训练过程,经过信号正向传播与误差反向传播,权值和阈值的调整反复进行,一直进行到预先设定的学习训练次数,或输出误差减小到允许的程度。


**卷积神经网络**(Convolutional Neural Network)是一个专门针对图像识别问题设计的神经网络
CNN卷积神经网络**结构**:
1.**输入层**:对模型数据进行预处理.数据来源的原始数据常常包含着噪音、不完整、甚至是不一致的数据。为了得到高质量的数据挖据效果,在进行数据挖掘之前,必须对原始数据做一定的处理,这种从原始数据到挖掘数据之间,对数据进行的操作叫做数据预处理.(常见处理方法:去均值,归一化....)

2.**卷积层**:局部感知特性,对于图片中的每一个特征首先局部感知,然后更高层次对局部进行综合操作,从而得到全局信息。需要权值共享呢,同一层下的神经元的连接参数只与特征提取的有关,而与具体的位置无关,因此可以保证同一层中所有位置的连接是权值共享的,例如:第一层隐层是一般用边缘检测,第二层是对第一层学到的边缘曲线组合得到一些特征,比如:角度、线形等;第三层会学到更加复杂的特征,比如:眼睛、眉毛等。对于同一层来说,他们提取特征的方式是一样的,第三层的神经元都是用来提取“眼睛”的特征,因此,需要计算的参数是一样的。

3.**激励层**:主要对卷积层的输出进行一个非线性映射,激励层建议:首先ReLU函数,因为迭代速度快,但是有可能效果不加。如果ReLU失效的情况下,考虑使用Leaky ReLU或者Maxout函数,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果。

4.**池化层**:进行了个一个降维的操作.对一个卷积层抽取的特征值取最大的值作为这个层的保留值, 其他值全部抛弃,这个值代表了特征值种最显著的特征。他可以减少模型的参数数量,减少过拟合的问题。一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征

5.**全连接FC层**:连接所有的特征,将输出值(一般都是概率值)送给分类器。


结合**rk_3399_demo**学习!!!

**自动检测算法SSD**:输入一幅图片,让图片经过卷积神经网络(CNN)提取特征,并生成特征图feature map
抽取其中六层conv(卷积层)的feature map,然后再 feature map 的每个点上生成默认框default box(各层的个数不同,但每个点都有,每个框都有一个分数)将生成的所有 default box 都集合起来,全部丢到 **NMS非极大抑制算法**(选定一个NMS阈值**IOU**(是一种测量在特定数据集中检测相应物体准确度的一个标准),若重叠率大于阈值直接删除.剩下选取最高分数的default box)中,输出筛选后的 default box(id,title,confidence概率,location坐标),并输出.
相关网址:https://blog.csdn.net/qq_27825451/article/details/89137697

代码中的**SSD阈值**指的是SSD在训练过程中,每个default boxe默认框和ground truth boxes真实框比较,经过Jaccard系数计算出相似度,大于阈值列为候选名单.预先框prior boxes(其中Prior boxes是代表default box(只是不同叫法,实际上是一样的))
在 SSD 算法中,NMS 至关重要。因为多个 feature map 最后会产生大量的边界框bounding boxes,即最终检测结果。然而在这些bounding boxes中存在着大量的错误的、重叠的、不准确的样本,这不仅造成了巨大的计算量,如果处理不好会影响算法的性能

**NMS算法**:非极大值抑制的方法是:先假设有6个矩形框,根据分类器的类别分类概率做排序,假设从小到大属于车辆的概率 分别为A、B、C、D、E、F。
(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;
(2)假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。
(3)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。


回复

使用道具 举报

elooon

注册会员

积分
139
发表于 2019-8-9 17:40:47 | 显示全部楼层
学习了,顶一个!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表