人工知能とは何か?

人工知能とは何か?

人工知能(AI)が流行っているが、機械学習(マシンラーニング)、深層学習(ディープラーニング) 強化学習(レインフォースメントラーニング)など色々な単語が入り乱れていて何がどう違うのかが今一つわからなくなってしまう。ディープラーニングが凄いと聞いたが、それは人工知能と違うのか?そもそも人工知能の定義は何なのか?何故、人によって人工知能の定義が違うの?結局、どの技術を使えば自分がやりたい事が出来るのか?などを解説。

1.何故、人工知能には色々な定義があるのか?

色々な人や団体が色々な立場から「人工知能」の定義をしているためだ。技術的な視点からは誤解がないように厳密な定義をした方が好ましいが、マーケティング的な視点からはなるべく流行りの言葉を使って宣伝したいから定義は曖昧な方が都合が良い。「人工知能=電話」、「機械学習(マシーンラーニング)=ガラケー」、「深層学習(ディープラーニング)=スマホ」のイメージで理解すると良いと思う。糸電話も電話と言えば電話である。つまり、糸電話程度の機能しかなくても「当社の新製品は人工知能搭載です!」とマーケティング部の人が宣伝しても間違いとは言えない。しかし、スマートフォンの話をしているのに固定電話の話を言い出されても困ると定義を厳密にしたがる技術畑の人もいる。

定義が曖昧になった理由は歴史的な経緯もある。人工知能は過去に2回ブームがあり現在のブームは第三次ブームと言われる。現在もやや過熱気味だが、過去のブームの際も人工知能の可能性を喧伝しすぎてしまい、出来る事と出来ない事の限界がわかってブームが去った後、大きな反動があった。プロジェクト名称に「人工知能」がついていると予算が確保しにくいため、「人工知能」と言う言葉を敢えてタイトルから外すような冬の時代もあった。ブーム時は積極的に「人工知能」の名称が使われるが、冬の時代には「人工知能」の名称が避けられる。そんな経緯もあって人工知能と言う言葉は幅広い概念になっている。

大ざっぱな視点では、人工知能と言う幅広い概念の中に、機械学習(マシーンラーニング)と言う概念があり、機械学習の中で脳の仕組みを真似たニューラルネットワークと言う技術あり、ニューラルネットワークを改良して特に優れた成果を出した注目の手法が深層学習(ディープラーニング)と言う技術、の理解で良いと思う。

技術者的な視点では、人工知能を「強い人工知能(汎用人工知能と言われる事もある)」と「弱い人工知能(狭い人工知能と言われる事もある)」の2つに区別する考え方がある。「強い人工知能」とは人間同等以上の知能を持つ人工知能の事である。アトムやドラえもんをイメージするとわかりやすい。それに対して「弱い人工知能」とはある特定の作業に関して人間同等以上の処理をする事が出来る人工知能の事である。例えば、チェスで世界チャンピオンに勝ったディープブルーをイメージすると良い。ディープブルーはチェスは強くても将棋はできない。「強い人工知能」は世の中にまだ存在しない。そもそも強い人工知能が技術的に実現可能か否かは研究者間で意見が対立している状況である。しかし、「強い人工知能」を前提に人工知能脅威論が語られることもあり、定義を厳密にしたくなるケースは確かに存在する。

余談だが、私自身も言葉の選び方にジレンマを感じる事は多々ある。技術的な事を書く際に、「人工知能」という言葉を安易に使うと技術者の人から「イイカゲンで良くわかってない人」と思われてしまうだろうな、と抵抗を感じる。しかし、「機械学習」や「深層学習」という言葉を安易に使うと一般の人から「説明なしで突然難しい単語を使う偉そうな人」と思われてしまうかもしれない。書く文章の内容によって適宜使い分けていきたいが、一般の人を対象読者と想定し、「人工知能」の単語をなるべく使う事を心掛けたいと考えている。

さて、人工知能、すなわちAIが一番イメージしやすいのはコンピューターゲームにおける敵の動きだろうか。憎たらしくもプレーヤーを邪魔してくる敵の中にはまるで人間が操作しているかのように錯覚するような強敵もいたのではないだろうか。

古くはパックマンの敵モンスターが有名だ。やった事がない方は是非、下記リンク先でモンスターの動作を確認して欲しい。矢印キーでパックマンを操作する事が出来る。
https://www.google.com/logos/2010/pacman10-i.html

実は彼らは、粘着タイプの赤、先回りしようとする頭脳派タイプのピンク、自由奔放に動くオレンジなど、色によって性格が異なる。この性格は実際にモンスターが考えているわけではなくて、例えば赤だったら

(1)右に進むとパックマンとの距離が縮まるか?
イエス→右に進む
ノー→左に進む

(2)上に進むとパックマンとの距離が縮まるか?
イエス→上に進む
ノー→下に進む

(1)と(2)をひたすら繰り返す事によってあたかも人間が操作しているかのようにパックマンを追う事ができる。これも原始的なAI、英語で言うArtificial(人工的な) Intelligence(知能)である。しかし、これは人間の命令を忠実に実行しているだけなので応用が出来ない。例えば、袋小路に入ってしまって右にも左にも移動できないなど、従来にない状況になったら人間が新しい命令を逐一追加してやらねばならない。細かく指示しなくてもある程度、機械が自分で学習して欲しいよね、って事で出てくるのがMachine Learning(機械学習)である。

2.機械学習とは何か?

犬が写っている写真と猫が写っている写真が1000枚あって、猫の写真だけ抜き出す作業をコンピューターに頼むときはどうすれば良いだろうか?従来のやり方だと「前歯が10cm以上だったら犬です」「体の高さが60cm以上であったら犬です」等の厳密な振り分けルールを指示する必要がある。写真に歯が写ってなかったり、体の高さが写真からわからなかったらルールを追加する必要があるので到底現実的ではない。

そこで、「顔の長さ」「体の大きさ」「目の形」に注目して写真を猫と犬に分けなさい、とコンピューターに指示する。コンピューターは1000枚の画像を比べながら、「顔が長い動物と短い動物がいる」「大きな動物と小さな動物がいる」等々の特徴を学習し、学習したルールに基づいて写真をグループにわける。場合によってはグループに分けた結果を人間がチェックし、間違えを修正して再学習した方が良いケースもあるかもしれない。いずれにしても、一度学習してルールが完成したら他の写真に対しても応用出来るので大変使い勝手が良い。

実際の機械学習では「顔の長さ」等の具体的な指示ではなく、もう少し数学的な特徴を指示するのだが、いずれにしても、ルールを直接指示するのではなく、どんな特徴に注目するべきかを人間が指示し、振り分けルールは機械に学習させる。

機械学習は「注目すべき特徴を人間が指示する」のがポイントである。もし人間が予測できていなかった事や上手く特徴を説明できないケースに対してはどうすれば良いだろう?

例えば、「頭の良い猫の写真だけを抜き出してくれ」と社長が言い出した時などだ。

もっと深く深くデータの特徴を学習し、人間が気づいていないような僅かな差異も見つけてルール化して欲しい、それがDeep(深層) Learning(学習)のアイディアである。

3.深層学習(ディープラーニング)とは何か?

ディープラーニングは与えられたデータから特徴を抜き出す部分も機械に任せる。例えば、頭の良い猫と頭の悪い猫の見分け方は(大抵の)人間にはわからないが、「頭の良い猫」「頭の悪い猫」とラベル付けされた写真がたくさんあれば、人工知能が頭の良い猫の特徴と頭の悪い猫の特徴の微妙な違いを見つけだし、猫の写真を見せただけで分類してくれるようになるかもしれないのだ。

人が説明する事のできない、認識する事が難しい特徴を機械が学習してくれる。これは大きなブレークスルー、技術的革新となった。例えば、バク転をする事を考えてみよう。どこにどのくらい力を入れて回転するべきか、どうやって着地のバランスをとるのか、等々は人が説明できる事ではない。大まかなコツを指示して、何度も失敗して体で覚えるしかないだろう。まさにそれはディープラーニングがやっている事であり、ディープラーニングで学習したロボットがバク転をできるようになっている。

ディープラーニングは理論だけではなく、コンピュータの性能の向上とインターネットによって学習用データ(画像や文章など)の入手が容易になった事がある。最新の設備と長期間の研究がなくとも、多少の努力で理論とツールの使い方を学べば、従来到底できないと思われていた事ができるようになるのだ。毎日のように新しい理論とその実践が発表され、非常にエキサイティング世界になっている。

4.強化学習(レインフォースメントラーニング)とは何か?

強化学習は、ゲームを人工知能にプレイさせる事を想像するとわかりやすい。パックマンをプレイする場合は、人工知能に良いスコアを出す事を指示し、操作は全て人工知能に任せる。最初はすぐにモンスターに捕まってスコアは伸びないだろう。しかし、スコアを伸ばすと報酬を与えるようにして動機づけてやると、報酬を多くもらえる行動、つまりモンスターに捕まらずに地面に落ちている餌を効率的に拾ってスコアを伸ばす方法を段々と学習し、最終的には人間が到底及ばないレベルまで達する。

強化学習のアイディア自体は昔からあった。しかし、パックマンの得点を伸ばすためには何が最も重要なのだろうか?粘着してくる赤いモンスターの動きか?それとも先回りしてくるピンクにも注意すべきだろうか?そう、例の「何が最も重要なのか人間にも良くわからない問題」だ。この問題を突破してくれたのが、そう例のディープラーニングだ。

ディープラーニングの手法を取り入れたお蔭で強化学習は応用範囲が一気に広がった。様々なゲームで、人間がほぼ勝てないくらい人工知能は強くなっている。有名どころとしては囲碁の例もあるが、昨今の人工知能の進化はすさまじく2018年現在も日進月歩で研究結果が発表されている。しかし、人工知能が人間の良い対戦相手になるかと言うと、ギリギリ反則にならない行為を繰り返す等、対戦していて面白くもなんともない行動を繰り替す問題がある事も知られている。ある程度手を抜いてもらわないともう人間は勝てなくなってきているのだ。

5.何故人工知能の話は難しい単語が多くわかりにくいのか?

人工知能と言う言葉が非常にあいまいな概念である事を前半部で書いたが、それゆえ、文章を書いていると非常に収まりの悪さを感じる時がある。例えば、最新のiPhoneの話を書きたいときに「今回、Appleが発売した新しい電話は~」もしくは「今回、Appleが発売した新しいスマートフォンは~」と書くような気持ち。

iPhoneの話を書くからには想定読者はiPhoneが電話である事もスマートフォンである事も当然知っている前提で書きたくなるし、それは間違ってはいないと思う。しかし、人工知能の場合は「人工知能とは何ですか?」が良く聞かれる質問になるくらい世の理解が進んでいないのでいきなり専門的な単語を出すより「この人工知能は~」と書いた方が専門的な用語を使うより敷居を下げる効果があると思う。しかし、どうしてもやはり収まりの悪さを感じてしまう時がある。

この収まりの悪さは全世界共通のものであるらしく、AI、人工知能、機械学習などの言葉を避けて、言い換えで押し通しているケースも良く見かける。

代名詞的な言い換え
・ネットワーク
・モデル
・エージェント
・アーキテクチャー(構造)
・アーティファクト(人工物)

既存の単語の組み換え
・ニューラル
・アーティフィシャルネットワーク
・ディープネットワーク
・アーティフィシャルニューラルネットワーク
・ディープニューラルネットワーク
・アーティフィシャルエージェント
・マシン インテリジェンス
・ラーニングベースドシステム
・ディープラーニングシステム
などなど。

更には人工知能を自分なりに独自に定義しなおして新たな呼び名を作る人などもいて、様々な人が様々な努力をして、またその努力を途中で諦めたりしており、それゆえ更に混乱に拍車がかかっているのが現状。

もし、人工知能関連の文章を読んでいて単語Aと単語Bが微妙に違った場合「何が違うのだろう?」と悩むのは止めた方が良いかもしれない。単なる言い換えや独自に作った単語、もしくは新しく開発したアルゴリズムに独自の名前を付けているだけの可能性もあるからだ。

6.AI効果とは何か?

AI効果とはある技術が一般的になるにつれ、AI(人工知能)と言う単語が使われなくなる現象。これは人工知能だけではなくあるゆる事に当て嵌まると思うが、人工知能の理解を難しくする要因の一つ。

例えば、テレビは当初、テレビを映し出す技術には真空管が使われていたが、それがブラウン管になり、液晶になり、と使われている技術がどんどん進化した。しかし、今現在、テレビを買うときは「4Kか?」または「薄型か?」などが焦点になり、「そのテレビはブラウン管なのか?それとも液晶なのか?どんな技術でテレビを映し出しているのだろう?」と気にする人はほとんどいなくなり、技術的な部分に対する言及はほとんどなくなった。

人工知能関連技術を使った製品も当初は「人工知能により~」と宣伝されてもそれが一般化されるにつれて「当社のXXXテクノロジーは~」のように、差別化のために独自用語が使われるか「YYY対応!」のように規格に対応済みである事を前面に出す等、人工知能という言葉は段々と使われなくなる。自動車の自動運転技術などはまさしくAI効果が浸透しつつある領域で、一般に自動運転技術が普及するにつれて人工知能による自動運転と言う表現は段々と使われなくなるだろう。

タイトルとURLをコピーしました