神经网络入门概念和框架理解(YOLOv1v2v3改进分析)

本文介绍了神经网络的基础概念,包括激励函数的作用、常见损失函数如交叉熵和均方误差,以及梯度下降法的应用。重点讨论了TensorFlow、Pytorch和百度飞桨等热门深度学习框架的优缺点。此外,文章详细讲解了YOLO目标检测框架的工作原理,对比了与RCNN的区别,以及MaskRCNN的扩展功能。

神经网络的入门知识

应用需求:

​   可以逼近任意连续函数能力

主要内容:
  1.激励函数

​     对上一层所有输入信息产生输出信息对变换关系

​     常见的激活函数 sigmoid Relu tansh softsign ELU 等

  2.损失函数

​     定义指标表示一个模型是坏的,这个指标成为成本(cost)或者损失(loss)

  3.常见的损失函数

    交叉嫡——用在分类问题上,衡量我们的预测用于描述真相的低效性

  ​  平方损失函数——用在具体数值的预测

  ​  均方误差函数——各个训练点到最优拟合线的距离最小(平方和最小)

典型方法举例——梯度下降法

​ ​  想要一个网络能够拟合任意的连续函数,就需要损失函数越来越小,所以需要约定一个方向使得每次训练完一批次的样本数据得到预测结果和目标结果的差异越来越小,而这个差异越来越小的方向就是我们需要的梯度下降

工作方式

​ ​  第一阶段:神经网络输入样本数据经过前向传递到达输出层得到预测结果

​ ​  第二阶段:使用不同计算方式(不同的损失函数)计算样本预测结果和样本目标结果的差异并以此作为调整权重偏执的依据,然后传至上层网络

热门深度学习框架:

一、TensorFlow(google)
​  优势

​ ​  TensorFlow有很直观的计算图可视化呈现,模型能够快速的部署在各种硬件机器上,从高性能的计算机到移动设备,再到更小的更轻量的智能终端

​ ​  TensorFlow提供全面的服务,无论是Python,C++,JAVA,Go,甚至是JavaScript,Julia,C#,几乎所有开发者都可以从熟悉的语言入手开始深度学习的旅程。

​  劣势

​ ​  相比Pytorch,Caffe等框架,TensorFlow的计算速度可以说是“牛拉车“。而且通过它构建一个深度学习框架需要更复杂的代码,还要忍受重复的多次构建静态图。

二、Pytorch(facebook)
​  优势

​ ​  Pytorch库足够简单,跟NumPy,SciPy等可以无缝连接,而且基于tensor的GPU加速非常给力

​ ​  训练网络迭代的核心-梯度的计算,Autograd架构(借鉴于Chainer),基于Pytorch,我们可以动态地设计网络,而无需笨拙地定义静态网络图,才能去进行计算,想要对网络有任务修改,都要从头开始构建静态图。

​  劣势

​ ​  模型部署较为困难

三、百度飞桨

热门目标检测框架:

一、YOLO
  核心思想

​   把模型的输出划分成网格形状,每个网格中的cell都可以输出物体的类别和边界框,坐标等,可包含8个维度;

​   物体落在那个cell,那个cell就负责预测这个物体;

​   1.训练阶段:如果物体中心落在这个cell,那么就给这个cell打上这个物体的label(包括xywh和类别)。也就是说我们是通过这种方式来设置训练的label的。换言之,我们在训练阶段,就教会cell要预测图像中的哪个物体

​   2.测试阶段:如果你在训练阶段教会了cell去预测中心落在该cell中的物体,那么cell自然也会这么做。

  模型架构
  YOLO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值