🤖 Clockwork Hippocrates 🧑⚕️










私たちが日常診療を行うとき、頭の中では絶えず「未来のシミュレーション」が行われています。「もしこの患者さんにこの薬を投与したら、明日の検査値はどう変化するだろうか?」「副作用のリスクはどの程度だろうか?」――こうした思考プロセスこそが、本記事の主役である「ワールドモデル(World Model)」の概念そのものです。
近年、深層学習や強化学習の分野において、AI自身に「世界(環境)の振る舞いを予測するモデル」を持たせようとする研究が急速に進んでいます (Ha and Schmidhuber 2018)。これは単なる「明日の数値を当てる予測モデル」ではありません。「自分の行動が、世界をどう変えるか」という因果の連鎖を理解し、最適な意思決定を下すための基盤となる技術です。
本記事では、AIが世界を認識し、行動し、未来を予測するメカニズムを、状態空間モデル・マルコフ決定過程(MDP)・部分観測マルコフ決定過程(POMDP)といった数理的な枠組みに接続しながら、直感的に理解できるようにひも解いていきます。
なぜ「ワールドモデル」が必要なのか?予測モデルとの違い
医療AIが臨床現場で真に役立つためには、どのような能力が必要になるでしょうか?
まず、「予測モデル」と「意思決定に有用なワールドモデル」の違いをはっきりさせておきましょう。
「未来を当てるだけ」では足りない理由:予測モデルの限界
予測モデルとは、過去のデータから単純に未来の数値を外挿するモデルです。
例えば「明日の気温は何度か」といった、自分が行動しても変わらない対象を予測するのに向いています。明日の気温が分かれば「傘を持っていく」「厚着をする」といった対策は立てられますが、あなた自身の行動が明日の天気そのものを変えるわけではありません。これまでの医療AI研究の多くは、こうした精度の高い予測モデル(例:画像からの診断確率予測)を作ることに注力してきました。
AIの脳内に構築された「小さな模擬実験室」:ワールドモデル
一方でワールドモデルとは、自分が環境に働きかけた(行動した)結果、世界がどう変化するかをシミュレートするモデルです。
行動と結果の因果関係を内包しており、まさにAIの脳内に構築された「小さな模擬実験室」だと言えるでしょう。この仮想の実験室の中で、AIは実際に行動を起こす前に「もしこの薬を投与したら、患者さんの病態はどうなるか?」を何度も安全にテストすることができます。
医療現場のAIに求められる「比較検討」の能力
医療現場のAIに求められるのは、後者であるワールドモデルの能力です。
患者さんを目の前にしたとき、医師は「何もしなかった場合の予後」を予測するだけでなく、「Aという治療をした場合」と「Bという治療をした場合」のそれぞれの未来を描き出し、比較検討できる能力が求められます (Gottesman et al. 2019)。
例えば、敗血症の患者さんに対して「昇圧剤をこのタイミングで増量したら、血圧はどう反応し、多臓器不全のリスクはどう変化するか」を予測するような、複雑なシミュレーションです。
ワールドモデルを持つAIは、現実の患者さんにリスクを負わせることなく、脳内で無数の治療パターンを仮想的に試し、最も安全で効果的な選択肢を提案することが可能になります。だからこそ、自律的な意思決定を支援する今後の医療AIにおいては、単なる予測を超えたワールドモデルの理解と実装が強く期待されているのです。
状態・観測・行動の数理――AIはどう世界を捉えるか
ワールドモデルを直感的に、かつ数学的に理解するために、AIが世界を認識する際の基本的な記号と概念を定義しましょう。
AIが環境をどのように捉え、行動の結果をどう予測するのかを知ることは、医療における意思決定支援のメカニズムを理解する第一歩となります。
すべてが見える世界:完全観測環境(Markov性)と確率的な未来
チェスや将棋のように、盤面のすべての情報(駒の配置など)がプレイヤーに見えている状態を完全観測環境と呼びます。
この世界では、現在の「真の状態(\( s_t \))」と、自分が取る「行動(\( a_t \))」さえ分かれば、次の状態(\( s_{t+1} \))がどのように変化するかが決まります。過去の対局履歴を延々とさかのぼる必要がなく、「今この瞬間の状態」だけで未来の確率が決まるというこの便利な性質を、数学的にはマルコフ(Markov)性と呼びます。
環境の遷移(状態の変化)は、以下のような確率分布として表されます。
\[ s_{t+1} \sim p_\theta(s_{t+1} \mid s_t, a_t) \]
ここで \( p_\theta \) は、ニューラルネットワークなどのパラメータ \( \theta \) によって学習された「遷移モデル」を意味します。
ここで非常に重要なのは、生体の反応や未来の出来事は、「この薬を入れたら必ずこうなる」という単純な決定論的なものではないという点です。人体の反応には個人差があり、常に揺らぎを含んでいます。だからこそ、未来は「幅を持った確率的な分布」(数式中の \( \sim \) で表現されます)として定式化されるのです (Sutton and Barto 2018)。
医療現場のリアル:部分観測環境(POMDP)とは何か?
しかし、実際の医療現場は将棋の盤面とは全く異なります。
私たちは、患者さんの体内で起きているすべての細胞・分子の動きや、各臓器の完璧なパラメータ(真の状態 \( s_t \))を直接見ることはできません。医師やAIが得られる情報は、血液検査の値、心電図の波形、血圧といった、全体の中のごく一部の「観測(\( o_t \))」だけなのです。
このように、真の状態が隠されていて完全には把握できない環境を部分観測マルコフ決定過程(POMDP: Partially Observable Markov Decision Process)と呼びます。臨床現場はまさにこのPOMDPそのものです。では、すべてが見えない不確実な状況下で、AIはどうやって意思決定の根拠を作っているのでしょうか?
見えない病態を推測する:信念状態(潜在状態)の構築
そこでAIは、過去から現在までに得られたすべての観測履歴(\(o_{\leq t}\))と、これまでに行った治療行動の履歴(\(a_{\lt t}\))をもとに、現在の病態を表す「潜在状態」(\(z_t\))を自分の中で推定します。潜在状態に不確実性がある場合には、それぞれの状態がどの程度あり得るかを表す確率分布を「信念状態」と呼びます。
潜在状態の推定は、数式では次のように表されます。
\[ z_t = f_\theta(o_{\leq t}, a_{\lt t}) \]
この \(f_\theta\) は、過去の時系列データから本質的な特徴を抽出し、現在の状態を推定する状態推定モデル(表現学習モデル)です。
そしてAIは、この推定した潜在状態 \(z_t\) と、今から行おうとする現在の行動 \(a_t\) をもとに、1歩先の未来の潜在状態 \(z_{t+1}\) を予測するのです。
\[ z_{t+1} \sim p_\theta(z_{t+1} \mid z_t, a_t) \]
臨床の現場に例えるなら、心電図のモニター波形の微妙な変化(観測 \(o_t\))と、これまでに投与した薬剤の記録(行動 \(a_{\lt t}\))から、患者の現在の循環動態や病態(潜在状態 \(z_t\))を推定します。さらに、これから投与する薬剤や実施する処置(行動 \(a_t\))によって、患者の状態が次の時点でどのように変化するか(\(z_{t+1}\))を予測します。この一連の流れが、部分観測環境においてAIの安全かつ適切な意思決定を支える、ワールドモデルの強力な基盤となります。
ワールドモデルの壁:モデル誤差と「長期ロールアウト誤差」
ここまで、未来を予測し意思決定を助ける非常に強力なワールドモデルの概念を見てきました。
しかし、これを現実の臨床応用へと持ち込むためには、まだ乗り越えなければならない大きな課題が残されています。それが「モデル誤差」と、それに起因する「長期ロールアウト誤差」という厄介な問題です。
雪だるま式に膨れ上がる「長期ロールアウト誤差」とは?
AIが学習し予測する未来(\( p_\theta \))は、どれほど精巧に作られたニューラルネットワークであっても、あくまで現実世界の「近似」にすぎません。現実の人体の複雑さを完璧にコピーすることは不可能なため、どうしても実際の反応との間にズレが生じます。これをモデル誤差と呼びます。
仮に、1歩先(たとえば1時間後)の血圧や心拍数の予測誤差が、ほんのわずかであったとしましょう。しかし、ワールドモデルはその「わずかにズレた予測結果」を出発点として、さらに2歩先(2時間後)、3歩先(3時間後)と繰り返し未来を描き出していきます。このように自己の予測を使って数手先までシミュレーションを展開することを、機械学習の用語でロールアウト(rollout)と呼びます。
このロールアウトを繰り返すうちに、最初はごく小さかった誤差が雪だるま式に膨れ上がってしまい、最終的には現実と全く異なる的外れな予測を生み出してしまうのです (Sutton and Barto 2018)。
天気予報のジレンマと、複雑系としての「生命」
この現象は、日々の天気予報をイメージすると直感的にわかりやすいでしょう。
明日の天気や気温の予報は、スーパーコンピュータの緻密な計算により高確率で当たります。しかし、その予測データを使って1週間後、10日後の天気を当てようとすると、わずかな気流の乱れや温度変化が連鎖して、予測は大きく外れてしまいます。
人体の生体反応も、気象と同じかそれ以上に複雑なシステム(複雑系)です。数分から数時間先のバイタルサインの変化を予測できたとしても、数日、数週間という長期的な予後や、投薬の最終的な結果を正確にシミュレートすることは、現在の最新AIにとっても依然として至難の業なのです。
課題をどう乗り越えるか? 2つの異なるアプローチ
では、この予測誤差の連鎖をどのようにコントロールし、実臨床に役立つAIを開発すればよいのでしょうか?
現在、AI研究者の間では、大きく分けて2つのアプローチが議論されています。
- タスク非依存モデル(究極のシミュレーターを目指す道):
人体の基礎的な生理学や物理法則、生化学的な反応を汎用的に学習し、あらゆる状況や病態に対応できる「完璧なデジタルツイン(仮想空間上の双子)」を目指すアプローチです。これは理想的ですが、人体のメカニズムをすべて数式化して学習させる必要があるため、現在の計算資源やデータ量では実現へのハードルが極めて高いのが実情です。 - 報酬予測に特化したモデル(実用主義的な道):
すべての臓器の動きや細胞の反応を完璧に模倣することは潔く諦め、「敗血症による死亡率を下げる」「特定の副作用を確実に回避する」といった、特定のタスク(報酬・コスト)の予測にのみ最適化された潜在状態を学習するアプローチです。
現在の医療AI研究の多くは、実用性と計算コストの観点から、後者の「報酬予測に特化したモデル」を採用しています (Gottesman et al. 2019)。
完璧な世界地図(人体の完全なシミュレーション)を作らなくても、「迷わず目的地(治療の成功)にたどり着くためのナビゲーション」さえできれば、AIは私たちの強力な臨床のパートナーになり得るからです。
【実践】Pythonで学ぶ、状態・観測・行動のシミュレーション
ここまで、数式や概念を使って「ワールドモデル」がどのように世界を捉えているのかを解説してきました。
しかし、抽象的な理論の話だけでは、実際の臨床データとどう結びつくのか、なかなか実感が湧かないかもしれませんね。
そこで、この概念を直感的に掴んでいただくために、単純なPythonコードをご自身の環境で動かしてみましょう。
今回作成するのは、直接は見えない「潜在状態(たとえば、体内でくすぶる炎症レベルなど)」に対して、治療という「行動」を行い、ノイズ(誤差)を含んだ「観測(血液検査のCRP値など)」が得られる様子を再現するシミュレーションです。
実行前の準備
以下のコードでは、結果をわかりやすくするためにグラフのラベルに日本語を使用しています。
文字化けを防ぎ、日本語のグラフを正しく表示させるには、あらかじめターミナルやコマンドプロンプトで以下のコマンドを実行し、ライブラリをインストールしておいてください。
pip install japanize-matplotlib
シミュレーションコードの実行
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
# 乱数シードを固定し、結果を再現可能にする
np.random.seed(42)
# シミュレーションのステップ数(例:20日間の経過)
T = 20
# 変数の箱(配列)を準備
z = np.zeros(T) # 真の潜在状態 (例: 目に見えない炎症レベル)
o = np.zeros(T) # 観測 (例: 血液検査のCRP値。ノイズが含まれる)
a = np.zeros(T) # 行動 (例: 抗炎症薬の投与量)
# 初期状態の設定
z[0] = 10.0 # 最初の炎症レベルが高い状態からスタート
o[0] = z[0] + np.random.normal(0, 1.0) # 観測には正規分布ノイズが乗る
for t in range(T - 1):
# ----------------------------------------------------
# 1. 意思決定(行動の決定)
# 検査値(o[t])が5.0を超えていたら薬を投与する簡易ルール
# ----------------------------------------------------
if o[t] > 5.0:
a[t] = 2.0 # 投薬あり
else:
a[t] = 0.0 # 投薬なし
# ----------------------------------------------------
# 2. 状態遷移モデル (ワールドモデルの中核)
# 次の状態 z_{t+1} は、現在の状態 z_t と 行動 a_t で決まる
# ----------------------------------------------------
# 薬(a[t])が炎症を抑えるが、生体の自然変動ノイズも加わる
z[t+1] = z[t] - 1.5 * a[t] + np.random.normal(0, 0.5)
z[t+1] = max(0, z[t+1]) # 炎症レベルは0未満にはならないとする
# ----------------------------------------------------
# 3. 観測モデル
# 真の炎症レベル z_{t+1} に検査ノイズが加わって観測 o_{t+1} となる
# ----------------------------------------------------
o[t+1] = z[t+1] + np.random.normal(0, 1.0)
# 結果の可視化
plt.figure(figsize=(10, 6))
plt.plot(range(T), z, label='真の潜在状態 $z_t$ (実際の炎症レベル)', marker='o', color='blue')
plt.plot(range(T), o, label='観測 $o_t$ (血液検査値)', marker='x', linestyle='--', color='orange')
plt.bar(range(T), a, alpha=0.3, color='red', label='行動 $a_t$ (投薬量)')
plt.xlabel('時間ステップ $t$ (日)')
plt.ylabel('値')
plt.title('部分観測環境における状態・観測・行動のシミュレーション')
plt.legend()
plt.grid(True)
plt.show()
シミュレーションが教えてくれること
このシミュレーションを実行すると、3つの要素が絡み合うグラフが出力されます。

私たちが普段の診療で見ているのは、「ギザギザと上下する検査値のグラフ(オレンジ色の線)」だけです。
しかし、その裏側には、本来の「滑らかな病態変化(青色の線)」が確かに存在しています。そして、私たちが介入した「投薬行動(赤色の棒グラフ)」が、その後の病態にどのように影響を与えたのかが、このグラフからはっきりと読み取れます。
AIがワールドモデルを学習するというのは、まさにこの「オレンジ色のギザギザ(観測)」の背後にある、目に見えない力学(ダイナミクス)を、膨大なデータから自動的に見つけ出そうとする壮大な試みなのです。
まとめ――AIが描く「治療の未来図」
本記事では、「ワールドモデルとは何か」という問いから始まり、AIが世界をどのように認識し、未来を予測しているのかを解き明かしてきました。
- 予測モデルとの違い: 単に未来の数値を当てるのではなく、自らの「行動」が世界をどう変えるかをシミュレートする能力。
- 部分観測環境(POMDP)の壁: 直接見ることのできない真の病態を、過去の観測と行動の履歴から「潜在状態」として推定する思考プロセス。
- モデル誤差との戦い: 未来を予測し続けること(長期ロールアウト)で雪だるま式に膨らむ誤差をどう抑え込み、実臨床に役立てるかという課題。
ワールドモデルは、AIの脳内に構築された「小さな模擬実験室」です。
この技術がさらに洗練されていけば、AIは患者さん一人ひとりのデジタルツイン(仮想空間上の双子)を脳内に描き出し、「A薬を使うべきか、B薬を使うべきか」「いつ人工呼吸器から離脱させるべきか」といった複雑でリスクの伴う意思決定を、仮想空間で何万回もテストしてから提案してくれるようになるでしょう。
次回以降の講座では、今回の基礎概念を踏まえ、より高度なアルゴリズムの実装や、臨床応用の最前線(強化学習モデルなど)へとさらに深く踏み込んでいきます。AIが医療にどのようなブレイクスルーをもたらすのか、どうぞお楽しみに!
※本記事は情報提供および教育を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
参考文献
- Gottesman, O., Johansson, F., Komorowski, M., Faisal, A., Sontag, D., Doshi-Velez, F. and Celi, L.A. (2019) ‘Guidelines for reinforcement learning in healthcare’, Nature Medicine, 25(1), pp. 16–18.
- Ha, D. and Schmidhuber, J. (2018) ‘Recurrent world models facilitate policy evolution’, Advances in Neural Information Processing Systems, 31.
- 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), pp. 1716–1720.
- Sutton, R.S. and Barto, A.G. (2018) Reinforcement Learning: An Introduction. 2nd ed. Cambridge, MA: 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.

