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

文章目录

    • 1. 基于神经网络计算心理健康程度
    • 2. 添加激活函数的神经网络计算
    • 3. 使用神经网络预测小胖是否会变胖
    • 4. 激活函数选择的讨论
    • 5. 神经网络的设计
    • 6. 深度线性模型的表达能力=线性模型
    • 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 x0时, 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+ex1,其导数为 y ′ = y ( 1 − y ) y'=y(1 - y) y=y(1y)。当 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 x0时,导数为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+ez1部分就是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回归。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Lua语言入门 - Lua 数组

Lua 数组 数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。 在 Lua 中,数组不是一种特定的数据类型,而是一种用来存储一组值的数据结构。 实际上,Lua 中并没有专门的数组类型&#xff…

在Linux(ubuntu22.04)搭建rust开发环境

1.安装rust 1.安装curl: sudo apt install curl 2.安装rust最新版 curl --proto ‘https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh 安装完成后出现:Rust is installed now. Great! 重启当前shell即可 3.检验是否安装成功 rustc --version 结果出现&…

链表OJ题型讲解与总结

目录 一.引言 二.链表题型详细讲解 一.移除链表元素 二.反转单链表 三.链表的中间结点 四.链表返回倒数第k个节点 五.合并两个有序链表 六.链表分割 七.链表的回文结构 三.总结与提升 一.引言 在我们学习完单链表与双链表后,真诚建议初学者能够掌握单双链表…

深入理解 Fork/Join 并行计算框架

在并发编程领域,任务模型可以分为简单并行任务、聚合任务和批量并行任务。然而,还有一种广泛应用的任务模型——分治(Divide and Conquer)。分治是一种解决复杂问题的思维方法,它通过将复杂问题分解为多个相似的子问题…

小尺寸低功耗蓝牙模块在光伏清扫机器人上的应用

一、引言 随着可再生能源的迅速发展,光伏发电系统的清洁与维护变得越来越重要。光伏清扫机器人通过自动化技术提高了清洁效率,而蓝牙模组的集成为这些设备提供了更为智能的管理和控制方案。 二、蓝牙模组的功能与实现: 蓝牙模组ANS-BT103M…

沁恒CH32V208蓝牙串口透传例程:修改透传的串口

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…

【触想智能】工业安卓一体机日常维护注意事项以及其应用领域分析

工业安卓一体机是一种集成了安卓操作系统的工业控制设备。它广泛应用于各种工业场景,为生产和管理提供了便利。 为了保证工业安卓一体机的正常运行和延长其寿命,日常维护工作是十分重要的。下面是一些工业安卓一体机日常维护的注意事项,以及其…

12.6深度学习_模型优化和迁移_模型移植

八、模型移植 1. 认识ONNX ​ https://onnx.ai/ ​ Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。 ​ ONNX的规范及代码主要由微软…

2-2-18-14 QNX系统架构之 TCP/IP 网络

阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…

实战:MyBatis适配多种数据库:MySQL、Oracle、PostGresql等

概叙 很多时候,一套代码要适配多种数据库,主流的三种库:MySQL、Oracle、PostGresql,刚好mybatis支持这种扩展,如下图所示,在一个“namespace”,判断唯一的标志是iddatabaseId,刚好写…

电子信息工程自动化 单片机彩灯控制

摘要 随着社会经济和科学技术的不断进步,人们在保持发展的同时,环境带给人类的影响已经不足以让我们忽视,所以城市的美化问题慢慢的进入了人们的眼帘,PLC的产生给带电子产品带来了巨大变革,彩灯的使用在城市的美化中变…

【后台管理系统】-【组件封装】

目录 组件封装搜索组件table列表组件content组件自定义插槽定制modal组件动态获取options数据 组件封装 搜索组件 给页面写一个配置文件,将配置文件传入组件,可直接生成页面,以下面页面为例, 新建src/views/main/system/depart…

「嵌入式系统设计与实现」书评:学习一个STM32的案例

本文最早发表于电子发烧友论坛:【新提醒】【「嵌入式系统设计与实现」阅读体验】 学习一个STM32的案例 - 发烧友官方/活动 - 电子技术论坛 - 广受欢迎的专业电子论坛!https://bbs.elecfans.com/jishu_2467617_1_1.html 感谢电子发烧友论坛和电子工业出版社的赠书。 …

设计模式:20、状态模式(状态对象)

目录 0、定义 1、状态模式的三种角色 2、状态模式的UML类图 3、示例代码 0、定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 1、状态模式的三种角色 环境(Context):环境是一个类&#xff0…

idea中新建一个空项目

目的,为了在同一个目录下有多个小的项目:使用IDE为idea2022。 步骤: 点击新建项目,点击创建空项目,这里选择空项目是将其作为其他项目的一个容器,如图所示: 然后点击文件->项目结构&#xf…

Java基础复习

“任何时候我也不会满足,越是多读书,就越是深刻地感到不满足,越感到自己知识贫乏。科学是奥妙无穷的。” ——马克思 目录 一、方法&方法重载 二、运算符 三、数据类型 四、面向对象 1. 面向对象思想 2. 引用传递 3. 访问权限修饰…

嵌入式里的“移植”概念

这里因为最近一年看到公司某项目很多代码上有直接硬件的操作,这里有感而发,介绍移植的概念。 一、硬件 先上一个图: 举个例子,大学里应该都买过开发板,例如st的,这里三个层次, 内核&#xff…

量子计算与商业转型之旅

近年来,各组织对量子计算的应用有所增加,并使全球商业运营发生了显著变化。《财富商业洞察》的一份报告显示,2022 年量子计算市场价值为 7.17 亿美元,预计到 2030 年将达到 65.28 亿美元。 从本质上讲,量子计算机与经…

周末和男朋友户外运动美好时光

周末的时光总是那么令人期待,仿佛一周的忙碌和疲惫都在这一刻得到了释放。这次,我和男朋友决定到户外去锻炼身体,享受一下大自然的馈赠。 清晨的阳光透过窗帘的缝隙洒进房间,我懒洋洋地睁开眼睛,看到男朋友已经在一旁整…

【Git】:标签管理

目录 理解标签 创建标签 操作标签 理解标签 标签的作用 标记版本:标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名。例如,在项目发布某个版本的时候,针对最后⼀次 commit 起⼀个 v1.0 这样…