弁護士 事務所 質問, ナンバー ガール 画像, ジョーダン5 パリサンジェルマン 白, テレワーク 育児 コロナ, 砂の塔 弓子 目的, カップル 質問 お互い アプリ, カランコエ 蕾 咲かない, ヒューマンドラマ 映画 2019, ハイゼットトラック グリル 自作, 宮城県庁 障害者 採用, It導入補助金 2020 中小企業庁, まだ結婚 できない 男最終回 犬, 職務経歴書 製造ライン 自己pr, 公表 公開 違い, A ヲタ 用語, ノンフォト リアル ゲーム, イオンネットスーパー 置き楽 解約, DX ニード リング ホーネット プログ ライズ キー ソルダ リング サーベル ゼ ツメ ライズ キー, キャプテン翼 ライジングサン 最 新刊, 事情 事由 違い, 三井ホーム 採用 2021, まさに 漢字 ひらがな, SideM キャラ 誕生日, ガイアの夜明け ナレーション 歴代, のんのんびより おかえり 歌詞 パート, レシート 消費税 合わない, 男子 高校生 の日常 文学少女 登場 回, 彼氏 いない 歴=年齢 美人, 読売テレビ アナ Youtube, オフィス デザイン 有名, ジュピターショップチャンネル株式会社 水 天 宮前, ホテル ニューオータニ 幕張 マッサージ, Zoom 共同ホスト 設定, ムラサキスポーツ スケボー デッキ, 合資 会社 サンド ロット, ☆ オードリー Audrey ☆ @aitaikimochi, 極アームズ 初 変身, おとめ座 明後日 の運勢,
私達はある環境を外から観測しています。環境は状態 st というものを有しており、これが時刻 t の経過とともに刻一刻と変わっていっているという状況です。仮にこの環境の状態遷移が下記のように表されるとしましょう。st+1=T(st)ここで T は何某かの関数です。すなわち時刻 t の状態が関数 T によって変換され st+1 になっているという状況を想定しています。いやいやちょっと待った、st+1=T(st,st−1)みたいに複数の時刻の状態に依存して st+1 は決まるのかもしれない!ということも想定できます。ところ … ある状態 X i から別の状態 X j に遷移する確率 p は、状態遷移確率行列で表されることが多い。マルコフ過程において、確率変数が離散的な値をとるとき、これをマルコフ連鎖という。 マルコフ連鎖の具体例を取り上げてみる。 マルコフ過程(マルコフかてい、英: Markov process )とは、マルコフ性をもつ確率過程のことをいう。 すなわち、未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程 … 状態の分類-強マルコフ性の確認-停止時刻 状態 を出発して、次に状態 に初めて戻る時刻 が確率過程X0,X1,…,X のみによって決まるとき、 =min{ R1,X = } y→z→y→z→x→yという変化をしたとする これは①y→z→y ②y→z→x→yという マルコフ過程 ... これを 状態遷移図 (state transition diagram)といいます。1つの状態に対して1つの節点(node)をあて、矢印で状態の遷移を表します。矢印のそばにある数字は遷移確率です。 今日晴れたら明日も晴れやすい) 2. 記号0,1の系列を発生する2重マルコフ情報源の状態遷移 確率が次のように与えられている.以下の問に答えよ. 000=0.3, 100=0.7 001=0.5, 101=0.5 010=0.4, 110=0.6 011=0.8, 111=0.2 1)状態遷移図を図示せよ(状態遷移確率も付記). ある状態 X i から別の状態 X j に遷移する確率 p は、状態遷移確率行列で表されることが多い。マルコフ過程において、確率変数が離散的な値をとるとき、これをマルコフ連鎖という。 マルコフ連鎖の具体例を取り上げてみる。 ところが、実際は確率遷移関数はどういうものになっているのかわからない(どういう状態にどういう行動を与えれば、どんな遷移が起こりやすいのかを知らない)ケースが実用上ほとんどです。仕方がないので、すべての状態に対してすべての行動を取ってみることを永遠と繰り返してやれば、その遷移の様子を見積もることが出来ます(すべてのパターンを試してもあくまで確率的な遷移なので、統計的に見積もるのが限界であるが、ある種のシステム同定を実施するということである)。$$\begin{align}T _ {a ^ {(0)}}(s ^ {(0)} | s ^ {(0)})& = \frac{1}{3} \\T _ {a ^ {(0)}}(s ^ {(1)} | s ^ {(0)})& = \frac{1}{3} \\T _ {a ^ {(0)}}(s ^ {(2)} | s ^ {(0)})& = \frac{1}{3}\end{align}$$という条件付き確率を表しているというわけです(正確には、離散の場合は$T _ {ij} = {\rm Pr } ( s _ {t+1} = s ^ { (j) }| s _ t = s ^ {(i)} )$ という行列)。上記のように様々なマルコフ決定過程との向き合い方がある中で、状態や報酬を見ながらマルコフ決定過程のことを見積もりつつ、行動を決める何かをエージェントと呼びます。強化学習は賢いエージェントを作るというのが目的になるのです。$$\{s ^ {(0)}, s ^ {(1)}, s ^ {(2)}\}$$そして、現在の状態 $s _ t$ と今回外から取った行動 $a _ t$ によって環境の次の状態 $s _ {t+1}$ が決まるというようなことを改めて記述するために、状態遷移関数は下記のような条件付き確率として記述され直すこととなります。簡単のため価値関数うんぬんの話は省きましたが、概ね強化学習の基礎になるマルコフ決定過程を抑えておけば、あとは数学的にテクニカルな部分を追っていくことで話がわかるようになるでしょう。$$\begin{align}s ^ {(0)} &\rightarrow s ^ {(0)} \\s ^ {(0)} &\rightarrow s ^ {(1)} \\s ^ {(0)} &\rightarrow s ^ {(2)}\end{align}$$もしも(報酬関数もまともであり)状態遷移確率も完全に把握できているのであれば、慎重に先の遷移の仕方も見積もりながら、各時刻に取るべき行動を計算することが出来ます(動的計画法など)。$$T = {\rm Pr} (s _ {t+1} | s _ {t})$$遷移確率を把握して(それが正しいと信ずれば)、動的計画法などで解くことができるわけですから、そのような方針が「モデルベース強化学習」の基本的なスタンスです。実際にはガチガチにシステム同定をするとは限りません(なぜなら、すべての状態遷移のパターンをシラベまくらねばならないから)。なのでマルコフ決定過程に従っているであろう環境の振る舞いを何かしら関数や分布などで表し、その数理モデルに基づいて行動の仕方(方策)を決めようというやり方は全般的にモデルベースであると言われます。たいてい多くの不慣れな人は、教師あり学習、教師なし学習、強化学習という言葉の枠組みで既によくわからん!となる場合が多い気がします。強化学習というのは上記のようなマルコフ決定過程で動いている環境に対して、その状態を思い通りにコントロールするような行動の取り方を学習させる方法であるということは強く意識して良いと思います(僕は、教師ありとか教師なしと肩を並べる形の説明、すなわちラベルの代わりに報酬を与えることで学習させる…という説明はなんとなく好まない。決定的に重要なのは、制御問題を解こうという、その問題設定の方だと思うからだ)。ここではマルコフ決定過程の話をするために、新たな変数 $a _ t$ を登場させてみましょう。こいつはもしも、データ $D = \{s _ 1, \cdots, s _ T \}$ が手元にあったとすれば、それぞれ各状態から各状態への移り変わりがどれくらいの頻度で起こっているのかを見積もることができるので、ある種のシステム同定を行うことができるでしょう。この概念は後にモデルベース強化学習(環境を同定した上でエージェントを学習させる)につながる重要な事柄です。私達はある環境を外から観測しています。環境は状態 $s_t$ というものを有しており、これが時刻 $t$ の経過とともに刻一刻と変わっていっているという状況です。仮にこの環境の状態遷移が下記のように表されるとしましょう。という3つのうちいずれかの値を取るということにしましょう。すると$$\begin{align}T(s ^ {(0)} | s ^ {(0)})& = \frac{1}{4} \\T(s ^ {(1)} | s ^ {(0)})& = \frac{1}{2} \\T(s ^ {(2)} | s ^ {(0)})& = \frac{1}{4}\end{align}$$本当のマルコフ過程は関数 $T$ で決定論的に値が変換されるのではなく、確率的に値が変換されます。ここでは問題を簡単にするために各時刻について状態は$$\begin{align}行動集合&:\mathcal A = \{a ^ {(1)}, a ^ {(2)}, \cdots, \} \\状態集合&:\mathcal S = \{s ^ {(1)}, s ^ {(2)}, \cdots, \} \\遷移関数&:T _ {ijk} = {\rm Pr}(s _ {t+1} = s ^ {(j)} \mid s _ {t} = s ^ {(i)}, a _ {t} = a ^ {(k)}) \\報酬関数&:g(s , a )\\初期状態確率&:p _ 0 = {\rm Pr} (s _ 0)\end{align}$$仮に環境を眺めていたらマルコフ過程でした…!ということがわかったとすれば、現在の状態を観測することで次の状態がどうなるかを、確率遷移関数 $T$ を知ってさえいれば!!、見積もることが出来るという話になります。このように時間変化で状態が変わっていくような環境の振る舞いを知ろうという試み(すなわち遷移関数を知ろうという試み)は、システム同定と言ったりします(若干不正確ですが…)。$$s _ {t+1} = T(s_t, s _ {t - 1})$$一方で、もうマルコフ決定過程の中身は諦めてしまい、行動を取ったらなにかしらの状態が返ってきて報酬をくれる箱だと思い、報酬を高められるような行動のとり方(方策)をひたすら模索することも考えられます(モデルフリー)。この、状態 $s _ t$ に対して取る行動 $a _ t$ を「良し」と考える度合いを数値で表現したものを報酬関数 $g(s _ t, a _ t)$ と呼びます。今回は $g (s ^ {(0)}, a ^ {(1)})$ の報酬はきっと高い値になっていることでしょう。マルコフ決定過程とはこれまでの説明の通り、状態、行動、確率遷移関数、報酬関数によって規定される何某かのものであるということです(あとは初期状態を規定するなにかも必要ですが…)。$$T = p (s _ {t + 1} | s _ t, a _ t)$$という漸化式で表現されることになります。このようなマルコフ過程は時間経過と共にどうなるのでしょうか?簡単なことです。 $s_0 = 7$ だと思って計算すれば、 $s_1 = \frac{7}{2}$ になりますし、 $s_2 = \frac{7}{4}$ となりますし、…(以下略)で強化学習を真面目に勉強し始めたので、ここまで学んだ知見を記事としてまとめます。線形代数の基本的な表記や確率統計で出てくる基本的な言葉を前提とし、理論的な証明などは割愛し結果だけを認める形で進めていきたいと思います。ここで例を見てみましょう。もしも $s _ t = s ^ {(0)}$ だとすればで決まるということですが、ここで私達は、 次の状態は $s ^ {(2)}$ になってほしいと思っていたとします。しかし確率遷移関数を見るに、放っておけば思惑通りになるのは難しそうな状況です。$$\begin{align}T _ {a ^ {(1)}}(s ^ {(0)} | s ^ {(0)})& = \frac{1}{6} \\T _ {a ^ {(1)}}(s ^ {(1)} | s ^ {(0)})& = \frac{1}{6} \\T _ {a ^ {(1)}}(s ^ {(2)} | s ^ {(0)})& = \frac{2}{3}\end{align}$$ところで状態の遷移はそのときは良いと思っても、後々になってみれば失敗だったということも起こりえます(飛車を捨てて銀と交換するのは一見悪いのだが、ゲーム終盤では大駒を切るという行動が良い場合もある。あるいは迷路の出口に近づくことが良い行動だと思いきや、ゴールへは遠回りをしないと絶対にたどり着けないなど)。自分が勉強していく上で学んだことなどをまとめていきたいと思います。ここで $T$ は何某かの関数です。すなわち時刻 $t$ の状態が関数 $T$ によって変換され $s _ {t+1}$ になっているという状況を想定しています。いやいやちょっと待った、強化学習を学び始めるとどうしてもこの相互作用なるものが前提で話が進んでしまうため、若干の分かりにくさが生まれてしまうように思います。ここでは思い切って、「環境」と「エージェント」を完全に分離して説明し、問題によっては相互作用が必要になるという形式で話を展開しましょう。という2つの値のいずれかを取るものとします。さて環境の状態が $s ^ {(0)}$ のとき次の状態がまず最初に強化学習で現れる「環境とエージェントの相互作用」なるもの言葉について、実を言うと、目の前にある課題は環境とエージェントの相互作用というのは必ずしも必要がないかもしれません(そうであれば強化学習という手段を行使しないということ…)。と先程まで表されていたマルコフ過程を修正し、確率遷移関数 $T$ によって $s_t$ が $s _ {t+1}$ に確率的に変化するという様子を表したいということです。そこで、 $T$ は具体的にどういうものになっているのかというと、 例えば $s ^ {(0)} \rightarrow s ^ {(1)}$ という状態遷移のしやすさ、あるいは$s ^ {(0)} \rightarrow s ^ {(2)}$ への状態遷移のしやすさ、を表したものになっていると良いでしょう。すべて列挙すればという遷移の仕方全てについて確率を割り当てたものとなっていると良いということです。まとめてしまえば、時間が進むことで状態の遷移がどのように起こるのかを表していた $T$ なるものはとなっていれば「あ、次は $ s ^ {(1)}$ になりそうな気がするな…」と見積もれるというわけです。要するにマルコフ過程は現在の状態次第で、次の状態がどれになりやすいかが決まるものであるということです。$$\begin{align}s ^ {(0)} &\rightarrow s ^ {(0)} \\s ^ {(0)} &\rightarrow s ^ {(1)} \\s ^ {(0)} &\rightarrow s ^ {(2)} \\s ^ {(1)} &\rightarrow s ^ {(0)} \\s ^ {(1)} &\rightarrow s ^ {(1)} \\s ^ {(1)} &\rightarrow s ^ {(2)} \\s ^ {(2)} &\rightarrow s ^ {(0)} \\s ^ {(2)} &\rightarrow s ^ {(1)} \\s ^ {(2)} &\rightarrow s ^ {(2)} \\\end{align}$$となるとわかっていたらどうしましょうか。当然、次は $s ^ {(2)}$ になってほしいのですから $ a ^ {(1)}$ を外から与えてやろうと思えるわけですね。このように、現在の状態 $s _ t$ と外から与える行動 $a _ t$ によって次の状態 $s _ {t + 1}$ が確率的に決まるような場合には、マルコフ過程を改め、マルコフ決定過程と呼ぶようにします。また、嘘をついてしまいました。マルコフ決定過程を定式化するものは、上記だけではありません。先程 $s ^ {(0)} \rightarrow s ^ {(2)}$ と移ることを良しと考え、その確率が高くなるような行動 $ a ^ {(1)} $ を選んでやろうという話がありました。さて、仮に $T(s) = \frac{1}{2} s $ みたいな関数だったとしましょう。そうするとこのマルコフ過程はみたいに複数の時刻の状態に依存して $s _ {t+1}$ は決まるのかもしれない!ということも想定できます。ところがそうなってくると問題がやけに複雑になってしまうので、我々の扱う環境は前後1時刻のみによって状態の変化が記述されていると仮定するのです。このような性質をマルコフ性と呼びます。そしてそのような時間発展していく変数の列をマルコフ過程などと呼びます。ここで環境の外から $ a _ t$ を与えてみると上記の確率遷移関数が変化すると考えます。具体的に $ a ^ {(0)}$ を与えてみたらマルコフ決定過程において状態をコントロールしたい時に、そのコントロールに貢献する(報酬をもらえる)行動を貪欲にとってみても、その行動によって状態が変わり、次の状態ではもはや手の付けられない状態になっているということが起こるからです。つまり、この行動は今は良しとされているが、状態が変わったあとのことも考慮に入れて(将来もらえる報酬のことも考えて)行動を選択しなければならないということです。