深度学习和神经网络介绍
深度学习和神经网络介绍
文章目录
- 深度学习和神经网络介绍
- 深度学习的介绍
- 目标
- 1. 深度学习的概念
- 2. 机器学习和深度学习的区别
- 2.1 区别1 :特征提取
- 2.2 区别2:数据量
- 3. 深度学习的应用场景
- 4. 常见的深度学习框架
- 神经网络的介绍
- 目标
- 1. 人工神经网络的概念
- 2. 神经元的概念
- 3. 单层神经网络
- 4. 感知机
- 5. 多层神经网络
- 6. 激活函数
- 6. 神经网络示例
深度学习的介绍
目标
- 知道什么是深度学习
- 知道深度学习和机器学习的区别
- 能够说出深度学习的主要应用场景
- 知道深度学习的常见框架
1. 深度学习的概念
深度学习(英语:deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。
2. 机器学习和深度学习的区别
2.1 区别1 :特征提取
从特征提取的角度出发:
机器学习需要有人工的特征提取的过程
深度学习没有复杂的人工特征提取的过程,特征提取的过程可以通过深度神经网络自动完成
2.2 区别2:数据量
从数据量的角度出发:
- 深度学习需要大量的训练数据集,会有更高的效果
- 深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数
3. 深度学习的应用场景
图像识别
- 物体识别
- 场景识别
- 人脸检测跟踪
- 人脸身份认证
自然语言处理技术
- 机器翻译
- 文本识别
- 聊天对话
语音技术
- 语音识别
4. 常见的深度学习框架
目前企业中常见的深度学习框架有很多,TensorFlow, Caffe2, Keras, Theano, PyTorch, Chainer, DyNet, MXNet, and CNTK等等
其中tensorflow和Kears是google出品的,使用者很多,但是其语法晦涩而且和python的语法不尽相同,对于入门玩家而言上手难度较高。
所以在之后的课程中我们会使用facebook出的PyTorch,PyTorch的使用和python的语法相同,整个操作类似Numpy的操作,并且 PyTorch使用的是动态计算,会让代码的调试变的更加简单
神经网络的介绍
目标
- 知道神经网络的概念
- 知道什么是神经元
- 知道什么是单层神经网络
- 知道什么是感知机
- 知道什么是多层神经网络
- 知道激活函数是什么,有什么作用
- 理解神经网络的思想
1. 人工神经网络的概念
人工神经网络(英语:Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似。
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉和语音识别。这些问题都是很难被传统基于规则的编程所解决的。
2. 神经元的概念
在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。
1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P 神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。
一个简单的神经元如下图所示,
其中:
- a1,a2…ana_1,a_2\dots a_na1,a2…an 为各个输入的分量
- w1,w2⋯wnw_1,w_2 \cdots w_nw1,w2⋯wn 为各个输入分量对应的权重参数
- bbb 为偏置
- fff 为激活函数,常见的激活函数有tanh,sigmoid,relu
- ttt 为神经元的输出
使用数学公式表示就是:
t=f(WTA+b)t = f(W^TA+b) t=f(WTA+b)
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。
3. 单层神经网络
是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。
示意图如下:
4. 感知机
感知机由两层神经网络组成,输入层接收外界输入信号后传递给输出层(输出+1正例,-1反例),输出层是 M-P 神经元
其中从w0,w1⋯wnw_0,w_1\cdots w_nw0,w1⋯wn都表示权重
感知机的作用:
把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时正类或者是反类,对应到2维空间就是一条直线把一个平面分为两个部分。
5. 多层神经网络
多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了层的概念,常见的多层神经网络有如下结构:
- 输入层(Input layer),众多神经元(Neuron)接受大量输入消息。输入的消息称为输入向量。
- 输出层(Output layer),消息在神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。
- 隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性(robustness)更显著。
示意图如下:
概念:全连接层
全连接层:当前一层和前一层每个神经元相互链接,我们称当前这一层为全连接层。
思考:假设第N-1层有m个神经元,第N层有n个神经元,当第N层是全连接层的时候,则N-1和N层之间有1,这些参数可以如何表示?
从上图可以看出,所谓的全连接层就是在前一层的输出的基础上进行一次Y=Wx+bY=Wx+bY=Wx+b的变化(不考虑激活函数的情况下就是一次线性变化,所谓线性变化就是平移(+b)和缩放的组合(*w))
6. 激活函数
在前面的神经元的介绍过程中我们提到了激活函数,那么他到底是干什么的呢?
假设我们有这样一组数据,三角形和四边形,需要把他们分为两类
通过不带激活函数的感知机模型我们可以划出一条线, 把平面分割开
假设我们确定了参数w和b之后,那么带入需要预测的数据,如果y>0,我们认为这个点在直线的右边,也就是正类(三角形),否则是在左边(四边形)
但是可以看出,三角形和四边形是没有办法通过直线分开的,那么这个时候该怎么办?
可以考虑使用多层神经网络来进行尝试,比如在前面的感知机模型中再增加一层
对上图中的等式进行合并,我们可以得到:
y=(w1−11w2−1+⋯)x1+(w1−21w2−1+⋯)x2+(w2−1+⋯)b1−1y = (w_{1-11}w_{2-1}+\cdots)x_1+(w_{1-21}w_{2-1}+\cdots)x_2 + (w_{2-1}+\cdots)b_{1-1} y=(w1−11w2−1+⋯)x1+(w1−21w2−1+⋯)x2+(w2−1+⋯)b1−1
上式括号中的都为w参数,和公式y=w1x1+w2x2+by = w_1x_1 + w_2x_2 +by=w1x1+w2x2+b完全相同,依然只能够绘制出直线
所以可以发现,即使是多层神经网络,相比于前面的感知机,没有任何的改进。
但是如果此时,我们在前面感知机的基础上加上非线性的激活函数之后,输出的结果就不在是一条直线
如上图,右边是sigmoid函数,对感知机的结果,通过sigmoid函数进行处理
如果给定合适的参数w和b,就可以得到合适的曲线,能够完成对最开始问题的非线性分割
所以激活函数很重要的一个作用就是增加模型的非线性分割能力
常见的激活函数有:
看图可知:
- sigmoid 只会输出正数,以及靠近0的输出变化率最大
- tanh和sigmoid不同的是,tanh输出可以是负数
- Relu是输入只能大于0,如果你输入含有负数,Relu就不适合,如果你的输入是图片格式,Relu就挺常用的,因为图片的像素值作为输入时取值为[0,255]。
激活函数的作用除了前面说的增加模型的非线性分割能力外,还有
- 提高模型鲁棒性
- 缓解梯度消失问题
- 加速模型收敛等
这些好处,大家后续会慢慢体会到,这里先知道就行
6. 神经网络示例
一个男孩想要找一个女朋友,于是实现了一个女友判定机,随着年龄的增长,他的判定机也一直在变化
14岁的时候:
无数次碰壁之后,男孩意识到追到女孩的可能性和颜值一样重要,于是修改了判定机:
在15岁的时候终于找到呢女朋友,但是一顿时间后他发现有各种难以忍受的习惯,最终决定分手。一段空窗期中,他发现找女朋友很复杂,需要更多的条件才能够帮助他找到女朋友,于是在25岁的时候,他再次修改了判定机:
在更新了女友判定机之后,问题又来了,很多指标不能够很好的量化,如何颜值,什么样的叫做颜值高,什么样的叫做性格好等等,为了解决这个问题,他又更新了判定机,最终得到超级女友判定机
上述的超级女友判定机其实就是神经网络,它能够接受基础的输入,通过隐藏层的线性的和非线性的变化最终的到输出
通过上面例子,希望大家能够理解深度学习的思想:
输出的最原始、最基本的数据,通过模型来进行特征工程,进行更加高级特征的学习,然后通过传入的数据来确定合适的参数,让模型去更好的拟合数据。
这个过程可以理解为盲人摸象,多个人一起摸,把摸到的结果乘上合适的权重,进行合适的变化,让他和目标值趋近一致。整个过程只需要输入基础的数据,程序自动寻找合适的参数。
深度学习和神经网络介绍相关推荐
- 基础 | 深度学习与神经网络-介绍
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|深度学习自然语言处理 导读 深度学习 深度学习改变了搜索. ...
- 换脸原理,使用GAN网络再造ZAO应用:深度学习和神经网络介绍
人工智能有两大分支,一支是机器学习,一支叫深度学习,目前后者占据人工智能技术的主流,当前流行的ZAO换脸应用,自动驾驶,人脸识别使用的都是后者.深度学习主要用于模仿人的认知能力,它的特长在于处理非机构 ...
- 深度学习和神经网络的介绍(一)
1.深度学习和神经网络 1.1 深度学习的介绍 目标: 知道什么是深度学习 知道深度学习和机器学习的区别 能够说出深度学习的主要应用场景 知道深度学习的常见框架 1.1.1 深度学习的概念 深度学习是 ...
- 15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)【LP自然语言处理涉及到深度学习和神经网络的介绍、 Pytorch、 RNN自然语言处理】 笔记
15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)[LP自然语言处理涉及到深度学习和神经网络的介绍. Pytorch. RNN自然语言处理] 笔记 教程与代码地址 P1 机器学习与 ...
- 华南理工深度学习与神经网络期末考试_深度学习基础:单层神经网络之线性回归...
3.1 线性回归 线性回归输出是一个连续值,因此适用于回归问题.回归问题在实际中很常见,如预测房屋价格.气温.销售额等连续值的问题.与回归问题不同,分类问题中模型的最终输出是一个离散值.我们所说的图像 ...
- 百度嵌入式深度学习框架Paddle-Mobile介绍
本篇内容介绍嵌入式深度学习的应用场景.Paddle-Mobile的特性优势以及使用开发方法,预计阅读时间4分钟 嵌入式深度学习有哪些应用 深度学习技术已经在互联网的诸多方向产生影响,关于深度学习和神经 ...
- 深度学习(神经网络) —— BP神经网络原理推导及python实现
深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...
- python神经网络教程16_Python深度学习之神经网络视频
Python深度学习之神经网络视频 课程简介 该阶段是深度学习的入门课程,主要介绍经典的深度学习框架TensorFlow的使用,IO操作,以及神经网络基础.卷积神经网络的相关知识,并用卷积神经网络原理 ...
- 零基础入门深度学习(3) - 神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 深度学习与神经网络概述
本文将简单介绍:人工智能(Artificial Intelligence).机器学习(Machine Learning).深度学习(Deep Learning),并介绍神经网络的发展,以及三个在线演示 ...
最新文章
- 神经网络迭代次数的线性累加现象
- 利用BIND 9基于电信网通智能DNS 搭建
- linux内核响应,读书笔记——Linux内核源代码情景分析——3.4 中断的响应和服务...
- php 获取URL 各部分参数
- 【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
- ft232h引脚_usb转串口芯片 ft232的奇怪现象
- Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号
- 国内外独立IP行情及网站用独立IP优势面面观
- 信安教程第二版-第12章网络安全审计技术原理与应用
- 参数化查询为什么能够防止SQL注入
- 使用java反射写一个通用的jdbc查询
- 程序员面试宝典(第三版).pdf
- 【逗老师带你学IT】PRTG、Zabbix通过API监控深信服VDC和VMP云桌面运行状态
- Python 练习题
- 有道单词本手机和电脑同步问题
- 用Python构建一个PE文件
- 机器视觉入门:决策树的剪枝理论
- Saltstack入门到精通教程(五):Jinja详解
- 互联网日报 | 6月3日 星期四 | 华为正式发布HarmonyOS 2;联想会员数突破1.4亿;今年全国高考报名人数1078万...
- 读李尚龙《你只是看起来很努力》摘录的句子
热门文章
- 创建室内导航地图的9个步骤
- c语言编程如何进行n次方运算,c语言n次方怎么输入?_后端开发
- 三星pay显示连接服务器失败,Samsung Pay刚刚上线就遇绑卡失败,三星闹哪样?
- 金蝶商贸版密码服务器没显示,金蝶KIS商贸版无损解密用户密码
- 母亲节祝福html源码,有创意的母亲节祝福语大全
- 二人行必有我师,探秘复旦大学EMBA2019级同侪私董会
- pat2020春季考试7-2 The Judger (25 分) 7-4 Replacement Selection (30 分)
- 《虚拟仿真实验教学解决方案(BJBR)》(Yanlz+Unity+SteamVR+VR+AR+MR+HR+??BR??+??CR??+??DR??+??ER??+虚拟仿真+人机交互+立钻哥哥+==)
- powershell为所有用户卸载磁贴应用
- 安装了linux后win10键盘失灵,win10系统安装后笔记本键盘失灵不能用的解决方法