「AI」に関する現役中学生の疑問(教えて!研究者2021年1月版)

2021年1月13日 19時23分 公開

先端テクノロジーに関する現役中学生から寄せられた質問に、現役AI研究者がお答えしました。

Q1:AIはなぜ物事を考えることができるのですか。また、どのような行程で考えているのですか。

A: いろいろな答えがあるかと思いますが、AIは実は何も考えてはいません。合理的に計算をしているだけです。もしかすると人間も同じかもしれません。ただ、その複雑さが異なります。AIを実現する方法はいろいろありますが、ここでは、現在非常によく利用されるようになってきている神経ネットワーク(ニューラルネットワーク)、およびそれを多層化した深層学習の例で話をしましょう。この手法は生物の脳もしくは神経細胞網による情報処理をお手本とした手法ですので、生物の情報処理と非常に似ています。人間もAIも、先天的に与えられた神経細胞がどの程度存在しどのように結合しているかという構造と、後天的な経験に基づいて決定された(学習と呼ぶ)各結合の強さを表すパラメータとによって計算が決定されます。結合の中には、太いものや細いもの、あるいは完全に切れてしまった結合もあります。そのネットワークに電気信号が通り伝達物質を通じて細胞間で信号がやり取りされることで計算が実現されます。その結合の太さは、過去の経験に基づき学習することで決定されます[1]

人の場合にはそれが物理的に行われるのに対して、AIではこれがコンピュータの中で数値シミュレーションされることで実現されます。また、人の場合は、五感を含む様々な入力から学習し、期間も数年、あるいは数十年と言う長きに渡って日々学習していきます。人の脳情報処理のすべてが分かっているわけではありませんが、複雑度の面で人と計算機では異なっていますが、基本的な構造はそれほど変わりません。

ご存知かもしれませんが、計算機によるAIの世界では、近年ニューラルネットワークと呼ばれる人間の脳神経回路を模倣した構造のAIが流行っています。脳内の神経ネットワークに相当する構造にはいろいろなものが考えられますが、結局最近では生物の脳神経細胞ネットワークを模倣したものが一番高い成果を出しており、今も上記のような複雑性を実現すべく日進月歩研究が進められています。

脳の情報処理は構造がすべて解明されているわけではありませんが、例えば、視覚情報処理においては、入力された画像の情報を、画像を縮小するような形で集約しつつ、徐々に今まで学習してきた情報が強調されるような処理がなされていきます(例えば人の顔に反応するように学習した部分は人の顔を強調するように情報に重み付けしていく)。これにより、計算を進めると、学習してきた情報が存在する場合にはそれがはっきりするほどに強調され、存在しない場合には確たることが言えない結果となり、さまざまな認識できるようになるわけです。

Q2:AIの中で精度が違うとAIの行動に、どのような差がでますか。

 A: 特定の応用例で考えるとわかりやすいかと思います。例えば、人の顔を見つけ見分けるAIがあったとしましょう。そして、このAIにA,B,C,,,,Zさんの顔を覚えさせたとしましょう。しかしながらこの人の顔を見分けるAIの精度が悪いと、明らかに顔が写っているのに見つけられなかったり、顔は見つけられたもののAさんをBさんと間違えたり、といったことが起こります。このように、精度の違いは、間違いの頻度として現れます。

Q3:1つのプログラムやロボットをつくるために、どれほどのお金と時間が必要ですか。

A: これは求められる課題の難易度やそれを実現するためのシステム規模により大きく影響を受けるので、一概に答えることは出来ません。非常に簡単な判断をするのであれば、AIというほどのものを利用することはないかもしれません。

例えば、メールの中で、特定のキーワードをいくつか見つけて、それが含まれているとすれば、それをスパムメール(広告・宣伝・その他勧誘等のメール)としてスパムフォルダに振り分けるという課題の場合、単純にスパムに共通しがちなキーワードを数種類検索し、それらのうちどのくらいのキーワードがマッチするかに応じて判断をするなどが考えられます。この場合、スパムメールとそれ以外のメールの文章を数万ほどデータとして用意し、それぞれの場合に、各キーワードがどのくらいの確率で含まれるかを事前に調べておきます。そして新たなメールに対してあらかじめ調べておいた確率とどれほど近いかに応じて判断できるでしょう。その場合、それほどのお金も時間もかからないかもしれません。このように、データにスパムかそうでないかという意味を付与し、それらを見分けるように学習させる学習方法を、教師付き学習と呼びます。上記のような教師付き学習は簡単に実現できます。

また、例えば、教師付き学習を用いて顔を見つけたり数字を認識したりするAIでは、顔/非顔や0-9の文字画像を数万から数百万枚用意すれば、ある程度の精度を実現できるでしょう。しかしながら、覚えさせるべき対象が数百万、あるいは数千万種類もあるとすれば、それらを用意して一つ一つ覚えさせる人件費だけでも相当なものになるでしょう。覚えさせなければならない対象のうち一つの画像を見つけてきて、その対象が映っている箇所を「ここのことだよ」とマウスで正確になぞるだけでも5-10分かかるかもしれません。対象が1万もあれば、50000分=34日以上(24時間働いたとして)となってしまいます。このように教師付き学習を用いたAIに物事を教えるには相当の時間がかかります。

一方、教師を必要としない学習も考えられます。ロボットに試行錯誤を通じていろいろな動作を体験させ、その中から成功をしたらご褒美(報酬)を与えるというような学習方法として強化学習という方法があります。しかし、完全に何も考えない(無作為の)試行錯誤から意味ある行動を誘発するようなことは極めて難しく、つまり全く何も教えないのに賢くなるということは期待しにくく、どうやったらロボット君は学習してくれるだろうか?と人の方がご褒美を与えるタイミングや場所をうまく設計しないといけないということが起こります。これを考えるだけでも大変で、この辺りは研究者がすでに研究の最前線になります。

何に応用しようとするか、そしてその応用がどれほど今まで研究されてきたかに依存しますし、どの程度の仕上がりを期待するかにも依存しますので、前述の通り一概には答えられませんが、あまり研究例が無いような分野に応用するとなるとデータも十分に整っていませんので、実用化できるレベルのAIを構築するには、人件費も含めると残念ながら1億円とか3億円、場合によってはそれ以上の費用がかかるのが現状です。趣味で簡単な機能を作る程度であれば、コンピュータと開発環境さえあればできますので、数十万円程度ということになるでしょう。このように何をどのレベルで作るかということに依存して、必要とされる費用は大きく変わります。

Q4:AI製作関連の仕事に携わっている人として、AIの魅力とAIが発達する上で不安なことは何ですか。

A: AIの魅力は、人しか出来なかった、しかし人がするのは理不尽であった仕事が自動化されることです。

工場で8時間も10時間も立ち作業で、しかも決められたことをずっと機械的にこなすというのは、いつまでも人がする仕事では無いかもしれません(もちろん一回一回の作業において工夫や機転を利かせていることはいっぱいあってそれが機械にはできないので、現状では人がやっているわけですが、将来的には、ということです)。長時間の拘束を伴う定型作業の他にも、危険作業や、精神的な負担を伴う業務があり、これらを自動化できることは魅力です。

一方で、AIが発達する世の中では、今と異なる考え方をしなければなりません。よく言われるようにAIが失敗した時の責任は誰がとるのか?自分で考える機械が自分で何かの経験を蓄えそして学習する、その際にその考えるロジックを作った人や企業が悪くなるのか?それらの問題は解決されなければなりません。法律やガイドライン、人々の受け容れ方の面での変化も必要でしょう。それらが未整備では研究者や製造者もAIが自律的に考える側面の魅力を十分に引き出すことができません。

Q5:AIを開発・製作する過程で、人間がどのように関わっていますか。

A: 前述のように、いわゆる教師付き学習の過程を経て作られるAIにおいては、人が教師になって、正解を教える業務が常に必要となります。この過程では、大量のデータ(経験)を集めるとともに、それらに適切な意味を与える必要があります。意味は応用に応じて変わり、ある時には、良品・不良品ですし、ある時には顔か顔でないか、ある時には、書かれた文字がA-Z、0-9のいずれであるか、スパムかスパムでないかなどです。また、前述のとおり、ネットワーク構造など学習以前の先天的な部分を決定し適切なネットワーク構造を作り出すところや、学習の手法を考えるということも研究者や開発者[2]が経験と勘でやっています[3]。データの与え方や、どのデータを学習すれば、AIがより早く賢くなるかなどを考えるのも研究者の仕事です。

また、強化学習のように、自律的に試行錯誤から経験を獲得し学習する方法でも、ご褒美と書きましたが、望ましい行動とそうでない行動に対して、どのように報酬や罰則を与えるかを考えるのは研究者や開発者です。また機械が試行錯誤するための環境を作り上げることも必要です。時にはコンピュータの中のシミュレータが必要かもしれませんし、時には実世界でロボットが動き回るような設定であることもあります。

このようにデータを整備する(AIのための教材を用意する)とともに、AIのアルゴリズムを選択し、設計すること、そのための環境を整備することは、人がやらねばならない作業で、それが膨大であるため、前述のように膨大な資金が必要になる訳です。

Q6:ドラえもんのようなAIの開発は可能ですか。

A: ドラえもんをどのようにとらえるか、というところに依存しているように思いますので、まずはドラえもんを機能的に分解して考えてみます(過去と未来を行き来するというのもありますが、それはここでは考えないことにします)。

(A)人と適切な受け答えをして、慰めたり、ヒントを与えたりする

現状のロボットにおいて、これはある程度、実現されつつあるかもしれません。AIの応用分野の一つである自然言語処理の発達により、適切な受け答えという意味ではかなりの進展が見られます。会話の流れ(例えば文章が複数並んでいて、後の方の文章では以前に話したことを受けて、「それ」とか「そのあとで」といったように指示代名詞を用いて、順序やものごとの関係があらわされる)を理解する観点では、まだまだ進化が必要なように思えるかもしれませんが、それを解く方法もある程度見えつつあります。現状のチャレンジと言って差し支えないでしょう。

「感情を推定し、それに基づいて会話を選択する」機能について: 人の感情を推定する機能に関してもかなりの進展が見られます。Amazonのレビューなどで対立する二つの代表的な意見が対照的にまとめられていたりするのを見られることもあるかと思いますが、このようなことを自動的に実現することが可能になっています。

「人にヒントを与える」機能について: この分野も大きく進化し続けています。製品のQ&Aや自動コールセンターの採用が進んでいます。結局はどのような知識を持っているかというところに帰着しますが、十分な知識を持っている限り、それを適切なタイミングで適切な表現方法(文章、音声など)で出すことはできるようになりつつあります。

多少の課題はあるものの、全体的にこの分野は、実現性の上では目処が立ちつつあり、今後、精度・ユーザビリティの向上とともに、我々の身の回りにどんどん応用されてくることでしょう。

(B)一つの完結したロボットとして動き回り自律して行動する

現状のロボットにおいて、これが最もはじめに解決すべき目標です。そして目標とするのにちょうどよいレベルと言えるでしょう。しかしながら、これでさえ数十年かかる大規模なプロジェクトになるでしょう。解決すべき問題は下記です。

「我々の生活空間の現実世界を理解し、それに働きかけることができる」機能: 今のロボットは、我々の身の回りのことを教え込むだけでも大変です(覚えなければならないコト・モノの種類が多い)。いろいろなモノをつかんだり、それをいろいろな仕方で操作したりするコト(対象が多少変化しても通用するスキルとして)を教えるのは、人類最先端の技術をもってしても現状では不可能です。環境は固定的で、そこから大きく変化しないことを前提にした上で、一つもしくは二つ程度の作業を同時に行える機械を作るので、精一杯な状況だからです。結果的に、動きまわるロボット(周囲の環境が変化することを意味する)は、単に動き回って会話する程度か、掃除をする程度しかできず、未知の対象(教えられたものと完全に同一ではない対象)をうまく操作するなどは、とてもできないわけです。ですからこれが最初に乗り越えるべきハードルになるでしょう。ドラえもんが、あの(指のない)手でどれほど器用な作業を実現できるかは不明ですが、ロボットに器用な作業をさせることも今後必要なことです。また、手順的に複雑な作業(複数作業の組み合わせ)という観点でも進展するでしょう。これらは現状研究が進んでいる最前線です。

(C)問題を解決するための、機械・装置を四次元ポケットから持ち出す(四次元ポケットは現実的ではないので何かを作り出すと考えましょう)

機械が機械を作り出すというのは、どの程度創造性が必要かというところに依存します。単純にすでにある設計図から作り出すというのであれば、適切な設計図を選んできて、3Dプリンタで出力するということで実現できます。一方で、目の前の相手が必要なことをくみ取り、その人に適切な機能を持つ機械を即座にその場で設計しているとすれば、相当な能力と言えるでしょう。そうした機転や創造性に関して言うならば、かなりハードルの高い目標です。つまり、目的を構築したり理解したりして、その目的に合った機能を作り出す設計を想起した上で、制約を満たしながら設計する。これは人にとっても簡単なことではありませんが、そのような能力を付与するのに、何が必要かさえもわかっていないという意味では、途方もないチャレンジと言えます。

Q7:AIが人々の生活にどのような貢献をしていきますか。また現在、どのように貢献していますか。

A: 前述のとおり、定型作業、細かくみると非定型であっても大きく見ると定型である事務作業など、あるいは人に適さない作業、人の苦痛や危険を伴う作業、などを機械に任せる方向は、現在も未来も留まることなく進展するでしょう。

他にも公平性やプライバシに関わるところ、見落としのない情報収集・判断などの観点ではAIに対する期待は大きいかもしれず、そうした分野での貢献も求められるかもしれません。重要な点は、AIが意思をもって自分の活躍分野を選び取るわけではなく、人がAIにそうした役割と機能を付与していくということです。ですから、AIの進展の裏側には人がいるということ、そして開発する側の創造性やモラルでいかようにでも進展するということです。

ですので、貢献については、現在AIを応用して人々の生活に影響を及ぼそうとする全ての企業や、研究者、開発者の手に委ねられています。また、これらに対するリテラシを持った非技術者からの意見も重要となることでしょう。

Q8:AIが活用されている製品と、どのように活用されているか教えて下さい。

A: これについて途方もなくたくさんあるので、枚挙に暇(いとま)がありませんが、いくつか皆さんの生活になじみ深いものを挙げさせていただきます。

1.製品・サービスのレコメンデーション

・Amazonなどで、何かを購入すると、購入者が興味を持つであろう他の商品も推薦

・Youtubeなどで、何かを視聴した時にも同様

・Facebookなどで、誰かと友達になると、他にも友達である可能性がある人を紹介

2.AIスピーカー(Amazon Alexa, Google アシスタント, iPhoneのSIRIなど)

・音声を認識し、適切に情報提供するエージェント

3.キーワード検索エンジン(Google検索など)

・入力されたキーワードそのままではなく、それらを意味でとらえ適切に情報を検索する検索エンジン

・上記の延長線上かもしれませんが、膨大な論文や特許を概念検索し、それらの関連を可視化する、情報検索システム

4.画像検索エンジン(Google画像検索など)

・画像の意味を理解し、意味レベルで画像を検索する

5.カーナビ、地図アプリ、乗り換え案内

・現在地と目的地を与えると、その中で最短ルート、もしくは最速ルートを検索するエンジン

6.自動運転車

・車線を認識したり、前方車両、側方車両を認識したりした上で、適切に走行、車線変更

・周辺の構造物を認識したうえで、自動車庫入れ

7.顔検出・顔認識による入退室・顔オートフォーカス、写真自販機、ビデオ会議における背景除去機能

・スマートフォンやデジタルカメラで顔オートフォーカス

・パスワード入力の代わりに、顔を見せることで、顔を見分け、ログインを許可する

・顔を見つけて、顔の部位だけきれいにする

・顔を見つけて、顔と連続する身体のみを抜き出しそれ以外の部分にマスクをかける

8.製品の良品・不良品検査

・画像に基づく外観で製品の傷などを製造工程もしくは出荷前に検査

9.天気予報

・膨大な情報に基づいて天気を予測

10.株や金融商品の自動取引、為替・先物の自動取引

・膨大な情報に基づいて自動的に金融取引

11.セキュリティシステム、防犯システム

・監視カメラによる車番認識、速度違反等自動取締システム

・セキュリティ攻撃のパターン検知、アンチウィルスソフト

12.事務作業の一部の自動化

・文書のデジタル化、所蔵のデジタルアーカイブ化、およびそれによる検索

・RPAと呼ばれる分野

Q9:AIを開発する上で、最も苦労することや行程を教えて下さい。

A: 

1.先にデータを準備しなければならないこと

・データを用意するにはコストが掛かりますが、コストをかけるためにはそのための理由が必要。

・やってみないとどの程度の性能が出るかわからないので、「鶏か卵か?」に陥りがち。

2.性能を保証すること、間違えたときにどのようにするかを考えること

完璧なAIというものはありません。アルゴリズムには欠点もありますし、学習によって得られたものであれば、学習時にどんなデータを入力したかで、どこまでできるかが変わります。これは人も同じことなのですが、AIの場合にも、今までどの様な経験をしてきたか(どのようなデータで学習してきたか)は通常わかりません。このため、使う側は過剰な期待をしてしまい、結局その期待に添えないことがよくあります。

このため、評価基準を明確に設計し、どこまでができてどこまでができないかをはっきりさせたいわけですが、ロジックで構築したプログラムと異なり、今までの経験に基づく不連続な挙動(入力データを多少変化させただけで出力結果が大きく異なること)を見せたりして、問題を生むことがあります。したがって普通のロジックで作ったプログラムより、包括的、かつ境界のみならず全体にわたるテストをする必要がありますが、これは並大抵の苦労ではありません。

そこで間違えたときにどのように対処するか、あるいは間違えそうな兆候をどのようにして早期に検出するかなどが課題になります。つまり、即座に結果を修正して現場で学習を進める、あるいは間違えそうな状況であることを別のロジックで検出し非AIのロジック理に切り替えたり人の判断を仰いだりするなどが課題になります。これらは、ヒューマンインザループと呼ばれる技術と密接な関係にあり、AIと人の協力で高い精度を実現しようという試みですが、そうしたユーザインタフェース設計などの運用設計は常に苦労します。


[1] さらに勉強したい方には理研BSIのページが分かりやすいのでお勧めです。http://bsi.riken.jp/jp/youth/know/structure.html

[2] データサイエンティストと呼ばれることもあります。

[3] AutoMLと呼ばれるような、これを自動的に決定する手法も研究されていますが、膨大な計算量が必要とされますので、そのような計算資源を持っていない場合には、自分の勘でやる必要があります。

編集:リサーチポート事業部/AIロボティクス研究チーム