Я предлагаю вам узнать больше о слоях и некоторых других основах нейронных сетей.
Как нейронная сеть обучается?
Нейронная сеть содержит три типа слоев. Входные, выходные и скрытые слои. Все эти слои содержат нейроны или, можно сказать, узлы. Нейроны каждого слоя связаны с нейронами предыдущего и следующего слоя. Взгляните на картинку ниже.
Вы можете называть соединения «путем». Каждый путь имеет значение веса. Входное значение нейрона рассчитывается путем суммирования всех умножений выходов нейрона предыдущего слоя и значения веса пути. Затем значение суммы обрабатывается некоторой функцией активации. Вы можете узнать об этом больше, присоединившись к онлайн-классам или из учебных пособий.
Но я хочу сказать, что предсказание полностью зависит от этих весов. И это значение веса постоянно меняется в зависимости от скорости обучения и некоторых других факторов во время тренировки. А как насчет самого начала? в эпоху нет. 1? По сути, модель генерирует случайные веса для всех путей. Затем продолжайте изменять эти значения во время тренировки, чтобы минимизировать потери.
Каждый раз, когда вы запускаете поезд, он генерирует случайные значения. Вот почему каждый раз вы получаете разные результаты. Если вы исправите эти значения с помощью tf.seed или каким-либо другим способом, вы получите воспроизводимые результаты. кстати, тебе не нужно тренироваться каждый раз. Сохраните веса вашей модели, а затем загрузите ее, когда вам нужно будет сделать прогноз. Вы будете получать один и тот же результат каждый раз, когда загружаете веса модели и используете эту модель для прогнозирования.