每个输入神经元具有一个矢量的Tensorflow自动编码器

我对张量流和深度神经网络很陌生。 我目前正在尝试使用自动编码器对轨迹进行异常检测,并且我的模型存在问题。

我无法得到正确的权重矩阵/不知道如何去做。

这是我的模特:

  • 我的编码器的每个输入神经元都接收到一个具有4个特征的向量(这个向量对应于我的轨迹的一部分)。
  • 输入神经元的数量对应于观察次数(即289)。
  • 我总共有336条轨迹与我的批次相对应
  • 所以我的输入数据形状就像(336,289,4)

  • 我有两个隐藏层; 每一个我们将前一个神经元的数量除以2,所以对于h1,我们有144个神经元h2 72个神经元
  • 对于我的体重,我有:

    weights = {
        'encoder_h1': tf.Variable(tf.random_normal([336, n_hidden_1, 289])),
        'encoder_h2': tf.Variable(tf.random_normal([336, n_hidden_2, n_hidden_1])),
        'decoder_h1': tf.Variable(tf.random_normal([336, n_hidden_1, n_hidden_2])),
        'decoder_h2': tf.Variable(tf.random_normal([336, n_input, n_hidden_1 ])),
    }
    

    和我的激活功能是一个sigmoid喜欢

    tf.nn.sigmoid(tf.add(tf.matmul(weights['encoder_h1'],x),
                                       biases['encoder_b1'])
    

    但恐怕这给出了一个wheight矩阵的轨迹或我想要的是一个权重矩阵我所有的轨迹,它应该是一个二维张量,但我不知道如何继续。

    我尝试了很多东西,例如从我的体重形状中移除336部分,但张量流说,它不可能在3d和2d张量上做matmul。

    你有什么想法如何做?

    在此先感谢您的帮助

    链接地址: http://www.djcxy.com/p/32085.html

    上一篇: Tensorflow autoencoders with one vector per input neuron

    下一篇: Tensorflow LSTM Gate weights