Почему порядок данных имеет значение для нейронной сети?Python

Программы на Python
Anonymous
Почему порядок данных имеет значение для нейронной сети?

Сообщение Anonymous »

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

А это как я написал это в массиве numpy:
K = 0.75
a = 9

def f(x):
return x - 2 - 2*np.floor((x - 1)/2)

def r1(x):
return abs(6 * f(a * K * x / 2 / np.pi)) - a/2

t = np.linspace(0, 17 * math.pi, 1000)
x = np.cos(t) * r1(t)
y = np.sin(t) * r1(t)

points = np.vstack((x, y)).T

После этого я попытался немного поэкспериментировать и позволил своему искусственному интеллекту попытаться угадать форму этого цветка! с первой попытки действительно получилось написать. вот оно:
Изображение

Ну, у меня есть отличный пример, после этого я попробовал поэкспериментировать и проверить, что произойдет, если я перетасую массив точек, и получу совершенно потрясающие результаты!
Изображение

И я не мог объяснить, почему порядок декартовых координат имеет значение для аппроксимации неявная функция цветка. может кто-нибудь это объяснить?
вот код для ИИ
# Define the neural network model
model = Sequential()
model.add(Dense(128, input_dim=2, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(2, activation='linear'))

# Compile the model
model.compile(optimizer='adam', loss='mean_squared_error')

# Train the model
model.fit(points, points, epochs=100, batch_size=32)



Подробнее здесь: https://stackoverflow.com/questions/788 ... al-network

Вернуться в «Python»