私は補強学習の完全な初心者です。 keras-rlエージェントの出力レイヤーのアクティブ化機能の選択について質問があります。 keras-rl(https://github.com/matthiasplappert/keras-rl/tree/master/examples)が提供するすべての例では、出力レイヤーで線形活性化関数を選択します。どうしてこれなの?異なる活性化機能を使用すると、どのような効果が期待できますか?たとえば、離散アクションスペースが5のOpenAI環境で作業する場合、エージェントの出力レイヤーでsoftmaxを使用することを検討する必要がありますか? ありがとうございます。keras-rlの例は、常に出力層で線形活性化を選択するのはなぜですか?
0
A
答えて
0
keras-rlの一部のエージェントでは、エージェントが個別のアクションスペース(dqn、ddqnなど)を使用していても、アクティベーション機能が使用されます。しかし、例えば、CEMは個別のアクションスペース(これは期待するもの)のためにsoftmax
アクティベーション機能を使用します。
linear
dqnとddqnのアクティブ化機能の背後にある理由は、エージェントの一部である探索ポリシーです。我々は探査例として、それらの両方のために使用するポリシーおよび方法select_action
のクラスを考えると、私たちは次のように表示されます。
class BoltzmannQPolicy(Policy):
def __init__(self, tau=1., clip=(-500., 500.)):
super(BoltzmannQPolicy, self).__init__()
self.tau = tau
self.clip = clip
def select_action(self, q_values):
assert q_values.ndim == 1
q_values = q_values.astype('float64')
nb_actions = q_values.shape[0]
exp_values = np.exp(np.clip(q_values/self.tau, self.clip[0], self.clip[1]))
probs = exp_values/np.sum(exp_values)
action = np.random.choice(range(nb_actions), p=probs)
return action
、のlinear
活性化関数の出力最後にdense
層は[0,1]の範囲にボルツマン探査方針に従って変換され、特定のアクションに関する決定はボルツマン探査に従って行われる。そのため、softmax
は出力レイヤーで使用されません。この偉大な説明のための多くの https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-7-action-selection-strategies-for-exploration-d3a97b7cceaf
関連する問題
- 1. tanhのような活性化機能と最後の層で線形活性化機能を使用することに利点はありますか?
- 2. TensorflowレイヤーApi線形活性化機能
- 3. cntk線形活性化機能
- 4. ニューラルネットワークにおける回帰モデルの出力層の活性化機能
- 5. 出力層でsoftmax活性化機能を使用する方法はありますが、TensorFlowの中間層ではrelusを使用しますか?
- 6. VIMでの線形選択
- 7. GraphQLはなぜ「入力」タイプを選択するのですか?
- 8. ケラス:密集層と活性化層の間の形状の不一致
- 9. ニューラルネットワーク回帰:出力をスケーリングするか線形層を使用しますか?
- 10. 私はテーブルの最後の行で出力活性化値にしたいテーブル
- 11. xmlノードを属性で選択できないのはなぜですか?
- 12. Kerasの密集層と活性化層の相違
- 13. はなぜRNNは常に出力1
- 14. なぜそれは常にゼロ出力を与えるのですか?
- 15. 1つの表の行を階層形式で選択するにはどうすればよいですか?
- 16. PostgreSQLで選択した出力をヌル値でグループ化する
- 17. 形状内に線を分配するための最適化アルゴリズムの選択
- 18. ランダムな線を選択して出力します
- 19. ServiceReferenceは活性化
- 20. タブの活性化は、ナビゲーション
- 21. なぜ:sprintは常に "_"を出力しますか?
- 22. プロビジョニングプロファイルを選択できないのはなぜですか?
- 23. TableViewセルを選択できないのはなぜですか?
- 24. Torch-なぜ人々は活性化を明示的に使用しないのですか?
- 25. 必要になる前に選択するのはなぜですか?ドキュメントで
- 26. BlueGriffonエディタの出力形式の選択方法は?
- 27. テンプレート特殊化が選択されないのはなぜですか?
- 28. 入力例(複数可)指定された中間層活性値を取得
- 29. ディープ学習最後に出力層の勾配は常にゼロです
- 30. なぜ私は 'c'でヌルを出力するのですか
ありがとう:
あなたは別の探査戦略と、ここで彼らの比較についての詳細を読むことができます。それは非常に役立ちます! –