Wolfram 语言

训练自归一化神经网络

以往,很难对完全连接的多于几层的神经网络进行训练。所有深层网络都使用权重共享(例如卷积层或循环层)。此外,在非感知任务中,神经网络很难与传统的机器学习方法(随机森林等)竞争。自归一化神经网络 (SNN) 发布于 2017 年,是第一个可对深度全连接网络进行训练的神经网络架构,也是第一个在结构化数据(通常是成行的类和数字)上与传统方法竞争的架构。下面的例子演示了如何创建和训练这样的网络。

SNN 是一类非常简单的网络;他们只使用线性网络层、元素级非线性和 "Dropout" 的修改版本进行正则化。 构造由七个线性网络层组成的 SNN 分类器。

该网络中的关键元素是它的 "SELU" (Scaled Exponential Linear Unit) 非线性。"SELU" 非线性的独特之处在于保持数据的标准化,并避免梯度变得太小或太大。

在 UCI Letter 分类任务上训练此网络。

自归一化网络假设输入数据的均值为 0,方差为 1。对训练和测试数据进行标准化处理。

对网进行 150 轮训练,留下 5% 的数据进行验证。

对新样例应用网络。

在标准化测试集上获取训练好的网络的准确性。

自归一化网络的准确性(约为 96.4%)可与传统的机器学习方法相媲美。

相关范例

de en es fr ja ko pt-br