ラベル AI領域 の投稿を表示しています。 すべての投稿を表示
ラベル AI領域 の投稿を表示しています。 すべての投稿を表示

2019/04/09

python入門。Courseraディープラーニングコースの解説。

Courseraのディープラーニングコースとは。

動画の視聴とテストからなるDeep Learningの5講座。入門的内容なので数学的な背景があまりなくても動画を見れば、ある程度理解ができる。テストでは内容の理解を助ける選択問題の他、pyhtonを使った演習がある。コースの修了には課金が必要だが、修了証がでる。


役立つpythonのトピック

まずは、最入門ということで、 Neural Networks and Deep Learning から。
便利なことにjupyter notebookというWeb上で動くpythonがあるので、インストールなど当面考えなくても使える。書籍などを読むとMACやWindowsにインストールして使う方法が解説しているが、環境の立ち上げで迷わなくて済むのは初心者にとってpyhtonのいいところ。

その1 axisの指定

例えば、行列の縦方向に割合を求めたい場合などに使える。 axis=0の指定は行列の縦(列)方向に足す。
なお、axis=1は横(行)方向に足すことになる。
import numpy as np A = np.array([[56.0,0.0,4.4,68.0], [1.2,104.0,52.0,8.0], [1.8,135.0,99.0,0.9] ]) cal=A.sum(axis=0) #axis=0 は縦を足す #axis=1 は横に足す percentage = 100 * A / cal.reshape(1,4) print('行列') print(A) print('カロリー',cal) print('パーセント',percentage)

その2 行列の指定方法

Pyhtonに限らず、ディープラーニングやAI、機械学習では物事を行列に置き換えてガシガシ計算を回して最適解に近づくようにしている。(これが夢のような世界の正体だ。)いわゆるFor文と違って、行列の計算は速く行うことができる。この行列計算を確かなものをするのがpythonの肝になる。
pythonでプログラムする上で、最初に知るべきなのは、配列が持つ次元数(ランク)の概念だ。 pythonで配列を作ると1行や1列の配列を作る時には注意が必要だ。
import numpy as np # a note on python/ numpy vectors a = np.random.randn(5) print(a) print(a.shape) #(5,) -> rank1 array と呼ばれる。 #行ベクトルでも列ベクトルでもない print(a.T) print(np.dot(a,a.T)) #外積ではなく、1つの値が返ってくる。
shapeを表示した時にでる、'(5,)'。これが曲者だ。 ランク1の配列と呼ばれるもので、行ベクトルでも列ベクトルでもない。なので、この指定をすると外積が計算出来ない。
ちなみに、ランク0は1つの数値で示される定数や変数で表されるスカラーを指す。
ではどうすればいいのかというと、配列を二次元(ランク2)できちんと指定してやる。
a = np.random.randn(5,1) #column vector a = np.random.randn(1,5) #row vector print(a) print(a.T)
この場合のaの出力にはブラケットが2つ(’[[’)ある。
[[0.18932994 0.4821708 0.77581062 0.23628661 0.15776551]]
後は、assert文を一々入れることも有効だそうだ。
a = np.random.randn(5) #a=a.reshape(5,1) assert(a.shape==(5,1)) print(a) #AssertionError:

2018/10/03

AIの医療応用。内視鏡診断のこれから。


AI事業による創業の現状

今回、産業技術総合研究所人工知能研究センターでAIの医療応用について講演で聞くことができましたのでご紹介します。株式会社AIメディカルサービスやパナソニック、日本光電工業の方が登壇されました。

私が興味を持ったのは 株式会社AIメディカルサービスの代表取締役会長・CEO 多田智裕先生の講演です。

多田先生はご自身も内視鏡医という立場であり、ご所属する浦和区医師会による健康診断で撮影された内視鏡画像の精査をボランティアで行なっています。ボランティアで行っている内視鏡の読影会から冒頭の課題に至り創業したとのことです。

内視鏡は開発力も含めて日本が世界をリードしている先進の医療分野です。進歩する技術の一方で、検査としては可能でも人力による判断のため医師の技量によっては僅かな病変を見落としや撮影技術のデジタル化による情報量の増大で専門医の負担増加が課題としてあります。これら目視による診断の課題を解決するためにベンチャー企業が立ち上がりました。

創業にあたっては「インキュベイトファンド」、「BRAVE」といった創業期向けや革新的技術の事業化を支援のベンチャーキャピタルでコンテストに参加されたり、メンターを得たりしたということでした。 (日本のベンチャー支援の問題点も別記事で触れたいと思います。)

診断技術としてはディープラーニング(CNN)の内視鏡画像への適応で、内視鏡専門医並のピロリ菌胃炎や胃がん拾い上げの仕組みを構築しています。静止画での学習結果を使って診断時にリアルタイムで病変の可能性がある部分にマーキングする実演画像が提示されました。このほか、論文として発表した内容の紹介もありました。

メディカルイメージングに挑戦するベンチャー

メディカルイメージングの競合会社としては、LPixel Inc.(エルピクセル株式会社)Zebra Medical Visionの2社が比較されます。 LPixelは医療画像診断支援技術だけでなく農業まで含めた生物学全般のライフサイエンス領域の開発を行ってます。Zebraはイスラエルの会社でCTなどの放射線画像診断支援プラットフォームを構築しています。

株式会社AIメディカルサービスの特徴としては経営者が実際に内視鏡の専門医である、内視鏡ユーザーであるため求められる使用感が分かっていることがあります。また、大学や研究機関に紐づかない独立系のベンチャー企業であることから一度回ってしまえば複数医療機関から画像データを入手しやすいということがあります。実際、がん研有明病院、大阪国際がんセンターなどの施設で稼働しているとのことです。

基本オリンパスの内視鏡を使っているそうですが、富士フィルムなどでも通常画像では結果は同じようなものらしいです。NBI画像などの強調表示も診断支援ができるそうなのですが、各社独自の強調表示の仕組みに対してはデータで作り込みは調整の必要がありそうです。

「AIの医療現場応用における理想と現実」の発表から

このほか近藤堅司さんから「パナソニックにおける画像診断支援技術の開発」や川島拓也さんから「知識ゼロから心電図のノイズを見つけるAIをつくる」という発表がありました。

川島さんの所属する日本光電工業株式会社はAEDなどの医療機器を作成おり、生体信号に強みのある会社です。今回は心電図のアラームの無駄鳴りを検知する取り組みを発表されていました。感度と特異度をどの程度に設定するかが問題であると感じました。


名称
【第26回AIセミナー】 「AIの医療現場応用における理想と現実」
日時2018年9月26日(水)16:00 - 18:00
場所東京都江東区青海二丁目5番10号 テレコムセンタービル東棟14階
リンク人工知能研究センター セミナー情報
主催産業技術総合研究所人工知能研究センター


※最後に私信ですが、席を譲って頂いた方ありがとうございました。色々と話を聞けました。