当前位置:网站首页 > 技术博客 > 正文

mlp(4.1. 多层感知机¶ Colab [mxnet] Open the notebook in Colab Colab [pytorch] Open the notebook in Colab Colab [tensorflow] Open the notebook in Colab Colab [paddle] Open the



同之前的章节一样, 我们通过矩阵 来表示个样本的小批量, 其中每个样本具有个输入特征。 对于具有个隐藏单元的单隐藏层多层感知机, 用表示隐藏层的输出, 称为隐藏表示(hidden representations)。 在数学或代码中,也被称为隐藏层变量(hidden-layer variable) 或隐藏变量(hidden variable)。 因为隐藏层和输出层都是全连接的, 所以我们有隐藏层权重 和隐藏层偏置 以及输出层权重 和输出层偏置。 形式上,我们按如下方式计算单隐藏层多层感知机的输出 :

注意在添加隐藏层之后,模型现在需要跟踪和更新额外的参数。 可我们能从中得到什么好处呢?在上面定义的模型里,我们没有好处! 原因很简单:上面的隐藏单元由输入的仿射函数给出, 而输出(softmax操作前)只是隐藏单元的仿射函数。 仿射函数的仿射函数本身就是仿射函数, 但是我们之前的线性模型已经能够表示任何仿射函数。

我们可以证明这一等价性,即对于任意权重值, 我们只需合并隐藏层,便可产生具有参数 和 的等价单层模型:

为了发挥多层架构的潜力, 我们还需要一个额外的关键要素: 在仿射变换之后对每个隐藏单元应用非线性的激活函数(activation function)。 激活函数的输出(例如,)被称为活性值(activations)。 一般来说,有了激活函数,就不可能再将我们的多层感知机退化成线性模型:

由于中的每一行对应于小批量中的一个样本, 出于记号习惯的考量, 我们定义非线性函数也以按行的方式作用于其输入, 即一次计算一个样本。 我们在 中 以相同的方式使用了softmax符号来表示按行操作。 但是本节应用于隐藏层的激活函数通常不仅按行操作,也按元素操作。 这意味着在计算每一层的线性部分之后,我们可以计算每个活性值, 而不需要查看其他隐藏单元所取的值。对于大多数激活函数都是这样。

为了构建更通用的多层感知机, 我们可以继续堆叠这样的隐藏层, 例如和, 一层叠一层,从而产生更有表达能力的模型。

  • 上一篇: webrtc sfu开源
  • 下一篇: 维度仪表有限公司
  • 版权声明


    相关文章:

  • webrtc sfu开源2025-11-29 19:01:04
  • 多层感知器和bp算法2025-11-29 19:01:04
  • linux虚拟化技术和kvm2025-11-29 19:01:04
  • c语言bfs2025-11-29 19:01:04
  • 预测模型(时序预测的三种方式:统计学模型、机器学习、循环神经网络)2025-11-29 19:01:04
  • 维度仪表有限公司2025-11-29 19:01:04
  • swagger2 ui2025-11-29 19:01:04
  • 霍夫变换检测圆的原理2025-11-29 19:01:04
  • java内存模型是什么2025-11-29 19:01:04
  • 什么是倒排索引?2025-11-29 19:01:04