前回はこちら

 今回から、人工知能(AI:Artificial Intelligence)を実現するための一連の理論・手法として、機械学習について解説します。3回目と言われる現在のAIブームは、コンピューターの性能向上や利用できるデータの増大によって、機械学習の能力が格段に高まったことが大きいとされています。なお、念のため書いておくと、機械学習で実現できる人工知能は、第1回で紹介した、特定の問題に特化した旧来のAI、いわゆる「弱い人工知能」であって、我々が実現を目指している汎用人工知能(AGI:Artificial General Intelligence、≒「強いAI」)とは異なります。

明示的なプログラムなしに学ぶ

 もともとは計算する機械(今で言えば電卓)として生まれたコンピュータに、人間のように自分で考えるプログラムを搭載できるかどうかという試みから誕生したのが機械学習です。コンピュータは、当初は微分・積分などの計算に使われていましたが、その後は各種シミュレーションをしたり、音楽・音声を扱ったり、画像・動画を扱ったりと様々な情報処理に応用されてきました。その延長として、「SFに出てくるロボットのような、自分で考え、話すことのできる存在を作ってみたい」と考えるのは自然な流れです。

 人が持つさまざまな能力の中でも、機械学習は自ら学ぶ能力に特に注目しています。機械学習の先駆者で、ボードゲームのチェッカーを戦うプログラムを開発したアーサー・サミュエル(Arthur Lee Samuel)は、1959年に「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野(Field of study that gives computers the ability to learn without being explicitly programmed)」と定義したそうです1)、2)

 ただし、普通の(一般的には機械学習とされない)プログラムと、機械学習との境界は非常に曖昧です。特に、統計処理と機械学習の違いはしばしば議論になります。一般的には、「統計は既存のデータを分析して知見を得る」ことを主眼に置き、機械学習は「既存のデータを分析して、未来(あるいは未知)のデータも分析できるようにする」ことを主眼に置くという違いがあると説明されますが、結局のところ両者のかなりの部分が共通することは間違いありません。

 また、ある手法が機械学習かそうでないかはかなり微妙なところがあり、例えば遺伝的アルゴリズムは一般的には機械学習ではないと私は思うのですが、機械学習として扱うこともあるようです。さらに、機械学習の一手法とされるものでも、「一見違うが、実は数学的にはよく知られている手法とまったく同じ」ことが後から分かる場合もあります。機械学習として厳密に定義された計算手法があるというより、手法を考えた人や使う人が機械学習だと思うかどうかという主観が入ることも頭の片隅に置いておくと、話がスムーズかと思います。