神经网络面试题-1

2023-10-29

文章目录

1. 批规范化(Batch Normalization)的好处都有啥?

A. 让每一层的输入的范围都大致固定
B. 它将权重的归一化平均值和标准差
C. 它是一种非常有效的反向传播(BP)方法
D. 这些均不是


正确答案是:A, 您的选择是:B
解析:

batch normalization 就是对数据做批规范化,使得数据满足均值为0,方差为1的高斯分布。其主要作用是缓解DNN训练中的梯度消失/爆炸现象,加快模型的训练速度。 但是注意是对数据做批规范化,不是对权重
BN的优点:

  1. 极大提升了训练速度,收敛过程大大加快;
  2. 增加了分类效果,一种解释是这是类似于Dropout的一种防止过拟合的正则化表达方式,所以不用Dropout或正则化也能达到相当的效果;
  3. 简化了调参过程,对于初始化参数权重不太敏感,允许使用较大的学习率

2. 如果我们用了一个过大的学习速率会发生什么?

A. 神经网络会收敛
B. 不好说
C. 都不对
D. 神经网络不会收敛


正确答案是:D, 您的选择是:B
解析:过大,说明不适合,梯度下降时,梯度会来回震荡,神经网络不会收敛。

3. 下图所示的网络用于训练识别字符H和T,如下所示

在这里插入图片描述

A. 在这里插入图片描述

B. 在这里插入图片描述

C. 在这里插入图片描述

D. 可能是A或B,取决于神经网络的权重设置


正确答案是:D, 您的选择是:D
解析:不知道神经网络的权重和偏差是什么,则无法判定它将会给出什么样的输出

4. 增加卷积核的大小对于改进卷积神经网络的效果是必要的吗?

A. 没听说过
B. 是
C. 否
D. 不知道


正确答案是:C, 您的选择是:C

解析:C,增加核函数的大小不一定会提高性能。这个问题在很大程度上取决于数据集。

5. 假设我们已经在ImageNet数据集(物体识别)上训练好了一个卷积神经网络。然后给这张卷积神经网络输入一张全白的图片。对于这个输入的输出结果为任何种类的物体的可能性都是一样的,对吗?

A 对的
B 不知道
C 看情况
D 不对


正确答案是:D, 您的选择是:D
解析:已经训练好的卷积神经网络, 各个神经元已经精雕细作完工, 对于全白图片的输入, 其层激活输出给最后的全连接层的值几乎不可能恒等, 再经softmax转换之后也不会相等, 所以"输出结果为任何种类的等可能性一样"也就是softmax的每项均相等, 这个概率是极低的。

6. 对于一个分类任务,如果开始时神经网络的权重不是随机赋值的,而是都设成0,下面哪个叙述是正确的?

A 其他选项都不对
B 没啥问题,神经网络会正常开始训练
C 神经网络可以训练,但是所有的神经元最后都会变成识别同样的东西
D 神经网络不会开始训练,因为没有梯度改变

正确答案是:C, 您的选择是:D
解析:

令所有权重都初始化为0这个一个听起来还蛮合理的想法也许是一个我们假设中最好的一个假设了, 但结果是错误的,因为如果神经网络计算出来的输出值都一个样,那么反向传播算法计算出来的梯度值一样,并且参数更新值也一样(w=w−α∗dw)。更一般地说,如果权重初始化为同一个值,网络即使是对称的, 最终所有的神经元最后都会变成识别同样的东西。

7. 下图显示,当开始训练时,误差一直很高,这是因为神经网络在往全局最小值前进之前一直被卡在局部最小值里。为了避免这种情况,我们可以采取下面哪种策略?

在这里插入图片描述
A 改变学习速率,比如一开始的几个训练周期不断更改学习速率
B 一开始将学习速率减小10倍,然后用动量项(momentum)
C 增加参数数目,这样神经网络就不会卡在局部最优处
D 其他都不对

正确答案是:A, 您的选择是:A
解析:选项A可以将陷于局部最小值的神经网络提取出来。

8. 对于一个图像识别问题(在一张照片里找出一只猫),下面哪种神经网络可以更好地解决这个问题?

A 循环神经网络
B 感知机
C 多层感知机
D 卷积神经网络

正确答案是:D, 您的选择是:D
解析:卷积神经网络将更好地适用于图像相关问题,因为考虑到图像附近位置变化的固有性质。

9. 假设在训练中我们突然遇到了一个问题,在几次循环之后,误差瞬间降低, 你认为数据有问题,于是你画出了数据并且发现也许是数据的偏度过大造成了这个问题。你打算怎么做来处理这个问题?

在这里插入图片描述
在这里插入图片描述
A 对数据作归一化
B 对数据取对数变化
C 都不对
D 对数据作主成分分析(PCA)和归一化


正确答案是:D, 您的选择是:D
解析:首先您将相关的数据去掉,然后将其置零。具体来说,误差瞬间降低, 一般原因是多个数据样本有强相关性且突然被拟合命中, 或者含有较大方差数据样本突然被拟合命中. 所以对数据作主成分分析(PCA)和归一化能够改善这个问题。

感觉只使用BN就可以了,没必要PCA

10. 在下图中,我们可以观察到误差出现了许多小的"涨落"。 这种情况我们应该担心吗?

在这里插入图片描述
A 需要,这也许意味着神经网络的学习速率存在问题
B 不需要,只要在训练集和交叉验证集上有累积的下降就可以了
C 不知道
D 不好说


正确答案是:B, 您的选择是:B
解析:选项B是正确的,为了减少这些“起伏”,可以尝试增加批尺寸(batch size)。具体来说,在曲线整体趋势为下降时, 为了减少这些“起伏”,可以尝试增加批尺寸(batch size)以缩小batch综合梯度方向摆动范围. 当整体曲线趋势为平缓时出现可观的“起伏”, 可以尝试降低学习率以进一步收敛. “起伏”不可观时应该提前终止训练以免过拟合

我的理解是网络在使用某一batch进行梯度更新时,该batch内的数据与其他数据偏差较大,导致梯度更新时的方向错了。最终导致该epoch中的数据都被带偏了,所以该epoch下Error率升高了。

10. 对于神经网络的说法, 下面正确的是 :

  1. 增加神经网络层数, 可能会增加测试数据集的分类错误率
  2. 减少神经网络层数, 总是能减小测试数据集的分类错误率
  3. 增加神经网络层数, 总是能减小训练数据集的分类错误率

A 1
B 1 和 3
C 1 和 2
D 2


正确答案是:A, 您的选择是:A
解析:深度神经网络的成功, 已经证明, 增加神经网络层数, 可以增加模型泛化能力, 即, 训练数据集和测试数据集都表现得更好. 但更多的层数, 也不一定能保证有更好的表现(https://arxiv.org/pdf/1512.03385v1.pdf). 所以, 不能绝对地说层数多的好坏, 只能选A

理论上层数越多模型的表示能力越强,但当层数超出数据集的范围后,会导致过拟合。

11. 考虑某个具体问题时,你可能只有少量数据来解决这个问题。不过幸运的是你有一个类似问题已经预先训练好的神经网络。可以用下面哪种方法来利用这个预先训练好的网络?

A 把除了最后一层外所有的层都冻结,重新训练最后一层
B 对新数据重新训练整个模型
C 只对最后几层进行调参(fine tune)
D 对每一层模型进行评估,选择其中的少数来用


正确答案是:C
解析:如果有个预先训练好的神经网络, 就相当于网络各参数有个很靠谱的先验代替随机初始化.

  • 若新的少量数据来自于先前训练数据(或者先前训练数据量很好地描述了数据分布, 而新数据采样自完全相同的分布), 则冻结前面所有层而重新训练最后一层即可; -> 迁移学习
  • 但一般情况下, 新数据分布跟先前训练集分布有所偏差, 所以先验网络不足以完全拟合新数据时, 可以冻结大部分前层网络, 只对最后几层进行训练调参(这也称之为fine tune)。 -> fine tuning

12. 深度学习是当前很热门的机器学习算法,在深度学习中,涉及到大量的矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为m∗n,n∗p,p∗q,且m < n < p < q,以下计算顺序效率最高的是()

A. (AB)C
B. AC(B)
C. A(BC)
D. 所以效率都相同


正确答案是:A

解析:

  • 首先,根据简单的矩阵知识,因为 A*B , A 的列数必须和 B 的行数相等。因此,可以排除 B 选项
  • 然后,再看 A 、 C 选项。在 A 选项中,m∗n 的矩阵 A 和n∗p的矩阵 B 的乘积,得到 m∗p的矩阵 A*B ,而 A∗B的每个元素需要 n 次乘法和 n-1 次加法,忽略加法,共需要 m∗n∗p次乘法运算。
  • 同样情况分析 A*B 之后再乘以 C 时的情况,共需要 m∗p∗q次乘法运算
  • 因此, A 选项 (AB)C 需要的乘法次数是 m∗n∗p+m∗p∗q 。
  • 同理分析, C 选项 A (BC) 需要的乘法次数是 n∗p∗q+m∗n∗q。

13. 下列哪个神经网络结构会发生权重共享?

A 卷积神经网络
B 循环神经网络
C 全连接神经网络
D 选项A和B


正确答案是:D
解析:CNN卷积核卷积计算时可以重复用。 RNN序列的每个时间步的参数都是共享的

14. 在下面哪种情况下,一阶梯度下降不一定正确工作(可能会卡住)?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

正确答案是:B
解析:这是鞍点(Saddle Point)的梯度下降的经典例子。另,本题来源于:https://www.analyticsvidhya.com/blog/2017/01/must-know-questions-deep-learning/。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

神经网络面试题-1 的相关文章

随机推荐

  • scrapy爬虫框架简绍与安装使用

    Scrapy Scrapy是一个为了爬取网站数据 提取结构性数据而编写的应用框架 其可以应用在数据挖掘 信息处理或存储历史数据等一系列的程序中 其最初是为了页面抓取 更确切来说 网络抓取 所设计的 也可以应用在获取API所返回的数据 例如
  • 简单说一说手机中常用的芯片-OVP芯片

    什么是OVP OVP Over Voltage Protection 即过压保护 电压值超过一定值后 对后级电路起到了保护作用 避免因输入电压过大 导致后级电路损坏 过压保护的方式有很多种 然而运用在手机端的 往往是采用OVP芯片 价格实惠
  • mysql 索引 长文本 失败_MySQL: 长文本字段上建索引的有关问题与解决方案_mysql

    mysql 长文本字段上建索引的问题与解决方案 文本字段越长 在这个字段上建索引的代价就越高 为了解决这个问题 可以为这个字段配一个hash字段 然后在这个hash字段上建索引 如 select from log where url has
  • 微信小程序开发【前端+后端(java)】

    前言 现在微信小程序越来越火了 相信不少人都通过各种途径学习过微信小程序或者尝试开发 作者就是曾经由于兴趣了解开发过微信小程序 最终自己的毕业设计也是开发一个微信小程序 所以现在用这篇博客记录我之前开发的一些经验和一些心得吧 主要内容 sp
  • unity网络实战开发(丛林战争)-正式开发阶段(015-游戏场景及开始界面UI搭建)

    使用工具 VS2017 unity3d 使用语言 c 作者 Gemini xujian 参考 siki老师 丛林战争 视频教程 上一篇文章中 我已经完成了游戏客户端与服务器端的初步连接 接下来将开始进行游戏场景与开始界面UI的搭建 01 控
  • 我的YAF论坛(Yet Another Forum)的部署方法

    网上已经有一些关于YAF论坛 Yet Another Forum 的部署方法 在这里我也写一下自己的部署方法 希望能对大家有帮助 我部署的YAF的版本是v1 9 1 6 写这文章的时候 v1 9 1 8刚出几天呢 基于学习目的我是直接使用源
  • 使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件

    写在前面的两点说明 1 我的操作系统版本为Win7 AutoHotKey版本为1 1 23 05 2 因AutoHotKey单词太长 所以在下文中统一用缩写AHK代替 方法一 通过Windows上下文菜单快速创建EXE文件 用鼠标右键单击a
  • 怎样在python 上输入文字_python如何实现手动输入文字

    Python中可以使用input 函数接收用户输入的文字 函数语法 input prompt 参数说明 prompt 提示信息 示例 gt gt gt a input input input 123 输入整数 gt gt gt type a
  • C#数组 添加元素

    例1 string a new string 1 2 3 给a追加一个 4 string a new string 1 2 3 List b a ToList b Add 4 a b ToArray 例2 有两个个数组byte s1 1 2
  • 堆和栈的区别(转过无数次的文章)

    一 预备知识 程序的内存分配 一个由C C 编译的程序占用的内存分为以下几个部分 1 栈区 stack 由编译器自动分配释放 存放函数的参数值 局部变量的值等 其 操作方式类似于数据结构中的栈 2 堆区 heap 一般由程序员分配释放 若程
  • unity Texture2d Base64 相互转换

    Base64ToTexture2D public Texture2D Base64ToTexture2D string Base64STR Texture2D pic new Texture2D 190 190 TextureFormat
  • java连接数据库

    学习目标 java连接数据库 学习内容 导入Jar驱动包 1 然后右击项目文件夹 打开模块设置 2 打开后按一下方式操作 3 找到刚才粘贴的jar包选择 4 勾选应用 2 注册驱动 Class forName com mysql jdbc
  • 使用setStyleSheet来设置图形界面的外观

    关于QPushButton的问题 hover press我用setStyleSheet为一个QPushButton贴了一个背景图片 但是 当点了按钮之后 会出现虚线框 这样看起来就很丑 不逼真了 我不希望这个虚线框出现 有什么好的解决方法吗
  • Python利用POP3/SMTP服务自动发送qq邮件

    自动发送qq邮件的两种方法 第一种 POP3 SMTP服务发送qq邮件 废话不多说 直接上代码 coding utf 8 import smtplib from email mime text import MIMEText from em
  • HTML页面

    HTML 1 资源分类 1 1 静态资源 使用静态网页开发技术发布的资源 特点 所有用户访问 得到的结果是一样的 如 文本 图片 音频 视频 HTML CSS JavaScript 如果用户请求的是静态资源 那么服务器会直接将静态资源发送给
  • [每日两题系列]刷算法题咯~~

    今日题目 判定是否互为字符重排 最后一块石头的重量 本系列所选题目均来自力扣或者牛客网站 所选题目主要是以其中的简单题为主 中等题为辅 包含少数困难题 原因是 本人目前能力还不够 开展这个系列的目的是督促自己 在暑假的时间里也要保持有一定的
  • #define用法总结

    刚开始接触VC 的同学们 估计对这个东西有这莫大的恐惧 这个经常写在添加头文件的地方的奇怪语句 如果看过mfc那么 那么拿出一些application framework里面的宏 估计会吓死一片 说了这么多只是想说 不明白其用法的人很害怕
  • 经典法谱估计(1)周期图法MATLAB及Python实现

    原理 对于一个无限长序列x n 其傅里叶变换DTFT 也可称作离散时间傅里叶变换 及其反变换的定义式为 但是在我们的分析处理过程中 只能分析处理离散化的信号 也即N点取样 对于一个长度为N的有限长序列x n 其离散傅里叶变换及其反变换的定义
  • osgEarth的Rex引擎原理分析(一二一)osgEarth::TileRasterizer功能详解

    目标 五十二 中的问题123 本质是一个相机 用于将下面的节点渲染到纹理中 src osgEarth TileRasterizer class OSGEARTH EXPORT TileRasterizer public osg Camera
  • 神经网络面试题-1

    文章目录 1 批规范化 Batch Normalization 的好处都有啥 2 如果我们用了一个过大的学习速率会发生什么 3 下图所示的网络用于训练识别字符H和T 如下所示 4 增加卷积核的大小对于改进卷积神经网络的效果是必要的吗 5 假