Как нейронные net могут классифицировать изображения только с одним плотным слоем и RELU? - PullRequest
0 голосов
/ 14 февраля 2020

Я читаю это Учебное пособие по Tensorflow о классификации Fashion MNIST с помощью tf.keras. Хотя это проблема классификации изображений, они тренируются только с плотным слоем и softmax:

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(10)
])

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

1 Ответ

2 голосов
/ 14 февраля 2020

Свертка не обязательна, когда задача не слишком сложна (маленькие и простые изображения).
Изображения - это просто матрица пикселей, которую можно сгладить и классифицировать, но этот метод имеет свои ограничения.

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

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

...