医療「AI」ソフト

昨今の一般社会に置ける「AI」の認知度や期待は、かなり高いレベルにあるようで、先日、スマフォの操作もままならない田舎の親戚の叔母さんから

「ところで、Ocean や HorliX には、いつになったらAI機能が搭載されるの?」

と真顔で聞かれ、吹きそうになった。まさか貴女の口から「エーアイ」という言葉が出る時代が来るとは….。

ちなみに、Ocean というのは、OpenOcean という電子カルテ。

 

HorliX というのは、「ホーリックス」という名前の医療用の画像ビューア。

暫定公式アイコンはペガサス(ユニコーン? 違いがよくわからない)をあしらった

 

という感じのもの。

両方とも、私が開発にタッチしている。

 

この問いには、こんな風にでも答えればよかったのだろうか?

「やっぱり、プレシンギュラリティの年、2025 年くらいかな。

今は、HorliX で画像自動診断を試しているところ。でも、これは放射線科医の読影に基づく教師あり学習なので放射線科医を超えられない可能性が高い。

時代は強化学習っていうやつなんだよ。

来年あたりには、HorliX-Ocean のシステムに独立したエージェントを持たせる。ORCA (という Ocean と連動する医事会計ソフト)や Ocean の患者転帰が「軽快→死亡」のように変更になったときには、エージェントはそれを見にいって、それを HorliX の AI に伝える。この情報で HorliX は、自分の診断ニューラルネットモデルを最適化していくんだ。

この方式だと放射線科医の読影を超えられる可能性があるね。まあまあ使えるようになるのが 2025 年くらいかな。HorliX が

HorliX
オマエノ読影ヨクマチガウ

ダカラ私ガオマエヲ排除スル

 

と放射線科医を排除と協力するようになるのは、やっぱりシンギュラリティの年、2045 年じゃないかな」

 

一般の人が好きそうな単語を散りばめてみました。

冗談はさておき、一番、実現が早そうな機能は、HorliX 上で稼働するオートセグメント ROI (Region Of Interest…ロイ)でしょうか。

HorliX の ROI に関しては、若干凝ってますので『ROI』をご参照ください。

オートセグメント ROI というのは、以前にさる精神科の先生といっしょに開発した臓器抽出ソフトが基になっている。

臨床の場面では、ある特定の臓器の大きさなどを知りたいということがしばしばある。従来までの方法だと、例えば、腹部 CT 写真の画像から人が手動で肝臓などの領域を切り抜いて(この領域のことを ROI という)画像ソフトに処理させていたのだが、この臓器抽出ソフトはそれを自動でやってしまう。

という写真では、肝臓は向かって左にある。この画像を、このソフトは「肝臓抽出」ボタン一発で

と抜いてしまうわけだ。

これを「AI」というのはちょっとどうかと思うのだが、某雑誌のレビュアーなどは絶賛してくれたので、見る人が見ればそれなりの発明なんでしょう、きっと。

今のところ、肝臓だとか大脳だとか特徴的な形状を持つ臓器ではかなりうまいこと抜いているので、もうちょっと普遍化して、HorliX 上で稼働させたいというのが私の意図。

なお、この機能に関しては、既に特許が成立しているアルゴリズムを使用するため(あるいは新規の特許取得もありうるため)、この機能にかかる部分や場合によっては HorliX 全体のソース公開を停止するということもありえます。(Ocean に関しても同様。ただし、本格的なテキストマイニング研究はやったことがないので、やったとしても当分先)

というか特許保有機関から、公開の「待った」がかかること必至。判断としても妥当なんじゃないかと思うんだが、いわゆる日本の「オープンソース信者」はこういう具体的なケースに関して何ら議論しないよね。謎です。

 

(追記)…臓器抽出ソフトには「機械学習」の手法はまったく使ってません。どちらかといえば古典的な「知識ベース」の AI です。ここらへんの違いをもっと知りたい方は

Reversi -AI の基本-

をどうぞ。リバーシで遊んだだけでも両者の違いが感覚的にわかってくるかと思います。この程度のゲームなら、慣れた人なら背後にあるアルゴリズムを推測できるんじゃないでしょうか。

私は、医療系の AI にはこれが重要だと思っています。

しばしば指摘されていることですが、最先端の機械学習(特にニューラルネットを用いたもの)は、その処理過程を説明するのが苦手です。最終結果は素晴らしいものの、途中で何をやっているのかわからない、という特性があります。一方、古典的な知識ベースの AI は、マックスの性能では機械学習にかなわないものの、その動作を人間が理解しやすいという特徴があります。

医療の説明責任性を考えた場合、古典的な手法も簡単には捨てられないと私は思っています。

air-h-128k-il

 

(追記)…HorliX のダウンロードページは、こちらです。

(追記)…HorliX は OsiriX (直接的には Horos )をベースにしたオープンソースのソフトです。OpenOcean は OpenDolphin をベースにしたオープンソースのソフトです。これ書いとかないと、最後、何言ってるかわからないよね。失礼しました。

 

 

にほんブログ村 病気ブログ 医者・医師へ

奇跡のコード

先日、IT 関係に詳しい出版関係の方とお話していたとき、私が「ああ、あのプロジェクトは、奇跡のソフトで…」と発言したとき、その方から「奇跡とはどういう意味なんですか?」とより詳しい説明を求められた。

その方は、IT に詳しいとはいえ、実際にプログラマや SE として働いたことはなく、その点に関しては一般の人と変わらない。そのとき「一般の人の感覚ってこんなもんなんだ」と認識を新たにしたので、そのことに関して書く。

あるソフトが「動くには動いているのだが、度重なるソースの改変で、もはや常人にはロジックを追うことすら難しく、たとえプロジェクトマネージャーであっても、なんで正常に動いているのかよくわからない」とき、半ば揶揄の意味を込めて「奇跡のソフト」とか「奇跡のコード」とかという言い方をする。

「でも、そういうのはアマチュアや日曜プログラマが作ったソフトで、メーカーが作るソフトにそういうのはないでしょう」という声が聞こえてきそうだが、これもちょっと違う。最近は諸々の事情もあって、かなり有名なメーカーがリリースしたソフトでも、「奇跡のコード」が含まれている可能性はあると思う。

これに関しては、あまり一般的なことを言ってもしょうがないような気がするので、昔、関わったプロジェクトを例に語りたい。

 

分類:創薬支援ソフト

特徴:薬剤候補化合物を Web 画面から投入、官能基を変化させた類似化合物などを自動的に表示、また、その物理化学的性質をシミュレーションした上で表示

経緯:某大学計算化学研究室で開発→某化学系業界団体が支援→大手N社が Web アプリに改変して販売→某大手製薬企業が購入→バグ発覚→支払いでトラブル→両者膠着状態

 

もう10年以上も前の話なので、より詳しく書いても問題ないと思うが、念のため、かなりぼかして書いた。

たぶん、業界に通じている方なら、「某大学計算化学研究室で開発」あたりで危険な香りを感じていると思う。大学研究室は、一般の人が考えるほど研究の継続性はそれほど高くなく、担当院生が卒業してしまうとその部分に精通した人間が一人もいなくなってしまうということはザラだ。実際、このケースでも(後でわかったことだが)原因はそれであった。

上のように経緯をはっきり書いてしまうとわかると思うのだが、N社はこのソフトに関して Web アプリ化したのみで基本的な部分にはいっさい関わっていない。というか、製品全体に渡って一貫して関わっている技術者は一人もいない。大手リリースの製品であっても「奇跡のソフト」が生まれる余地があると書いたのはこういった事情による。

また、上記案件では、Web アプリといっても企業内 LAN 使用が前提のため、tom…ナントカ あたりでことがすんでいたのだが、N 社の経営陣が気まぐれで「これからはネット社会。どうせ Web アプリ化するなら、外部公開も前提に REST も実装しておいてくれ。VPN もお忘れなく(にっこり)」などと言った場合、もっと悲惨なことになっていたことは想像に難くない。(まあ、この時点では REST はなかったわけだが)このとき N 社プロダクトマネージャー(PM)が、例えば、その仕事を外注に出したとしても、また、それが原因で、その後、REST 周りが奇跡のコード化しようとも、私には、この PM を単純に責める気になれない。現代にあって、有償のソフトを限られた時間内でリリースするのは、相当、プレッシャーがかかることなのだ。

なお、上記プロジェクトは、その後、デバッグ作業が外注に出され

  • 大学教養〜学部レベルの化学の知識のあるもの
  • 医学・薬学に関して実務経験かそれに相当する知識のあるもの
  • 一般的なプログラミングのスキルがあるもの
  • 計算化学特有のロジック・アルゴリズムを追える能力のあるもの
  • 主要開発言語である Fortran の経験があるか短期間で習得可能なもの

といった選抜条件の下、東欧系やインド系の会社とのバトルを勝ち抜いた国内某ソフトハウスが受注。紆余曲折を経て、当時、フリーであった私がデバッグ作業を担当することになった、という次第だ。

なお、デバッグ自体は、まあまあ上手くいき、ごまかしごまかし動くといった程度までには回復した。が、完全に狙った動作を実現する実装ができたかというと、そこまでは至らなかった。奇跡のコードはどこまでいっても奇跡のコードなのだ。

 

開発元がバグを認識していても、なかなか改善されない、とか、自称「開発者」がバグを直したつもりになっても、全然直っていない、とかといった現象を目の当たりすると、一般の人は、不思議に思うかもしれない。が、背景にある国際分業化とか業務の外注化といった状況を考慮すると、しごく真っ当な事情があったりするのだ。

以上、デバッグだとかバグフィックスだとかに関する IT 業界の昔話でした。

air-h-128k-il

 

にほんブログ村 病気ブログ 医者・医師へ

OpenDolphin2.7m → OpenOcean

電子カルテ OpenDolphin に関する話。

どうやら私は今まで勘違いしていたようなのだが、ドルフィンプロジェクトの開発元の LSC は、ドルフィン「亜種」には「ドルフィン」という名称は使ってほしくないようなのだ。

私なんかからすると、それぞれの特徴をいかした「〇×ドルフィン」があった方が多様性があって賑やかで良いように思うのだが、そこらへんは考え方の違いか。

細かな事情はよくわかりませんが、某先生からフォークした私の OpenDolphin-2.7m は、 OpenOcean と名前を変えますので、今後はこれでお願いします。

 

先ほど github のリポジトリ名を変えてきましたが、ある意味、気が楽かもしれませんね。ドルフィンの看板が外れるので。

 

これからは、ダイコムビューア HorliX ともども電子カルテ OpenOcean の方もよろしくお願いします。(大事なことなので2回言いました)

【追記】
開業されている先生からもメールをいただきました。

OpenOceanの自動でバックアップする機能は的を射てると思います。おかげで安心して電子カルテ化できます。

私もそう思います。自力で運用をはかる場合、この手の機能がないと使うのに心理的な抵抗が出るのではと思います。より完璧なデータ移行を目指すなら、データベースから直接データを抜いてくることもできます

自力運用を目指す開業医の方からはおおむね好意的な評価をいただいているようなのですがありが、OpenOcean 作り直すかもしれません。
経緯は、『OpenDolphin について』などをご参照ください。個人的には、テキストマイニングをがんばりたい。
HorliX に関してはこちらに解説記事があります

【ちょっと付け足し】
何かのときにLSCさんに聞いたのだが、現在では「OpenDolphinという名称は使っていただいてけっこうです」だそうです。実際、以前にサーバー上に残っていたけっこう物騒な警告文書も削除されたようです。

この辺の経緯は『医療システム』,オープンソースと知財権に関するちょっと小難しい話などをご参照ください。

方針が変わったということなんでしょう。じゃあ、なんで変える必要があったのか?という気がしないでもないですが、新規作り直しするなら、結果的にはよかったのかなと。

 

air-h-128k-il フェイザー合同会社

 

にほんブログ村 病気ブログ 医者・医師へ