本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》,笔者不是自动驾驶领域的专家,只是一个在探索自动驾驶路上的小白,此系列丛书尚未阅读完,也是边阅读边总结边思考,欢迎各位小伙伴,各位大牛们在评论区给出建议,帮笔者这个小白挑出错误,谢谢!
此专栏是关于《自动驾驶汽车环境感知》书籍的笔记



2.深度前馈网络

2.1 神经元

  1. 人工神经元(artificial neuron)简称神经元(neuron),是构成神经网络的基本单元,主要是模拟生物神经元的结构和特性,接收一组输入信号并产出输出;

  2. 神经元模型:

    f(∑iωixi+b)f(\sum_i\omega_ix_i+b)f(i∑​ωi​xi​+b)
    其中:fff为激活函数;为了增强网络的表达能力及学习能力,一般使用连续非线性激活函数(activation function);

    1. sigmoid激活函数
      sigmoid激活函数的两种形式:logistic函数和tanh函数;
      logistic函数定义为:σ(x)\sigma(x)σ(x):
      σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e−x1​

      logistic函数图像如上,可以看成一个"挤压"函数,把一个实数域的输入"挤压"到(0,1);当输入值在0附近时,sigmoid函数近似线性函数;当输入值靠近两端时,对输入进行抑制;输入越小,其值越接近0;输入越大,其值越接近1;
      tanh函数定义为tanh(x):
      tanh(x)=ex−e−xex+e−x=2σ(2x)−1tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}=2\sigma(2x)-1tanh(x)=ex+e−xex−e−x​=2σ(2x)−1
    2. Hard-Logistic和Hard-tanh函数
      logistic函数的导数为:σ′(x)=σ(x)(1−σ(x))\sigma'(x)=\sigma(x)(1-\sigma(x))σ′(x)=σ(x)(1−σ(x));logistic函数在0附近的一阶泰勒展开式为:
      gl(x)≈σ(0)+x×σ′(0)=0.25x+0.5gl(x)≈\sigma(0)+x\times\sigma'(0)=0.25x+0.5gl(x)≈σ(0)+x×σ′(0)=0.25x+0.5
      hard−logistic(x)={1gl(x)≥1gl(x)0<gl(x)<1=max⁡(min⁡(gl(x),1),0)0gl(x)≤0hard-logistic(x)= \left\{ \begin{array}{lr} 1& & gl(x) \ge 1\\ gl(x) && 0 < gl(x)<1=\max(\min(gl(x),1),0)\\ 0 & &gl(x)≤0 \end{array} \right. hard−logistic(x)=⎩⎨⎧​1gl(x)0​​gl(x)≥10<gl(x)<1=max(min(gl(x),1),0)gl(x)≤0​
      tanh函数在0附近的一阶泰勒展开式为:
      gt(x)≈tanh⁡(0)+x×tanh⁡′(0)xgt(x)≈\tanh(0)+x\times\tanh'(0)xgt(x)≈tanh(0)+x×tanh′(0)x

      hard−tanh(x)=max⁡(min⁡(gt(x),1),−1)=max⁡(min⁡(x,1),−1)hard-tanh(x)=\max(\min(gt(x),1),-1)=\max(\min(x,1),-1) hard−tanh(x)=max(min(gt(x),1),−1)=max(min(x,1),−1)

    3.修正线性单元
    修正线性单元(Rectified Linear Unit,ReLU),ReLU函数实际是一个斜坡函数,定义:
    rectifier(x)={xx≥00x<0=max⁡(0,x)rectifier(x)= \left\{ \begin{array}{lr} x& & x \ge 0\\ 0 && x<0 \end{array} \right.=\max(0,x) rectifier(x)={x0​​x≥0x<0​=max(0,x)
    注:rectifier函数为左饱和函数,在x>0x>0x>0时导数为1,在x≤0x≤0x≤0时导数为0;在训练时,学习率设置过大,在一次更新参数后,一个采用ReLU的神经元在所有的训练数据上都不能被激活

    1. 带泄露的ReLU
      带泄露的ReLU(Leaky ReLU)在输入x<0x<0x<0时,保持一个很小的梯度;这样当神经元非激活时也有一个非零的梯度可以更新参数,避免永远不能被激活,定义:
      f(x)=max⁡(0,x)+γmin⁡(0,x)={xx≥0γxx<0;γ∈(0,1)是一个很小的常数,如0.01f(x)=\max(0,x)+\gamma\min(0,x)=\left\{ \begin{array}{lr} x& & x \ge 0\\ \gamma{x} && x<0 \end{array} \right.;\gamma\in(0,1)是一个很小的常数,如0.01 f(x)=max(0,x)+γmin(0,x)={xγx​​x≥0x<0​;γ∈(0,1)是一个很小的常数,如0.01
    2. 带参数的ReLU
      带参数的ReLU(Parametric ReLU,PReLU)引入一个可学习的参数,不同神经元可以有不同的参数;对于第iii个神经元,ReLU定义:
      PReLUi(x)=max⁡(0,x)+γimin⁡(0,x)={xx>0γixx≤0;γi为x≤0时函数的斜率PReLU_i(x)=\max(0,x)+\gamma_i\min(0,x)=\left\{ \begin{array}{lr} x& & x > 0\\ \gamma_i{x} && x≤0 \end{array} \right.;\gamma_i为x≤0时函数的斜率 PReLUi​(x)=max(0,x)+γi​min(0,x)={xγi​x​​x>0x≤0​;γi​为x≤0时函数的斜率
    3. softplus函数
      softplus函数定义:
      softplus(x)=log⁡(1+ex)softplus(x)=\log(1+e^x) softplus(x)=log(1+ex)

2.2 网络结构

常用的神经网络结构:

  1. 前馈网络;

    1. 网络中各个神经元按接收信息的先后分为不同的组;每一个组可以看成一个神经层;
    2. 每一层的神经元接收前一层神经元的输出,并输出到下一层神经元;
    3. 整个网络中信息只朝一个方向传播,没有反向的信息传播;
    4. 前馈网络包括:全连接前馈网络和卷积神经网络;
  2. 反馈网络;
    1. 网络中神经元可以接收其他神经元的信号,也可以接收自己的反馈信号;
    2. 反馈网络在不同的时刻具有不同的状态,具有记忆功能;
  3. 记忆网络;
    1. 记忆网络在前馈网络或反馈网络基础上,引入一组记忆单元,用保存中间状态;
    2. 记忆网络具有比反馈网络更强的记忆功能;


2.3 深度前馈网络

  1. 前馈神经网络中,各神经元分别属于不同层;

  2. 每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层;

  3. 第一层为输入层,最后一层为输出层,其他中间层为隐藏层;

  4. 整个网络无反馈,信号从输入层向输出层单向传播;

    1. LLL:表示神经网络的层数;
    2. nln^lnl:表示第lll层神经元的个数;
    3. fl(⋅)f_l(·)fl​(⋅):表示lll层神经元的激活函数;
    4. W(l)∈Rnl×nl−1W^{(l)}\in{R^{n^l\times{n^{l-1}}}}W(l)∈Rnl×nl−1:表示l−1l-1l−1层到第lll层的权重矩阵;
    5. b(l)∈Rnlb^{(l)}\in{R^{n^l}}b(l)∈Rnl:表示l−1l-1l−1层到第lll层的偏置;
    6. z(l)∈Rnlz^{(l)}\in{R^{n^l}}z(l)∈Rnl:表示lll层神经元的净输入;
    7. a(l)∈Rnla^{(l)}\in{R^{n^l}}a(l)∈Rnl:表示lll层神经元的输出;

    前馈神经网络信息传播的公式:
    z(l)=W(l)a(l−1)+b(l);a(l)=fl(z(l))z^{(l)}=W^{(l)}a^{(l-1)}+b^{(l)};a^{(l)}=f_l(z^{(l)})z(l)=W(l)a(l−1)+b(l);a(l)=fl​(z(l))

2.4 参数学习

深度前馈神经网络中,(W,b)(W,b)(W,b)是模型参数,给定输入和输出数据对(x,y)(x,y)(x,y),得到模型参数的过程称为训练或学习;

交叉熵损失函数实例:

  1. 函数表示
    L(y,y^)=−yTlog⁡y^,y^为对应的one−hot向量表示L(y,\hat{y})=-y^T\log{\hat{y}},\hat{y}为对应的one-hot向量表示L(y,y^​)=−yTlogy^​,y^​为对应的one−hot向量表示
  2. 给定训练集:D={(x(i),y(i))},1≤i≤ND=\{{(x^{(i)},y^{(i)})}\},1≤i≤ND={(x(i),y(i))},1≤i≤N,将每个样本x(i)x^{(i)}x(i)输入给前馈网络,得到网络输出y^\hat{y}y^​,其在数据集DDD上的风险函数为:R(W,b)=1N∑i=1NL(y(i),y^(i))+12λ∣∣W∣∣F2R(W,b)=\frac{1}{N}\sum^{N}_{i=1}L(y^{(i)},\hat{y}^{(i)})+\frac{1}{2}\lambda||W||^2_FR(W,b)=N1​i=1∑N​L(y(i),y^​(i))+21​λ∣∣W∣∣F2​
    1. W和bW和bW和b包含了每一层的权重矩阵和偏置向量;
    2. ∣∣W∣∣F2||W||^2_F∣∣W∣∣F2​是正则化项,用来防止过拟合;
    3. λ\lambdaλ是正数的超参数;λ\lambdaλ越大,WWW越接近0;
  3. 网络参数通过梯度下降法进行学习;在梯度下降每次迭代中,第lll层的参数W(l)W^{(l)}W(l)b(l)b^{(l)}b(l)更新方式:
    W(l)←W(l)−α∂R(W,b)∂W(l)=W(l)−α(1N∑i=1N∂L(y(i),y^(i))∂W(l)+λW(l))W^{(l)}\leftarrow{W^{(l)}}-\alpha\frac{\partial{R(W,b)}}{\partial{W^{(l)}}}=W^{(l)}-\alpha(\frac{1}{N}\sum^{N}_{i=1}\frac{\partial{L(y^{(i)},\hat{y}^{(i)}})}{\partial{W^{(l)}}}+\lambda{W^{(l)}}) W(l)←W(l)−α∂W(l)∂R(W,b)​=W(l)−α(N1​i=1∑N​∂W(l)∂L(y(i),y^​(i))​+λW(l))
    b(l)←b(l)−α∂R(W,b)∂b(l)=b(l)−α(1N∑i=1N∂L(y(i),y^(i))∂b(l))b^{(l)}\leftarrow{b^{(l)}}-\alpha\frac{\partial{R(W,b)}}{\partial{b^{(l)}}}=b^{(l)}-\alpha(\frac{1}{N}\sum^N_{i=1}\frac{\partial{L(y^{(i)},\hat{y}^{(i)})}}{\partial{b^{(l)}}}) b(l)←b(l)−α∂b(l)∂R(W,b)​=b(l)−α(N1​i=1∑N​∂b(l)∂L(y(i),y^​(i))​)
    α\alphaα为学习率;

学习笔记9--深度前馈网络相关推荐

  1. 【AI绘图学习笔记】深度前馈网络(二)

    有关深度前馈网络的部分知识,我们已经在吴恩达的机器学习课程中有过了解了,本章主要是对<深度学习>花书中第六章:深度前馈网络的总结笔记.我希望你在看到这一章的时候,能回忆起机器学习课程中的一 ...

  2. 深度学习中的深度前馈网络简介

     几乎所有的深度学习算法都可以被描述为一个相当简单的配方:特定的数据集.代价函数.优化过程和模型. 在大多数情况下,优化算法可以定义为求解代价函数梯度为零的正规方程.我们可以替换独立于其它组件的大多数 ...

  3. 2020-4-22 深度学习笔记20 - 深度生成模型 5 (有向生成网络--sigmoid信念网络/可微生成器网络/变分自编码器VAE/生产对抗网络GAN/生成矩匹配网络)

    第二十章 深度生成模型 Deep Generative Models 中文 英文 2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM) 2020-4-18 ...

  4. 无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别

    无人驾驶汽车系统入门(十一)--深度前馈网络,深度学习的正则化,交通信号识别 在第九篇博客中我们介绍了神经网络,它是一种机器学习方法,基于经验风险最小化策略,凭借这神经网络的拟合任意函数的能力,我们可 ...

  5. 深度学习(一)深度前馈网络(deep feedforward network)

    深度学习(一)深度前馈网络(deep feedforward network) 深度前馈网络(deep feedforward network),也叫作 前馈神经网络(feedforward neur ...

  6. 深度学习深度前馈网络_深度学习前馈网络中的讲义第1部分

    深度学习深度前馈网络 FAU深度学习讲义 (FAU Lecture Notes in Deep Learning) These are the lecture notes for FAU's YouT ...

  7. 深度学习深度前馈网络_深度学习前馈网络中的讲义第4部分

    深度学习深度前馈网络 FAU深度学习讲义 (FAU Lecture Notes in Deep Learning) These are the lecture notes for FAU's YouT ...

  8. 无人驾驶汽车系统入门:深度前馈网络,深度学习的正则化,交通信号识别

    作者 | 申泽邦(Adam Shan) 兰州大学在读硕士研究生,主攻无人驾驶,深度学习:兰大未来计算研究院无人车团队骨干,在改自己的无人车,参加过很多无人车Hackathon,喜欢极限编程. 在前几十 ...

  9. 学习笔记:深度学习(3)——卷积神经网络(CNN)理论篇

    学习时间:2022.04.10~2022.04.12 文章目录 3. 卷积神经网络CNN 3.1 卷积神经网络的概念 3.1.1 什么是CNN? 3.1.2 为什么要用CNN? 3.1.3 人类的视觉 ...

最新文章

  1. BI之SSAS完整实战教程3 -- 创建第一个多维数据集
  2. python从入门到实践_Python编程从入门到实践日记Day32
  3. 计算机教育日志,信息技术日志1
  4. nginx 反向proxy多个 tomcat,负载均衡
  5. 网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据
  6. 【算法大赛直播周】如何让人人都可以使用AI技术?北大崔斌教授亲解自动化机器学习
  7. 如何针对数据进行分析
  8. 软件工程项目之Windows Phone Application的一个设想
  9. 设置cookie存活时间_js中如何设置cookie的保存时间呢?
  10. 生物医学基础--人体阻抗模型
  11. 车辆信息管理系统(C语言大作业)
  12. JavaScript获取地理位置
  13. 多元微积分_旋度1.正负0旋度
  14. 红条款信用证Red Clause L/C
  15. Linux基础知识详解
  16. php 怎么验证邮箱验证码,PHP实现邮箱验证码验证功能
  17. php 图片木马检测
  18. 计算机一级题库ps视频,2016年国家计算机一级Photoshop题库及答案
  19. 【LeetCode - 1229】安排会议日程
  20. Window下kafka 单机SASL_SCRAM加密及身份认证

热门文章

  1. STL之lower_bound,upper_bound二分查找函数 结构体
  2. React 高阶组件HOC使用总结
  3. python爬取起点vip小说章节_python 爬取起点小说vip章节(失败)
  4. 考研英语词汇文章4-Freshman Year
  5. “燕云十六将”之Jason郝钰(12)
  6. java path.resolve_Java Path.resolve方法代碼示例
  7. 无法安装64(32)office,已经安装32(64)office解决方法
  8. 【ubuntu16.04 LTS】ping百度通,但浏览器打不开百度网页
  9. 跨模态行人重识别:Cross-Modality Person Re-Identification viaModality-Aware CollaborativeEnsemble Learning学习笔记
  10. Thumbnailator实现图片压缩