Как определить оптимальное количество слоев и функции активации - PullRequest
0 голосов
/ 08 декабря 2018

Итак, я работаю с наборами данных MNIST и Boston_Housing с использованием керас, и мне было интересно, как определить оптимальное количество слоев и функции активации для каждого слоя.Теперь я не спрашиваю каково оптимальное количество слоев / функций активации, а скорее процесс, который я должен пройти, чтобы определить эти параметры.

Я оцениваю свою модель с использованием среднего квадратаошибка и средняя абсолютная ошибка.Вот как выглядит моя текущая модель:

    model = models.Sequential()
    model.add(layers.Dense(64, activation='relu'))
    model.add(layers.Dense(64, init='glorot_uniform', activation=layers.Activation('selu')))
    model.add(layers.Dense(64,activation = 'softplus'))

model.add(layers.Dense(1))
model.compile(optimizer = 'rmsprop', 
                loss='mse',
                metrics=['mae'])

Я имею среднеквадратическую ошибку 3,5 и среднеквадратичную ошибку 27 *. 1012 *

1 Ответ

0 голосов
/ 08 декабря 2018

Для выбора функции активации

  1. Современные нейронные сети в основном используют ReLU или leakyReLU в скрытых слоях
  2. Для классификации на выходном уровне используется активация softmax.
  3. Для регрессии на выходном слое используется линейная активация.

Для выбора количества слоев

  1. Полностью зависит от вашей проблемы.
  2. Дополнительные слои полезны, когда данные сложны, поскольку они могут эффективно аппроксимировать функцию между входом и выходом.
  3. Иногда для небольших задач l, например, MNIST, даже сеть с 2 скрытымислои будут работать хорошо.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...