zoukankan      html  css  js  c++  java
  • Affine层/Softmax层的实现

    Affine 层

         分别是形状为(2,)、(2, 3)、(3,) 的多维数组。这样一来,神经元的加权和可以用Y = np.dot(X, W) + B计算出来。

         神经网络的正向传播中进行的矩阵的乘积运算在几何学领域被称为“仿射变换”。因此,这里将进行仿射变换的处理实现为“Affine层”。

    Affine层的计算图(注意变量是矩阵,各个变量的上方标记了该变量的形状)

    批版本的Affine 层

    Softmax-with-Loss 层

            softmax 函数会将输入值正规化之后再输出。

            神经网络中进行的处理有推理(inference)学习两个阶段。神经网络的推理通常不使用Softmax 层。神经网络中未被正规化的输出结果有时被称为“得分”。也就是说,当神经网络的推理只需要给出一个答案的情况下,因为此时只对得分最大值感兴趣,所以不需要Softmax 层。不过,神经网络的学习阶段则需要Softmax层。

           使用交叉熵误差作为softmax 函数的损失函数后,反向传播得到(y1 − t1, y2 − t2, y3 − t3)这样“ 漂亮”的结果。实际上,这样“漂亮”的结果并不是偶然的,而是为了得到这样的结果,特意设计了交叉熵误差函数。回归问题中输出层使用“恒等函数”,损失函数使用“平方和误差”,也是出于同样的理由(3.5 节)。也就是说,使用“平方和误差”作为“恒等函数”的损失函数,反向传播才能得到(y1 −t1, y2 − t2, y3 − t3)这样“漂亮”的结果。

  • 相关阅读:
    CF1324F Maximum White Subtree(树形dp)
    定时任务集群部署
    zookeeper服务的注册与发现
    多个定时任务服务注册到zookeeper临时顺序节点配置
    nginx反向代理
    nginx反向代理、负载均衡
    Eclipse快捷键
    下拉列表中复选框多选
    Zookeeper节点查看工具
    git打tag
  • 原文地址:https://www.cnblogs.com/latencytime/p/11079195.html
Copyright © 2011-2022 走看看