Точность модели начинается с низкого уровня и увеличивается после каждой эпохи, что приводит к увеличению числа эпох. Плохо ли иметь высокий номер эпохи? - PullRequest
1 голос
/ 26 марта 2020

У меня есть модель, которая начинается с очень низкой точности, но после каждой эпохи она немного улучшается. Я получаю точность около 0,9 после 45 эпох, что занимает довольно много времени.

Мой набор данных состоит из 3430 изображений (48x48 пикселей) из разных видов цветов (всего 5 типов и около 650 фотографий каждого типа) и моя модель выглядит примерно так:

model = keras.Sequential([
keras.layers.Flatten(input_shape=(48, 48, 3)),
keras.layers.Dense(512, activation='relu'),
keras.layers.Dense(5, activation='softmax')
])


model.compile(optimizer='adam',
             loss='sparse_categorical_crossentropy',
             metrics=['accuracy'])

model.fit(train_images, train_labels, epochs=45)

Есть ли способ повысить начальную точность, например, добавив больше слоев, изменив тип модели keras или добавив больше изображений в набор данных. И также плохо, что у нас много эпох, хотя точность модели продолжает улучшаться. (Извините, если у меня есть опечатки, английский sh не мой основной язык) Заранее спасибо.

1 Ответ

0 голосов
/ 26 марта 2020

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

Начальная точность со случайно инициализированными весами всегда будет произвольной, что не является проблемой.

...