医療と人工知能の未来を語り合う会②:人工知能の基礎技術

大腸がん検診啓発団体「日本うんこ学会」の木野瀬友人氏が講演をされた。木野瀬氏は、大学時代に人工知能の研究などをやっており、卒業後は株式会社ニワンゴでニコニコ動画の立ち上げに関わった。近年では、ヘルスケア領域でもイベントやプロジェクトに関わるようになっている。

<講演内容>

 

今回の講演は、「人工知能の原理を知り、明日から自習したくなる指南書」として発表する。主に細胞生物学、情報数学、計算機科学と、AIの基礎理論について紹介する。

・アメリカはコンピュータを使って原子爆弾の形を解いていた

人類はコンピュータでこれまでどのような問題を解いてきたのか?ジョン・フォン・ノイマンの例を挙げる。ジョン・フォン・ノイマンは、ノイマン型コンピュータを開発したエンジニア。CPU、メモリ、ストレージに分けることでコンピュータを今のように汎用的に使えるようにした、現在のコンピュータの基礎を築いた天才である。

ノイマンがコンピュータで解いた歴史的に重要な問題のなかに原子爆弾の問題が挙げられる。原子爆弾の内部にあるプルトニウム239を核分裂させるためには、爆発を作り、膨大な内部圧力を持たせる必要がある。「瀑縮レンズ」という構造を用いてこの内部圧力を確保するが、人間の手だけでは、レンズをどのような構造にすればよいか計算しきれなかった。そこで、人間にとって複雑すぎる計算をコンピュータにやらせることで、原子爆弾の内部構造のシミュレーションを行っていた。

木野瀬氏のスライドより

(木野瀬氏のスライドより)

・決定木・ベイジアンフィルタ・ニューラルネットワーク

人工知能の適用範囲を図示したものがこちらである。問題量が多く、変数が少なく単純な問題は人間でも行えるが、複雑で変数が沢山ある問題はコンピュータの演算能力を借りる必要がある。このコンピュータが問題を解く方法には大きく分けて3つの方法がある。

(出典:受験のミカタ)

決定木の例(出典:受験のミカタ)

1つは、決定木である。決定木を用いた仕組みとしてエキスパートシステムというものがある。エキスパートシステムとは、1960年代から行われてきた非常に古い原始的なシステムである。雑誌の「〜診断」も同じような仕組みであるといえる。また、20Qという海外のサイトがあるが、これは、アラジンの質問に対しYesNoクエスチョンにどんどん答えることで、正解に勝手に近づいていくというものだ。どんな凄い仕組みが入っているのかと思うかもしれないが、実は仕組みは決定木である。しかし、何でも決定木で判断すればよいものではなく、生成方法にコツがある。冗長なデータを取り除き意味のあるデータのみを残すデータクレンジングをやることで、決定木の精度が上がっていく。

最近メディアを騒がせたのは、コンピュータとプロの棋士が対戦する将棋の「電王戦」である。この将棋のAIにも決定木が用いられている。

(出典:Akinator)

20Qの同様のものとしてAkinatorがある。(出典:Akinator)

将棋のAIシステムは、数ある打ち手の良し悪しを数値で評価して最も評価の高い局面となる打ち手を選択していく。数億通りも盤面のパターンを一度にメモリに展開するため、大量のメモリを必要とする。展開した局面を一手ずつ評価していく。明らかに悪い手は、それ以降は探索をやめる探索と枝刈りと言う方法がある。枝刈りにはalpha-beta法、min-max法、nega-max法という方法がある。

%e4%ba%ba%e5%b7%a5%e7%9f%a5%e8%83%bd%e3%81%ae%e5%9f%ba%e7%a4%8e%e3%81%a8%e5%ae%9f%e7%94%a8_-_google_%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89

(木野瀬氏のスライドより)

では、何故将棋AIがプロ棋士と戦えるほどの棋力になったのか。1つは、AIシステムの盤面評価の仕組みがより賢くなったことが挙げられる。StockFish(チェスのAI向けに開発された盤面評価方法)という仕組みを活用して、効率的な評価をしている。2つは、選択探索から全幅探索をするようになったこと。これまではルール上の選択肢が膨大過ぎて全てを探索出来なかった。しかし、コンピュータの性能が上がり全幅探索が出来るようになったことで、これまで思いつかなかった打ち手も思いつくようになった。また、性能向上でより深く盤面を読めるようになったことも棋力強化の理由である。

決定木の他の応用例には、飛行機の自動操縦の研究や、デスクトップマスコット(人工無能)などが挙げられる。

2つめは、ベイジアンフィルタである。ベイジアンフィルタとは、与えられたいくつもの変数の値が何のカテゴリーに分類されるのかをフィルタリングする。このフィルタリングにベイズの定理を用いている。Googleのメールスパム分類もこれにあたる。スパムか否かの分類を予め定義し、文書内の単語がスパムである確率、スパムでない確率を計算する。それぞれの確率を1つ1つ掛け算していくことで、その文書がスパムである確率を予測する。

ベイジアンフィルタは、掛け算が苦手なコンピュータの為に、掛け算を対数表記の足し算に変換することで、計算処理を速くしている。

3つめは、ニューラルネットワークである。ベイジアンフィルタでは出来なかったより複雑な判断を出来るようになる。線形分離可能な問題と、線形分離不可能な問題があるが、ニューラルネットワークはどちらも解くことが出来る。1960年代では、線形分離可能な問題しか解けなかったが、サポートベクターマシーン(SVM)や逆伝播法(back prop)などの方法によって、線形分離不可能な問題も解けるようになってきた。ニューラルネットワークは、四色問題(全ての二次元にマッピングされた図形の集合は四色で分類出来る)や8クイーン問題(チェスの動き)、実用的なものでは、クレジットカードの不正利用検出、偽札判定に用いられていた。

 

・「鳥」から「飛行機」を作ろうとしたDeep Learning

鳥と飛行機は似ても似つかない(木野瀬氏のスライドより)

鳥と飛行機は似ても似つかない(木野瀬氏のスライドより)

ニューラルネットワークの中に、DeepLearningという手法がある。ニューラルネットワークは人間の脳を模倣するというよりも、分類を示す為のアルゴリズムの1つを示している。飛行機は鳥が空を飛ぶのと似ても似つかないが、空を飛ぶことは出来る。DeepLearningも、元々は生物の脳の仕組みをまねしようとして実際には似ても似つかない形で表現している。

まずは、「鳥」の仕組みについて見ていこう。軸索、細胞体、樹状突起がある。新規の情報は樹状突起から細胞体を通って軸索へ電気が伝わる。人間の脳も同様の機構できている。下位層から伝達される理由、大脳皮質の皮質板の形成過程に理由があると考えられる。

%e4%ba%ba%e5%b7%a5%e7%9f%a5%e8%83%bd%e3%81%ae%e5%9f%ba%e7%a4%8e%e3%81%a8%e5%ae%9f%e7%94%a8_-_google_%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89

ハトの小脳のスケッチ(出典:Santiago Ramón y Cajal.)

さて、細胞体は、樹状突起の全てのところから電気信号を受け取り、合計値が一定以下であれば発火しない。合計値が一定量を越えれば、軸索の上の次のニューロン細胞に対して電気信号を送る。発火した信号をニューロン細胞同士でつなげていくのがシナプスである。樹状突起に細かい粒のようにシナプスがあり、別のニューロン細胞の軸索とつながっている。発火信号を受け取るとシナプスを介して上位に信号伝達される。シナプスの結合は強い結合から弱い結合まである。

(木野瀬氏のスライドより)

(木野瀬氏のスライドより)

ここで、「飛行機」の話をしていく。Deep Learningはどうやって、脳の信号伝達の仕組みを取り入れたのか。シナプスの結合の強弱は、数値データ、値のゆらぎとして表現され、学習のデータとなる。この仕組みをコンピュータで応用したものが、活性化関数と呼ばれるものである。

(木野瀬氏のスライドより)

(木野瀬氏のスライドより)

ニューロン細胞はしきい値を越えない限り発火しないが、人工知能のシステムでは、入力値に対する出力をシグモイド関数にすることで、出力結果をもとに逆方向にパラメータ調整することができる。この仕組みを逆伝播法(back propagation)という。しかし、逆伝播法は信号値が飽和すると勾配が出ず、学習が進まなくなる欠点がある。

そこで、最近よい結果が得られているのが、ReLU(Rectified linear units)というもの。途中まではどの入力に対しても0の出力しかしないが、途中からy=axの活性化関数になる。

(次回以降、機械学習の応用について、まとめていきます。)

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA