深度学习是什么?几种神经卷积网络

opencv3与tensorflow的关系,各有什么有优缺点?

OpenCV是计算机视觉库,Tensorflow是深度学习框架。OpenCV包含了大量的图像处理和计算机视觉的算法,但是在机器学习方面明显不足,ML模块只有SVM,MLP,kNN等有限的几种算法。dnn模块也是调用别的框架。Tensorflow是专为深度学习而生,可以方便的实现各种深度学习算法。二者不属于同一领域,做视觉用OpenCV,做深度学习用Tensorflow。或者二者结合做图像识别等等。


人工智能:让机器具备人的思维和意识
人工智能三学派:
行为主义:基于控制论,构建感知-动作控制系统(如平衡、行走、避障等)
符号主义:基于算数逻辑表达式,求解问题时先把问题描述为表达式,在再求解表达式。
链接主义:仿生学,模仿神经元连接关系。(模仿神经元链接,如感性思维)

  • 用计算机仿出神经元链接关系,让计算机具有感性思维
    准备数据:采集大量(特征,标签)构成数据集
    搭建网络:搭建神经结构网络
    优化参数:训练网络获取最佳参数(反传)
    应用网络:将网络保存为模型,输入新数据,输出分类或预测结果(前传)
    通过前项传播输出概率值,概率值最大的一个就是分类和预测的结果

基于计算机视觉的人机交互一般可分为四个部分:

  1. 有没有人;

  2. 人在哪;

  3. 这个人是谁;

  4. 这个人在做什么;

解决的问题

目标检测 :图片中找到目标的位置,一般输出目标的位置信息

语义分割 :图片中找到目标的位置,一般输出目标的具体形状掩码

人脸识别 :识别出人脸的具体类别(身份、性别年龄等属性)

人体骨骼关键点检测 : 定位人在图像中的位置、人体各个关键点的位置

动作识别 : 检测出图像中的人在哪里,在做什么

行人重识别 : 以人的身体属性识别出人的身份,不需要高的分辨率

步态识别 :以人的身体轮廓信息识别出人的身份,不需要高的分辨率


Tensorflow
张量(Tensor):多维数组(列表) 阶:张量的维数

数据类型

  • tf.int , tf.float tf.int 32, tf.float 32, tf.float 64
  • tf.bool tf.constant([True,False])
  • tf.string tf.constant(“Hellow,world!”)

创建Tensor

  • tf.zeros(维度) #创建全为0的张量
  • tf.ones(维度) #创建全为1的张量
  • tf.fill(维度,指定值) #创建全为指定值的张量

维度
一维 直接写个数
二维 用[行,列]
多维 用[n,m,j,k]

  • 生成正态分布随机数,默认均值为0,标准差为1
 tf.random.normal(维度,mean=均值,stddev=标准差)
  • 生成截断式正态分布的随机数
 tf.random.truncated_normal(维度,mean=均值,stddev=标准差)
  • 生成均匀分布随机数 [minval,maxval]
tf.random.uniform{维度,minval=最小值,maxval=最大值)
  • 强制tensor转换为该数据类型
tf.cast(张量名,dtype=数据类型)
  • 计算张量维度上元素的最小值
tf.reduce_min(张量名)
  • 计算张量维度上元素的最大值
tf.reduce_max (张量名)
  • 计算张量沿着制定维度的平均值
tf.reduce_mean(张量名,axis=操作值)
  • 计算张量沿着指定维度的和
tf.reduce_sum(张量名,axis=操作值)

axis =0 沿纵轴方向 =1沿横轴方向

  • tf.Variable(初始值)
    将变量标记为“可训练”,被标记的变量会在反向传播中记录梯度信息。神经网络训练中,常用该函数标记待训练参数。
  • 对应元素四则运算:tf.add, tf.subtract, tf.multipy, tf.divide
  • 平方、次方与开方:tf.square, tf.pow, tf.sqrt
  • 矩阵乘: tf.matmaul
  • 切分传入张量的第一维度,生成输入特征/标签对,构建数据集data=tf.data.Dataset.from_tensor_slices((输入特征,标签))
  • with结构记录算过程,gradient求出张量的梯度
with tf.GradientTape() as tape:
grad=tape.gradient(函数,对谁求导)
  • 将代转换数据转换为one-hot形式的数据输出
tf.one-hot(待转换数据,depth=几分类)
  • 先用tf.Variable()定义变量为可训练
w.assign_sub(w要自减内容)
  1. 返回张量沿指定维度最大值的索引
    tf.argmax(张量名,axis=操作轴)

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习的代表算法之一 。

梯度消失:loss回传时由于网络层数过多而逐渐变小,无法更新前项网络。

常用符号:
在这里插入图片描述

池化

在这里插入图片描述
在这里插入图片描述
神经卷积网络
在这里插入图片描述
在这里插入图片描述
优势:AlexNet能够处理非常相似的基本构造模块,这些单元往往包含大量的隐藏单元和数据;
使用了Relu激活函数
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值