葫芦书笔记----前向神经网络

前向神经网络

多层感知机与布尔函数

多层感知机表示疑惑逻辑时最少需要几个隐含层(仅考虑二元输入)?

速记:一个。

详细:设具有0个隐藏层的情况(等同于逻辑回归)。仅考虑二元输入的情况,设X的取值为0或1,Y的取值也为0或1,Z为异或运算的输出。

逻辑回归公式如下:
Z = s i g m o i d ( A X + B Y + C ) Z=sigmoid(AX+BY+C) Z=sigmoid(AX+BY+C)
其中Sigmoid激活函数是单调递增的:

当AX+BY+C的取值增大时,Z的取值也增 大;当AX+BY+C的取值减少时,Z的取值也减小。而AX+BY+C对于X和Y的变化也 是单调的,

当参数A为正数时,AX+BY+C以及Z的取值随X单调递增;

当A取负数 时,AX+BY+C和Z随X单调递减;

当参数A为0时,Z的值与X无关。

观察异或运算的真值表,当Y=0时,将X的取值从0变到1将使输出Z也从0变为1,说明此时Z的变化 与X是正相关的,需要设置A为正数;

而当Y=1时,将X的取值从0变为1将导致输出 Z从1变为0,此时Z与X是负相关的,需要设置A为负数,与前面矛盾。因此,采用 逻辑回归(即不带隐藏层的感知机)无法精确学习出一个输出为异或的模型表示。

加一个隐藏层可以用来判断XY是否都为0或1。

如果只是用一个隐层,需要多少隐节点能够实现包含n元输入的任意布尔函数?

速记: 2 n − 1 2^{n-1} 2n1

考虑多隐层的情况,实现包含n元输入的任意布尔函数最少需要多少个网络节点或网络层?

速记:3(n-1)个节点, 2 log ⁡ 2 N 2 \log_2N 2log2N向上取整层

深度神经网络中的激活函数

常用激活函数

速记:sigmiod、ReLU

详细:
s i g m o i d ( z ) = 1 1 + e x p ( − z ) sigmoid(z)=\frac{1}{1+exp(-z)} sigmoid(z)=1+exp(z)1

R e L U ( z ) = m a x ( 0 , z ) ReLU(z)=max(0,z) ReLU(z)=max(0,z)

T a n h ( z ) = t a n h ( z ) = e z − e − z e z + e − z Tanh(z)=tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}} Tanh(z)=tanh(z)=ez+ezezez

为什么Sigmoid和Tanh激活函数会导致梯度消失的现象?

速记:导数在输入很大或很小时都会趋于0。

详细 :
t a n h ( x ) = 2 s i g m o i d ( 2 x ) − 1 tanh(x)=2sigmoid(2x)-1 tanh(x)=2sigmoid(2x)1
如图可见,在输入很大或很小时,导数趋于0,因此梯度消失了。
在这里插入图片描述

ReLU系列的激活函数相对于Sigmoid和Tanh激活函数有什么优点?它们有什么局限性以及如何改进?

速记:计算简单,解决梯度消失问题,提供网络的稀疏表达能力。局限:导致神经元死亡问题。

详细:

优点:

  1. 计算简单,只需一个阈值即可得到激活值。
  2. ReLUctant的非把薄荷性可以有效地解决梯度消失的问题,提供相对宽的激活边界。
  3. ReLU的单侧抑制提供了网络的稀疏表达能力。

局限性:

ReLU训练过程中会导致神经元死亡的问题。因为函数 f ( z ) = m a x ( 0 , z ) f(z)=max(0,z) f(z)=max(0,z)导致负梯度在经过该ReLU单元时被置为0,且在之后也不会被任何数据激活,即流经该神经元的梯度永远为0.

为解决这一问题,可以使用Leaky ReLU,其形式i表示为:
f ( z ) = { z , z > 0 a z , z ≤ 0 f(z)= \begin{cases} z,z>0\\ az,z\le0 \end{cases} f(z)={z,z>0az,z0
类似的还有PReLU顿号Random ReLU。

多层感知机的反向传播算法

速记:核心就是链式法则。

写出多层感知机的平方误差和交叉熵损失函数。

在这里插入图片描述

特别地,平方误差那的二分之一是为了抵消求导后的2加的。

平方误差损失函数和交叉熵损失函数分布适合什么场景?

速记:平方损失函数更适合输出是连续的,交叉熵适合分类。

详细:平方误差损失函数更适合输出为连续,且最后一层不含Sigmoid或Softmax激活函数的神经网络;交叉熵损失则更适合二分零或者多酚类的场景。

在反向传播时,平方误差损失函数相对于输出层的导数:
δ ( L ) = − ( y − a ( L ) ) f ′ ( z ( L ) ) \delta^{(L)}=-(y-a^{(L)})f'(z^{(L)}) δ(L)=(ya(L))f(z(L))
其中 f ′ ( z ( L ) ) f'(z^{(L)}) f(z(L))为激活函数的导数。当激活函数为Sigmoid函数时,如果 z ( L ) z^{(L)} z(L)的绝对值较大,函数的梯度会居于饱和,即 f ′ ( z ( L ) ) f'(z^{(L)}) f(z(L))的绝对值非擦汗给你小,导致 δ ( L ) \delta^{(L)} δ(L)也非常小。

神经网络训练技巧

在训练神经网络时,经常会出现“过拟合”的问题,解决方法有很多,包括数据集增强 (Data Augmentation)、参数范数惩罚/正则化(Regularization)、模型集成 (Model Ensemble)等;其中Dropout是模型集成方法中最高效与常用的技巧。

神经网络训练时是否可以将全部参数初始化为0?

速记:雅蠛蝶~~❤

详细:在全连接的深度神经网络中,同一层中的任意神经元都是同构的,它们拥有相同的输入和输出,如果将参数初始化为同样的值,那么无论前向传播还是反向传播的取值都是完全相同的。最终2同一网络层中的各个参数仍然是相同的。偏置可以全为0.

为什么dropout可以抑制过拟合?它的工作原理和实现?

速记:Dropout是指在深度网络的训练中,以一定的概率随机地 “临时丢弃”一部分神 经元节点。

详细:具体来讲,Dropout作用于每份小批量训练数据,由于其随机丢弃部分 神经元的机制,相当于每次迭代都在训练不同结构的神经网络。类比于Bagging方 法,Dropout可被认为是一种实用的大规模深度神经网络的模型集成算法。这是由 于传统意义上的Bagging涉及多个模型的同时训练与测试评估,当网络与参数规模 庞大时,这种集成方式需要消耗大量的运算时间与空间。Dropout在小批量级别上 的操作,提供了一种轻量级的Bagging集成近似,能够实现指数级数量神经网络的 训练与评测。

批量归一化的基本动机与原理是什么?在卷积神经网络中如何使用?

速记:增强泛化能力。

详细:批量归一化可以看作在每一层输入和上一层输出之间加入了一个新的计算 层,对数据的分布进行额外的约束,从而增强模型的泛化能力。但是批量归一化 同时也降低了模型的拟合能力。

批量归一化在卷积神经网络中应用时,需要注意卷积神经网络的参数共享机 制。每一个卷积核的参数在不同位置的神经元当中是共享的,因此也应该被一起 归一化。

卷积与残差看书

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "德州概率计算 Spade-A"是一款用于帮助德州扑克玩家计算不同手牌组合概率的软件。在德州扑克中,玩家需要根据手中的两张底牌和五张公共牌,来确定自己最好的五张组合。而Spade-A软件能够根据底牌和已翻开的公共牌计算出各种可能的手牌组合的概率。 这款软件的核心功能是根据底牌和已知公共牌的情况,计算出所有可能的手牌组合。通过对这些组合进行穷举计算,并和其他玩家的可能组合进行对比,可以得出自己在当前局面下的胜率和胜出的可能性。这对于玩家在下注过程中作出决策非常有帮助,可以使他们能够更准确地判断自己手中的牌的强度。 Spade-A软件还可以提供其他有关德州扑克的统计数据,如同花顺、四条、葫芦等不同牌型的概率等。通过这些数据,玩家可以更好地了解与自己手中的牌相匹配的可能组合,并做出更明智的下注决策。 总而言之,"德州概率计算 Spade-A"是一款专为德州扑克玩家设计的软件,旨在帮助玩家计算手牌组合的概率,并提供相关的统计数据,以提高玩家在下注的决策能力。 ### 回答2: 德州扑克是一种非常受欢迎的扑克牌游戏,在游戏中,玩家可以计算和利用概率来做出更明智的决策。Spade-A是一种辅助工具,可以用于计算德州扑克的概率。 Spade-A是一款在线工具,可以帮助玩家计算德州扑克中各种情况的概率。通过输入自己手上的牌和公共牌,Spade-A可以显示出玩家在当前情况下胜利的概率。这对于玩家在游戏中做出决策非常有帮助。 在使用Spade-A,玩家只需输入自己的手牌和公共牌,然后点击计算按钮,程序将根据已知的信息计算并显示出胜率。这可以帮助玩家判断当前手牌的强度,以决定是否跟注或加注。 通过使用Spade-A,玩家可以更好地了解自己的牌型在当前情况下的胜率,从而做出更明智的决策。毕竟,在德州扑克中,决策是非常重要的,随机跟注或加注可能会导致更大的损失。 总之,Spade-A是一种德州扑克概率计算工具,可以帮助玩家在游戏中做出更明智的决策。它通过计算当前手牌在当前情况下的胜率,帮助玩家判断自己的牌型强度,并决定是否跟注或加注。使用Spade-A可以提高玩家在德州扑克游戏中的胜率和获胜机会。 ### 回答3: 德州扑克是一种非常受欢迎的扑克牌游戏,其中计算概率在决定下注、选择行动非常重要。Spade-A是一款可以辅助计算德州概率的工具,它可以帮助玩家更准确地评估自己的牌局胜率。 Spade-A可以通过分析已知的牌和玩家手中的牌来计算当前局面的胜率。它会根据已知的信息来估算对手的牌力,并根据这个估算来计算自己的胜率。通过使用Spade-A,玩家可以更加准确地判断自己手中的牌的价值和决定下注的大小。 使用Spade-A进行概率计算可以提供玩家更多的信息,从而帮助玩家做出更明智的决策。比如,在决定是否跟注或者加注,玩家可以计算出当前局面下自己的胜率,从而判断是否值得继续参与游戏。另外,在决定是否进行全下注,玩家可以根据计算得到的胜率来确定是否有足够大的胜算。 总之,Spade-A是一款德州概率计算工具,通过分析已知的牌和对手的牌力,可以帮助玩家更准确地判断自己的胜率和做出更明智的决策。使用Spade-A可以提高玩家在德州扑克游戏中的表现,并增加获胜的机会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值