Я пытаюсь освоить основы машинного обучения. Я пытаюсь обучить ИИ функцию квадрата: 2 ^ x
import tensorflow as tf
import numpy as np
from tensorflow import keras
model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
model.compile(optimizer='sgd', loss='mean_squared_error')
xs = np.array([2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0], dtype=int)
ys = np.array([4.0, 8.0, 16.0, 32.0, 64.0, 128.0, 256.0, 512.0, 1024.0, 2048.0, 4096.0, 8192.0, 16384.0, 32768.0], dtype=int)
model.fit(xs, ys, epochs=1000)
print(model.predict([7.0]))
Это должно вывести + - 128, но результат в 2000-х, и потери очень высоки.
Как я могу оптимизировать эту нейронную сеть, чтобы она давала мне более точный ответ?
Спасибо за ваше время.