主要内容

了解浅网络数据结构

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

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

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

当要模拟的网络静态时,发生模拟网络的最简单情况(没有反馈或延迟)。在这种情况下,您无需关注输入向量在特定时间序列中发生,因此您可以将输入视为并发。另外,通过假设网络仅具有一个输入向量,问题是更简单的。用以下网络作为示例。

要设置此线性馈送网络,请使用以下命令:

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

为简单起见,将权值矩阵赋值为W.=[1 2]和B.=[0]。

这些分配的命令是

net.iw {1,1} = [1 2];net.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 = net(p)a = 5 4 8 5

向网络呈现单个并发矢量矩阵,并且网络产生作为输出的单个并发矢量矩阵。如果有四个网络并行操作,并且每个网络接收到一个输入向量并产生一个输出,则结果将是相同的。输入向量的排序并不重要,因为它们不会彼此相互作用。

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

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

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

net = linearlayer([0 1]);net.inputs {1} .size = 1;net.layers {1} .dimensions = 1;Net.biaSconnect = 0;

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

该命令是:

net.iw {1,1} = [1 2];

假设输入序列为:

P. 1 = [ 1 ] P. 2 = [ 2 ] P. 3. = [ 3. ] P. 4. = [ 4. ]

顺序输入作为一个元素呈现给网络单元阵列:

p = {1 2 3 4};

您现在可以模拟网络:

a = net(p)a = [1] [4] [7] [10]

您输入包含一系列输入序列的单元格数组,网络产生a包含一系列输出的单元阵列。当将其作为序列呈现时,输入的顺序很重要。在这种情况下,通过将电流乘以1和前面的输入乘以2并求和结果来获得电流输出。如果要更改输入的顺序,则输出中获取的数字将更改。

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

如果您要将相同的输入应用为一组并发输入而不是一系列输入,则您将获得完全不同的响应。(但是,目前尚不清楚为什么要使用动态网络执行此操作。)就好像每个输入都同时应用于单独的并行网络。对于前面的例子,动态网络中序列输入的仿真如果你使用一个并发的输入集,你有

P. 1 = [ 1 ] P. 2 = [ 2 ] P. 3. = [ 3. ] P. 4. = [ 4. ]

可以使用以下代码创建哪个:

P = [1 2 3 4];

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

A = net(P) 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]};

您现在可以模拟网络:

a = net(p);

由此产生的网络输出将是

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

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

下图显示了网络输入的一般格式P.有什么时候问:并发序列TS.时间的步骤。它涵盖了只有一个输入向量的所有情况。每一个元素单元阵列是同时向量的矩阵,其对应于每个序列的相同点。如果有多个输入向量,则单元阵列中将有多行矩阵。

在本主题中,您将顺序和并发输入应用于动态网络。在静态网络中并发输入的仿真,您将并发输入应用于静态网络。还可以将顺序输入应用于静态网络。它不会改变网络的模拟响应,但它可能会影响网络培训的方式。这将变得清晰神经网络培训概念

也可以看看配置浅神经网络输入输出