tf汇总层1d和2d

时间:2019-12-23 15:19:59

标签: python tensorflow tf.keras

我目前正在研究Sturm et al. (2016) published in the Journal of Neuroscience的论文,试图使用python和TensorFlow Keras库复制其结果。

我是否强烈理解我是否了解他们按照第2.1节所述设计模型的方式。

由于缺乏该领域的经验,我无法完全理解以下几点。

  1. 他们使用一维或二维汇总池吗?
  2. 每层之后的确切输出形状是什么?
  3. 他们是否使用分类格式进行输出?
  4. 他们使用了辍学和其他任何图层吗?

您将如何设计所描述的模型?

提前感谢您的宝贵意见。

1 个答案:

答案 0 :(得分:0)

这是我的看法。

使用的数据集:Herethis论文中的数据集

  

他们使用1d还是2d汇总池层?

尽管他们没有具体说明在模型中使用的内容,但应该是一维池化。因为EEG信号只有二维(时间,通道),这是一维池化层接受的输入类型。此外,论文说(第2.1节),

The  first  linear  layer  accepts  an input  of  the  dimensionality  
301  time  points × 118  channels EEG features

但是他们接着说了些,这有点奇怪。

Each epoch’s spatio-temporal features(301  time  points×118  channels  for  aa-ay,  
301  time  point×58  channels  for  subject  od-obx)  were  vectorized  
into  one vector with 33518 (17458) dimensions.

我猜想他们在向量化之后会添加一个维度,以便单个输入具有2个维度。否则,将无法执行池化。 应该是35518(301x118)而不是33518。

  

每层之后的确切输出形状是什么?

似乎有两个DNN网络(一个用于第一个数据集,另一个用于另一个)。这不是我完全确定的。但这是必要的,因为两个数据集具有不同的输入大小。

(None, 301, 118) (None, 301, 58)
       |                |
       V                V
   Flatten()         Flatten()
       |                |
       V                V
(None, 35518, 1) (None, 17458, 1)
       |                |
       V                V
  Sumpooling()      Sumpooling()
       |                |
       V                V
  (None, 500)       (None, 500)
       |                |
       V                V
      Tanh             Tanh
       |                |
       V                V
  (None, 500)      (None, 500)
       |                |
       V                V
   Softmax(2)       Softmax(2)    
       |                |
       V                V
   (None, 2)        (None, 2)    
  

他们是否使用分类格式进行输出?

他们正在解决双分类问题。是的,他们将使用分类格式。就像这样

If label 0 => [1 0]
If label 1 => [0 1]

它们也可以在最后一层带有一个Sigmoid(1)并具有原样的标签(即标量-0/1)。

  

他们使用了辍学和其他任何图层吗?

在本文中并没有真正提到他们使用了辍学。老实说,似乎也没有合适的地方使用辍学。唯一的地方是tanh之后。但是由于网络不是那么复杂,所以作者可能没有必要。