《深入浅出深度学习:原理剖析与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等在内的一系列编程语言的深度 ...
随机推荐
- js判断是否为ie浏览器,精确显示各个ie版本
function IETester(userAgent){ var UA = userAgent || navigator.userAgent; if(/msie/i.test(UA ...
- POJ2482 Stars in Your Window(扫描线+区间最大+区间更新)
Fleeting time does not blur my memory of you. Can it really be 4 years since I first saw you? I stil ...
- saltstack实战笔记
#运维管理工具 ansible #支持ssh,不需要客户端 saltstack #也是只是ssh,不需要客户端的 安装架构是,master /minion 安装salt的依赖模块 python zer ...
- DP + 概率 + 贪心 UVA 1456 Cellular Network
题目传送门 题意:(摘自LRJ<训练指南>) 手机在蜂窝网络中的定位是一个基本问题.假设蜂窝网络已经得知手机处于c1, c2,…,cn这些区域中的一个,最简单的方法是同时在这些区域中寻找手 ...
- sql语句添加一列标示,然后进行分页。
,) , sum(Score) as Score ,Student_NO,Student_Name into #a2_tab from ksy_stu_ScoreInfo GROUP BY Stude ...
- JS格式化工具(转)
<html> <head> <title>JS格式化工具 </title> <meta http-equiv="content-type ...
- JavaScript实现JQuery的功能
- vuetifyjs简介及其使用
何为 vuetify 一个vue ui库,提供vue组件供使用.根据 Google Material Design 指南实现(https://material.io/).Vuetify支持SSR(服务 ...
- 架构师细说 NGINX 的配置及优化
最近感觉很多东西在运用到一定的程度之后,会发现原来是自己了解到的不够.一方面限于实际运用到的不多,一方面可能是因为一开始没有进行全面认识.遂这里搜集整理了一番NGINX. 一.nginx启动和关闭 c ...
- vscode增加xdebug扩展
首先确保php增加了xdebug扩展,方法很多,可参考 https://www.cnblogs.com/wanghaokun/p/9084188.html.可通过phpinfo()查看是否已开启支持. ...