#keras #deep-learning
#keras #глубокое обучение
Вопрос:
model = keras.Sequential([
# the hidden ReLU layers
layers.Dense(units=4, activation='relu', input_shape=[2]),
layers.Dense(units=3, activation='relu'),
# the linear output layer
layers.Dense(units=1),
])
Выше приведен пример последовательной модели Keras из Kaggle. У меня проблема с пониманием этих двух вещей.
- Являются ли единицы количеством узлов в скрытом слое? Я вижу, что некоторые люди ставят 250 или что-то еще. Что делает число, когда оно изменяется в большую или меньшую сторону?
- Зачем нужно добавлять еще один скрытый слой? Что на самом деле делает данные, чтобы добавлять все больше и больше слоев?
Ответ №1:
Ответы вкратце
- единицы представляют, сколько нейронов в определенном слое.Когда у вас больше число, модель имеет более высокие параметры для обновления во время обучения.То же самое относится и к слоям. (чем больше слоев и больше нейронов, тем больше времени уходит на обучение модели).выбор количества нейронов зависит от варианта использования, набора данных и архитектуры модели.
- Когда у вас есть больше скрытых слоев, у вас есть больше параметров для обновления.Больше параметров и слоев означает, что модель способна понимать сложные взаимосвязи, скрытые в данных. Например, когда у вас есть классификация изображений (множественная), вам нужны более глубокие слои с нейронами, чтобы понять особенности изображения, которые используются для классификации в последнем слое.
поиграйте с игровой площадкой tensorflow, это даст отличную идею, когда вы меняете слои и нейроны.