【发布时间】:2018-03-24 18:39:20
【问题描述】:
我在任何地方都找不到 Keras 中的反向传播到底是如何完成的?让我解释一下:
假设我有网络
input = Input(shape=(X,X,Y))
x = Conv2D(32,(3,3),padding="same")(input)
x = Conv2D(64,(3,3),padding="same")(x)
x = Conv2D(128,(3,3),padding="same")(x)
x = Conv2D(64,(3,3),padding="same")(x)
Output = Flatten(1024)(x)
Output = Flatten(6)(Output)
model = Model(input,Output)
model.compile(loss="mean_squared_error", optimizer=keras.optimizers.Adam(),metrics=['accuracy'])
model.fit(trainingData,trainingLabels)
最后一层的输出与trainingLabels进行比较,计算mean squared error并根据mean squaed error的值进行反向传播
但是,如果我想要更多的东西怎么办。例如,我想尝试输出向量的每一个排列,导致最小mean squared error 的那个应该被视为输出,因此反向传播基于错误最小的排列发生。
这样的事情在 Keras 中可能吗?如果是这样,我该如何实现它
【问题讨论】:
标签: python neural-network keras artificial-intelligence