🤖 Clockwork Hippocrates 🧑⚕️












医療の現場は、絶え間ない「意思決定」の連続です。たとえば集中治療室(ICU)における敗血症患者の管理を想像してみてください。刻一刻と変化する血圧や心拍数を見ながら、いつ、どのくらいの輸液を行い、昇圧剤をどのタイミングで投与するか。今日の選択が明日の患者の状態を変え、明日の状態がまた新たな選択を迫ります。このように「現在の行動が未来の状況に影響を与える」環境での連続的な意思決定は、従来のルールベースのAIや、一度の予測で完結する画像診断AIには扱うことが極めて困難でした。
そこで登場するのが「強化学習(Reinforcement Learning: RL)」です。強化学習は、正解データを最初から与えられるのではなく、システム自身が環境と対話し、試行錯誤を通じて「最善の戦略」を自ら学習していく技術です (Sutton and Barto 2018)。近年では、ICUにおける敗血症治療の最適な投薬戦略をAIに学習させる研究が世界的権威のある医学誌に掲載されるなど、医療分野への応用が急速に進んでいます (Komorowski et al. 2018)。
本記事では、強化学習の根底にある「試行錯誤の数学」を解き明かします。数式が登場しますが、身構える必要はありません。すべての記号の読み方と意味を一つずつ丁寧に対応づけながら、医療の具体例とともに解説していきます。最後までお読みいただければ、強化学習AIがどのように世界を認識し、どのように経験から学んでいるのかを、直感と数式の両面から深く理解できるはずです。
1. 強化学習の登場人物:エージェントと環境の対話

強化学習(Reinforcement Learning: RL)の世界は、基本的に二つの登場人物による絶え間ない「対話」によって成り立っています。それが、自ら学習して意思決定を行う「エージェント(AI)」と、その行動を受け止めて変化を示す「環境」です。
これを医療の現場に例えて考えてみましょう。この枠組みにおいて、エージェントは治療方針を決定する「主治医(あるいはAIシステム)」であり、環境は刻一刻と複雑な生体反応を示す「患者の身体(および病気そのもの)」に相当します。この二者の間で行われる対話は決して一方通行ではなく、具体的には以下の3つの要素がループする絶え間ないキャッチボールとして進行していきます (Sutton and Barto 2018)。
- 状態(State): 環境の現在の状況を表す情報です。医療の文脈では、患者の心拍数や血圧などのバイタルサイン、血液検査の結果、画像所見、現在の意識レベルといった臨床データ全体がこれに該当します。エージェントはまず、この「状態」を観察することから意思決定をスタートさせます。
- 行動(Action): 観察した状態に基づき、エージェントが環境に対して働きかける操作のことです。実際の治療においては、特定の昇圧剤の投与やその投与量の変更、人工呼吸器の設定調整、あるいは手術の実施などが当たります。この行動によって、患者の身体(環境)には何らかの変化が生じます。
- 報酬(Reward): 行動の結果として、環境からエージェントへ与えられる「良さ」のフィードバック(評価)です。強化学習において極めて重要な概念であり、患者が回復に向かう兆候を見せればプラスの報酬が与えられ、逆に病状が悪化したり副作用が出たりすればマイナスの報酬(ペナルティ)が与えられます。AIは、この報酬を道しるべとして自身の行動を修正していきます。
ここで重要なのは、エージェントの究極の目的です。強化学習エージェントは、目先の報酬(たとえば「投与直後に一時的に血圧が上がった」という短期的な成果)だけを追い求めるわけではありません。目指しているのは、将来にわたって得られる報酬の合計を最大化することです。つまり臨床的に言えば、一時的な数値の改善にとらわれず、最終的な「患者の完全なる治癒」や「無事な生存退院」という最大の目標を達成するための長期的な治療戦略(方策)を、データの中から自ら見つけ出すことにあるのです (Komorowski et al. 2018)。
では、この「状態を観察し」「行動を選択し」「報酬を受け取る」という一連の移り変わりを、実際にAIのプログラムに落とし込んで計算させるためにはどうすればよいのでしょうか。概念的な理解だけでは、コンピュータは動いてくれません。ここから、いよいよこれら3つの要素の対話を、厳密な数学の言葉へと翻訳していくプロセスが始まります。
2. 「次に何が起きるか」の数学:状態遷移確率

私たちが臨床現場で何らかの行動(治療介入)を起こしたとき、次に何が起きるかは常に不確実性を伴います。たとえば、敗血症性ショックで血圧が低下している患者に対し、血圧を上げるためにノルアドレナリン(昇圧剤)を投与したとしましょう。しかし、同じ量を投与しても、期待通りに血圧が急上昇する患者もいれば、全く反応しない患者もいます。生物の身体は極めて複雑なシステムであり、介入に対する反応は確率的にしか予測できません。AIに最適な治療戦略を考えさせるためには、まずこの「不確実な未来への変化」をコンピュータが扱えるように表現するための数学的な道具が必要になります。
ここで、一つの大きな壁にぶつかります。患者の「次の状態」を正確に予測しようとすれば、本来ならどうすべきでしょうか。論理的に考えれば、「生まれてからこれまでのすべての病歴、すべての投薬歴、日々の生活習慣、遺伝情報」といった過去の履歴をすべて考慮する必要があるはずです。しかし、時間が経つにつれて無限に増え続ける過去の履歴をすべてAIに記憶させ、毎回計算させるのは、現在のコンピュータの処理能力をもってしても現実的ではありません(いわゆる「次元の呪い」に陥ります)。
そこで強化学習では、AIの計算を成立させるために、非常に強力かつ大胆な仮定を置きます。それは、「未来の状態は、今の状態と今の行動だけで決まる」という仮定です。言い換えると、「過去の長い経緯は、すべて現在のバイタルサインや検査値といった『今の状態』の中にすでに集約されている」とみなすわけです。この「過去は忘れて、今だけを見る」という性質を、数学の世界では「マルコフ性(Markov property)」と呼びます (Bellman 1957)。
このマルコフ性を前提として、状態、行動、報酬の移り変わりを定式化した意思決定の枠組みを、マルコフ決定過程(Markov Decision Process: MDP)と呼びます。まずは、エージェントの行動によって環境(患者の状態)がどのように変化するかという「ルール」を表す、「状態遷移確率」を式で表現してみましょう。
いきなり複雑な数式を見るのではなく、まずは日本語だけで式の骨格を組み立ててみます。
次の状態が決まる確率 =(現在の状態と、現在の行動という条件のもとで)次の状態が特定の値になる確率
これを、公式な数学の記号に翻訳していきます。ここでキーになるのは、条件付き確率を表す縦棒 \( \mid \) という記号です。これは数学では「〜という条件が与えられたもとで(given)」と読み、左側に「知りたい結果」、右側に「前提となる条件」を置く決まりになっています。
\[ P(s’ \mid s, a) = \operatorname{Pr}(S_{t+1} = s’ \mid S_t = s, A_t = a) \]
式に登場するすべての記号の意味を、以下の表にまとめました。数式を読むための「辞書」として活用してください。
| 記号 | 読み方 | 意味 | 型・次元・範囲 | 今回の例での具体値 |
|---|---|---|---|---|
| \( P \) | ピー | 状態遷移確率関数。環境がどのように変化するかの「ルール」を表す。 | 確率なので \(0\) 以上 \(1\) 以下の実数 | \(0.8\) |
| \( S_t \) | エス ティー | 時刻 \(t\) における環境の「状態」を表す確率変数。 | 状態の集合に属する変数 | 「現在の平均動脈圧(MAP)」 |
| \( s \) | エス | 時刻 \(t\) における状態の具体的な値。 | 観測された具体的な数値 | 「MAP 55 mmHg(低血圧)」 |
| \( A_t \) | エー ティー | 時刻 \(t\) にエージェントが選択する「行動」を表す確率変数。 | 行動の集合に属する変数 | 「昇圧剤の投与」 |
| \( a \) | エー | 時刻 \(t\) に選ばれた行動の具体的な値。 | 実行された具体的な操作 | 「ノルアドレナリン 0.1 \mu g/kg/min 投与」 |
| \( S_{t+1} \) | エス ティー プラス イチ | 1歩先の時刻 \(t+1\)(例:1時間後)における環境の「状態」。 | 状態の集合に属する変数 | 「投与1時間後のMAP」 |
| \( s’ \) | エス ダッシュ | 1歩先の時刻に到達した状態の具体的な値。 | 観測された具体的な数値 | 「MAP 70 mmHg(正常化)」 |
| \( \operatorname{Pr} \) | プロバビリティ | 確率(Probability)そのものを計算することを表す演算子。 | – | – |
この数式を、実際に声に出して読み下してみましょう。「ピー、エスダッシュ、ギブン(与えられた条件)、エス、カンマ、エー、イコール……」となります。全体の意味としては、「今、患者の状態が \(s\) であり、主治医(エージェント)が行動 \(a\) をとったという条件(\(S_t = s, A_t = a\))が満たされたもとで、1歩先の未来の状態が \(s’\)(\(S_{t+1} = s’\))になる確率はいくらか」ということを述べています。
式をさらに内側から分解して、カルテを読むような感覚で読み解いてみましょう。式の右辺にある括弧の中身に注目してください。縦棒 \( \mid \) の右側が、私たちが今まさに直面している「前提条件」です。つまり「今、患者の血圧が危険なほど低く(\(s\))、それに対して昇圧剤を投与した(\(a\))」という変えられない事実を固定します。そのうえで、縦棒の左側を見ます。これが知りたい「結果」です。つまり「1時間後の血圧が目標とする正常値(\(s’\))になる」という事象を指しています。全体を \(\operatorname{Pr}()\) で囲むことによって、その事象が起きる確率(パーセンテージ)を計算しているわけです。そして、左辺の \( P(s’ \mid s, a) \) は、その長ったらしい記述を毎回書くのは大変なので、スッキリとまとめた略記法として機能しています。
抽象的な話が続いたので、具体的な数字を入れて手計算でイメージを掴んでみましょう。
現在の状態 \(s\) を「低血圧(MAP 55 mmHg)」、行動 \(a\) を「昇圧剤の投与」とします。先述の通り、患者の身体の反応には個人差があるため、次の状態 \(s’\) がどうなるかは確率的になります。たとえば過去の膨大なICUのデータから、薬がよく効いて「正常血圧(MAP 70 mmHg)」(\(s_1’\)) になる確率と、残念ながらあまり効かずに「低血圧のまま(MAP 55 mmHg)」(\(s_2’\)) になる確率が、以下のように定義されていると仮定します。
- \( P(s_1′ \mid s, a) = 0.8 \) (正常血圧に回復する確率は 80%)
- \( P(s_2′ \mid s, a) = 0.2 \) (低血圧のままになる確率は 20%)
ここで重要なルールがあります。ある状態から出発して行動を起こしたとき、あり得るすべての「次の状態」の確率を足し合わせると、必ず \( 0.8 + 0.2 = 1.0 \)(100%)にならなければなりません(これを全確率の法則と呼びます)。このように、特定の状態に対して特定の行動をとったとき、環境がどのように変化しうるかという「世界のルール全体」を表現するのが、状態遷移確率関数なのです。
直感・限界・意味
なぜこの形なのか:
なぜ、わざわざこのような確率関数を用意して定式化するのでしょうか。それは、医療という極めて複雑な環境においては、「Aという薬を飲めば、100%の確率でBという状態になる」といった決定論的な書き方では、現実の不確実性を到底表現しきれないからです。確率というクッションを導入することで、AIは「失敗するリスク(20%)」も考慮に入れながら、不確実性を数学的に安全に扱うことができるようになります。
どこで壊れるのか(限界):
しかし、この美しい数式にも限界は存在します。最大の弱点は、先述した「マルコフ性(今の状態だけで次が決まる)」という強力すぎる仮定そのものです。実際の医療現場を想像してみてください。過去1週間ずっと微熱が続いて消耗しきっている患者と、今日たまたま微熱が出たばかりの患者では、電子カルテ上の見かけの「今の状態(体温 37.5℃)」が全く同じ数字であったとしても、投与した解熱剤に対する反応(次の状態へ移行する確率)は大きく異なる可能性が高いと考えられます。このような過去の文脈が無視できない場合、単純なマルコフ性を前提とした強化学習AIは現実をうまくモデル化できず、最適な治療方針を見誤って性能が落ちてしまいます。
何の役に立つのか(臨床・研究での意義):
この限界に対処するため、最先端の医療AIの研究現場では、単純なMDPの枠組みを超えた工夫が実践されています。たとえば、患者の過去の時系列履歴を再帰型ニューラルネットワーク(RNN)やTransformerといった深層学習技術を用いて圧縮し、一つのリッチな「現在の状態ベクトル」の中に過去の文脈を埋め込む(部分観測マルコフ決定過程:POMDPへの拡張)といったアプローチが取られています (Sutton and Barto 2018; Komorowski et al. 2018)。状態遷移確率を正しく定式化し、その限界を理解して拡張していくことは、AIに「患者の身体がどう反応するか」という精緻なシミュレーターを内面化させることに他ならず、安全で効果的な治療戦略を学習させるための最も重要な土台となるのです。
3. AIの目的関数:「割引報酬和」という未来への投資

前章で、患者の身体状態がエージェントの行動によってどう変化するかというルールの枠組み(マルコフ決定過程:MDP)が決まりました。次は、エージェントが「最終的に何を目指して行動するのか」という目的関数を定義していく段階に入ります。
強化学習のエージェントは、行動を起こすたびに環境から「報酬(Reward)」というフィードバックを受け取ります。しかし、エージェントが最大化したいのは、「今すぐもらえる目先の報酬」だけではありません。
実際の医療現場を想像してみてください。たとえば、外科医が手術(行動)を実施した直後、患者の身体には大きな侵襲が加わり、強い痛みや一時的な臓器負担といったネガティブな状態(マイナスの報酬)が生じます。しかし、その後の病気の根治や完全な回復(非常に大きなプラスの報酬)を確信しているからこそ、医師はあえて一時的な痛みを伴う手術を決断するのです。もし「今すぐ痛みをなくすこと」だけを目的としたら、根本的な治療は行われません。AIにも、このように一時的な悪化を許容してでも最終的な治癒を目指す「長期的な視野」を持たせなければなりません。
そこで、「これから未来にわたって得られる報酬の合計」を計算する式を作ります。ただし、ここで一つ重要な工夫が必要です。はるか遠い未来に得られる報酬は、直近の報酬に比べて「不確実」です。1時間後に患者の血圧が安定している価値と、1年後に血圧が安定している価値は、現在の意思決定において全く同じ重みで扱うべきでしょうか。一般的には、遠い未来の価値は不確実性が高いため、少し目減り(割引)させて現在の価値として評価します。
まずは、数式にする前に日本語だけで式の骨格を組み立ててみましょう。
トータルの喜び(収益) = 直後の報酬 +(少し割り引いた)1歩先の報酬 +(もっと割り引いた)2歩先の報酬 + ……未来永劫続く
これを、厳密な数学の記号に翻訳します。ここでは「総和」を表すシグマ \( \sum \) という記号が新たに登場しますが、これは単に「条件を満たすものを順番にすべて足し合わせる」という指示記号にすぎません。
\[ G_t = \underbrace{R_{t+1}}_{\text{直後の報酬}} + \underbrace{\gamma R_{t+2}}_{\text{1歩先の報酬}} + \underbrace{\gamma^2 R_{t+3}}_{\text{2歩先の報酬}} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \]
式に登場するすべての記号の意味を、以下の表で確認しましょう。
| 記号 | 読み方 | 意味 | 型・次元・範囲 | 今回の例での具体値 |
|---|---|---|---|---|
| \( G_t \) | ジー ティー | 時刻 \(t\) から未来に向けて得られる「割引報酬和(収益:Return)」。 | スカラー値(単一の数値) | \( 109 \)(後述の手計算) |
| \( R_{t+1} \) | アール ティー プラス イチ | 行動を起こした結果、時刻 \(t+1\) に受け取る即時の報酬。 | スカラー値 | \( 10 \) |
| \( \gamma \) | ガンマ | 「割引率」。未来の報酬をどれくらい目減りさせるかを決める係数。 | \(0\) 以上 \(1\) 未満の実数 | \( 0.9 \) |
| \( k \) | ケイ | 未来のステップ数(何歩先か)を数えるためのインデックス(カウンター)変数。 | \(0, 1, 2, \dots\)(整数) | – |
| \( \sum \) | シグマ | 右側の数式を、下の条件から上の条件まで繰り返して足し合わせる記号。 | – | – |
| \( \infty \) | 無限大 | 未来の時間がどこまでも永遠に続くことを表す。 | – | – |
この式を声に出して読み下してみましょう。「ジーティー イコール、アール ティー プラス イチ プラス、ガンマ アール ティー プラス ニ プラス……イコール、シグマ ケイ イコール ゼロ から 無限大 までの、ガンマの ケイ乗 かける アール ティー プラス ケイ プラス イチ」となります。意味としては、「今から得られるトータルの報酬は、未来の各ステップの報酬にそれぞれ割引率の累乗を掛けたものを、無限の未来まで足し合わせたものである」と述べています。
式を分解して、内側から読んでみます。一番左の \( G_t \) は、現在の時刻 \(t\) の地点から見た、未来全体の総合的な価値の予測です。右辺の展開された形を見ると、1ステップ先の直近の報酬 \( R_{t+1} \) には何も掛けられておらず、そのままの価値として扱われています。しかし、2ステップ先の \( R_{t+2} \) には \( \gamma \) が1回掛けられ、3ステップ先の \( R_{t+3} \) には \( \gamma^2 \)(ガンマの2乗)が掛けられています。もし \( \gamma \) が \(0.9\) なら、未来に行けば行くほど \(0.9 \times 0.9 \times 0.9 \dots\) と掛け合わされ、遠い未来の報酬の価値は現在の判断基準としてはどんどん小さくなっていきます。一番右側の \( \sum \) を使った表現は、この無限に続く足し算を「\(k\)というカウンターを \(0\) から無限大まで増やしながら足し続ける」という一行の式で簡潔にまとめたものです。
抽象的な式のままでは分かりにくいので、具体的な数字を入れて手計算してみましょう。
エージェントがICUの敗血症患者への治療介入を開始した現在の時刻を \(t\) とします。患者の回復度合いに応じて、以下の報酬が得られることが過去のデータ等から分かっているとします。
- 1時間後(直後)の報酬 \( R_{t+1} = 10 \) (少し血圧が安定した)
- 2時間後(1歩先)の報酬 \( R_{t+2} = 20 \) (自発呼吸が安定してきた)
- 3時間後(2歩先)の報酬 \( R_{t+3} = 100 \) (状態が劇的に改善し、ICU退室のめどが立った)
4時間後以降は、一旦シミュレーションの区切りとして報酬が発生しない(\(0\)になる)とします。ここで、割引率 \( \gamma = 0.9 \) と設定します。
これらの値を式に代入して計算します。
\[ \begin{aligned} G_t &= \gamma^0 R_{t+1} + \gamma^1 R_{t+2} + \gamma^2 R_{t+3} \\ &= 1 \times 10 + 0.9 \times 20 + 0.9^2 \times 100 \\ &= 10 + 18 + (0.81 \times 100) \\ &= 10 + 18 + 81 \\ &= 109 \end{aligned} \]
計算結果を見てください。最も遠い未来にある非常に大きな報酬「100」が、現在の判断基準としては少し割り引かれて「81」の価値として見積もられています。それらを合算し、現在の時刻から見たトータルの価値(収益)が \(109\) になることが分かります。
直感・限界・意味
なぜ \( \gamma \) という割引率を掛け算するのでしょうか:
理由は大きく二つあります。一つは「不確実な未来の報酬よりも、確実な現在の報酬を重視する」という、私たち人間の直感的な時間割引の感覚に合わせるためです。もう一つの、数学的に非常に重要な理由は「計算上の崩壊を防ぐため」です (Sutton and Barto 2018)。もし患者の管理プロセスが理論上永遠に続き、割引率が \( \gamma = 1.0 \)(割引全くなし)だった場合、プラスの報酬を無限に足し続けることになり、合計値は無限大(\( \infty \))に発散してしまいます。これでは、「ある行動ルート」と「別の行動ルート」のどちらの収益が大きいか、数字で比較することが不可能になります。\( \gamma \) を \(1\) より小さい値(例: \(0.99\) や \(0.9\))に設定することで、無限級数の和が有限の具体的な数値に収束することが数学的に保証されるのです。
どこで壊れるのか(限界と落とし穴):
割引率の設定には大きな落とし穴があります。それは、\( \gamma \) を極端に小さくしすぎること(たとえば \( \gamma = 0.1 \) など)です。もしこれをやってしまうと、AIは「2歩先の未来の報酬は元の1%の価値しかなく、現在の判断においてほとんど意味がない」と解釈してしまいます。その結果、エージェントは非常に近視眼的な行動をとるようになります。医療現場に置き換えると、「後々の臓器障害のリスクを無視してでも、強力な昇圧剤を今すぐ大量投与し、目先の血圧モニターの数字だけを正常に見せかける」といった、長期的には患者の予後を悪化させる危険な治療行動を選択してしまう恐れがあります (Komorowski et al. 2018)。医療AIにおいては、適切な割引率 \( \gamma \) の設計は単なるハイパーパラメータのチューニングではなく、臨床的な安全性と直結する極めて重要なプロセスなのです。
4. 意思決定のルール:「方策(Policy)」

ここまでのステップで、エージェントが生きる環境のルール(状態遷移確率というマルコフ決定過程の仕組み)と、最終的に目指すべき目標(割引報酬和という未来への投資)がしっかりと定義できました。舞台設定は完璧です。それでは最後に登場するのが、エージェントの「脳」そのものにあたる、意思決定のルールです。これを強化学習の用語では「方策(Policy:ポリシー)」と呼びます。
方策とは、一言で言えば「現在の状態を観察したときに、次にとるべき行動をどの確率で選ぶべきか」を出力する関数のことです。強化学習エージェントの究極の目的は、先ほど計算したトータルの喜びである割引報酬和(\(G_t\))の期待値(平均値)を最大化するような、まさに「最高の方策」を膨大なデータと試行錯誤の中から見つけ出すことに他なりません。
数式を組み立てる前に、まずは日本語だけでこのルールの骨格を作ってみましょう。
行動を選ぶ確率 = 現在の状態が与えられたときの、その行動をとる条件付き確率
これを、数学の記号に翻訳します。ここでも「〜という条件のもとで」を表す縦棒 \( \mid \) が活躍します。
\[ \pi(a \mid s) = \operatorname{Pr}(A_t = a \mid S_t = s) \]
式に登場する記号の意味を、以下の辞書テーブルで確認しましょう。
| 記号 | 読み方 | 意味 | 型・次元・範囲 | 今回の例での具体値 |
|---|---|---|---|---|
| \( \pi \) | パイ | 「方策」。状態を入力として受け取り、行動の確率を出力する関数。 | 確率関数(出力の合計は常に \(1\)) | – |
| \( A_t \) | エー ティー | 時刻 \(t\) においてエージェントが選択する行動の確率変数。 | 行動の集合に属する変数 | 「昇圧剤の投与」 |
| \( a \) | エー | 具体的な行動の選択肢。 | 実行される具体的な操作 | 「薬Aを投与する」 |
| \( S_t \) | エス ティー | 時刻 \(t\) における環境の状態の確率変数。 | 状態の集合に属する変数 | 「現在の患者の血圧」 |
| \( s \) | エス | 具体的な現在の状態。 | 観測された数値 | 「収縮期血圧 80 mmHg」 |
この数式を声に出して読み下してみましょう。「パイ、エー、ギブン、エス、イコール、確率の……時刻 \(t\) の状態 \(S_t\) が \(s\) であるという条件のもとで、時刻 \(t\) の行動 \(A_t\) が \(a\) になる確率」。臨床的に言えば、「患者の血圧が \(s\) であるとき、薬 \(a\) を選ぶべき確率はどれくらいか」というルールそのものを表しています。
式を分解して、内側から見てみます。右辺の縦棒の右側 \(S_t = s\) が、エージェントが今まさに目の前で観察している患者の状態です。これを前提条件として固定し、縦棒の左側 \(A_t = a\) 、つまり「どの行動を採用するか」の確率を決定します。左辺の \( \pi(a \mid s) \) は、ある状態 \(s\) を放り込むと、とりうるすべての行動に対する確率(おすすめ度合い)をパッと返してくれる「ブラックボックス」だと考えてください。近年の医療AIで主流となっている深層強化学習(Deep RL)では、このブラックボックスの正体が、数百万ものパラメータを持ち、複雑な非線形計算を行うディープニューラルネットワークになります。
抽象的なので、具体的な数字を入れて手計算でイメージしてみましょう。
現在の状態 \(s\) を「血圧が低い」とします。もしエージェントが学習途中で、まだ未熟な方策 \( \pi \) を持っている場合、ニューラルネットワークから出力される確率は以下のようになるかもしれません。
- \( \pi(\text{薬Aを投与} \mid s) = 0.8 \) (80%の確率で薬Aを選ぶ)
- \( \pi(\text{薬Bを投与} \mid s) = 0.2 \) (20%の確率で薬Bを選ぶ)
とりうる行動がこの2つだけであれば、確率の合計は必ず \(1\)(100%)になります。エージェントは毎回内部でサイコロを振り、この確率の偏りに従って行動を決定します。
直感・限界・意味
なぜ確率を残すのか(探索の重要性):
ここで、鋭い方は一つの疑問を持つかもしれません。「血圧が低いなら絶対に薬Aを打つ(確率100%)」というように、もっとも良さそうな行動を最初から一つに決め打ち(決定論的方策)してしまった方が効率が良いのではないか、と。しかし、確率で行動を選ぶこと(確率的方策)には、強化学習ならではの極めて深い理由があります。それは「探索(Exploration)」を行うためです (Sutton and Barto 2018)。
もしAIが学習の初期段階で「とりあえず薬Aが一番良さそうだ」と決めつけて確率を100%にしてしまうとどうなるでしょうか。実は、一時的には効果が薄く見えても、長期的には(割引報酬和として)はるかに高い治癒率をもたらす「薬B」の真の価値に気づく機会が、永遠に失われてしまいます。確率を少し残してあえてサイコロを振ることで、AIは常に未知の可能性を試し(探索)、自身の治療戦略を無限に改善し続けることができるのです。これは「探索と活用(Exploration and Exploitation)のジレンマ」と呼ばれ、強化学習の中核をなす概念です。
どこで壊れるのか(限界と実運用への変換):
一方で、この確率的なアプローチの限界は、そのままでは実際の医療現場に適用できないという点にあります。臨床の現場において、「AIがサイコロを振った結果、今回は20%の確率を引き当てたので薬Bを投与します」といった、ランダム性を孕んだ指示は倫理的にも法的にも絶対に許容されません。
そのため、シミュレータ等の安全な環境で「探索」を十分に行い、AIの学習が完全に終了したあとは、実運用(推論フェーズ)に向けて方策の形を変えるのが一般的です。具体的には、学習済みの確率分布の中で最も確率の高い(=最も期待値が高い)行動だけを常に100%選択する「決定論的方策(Deterministic Policy)」へと変換してから、実際のシステムに組み込みます。これにより、同じ状態の患者に対しては常に一貫した最適な治療方針を提示できるようになり、医療における安全性と再現性が担保されるのです。
5. 医療分野における強化学習の意義と「動的治療計画」

ここまで、強化学習の土台となる「マルコフ決定過程(環境の変化のルール)」「割引報酬和(未来の価値への投資)」「方策(意思決定のルール)」という3つの重要な概念を、数式とともに一つずつ解き明かしてきました。
一見無機質に見えるこれらの数式が、臨床的に意味することは極めて重大です。それは、「AIが人間のプログラマーによる細かなルール設定の介入なしに、膨大な患者データを用いた疑似的な試行錯誤の中から長期的な因果関係を紐解き、最適な治療計画を自ら組み立てる能力を手に入れた」という事実です。
従来の医学研究(点)から強化学習(線)へのパラダイムシフト
現在のEvidence-Based Medicine(根拠に基づく医療)を支えている無作為化比較試験(RCT)は、医学的に最も信頼性の高い手法です。しかし、基本的には「ある特定のタイミングにおいて、薬Aと薬Bのどちらを投与すべきか」という「点」での比較評価が主流でした。しかし、実際の臨床現場は点ではありません。患者の状態は刻一刻と変化し、今日の治療が明日の状態を変え、明日の状態がまた新たな治療選択を迫ります。
強化学習(過去のデータから学ぶオフライン強化学習など)を用いれば、この連続性を扱うことができます。「1日目に薬Aを使い、2日目に血圧の反応が悪ければ薬Bに切り替え、尿量が十分に確保できたら利尿薬を減らす」といった、時間経過や個々の患者の状態変化に柔軟に対応する「動的治療計画(Dynamic Treatment Regime: DTR)」の最適解を、データの中から見つけ出すことが可能になります (Chakraborty and Murphy 2014)。これは、単なるガイドラインの画一的な適用を超えた、患者一人ひとりの状態遷移に合わせた究極の個別化医療への扉を開くものです。
見えない状態をどう扱うか:POMDPへの発展
もちろん、現実の医療現場への安全な導入に向けては、乗り越えるべき技術的な課題も多く残されています。本記事で解説した「マルコフ性(今の状態だけで次の状態が決まる)」は、数学的には非常に美しく扱いやすいものの、臨床の現実を完全に反映しているとは言えません。
なぜなら、電子カルテに記録されている心拍数や検査値といったデータだけで、患者の複雑な身体状態を100%完全に観測できるわけではないからです。カルテの数字には表れない患者の疲労度、未診断の潜在的な疾患や合併症、あるいは精神的なストレスといった「見えない状態(Hidden state)」が確実に存在します。これらをより正確に扱うためには、完全な観測を前提としたMDPからさらに発展し、「不確実でノイズだらけの観測データから、見えない真の状態を推測しながら行動を決定する」という部分観測マルコフ決定過程(Partially Observable Markov Decision Process: POMDP)といった、より高度で複雑な数式の世界へと足を踏み入れる必要があります (Hauskrecht and Fraser 2000)。
6. まとめ:AIと医師が共闘する未来へ
本記事では、強化学習AIがどのように世界を認識し、いかにして過去の経験から学んでいくのかを、数式の構造を通して紐解いてきました。
ギリシャ文字が並ぶ難解に見える数式も、一つひとつ丁寧に分解して読み解けば、「目の前の患者のバイタルを観察し(状態)、未来の完全な回復を見据えて(割引報酬和)、現在とりうる選択肢の中から最も成功確率の高い最善手を選ぶ(方策)」という、医師が日々ベッドサイドで行っている臨床推論のプロセスそのものを、数学の言葉に翻訳したものであることがお分かりいただけたのではないでしょうか。
医療における強化学習AIの真の目的は、決して人間の医師の仕事を奪ったり、治療を完全に無人化したりすることではありません。複雑に絡み合う膨大な時系列データを一瞬で計算し、「過去の何万という類似症例のデータによれば、このままの治療方針を維持すると3日後に急変するリスクが〇〇%ある」といった、人間の認知限界を超える長期的な予測を提示する、強力なパートナー(拡張知能:Augmented Intelligence)となることです (Komorowski et al. 2018)。
根底にある「環境と対話し、未来の報酬を見据えて自らの方策を磨き続ける」という強化学習の思想は揺るぎません。AIが試行錯誤の末に導き出した最適な方策の数式は、近い将来の臨床現場において、医師の困難な意思決定を支え、より多くの患者の命を救うための新たな羅針盤として機能していくはずです。
参考文献
- Bellman, R. (1957). A Markovian Decision Process. Journal of Mathematics and Mechanics, 6(5), 679–684.
- Chakraborty, B. and Murphy, S.A. (2014). Dynamic treatment regimes. Annual Review of Statistics and Its Application, 1, 447–464.
- Hauskrecht, M. and Fraser, H. (2000). Planning treatment of ischemic heart disease with partially observable Markov decision processes. Artificial Intelligence in Medicine, 18(3), 221–244.
- Komorowski, M., Celi, L.A., Badawi, O., Gordon, A.C. and Faisal, A.A. (2018). The Artificial Intelligence Clinician learns optimal treatment strategies for sepsis in intensive care. Nature Medicine, 24(11), 1716–1720.
- Sutton, R.S. and Barto, A.G. (2018). Reinforcement Learning: An Introduction. 2nd ed. MIT Press.
※本記事は情報提供を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
ご利用規約(免責事項)
当サイト(以下「本サイト」といいます)をご利用になる前に、本ご利用規約(以下「本規約」といいます)をよくお読みください。本サイトを利用された時点で、利用者は本規約の全ての条項に同意したものとみなします。
第1条(目的と情報の性質)
- 本サイトは、医療分野におけるAI技術に関する一般的な情報提供および技術的な学習機会の提供を唯一の目的とします。
- 本サイトで提供されるすべてのコンテンツ(文章、図表、コード、データセットの紹介等を含みますが、これらに限定されません)は、一般的な学習参考用であり、いかなる場合も医学的な助言、診断、治療、またはこれらに準ずる行為(以下「医行為等」といいます)を提供するものではありません。
- 本サイトのコンテンツは、特定の製品、技術、または治療法の有効性、安全性を保証、推奨、または広告・販売促進するものではありません。紹介する技術には研究開発段階のものが含まれており、その臨床応用には、さらなる研究と国内外の規制当局による正式な承認が別途必要です。
- 本サイトは、情報提供を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
第2条(法令等の遵守)
利用者は、本サイトの利用にあたり、医師法、医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律(薬機法)、個人情報の保護に関する法律、医療法、医療広告ガイドライン、その他関連する国内外の全ての法令、条例、規則、および各省庁・学会等が定める最新のガイドライン等を、自らの責任において遵守するものとします。これらの適用判断についても、利用者が自ら関係各所に確認するものとし、本サイトは一切の責任を負いません。
第3条(医療行為における責任)
- 本サイトで紹介するAI技術・手法は、あくまで研究段階の技術的解説であり、実際の臨床現場での診断・治療を代替、補助、または推奨するものでは一切ありません。
- 医行為等に関する最終的な判断、決定、およびそれに伴う一切の責任は、必ず法律上その資格を認められた医療専門家(医師、歯科医師等)が負うものとします。AIによる出力を、資格を有する専門家による独立した検証および判断を経ずに利用することを固く禁じます。
- 本サイトの情報に基づくいかなる行為によって利用者または第三者に損害が生じた場合も、本サイト運営者は一切の責任を負いません。実際の臨床判断に際しては、必ず担当の医療専門家にご相談ください。本サイトの利用によって、利用者と本サイト運営者の間に、医師と患者の関係、またはその他いかなる専門的な関係も成立するものではありません。
第4条(情報の正確性・完全性・有用性)
- 本サイトは、掲載する情報(数値、事例、ソースコード、ライブラリのバージョン等)の正確性、完全性、網羅性、有用性、特定目的への適合性、その他一切の事項について、何ら保証するものではありません。
- 掲載情報は執筆時点のものであり、予告なく変更または削除されることがあります。また、技術の進展、ライブラリの更新等により、情報は古くなる可能性があります。利用者は、必ず自身で公式ドキュメント等の最新情報を確認し、自らの責任で情報を利用するものとします。
第5条(AI生成コンテンツに関する注意事項)
本サイトのコンテンツには、AIによる提案を基に作成された部分が含まれる場合がありますが、公開にあたっては人間による監修・編集を経ています。利用者が生成AI等を用いる際は、ハルシネーション(事実に基づかない情報の生成)やバイアスのリスクが内在することを十分に理解し、その出力を鵜呑みにすることなく、必ず専門家による検証を行うものとします。
第6条(知的財産権)
- 本サイトを構成するすべてのコンテンツに関する著作権、商標権、その他一切の知的財産権は、本サイト運営者または正当な権利を有する第三者に帰属します。
- 本サイトのコンテンツを引用、転載、複製、改変、その他の二次利用を行う場合は、著作権法その他関連法規を遵守し、必ず出典を明記するとともに、権利者の許諾を得るなど、適切な手続きを自らの責任で行うものとします。
第7条(プライバシー・倫理)
本サイトで紹介または言及されるデータセット等を利用する場合、利用者は当該データセットに付随するライセンス条件および研究倫理指針を厳格に遵守し、個人情報の匿名化や同意取得の確認など、適用される法規制に基づき必要とされるすべての措置を、自らの責任において講じるものとします。
第8条(利用環境)
本サイトで紹介するソースコードやライブラリは、執筆時点で特定のバージョンおよび実行環境(OS、ハードウェア、依存パッケージ等)を前提としています。利用者の環境における動作を保証するものではなく、互換性の問題等に起因するいかなる不利益・損害についても、本サイト運営者は責任を負いません。
第9条(免責事項)
- 本サイト運営者は、利用者が本サイトを利用したこと、または利用できなかったことによって生じる一切の損害(直接損害、間接損害、付随的損害、特別損害、懲罰的損害、逸失利益、データの消失、プログラムの毀損等を含みますが、これらに限定されません)について、その原因の如何を問わず、一切の法的責任を負わないものとします。
- 本サイトの利用は、学習および研究目的に限定されるものとし、それ以外の目的での利用はご遠慮ください。
- 本サイトの利用に関連して、利用者と第三者との間で紛争が生じた場合、利用者は自らの費用と責任においてこれを解決するものとし、本サイト運営者に一切の迷惑または損害を与えないものとします。
- 本サイト運営者は、いつでも予告なく本サイトの運営を中断、中止、または内容を変更できるものとし、これによって利用者に生じたいかなる損害についても責任を負いません。
第10条(規約の変更)
本サイト運営者は、必要と判断した場合、利用者の承諾を得ることなく、いつでも本規約を変更することができます。変更後の規約は、本サイト上に掲載された時点で効力を生じるものとし、利用者は変更後の規約に拘束されるものとします。
第11条(準拠法および合意管轄)
本規約の解釈にあたっては、日本法を準拠法とします。本サイトの利用および本規約に関連して生じる一切の紛争については、東京地方裁判所を第一審の専属的合意管轄裁判所とします。
For J³, may joy follow you.

