Tensorflow - странное поведение потери проверки - PullRequest
0 голосов
/ 30 марта 2020

Мои потери при проверке ведут себя очень странным образом

image

Что означает это поведение?

Моя сеть простой NN с двумя скрытыми слоями по 100 узлов в каждом, входным слоем из 3 единиц и выходным слоем из 50 единиц Он используется для изучения соответствия между набором из 3 координат и временным рядом из 50 временных компонентов. Для каждого триплета координат возможен один и только один временной ряд. Цель состоит в том, чтобы обучить сеть с помощью нескольких выборок, чтобы сеть научилась предсказывать временные ряды, связанные с общей c тройкой координат. Это сеть

c = tf.placeholder(tf.float32, shape=[None, 3])    
act_f = getattr(tf.nn, 'leaky_relu')

def latent_P(coord):
    h2 = tf.layers.dense(coord, 100, activation=act_f)
    h1 = tf.layers.dense(h2, 100, activation=act_f)
    logits = tf.layers.dense(h1, 50)
    return logits

z_nn_samples = latent_P(c)

recon_loss_nn = tf.keras.losses.MAE(z, z_nn_samples)

loss_nn = tf.reduce_mean(recon_loss_nn)

solver_nn = tf.train.AdamOptimizer().minimize(loss_nn)

Мой тренировочный набор состоит из 3000 временных рядов (с соответствующими 3000 триплетами координат). Набор проверки состоит из 500 временных рядов / координат.

1 Ответ

0 голосов
/ 30 марта 2020

Распределения для данных обучения и проверки отличаются И / ИЛИ вы переоснащаете.

...