深度学习 常考简答题--[HBU]期末复习

目录

1.为什么要引用非线性激活函数?

2.什么是超参数?如何优化超参数?

3.线性回归通常使用平方损失函数,能否使用交叉熵损失函数?

4.平方损失函数为何不适用于解决分类问题?(和第3题一块复习)

​编辑

5.什么是长程依赖问题,如何解决?

6.什么是对称权重现象,有哪些解决方案?

7.什么是损失函数?常见的损失函数有哪些?

8.解释死亡ReLu问题,如何解决?

9.解释步长、零填充、感受野

10.LSTM与GRU的区别?LSTM解决了什么问题?其结构是什么?

11.分析1*1卷积核的作用

其他简答习题都在我的博客里,没时间整了。先整理这么多我认为比较重要吧

前言:这篇博客是应对期末考试简答题的,答案都是我在网上、书上搜集整合过来的,chatGPT生成的也有,大家可以选择性的背自己认为最正确的部分。希望能帮到大家。

这篇博客比较侧重简答,结合上一篇我的博客看,效果更佳。我的上一篇期末复习总结博客:NNDL学期知识点总结 [HBU]-CSDN博客


1.为什么要引用非线性激活函数?

ChatGPT4.0回答:

  1. 引入非线性:线性模型虽简单,但表达能力有限,无法处理复杂的数据如图像、语音或文本等,非线性激活函数使得神经网络能够学习和模拟任何复杂的、非线性的函数。

  2. 增加模型的灵活性和表达能力:通过引入非线性,神经网络可以学习更复杂的模式。

  3. 帮助网络收敛:非线性激活函数可以改善网络的训练过程,帮助网络更快收敛。一些非线性函数(如ReLU)还有助于缓解梯度消失问题。

  4. 提高泛化能力:非线性激活函数有助于提高模型的泛化能力,减少过拟合的风险。一些激活函数如ReLU及其变体,因其简单和有效性而广泛使用。

非线性激活函数是神经网络能够有效处理复杂、非线性问题的关键。没有它们,神经网络的应用将大大受限。

文心一言回答:

  1. 非线性:线性激活函数只能完成线性映射,而非线性激活函数能够从输入输出之间生成非线性映射,从而使得神经网络能够学习并逼近任意复杂的非线性函数。
  2. 增加网络的表示能力:通过引入非线性因素,神经网络可以学习表示非线性关系,从而更好地拟合复杂的数据。
  3. 模拟生物神经元行为:生物神经元的行为是非线性的,而非线性激活函数更好地模拟了这一特性。
  4. 解决逼近任意函数的问题:现实中很多问题是不能用线性解决的,非线性激活函数可将数据从当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。
  5. 梯度下降法的需求:非线性激活函数可以满足梯度下降法的要求,使神经网络在训练过程中能够更好地进行参数优化。

2.什么是超参数?如何优化超参数?

超参数是在开始学习过程之前设置的参数,而不是通过训练得到的参数数据。它们对模型训练的效果有重要影响,需要通过调整来优化模型的表现。

如何优化超参数?以下是chatGPT的解答:

  1. 网格搜索:对所有参数的所有可能组合进行搜索,以找到最佳的超参数组合。计算成本非常高。
  2. 随机搜索:在参数空间中进行随机抽样,并对抽样得到的超参数组合进行训练和评估。
  3. 贝叶斯优化:通过建立一个高斯过程模型来预测超参数的最佳值,并使用这个模型来指导搜索方向。
  4. 基于梯度的优化(重点):使用梯度下降或其他优化算法来寻找超参数的最优值。通常需要计算损失函数关于超参数的梯度,并沿着梯度的负方向进行搜索。这种方法需要选择合适的步长和收敛条件。

常见的超参数有:

深度学习中有哪些超参数,都有什么作用_深度学习超参数对模型性能的影响-CSDN博客

>学习率(Learning Rate):控制参数更新的步长。较小的学习率可以使模型收敛更稳定,但可能需要更多的训练时间;较大的学习率可以加快收敛速度,但可能导致不稳定或错过最优解。

>批量大小(Batch Size):每次迭代中输入到模型的样本数量。较大的批量大小可以提高训练效率,但也可能使模型陷入局部极小值或漏掉最优解;较小的批量大小可以帮助模型更好地泛化,但可能增加训练时间。

>迭代次数(Epochs):训练数据集被完整遍历的次数。较多的迭代次数可以使模型学习更充分,但如果过多,可能导致过拟合。

正则化参数(Regularization):用于控制模型的复杂度。正则化有助于减少过拟合,通过对模型的复杂度引入惩罚项。常见的正则化方法包括L1正则化、L2正则化等。

>网络结构相关超参数:如层数、每层的神经元数量、激活函数的选择等。

>优化器参数:包括动量(momentum)、权重衰减(weight decay)等。

>卷积神经网络(CNN)中的核大小、步长和填充方式等。
 


3.线性回归通常使用平方损失函数,能否使用交叉熵损失函数?

4.平方损失函数为何不适用于解决分类问题?(和第3题一块复习)

可看我的这篇博客:[23-24 秋学期] NNDL-作业2 HBU-CSDN博客


5.什么是长程依赖问题,如何解决?

长程依赖问题:RNN循环神经网络在学习过程中主要的问题是由于梯度消失和梯度爆炸导致的。通常循环神经网络只能学习到短期的依赖关系,很难建立长时间间隔的状态之间的依赖关系

如何解决:(可看我之前写过的博客,也可直接看下图,是我截取的内容)

NNDL 作业10 BPTT [HBU]-CSDN博客


6.什么是对称权重现象,有哪些解决方案?

对称权重现象:在神经网络中,如果参数都设为0,那么在第一遍前向计算的过程中所有的隐藏层神经元的激活值都相同,同时在反向传播时,所有权重更新也都相同。这种现象会导致隐藏层神经元没有区分性,即相当于隐层只有1个神经元

解决:在用反向传播算法进行参数学习时,通常采用随机参数初始化的方式而不是直接令W=0,b=0,以避免对称权重现象的发生。


7.什么是损失函数?常见的损失函数有哪些?

以邱锡鹏《神经网络与深度学习》书中为准。

什么是损失函数:损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异。

常见的损失函数(p28):

1.  0-1损失函数:最直观的损失函数是模型在训练集上的错误率,即0-1损失函数。缺点是数学性质不是很好,不连续且导数为0,难以优化。

2. 平方损失函数:预测标签y为实数值的任务中,不适用于分类问题

L=\frac{1}{2}(y-y\bar{})^2

3. 交叉熵损失函数:用于分类问题。输出为类别标签的条件概率分布

4. Hinge函数:   常用于二分类问题。


8.解释死亡ReLu问题,如何解决?

我在上一篇博客中总结过,顺便回顾一下ReLu的性质,如下图:

死亡ReLu问题:ReLu神经元在训练时容易“死亡”。如果参数在一次不恰当的更新后,第一个隐藏层中(也可能是其他隐藏层)的某个ReLu神经元在所有的训练数据上都不能被激活,那么这个神经元自身参数的梯度值永远都是0在以后的训练过程中永远不能被激活,即死亡ReLu问题。

如何解决:引出带泄露的ReLu(Leaky ReLu),Leaky ReLu在输入x<0时保持一个很小的梯度\gamma,这样当神经元非激活时也能有一个非零的梯度可以更新参数,避免永远不能被激活。其中\gamma是一个很小的单元,如0.01。其图像为:


9.解释步长、零填充、感受野

想加深理解的看我这篇博客,里面有图:

[23-24 秋学期]NNDL 作业6 卷积 [HBU]-CSDN博客

步长stride:卷积核在输入数据上每次滑动过的距离。

零填充padding:在一维矩阵中,填充即在输入数据的左右两端各添加额外的P个0;在二维矩阵中,填充是指在矩阵周围一圈添加0。填充零可以保护一些不想丢失的特征参数。

感受野:感受野是指卷积核可以感知到的输入数据的区域。感受野描述了卷积核对输入数据的感知范围。感受野的大小可以通过改变卷积核的大小和步长来调整。


10.LSTM与GRU的区别?LSTM解决了什么问题?其结构是什么?

LSTM(长短期记忆)和GRU(门控循环单元)是两种常见的循环神经网络(RNN)架构,它们都旨在解决长期依赖问题。

二者区别主要在于网络结构上:(GRU就是LSTM的简化版)

LSTM具有三个门(输入门、遗忘门和输出门)来控制记忆信息的流动。

GRU只有两个门(重置门和更新门)。

LSTM网络的三个门,分别是输入门遗忘门和输出门,作用如下:

输入门(Input Gate):决定何时将数据读入单元。它通过一个激活函数(如sigmoid函数)来控制输入单元的内容,更新单元的内部状态。

遗忘门(Forget Gate):控制上一个时刻t的内部状态需要遗忘多少信息。

输出门(Output Gate):控制当前时刻的内部状态有多少信息需要输出给外部状态

通过这三个门的作用,LSTM能够更好地处理长时间依赖问题,并避免梯度消失和梯度爆炸的问题。

LSTM结构图:(想推公式 就看下面的博客)

NNDL 作业11 LSTM [HBU ]-CSDN博客

我自己画的:

网上找的:


11.分析1*1卷积核的作用

  1. 降维和升维:1x1的卷积核可以用于改变特征图的通道数。如果卷积核的输出通道数少于输入通道数,那么它就起到了降维的作用,减少了网络的参数数量和计算量;反之,如果卷积核的输出通道数多于输入通道数,那么它就起到了升维的作用,可以增加网络的表达能力。
  2. 通道间的线性变换:1x1的卷积核只涉及到同一通道内的像素间的操作,因此它可用于实现通道间的线性变换。
  3. 跨通道信息交互:特征图中所有位置和通道间可以进行信息交互,增强了网络的特征表示能力。
  4. 减少计算量:相对于较大的卷积核,1x1的卷积核可以在不损失太多信息的情况下显著减少计算量。

其他简答习题都在我的博客里,没时间整了。先整理这么多我认为比较重要吧

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新年新风貌 苏州金龙蔚蓝公交护航高贸区“效率巴士”!

1月4日&#xff0c;由苏州市公交集团园区公司与园区高贸区管委会联合推出的4条“高贸区效率巴士”正式开行&#xff0c;这四条线路惠及包括苏州群策科技有限公司、荣旗工业科技有限公司等在内的20余家高贸区重点企业。线路开行5天来&#xff0c;效率巴士让不少企业员工感受到了…

电口模块SFP-GE-T:实现光口与电口之间的转换

电口模块是一种用于实现光口转电口功能的设备&#xff0c;在网络通信中起到重要作用。电口模块没有光电转换的过程&#xff0c;只是传输电信号。本文介绍电口模块的作用、分类、以及使用方法。 一、什么是电口模块 电口模块又被称为光转电模块&#xff0c;它是一种支持热插拔…

学校服务器安装anaconda并配置pytorch环境

学校服务器安装anaconda并配置pytorch环境 1.下载Anaconda2.传到xftp中3.在终端运行脚本命令4.安装pytorch4.1 查看cuda版本4.2 创建自己的环境4.3 下载pytorch4.4 验证pytorch是否安装成功 参考视频&#xff1a;远程服务器安装anaconda并配置pytorch环境 使用服务器运行项目&a…

软件测试大作业||测试计划+测试用例+性能用例+自动化用例+测试报告

xxx学院 2023—2024 学年度第二学期期末考试 《软件测试》&#xff08;A&#xff09;试题&#xff08;开卷&#xff09; 题目&#xff1a;以某一 web 系统为测试对象&#xff0c;完成以下文档的编写&#xff1a; &#xff08;满分 100 分&#xff09; &#xff08;1&am…

普中STM32-PZ6806L开发板(有点悲伤的故事)

简介 关于我使用 普中STM32-PZ6806L做了做了一些实验, 不小心输入12V&#xff0c;导致核心板等被烧坏, 为了利用电路和资源, 搭建了STM32F103CBT6并使用普中STM32-PZ6806L上面没有烧坏的模块的故事。 普中STM32-PZ6806L开发板 这块的STM32F103ZET6部分算是Closed了, 不准备换核…

freertos——任务通知知识总结与任务通知模拟及信号量实验、消息邮箱实验、事件标志组实验

1.任务通知概念 任务通知&#xff1a;用来通知任务的&#xff0c;任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值&#xff0c;不需要另外创建一个结构体可以直接接受别人发过来的通知 2.任务通知的优势及劣势 任务通知的优势&#xff1a; 效率更高 &#xff…

Hive基础知识(四):Hive 元数据配置到 MySQL

1. 拷贝驱动 将 MySQL 的 JDBC 驱动拷贝到 Hive 的 lib 目录下 [zzdqhadoop100 software]$ cp /home/atguigu/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib 2. 配置 Metastore 到 MySQL 1&#xff09;在$HIVE_HOME/conf 目录下新建 hive-site.xml 文件 [zzdqhadoop100 s…

Altium Designer实用系列(六)----AD问题整理,持续更新......

本篇博客会对粉丝提出的问题进行整理汇总&#xff0c;博客会持续更新… 一、 问题描述 问题1&#xff1a; 为什么我的ad点击设计之后没有update pcb document 原因&#xff1a;由于在工程中只有schDoc文件&#xff0c;没有PcbDoc&#xff0c;而导致没有“设计”–>update …

TypeScript 和 jsdom 库创建爬虫程序示例

TypeScript 简介 TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集&#xff0c;可以编译生成纯 JavaScript 代码。TypeScript 增加了可选的静态类型和针对对象的编程功能&#xff0c;使得开发更加大规模的应用容易。 jsdom 简介 jsdom 是一个…

oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)

目录 数据加载 &#xff08;一&#xff09;控制文件加载 1.创建用户执行sqlldr 2.创建文本文件和控制文件 3.查看表数据 4.查看log文件 &#xff08;二&#xff09;快捷方式加载 1.system用户执行 2.查看表数据 3.查看log文件 外部表 数据加载和传输的工具&#xff1…

【docker】centos7安装harbor

目录 零、前提一、下载离线包二、安装三、访问四、开机自启 零、前提 1.前提是已经安装了docker和docker-compose 一、下载离线包 1. csdn资源&#xff1a;harbor-offline-installer-v2.10.0.tgz 2. 百度云盘&#xff08;提取码&#xff1a;ap3t&#xff09;&#xff1a;harbo…

2023三星齐发,博客之星、华为OD、Java学习星球

大家好&#xff0c;我是哪吒。 一、回顾2023 2023年&#xff0c;华为OD成了我的主旋律&#xff0c;一共发布了561篇文章&#xff0c;其中包含 368篇华为OD机试的文章&#xff1b;100篇Java基础的文章40多篇MongoDB、Redis的文章&#xff1b;30多篇数据库的文章&#xff1b;2…

Java多线程并发篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、ExecutorService、 Callable、 Future 有返回值线程二、基于线程池的方式三、4 种线程池前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去…

VS2022 | 调整适配虚幻5的设置

VS2022 | 调整适配虚幻5的设置

系统存储架构升级分享 | 京东云技术团队

一、业务背景 系统业务功能&#xff1a;系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响分布式缓存可进行单独扩容, 与存储及查询功能升级无关通过…

1.2 Hadoop概述

小肥柴的Hadoop之旅 1.2 Hadoop概述 目录1.2 Hadoop概述1.2.1 回归问题1.2.2 Google的三篇论文1.2.3 Hadoop的诞生过程1.2.4 Hadoop特点简介 参考文献和资料 ) 目录 1.2 Hadoop概述 1.2.1 回归问题 通过前一篇帖子的介绍&#xff0c;特别是问题思考部分的说明&#xff0c;我…

GCN的使用和包的安装(超详细)

文章目录 工具包安装方法首先进入官网&#xff0c;找到安装包的地址进入后&#xff0c;找到自己的torch版本进入后&#xff0c;将每种对应的包都下载到本地&#xff0c;用本地命令安装然后就是本地安装了最后就是pip install pytorch_geometric 工具包安装方法 一定参考其GITH…

【ASP.NET Core 基础知识】--项目结构

一、ASP.NET Core项目的基本结构 ASP.NET Core项目的基本结构通常遵循一种标准的组织方式&#xff0c;这有助于提高项目的可维护性和可扩展性。以下是一个典型的ASP.NET Core项目的基本结构&#xff1a; 项目文件 (.csproj): 项目的主要配置文件&#xff0c;定义了项目的依…

idea创建javaweb项目步骤超详细(2022最新版本)

目录 前言必读 一、新建文件 1.在idea里面点击文件-新建-项目 2.新建项目-更改名称为自己想要的项目名称-创建 3.右键自己建立的项目-添加框架支持&#xff08;英文版是Add Framework Support...&#xff09; 4.勾选Web应用程序-确定 5.建立成功界面 二、配置tomcat 6.…

Java游戏开发 —— 坦克大战

引言&#xff1a; 坦克大战也是小时一个比较经典的游戏了&#xff0c;我在网上也是参考了韩顺平老师写的坦克大战&#xff0c;并做了一下完善&#xff0c;编写出来作为儿时的回忆吧&#xff01; 思路&#xff1a; 创建主窗口&#xff0c;加载菜单及游戏面板。 在游戏面板中初始…