《深入浅出深度学习:原理剖析与python实践》第八章前馈神经网络(笔记)
8.1 生物神经元(BN)结构
1、人脑中有100亿-1000亿个神经元,每个神经元大约会和其他1万个神经元相连
2、细胞体:神经元的主体,细胞体=细胞核+细胞质+细胞膜,存在膜电位
3、树突:从细胞体向外延伸出许多突起的神经纤维。输入端
4、轴突:细胞体伸出的最长的一条突起,也叫神经纤维。长而细。末端细分支为神经末梢。输出端
5、突触:一个神经元轴突的神经末梢和另一个神经元的细胞体或树突进行通信连接。
6、神经传导流程:多个树突接受输入信息,输入信息累加大于某一个特定阈值,信息通过轴突传播出去,神经元被激活。否则,若输入信息小于阈值,神经元处于抑制状态。
8.2 人工神经元模型(AN/M-P模型)
1、AN处理数据流程
预激活阶段:接受来自其他m个神经元传递过来的输入信号,这些输入信号通过与相应权重进行加权求和传递给下一阶段
h = b + ( i∑wi × xi ) i=1...m
第二阶段:将预激活的加权结果传递给激活函数,经过激活函数处理,预激活的数据被压缩到一个范围区间内,数值的大小决定神经元处于活跃状态还是抑制状态,输出结果传递给下一层的神经元
a = ƒ ( h )
生物神经元 | 人工神经元 |
细胞核 | 神经元 |
树突 | 输入 |
轴突 | 输出 |
突触 | 权重 |
8.3 单层感知机
1、单层感知机是1957年由计算机科学家Rosenblatt提出的神经网络模型,由输入层和输出层构成
2、Perceptron由m个输入神经元和n个输出神经元构成,是一个全连接的二分图结构。
(1)单层感知机在输入层接收数据,把输入数据与相应权重参数累加
hk = bk + ( i∑wik × xi ) k = 1...n. i = 1...m
(2)将累加结果输入到激活函数中,单层感知机的输出层可以采用Logistic/softmax函数作为最后的结果输出
yk = softmax(hk) k = 1...n
3、感知机的工作原理:本质是在高维空间中,构造出合理的边界超平面(b + ∑wixi),把不同类别的数据集分离。对于线性可分或近似线性可分的数据集有很好的效果。对于线性不可分数据集,效果不理想。
8.4 多层感知机
1、理论依据:1991年Kurt Hornik提出的全局逼近定理----对于含有一个隐藏层的前馈神经网络,如果隐藏层可以由任意多的神经元构成,那么神经网络能够逼近实数范围内的任意连续函数。
简而言之,对于分类问题,隐藏层的作用就是把线性不可分的数据,通过线性变换(预激活阶段)和非线性的激活(激活阶段)的操作,使得数据在输出层变成线性可分
2、神经网络中包含的隐藏层越深,隐藏层包含的神经元越多,它能提取的特征就越丰富,就具备更强大的学习能力,但是实际上,随着网络逐渐加深,神经网络的性能在达到一个极值后(一般两到三层),就停止提升。
8.5 激活函数
1、激活态:处在活跃状态的神经元
2、抑制态:处在非活跃状态的神经元
3、隐藏层神经元中引入了激活函数使MLP模型能力提升。如果多层神经网络只添加隐藏层,而没有添加激活函数,或者激活函数是线性函数,那么MLP等价于单层感知机。
4、激活函数在神经网络中的作用
(1)非线性的激活函数使得模型能够处理更加复杂的非线性数据集问题,提高了模型的学习能力
(2)通过激活函数的处理,神经元被划分为激活态和抑制态,因此,在训练的过程中,能够把重点的神经元置为激活态,把相对无关的神经元置为抑制态,自动特征提取。
5、激活函数性质:非线性、可微性、单调性
6、常用激活函数
(1)阶跃函数:不连续、不光滑、不可导
(2)sigmoid函数和tanh函数:有缺陷
(3)近似生物神经元的激活函数:例ReLU和softplus
《深入浅出深度学习:原理剖析与python实践》第八章前馈神经网络(笔记)的更多相关文章
- 推荐《深入浅出深度学习原理剖析与python实践》PDF+代码
<深入浅出深度学习原理剖析与Python实践>介绍了深度学习相关的原理与应用,全书共分为三大部分,第一部分主要回顾了深度学习的发展历史,以及Theano的使用:第二部分详细讲解了与深度学习 ...
- 深入浅出深度学习:原理剖析与python实践_黄安埠(著) pdf
深入浅出深度学习:原理剖析与python实践 目录: 第1 部分 概要 1 1 绪论 2 1.1 人工智能.机器学习与深度学习的关系 3 1.1.1 人工智能——机器推理 4 1.1.2 机器学习—— ...
- 参考《深度学习原理与应用实践》中文PDF
读国内关于深度学习的书籍,可以看看<深度学习原理与应用实践>,对深度学习原理的介绍比较简略(第3.4章共18页).只介绍了"神经网络"和"卷积神经网络&quo ...
- 学习《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码
入门神经网络深度学习,推荐学习<深度学习入门:基于Python的理论与实现>,这本书不来虚的,一上来就是手把手教你一步步搭建出一个神经网络,还能把每一步的出处讲明白.理解神经网络,很容易就 ...
- 给深度学习入门者的Python快速教程
给深度学习入门者的Python快速教程 基础篇 numpy和Matplotlib篇 本篇部分代码的下载地址: https://github.com/frombeijingwithlove/dlcv_f ...
- 深度学习入门者的Python快速教程 - 基础篇
5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类
30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...
随机推荐
- poj 1637 Sightseeing tour【最大流+欧拉路】
参考:https://www.cnblogs.com/kuangbin/p/3537525.html 这篇讲的挺好的 首先分清欧拉路和欧拉环: 欧拉路:图中经过每条边一次且仅一次的路径,要求只有两个点 ...
- (3)css文本样式
本篇学习资料主要讲解: 如何用css 的样式定义方法来介绍文字的使用. 第(1)节:用css设置文本样式. 一.弄懂文本文字的制作.利用css的样式定义版面 ...
- Akka源码分析-CircuitBreaker(熔断器)
熔断器,在很多技术栈中都会出现的一种技术.它是在分布式系统中提供一个稳定的阻止嵌套失败的机制. 该怎么理解呢?简单来说,在分布式环境中,如果某个计算节点出现问题,很容易出现失败的逆向传到或整个系统的雪 ...
- Luogu P1083 借教室【二分答案/差分】By cellur925
题目描述 Description 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海 ...
- icons使用
1.将选中图标加入项目 2.unicode方式查看连接在线连接 3.复制代码到样式表 4.引用样式,并设置I标签,颜色和大小可以通过设置i标签color和font-size进行调整 <i cla ...
- magento 自建插件通道服务
首先建立如下的目录结构 在channel.xml中如此写上 <channel> <name>local</name> <uri>http://local ...
- "言官误国"
"言官误国" 之前读<明朝那些事儿>的时候,了解到了一个全新的概念,确切的说与之前的印象完全不符合的概念:言官.之前我印象中的言官都是魏征那样的人,为国为民.冒死直谏等 ...
- java封装的优点
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机 ...
- @ComponentScan、@EnableFeignClients和@MapperScan注解笔记
@ComponentScan:此注解是用来管理容器中的bean,即是管理项目中类的依赖关系, 注意此注解并不创建类的实例: 默认情况下此注解扫描本工程下的所有包, ...
- QT入门学习
第一个QT程序 #include<QApplication> #include<QDialog> #include<QLabel> #include<QTex ...