触发单词检测训练,给出错误的预测

问题描述

在完成安德鲁·纳格(Andrew ng)课程中的触发词检测任务之后。我制作了一些训练示例,并尝试了相同的模型,但是尽管准确性为0.88(考虑到数据的偏斜度,这并不是很好),但模型在预测时却表现出色。背景音频给出的概率为0.44,其他任何声音给出的概率都小于该概率。

shape(trainx)=(100,5511,101)

shape(trainy)=(100,1375,1)

型号:

def model(input_shape):    
    X_input = Input(shape = input_shape)
    X = Conv1D(filters=196,kernel_size=15,strides=4)(X_input)  
    X = Batchnormalization()(X)                                
    X = Activation("relu")(X)                        
    X = Dropout(rate=0.8)(X)                         
    if tf.test.is_gpu_available():
      X=tf.keras.layers.CuDNNGRU(units=128,return_sequences=True)(X)
    else:
      X=GRU(units=128,return_sequences=True)(X)                               
    X = Dropout(rate=0.8)(X)                                 
    X = Batchnormalization()(X)                             
    if tf.test.is_gpu_available():
      X=tf.keras.layers.CuDNNGRU(units=128,return_sequences=True)(X)    
    X = Dropout(rate=0.8)(X) # dropout (use 0.8)
    X = Batchnormalization()(X)                               
    X = Dropout(rate=0.8)(X)                                
    X =Timedistributed(Dense(1,activation = "sigmoid"))(X)
    model = Model(inputs = X_input,outputs = X)

    return model

培训依据

history=model.fit(trainx,trainy,validation_split=0.30,epochs=500,batch_size=5,callbacks= 
                [cp_callback])

Prediction

我检查了似乎没有任何错误的训练标签。 在训练过程中,我的验证准确性比训练准确性迅速提高,这也令人困惑。 任何人,请解释一下这是怎么回事。在此先感谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)