EEG 数据上的递归 (CNN) 模型

数据挖掘 机器学习 神经网络 rnn 卷积神经网络
2021-10-04 06:05:33

我想知道如何在 EEG 上下文中解释循环架构。具体来说,我认为这是一个循环 CNN(与 LSTM 等架构相反),但也许它也适用于其他类型的循环网络

当我阅读 R-CNN 时,通常会在图像分类上下文中对其进行解释。它们通常被描述为“随着时间的推移学习”或“包括时间 1 对当前输入的影响”

在使用 EEG 数据时,这种解释/解释会变得非常混乱。可以在此处找到用于 EEG 数据的 R-CNN 示例

想象一下,我有训练示例,每个示例都包含一个 1x512 数组。该阵列在 512 个连续时间点捕获 1 个电极的电压读数。如果我将其用作循环 CNN 的输入(使用 1D 卷积),模型的循环部分实际上并没有捕获“时间”,对吧?(正如前面讨论的描述/解释所暗示的那样)因为在这种情况下,时间已经被数组的第二维捕获

那么通过这样的设置,网络的循环部分实际上允许我们对常规 CNN 无法(如果不是时间)进行建模吗?

在我看来,循环只是意味着进行卷积,将结果添加到原始输入中,然后再次进行卷积。这会重复 x 个重复步骤。这个过程实际上有什么好处?

3个回答

一般来说,网络的循环部分允许您对长期和短期依赖关系进行建模。所以你的模型可以有一些状态感。

如果您使用时间序列,这通常是有利的。例如,如果您有来自心率监测器的数据,并且喜欢在休息、压力和恢复之间进行分类。如果您的数据点显示您的心率为 130,这取决于您是否正在从高负荷或其他情况中恢复。

编辑:我忘记了你的第二个问题。

在我看来,循环只是意味着进行卷积,将结果添加到原始输入中,然后再次进行卷积。这会重复 x 个重复步骤。这个过程实际上有什么好处?

我可以想出几个可能的答案。通过卷积循环部分,您可以过滤它。因此,您会获得更清晰的信号,并且错误不会堆积太多。Vanilla rnn 遭受爆炸消失梯度的困扰,因此这可能是他克服它的方法。此外,您正在将您的功能嵌入到 rcnn 中,正如他所说,这可能会导致更多的利用路径。这使得它不太容易过度拟合,因此更具有泛化性。

  • 1x512 输入数组意味着:循环网络处理电极电压 512 次,换句话说你有单个特征要处理。
  • 具有一个特征的 CNN 是没用的。

请记住,CNN 是特征检测器。卷积层的输出是一个矩阵,表示检测到某个特征的位置。

因此,循环 CNN 是学习特征序列的循环神经网络,这些特征也在训练过程中被学习。