【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】前馈神经网络

前馈神经网络又叫全连接神经网络、多层感知器,在网络中信息由输入到输出单向传递,具体特点有:

  • 个神经元分别属于不同的,层内无连接
  • 相邻两层之间的神经元全部两两连接
  • 整个网络中无反馈,信号从输入层像输出层单向传播,可用一个有向无环图表示
    在这里插入图片描述

之后内容中的符号解释
在这里插入图片描述

其中,网络层数 L L L、神经元个数 M l M_l Ml、激活函数 f l ( ⋅ ) f_l(\cdot) fl()是超参数。于是,前馈神经网络可以通过下面公式进行信息传播:
z ( l ) = W ( l ) a ( l − 1 ) + b ( l ) a ( l ) = f l ( z ( l ) ) } ⇒ a ( l ) = f l ( W ( l ) a ( l − 1 ) + b ( l ) ) \left. \begin{aligned} &z^{(l)}=W^{(l)}a^{(l-1)}+b^{(l)}\\ &a^{(l)}=f_l(z^{(l)}) \end{aligned} \right\}\Rightarrow a^{(l)}=f_l(W^{(l)}a^{(l-1)}+b^{(l)}) z(l)=W(l)a(l1)+b(l)a(l)=fl(z(l))}a(l)=fl(W(l)a(l1)+b(l))
一层中的每一个神经元都是上一层所有神经元的加权汇总, f l ( z ( l ) ) f_l(z^{(l)}) fl(z(l))是按元素的激活函数(对向量中的每个元素分别带入计算)
整个前馈计算:
x = a 0 → z ( 1 ) → a ( 1 ) → z ( 2 ) → ⋯ → a ( L − 1 ) → z ( L ) → a ( L ) = ϕ ( x ; w , b ) x=a^{0}\rightarrow z^{(1)}\rightarrow a^{(1)}\rightarrow z^{(2)}\rightarrow\cdots\rightarrow a^{(L-1)}\rightarrow z^{(L)}\rightarrow a^{(L)}=\phi(x;w,b) x=a0z(1)a(1)z(2)a(L1)z(L)a(L)=ϕ(x;w,b)
上一层的输出a经过加权汇总( W a + b Wa+b Wa+b)得到本层输入z,输入z经过激活函数得到本层输出a,依次类推。

通用近似定理

在这里插入图片描述

  • “挤压”性质的激活函数:当输入值域较大时,其输出在两端时饱和的,具有S型函数曲线以及压缩输入值域的作用1。例如Logistic函数和tanh函数(Sigmoid函数)。
    通用近似定理是说对于一个无论多么复杂的函数 f ( x ) f(x) f(x)总能找到一个的函数 F ( x ) F(x) F(x)来近似表示。也就是说,理论上神经网络只要隐藏层数量足够,可以近似解决任何连续函数能够表示的问题2
    举个例子,一个前馈神经网络可以记为 w 2 σ ( w 1 x + b 1 ) + b 2 w^2\sigma(w^1x+b^1)+b^2 w2σ(w1x+b1)+b2,该网络具有线性输出层 w 2 x + b 2 w^2x+b^2 w2x+b2,隐藏层 σ ( w 1 x + b 1 ) \sigma(w^1x+b^1) σ(w1x+b1),且隐藏层中包含具有挤压性质的激活函数,那么对于该网络来说,只要隐藏层数量足够多,该神经网络可以近似实数空间中任意一个有界闭集函数。
    但实际上对与具有两层或多层的任意函数(不具有挤压性质)构成隐藏层的前馈网络来说,该结论仍然成立(因为通用近似定理本来是作为Sigmoid函数的一种性质提出的2)。也就是说,任意组合多个函数(不管是S型函数还是斜坡函数还是复合函数)最后都可以实现某种复杂的非线性映射。
应用到机器学习

神经网络可以作为一个“万能”函数来使用,可以用来进行复杂特征转换,或逼近一个复杂的条件分布。
y ^ = g ( ϕ ( x ) ⏞ 神经网络 ; θ ) ⏟ 分类器 \hat{y}=\underbrace{g(\overbrace{\phi(x)}^{神经网络};\theta)}_{分类器} y^=分类器 g(ϕ(x) 神经网络;θ)
如果分类器为Logistic回归分类器或者Softmax回归分类器(目前已经接触到的分类器有:Logistic分类器、Softmax分类器、感知器、SVM,后面俩个属于单独的神经网络结构,不应该与其他混为一谈),那么分类器也可以看作是神经网络的最后一层(输出层),这样神经网络输出的活性值就直接对应不同类别的条件概率,即 P ( y ∣ x ) = ϕ ( x ) P(y|x)=\phi(x) P(yx)=ϕ(x)。同样的,Logistic和Softmax回归也可以看作是只有一层的神经网络。
以多分类问题 y ∈ { 1 , ⋯ , C } y\in\{1,\cdots,C\} y{1,,C}为例,采用Softmax回归分类器,输出层为第L层,共需要设置C个神经元分别输出某个分类的条件概率(C维one-hot向量)
z ( L ) = ϕ ( x ) y ^ = s o f t m a x ( z ( L ) ) \begin{aligned} &z^{(L)}=\phi(x)\\ &\hat{y}=\mathrm{softmax}(z^{(L)}) \end{aligned} z(L)=ϕ(x)y^=softmax(z(L))
其中 z ( L ) z^{(L)} z(L)是第L层的输入,这里将softmax看作激活函数。
然后采用交叉熵损失函数
L ( y , y ^ ) = − y T log ⁡ y ^ \mathcal{L}(y,\hat{y})=-y^T\log\hat{y} L(y,y^)=yTlogy^
对于训练集 D = { ( x ( n ) , y ( n ) ) } n = 1 N D=\{(x^{(n)},y^{(n)})\}_{n=1}^N D={(x(n),y(n))}n=1N,输入样本 x ( n ) x^{(n)} x(n)输出预测条件概率 y ^ ( n ) \hat{y}^{(n)} y^(n),取结构化风险函数(学习准则)为:
R ( W , b ) = 1 N ∑ n = 1 N L ( y ( n ) , y ^ ( n ) ) + 1 2 λ ∥ W ∥ F 2 \mathcal{R}(W,b)=\frac{1}{N}\sum_{n=1}^N\mathcal{L}(y^{(n)},\hat{y}^{(n)})+\frac{1}{2}\lambda\|W\|_F^2 R(W,b)=N1n=1NL(y(n),y^(n))+21λWF2
其中正则化项采用Frobenius范数,即 ∥ W ∥ F 2 = ∑ l = 1 L ∑ i = 1 M i ∑ j = 1 M i − 1 ( w i j ( l ) ) 2 \|W\|_F^2=\sum_{l=1}^L\sum_{i=1}^{M_i}\sum_{j=1}^{M_{i-1}}(w_{ij}^{(l)})^2 WF2=l=1Li=1Mij=1Mi1(wij(l))2,意思是求所有参数 w w w的平方和(第 l l l个样本在神经网络第 i i i层中第 j j j个神经元的参数)

损失函数:评估模型单次预测好坏
风险函数:度量平均意义下模型的好坏

然后进行梯度下降,计算风险函数对于每一层参数( W ( l ) W^{(l)} W(l) b ( l ) b^{(l)} b(l))的梯度,
∂ R ( W , b ) ∂ W ( l ) ∂ R ( W , b ) ∂ b ( l ) \begin{aligned} \frac{\partial\mathcal{R}(W,b)}{\partial{W^{(l)}}}\\ \frac{\partial\mathcal{R}(W,b)}{\partial{b^{(l)}}} \end{aligned} W(l)R(W,b)b(l)R(W,b)
由于神经网络是复合函数,计算时可利用求导数的链式法则
在这里插入图片描述

但实际上并不需要像这样一个一个对梯度进行计算,可以用反向传播算法或自动微分的方法来计算风险函数的梯度。
最后朝梯度反方向对参数进行更新即可。


  1. 08.1 挤压型激活函数 - AI-EDU (microsoft.github.io) ↩︎

  2. 通用近似定理(学习笔记)-CSDN博客 ↩︎ ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1451857.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】梯度的反向传播算法

矩阵微积分(Matrix Calculus) 在开始之前,需要先了解矩阵微积分的一些计算规则。 首先,对于矩阵微积分的表示,通常由两种符号约定: 分母布局 标量关于向量的导数为列向量 向量关于标量的导数为行向量 N维…

【LeetCode:2786. 访问数组中的位置使分数最大 + 递归 + 记忆化缓存 + dp】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Real3D:利用真实世界图像扩展3D重建模型

原理: 在3D重建领域,单视图重建任务由于其固有的不确定性而充满挑战。为了克服这一难题,研究者们一直在探索如何利用大型数据集训练模型以学习形状和纹理的通用先验知识。然而,现有训练方法依赖于合成数据或多视图捕获&#xff0c…

U-Mail国产信创邮件系统,让企业通信更加安全可控

信息技术应用创新产业,即信创产业,是信息化建设的核心,它涵盖了从硬件到软件的一系列关键技术。信创产业的目标是通过自主研发,减少对外部技术的依赖,增强信息安全,并提升国内产业的全球竞争力。该产业主要…

java打印99乘法表

public class NineNineMulTable{public static void main(String[] args){for(int i 1; i < 9; i ){for(int j 1; j < i; j ){System.out.print(j " * " i " " i * j "\t");//再次先输出j在输出i是打印出来是1*2&#xff0c;2*2}S…

Allegro X PCB设计小诀窍--如何在Allegro X中快速设置快捷键

背景介绍&#xff1a;我们在进行PCB设计时&#xff0c;经常会用到一些高频次操作&#xff0c;例如移动、复制、删除、旋转、绘制走线、铺铜等&#xff0c;这些操作在软件中通常需要点击对应命令菜单来实现。为了点击这些菜单&#xff0c;设计人员需要通过鼠标频繁的在设计界面进…

积木搭建游戏-第13届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第83讲。 积木搭建游戏&…

三款有3D效果的js图表库

1、G2简洁的渐进式可视化语法。https://g2.antv.antgroup.com/manual/extra-topics/3d-charts 2、 https://www.highcharts.com/https://www.highcharts.com/ 3、https://www.fusioncharts.com/charts/pie-doughnut-charts/donut-chart-in-3d?frameworkjavascripthttps://www…

30V转5V3.5A大电流芯片 30降压12V3.5A DCDC低功耗恒压IC-H4012-车充芯片

H4012芯片是一款同步降压型DC-DC转换器&#xff0c;为高效率和大电流应用设计。它内置了30V耐压的MOS&#xff0c;并支持3.5A的持续输出电流&#xff0c;使得它在需要高功率输出的应用中表现出色。此外&#xff0c;H4012的输出电压可调&#xff0c;可支持100%占空比&#xff0c…

el-cascader 支持多层级,多选(可自定义限制数量),保留最后一级

多功能的 el-cascader 序言&#xff1a;最近遇到一个需求关于级联的&#xff0c;有点东西&#xff0c;这里是要获取某个产品类型下的产品&#xff0c;会存在产品类型和产品在同一级的情况&#xff0c;但是产品类型不能勾选&#xff1b; 情况1&#xff08;二级菜单是产品&…

深度学习笔记: 最详尽估算送达时间系统设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家&#xff01; 估算送达时间 1. 问题陈述 构建一个模型来估算在给定订单详情、市场条件和交通状况下的总送达时间。 为…

python-jupyter notebook安装教程

&#x1f308;所属专栏&#xff1a;【python】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的…

Java内存模型,堆、栈和方法区的区别

Java内存管理是Java虚拟机&#xff08;JVM&#xff09;技术的核心之一。了解Java内存管理对于提高程序性能、解决内存泄漏和优化资源利用至关重要。 一、Java内存模型&#xff08;Java Memory Model, JMM&#xff09; Java内存模型描述了Java程序中变量&#xff08;包括实例字…

5.1 Python 函数的参数类型

1. 实参与形参 形参: 函数定义阶段, 括号内定义的参数名(变量名), 形参的表现形式只有一种就是参数命. 实参: 函数调用阶段, 括号内传入的参数值(变量值), 实参的表现形式有很多种(核心: 可以引用到值).两者之间的关系: 函数调用阶段 --> 实参的值绑定给形参名. 函数调用完…

GraphQL(9):Spring Boot集成Graphql简单实例

1 安装插件 我这边使用的是IDEA&#xff0c;需要先按照Graphql插件&#xff0c;步骤如下&#xff1a; &#xff08;1&#xff09;打开插件管理 在IDEA中&#xff0c;打开主菜单&#xff0c;选择 "File" -> "Settings" (或者使用快捷键 Ctrl Alt S …

什么是快乐?

什么是快乐&#xff1f; What is Happiness? 1. 快乐不是追求外在的物质&#xff0c;而是内心的平静与满足。当我们学会感恩&#xff0c;懂得珍惜眼前的一切&#xff0c;心中自然会充满喜悦。快乐并非来自拥有更多&#xff0c;而是感受到已经拥有的足够。每一天都怀抱感激之情…

最新情侣飞行棋高阶羞羞版,解锁私密版情侣小游戏,文末有福利!

今天要跟大家聊聊一种特别有意思的游戏——情侣飞行棋羞羞版。别急着脸红&#xff0c;这可是专为情侣设计的游戏&#xff0c;让你们在轻松愉快的氛围中&#xff0c;增进了解&#xff0c;加深感情。 谈恋爱&#xff0c;不就是两个人在一起&#xff0c;做些有趣的事情吗&#xf…

【INTEL(ALTERA)】Quartus® 软件 Pin Planner 中 Agilex™ 5 FPGA的 HSIO 库可以选择 1.8V VCCIO?

目录 说明 解决方法 说明 由于 Quartus Prime Pro Edition 软件版本 24.1 存在一个问题&#xff0c;Quartus 软件 Pin Planner 中的 I/O 组属性 GUI 允许用户选择 1.8V 作为 HSIO 银行位置的 VCCIO。HSIO bank 支持的有效 VCCIO 电压仅为 1.0V、1.05V、1.1V、1.2V 和 1.3V。…

【SpringBoot + Vue 尚庭公寓实战】地区信息管理接口实现(九)

【SpringBoot Vue 尚庭公寓实战】地区信息管理接口实现&#xff08;九&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】地区信息管理接口实现&#xff08;九&#xff09;1、业务说明2、数据逻辑模型3、接口实现3.1、查询省份信息列表3.2、根据省份ID查询城市信息列表3…

Http协议JSON格式

1. 计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&#xff0c;实现资源共享和信息传递的计算机系统。 思考:计算机网络…