У меня была проблема с реализацией Y = X1 + X2 + X3 картирования с использованием нейронной сети. Поэтому мне пришлось использовать один нейрон в слое 1 (Y), 4 нейрона в слое 2 (скрытый слой) и 3 нейрона в слое 3 (X1, X2 и X3). Я реализовал это, используя тензор потока, и вот так выглядит моя модель:
input1 = Input(shape=(1,))
l1 = Dense(4, activation='relu')(input1)
out = Dense(3)(l1)
model = Model(inputs=input1, outputs=[out])
model.compile(
optimizer='adam',
loss=['mean_squared_error']
)
history = model.fit(X, [Y], epochs=500, batch_size=64)
Результаты точные. Когда я пытаюсь сделать то же самое, используя barebone Python (без оптимизатора), я получаю неопределенные результаты. Я попытался нормализовать тренировочные данные и обнаружил, что результат немного приблизился к ожидаемому, но мне все еще интересно, как Tensorflow API получил эти результаты без нормализации, и если он действительно нормализовал данные, чего мне не хватало в базовой модели (обсуждалосьздесь Нейронная сеть не может выучить .