回答:
RLでは、タスクが最後に実行されたときに1つの報酬機能のみが付与されるのは一般的な慣習ですか?
これは、報酬関数の正しい定義ではありません。MDPには単一の報酬関数があり、、 どこ 状態のセット、問題のアクションです。引数の少ないバージョンが表示されることがあります。 または 。
すべての状態遷移に対して報酬を返します。それらの多く、または1つを除くすべてがゼロになる可能性があります。または、他の中間状態には、正または負の報酬が含まれる場合があります。どちらも可能であり、特定のアプリケーションに依存します。
これは、ほとんどの強化学習論文の冒頭で見つかる定義です。たとえば、これは報酬形成に関する論文、最適なポリシーに影響を与えずに報酬関数を変更する方法に関する関連研究などです。
サブタスクに興味がある場合は、オプションを確認してください。オプションの他に、報酬関数が1つあります。
私はあなたの質問の短いバージョンはイエスだと思います、タスクの完全な完了に対してエージェントにのみ報酬を与えることは一般的な慣習であるように見えますが、ショーンが彼の回答で報酬関数が定義されていると指摘したように、あなたの表現には注意してください状態、アクション、および将来の状態のすべての可能な組み合わせ。
ショーンの答えに追加するには、リチャードサットンとアンドリューバートの強化学習に関する紹介本から抜粋した次のスニペットを検討してください。
報酬信号は、[エージェント]に伝えるのあなたの方法で何を、あなたはそれを達成するために望んでいないどのようにあなたはそれが(作者強調)を達成したいです。
たとえば、チェスをプレイするエージェントには、実際に勝利した場合にのみ報酬を与えるべきであり、対戦相手の駒を奪ったりセンターを支配したりするなどのサブゴールを達成するためには報酬を与えません。
それは彼らの本の中で推奨されるアプローチであるように見えますが、あなたは反対する他の人を見つけることができると確信しています。