機械学習:9 つの課題

機械学習とは?人間は機械を欺けるか?最終的にはスカイネットと機械の台頭がやって来るのか?機械学習を巡る疑問について見てみましょう。

人工知能(AI)の未来は、おそらく素晴らしいものになるでしょう。しかし現在、AIはいくつかの疑問を提起しています。そのほとんどは、モラルや倫理に関係した疑問です。機械学習は私たちにどのような驚きを与えてきたのか?機械をだますことはできるのか?だませるとしたら、その難易度は?最終的にはスカイネットと機械の台頭となるのか?こうしたAIに関する課題とも言える疑問を、共に見ていきましょう。

強いAIと弱いAI

まずは、2つの概念を分けて考える必要があります。「強いAI」そして「弱いAI」です。強いAIは、思考能力を備え、自身の存在を自覚している仮説上のマシンです。状況に応じた課題を解決できるだけでなく、新しいことも学習可能です。

弱いAIはすでに存在します。画像認識や車の運転、囲碁の対局など、具体的な問題を解決するために開発されたアプリケーションに搭載されています。いわゆる「機械学習」と呼ばれるものです。

強いAIを発明できるかどうかはまだ分かりません。専門家に対する調査(英語記事)によると、あと45年待たねばならないようですが、この真に意味するところは「いつかそのうち」です。たとえば、専門家は核融合電力が40年以内に商業化されるだろうとも述べていますが、50年前もまったく同じことを言っていました。

どんな問題が起きる可能性があるか

強いAIの開発がいつかになるのか、まだ不透明です。しかし、弱いAIはすでにさまざまな分野で活躍していて、活動分野は年々増えています。機械学習は実例から学習するので、動作を明示的にプログラミングしなくても日常的な作業を任せることができます。詳しくは『入門:機械学習の仕組み』をご覧ください。

機械に学習させる目的は、具体的な問題を解決できるようにすることです。したがって、学習によって作り上げられた数理モデル(いわゆる「学習」アルゴリズム)が突然人類を奴隷にしたがる(または救済したがる)ようなことはありません。言い換えれば、弱いAIがスカイネット化するのではないかと恐れる必要はないのです。しかし、それでも何かしら悪い方向に進む可能性はあります。

1.悪意

たとえば、機械学習を使って、一群のドローンに人間を殺すことを学習させたとします。その結果は倫理にかなったものでしょうか?

昨年、まさにこの問題をめぐってちょっとしたスキャンダルがありました。Googleは、ドローンを活用した軍事プロジェクト「Project Maven」で使用されるソフトウェアを開発しています(英語記事)。このソフトウェアは将来、完全に自動化された武器システムの開発を助けることになるかもしれません。

これに抗議してGoogleの社員12人が辞職し、軍との契約破棄を会社に要求する請願書に4,000人以上が署名しました。また、AIや倫理、IT分野の著名な科学者1,000人超がGoogleに公開質問状(英語記事)を突きつけ、プロジェクトの中止と自律型兵器を禁止する国際協定の支持を訴えました。

2.開発者のバイアス

機械学習アルゴリズムを開発する人々に、悪意はないかもしれません。だとしても、多くの開発者は利益を得たいと考えています。つまり、自分たちの利益のためにアルゴリズムを開発しているのであって、必ずしも社会のためではありません。たとえば、患者にとって最善の結果が得られる治療法ではなく、高額な治療法を勧めるような医療アルゴリズムがあるかもしれません。

時には社会そのものが、アルゴリズムが道徳的な規範となることに無関心であることもあります。たとえば、自動車の走行速度と事故による死亡率の間には妥協点が存在します。時速25km以上で走行しないように自動運転車をプログラミングすれば、交通事故による死者の数がゼロになることはほぼ間違いありませんが、自動車の利用がもたらすその他恩恵はなくなります。

3. 必ずしも倫理を考慮しないシステムパラメーター

そもそもコンピューターは、倫理について何も知りません。アルゴリズムは「GDP/労働生産性/平均余命を最大限に高める」ことを目標に国家予算をまとめることはできますが、倫理的な制約が設定されていなければ、学校やホスピスや環境に関する予算をゼロにしてしまうかもしれません。これらがGDPの増加に直接貢献しないためです。

大きな目標を与えられたコンピューターは、働けない人々を排除することで生産性を上げようと判断するかもしれません。

そのため、倫理的な問題を最初から考慮に入れることは必須です。

4.倫理の相対性

倫理は時間とともに変化します。短期間で変わることもあります。たとえば、LGBTの権利や異人種/異階級間の結婚などの問題に関する意見は、一世代のうちに大きく変わる可能性があります。

また、同じ国に住んでいても、倫理観は所属集団によって異なります。国が違った場合は言うまでもありません。たとえば、中国では顔認識を使った大規模な監視(英語記事)が当たり前のことになりました。他の国はこの問題について異なった見方をするかもしれませんし、状況に応じて結論が変わるかもしれません。

政治情勢も重要です。たとえば、テロとの戦いは、多くの国で倫理規範や理想を大きく、そして驚くほど短期間のうちに変えました。

5.機械学習は人間を変える

人間に直接作用するAIもあります。たとえば、鑑賞した映画にあなたがつけた評価をベースに、あなたの好みをほかの人の好みと比較した上で、新しいお勧め映画を提示するアルゴリズムです。これは一例に過ぎませんが、こういうことを得意とするシステムもあります。

映画お勧めシステムは、あなたの好みを時間の経過と共に変えていき、興味の範囲を絞り込んでいきます。このシステムを使わずにいたら、つまらない映画や興味のないジャンルの映画に時々遭遇する羽目に陥っていたかもしれません。このシステムを使えば、見る映画はすべてあなたの好みにドンピシャです。最後には、自分で調べるのを止めて、勧められたものだけを見るようになります。

さらに興味深いことに、私たちはアルゴリズムにどう操られているのか気付きもしません。この映画の例は特に恐ろしくありませんが、これが報道や思想的な宣伝だったら、どうでしょう?

6.疑似相関

疑似相関とは、まったく独立した複数の物事がよく似たふるまいを示したとき、これらの間に何らかの関連性があるように錯覚することです。たとえば、米国ではマーガリンの消費量とメイン州の離婚率に強い相関関係があるのを知っていましたか?

もちろん本物の人間は、それまでの経験や知識を活用して、この2つに直接的な因果関係などありえないことを瞬時に見抜きます。数理モデルは、そのような知識を持つことができません。ただ単にデータを学習して一般化するだけです。

よく知られた例に、治療の緊急度順に患者の診察順を並べ替えるプログラムが、肺炎を併発しているぜんそく患者よりも、ぜんそくを起こしていない肺炎患者の方が緊急度が高いと結論付けた一件があります。このプログラムはデータを学習し、ぜんそく患者のほうが肺炎患者よりも死亡率が低いので優先度が低い、という結論を下したのです。実は、ぜんそく患者の死亡率が低かったのは、この病気に付きものの高いリスクがあるため、医療機関ではいつも緊急治療を受けていたからでした。

7.フィードバックループ

疑似相関よりも厄介なのが、フィードバックループです。フィードバックループとは、アルゴリズムの判断が現実に影響を与え、そのためにアルゴリズムが自分の判断が正しかったと確信してしまう状況です。

たとえば、カリフォルニアのある防犯プログラムは、犯罪率(記録された犯罪件数)に基づいて、アフリカ系アメリカ人居住地域に派遣する警察官の増員を提案しました。しかし、近所を走るパトカーの数が増えると、その地域の住民が犯罪を通報する頻度が高くなり(通報する相手がそこにいるため)、そのために警察官が記述する調書や報告書の数が増え、これが犯罪件数の上昇につながり、その地域に派遣される警察官の数がさらに増えることになりました。

8.「汚染された」または「毒された」リファレンスデータ

アルゴリズム学習の結果は、学習の基礎となるリファレンスデータによって大きく左右されます。しかし、このデータが実は壊れていた、または改竄されていたと判明することがあります。うっかりミスで壊された場合もありますし、誰かが悪意を持ってやった場合もあります(後者は「ポイズニング」と呼ばれています)。

たとえば、社員採用アルゴリズムのトレーニング用に使用したデータが、人種差別的採用をする企業から取られたデータだった場合、このアルゴリズムも人種差別を行うようになります。これは、リファレンスデータが原因で思いもよらぬ問題が発生した一例です。

Microsoftは以前、チャットボットにTwitterでのコミュニケーションを学習させるため、誰でもこのボットとチャットできるようにしました。しかし、それから24時間と経たないうちに、プロジェクトを中断せざるを得なくなりました(英語記事)。親切なインターネット利用者たちが、たちまちボットに罵り言葉を教え、『わが闘争』を暗記させたのです。

https://twitter.com/geraldmellor/status/712880710328139776

機械学習データのポイズニングの例を挙げましょう。あるコンピュータウイルス分析ラボの数理的モデルが、1日に平均100万件のファイルを処理しているとします。処理するファイルには、クリーンなファイルも有害なファイルもあります。脅威の状況は絶えず変化しているので、モデルに変更があると、クライアント側にインストールされている製品へ、ウイルス対策データベースの更新という形で変更が配信されます。

さて、ハッカーがクリーンなファイルによく似た悪意あるファイルを作成し、このラボに送り続けたらどうなるでしょう。クリーンなファイルと有害なファイルの境界線が徐々にあいまいになり、このモデルの品質が低下して、最終的には誤検知を起こすかもしれません。

Kaspersky Labが機械学習だけに頼らず複数の階層にわたるセキュリティモデルを採用しているのはこのためです。生きた人間 、つまりウイルス対策のエキスパートが、機械学習の挙動を常に監視しています(リンク先はいずれも英語記事)。

9.偽装工作

正しいデータに基づき、正しく機能している数理的モデルであっても、その仕組みを知っていれば欺くことができます。ある調査チームは、画像のゆがみを最小限に抑える特殊な眼鏡を使用して顔認証アルゴリズムを欺き、結果を完全に変えてしまう方法を見つけ出しました。

特殊な色のついたフレームの眼鏡をかけることで顔認証アルゴリズムをだまし(英語記事)、他人になりすますことに成功

特に複雑なことをしなくてよさそうな状況であっても、専門家でなければ知らない方法を使って機械を簡単に欺くことができます。

左から3つの標識は時速45kmの速度制限標識と認識され(英語)、一番右の標識は一時停止と認識された

さらに、大きな変更を加えなくても、機械学習の数理的モデルの質を低下させることができます。人間の目にはわずかな、ほとんどわからないほどの変化で十分なのです。

左側のパンダにわずかなノイズを加えただけで、テナガザルと認識される(英語)ようになる

ほとんどのアルゴリズムよりも人類が賢くあり続ける限り、人類はアルゴリズムを欺くことができます。空港で荷物のX線画像を分析して武器を探す、近未来の機械学習を考えてみましょう。頭の良いテロリストなら、何らかの形状をした物体を銃の隣に入れておくことで、銃を銃とは見えなくすることができることでしょう。

責任の所在、取り組むべきこと

2016年、オバマ政権のビッグデータ作業部会は「自動意思決定に差別がエンコードされている可能性」を警告する報告書(英語)を発表しました。この報告書はまた、機会均等の原則に従うことを仕様として組み込んだアルゴリズムの作成も訴えています。

言うは易し、行うは難し。

第1に、機械学習の数理的モデルは、テストや修正が困難です。通常のプログラムの場合、段階的な評価を行いますし、テストする方法も知られています。しかし機械学習の場合、すべては学習用サンプルのサイズ次第であり、サンプルは無限ではありません。

たとえばGoogle Photoアプリは、肌の黒い人を認識すると「ゴリラ」とタグ付けしていたことがあります。本当の話です!ご想像のとおり大炎上し、Googleはアルゴリズムの修正を約束しました。しかし、それから3年経っても、画像に含まれるオブジェクトにゴリラ、チンパンジー、サル、という言葉がタグ付けされないようにこれらのカテゴリをブロックする、というやり方以上の対策をGoogleは見つけられていません(英語記事)。

第2に、機械学習アルゴリズムの判断を理解し、説明するのは困難です。ニューラルネットワークは、内部で重み係数を調整して正しい答えを導き出しますが、実際どうやっているのでしょう?また、得られる答えを変えるには何ができるのでしょう?

2015年の調査では、賃金の高い仕事のGoogle AdSense広告を見る頻度は女性の方が男性よりも低い、という結果が示されています(英語記事)。また、Amazonの同日配送サービスが、アフリカ系アメリカ人の居住地域では利用できないことがよくあります(英語記事)。どちらの場合も、企業の代表者は、アルゴリズムが行ったこのような判断について説明できませんでした。

責めを負うべき人がいないのです。そうである以上、私たちは新しい法律を採択し、ロボット工学のための倫理法を要求しなければなりません。2018年5月、ドイツはこの方向へ一歩踏み出し、自動運転車に対する倫理規定(英語記事)を発表しました。規定の中には、以下の項目があります。

  • 動物の損傷や物的損害よりも、人間の安全を最優先する
  • 事故が避けられない場合に、差別の入り込む余地があってはならない。区別的な因子は容認できない

しかし、私たちにとって特に重要なのは以下の項目です。

  • 自動運転システムのほうが人間のドライバーよりも事故が少ないのならば、自動運転システムが倫理的規範となる

これから私たちが今以上に機械学習に頼るようになるのは明らかです。単純な話、機械学習は人間よりも上手に多くの課題を片付けてくれますから。そこで、ここで見てきたような欠陥や起こり得る問題を肝に銘じ、起こりうる問題を開発段階ですべて予期することに努め、何かうまくいかなくなったときにはアルゴリズムのパフォーマンスを必ず監視することが重要です。

ヒント