これを達成するために、私は 'Functional API'を使用しました。基本的には、入力レイヤーと非表示レイヤーは同じレイヤーで、出力レイヤーは異なる複数のモデルを作成します。例えば
:監督・学習のための珍しい設定だ
https://keras.io/getting-started/functional-api-guide/
from keras.layers import Input, Dense
from keras.models import Model
# This returns a tensor
inputs = Input(shape=(784,))
# a layer instance is callable on a tensor, and returns a tensor
x = Dense(64, activation='relu')(inputs)
x = Dense(64, activation='relu')(x)
predictions_A = Dense(1, activation='softmax')(x)
predictions_B = Dense(1, activation='softmax')(x)
# This creates a model that includes
# the Input layer and three Dense layers
modelA = Model(inputs=inputs, outputs=predictions_A)
modelA.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
modelB = Model(inputs=inputs, outputs=predictions_B)
modelB.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
。いくつかのサンプルデータを表示し、この設定が得られた理由を説明してください。 – sascha
Deep Q-Learningに使用しています。入力は状態であり、各出力はアクションのスコアです。アクションを選択し、そのアクションの結果に基づいてネットワークを更新します。ただし、他のアクションの結果がわからないので、1つの出力を更新するだけです... – simeon
私は参照してください。これは別の方法で処理されます。 [これらの情報源](https://gist.github.com/EderSantana/c7222daa328f0e885093#file-qlearn-py-L98)を見てください(リンクの行に印を付けました)。あなたは他のアクションの現在の値を保持します! – sascha