文章目录
- 1. 基于神经网络计算心理健康程度
- 2. 添加激活函数的神经网络计算
- 3. 使用神经网络预测小胖是否会变胖
- 4. 激活函数选择的讨论
- 5. 神经网络的设计
- 6. 深度线性模型的表达能力=线性模型
- 7. 神经网络退化
主要讨论的内容
- 什么是人工神经网络,相关计算
- 反向传播算法的原理,并会计算
- 常用的优化器有哪些,了解几个典型的优化器(4种)
- 权值初始化的方法有哪些以及适应场景?(Xavier、Kaiming)
- 权值共享的基本原理是什么?
1. 基于神经网络计算心理健康程度
- 其实就是计算矩阵相乘?
- 注意是线性层的转置
2. 添加激活函数的神经网络计算
ReLU函数数学表达式:
- R e L U ( x ) = max ( 0 , x ) ReLU(x)=\max(0,x) ReLU(x)=max(0,x)
- 当(x > 0)时, R e L U ( x ) = x ReLU(x)=x ReLU(x)=x;当 x ⩽ 0 x\leqslant0 x⩽0时, R e L U ( x ) = 0 ReLU(x) = 0 ReLU(x)=0。
注意:是矩阵计算之后再叠加ReLU函数。
3. 使用神经网络预测小胖是否会变胖
4. 激活函数选择的讨论
在神经网络中,优化主要通过反向传播算法来实现。反向传播算法依赖于计算损失函数对网络中各参数的梯度,然后根据梯度来更新参数,以最小化损失函数。
Sigmoid函数的问题
- Sigmoid函数的表达式为 y = 1 1 + e − x y = \frac{1}{1 + e^{-x}} y=1+e−x1,其导数为 y ′ = y ( 1 − y ) y'=y(1 - y) y′=y(1−y)。当 x x x的值远离0时(即 x x x很大或很小),Sigmoid函数的输出会趋近于0或1。此时,Sigmoid函数的导数 y ′ y' y′会趋近于0。
- 在反向传播过程中,梯度是通过链式法则逐层传递的。如果某一层的激活函数的导数非常小,那么在反向传播时,梯度会变得更小,导致梯度消失问题。这会使得网络的训练变得非常缓慢,甚至无法收敛。
ReLU函数的优势
- ReLU函数的表达式为 y = max ( 0 , x ) y=\max(0,x) y=max(0,x)。 当(x > 0)时,ReLU函数的导数为1;当 x ≤ 0 x \leq 0 x≤0时,导数为0。
- ReLU函数的梯度在(x>0)的区域非常容易计算(恒为1),这使得在反向传播过程中,梯度能够较为稳定地传递,不会出现梯度消失的问题。这对于优化算法来说是非常方便的,能够加快网络的训练速度。
综上所述,从优化的角度来看,由于Sigmoid函数在远离0点时导数非常小,会影响优化过程,而ReLU函数的梯度容易计算,对优化过程非常方便,所以在实际应用中人们会优先选择ReLU作为激活函数,而不是Sigmoid。
5. 神经网络的设计
分析:这个问题描述了一种针对已经训练好的神经网络 f f f的攻击场景。给定一个类别为 y y y的图像 x x x,通过优化一个小的扰动 δ \delta δ,使得 x ′ = x + δ x' = x+\delta x′=x+δ在视觉上与 x x x几乎相同,但神经网络 f f f却错误地将 x ′ x' x′分类为非 y y y类别。问题询问这种精心构造的 x ′ x' x′是否会对神经网络的准确性产生负面影响。
- 肯定是弊端
- 对神经网络准确性的破坏:在实际应用中,神经网络的准确性至关重要。例如在图像分类中,如果攻击者能够找到这样的 δ \delta δ,那么他们可以轻易地误导神经网络做出错误的分类。
- 实际应用中的危害
- 自动驾驶场景:在自动驾驶应用中,如果攻击者对交通标志进行微小的、人眼难以察觉的修改(相当于找到合适的 δ \delta δ),可能会导致自动驾驶汽车误判交通标志,从而做出错误的驾驶决策,甚至引发交通事故。
- 安防监控场景:在安防监控领域,如果攻击者能够对监控图像进行类似的修改,可能会使监控系统无法正确识别人员或物体,导致安防漏洞。
- 可能不是弊端(在某些特定场景下)从研究和防御的角度
- 如果从研究和防御的角度来看,这种现象也可以促使研究人员深入研究对抗攻击和防御机制。例如,研究人员可以通过研究这种攻击方式,开发出更强大的防御算法来提高神经网络的鲁棒性。
- 这种攻击方式可以被看作是对神经网络的一种压力测试,通过发现这些潜在的漏洞,可以促使技术不断进步,使神经网络在面对各种攻击时更加稳健。
6. 深度线性模型的表达能力=线性模型
7. 神经网络退化
神经网络的基本结构:一般的神经网络由输入层、若干隐藏层和输出层组成。每一层都有若干神经元,神经元之间通过权重连接。输入数据经过多层的加权计算和激活函数的变换,最终得到输出。
Logistic回归是一种用于二分类问题的线性模型。它的数学表达式为 y = 1 1 + e − ( w T x + b ) y = \frac{1}{1 + e^{-(w^T x + b)}} y=1+e−(wTx+b)1,其中 w w w是权重向量, x x x是输入向量, b b b是偏置项。这个表达式中的 1 1 + e − z \frac{1}{1 + e^{-z}} 1+e−z1部分就是Sigmoid函数。
当神经网络只有一层且激活函数为Sigmoid函数时:设输入为 x x x,权重为 w w w,偏置为 b b b,那么这一层的输出就是 y = σ ( w T x + b ) y=\sigma(w^T x + b) y=σ(wTx+b),其中 σ \sigma σ是Sigmoid函数。这与Logistic回归的表达式完全相同。也就是说,这种情况下的神经网络实际上就是在做Logistic回归。