【人工智能基础06】人工神经网络(练习题):神经网络的计算、激活函数的选择与神经网络的退化

文章目录

    • [1. 基于神经网络计算心理健康程度](#1. 基于神经网络计算心理健康程度)
    • [2. 添加激活函数的神经网络计算](#2. 添加激活函数的神经网络计算)
    • [3. 使用神经网络预测小胖是否会变胖](#3. 使用神经网络预测小胖是否会变胖)
    • [4. 激活函数选择的讨论](#4. 激活函数选择的讨论)
    • [5. 神经网络的设计](#5. 神经网络的设计)
    • [6. 深度线性模型的表达能力=线性模型](#6. 深度线性模型的表达能力=线性模型)
    • [7. 神经网络退化](#7. 神经网络退化)

主要讨论的内容

  • 什么是人工神经网络,相关计算
  • 反向传播算法的原理,并会计算
  • 常用的优化器有哪些,了解几个典型的优化器(4种)
  • 权值初始化的方法有哪些以及适应场景?(Xavier、Kaiming)
  • 权值共享的基本原理是什么?

1. 基于神经网络计算心理健康程度

  1. 其实就是计算矩阵相乘?
  2. 注意是线性层的转置

2. 添加激活函数的神经网络计算

  1. 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。
  2. 注意:是矩阵计算之后再叠加ReLU函数。

3. 使用神经网络预测小胖是否会变胖

4. 激活函数选择的讨论

在神经网络中,优化主要通过反向传播算法来实现 。反向传播算法依赖于计算损失函数对网络中各参数的梯度,然后根据梯度来更新参数,以最小化损失函数。

  1. 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。
    • 在反向传播过程中,梯度是通过链式法则逐层传递的。如果某一层的激活函数的导数非常小,那么在反向传播时,梯度会变得更小,导致梯度消失问题。这会使得网络的训练变得非常缓慢,甚至无法收敛。
  2. 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′是否会对神经网络的准确性产生负面影响。

  1. 肯定是弊端
    • 对神经网络准确性的破坏 :在实际应用中,神经网络的准确性至关重要。例如在图像分类中,如果攻击者能够找到这样的 δ \delta δ,那么他们可以轻易地误导神经网络做出错误的分类。
    • 实际应用中的危害
      • 自动驾驶场景 :在自动驾驶应用中,如果攻击者对交通标志进行微小的、人眼难以察觉的修改(相当于找到合适的 δ \delta δ),可能会导致自动驾驶汽车误判交通标志,从而做出错误的驾驶决策,甚至引发交通事故。
      • 安防监控场景:在安防监控领域,如果攻击者能够对监控图像进行类似的修改,可能会使监控系统无法正确识别人员或物体,导致安防漏洞。
  2. 可能不是弊端(在某些特定场景下)从研究和防御的角度
    • 如果从研究和防御的角度来看,这种现象也可以促使研究人员深入研究对抗攻击和防御机制。例如,研究人员可以通过研究这种攻击方式,开发出更强大的防御算法来提高神经网络的鲁棒性
    • 这种攻击方式可以被看作是对神经网络的一种压力测试,通过发现这些潜在的漏洞,可以促使技术不断进步,使神经网络在面对各种攻击时更加稳健。

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回归。

相关推荐
霍格沃兹测试开发学社测试人社区2 小时前
OpenAI Chatgpt 大语言模型
软件测试·人工智能·测试开发·语言模型·chatgpt
闰土_RUNTU2 小时前
Pytorch分布式训练print()使用技巧
人工智能·pytorch·python·分布式训练·训练技巧
m0_748234713 小时前
【大模型】Ollama+open-webuiAnything LLM部署本地大模型构建RAG个人知识库教程(Mac)
人工智能·macos
deephub3 小时前
ORCA:基于持续批处理的LLM推理性能优化技术详解
人工智能·深度学习·性能优化·llm
一勺汤3 小时前
YOLO11改进-模块-引入多尺度差异融合模块MDFM
人工智能·深度学习·yolo·目标检测·模块·改进·yolov11
湖南罗泽南3 小时前
交叉熵损失函数(Cross-Entropy Loss)
人工智能
A Genius4 小时前
Pytorch实现MobilenetV2官方源码
人工智能·pytorch·python
道友老李4 小时前
【OpenCV】直方图
人工智能·opencv·计算机视觉
通信仿真实验室4 小时前
Google BERT入门(5)Transformer通过位置编码学习位置
人工智能·深度学习·神经网络·自然语言处理·nlp·bert·transformer