AUGRIM

医療と機械学習を正しく、簡単に伝える

機械学習で因果関係を予測する~どの薬がこの疾患に効果があるか

医師が最も関心があるのは「この疾患を治すにはどの治療法がベストか」という問です。患者にとっては、「この薬を飲めば、病気が治るのか」は最大の関心事です。

 いわゆる「医療と人工知能」の研究で、「この眼の画像はなんの病気か?」という問題は殆ど研究分野としては落ち着いてきています。一方で今日考える「この患者にこの薬を投与するとどうなるか?」という因果推論が最もホットトピックです。

 

今回は機械学習でこの問にどのようにアプローチするのかを考えてみます。

 

物事をもう少し一般的に考えてみると、この課題は「機械学習を用いてデータ間の因果関係を把握できるか」という問に言い換えられます。先程の場合だと、疾患というデータに対して、ある治療を行った結果、疾患が治るのか治らないのかを機械学習を使って予測したいということです。

因果関係と相関関係

機械学習で因果関係を予測するとはどのようなことなのかをもう少し説明します。

 

「アメリカ人一人あたりのマーガリンの消費量とメイン州の夫婦の離婚率には正の相関がある」という報告があります。相関率は99%ですから、データとして見れば密接に関係していそうな雰囲気があります。

 

f:id:Longman:20170616144111p:plain

http://www.bbc.com/news/magazine-27537142 

(図は http://www.tylervigen.com/spurious-correlations より引用)

 

では、メイン州にいる夫婦の離婚率を減らすには、家庭に置くマーガリンを減らせばいいのでしょうか? 残念ながら、上のデータはこの問には全く答えてはくれません。離婚率とマーガリンの消費量の間の異なる因果関係が同一の相関間関係を与えるパターンがあるからです。

 

f:id:Longman:20170616152624p:plain

 

この図ではマーガリン消費量や離婚率とは別の原因A(例えば就労率、平均給与所得など)があって、両者に働いている場合を表しています。左側の図では、マーガリンの消費量の増減が離婚率の増減に影響を与えている場合を表しています。中央の図では、実はマーガリンの消費量と離婚率には直接の関係はないけれども、Aという共通の原因が両者に同じように影響を与えている場合を表しています。右の図は左の図でマーガリンと離婚率を入れ替えたものを表現しています。

 

このように、極めて高い相関関係があるデータであっても、そこから因果関係を予測するのは非常に難易度の高いタスクであることがわかります。

統計的因果探索

上で考えたような、相関関係と因果関係の間のギャップを擬似相関と呼び、このギャップを明らかにする試みが統計的因果探索です。

 

現在の機械学習では、どのような方法で因果関係が調べられているのかについて、幾つかの論文を紹介します。近年、機械学習ではこの分野の発展が目覚ましいので他にも非常にたくさんの論文があります。

 

C. Louizos et al., "Causal Effect Inference with Deep Latent-Variable Models"

[1705.08821] Causal Effect Inference with Deep Latent-Variable Models

 

F. Johansson et al., "Learning Representation for Counterfactual Inference"

[1605.03661] Learning Representations for Counterfactual Inference

 

S. Shimizu et al., "A Linear Non Gaussian Acyclic Model for Causal Discovery"

https://www.cs.helsinki.fi/u/ahyvarin/papers/JMLR06.pdf

 

せっかくなので、今回はこの中で最も新しい論文(一番上)について詳しく見てみます。

 

目的と手法

統計的因果探索のためのCausal Effect Variational Autoencoder (CEVA) という新しいニューラルネットワークのモデルを作成した。

 

データ

 

1つ目:既存のモデルとの比較のためのデータセット

 

2つ目:1989年から1991年の間にアメリカで生まれた双子。生まれたときの体重とその後の死亡率の因果関係を調べた。

 

結果

1つ目のデータに対しては、Johansson達のBNNモデル(上記の2番めの論文)と比較して遜色のない成果が見られました。εの値が小さいほど、精度が良いことを表しています。

f:id:Longman:20170616175841p:plain

 

2つ目のデータに対しては、ロジスティック回帰などに比べて、ニューラルネットの層を重ねるごとに、ノイズに対して安定であることがわかりました。

f:id:Longman:20170616180032p:plain

LR1がロジスティック回帰の場合で、nhがニューラルネットワークの隠れ層の数を意味しています。上に行くほど、良い成果であることを表しています。

 

我々は因果推論の技術は10年後の医療に確実に必要で導入されるべきだと思います。人工知能熱が間も無く冷めるでしょう。しかし機械学習の技術者がブームに関わらず、世の中を良くしたいと思い続ければ、医療業界にも「え、これ人工知能なの、知らなかった、便利だねー」というようなことが起こり得るでしょう。

 

弊社AUGRIMでは、統計的因果探索を用いた製品開発・研究も行っております。製品の受注や共同研究のご依頼も随時承っておりますので、ご連絡ください。

 

 

 

電子カルテのデータの活用法~人工知能は病院に来るのか?自然言語処理と医療テキスト

人工知能で医療をやりたい」という話は非常に多いですが、その実態は複雑で、臨床現場を知らないと「どこからデータが出てくるのか」ということすらわかりません。

 

医療データというのは電子カルテの中に保存されています。その電子カルテはラボデータやCT画像を管理するソフトウェアと連携することで電子カルテ画面の一覧でそれらを見ることができます。

 

さて今回は電子カルテのデータが過去にどのように研究されてきたのかを紹介します。

そもそも日本の電子カルテの導入率は50%ありません。これはアメリカでも10年前は同じでした。しかし米国では国が主導で3000億円をかけて病院に導入していきました。(HITECH2009を参照してください)

 

「なぜ導入しないのか!!」と思われたあなた、それは正しい感覚です。しかしコストが高い、日常業務にどれだけ支障を来すか不明、という問題があり、多くの病院は電子カルテに移行することを躊躇しています。

ASCII.jp:日本はまだ35% 電子カルテがなかなか普及しない理由|ASCII×クリプラ 電子カルテきほんのき

 

そして電子カルテが導入された場合、人工知能は病院のいつ入るのか?という疑問です。この疑問には、電子カルテが自由文章で書かれた記載である点が関係します。多くの機械学習モデル、人工知能モデルで簡単に実験でき、精度も保証されそうなデータ対象はデータに対称性があり、構造化された画像データや正規化された行列データです。一方で自然言語処理にも代表されるようなテキストデータは構造化されておらず非常難しい。

 

もちろん研究は盛んに行われており、それらを全て紹介するのは難しいです。よって今回はみんな大好き、人工知能、深層学習と関連づいた医療データの研究を紹介します。

まず今回はこの6つをまず上げます。Deepと論文のタイトルに付いていて、有名なものを載せます。

 

Doctor AI Heart Failure Prediction

[1511.05942] Doctor AI: Predicting Clinical Events via Recurrent Neural Networks


Med2Vec EHR Concept Representation

[1602.05568] Multi-layer Representation Learning for Medical Concepts


eNRBM Suicide risk stratification 

Learning vector representation of medical objects via EMR-driven nonnegative restricted Boltzmann machines (eNRBM)

 

DeepPatient Multi-outcome Prediction 

Deep Patient: An Unsupervised Representation to Predict the Future of Patients from the Electronic Health Records | Scientific Reports

 

Deepr Hospital Re-admission Prediction 

[1607.07519] Deepr: A Convolutional Net for Medical Records


DeepCare EHR Concept Representation

http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7801947

 

今日はその中の一つ、[1511.05942] Doctor AI: Predicting Clinical Events via Recurrent Neural Networks を詳しく紹介します。(2015年の論文ですので少し古いですね。)

 

目的と手法

Doctor AIということで患者の病歴や症状から、患者の病気の名前とそれに対して行った治療の方法をRNN(Recurrent Neural Network)を用いて推定するというモデルを作成した。

 

データ

時系列データです。8年間で260.000の患者を解析対象にしました。多くの医療データはテキストの時系列データです。更にt回目の電子カルテと, t+1回目の電子カルテは引き継いで描かれることが多いので、同じような内容でマイナーチェンジなものが増え続けます。

 

結果

特異度79%まで診断することができました。しかも施設間であまりブレない頑強なロバストなモデルができた。

 

RNNの構造は特に真新しいものでないです。

f:id:keivard:20170613110749p:plain

 

僕としては他の手法との比較が面白かったです。上述したようにテキストデータは解析が難しい。ましてや深層学習など使うと、一層話が難しくなるからです。

f:id:keivard:20170613110857p:plain

そして結果がこちらです。最もよく登場する単語をベースに分類したもの、ロジスティック回帰したもの、多層ニューラルネットと比較して、今回のRNN-IRは精度が良いです。

ちなみにRNN-1-IRとはskip-gramを使って単語ベクトルを良い感じに作ってからRNNに投げたということです。RNN-1は単語ベクトルをランダムに振っているということです。これは自然言語処理系のタスクではよく行われます。ランダムにベクトルを振るよりある程度ベクトルを作り込んだ方がうまくいくことはわかっています。

 

話は変わりますが、この研究者を私はとても尊敬しています。

Edward's Personal Web Page

 

さて、このようにDeepで成功している人工知能と皆んなが呼びたがるようなモデルは医療データ、カルテ解析の中でも存在します。その他の論文に興味があれば、どうぞお読みください。(自社は共同研究もウェルカムです!AUGRIM )

 

また自社では日本語の医療単語ベクトルを高品質、高精度に作成しており販売もしております。そちらの方もご興味があれば、ご連絡ください。

 

 

Cox比例ハザードモデルと深層学習 ~これもまた人工知能と呼ばれてしまうかもしれない

この世に存在する全ての薬は「本当に有効であるか?」という臨床研究を行った上で販売されます。

ということは「有効である」と判断することは非常に大事です。

判断材料として「偏りのない一定数のサンプルで交絡因子がないような環境で統計学の一定基準を満たして偶然に起こり得ない有効性か?」というような疑問に答えねばなりません。

#臨床試験には、1期から3期の試験があります。ヒトを対象とした試験ですので、倫理的にも科学的にも、厳格なルールのもとに実施しなければなりません。

 

しかし疑問に思いませんか?

抗がん剤などでは「この薬は効く人と効かない人がいる」と平気で言っている人がいます。それって腫瘍に多様性がある以前に、「その薬が効果がある」という検証が甘すぎる可能性があると思いませんか?

 

また統計学って恐ろしいですよ。有意の判定が5%で行なっている現代において、100人中5人は予定通りに薬が反応しないわけです。しかし医者は100人中1人もアクシデントによって殺してはいけないのです。それゆえに人工知能という分野に対し、医師は感度と特異度、何のデータで学習したか。ここに注意を払わなければなりません。

 

今回はその代表格であるハザードモデルについて紹介です。面白い論文が5月31日に公開されました。みんな大好きBengio先生の論文。(深層学習では大家と言われている人です)

[1705.10245] Deep Learning for Patient-Specific Kidney Graft Survival Analysis

 

概要をざっくり言えば「Cox比例ハザードモデルは人間の生存期間を規定するのに不十分なモデル。深層学習を使ったらもっと正確になった」という話です。

 

ちなみに統計と機械学習の違いは何か?と疑問に思ったあなた。簡単に述べます。

統計学はデータを「説明」することにより重きを置く

機械学習はデータから「予測」することにより重きを置く

 

そもそも医学統計に詳しい人でCox比例ハザードモデルないと聞いたことがないと思います。

 

前提知識がない方への説明もから含めて始めます。まずハザードについて述べます。

ハザードとは「時間tまで生存」の条件がある時、その次の瞬間死亡する確率です。

その確率を表した関数をハザード関数H(t)と呼びます

(生存関数がS(t)です。これは時間tの時に生きている確率です)

f:id:keivard:20170611014710p:plain

 

臨床研究ではこのハザード関数の推定を行い、介入した群とコントロール群でハザードの比率を見ます。ここで重要なのは、両群でハザードの比率が時間tに依存しないで常に一定という強い仮定があることです。

そして比率だけに注目しているモデルのため、介入群とコントロール群でそれぞれH(t)を推定しなくてもよく、比率だけ求めることで有効かどうかの判定をしています。

(カプランマイヤー法って何なの?と思った方、カプランマイヤーは変数がアウトカムと従属変数だけで、多変量を考慮しないCox回帰よりシンプルなものだと思ってください)

 

さてここから本論文の内容です。

問題提起と結果

そもそもハザード関数というのは研究者が勝手に決めた期間に想定されうる起きたことをカウントするというかなり強引な手法です。

観察期間以外に起こるイベントは考慮されないですし、想定外のイベントも含めません。またせっかく回帰モデルなのですが、個々人の生存期間を予測するほど正確な予測はこのモデルではできません。

またそもそもcox比例ハザードモデルに限らず医学統計では変数の重要度が時間ごとに変化しません。これらについて生存関数を深層学習で置き換えることでロバストなモデルができ、更にC-index指標では既存のモデルより正確に予測することができたと発表しました。

#C-indexとは何ぞやという方へ

C-indexはモデルから予測される生存時間と、実際の生存時間の大小関係がどの程度一致しているかを表すノンパラメトリックな指標です。(順番の合計というW検定量というものです)

 

#この論文ではCensored dataという言葉が多数みられます。医学統計では「中途打ち切りデータ」のことを言います。例えばもうすぐイベントが起きそうな患者さんがいるのにも関わらず、観察期間が終了したため、その患者のイベントは観察期間内では起きてないことになることです。医学統計ではこの問題は非常に重要なため、Bengioチームも「中途打ち切りをしたかどうか」を考慮しています。ここではright-censoredを考慮しています。

右打切り(right-censored)とは イベント発生時点はある観察時点よりも上(右)であることはわかるが、正確にいつであるかはわからない。生存時間は少なくともX日より長いという状態のこと。

 

使用したデータセット

今回は腎移植した患者がそれぞれ死亡するかどうかのイベントを予測します。いたってモデルは簡単です。生存期間を今回は5期間に分類し、その中でいつ一番死にやすいか?という深層学習のモデルを立てます。データは131,709個ありました。

 

提案手法

ここで面白いのが損失の立て方です。普通の深層学習ならば、出力値と正解値の誤差を伝搬させていきます。しかし今回のモデルでは二つの損失関数を定義しています。まずcoxの部分尤度のような考え方で損失を出し、次にランキングによる損失を出します。

f:id:keivard:20170611012924p:plain

 

なぜただの深層学習ではダメなのか?

理由は二つあります。まず医学では「なぜそうなったか」というデータやモデルに対する説明を求めます。最初から最後まで深層学習でぶん投げると何が何だかわかりません。

そして二つ目ですが、入力する特徴量が少ない場合やデータ量が少ない場合、深層学習が適さないケースが往々にしてあります。

 

私の感想

「Cox比例ハザードモデルより良いモデルができた! Cox不要じゃん!」と思われるかもしれませんが、そうも行きません。この論文では腎移植以外のデータセットでしっかり検証していますが、最低でもサンプル数が900あります。あなたの臨床研究のデータは900件もあるでしょうか?

この研究は大規模な研究を見直す良い研究だと思います。しかし少ないデータでは効果を発揮しないと思います。

面白いデータがありました。

The State of Clinical Research in the United States: An Overview - Transforming Clinical Research in the United States - NCBI Bookshelf

各疾患ごとに平均してどの程度の人数で臨床研究が行われているかです。

心血管系の疾患=>275人 / がん => 20人 / うつ病 => 70人 / 糖尿病 => 100人

ということですね。 

 

あと査読っぽくコメントをするとするならば、誰しもCox比例ハザードモデルに関する問題意識は持っています。よってcox比例ハザードモデルに関する研究は現在も盛んです。例えばStratified Cox Model*1と言われるような比例ハザードでは有意に差が出ない場合、層別に分けて尤度を計算して後で合計したものとを比較するモデルです。これらのモデルとの比較を行うべきだと思います。現在この論文はNIPS2017*2に投稿中ですので採択されるかはまだわかっていません。

他にもBenigoはDietNetworkと呼ばれるバイオインフォマティックス特有の問題を深層学習で解決しようと試みた論文があります。

[1611.09340] Diet Networks: Thin Parameters for Fat Genomics

 

何かご依頼やご質問があればこちらまで!

Augrim

 

医者(医学生)は人工知能とどう向き合うべきか?

AIブームと言われる中、若い医師、医学生にも興味を持ってもらえる時代が到来した。

Q&A形式となるが、よく質問を受ける3つのことに対して簡便に私の考えを述べる。

興味を持ったら当ブログの他の記事を読んでほしい。

 

「なぜAIを考えなければならないか?」

私は「考える必要がある。なぜなら患者さんのためになるから」と考えます。

教科書や論文で学んだ治療方法を実践する医師と、大量のデータから機械学習を行なったモデル(人工知能)で患者さんを助けるソフトウェアの本質的な違いは現状では、患者さんにとっては保険で認めれた治療かどうかだけだ。

#もちろん機械、AIが採血をすることは現状では不可能に近く、ステロイド軟膏を患者に塗ることも難しい。その点、全てが人工知能ではないということに留意されたし。

 

#また物凄くざっくり言えば、「画像を見てガンはどこか」「この患者に適切な治療はどれかなど」の問題は人工知能と医師は精度という点で遜色ない。

 

医師は炎症性の疾患に対しステロイドを患者さんの様子を見ながら投薬し治療していく。

一方でデータを大量に学習したモデル(人工知能)は患者さんの検査所見(ラボデータ)を解析し適切なステロイドを投与する。

 

医療の最大の目的は「患者の治療」である。よって医師が治療しようが、人工知能が治療しようが、患者にとってどちらでも良い訳である。患者にとって聴診器でも心エコーでも「正しく診断」できればどちらでも良いのだ。人工知能は、そういった意味で医療の延長線上にある。だから医師は人工知能と向き合わなければいけないわけだ。

決して「自分の職業が奪われるかもしれないから」という自分勝手な理由ではない。もし患者が「人工知能は嫌だ」というのであれば、医師は人工知能を海に投げるか、患者と一緒に人工知能について議論を深めるか、どちらか考えなければいけない。

 

「私が医療をよくするためにAIとどう向き合ったら良いか」

 まず人工知能 (AI)の正体を知るべき。それは単なる関数の組み合わせであり、それが人工知能と騒がれてる。では向き合う時に、「どこから向き合うべきか」だが、医療の人間が最も考慮すべきは「ある人工知能モデルが一般的な胸部レントゲン画像で肺がんと診断する感度と特異度、陽性尤度比はどれくらいか。何のデータで学習したか」という点だ。ここが最初のポイントだ。

この辺の知識をまず整理すべきだ。医療とはリスクマネージメントだと私は思う。すなわち難しい数学以前に、予測と学習に関する知識を整理すべきだ。勉強用のスライドは検索すれば大量に出てくる。

 

www.slideshare.net

また現場で困っているあなた自身の問題を「これは人工知能機械学習で解決できないか?」という姿勢を常に持つと面白い。例えば「なぜ診察中、患者さんの医療情報を取る時にキーボードを使って記録しなければいけないのか。面倒である。これをAIにやらせることはできないか?」というような反応は至極真っ当であり、そのような純粋な疑問を持つことが向き合うべき二つ目のポイントだと思う。宣伝をしているわけではないが、自社でもそのような議論から開発した製品を見てほしい。Augrim

 

 

「医師がコードを書くのは現実的ではないか」

決してそんなことはない。医師に大学院の期間が3年間あるとする。

その3年間で、勉強をすれば研究のためのコード、機械学習の基礎知識は必ず身に付けることができる。その苦労を厭わないなら3年で独り立ちできるだろう。下記のようなオンラインコースを取ってプログラミングを勉強できる。

prog-8.com

また機械学習で特にブームになっている深層学習も同じようにWebでスライドをしばらく見ていれば雰囲気はつかめる。自社で「医師が機械学習を学ぶ講座」というのを用意している。興味があれば声をかけてほしい。

 

これらを読んで興味を持った方は、ぜひ自社 Augrim に連絡してほしい。

 

 

2017年の前半~機械学習(人工知能)と医療の論文を読み~医療はAIでどう変わるか?

今回のテーマは、

「ただ医療データを機械学習で予測するだけで意味はあるか?」

「モデルができた場合、どうすれば病院に届けることができるか?」

答えからいえば

「医師と同じ能力で予測だけでは意味はない。医師の業務を軽減するような予測をする必要がある」ということです。ソフトに画像読み込ませて「がんです」と出るだけでは業務に使えません。「ソフトに画像を読み込ませれば、カルテに医師が書いてる細かな情報と同じことが記載される」など業務の一環をサポートできるように補足できることが大事です。それが今回紹介するGoogle論文*1 です。

 

次に「モデルは大事だが、複雑なモデルよりもわかりやすいモデルが医療では大事。結局人間が判断するケースが多い、その場合、「なぜこのモデルが悪性度4と判断したか」というのが人間にわかることが大事です。」

 

早速本題に入ります。

2017年に入り、Googleを筆頭に、「機械学習で医療データを予測しよう」という論文がニュースで割と有名になりました。*2

money.cnn.com

こちらの成果をざっくり言えば、

「がんの悪性度を判断する病理検査がある。病理医は毎回患者さんの病理画像を見てから悪性度を判定しデータにまとめるという作業をしているが、これを病理医より正確に早くできるようになった」

ということです。ただ「この画像はがん」と予想するだけの論文ではなく、「どの部分が悪性度の高いがんで、それは全体のスライドのX%を占めている」ということまで教えてくれるので、現実問題に沿った非常に重要な問題です。個人的には、現場の医療問題として画像データのサイズが大きすぎる。この現場の問題も彼らは言及しています。

 

その他にも今年はこんなのがありました。

www.inverse.com

上記のように敗血症を事前に予測するというテーマもニュースになりました。この記事では、Q&A方式で研究者が答えているのが面白いです。AIが判断することで医師の責任はどう問われるか、電子カルテのデータ構造やデータのあり方をどう変えれば良いか。など世界共通の悩みに「いまだ答えが出てない」ということを教えてくれています。

 

www.standard.co.uk

こちらはGoogle DeepMindが絡んでいるようです。急性腎不全になる前に患者の血液データからそれを予測したということです。「正直、このような研究は以前からあります。」とか関係なく、救われた家族の話が掲載されていて心が和みます。

ちなみにテーマとしては、私が2015年NIPS Clinical Health workshop*3で論文化しDeepMindからStudent Awardをもらった研究内容に近く肝硬変患者の腎障害予測でした。

 

www.wired.co.uk

医療画像の予測研究は数多くあります。深層学習が現れる前からあります。特に皮膚科や乳がんのレントゲン写真、胸部レントゲン写真、あとは眼底画像。これらは多いです。なぜかというと、健康診断などで取られる機会が多く、医師の見落としが起きやすいからです。

 

 さてまず最初に2017年の研究を紹介した理由としては、「研究自体は以前から多くあった。別に新しい手法ができて2017年じゃなきゃこの研究はできなかった、ということでは全くない」ということを強調したいです。

つまりこのように記事になったりWebで有名になるのは、人工知能に対する過度な期待な表れなわけです。しかし過度な期待には常に期待はずれがつきものです。例えば上で紹介した4つの研究のうち、一つの研究が5個の病院に実際に設置されるのはいつ頃になるでしょうか。

恐らく長い時間がかかるでしょう。それは下記のような理由です。

  • ラボデータをどうやってモデルに入れれば良いのか?
  • モデルは他の病院で有名で精度が高いわけで、我々の病院に当てはまる保証はあるのか?
  • 医師でも直感でわかっていることしか、機械学習は予測していない

一言でまとめるとすればモデルの解釈が全くできていない点と、病院に保存されている医療データの所在と管理方法が古すぎるのが問題です。

機械学習というのは「次に来るデータに対しうまく予測できれば良い」というスタンスを取っており、モデルがいくら複雑になろうと、解釈性が低くても良いとなってる。

(ここでいう解釈性とは、「なぜこのモデルは画像 Xを犬と判定したか」をということです。)これは医療では逆。なんでそう思ったか、というのは知りたい。なぜなら人工知能だけで患者ががんと診断されるのはやはり怖いです。

 

TensorflowやChainerで簡単に実装ができる中で、がんを診断する論文なんて、「簡単に書けるだろう」思われるかもしれない。しかし論文を書くだけなら簡単かもしれないが、実際に機械学習を真面目に勉強し実際の現場に送り込もうとすると「簡単」とは言えない。

なぜなら実装して「ああ、予測精度8割ね」とは終わらず、このモデルの評価をしなければならない。どれくらい汎化性があるか、どのような画像が苦手で間違えたか、特定の画像に病気とは関係いないスケールやノイズが入っていないか。さらにこのモデルを病院内で使ってもらうためには、現状の病院システムのどこに組み込めば良いのか。それは安全なのか。考えることは山ほどあります。

これらをしっかり判断したい。ニュース記事では、予測ができた、予測ができたと騒ぐ。一回落ち着いて欲しい。

 

また今回病気の予測を何からするかというのが今後大事だと思います。

機械学習のモデルにとって画像か数値というのはあまり変わらないかもしれませんが、医師(というか人間)にとっては大きく違います。数値10個を見て判断するのか、画像1枚の行列1つをみて判断するのかでは、やはり後者の方が人間の直感は働く気がします。

すなわち複数の数値データから病気になる確率を予測したりする能力は圧倒的に機械学習(AI)の方が優れている。
それが如実に表れているのは、我々医療従事者は、現場ですぐ計算できるように物凄く近似された予測方程式を使う。ペインの式、eGFR式*4などだ。逆にいえば、そこで先ほどの急性腎不全の予測を数値で行うのは人間には無理です。入力するデータの数が10個以上の場合、僕らはいちいち計算していらられない。じゃあその数値データをどうやってモデルに入れるのか。上述したモデル問題が姿を表す。モデルの解釈と場所が問題になるのだ。


一方で二つ目の問題として、病院内の医療データだ。現在多くの病院は、医療データが存在するサーバーをオフラインにすることでイントラネット内で全てを完結させている。それはそれで一つの手段だが、イントラネット内でも病院の情報は引き出すのが難しいし、不正に引き出すことも沢山できる。それらを安全に簡易に行おうと考えている企業がある。予想通りDeepMindだ。彼らのブロックチェーンに類似する医療データの管理方法の研究がメディアにも反響を呼びました。(この時点で、なんの研究家かはあまり言及していません。ブロックチェーンとだけ言っています)

deepmind.com


今後、医療には莫大なデータの統合が必要です。それは医療データは施設バイアスが激しいからです。例えば車の画像は、だいたい日本の国内なら同じです。しかし血糖値というデータ一つ取っても、地域ごとに測定する頻度や糖尿病に対する患者の意識の差などあり、グローバルに役に立つモデルというのは非常に難しい気もします。だからモデルを個別化させるか、データを統合的に集めるかしか手段がないです。
そこで安全にデータを集約するという意味で、ブロックチェーンのような構造を取るのは非常に良いアイデアですが、計算コストや維持費などが高すぎる。Google DeepMindはきっと年末にはこの点を改善したデータ管理方法を開発するでしょう。

 

我々もデータ管理システムを作っています。(後日記載)

日本が医療と機械学習で進みが遅いのは、圧倒的に「医療と機械学習で技術を持った会社」が少ないからです。そのように技術に飛び抜けた会社が業界をリードすべきです。Google DeepMindのような海外に頼ってしまいたいですが、しかし医療は世界共通ではありません。米国と日本では殆どの疾患で治療法が異なります。米国は米国人の遺伝子と生活にあった治療が存在し、日本には日本のものが存在します。よって日本は日本の医療をリードする日本の技術で飛び抜けた会社が必要です。そういう会社を僕らは目指しています。(   )

臨床データベースMIMICの使い方~なぜ医療における人工知能研究は少ないか

こんばんわ、今日はMIMIC2*1という米国の臨床データベースの使い方を紹介します。
と言いたい所なんですが、使い方の前に、このデータベースは、アメリカのオンライン倫理学習コースCITI*2を取得しなければ利用することができません
今日はその倫理学習コースの取得方法をご紹介します。(若干面倒)
[現在はMIMIC3*3 となっております。MIMIC2の時とは別の倫理コースを受けなければなりません。これについては後日ブログにします。]
 
人工知能に必要なものは何か?」と聞かれるのですが、「機械学習に必要なものは何か?」と言われた場合、これは「モデルとデータ」です。データがなければ学習できません。しかし多くの人が勘違いするのが、「データがあればあるほど、精度が上がって良いんでしょ?」と言いますが、これは違います。そもそも行いたい予測とそのデータ構造にモデルが上手く折り合ってない可能性が常にあります。そこを意識してデータは扱いましょう。人工知能は全てがデータで語れるわけではありません。
 
 
さて医療のデータは患者様の貴重なデータによって構成されています。すなわち漏洩が許されません。よって患者さんのデータをUSBで持ち運べるようにする、病院のサーバーをインターネットにつなげるなどは避けられるべき行為です。
 
一方で人工知能の研究には多大なるデータが必要です。犬と猫の画像が何千枚もデータセットとして存在していることで、多くの研究は進んできました。人工知能と医療の研究が進みにくいのはデータの閉鎖性が一端です。私の大学病院でも医療情報は非常に厳しく管理され、必ず倫理審査委員の定期的なチェックが入ります。
 
よって医療データを持ってる人間とコネクションがある人間しか「医療と人工知能機械学習」の研究はできないことになります。それは仕方がないことです。しかし米国ではその常識を覆すようにMIMICというデータベースがあります。こちらは米国の病院と大学が協力をし11年分の救命救急室ICUのデータを全て公開しています。データは倫理講習を受けると、簡単に得ることができます。SQL形式でデータを取得できます。とても便利です。しかし急性期の病態しか扱えないのが欠点ではあります。
 
MIMIC2の説明書はこちらです。

http://physionet.org/mimic2/UserGuide/UserGuide.pdf

 

この医療データの特殊性は、Google DeepMindなど医療と人工知能の最先端の研究を行っている人々も大変気にしております。DeepMindはイギリスの病院と連携をし100万人以上の患者データに自由にアクセスすることができます。しかしイギリス国民から「私の知らないところで私のデータがなぜ使われとるのだ」と不満が募るわけです。そのためにDeepMindは、「あなたの医療データはいつ使われ、どのように使われ、それは安全な場所に今もある」と言えるためのシステムを構築しているそうです。

さてMIMIC2の説明に入ります。2016年12月現在、MIMIC2は廃止され、MIMIC3に移行しています。
よって下記の記事は意味がありません。しかし雰囲気をつかむという理由で掲載しておきます。
 

1:倫理講習

サイトでユーザー登録をします。
 
ここでひたすら講義を聴き、問題を解きます。
そして8割以上の正解で証明書を手に入れることができます。
 

2:MIMIC2の利用申請

そしてPhysioNetに向かいます。
こちらでまずユーザー登録を行った、あとログインすると、様々なプロジェクトが見えます。
 f:id:keivard:20141102002016p:plain

 

まずこのPhysionetというサイトで、先ほど手に入れた証明書をアップロードします。(Training Certificateという箇所)
すると自分のアカウントには、証明書が添付されるわけです。

 

この状態で初めてMIMIC Ⅱ Clinical Databaseというものに登録します
下記のProjectから MIMIC Ⅱ Clinical Databaseを探してくださいf:id:keivard:20141102001904p:plain

3:メールの返信

登録すると、その後、メールが届き、様々な個人情報の登録を求められます。
 
 
それに返信し、使用許可がおりれば、いよいよMIMIC2が使えるわけです。
ここのウェブサイトがSQLを簡単に発行できます。
 
4:ひとまずquery builderを使ってみましょう。

「医療分野で応用されてる機械学習(人工知能?)」は未だない

早速だが、この記事を見て欲しい。

itpro.nikkeibp.co.jp

 

まず誤解がないように、これだけはハッキリさせておくと、医療分野に応用されてる、つまり病院に配置されてる機械学習、深層学習はまだない。(人工知能と思ってもらっても大丈夫です。)

 

さてこの記事の図を見て欲しい。

f:id:keivard:20161220134757j:plain

取り組み = これからやります。という宣言だけだ。

また集団学習、深層学習、自然言語処理は独立して存在する技術ではない。ハッキリ言って意味不明な記事だと思う。更に言えば、患者さんの元に上の技術が届くのは少なくともあと5年はかかるだろう。

このような誤解を招くような誇張した性質の記事は、どの分野でも常に起こり続けていることなので、毎回「それは違う」と言っても無駄である。しかし迷惑を被るのは、患者であり、また企業や団体である。この分野の方に今一度ご確認頂きたいのが、鵜呑みにしないこと、である。

 では「この記事は本当か?」「私のガンはこの治療で治るのか?」と誰に聞くことができるのか?今現在、この領域の専門家は少なく、街の医者に行っても答えは教えてくれないだろう。そういう場合は、遠慮なく自社に問い合わせてほしい。

AUGRIM

 

今日は、代わりに既に行われている研究、なおかつ医療応用が秒読みな技術を紹介しよう。

 

一つ目: 遺伝子の変異を決定する有名なアルゴリズムが深層学習に変更される可能性がある

Creating a universal SNP and small indel variant caller with deep neural networks | bioRxiv

今までの生物学の研究では、「あなたがガンになりやすい確率は、一般的な健常者より1.5倍高い」ということを発見するのが流れでした。その研究のために必要なのは、ガンになった人と、ガンになってない人。この二つのグループの遺伝子を検査して統計学的に有意差がある変異を探していました。そこで面白いのが、このような研究は世界各国で行われているのですが、どの研究も使っているソフトウェアが同じということです。GATKと呼ばれるソフトウェアを使っていました。*1

ここで研究を紹介します。今回の研究では、深層学習を使って以前のGATKアルゴリズムより精度の高い手法を開発しました。つまり今まで発見していた遺伝子の変異がより高い精度で見つかるようになるということです。

この手の話は、使ってるゲノムシークエンサーにも依存するため一概には言えませんが、それらを踏まえても米国食品医療品局FDA-administered variant calling challenge*2 で最も精度が高い手法でした。今後、このアルゴリズムが普及し遺伝子検査の精度が高まることが期待されます。

 

二つ目: 個別化医療に置ける深層学習を利用したアルゴリズム

www.fronteo-healthcare.com

こちらの会社の「がん個別化医療AIシステム」と言うのは、正直内容がわからないので、何とも言えません。ただ学術的な世界で、包括的な意味での「がん」に対して個別化したアプローチを取って成功している例は未だに知りません。よくある研究の類としては、「あるがんの遺伝子変異に対して、ある抗がん剤はこれぐらい効果があった」と言うような研究です。

 おそらくここでFRONTEOが言いたいことは、IBMのWatsonと同じく論文検索でしょう。ある患者のがんにおける遺伝子変異を検索クエリーにし、その遺伝子変異特有の治療法を研究している論文を検索することです。これはある意味個別化ですが、個別化のレベルが非常に低い。より医療に踏み込むとすると、「この患者の遺伝子変異、肝臓腎臓の薬の代謝量、がんの大きさ」全てを包括して、「この患者に適切な抗がん剤の組み合わせ、種類、投与方法」と言うのがわかれば、個別化医療でしょう。しかしFRONTEOがやっていることは論文検索だけのように思います。これを人工知能と呼ぶか?これをAIと考えるか? それはまた別の議論ですが、何でもわかるAIというのは存在しないことに留意しましょう。

 

 個別化医療と言うのは、患者の身体的、精神的、社会的背景を踏まえて適切な治療を施すことです。しかしそのような複合的な問題は、今の人工知能では絶対に最適化できません。データもありませんし、精神的なもの、社会的なものは数値化が難しいでしょう。しかし進んでいる研究分野はもちろんあります。一つ深層学習を利用した例をご紹介しましょう。(#人工知能とは、このように個別化医療に使われます。その正体は様々で、今回は因果推論という分野のモデルがAI、人工知能と呼ばれるわけです。)

 

U. Shalit, F. Johansson, D. Sontag. Estimating Individual Treatment Effect: Generalization Bounds and Algorithms. arXiv:1606.03976 Preprint, 2016 

 

こちらにスライドもあります。

いわゆる「反事実推定」と言われる分野です。例えば糖尿病に対して、2種類の薬A, Bがあります。今患者に対してAを使った場合、血糖値は10下がりました。しかしBを使っていたら、どうなっていただろう。と言うような問題設定です。

このような問題設定はCausal Inferenceと調べると関連論文が出てきますが、深層学習が研究される、だいぶ前から研究されました。特に有名なのがPropensity Scoreというものですが、医学研究にのみ有名な研究な気がします。このような考え方は、機械学習を専門にやってきた人だと、あまり馴染みがないかもしれません。下記のような素晴らしいまとめをご参考いただければなと思います。

統計学における因果推論(ルービンの因果モデル) – 医療政策学×医療経済学

 

さて本題の論文ですが、要は治療薬Aを受けた群とBを受けた群の特徴をうまくマッチさせましょうということです。論文紹介は骨が折れますので、またの機会に紹介させてください。