Как мне узнать, подходит ли моя структура tensorflow для моей проблемы?

#python-3.x #tensorflow

#python-3.x #tensorflow

Вопрос:

Ниже приведены два набора очень похожих кодов с очень простым вводом в качестве иллюстративного примера к моему вопросу. Я думаю, что объяснение следующего наблюдения может каким-то образом ответить на мой вопрос. Спасибо!

Когда я запускаю следующий код, модель можно быстро обучить и предсказать хорошие результаты.

 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')

model.fit(xs, ys, epochs=1000)
print(model.predict([7.0]))
  

Однако, когда я запускаю следующий код, который очень похож на приведенный выше, модель обучается очень медленно и может быть плохо обучена и давать плохие прогнозы (т. Е. Потеря легко становится <1 с приведенным выше кодом, но остается на уровне около 20000 с приведенным ниже кодом)

 
model = keras.Sequential()# Your Code Here#
model.add(keras.layers.Dense(2,activation = 'relu',input_shape = (1,)))
model.add(keras.layers.Dense(1))
#model.compile(optimizer=tf.train.AdamOptimizer(0.1),
              #loss='mean_squared_error')

model.compile(optimizer = tf.train.AdamOptimizer(1),loss = 'mean_squared_error')

#model.compile(# Your Code Here#)

xs = np.array([1,2,3,4,5,6,7,8,9,10], dtype=float)# Your Code Here#
ys = np.array([100,150,200,250,300,350,400,450,500,550], dtype=float)# Your Code Here#
model.fit(xs,ys,epochs = 1000)
print(model.predict([7.0]))
  

Еще одно замечание: когда я обучаю свою модель со вторым набором кода, модель может быть иногда хорошо обучена (~ 8 из 10 раз она плохо обучена, и потери остаются> 10000 после 1000 эпох).

Ответ №1:

Я не думаю, что есть какой-либо прямой способ выбрать лучшую глубокую архитектуру, а провести несколько экспериментов, изменяя гиперпараметры и изменяя архитектуру. Сравните производительность каждого эксперимента и выберите лучший. Ниже перечислены несколько статей, которые могут быть вам полезны. ссылка-1, ссылка-2, ссылка-3