Гибридный CNN RNN имеет сильное переоснащение - PullRequest
0 голосов
/ 13 января 2019

Я обучаю нейронную сеть, состоящую из CNN и RNN, для многоканального сигнала. Проблема Это подходит для 50% моей симуляции (несколько прогонов). Я использовал Адам с 0,0006 и 0,001 скорость обучения. Кроме того, размер пакета составляет около 256 (для меньшего набора данных ~ 2000).

Я пробовал другой размер для ячейки GRU и добавляю Batchnorm, но не работает.

Как вы видите, когда я обязан использовать Валидацию с лучшим значением Val_loss, но с этой проблемой я не могу получить более высокий результат, чем 43%, это проблематично. Мне нужно всего лишь 52% для точности теста.

Что я могу сделать, чтобы получить больше точности?

регуляризация? Инициализации? Функция Relu? http://i.imgur.com/WcWTwWh.png

    x = Conv2D(F1,
               (1, 32))(x)
    x = BatchNormalization(axis=1)(x)
    x = Conv2D((C,1))(x)
    x = BatchNormalization(axis=1)(x)
    x = Activation(activation='elu')(x)
    x = AveragePooling2D(pool_size=(1, 4))(x)
    x = Dropout(rate=r)(x)

    x = Permute((3, 1, 2))(x)
    x = Reshape((size[0], size[1]))(x)

    x = GRU(64,
            activation='tanh',
            recurrent_activation='hard_sigmoid',
            use_bias=True,
            dropout=0.4,
            recurrent_dropout=0.4,
            implementation=1,
            input_shape=(size[0], size[1]))(x)


    x = GRU(64,
            activation='tanh',
            recurrent_activation='hard_sigmoid',
            use_bias=True,
            dropout=0.3,
            recurrent_dropout=0.3)(x)

    x = Dense(num_classes,
              use_bias=True)(x)
    x = Activation(activation='softmax')(x)

1 Ответ

0 голосов
/ 13 января 2019

CNN имеют очень маленький набор данных для обобщения. Кроме того, ваша модель имеет много параметров для изучения с небольшим набором данных, это опять-таки задача.

  1. Дополнение новых примеров из обучающих данных с использованием некоторой предварительной обработки, такой как вращение, масштабирование и т. Д.
  2. Dropout - очень мощная техника для управления перефиттингом (которую вы использовали в модели cnn, также используйте ее в модели rnn), для rnn есть выпадение пространственного 1D, которое отбрасывает один полный дим, что опять-таки помогает использовать для лучшего обобщение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...