{ブログの中のナビゲタ}ここからは機械学習について、もう一歩突っ込んだ学習をしていきましょう。実は、機械学習にはいくつかの種類があります。種類によって異なる手法が取られています。
1.教師あり学習
械学習の種類の中で一番代表的なものは「教師あり学習」と呼ばれるものである。教師に教えてもらいながら学習するというのは人間の世界で普通に行なわれていることなので、概念的に分かりやすい。ただし機械学習において注意すべきは、ここで使われている「教師」は必ずしも人間である必要はないという点である。人間の学習で言えば、生身の先生がいなくても、教科書や回答付きの問題集による学習もこの分類に入ると言えよう。
「教師あり学習」とは、大きく分けてはじめから正しいとされる結果を示してもらうことによって学習する方法と、推定した結果が正しいか否かを教えてもらうことによって学習する方法がある。画像による医療診断の場合を例に上げて、この両者について見てみよう。
前者は罹病している人のレントゲン写真を、写真は罹病しているものだと事前に伝えられて、何枚も見ながらその特徴を把握することになる。それに対して、後者はレントゲン写真を見て、その人が罹病しているか否かを判断し、その結果が正しいか否かを(医者に)教えてもらうことに相当する。
いずれにせよ、正しいとされるデータが大量に与えられれば、それらを例題とみなして、次には全く同じでなくても、似たようなものに対して正しい判断を下せるようになる。第7章の中で利用者が興味をもつ記事の検索で取り上げた、フィードバックによる学習もこのタイプである。これを含め前章で挙げた例のほとんどは「教師あり学習」である。
このように「教師あり学習」では、判断の精度を高めるためには出力もセットにした大量のデータが必要となる。しかしながら、一般に「教師あり学習」はこのようなデータさえ揃えることができれば、効率よく学習ができるので、広く利用されている。そのため「教師あり学習」には数百以上の手法があると言われており、その数はなお増え続けている。
一方、特殊なデータの場合は、大量の教師データを用意するのに大きなコストがかかる。あるいは、AIを活用すべき企業の現場には、そのようなデータなどほとんどないことが大きな課題になる場合もある。そのような場合は何らかの工夫が必要になってくる。そのような工夫の一つとして、次のような例がある。
トンネル掘削時の事故は発生すると大きな被害を出すことが多い。崩落の予兆を察知するため、掘り進める面にひび割れ等がないか推断できるAIが開発されれば、掘削工事中の崩落事故を防ぐことができる。ところが実際に工事現場でひび割れが発生する頻度は低く、実際の画像を大量に集めるのは難しい。そのため、ひび割れを模して加工した大量の疑似画像を作成し、それをAIに読み込ませることによって精度を高めた。
2.教師なし学習
「教師あり学習」に対して「教師なし学習」という方法もある。「教師あり学習」と同様な言い方をすれば、「教師なし学習」は正しいとされる結果を教えてもらわずに学習をするということになる。
将棋で言えば、将棋の本を読んだり、先生から教えてもらったり、強い棋士の棋譜をお手本に学んでいくのが「教師あり学習」であるのに対して、ただただ自分の中で試合を重ねて、(悔しい思いや嬉しい思いをしながら)試合数をこなし、その経験から強い指し方を学んでいくようなものである。
{ブログの中のナビゲタ}教師あり学習と異なり、答えを教えないということになると、何をもって学んでいくのか理解しにくいのではないですか。御曽崎も受験生時代に回答のない問題集で勉強しようとしているのを塾の先生が見て、「自分が出した答えが正しいのか、間違っているのか分からない問題をいくらやっても何の足しにもならないぞ」と言われて「そうだよな、正解を知ることなしに、問題だけをやって学習が進むなんて、ありえないじゃいか」などと考えました。
しかし、機械学習においては実際に「教師なし学習」というのがあるのです。いくつかの方法について見ていくことにしましょう。
前章の「4.機械が学習するプロセス」において、学習フェーズと予測フェーズのことを説明したことを思い出して欲しい。
教師がいなくても、学習フェーズにおいて、出力(正解など)を伴わない入力データのみを増やすことによって、予測フェーズでの出力を改善できることはある。より多くのデータを蓄積することだけで、より高い精度で目的を達成できるということである。
たとえば、世界の人口の平均年齢を推測する場合、無作為に選んだ十人のデータ(標本値)で推測するよりも、同じく無作為に選んだ十万人のデータ(標本値)を蓄積して平均を求めたほうが精度があがる。これは第5章の「AIにおける統計の利用(2)(母数の推定)」で述べたことに関係することだが、データを増やすと推定の精度が上がるということ自体は、統計学の一つの法則である。
これは学習フェーズで新しく入力をする際に、出力をセットにして教えないにもかかわらず、推測フェーズでの出力がより正確になるわかりやすい例であろう。この単純な例を教師なし学習というのはいささか憚るが、原理的には教師なし学習といえる。
これは年齢という一次元のデータを扱う例であるが、第5章の最後の方にある「AIにおけるn次元空間の利用」の項で述べた、n次元の特徴空間に当てはめても同じことが言える。すなわち、学習フェーズにおいて入力データのみを増やすことによって、特徴空間におけるデータのパターンやデータの特徴などをより鮮明にグループ化することができるようになり、推測フェーズでの出力を改善できる。
これを直感的に説明すると、玉石混交でたくさんの砂利を入力し、順にそれぞれの色、つや、堅さ、形、比重などの特徴を把握して特徴空間の中にプロットしていく。そうすることにより、砂利の中にいくつかの特定な特徴を有するグループ(玉のグループ)と、そうでないグループ(石のグループ)があることがが段々と判明して、玉と石のあいだに線引きをすることができるようになる。それができれば、全く正解を教えてもらわずに、新たに入ってくる砂利の一つ一つを玉か石に分けていけるようになるようなものである。このようなグループは「クラスター」とも呼ばれるので、このグループ分けの手法は「クラスタリング」といわれ、教師なし学習のアルゴリズムの一つである。
実は、第5章にある「AIにおける統計の利用(1)(因子分析)」と「専門解説コラム:因子分析」で述べたことも、一種の「教師なし学習」とみなすことができる。そこで使用した例で言えば、生徒の各科目の成績だけを入力していく。もちろん、各科目の成績の相関関係については何も教えない。にもかかわらず、たくさんの生徒の成績を入力していくことにより、因子分析を用いて例えば算数と国語と理科の成績は一つが高いと他も高い場合が多い、体育と音楽の成績にも同様なことが言える、しかしながら算数と国語と理科の三科目の成績は体育と音楽の二科目の成績とはほとんど何も関係が見られないといったことを見いだせることになる。
これらのアルゴリズムでは、「これは何である」とか「これは正しい」といったような出力を一切教えないので教師なし学習といえる。このように、「教師なし学習」の場合は、出力とセットにしたデータを用意する必要がなくなるので、それらを用意しにくい場合は都合がよい。しかしながら、これらの例を見て想像がつくように、これらのモデルがそのまま適用できる領域は限られる。
ところで、このような先生がいなくて行う自己学習は人間も往々にして行う。ゲームだけに限らず、人間はこのようにして積み上げる学習の量は結構多いと思われる。自動車の運転方法の学習は、そのよい例であろう。教習所に通って運転の仕方を習うのは「教師あり学習」であるが、免許を取った後、一人で運転しながら、より安全あるいは早い運転方法を学ぶのは、「教師なし学習」である。車の運転のばあい、教習所の「教師あり学習」で習う量よりも、一人で運転しながら「教師なし学習」で学ぶ量のほうが多いとも言えるのではなかろうか。
3.強化学習
{ブログの中のナビゲタ}「教師あり学習」や「教師なし学習」とは異なるアプローチの機械学習もいくつかあります。その一つが「強化学習」と呼ばれるものです。
さてさて、機械学習に関する話が続くので、少々頭が混乱してきたと感ずる方もいるかも知れませんね。しかし、機械学習という概念や、それを具体化する技術は、AIの進歩に大きく貢献しているのです。それだけに、この分野はかなり研究・開発され続けています。そのためもうしばらく機械学習について紹介していくことになります。ややくたびれるかも知れませんが、例えばこれまでの説明だけでは、なぜあんなに強い囲碁用AIが開発できたのかまだよく分からないと感じている人等には、とても面白いと思います。
強化学習とは、現在の状態を観測し、取るべき行動を決定する機械学習の一種である。取られた行動に対して「報酬」が与えられるが、報酬はどのような行動を取ったかによって異なってくる。AIは一連の行動を通じて報酬が最も多く得られるような方策を学習していく。
例えば、囲碁は常にある状況の下で、次の碁石をどこに置くかを決めていく。そして石が一つ置かれるたびに状況が変化し、再度何らかの手を選択して打っていくという一連の状況が変化する中での行動と言える。この時、毎回選択した手に対して、選択した行動に対する評価と言える「報酬」が与えられれば、AIはこの報酬を最大化するように、打つべき手を選んでいけばよい。
この強化学習を利用した囲碁用AIの代表的な例が、「アルファ碁」のシリーズの中の「アルファ碁ゼロ」というバージョンである。この「アルファ碁ゼロ」では、最初に囲碁のルールだけは教えるが、過去の対局記録や定石などを一切教えず、AI内で対局をしていくことによって、より強い手を学習させたのである。
この「アルファ碁ゼロ」の場合、何度もAI内での対局を繰り返すことにより、たった3日で500万回の対戦をしたそうだ。その間強化学習を繰り返し、めきめき力をつけていった結果、2016年5月にイ・セドル九段を破ったバージョンの「アルファ碁」の棋力を超えた。さらに強化学習を続け21日目に、前章の始めにある「一世を風靡した(?)AIの能力」の項にでてくる、2017年5月に柯潔九段を破ったバージョン「アルファ碁マスター」の棋力をも超えた。
強化学習では、この囲碁に代表されるゲームのような絶えず周囲の状況が変化する中で、その環境を観測することによって、どう行動すべきかを学習していく。行動に対して報酬という形でフィードバックをするために、「状態を評価するための式」を与えておく必要がある。その式を計算することによって報酬が与えられることになる。一連の行動を通じて、この計算結果によって得られる点数の優劣を比較することによって、次に似た状態になった時にどのような行動を取ることが望ましいかを学習していくのである。
なお、強化学習において優秀な結果をもたらすようにするためには、当然「状態を評価するための式」が優れものでなければいけない。この式はかなり複雑なものであろうことは、想像に難くない。ここも開発者の力の見せどころである。さらに強力なものにしていくために、この「状態を評価するための式」そのものを学習によって更新していくモデルさえもある。
この報酬はそのタスクが何を目指すかによって、当然変わってくる。画像認識などにおいて、認識の精度を報酬とした強化学習を重ねれば、より精度の高い認識ができるようになるし、報酬を「省電力」や「時間短縮」などにすると、それぞれ低消費電力あるいは応答性能に優れた結果をもたらすAIを生成できる。
強化学習が働くメカニズム
強化学習における囲碁の学習で考えれば、ある程度の回数の試合をこなすことによって、AIは互いの石が置かれた状態のパターンと、そのパターンが現れた時どうするのがよいかを見つけていくことになるが、これは一種の認知プロセスである。ちなみに、多くの教師あり学習では、このパターンとその対処方法は、過去に行われた試合の棋譜や定石として教えられる。
棋譜や定石などを事前に教えられることがない強化学習においては、次にどのような手を打つかを考えるという認知活動に対して評価が与えられるので、その活動をモニターできることになる。このようにして自らの認知活動によって得たパターンとその対処方法について、モニターしていった結果、よりよい評価を得る方法があることを見つけたならば、そちらに変えていくことになり、「制御する働き」がなされることになる。
認知科学などでは、認知活動に対して、その結果をモニターしたりや制御する働きは、メタ認知と呼ばれる。強化学習では画像を認識して状況を把握するとか、次に碁石を置く場所を決めるといったような認知行為のみではなく、このメタ認知のメカニズムが利用されていると考えることができる。すなわち、行動の巧拙を知ることによって、次の時はどのような行動をとるべきかを考えていく。これはメタ認知の行為である。このように、強化学習ではAIがメタ認知機能を持つので、教師がいないにもかかわらず効率よく学習できるともいえる。この認知とメタ認知についてはやや専門的なことでもあり、「専門解説コラム:認知とメタ認知」(G3:人文科学分野に馴染みの少ない人のため)において少し補足説明をしておく。
なお、教師あり学習で学習していくAIは定石や棋譜を教えられ、原則それに従って腕を磨くことになるのに対して、強化学習で学習ではそのような定石や棋譜について全く学ばない。そのためそこで得た手は必ずしも定石通りになるとは限らず、破格になることがある。それが「AIは時として突拍子もない手や、人間では思いつくことがないような手を打ってくる」と言われる要因の一つであると考えられる。
強化学習などがもたらすインパクト
機械学習の導入が、AIの進歩に大きな貢献をしていることは、前章の「6.なぜ機械学習はAIを大きく進歩させることができたか」で述べた通りである。このAIに学習を適用する研究の過程で、「強化学習」をはじめとする教師を全く、あるいはあまり必要としない、学習方法が開発されたことは、AIの親離れ(人間離れ)がますます進み出したと言えるのではなかろうか。
この人間離れが進めば進むほど、時間的にもコスト的にも、開発効率が上がってくる。それだけではなく人間とは異なる発想に基づく開発がなされる可能性も上がってくる。これらによって、人間はより効率的にAIを開発する、あるいはそうしなければ実現できないような能力をもつAIを開発できるようになる。AIのますますの発展が期待できる。「強化学習」によって成長した「アルファ碁ゼロ」が、教師あり学習で成長した他の「アルファ碁」のバージョンに打ち勝ったという事実は、それを象徴していると言えるであろう。
このようなAIの親離れの傾向は同時に、AIが具体的にどのようにしてその結論に至ったのかが人間には分からないという意味で「ブラックボックス化」と言われる現象を引き起こす。このブラックボックス化については、いろいろな考えがでている。後に取上げる「6.機械学習に関する二、三の課題」の項の中で考えていくことにしよう。
4.その他の学習のアプローチ
現在の方法では、「教師なし学習」を適用できる領域は限られる。一方その課題を解決するため、『教師あり学習』と『教師なし学習』の中間的な機械学習も盛んに研究・開発されている。すなわち出力もセットにした大量のデータが必要ではないという意味では「教師なし学習」に近い存在ではあるが、さりとて全く何も教えないわけではない機械学習である。これは「教師なし学習」の発展型、あるいは「教師なし学習」と「教師あり学習」の組み合わせ型とも言えよう。
この研究、開発の動きには大きく二つの方向がある。一つはAI自らが教師役を務めることによって、外部の教師から教わることをゼロにするものであり、「自己教師あり学習」などとも言われる。
具体的には、AIが自ら教師データを作り出す。例えば囲碁の場合、AIはあたかも二人の棋士が試合をしているような状況を作ることができる。そこでは人間が教えなくとも、AIはどちらが勝ったか判断できるので、AIが教師役を務めることができると言える。しかしながら、実際には世界中のトップ棋士の力さえも越えるとされる囲碁用AIはもっと複雑な学習を行っている。それについては後で、詳しく分析していくことにする。
もう一つは、少量の(外部からの)教師データしかない点を補うもので「半教師あり学習」などとも呼ばれる。その一つが、ある課題でおこなった「教師あり学習」の経験を別の課題に活かしていこうとするものである。過去の学習で使った出力もセットになった大量のデータを用いて、その時の課題に似ているが異なる新たな課題の対処方法をまず学習し、その後その新たな課題に関する少量のデータで学習し直す方法である。
少ない出力とセットにしたデータでも学習できるようにする、もう一つのモデルを紹介しよう。これは「教師あり学習」をする前に、入力された少ない画像をAI自らが「予習」をすることにより、「教師あり学習」のために準備するデータを大幅に減らしても高精度の画像認識をできるようにしたものである。これは次のような仕組みで実施される。
「予習」の段階では、出力をセットにした何枚かの画像(例えば「リンゴである」ということを付けたリンゴの写真)を読み込ませ、それらの画像をトリミングしたり、斜めにしたり、逆さまにしたり、一部を切り抜いたり、色を変えたりした様々な画像を作りながら、これら全てがリンゴであると認識できるようにする。これを繰り返していくと、AIは画像に写っているものの特徴を把握できるようになる。このような力がついてくれば、その後は別の種類の画像(例えばミカンの写真)では、少ない数のデータによる教師あり学習をしただけで、精度の高い認識ができるようになるというものである。
さらにこれを展開して、いくつかの異なる分野で実施した学習結果を複数寄せ集め、その成果を利用して、新たな課題に関する少量の(外部からの)教師データのみで学習の効率をあげるようなものもある。このような、ある目的のために学習させたAIのモデルを、別のジャンルの課題を解く際などに転用して効果を高める学習方法は「転移学習」とも言われ、この手法も最近注目されている。
5.ディープラーニング
{ブログの中のナビゲタ}AIの学習というと、ディープラーニング(deep learning)という言葉が浮かんでくる人は多いでしょう。特に画像や音声の認識用のAIや翻訳などの自然言語処理用のAIでは、ディープラーニングが広く用いられています。これらの分野では、最近華々しい成果がもたらされているので、ディープラーニングと言う言葉を目にすることが多いのです。
また、これら以外でもディープラーニングは広くAIで使われており、もっとも導入されている機械学習の手法です。そのため、「機械学習すなわちディープラーニング」と思っている人もいるぐらいですが、実は厳密にはそれは正しくないのです。そのディープラーニングについて考えていきましょう。
ディープラーニングとは一言で言うと、人間の脳をモデルにした機械学習の一つである。このモデルは、教師あり学習、教師なし学習、強化学習のいずれの方法にも適用することができ、その適用範囲は広い。
どのようにそれぞれの学習方法に適用するかを考える前に、まずは人間の脳をモデルにする、すなわち人間の脳の仕組をコンピュータがまねるということについて考えてみよう。
人間の脳は神経回路網で構成されているが、AIではソフトウエアを使ってこの神経回路網の仕組みを仮想的に作りあげるのである。この仮想的な仕組みは、脳機能に見られるいくつかの特性に似せた数理的モデルであり、ニューラルネットワークと呼ばれる。
ニューラルネットワークは日本語にすると神経網あるいは神経回路網と訳されるので、人間あるいは生物の神経回路網と混同しやすい。そのためこちらは人工ニューラルネットワーク(artificial neural network)などと呼ばれることもある。このブログではディープラーニングのモデルはカタカナのニューラルネットワークと呼び、人間の脳のほうは漢字の神経回路網と呼ぶことにする。ただしこの神経回路はたくさんの神経細胞によって構成されているが、この神経細胞は通常ニューロンと呼ばれるので、ここでも人間の神経細胞についてもカタカナのニューロンを用いることにする。
この神経回路網はいくつかの層から成り立っている。ニューラルネットワークも人間の神経回路網を真似て、いくつかの層から成り立っている。実は数理モデルであるニューラルネットワークはたくさんの種類があり、構成する層の数もモデルによって異なる。当然、同じディープラーニングでも利用するモデルが異なれば、特性や性能は異なってくる。一般にニューラルネットワークの性能は、中間層の数や各層を構成するユニット数などによって左右される。この中で、層をたくさんにする手法、慣用的には4層以上とする手法、がディープラーニングと呼ばれている。
このように、ディープ(deep)という英語はもちろん「深い」という意味であるが、これは深慮遠謀の「深」とか、内容を深く学習する、といったニュアンスからきたものではない。ディープラーニング、英語でdeep learningは、日本語では深層学習と訳されているように「深い層」というところがミソだ。
現在ディープラーニングは種々の社会課題を解決する技術として注目されている。たとえばロボットへの適用にも注目されている。これはロボットの多くは画像や音声の認識、自然言語処理などを活用するからではあるが、ロボットは基本的に人間の行動を模倣するものである。したがって人間の脳を模したニューラルネットワークは相性がよいとも考えられている。
ところが、例えばドアを開けて部屋から出ていくという人間にとってはごく簡単な行動でも、機械に模倣させようとするとかなり複雑な工程になる。具体的にはそのような場合、ロボットは、まずドアを認識する必要があり、次に押すとかスライドさせるといったドアの開け方を判断して、取手の種類を認識し、それを利用してドア開ける、そこを通り抜けて、最後にドアを締めるなどのタスクをこなさなければいけない。
もちろんこれをいつも同じドアに対して同じ方向からアクセスするだけならば、ドアと自分の距離さえ把握できればよく、特段の学習をしなくても実行可能であろう。しかし、家の中、ビルの中などをあちらこちら歩き回って仕事をするロボットならば、場所や状況に応じて適宜判断して行かなければならない。例えばドアの前に何かものが置いてあったような時はどうするかの判断もしなければならない。
このようにドア一つ通り抜けるのさえ複雑なタスクである。しかも自由に動き回るロボットに搭載されるAIがこなすべきタスクの種類は多い。その対処方法の有力な候補が、タスク別のディープラーニングモデルを開発し、それらにそれぞれのタスクに関する学習をさせ、実行時にはそれら複数のモデルを自動的に繋げて全身動作を実行するようにしていく方法である。
ディープラーニングの使い方
繰り返しになるが、ディープラーニングとは人間の脳機能に見られるいくつかの特性に似せた数理的モデルであり、そこでは関数が使われている。学習によって、この関数を適正化して、より正確な判断ができるようにしていくのであるが、その方法は学習の種類によって異なる。それぞれについて、どのように適正化していくかを検討しよう。
最初に「教師あり学習」の場合。「教師あり学習」とは、正しいとされる結果を示してもらう、あるいは推定した結果が正しいか否かを教えてもらうことによって学習するものである。
ここではまずは、モデル内で使っている関数のパラメータの値を適当にとって仮の判断をくだす。この判断と正解を比べ、その結果によって必要に応じてモデル内で使っている関数のパラメータの値を変え、正しい判断ができるようにする。しかしそうすることによってそのデータについては正しい判断となるが、ほかのデータに対しては正しい判断をするとは限らない。次々に別のデータに対しても同様な操作をおこなっていき、徐々に適正な判断ができるようにしていくのである。
このようにして、大量の入力データと正解を使ってニューラルネットワークに学習をさせていくのである。画像分類、音声認識などに適用されることが多く、手書き数字認識、音声コマンド認識などに応用される。
それに対して、入力データのパターンや特徴などをグループ化していく「教師なし学習」においては、入力データを増やしていくことによりニューラルネットワークを訓練する。具体的には第5章で説明したような統計処理などによって、データに内在するパターンや構造をより緻密に見つけ出していく。自然言語処理のように大量の入力データが入手しやすい場合によく使われる。
現在の状態を観測し、取るべき行動を決定する「強化学習」においては、行動を通じて報酬を最大化するためにニューラルネットワークを活用する。具体的には報酬の大小によって、次に同様な状態になった時に、どのような行動を取るのがベストかを学習していく。逐次環境が変化するゲームプレイやロボットの行動などの最適化などに適用される。
このように、特定のタスクや目的に応じて適切な学習アプローチを選ぶことができるディープラーニングは、その汎用性からさまざまな学習方法に適用されている。
{ブログの中のナビゲタ}この項のはじめに書いたように、ディープラーニングは人間の脳をモデルにしたものです。それ故、そのしくみをもう少し深く理解するためには、人間の脳がどのように働くのかを理解して、それと比較していく方が良いと考えます。
この人間の脳とAIのディープラーニングについての比較は、次のサブグループである「人間との比較」の中の最初の章である、「第20章 人間の脳とAIのディープラーニング」で検討していきます。
6.機械学習に関する二、三の課題
これまで述べたように、多くのAIは機械学習によって「規則や判断基準など」を見出すのであるが、それらは初期に、あるいは継続的に入力されたデータを分析することによって実現される。従って、これらのデータがどのようなものであったかによって結果が異なるものになることは十分にありうる。例えば入力されたデータの量が不十分であるために、それらで作られる「判断基準など」の精度が十分でなかったり、データに偏りがあるために、偏見のある「判断基準など」が作られるなどの課題を残す可能性がある。
「教師あり学習」においては大量のデータを学習することによって、ある程度「判断基準など」の精度を高めることが可能になる。ところが実社会においては、この大量のデータを集めるのに非常に高い費用がかかる場合も多く、そもそも世の中に大量のデータが存在していない場合さえもある。
医療診断に必要なデータなどにその例が見られる。データ投入のために医師の時間をたくさん必要とするものや、希に発症する病気に関するデータなどがこれに該当する。「AIを使おうにも十分な学習データがそろえられない」という問題が起こりうるわけである。もちろん「教師なし学習」やその発展形とみなせる学習も盛んに研究されて、すでにそれを用いたAIが各種開発されてきているが、まだそれらが適用できる分野は限られている。
もう一つの課題として上げられるのが、これら大量のデータ分析によって、どのようにして「判断基準」などを見出したかを人間がフォローすることが困難になってくることである。例えば、統計的処理のアルゴリズムは設計者が組み込むが、そのアルゴリズムにしたがって処理される多量のデータを人間が分析することは困難なため、結局コンピュータの中でいかにして判断基準が決められたかが分からない、というようなことが起こりうる。
AIは学習の結果、第5章の「AIにおけるn次元空間の利用」で述べたn次元の特徴空間を作り、その後与えられたデータがその特徴空間の中のある特定の領域の中に入るか否かを判断するための「判断基準」を作成することができる。しかしながら、その特定の領域を数理的に明示することは難しい上、どのようにしてその特定の領域やその「判断基準」が決まったかを説明することも難しい。
これが、時折「AIはどのようにして結論を出すのか分からない」とか、「AIはブラックボックスである」といった表現を目にする理由である。
こうして機械がいろいろな分野で、人間には分からない判断基準で、次々に予測、判断、決定等をしていくようになる。また先に述べた「AIの親離れ」はますますその傾向を強めると考えられる。例えば囲碁において破格の方法を見つけるAIについても「AIはどのようにしてその方法を考え出したのか分からない」といった印象を強める。
このような傾向が強くなってくると、それを受け止める人間側も意見が分かれてくる。そのようなブラックボックスが下す結論は不安であり、とても受け入れがたいと思う人、人間が行っても判断基準が不明確なケースはいくらでもあるのであまり変わらないではないかと思う人、判断基準が分からない以上、AIが下す推論や結論について最終的には必ず人間がチェックすべきであると思う人、判断結果さえ信頼できるものならば、判断根拠が明示されないことは問題ではないと思う人、万一判断結果が間違えていた場合誰が責任をとるべきなのかさえ分からないではないかと思う人、一時混乱が生じるかも知れないがAI間の競争が働き、信頼できるAIが生き残っていくだろうと思う人等々、多様である。学習機能を持ったAI利用がますます増えていく中で、これらについて検討し、適切な対処方法を考えていく必要がある。
基本的に機械学習がもたらすブラックボックス化は、学習するアルゴリズムが複雑なため、開発者でさえシステムの判断基準を理解できないことなどから起きる。そうなるとこのアルゴリズムの偏りが見過ごされる可能性もでてきて、例えば人種差別的な判断がなされるようなことが起きうる。このような判断基準が不透明なアルゴリズムだけでなく、質の悪い学習用データ、偏ったモデルなどが多大な損失を被る状況や、危険な事態を引き起こす可能性もある。そのような課題に対処するために、判断に至る経緯を示した「説明可能なAI」の開発が進む下地もできつつあるが、まだ十分には普及していないと言えよう。
第6章の「14.知識」の項で、AIは暗黙知を持つこともできることを例で示したが、この場合も「AIはブラックボックスだ」という見方がある。これもAIがくだす個々の結論について、誰にもその判断根拠が理解できないからである。AIが判断根拠として使っている暗黙知を、誰にも分る形式知に変換することができないためである。
しかしながら、元来「暗黙知」とは形式知にすることが難しい知識なのであるから、これは当然とも言える。にもかかわらず、人間による暗黙知については「さすがに経験豊富な人は違う」と賞賛する一方、「機械による暗黙知では信用ならぬ」と拒否されるような、イデオロギー的反応も起こりうるであろう。
最後に、課題というよりも、学習の限界というべき内容かも知れないが、ゲームについて研究する分野には「完全情報ゲーム」と「不完全情報ゲーム」という分類がある。前者は将棋や囲碁など対戦相手の状況を全て把握できるゲームをいう。それに対して後者はポーカーやマージャンのように、相手の手札などの状況が完全にはわからないゲームをいう。このような隠された情報がある不完全情報ゲームでは、学習を重ねても必ず勝ちにつながる正解の一手は見つけ出せない。
だが言うまでもなく、これは学習が役に立たないということではない。例えばマージャンにおいては、誰がいつどの牌を捨てたかという情報を学習することによって、勝つ可能性が高い、あるいは負ける可能性が低い手を選べるようになってくるし、もっと複雑な学習によって、例えば他のプレーヤーの癖を把握し、勝つ確立を高めることはありうるのは衆知の事実である。
この不完全情報ゲームということは、文字通り「ゲーム」に限ったことではない。世の中で直面する諸課題の多くは不完全情報ゲームであるといえる。例えば企業のマーケット戦略などを立てる時、競合相手のことも考慮するのが一般的であるが、この競合相手の状況を全て把握できることはまずない。このような場合は不完全情報ゲームの状態と言え、たとえ機械学習を取り入れたAIといえども限界がある。大切なのは学習するAIでも絶対的なものではないと認識することである。
7.機械学習のまとめ
{ブログの中のナビゲタ}第7章と第8章にまたがり、機械学習について考えてきました。この機械学習についてはAIの進歩に大変大きな役割を果たしているので、これを理解しておくことは重要です。ここではこれら二つの章で検討してきたことをまとめてみます。
- 機械学習の成果は「得たデータを分析・識別して何かを推測したり結果を出す時に、より正確にできるようになること」と言える。
- 機械学習の成果を出すためには、学習フェーズと予測フェーズという二つのことが必要になる。学習フェーズは「与えられるデータを分析・識別」するための「何らかの規則や判断基準など」を見出すことであり、予測フェーズは、それらを利用して、入力される予測用データから予測結果を出力し、本来の利用目的を実行することである。
- 現在、機械学習を組み入れているAIの多くは、予測フェーズを実行しながら学習フェーズも継続している。この継続学習は典型的なPDCA(Plan, Do, Check, Action)のプロセスといえる。
- 機械学習を導入する前のAIは、全てのことをプログラムで定義していかねばならなかったが、学習機能の導入によって、試行錯誤的に最適に近い判断基準を作っていくことができるようになった。これにより、プログラミングを大幅に省略できる、あるいはプログラミングでは成し得ない機能を実現することができるようになった。
- 機械学習には「教師あり学習」「教師なし学習」「強化学習」などいくつもの種類がある。さらにそれぞれの種類の中にも、いくつかの手法がある。
- 「教師あり学習」とははじめから正しいとされる結果を示してもらう、あるいは推定した結果が正しいか否かを教えてもらうことで学習していくものである。ここでの「教師」とは必ずしも人間の先生のことではない。
- 「教師あり学習」では出力もセットにした大量のデータが必要となるが、それを克服するため「教師なし学習」あるいは、両者の中間と位置付けられるモデルが開発されている。
- 「教師なし学習」では正しいとされる結果を教えてもらわずに学習をする。入力データを増やすことによって、統計的により正確な判断ができるようにするのがその例である。
- 「強化学習」とは、AIが現在の状態を観測し、取るべき行動を決定する機械学習の一種である。ここではAIは取るべき行動の選択次第で異なった報酬を得る。この強化学習では認知のみではなく、メタ認知のメカニズムも利用されているとも考えられる。
- 「教師なし学習」や「強化学習」などの教師を全く、あるいはあまり必要としない、学習方法が開発されたことは、AIの親離れ(人間離れ)がますます進み出したと言える。
- ディープラーニングは人間の脳をモデルにした機械学習の一つである。この数理的モデルはニューラルネットワークと呼ばれ、「教師あり学習」「教師なし学習」「強化学習」などに適用され、現在もっとも多く使われているモデルである。
- このようにAIの能力を飛躍的に高めることができる機械学習であるが、まだ適用範囲が限られるほか、公平性、透明性等いくつかの課題も残されている。
コメントを残す