设置首页收藏本站
开启左侧

Pytorch入门到精通(1):深度学习介绍

[复制链接]
绝地武士 发表于 2023-7-5 22:05:32 | 显示全部楼层 |阅读模式
1.什么是深度学习
深度学习(deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。

2.机器学习与深度学习的区别
2.1 区别1:特征提取
1.jpeg
特征提取的角度出发:
机器学习需要人工的特征提取过程;
深度学习没有复杂的人工特征提取过程,特征提取的过程是通过深度神经网络自动完成的;

2.2 区别2:数据量
2.jpeg
从数据量的角度出发:
机器学习中需要的数据量相对较少(参数较少,提前已经确定);
深度学习需要大量的训练数据集,会有更高的效果;
由于深度学习中有很多的不确定参数,所以训练深度神经网络需要大量的算力;

3.深度学习的应用场景
图像识别: 物体识别、场景识别、人脸检测跟踪、人脸身份认证;
自然语言处理技术:机器翻译、文本识别、聊天对话;
语音技术:语音识别

4.常见深度学习框架
企业中常见深度学习框架,如TensorFlow、Caffe2、Keras、Theano、PyTorch、Yolo、Paddle、Chainer、DyNet、MXNet、CNTK等等。
其中谷歌出品TensorFlow和Kears,使用者多但是语法晦涩难懂,使用较复杂。
FackBook出品的PyTorch由于其语法简单,广泛的Python开发环境与Numpy语法使用,同时动态计算,调试更简单,大大降低了学习门槛和语法规则;
百度出品的Paddle双浆已经成为近几年深度领域最火的开源深度学习库,其Paddle OCR广泛用于中英文、符号等字符识别领域,准确性极高;

5.什么是神经网络
人工神经网络(Artificial Neural Network, ANN),简称神经网络(Neural Network),或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构与功能的数学模型,用于对函数进行估计或近似。
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉与语音识别。这些问题都是很难被传统基于规则的编程所解决的。

6.神经元的概念
在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值",那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。
1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。
一个简单的神经元如下图所示:
微信截图_20230705222942.jpg
其中
1.a1,a2...an为各个输入的分量
2.w1,w··w为各个输入分量对应的权重参数
3.b为偏置
4.f为激活函数,常见的激活函数有tanh,sigmoid,relu
5.t为神经元的输出
使用数学公式表示就是
微信截图_20230705223424.jpg
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果


奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 绝地武士 发表于 2023-7-5 22:39:54 | 显示全部楼层
7.单层神经网络
是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。
由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。
示意图如下:
微信截图_20230705223935.jpg

8.感知机
感知机由两层神经网络组成,输入层按收外界输入信号后传递给输出层(输出+1正例,-1反例),输出层是 M-P 神经元
微信截图_20230705224135.jpg
其中从w0,w1···wn都表示权重

感知机的作用:
把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时正类或者是反类,对应到2维空间就是一条直线把一个平面分为两个部分

9.多层神经网络
多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了的概念,常见的多层神经网络有如下结构:
输入层(Input layer),众多神经元 (Neuron)接受大量非线形输入消息,输入的消息称为输入向量。
输出层(Output layer) ,消息在神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。
隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性 (robustness) 更显著。
示意图如下:
微信截图_20230705225611.jpg

概念:全连接层
全连接层:当前一层和前一层每个神经元相互链接,我们称当前这一层为全连接层。
思考:假设第N-1层有m个神经元,第N层有n个神经元,当第N层是全连接层的时候,则N-1和N层之间有多少个参数w,这些参数可以如何表示?
3.jpg
从上图可以看出,所谓的全连接层就是在前一层的输出的基础上进行一次Y = Wx +b的变化(不考虑激活函数的情况下就是一次线性变化,所谓线性变化就是平移(+b)和缩放的组合(*w))。

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
老老常 发表于 2023-7-6 08:24:36 | 显示全部楼层
MARK一下,学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
雾里看花 发表于 2023-7-6 08:42:23 | 显示全部楼层
感谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
duibuqininshur 发表于 2023-7-6 16:34:25 | 显示全部楼层
感谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
cxbshu 发表于 2023-8-2 14:21:12 | 显示全部楼层
谢谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
tiansk 发表于 2023-8-2 16:54:14 | 显示全部楼层
讲的很详细,正在自学深度学习,感谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Echo_Dong 发表于 2024-1-22 16:53:35 | 显示全部楼层
讲的很详细,正在自学深度学习,感谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Yanlf 发表于 2024-1-22 20:44:14 | 显示全部楼层
讲的很详细,正在自学深度学习,感谢分享
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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