Convolution
卷积神经网络
在卷积层,输入张量和核张量通过互相关运算产生输出张量。
这里我们先不考虑padding和stride,只考虑输入张量、核张量和输出张量的形状。输出大小等于输入大小$ n_h \times n_w$ 减去卷积核大小 $ k_h \times k_w$, 即:
\[(n_h - k_h + 1) \time...在卷积层,输入张量和核张量通过互相关运算产生输出张量。
这里我们先不考虑padding和stride,只考虑输入张量、核张量和输出张量的形状。输出大小等于输入大小$ n_h \times n_w$ 减去卷积核大小 $ k_h \times k_w$, 即:
\[(n_h - k_h + 1) \time...我们先看看如何使用单个NVIDIA GPU进行计算。 首先,确保至少安装了一个NVIDIA GPU。 然后,下载NVIDIA驱动和CUDA 并按照提示设置适当的路径。 当这些准备工作完成,就可以使用 到目前为止,我们实现的每个模型都是根据某个预先指定的分布来初始化模型的参数。 有人会认为初始化方案是理所当然的,忽略了如何做出这些选择的细节。甚至有人可能会觉得,初始化方案的选择并不是特别重要。 相反,初始化方案的选择在神经网络学习中起着举足轻重的作用, 它对保持数值稳定性至关重要。 此外,这些初始化方案的选择可以与非线性激活函数的选择有趣的结合在一起。 我们选择哪个函数以及如何初始化...
在探究泛化性之前,我们先来定义一下什么是一个“好”的预测模型? 我们期待“好”的预测模型能在未知的数据上有很好的表现: 经典泛化理论认为,为了缩小训练和测试性能之间的差距,应该以简单的模型为目标。 简单性以较小维度的形式展现, 我们在讨论线性模型的单项式函数时探讨了这一点。 此外,正如我们在前面中讨论权重衰减(正则化)时看到的那样, 参数的范数也代表了一种有用的简单性度量。 概念: 动态多态是运行时多态,通过虚函数(virtual functions) 和继承实现。程序在运行时根据对象的实际类型调用对应的函数。
Read More
我们可以使用正则化技术来解决一些过拟合问题,我们总是可以通过去收集更多的训练数据来缓解过拟合。 但这可能成本很高,耗时颇多,或者完全超出我们的控制,因而在短期内不可能做到。 假设我们已经拥有尽可能多的高质量数据,我们便可以将重点放在正则化技术上。在训练参数化机器学习模型时, 权重衰减(weight decay)是最广泛使用的正则化的技术之一, 它通常也被称为L2 与线性回归一样,softmax回归也是一个单层神经网络。 由于计算每个输出$o_1, o_2, o_3$、和取决于 所有输入$x_1, x_2, x_3$和$x_4$, 所以softmax回归的输出层也是全连接层。 我们可以通过在网络中加入一个或多个隐藏层来克服线性模型的限制, 使其能处理更普遍的函数关系类型。 要做到这一点,最简单的方法是将许多全连接层堆叠在一起。 每一层都输出到上面的层,直到生成最后的输出。 我们可以把前L-1层看作表示,把最后一层看作线性预测器。 这种架构通常称为多层感知机(multilayer perceptr...
Read More
Xavier
Dropout
C++ 模板一些机制
1. 动态多态(Dynamic Polymorphism)
权重衰减
softmax回归
1.1 网络架构
Read More
多层感知机(MLP)
隐藏层