Точность моей модели ниже, чем в статье - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь реализовать [yoon kim] 'CNN в классификации предложений'

https://arxiv.org/pdf/1408.5882.pdf

но точность моей модели cnn_static намного ниже, чем у нее

(около 76% и нет существенной разницы с моделью cnn_rand)

Понятия не имею, как его улучшить

следующий мой код и сюжет о модели

def get_cnn_static(input_data, data_label, vocabulary, embedding_matrix) :
    num_sentence = input_data.shape[0] # #10662 for MR data set
    sequence_length = input_data.shape[1] #n 56 for MR data set
    num_classes = data_label.shape[1] #positve, negative 2 classes for MR data set
    vocab_size = len(vocabulary) +1 # 18769 for MR data set


    # model structure
    inputs = Input(batch_shape=(None,sequence_length), name ='Input_Layer')
    emb_layer = Embedding(vocab_size, emb_size, weights = [embedding_matrix], input_length=sequence_length, trainable=False, name='Embedding_Layer')(inputs)
    pooled_outputs = []
    for i in filter_size :
        convLayer = Conv1D(feature_map, i, strides=1, activation='relu', use_bias=True, kernel_initializer = 'TruncatedNormal')(emb_layer)            
        convLayer = MaxPooling1D(pool_size = sequence_length-i +1)(convLayer)            
        pooled_outputs.append(convLayer)
    merged = Concatenate()(pooled_outputs)
    flatten_layer = Flatten()(merged)
    dropout_layer = Dropout(p)(flatten_layer)
    predictions = Dense(num_classes, activation='softmax')(dropout_layer)
    model = Model(inputs=inputs, outputs=predictions)
    return model

plot_model

Я уже проверил embedding_matrix. Но сделано правильно

Есть идея улучшить мою модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...