理解浅网络数据结构
这个话题讨论的格式输入数据结构如何影响网络的仿真。它开始于动态网络的静态网络,然后继续。下面的部分将介绍数据结构的格式如何影响网络训练。
有两种基本类型的输入向量:那些发生同时(同时,或在任何特定的时间序列),和那些发生按顺序在时间。并发向量的顺序并不重要,如果有很多的网络并行运行,你可以提出一个输入向量的每个网络。对顺序向量,向量出现的顺序是很重要的。
模拟并发输入在静态网络
最简单的情况下模拟一个网络时发生网络模拟的是静态的(没有反馈或延迟)。在这种情况下,您不需要关心输入向量是否发生在一个特定的时间序列,因此可以治疗并发的输入。此外,问题是更简单的假设网络只有一个输入向量。使用以下网络作为一个例子。
设置这个线性前馈网络,使用以下命令:
网= linearlayer;net.inputs {1}。大小= 2;net.layers {1}。尺寸= 1;
为简单起见,分配权重矩阵和偏见W= [1 - 2]b= [0]。
这些任务的命令
网。IW {1} = (1 - 2);网。b{1} = 0;
假设网络仿真数据集组成问= 4并发向量:
并发向量是呈现给网络作为一个矩阵:
P = [1 2 2 3;1 2 3 1];
你现在可以模拟网络:
净(P) = = 5 4 8 5
一个并发向量的矩阵呈现给网络,和网络产生一个矩阵的并发向量作为输出。结果将是相同的,如果有四个网络并行操作和每个网络收到的一个输入向量和产生一个输出。输入向量的顺序并不重要,因为他们不相互作用。
模拟与顺序输入动态网络
当网络包含延迟,网络的输入通常是一个序列的输入向量,发生在一个特定的时间顺序。为了说明这种情况下,下一个图显示了一个简单的网络,包含延迟。
以下命令创建这个网络:
网= linearlayer ([0 1]);net.inputs {1}。大小= 1;net.layers {1}。尺寸= 1;网。biasConnect = 0;
分配权重矩阵W= [1 - 2]。
的命令是:
网。IW {1} = (1 - 2);
假设输入序列是:
P = {1 2 3 4};
你现在可以模拟网络:
净(P) = = [1] [4] [7] [10]
你输入一个包含一个序列单元阵列的输入,产生一个和网络单元阵列包含一个序列的输出。输入的顺序是很重要的,当他们作为一个序列。在这种情况下,输出的电流通过电流输入乘以1和前面输入2和总结结果。如果你要改变的顺序输入,输出中获得的数字会改变。
模拟与并发输入动态网络
如果你应用相同的输入为一组并行输入,而不是一个序列的输入,您将获得一个完全不同的反应。(然而,目前尚不清楚为什么要做这个动态网络。)就好像每个输入同时应用到一个单独的并行网络。前面的例子,模拟与顺序输入动态网络,如果你使用一个并发组输入
可以使用下面的代码创建:
P = (1 2 3 4);
当你和并行模拟输入,你获得
净(P) = = 1 2 3 4
结果都是一样的如果你有并发应用每一个输入到一个单独的网络和计算出一个输出。注意,因为你没有分配任何初始条件到网络延迟,他们被认为是0。这种情况下,输出是1 *输入,因为繁殖当前输入的重量是1。
在某些特殊情况下,您可能想要模拟网络同时应对不同的序列。在这种情况下,您会想要给网络并发的一组序列。例如,假设您想现在以下两个序列网络:
输入P
应该是一个细胞数组,数组的每个元素包含两个元素的同时发生的两个序列:
4 P = {[1] [2 3] 2 [3] [4 1]};
你现在可以模拟网络:
一个=净(P);
由此产生的网络输出
11 4 A = {[1] [4] [7 8] [10 5]}
正如你所看到的,每个矩阵的第一列的输出序列由第一个输入序列,这是较早使用的一个例子。第二列的矩阵构成输出序列由第二个输入序列。没有两个并发序列之间的交互。就好像他们每个应用单独的网络并行运行。
下图显示了网络的一般格式输入P
当有问并发序列TS时间的步骤。它涵盖所有情况下只有一个输入向量。每个元素的单元阵列是一个并发向量的矩阵,对应于每个序列相同的时间点。如果有多个输入向量,矩阵的多行细胞数组。
在这个话题,你应用顺序和并行输入动态网络。在模拟并发输入在静态网络,您并发输入适用于静态网络。也可以连续输入适用于静态网络。它不改变网络的模拟反应,但它可以影响网络训练的方式。这将变得清晰神经网络训练的概念。
另请参阅配置浅神经网络输入和输出。