机器学习笔记 - 深度学习常见问题三

1、什么是损失函数?

        损失函数也称为“成本”或“错误”,是一种评估模型性能好坏的度量。它用于计算反向传播期间输出层的误差。我们通过神经网络将该误差向后推,并在不同的训练函数中使用它。

2、什么是梯度下降?

        梯度下降是最小化成本函数或最小化错误的最佳算法。目的是找到函数的局部-全局最小值。这决定了模型应该采取的减少误差的方向。

 3、你对反向传播的理解是什么?

        反向传播误差并更新权重以减少误差。

 4、前馈神经网络和循环神经网络有什么区别?

        前馈神经网络信号从输入到输出沿一个方向传播。没有反馈回路;网络只考虑当前输入。它不能记住以前的输入(例如,CNN)。

        循环神经网络的信号双向传播,形成一个循环网络。它考虑当前输入和先前接收到的输入,以生成层的输出,并且由于其内部存储器,它可以记住过去的数据。

5、循环神经网络 (RNN) 有哪些应用?

        RNN可用于情感分析、文本挖掘和图像字幕。循环神经网络还可以解决时间序列问题,例如预测一个月或季度的股票价格。

6、什么是 Softmax 和 ReLU 函数?

        Softmax 是一种激活函数,可生成介于 0 和 1 之间的输出。它将每个输出除以,使得输出的总和等于 1。Softmax 通常用于输出层。

         ReLU(或整流线性单元)是使用最广泛的激活函数。如果 X 为正,则输出 X,否则为零。ReLU 常用于隐藏层。

 7、什么是超参数?

        超参数是在学习过程开始之前设置其值的参数。它决定了网络的训练方式和网络的结构(例如隐藏单元的数量、学习率、时期等)。

8、学习率设置过低或过高会怎样?

        当您的学习率太低时,模型的训练将进展得非常缓慢,因为我们对权重的更新很少。在达到最低点之前需要多次更新。

        如果学习率设置得太高,由于权重的急剧更新,这会导致损失函数出现不良的发散行为。它可能无法收敛(模型可以提供良好的输出)甚至发散(数据太混乱,网络无法训练)。

 9、什么是Dropout和Batch Normalization?

        Dropout 是一种随机丢弃网络的隐藏和可见单元以防止数据过度拟合的技术(通常丢弃 20% 的节点)。它使收敛网络所需的迭代次数加倍。

         批量归一化是一种通过对每一层的输入进行归一化以使它们的平均输出激活为零和标准差为 1 来提高神经网络性能和稳定性的技术。

10、批量梯度下降和随机梯度下降有什么区别?

        批量梯度下降:批量梯度使用整个数据集计算梯度。收敛需要时间,因为数据量大,权重更新慢。

        随机梯度下降:随机梯度使用单个样本计算梯度。它的收敛速度比批量梯度快得多,因为它更频繁地更新权重。

11、网络中的权重是如何初始化的?

        将所有权重初始化为 0:这使您的模型类似于线性模型。所有的神经元和每一层都执行相同的操作,提供相同的输出并使深度网络无用。

        随机初始化所有权重:在这里,通过将权重初始化为非常接近 0 来随机分配权重。由于每个神经元执行不同的计算,它为模型提供了更好的准确性。这是最常用的方法。

12、CNN 上有哪些不同的层?

        卷积层 - 执行卷积操作的层,创建几个较小的图片窗口来遍历数据。

        ReLU 层 - 它为网络带来非线性并将所有负像素转换为零。输出是一个修正的特征图。

        池化层 - 池化是一种下采样操作,可以降低特征图的维数。

        全连接层 - 该层识别和分类图像中的对象。

13、CNN 上的 Pooling 是什么,它是如何工作的?

        池化用于减少 CNN 的空间维度。它执行下采样操作以降低维度,并通过在输入矩阵上滑动过滤器矩阵来创建池化特征图。

14、LSTM 网络如何工作? 

        长短期记忆 (LSTM) 是一种特殊的循环神经网络,能够学习长期依赖关系,将长时间记忆信息作为其默认行为。LSTM 网络分为三个步骤:

  • 第 1 步:网络决定忘记什么和记住什么。
  • 第 2 步:它有选择地更新单元状态值。
  • 第 3 步:网络决定当前状态的哪一部分输出。

15、什么是消失梯度和爆炸梯度? 

        在训练 RNN 时,斜率可能会变得太小或太大;这使训练变得困难。当斜率太小时,这个问题被称为“梯度消失”。当斜率趋于指数增长而不是衰减时,它被称为“爆炸梯度”。梯度问题导致训练时间长、性能差、准确率低。

 16、深度学习中的 Epoch、Batch 和 Iteration 有什么区别?

  • Epoch - 表示对整个数据集的一次迭代(放入训练模型的所有内容)。
  • Batch - 指当我们不能一次将整个数据集传递到神经网络时,我们将数据集分成几个批次。
  • Iteration - 如果我们有 10,000 张图像作为数据并且批量大小为 200。那么一个时期应该运行 50 次迭代(10,000 除以 50)。

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/123507861