4.多层感知机.md · sun/湖州师范学院 人工智能导论 课程习题集 | 您所在的位置:网站首页 › 人工智能导论考试简答题 › 4.多层感知机.md · sun/湖州师范学院 人工智能导论 课程习题集 |
4.1 激活函数
出题人:20180821 郁金香 2018082234 知识点:4.1.2. 激活函数 题型:简答题 题目:(5分)激活函数通过计算加权和并加上偏置来确定神经元是否应该被激活。它们是将输入信号转换为输出的可微运算。大多数激活函数都是非线性的。请分别写出至少五个常见的激活函数的计算公式。 解答: $ReLU(X) = max(0,x)$ (1分) $Sigmoid(x)=\frac {1}{1+e^{-x}}$ (1分) $tanh(x)=\frac {e^x-e^{-x}}{e^x+e^{-x}}$ (1分) $LeakyReLU = max(x,\gamma x)$ (1分) $PReLU(x) = max(0,x) + \alpha min(0,x) $ (1分) $RReLU(x) = max(0,x) + \beta min(0,x)$ (1分) $Swish(x) = x \sigma(\beta x) $(1分) $Softplus(x) = ln(1+e^x)$ (1分) 4.2欠拟合和过拟合出题人:20180821 吴传杰 2018082212 知识点:4.4. 模型选择、欠拟合和过拟合 题型:简答题 题目:(5分)什么是欠拟合,过拟合,如何处理过拟合? 解答: 欠拟合是指模型无法继续减少训练误差。意味着我们的模型过于简单,无法捕获我们试图学习的模式。(1分) 过拟合是指训练误差远小于验证误差。(1分) 处理方法: 正则化是处理过拟合的常用方法。在训练集的损失函数中加入惩罚项,以降低学习到的模型的复杂度。(1分) 除了控制权重向量的维数和大小之外,dropout也是避免过拟合的另一种工具。它们通常是联合使用的。(1分) 选择一个复杂度适当的模型,避免使用数量不足的训练样本。(1分) 4.3ReLU函数出题人: 20180821 项晓扬 2018082208 知识点:4.1. 多层感知机(ReLU函数) 题型:简答题 题目:(5分)给定元素x,ReLU函数被定义为该元素与0的最大值。写出ReLU函数表达式并画出函数图像,并求出导数(不可导点默认取左侧导数),并解释在多层感知机中可以使用ReLU函数的原因. 解答: ReLU函数表达式: $ReLU(x)=max(x,0)$ (1分) $$ \frac{d}{dx}ReLU(x)=\begin{cases} 0, & x \leq 0; \\ 1, & x>0. \end{cases}(2分) $$ 原因:使用ReLU的原因是,它求导表现得特别好:要么让参数消失,要么让参数通过。这使得优化表现得更好,并且ReLU减轻了困扰以往神经网络的梯度消失问题.(2分) 4.5 激活函数出题人:20180822 胡波 2018082211 知识点:激活函数 题目:(5分)神经网络中为什么需要使用激活函数? (以下图一含单隐含层的多层感知机进行说明) 题目类型:简答题 答案: 在不使用激活函数时 隐藏层的计算为 $\mathrm{H}=\mathrm{XWh}+\mathrm{Bh}$ (1分) 输出层的计算为 $\mathrm{O}=\mathrm{HWo}+\mathrm{Bo}$(1分) 如果将以上两个公式联立起来, 则可以得到 $\mathrm{O}=(\mathrm{XWh}+\mathrm{Bh}) \mathrm{W}_{\mathrm{O}}+\mathrm{Bo}=\mathrm{XWhWo}+\mathrm{BhWo}+\mathrm{Bo}$ 化简得到 $\mathrm{O}=\mathrm{XW}+\mathrm{B}$(1分) 在使用激活函数时 $\mathrm{O}=\sigma(\sigma(\mathrm{XWh}+\mathrm{Bh}) \mathrm{Wo}+\mathrm{Bo})$(1分) 由上面的例子可以得出,如果不使用激活函数的话,虽然我们使用了隐藏层,但是实际还是一个单元神经,所以我们需要使用激活函数。(1分) 4.6 多层感知机中的激活函数-sigmoid函数出题人:20180821 朱旖晗 2018082320 知识点:4.1多层感知机中的激活函数-sigmoid函数 题目:综合题(5分) 推导sigmoid函数的导数计算公式,以及在python上的实现程序。 解答:sigmoid函数表达式: $$ σ(x)= \frac{1}{1+e^{-x}} (1分) $$ 其导数为: $$ \frac{d}{dx}σ(x)=\frac{d}{dx}( \frac{1}{1+e^{-x}}) $$ $$ =\frac{e^{-x}}{(1+e^{-x})^2} $$ $$ =\frac{(1+e^{-x})-1}{(1+e^{-x})^2} $$ $$ =\frac{1+e^{-x}}{(1+e^{-x})^2}-(\frac{1}{1+e^{-x}})^2 $$ $$ =σ(x)-σ(x)^2 $$ $$ =σ(1-σ) (1分) $$ 在python上的实现: import numpy as np def sigmoid(x): return 1 / (1 + np.exp(-x)) (1分) def derivative(x): return sigmoid(x)*(1-sigmoid(x)) (2分) 4.8 多层感知机出题人:20180822 邹秋碧 2018082432 知识点:4.8. 梯度消失和梯度爆炸 题型:简答题 题目:(10分)梯度消失和梯度爆炸的问题是如何产生的?(4分)应该如何解决?(6分,每点1分) 答:梯度消失产生的原因(4分) 隐藏层的层数过多; 采用了不合适的激活函数(更容易产生梯度消失,但是也有可能产生梯度爆炸) 梯度爆炸产生的原因: 隐藏层的层数太多; 权重初始化值过大。 解决方法(6分) 预训练加微调 进行梯度剪裁(Gradient Clipping) 使用正则化限制参数大小 ReLU、LeakyReLU、ELU等激活函数 批量归一化(BatchNormalization) 使用残差网络(ResNet) 采用LSTM 4.9 多层感知器出题人:20180821 周钰阳 2018082121 知识点:4.7 正向传播,反向传播 题型:简答题 题目:(5分)什么是正向传播和反向传播? 解答: 正向传播是指数据从X传入到神经网络,经过各个隐藏层得到最终损失的过程。 (2分) 反向传播指的是计算神经网络参数梯度的方法。(1分) 主要是针对神经网络优化的过程中进行,在L端计算总的损失函数, 然后根据梯度递减公式,逐层的向前反馈,形成反向传播机制,可以优化参数。(2分) 4.10 Dropout出题人:20180821 李佳音 2018082325 知识点:4.6 Dropout 题型:简答题 题目:(5分)什么是dropout?为什么使用dropout?深度学习模型在什么时候使用dropout? 解答: dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。(1分) 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。(2分) 深度学习模型训练时候使用dropout实际上只是让部分神经元在当前训练批次以一定的概率不参与更新,这样使得每一轮迭代获得的模型都是不一样。这个过程一定程度上保持了不同模型之间最优参数设置,使得训练出的每一个模型不至于太差。(2分) 4.12 权重衰减出题人:20180822 许滢滢 2018082421 知识点:4.5 权重衰减 题型:简答题 题目:(5分)什么是权重衰减?权重衰减有何作用? 解答: 权重衰减即L2正则化,目的是通过在Loss函数后加一个正则化项,通过使权重减小的方式,一定减少模型过拟合的问题。(2分) L2正则化使得训练的模型在兼顾最小化分类(或其他目标)的Loss的同时,使得权重w尽可能地小,从而将权重约束在一定范围内,减小了模型的复杂度;同时,如果将w约束在一定范围内,也能够有效防止梯度爆炸。(3分) 4.13 模型选择、欠拟合和过拟合出题人:20180822 葛瑛佳 2018082520 知识点:4.4 模型选择、欠拟合和过拟合 题型:简答题 题目:(5分)哪些方法可以用来降低深度学习模型的过拟合问题,并简要说明? 答案: 增加更多的数据。让模型泛化的能力更好的最好办法就是使用更多的训练数据进行训练,但是在实践中,我们拥有的数据是有限的,解决这一问题可以人为的创造一些假数据添加到训练集中。 使用数据扩增技术。可从数据源头采集更多数据;复制原有数据并加上随机噪声;重采样;根据当前数据集估计数据分布参数,使用该分布产生更多数据等方法实现。 Dropout,神经网络在每一次迭代过程中随机地丢弃神经网络中的神经元。每当我们丢弃不同的神经元,相当于重新训练了一个新的神经网络。 正规化数据。正则化方法是指在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项,一般有L1正则与L2正则等. 提前终止。提前终止是一种迭代次数截断的方法来防止过拟合的方法,即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。 4.14 Dropout出题人:20180821 罗翔语 2018082311 知识点:4.6 Dropout 题型:编程题 题目:(5分) 实现 dropout_layer 函数,该函数以dropout的概率丢弃张量输入X中的元素,如上所述重新缩放剩余部分:将剩余部分除以1.0-dropout。 解答: import torch from torch import nn from d2l import torch as d2l (1分) def dropout_layer(X, dropout): assert 0 |
CopyRight 2018-2019 实验室设备网 版权所有 |