主要内容

理解浅层网络数据结构

本主题讨论输入数据结构的格式如何影响网络的模拟。它开始于静态网络,然后继续动态网络。下一节描述数据结构的格式如何影响网络训练。

有两种基本类型的输入向量:那些发生的同时(在同一时间,或者没有特定的时间顺序),以及发生的事情按顺序在时间。对于并行向量来说,顺序并不重要,如果有许多并行运行的网络,你可以为每个网络提供一个输入向量。对于序列向量,向量出现的顺序是很重要的。

静态网络中并行输入的仿真

模拟网络最简单的情况是,要模拟的网络是静态的(没有反馈或延迟)。在这种情况下,您不需要关心输入向量是否按照特定的时间序列出现,因此可以将输入视为并发的。此外,假设网络只有一个输入向量,问题就变得更简单了。以下面的网络为例。

要建立这个线性前馈网络,使用以下命令:

网= linearlayer;net.inputs{1}。大小= 2;net.layers{1}。尺寸= 1;

为简单起见,将权重矩阵和偏差赋值为W= [1 2] andb=[0]。

这些分配的命令是

网。Iw {1,1} = [1 2];网。b{1} = 0;

假设网络仿真数据集由= 4个并发向量:

p 1 ( 1 2 p 2 ( 2 1 p 3. ( 2 3. p 4 ( 3. 1

并发向量以单个矩阵的形式呈现给网络:

P = [1 2 2 3;2 1 3 1];

现在你可以模拟网络:

A = 5 4 8 5

在此基础上,提出了一个由多个并发向量组成的单一矩阵,并由网络生成一个由多个并发向量组成的单一矩阵作为输出。如果有四个网络并行运行,并且每个网络接收一个输入向量并产生一个输出,结果将是相同的。输入向量的顺序并不重要,因为它们之间没有相互作用。

动态网络中顺序输入的仿真

当网络包含延迟时,网络的输入通常是按一定时间顺序出现的输入向量序列。为了说明这种情况,下一个图显示了一个包含一个延迟的简单网络。

下面的命令创建这个网络:

Net = linearlayer([0 1]);net.inputs{1}。大小= 1;net.layers{1}。尺寸= 1;网。biasConnect = 0;

赋权矩阵为W=[1 - 2]。

的命令是:

网。Iw {1,1} = [1 2];

假设输入序列为:

p 1 ( 1 p 2 ( 2 p 3. ( 3. p 4 ( 4

序列输入以元素的形式呈现给网络单元阵列:

P = {1 2 3 4};

现在你可以模拟网络:

A = [1] [4] [7] [10]

你输入一个包含一系列输入的单元格数组,网络就会产生一个包含输出序列的单元格数组。当输入以序列形式呈现时,输入的顺序是很重要的。在这种情况下,电流输出是通过将当前输入乘以1,将前一个输入乘以2,并将结果相加得到的。如果你改变输入的顺序,在输出中得到的数字就会改变。

动态网络中并行输入的仿真

如果您将相同的输入作为一组并发输入而不是输入序列应用,那么您将获得完全不同的响应。(然而,还不清楚为什么要在动态网络中这样做。)这就好像每个输入同时应用于一个单独的平行网络。对于前面的例子,动态网络中顺序输入的仿真,如果您使用现有的并发输入集

p 1 ( 1 p 2 ( 2 p 3. ( 3. p 4 ( 4

可以用以下代码创建:

P = [1 2 3 4];

当您使用并发输入进行模拟时,您将获得

A = 1 2 3 4

结果与将每个输入同时应用到一个单独的网络并计算一个输出是相同的。注意,由于您没有为网络延迟分配任何初始条件,因此假定它们为0。在这种情况下,输出只是1乘以输入,因为与当前输入相乘的权重是1。

在某些特殊情况下,您可能希望同时模拟对几个不同序列的网络响应。在这种情况下,您可能希望向网络提供一组并发序列。例如,假设您希望向网络提供以下两个序列:

p 1 1 ( 1 p 1 2 ( 2 p 1 3. ( 3. p 1 4 ( 4 p 2 1 ( 4 p 2 2 ( 3. p 2 3. ( 2 p 2 4 ( 1

输入P应该是一个单元格数组,数组中的每个元素包含两个同时出现的序列中的两个元素:

P = {[1 4] [2 3] [3 2] [4 1]};

现在你可以模拟网络:

一个=净(P);

由此产生的网络输出将是

A = {[1 4] [4 11] [7 8] [10 5]}

如您所见,每个矩阵的第一列组成了由第一个输入序列生成的输出序列,这是前面示例中使用的一个输入序列。每个矩阵的第二列组成了由第二个输入序列产生的输出序列。两个并行序列之间没有相互作用。这就好像它们分别应用于并行运行的独立网络。

下图显示了网络输入的一般格式P当有并发序列TS时间的步骤。它涵盖了只有一个输入向量的所有情况。每个元素单元阵列是一个由并行向量组成的矩阵,每个序列对应于同一时间点。如果有多个输入向量,那么单元格数组中就会有多行矩阵。

在本主题中,您将对动态网络应用顺序和并发输入。在静态网络中并行输入的仿真,你将并发输入应用到静态网络。对静态网络应用顺序输入也是可能的。它不会改变网络的模拟响应,但会影响网络的训练方式。这在以后会变得很清楚神经网络训练概念

另请参阅配置浅神经网络输入输出