Шаг 125.
Глубокое обучение на Python. Основы машинного обучения. Обобщение: цель машинного обучения. Природа общности в глубоком обучении (общие сведения)

    На этом шаге мы одну интересную особенность глубокого обучения.

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

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


Пример 5.4. Подстройка модели MNIST под случайно перемешанные метки
(train_images, train_labels), _ = mnist.load_data()
train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images.astype("float32") / 255

random_train_labels = train_labels[:]
np.random.shuffle(random_train_labels)

model = keras.Sequential([
    layers.Dense(512, activation="relu"),
    layers.Dense(10, activation="softmax")
])

model.compile(optimizer="rmsprop",
    loss="sparse_categorical_crossentropy",
    metrics=["accuracy"])

model.fit(train_images, random_train_labels,
    epochs=100,
    batch_size=128,
    validation_split=0.2)

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

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

    Оказывается, природа общности в глубоком обучении мало связана с самими моделями глубокого обучения - она намного сильнее связана со структурой информации в реальном мире. Посмотрим, что происходит на самом деле.

    На следующем шаге мы рассмотрим гипотезу многообразия.




Предыдущий шаг Содержание Следующий шаг