AI(人工知能)は、ディープラーニング(深層学習)によって人間の判断力や思考を超えようとしています。この技術の進歩はさらなる発展・応用可能性が期待されていますが、同時に、「AIは本当に信用できるの?」という不安を生み出しました。本記事では、AIが抱える問題のひとつ「ブラックボックス問題」について、想定されるケースや総務省が発表したAI利活用の留意事項、および今後求められるAIの信頼性についてご紹介します。
ブラックボックスの意味と強み
内部構造が見えないこと
ブラックボックスとは内部構造が見えない装置や機構の概念です。中身がわからないことをその名の通り黒い箱に例えています。内部構造はわからなくても装置の操作方法さえわかれば、然るべき出力結果を得ることができます。しかし、内部構造がわからないのでどのようなロジック(論理)でその出力結果が導き出されたのかは知ることができません。
逆に内部構造が見える装置や機構のことをホワイトボックスといい、「内部のロジックが正しいか」、「プログラムが正しく記述されているか」などの内部構造に着目しています。内部状態がわかる様子を白い箱に例えています。
ソフトウェアの外部仕様に強い
ブラックボックスの強みとしてはソフトウェアの外部仕様に強いことが挙げられます。ブラックボックスで着目すべきなのは入力と出力結果です。例えば、Aという入力を行ったらBという結果が返る装置をテストする場合、入力Aに対して出力がBになることを確認できれば目的は達せられます。
その過程で装置がどのような過程を経てBという結果を出力したのかは問われません。内部構造を考慮しないので、どのような結果が出されるのか(外部仕様通りに動作するのか)に集中することができます。仕様通りに動作することはもちろんですが、「ユーザー側の要望を満たしているのか」、「使いやすさに問題はないか」などユーザビリティを意識したテストも行うことができます。
外部仕様通りに動作する分には問題ありませんが、内部のロジック不正による重篤不具合が顕在化した場合は内部構造を理解する必要があるので解析に時間を要することがあります。
懸念される「ブラックボックス問題」とは
「なぜその答えを出したのか、AI(人工知能)の思考回路が分からない」。これがAI利活用で直面するブラックボックス問題です。従来のAIは、その思考や判断基準についてのルールを人間が決めていました。
しかし、AI研究が加速して生まれたニューラルネットワーク、そしてディープラーニングによって、近年ではAIは独自に判断基準を創り出す「知能」になったのです。
ニューラルネットワークとは、人間の脳神経であるニューロンを人工的にモデル化した学習手法のことです。このニューラルネットワークが多層構造化したのがディープラーニングであり、これによって、大量の画像やテキスト、音声といったデータを自動的に学習し、高い精度で認識できるようになりました。
AIが物事を判断するために必要な基準は「重みづけ」です。AIはニューラルネットワークの結合の強さ、つまり繋がりの多さをデータの「重み」として認識します。これにより、AIは「AとBのどちらを選択すべきか?」というような場面で、Aにかかわるデータの重みと、Bにかかわるデータの重みを比較して結論を出します。しかし、ディープラーニングにて処理されるこの「重み」は、その処理プロセスが膨大であるため、明確な「重みづけ」の基準を人間が理解することは非常に困難です。
またAIは、人間が物事を考え判断する速度とは比べ物にならない処理速度を備えているため、AIによって判断される情報量は膨大です。そのため、この情報量を人間がトレースすることはほぼ不可能と言えるでしょう。
このように、AIが判断に用いるのは「情報量」による「重みづけ」ですが、人間はこれらを理解できず、AIの判断基準はブラックボックス化してしまっています。簡単に言えば、AIの思考プロセスが人間には理解できなくなっているということです。これがAIの「ブラックボックス問題」なのです。
問題になるケース
AIを活用する業界によっては、AIの判断基準を明確に知る必要がない分野もあるでしょう。例えば、画像解析や画像判断を行うサービスでは解析・判定結果を重視するため、AIの思考・判断がブラックボックス化していたとしてもそれほど問題にはなりません。
しかし、AIが医療診断や自動運転など「人の生活や命」にかかわる場合、また人を選ぶなど「その人の人生を左右する」あるいは「人の区別」に利用されるとき、「AIがなぜその結論に至ったか」という判断基準・思考プロセスは重要視されるのです。
もしAIが出した結論が物理的・倫理的に「間違い」を起こした際、AIの思考プロセスが分からなければ、人の生活や命、人生にも影響を及ぼしかねないうえ、間違った判断をするロジックを持ったプログラムを改善することが困難になってしまいます。
AIによる医療診断
AIの利活用に際し、とくにブラックボックス問題を意識すべき分野のひとつが医療分野です。
例として、臓器移植対象者の選別がAIによって行われたケースを考えてみましょう。この場合ももちろん、AIはディープラーニングで得た情報をもとに「今回の移植に適した人」を選別します。
このような場合、選ばれなかった対象者から「なぜ選ばれなかったのか」の理由を求められることが想定されます。しかし、AIが選別した根拠はいわゆる「ブラックボックス」の中にあり人間は理解できないため、人間の医師は患者に対して「AIが選んだ結果です」としか答えることができないのです。
確かにAIならば、私的な感情を交えずデータに基づいた的確な判断をしていると考えられますが、人の生死が左右される判断において「その理由は分からない」では済まされません。
こうした「医療分野における診断の根拠を説明できない」ことは、AIのブラックボックス問題のひとつとして懸念されています。
AIによる自動運転
現在、自動車の自動運転にもAIの判断が組み込まれ始めています。自動車が安全に移動するために、AIが事故を起こさないような判断・行動を決定するのです。しかし、この点においてもブラックボックス問題が懸念されています。
AIが行う自動運転によって、交通事故がまったく起こらないならば問題はないでしょう。しかし、万が一自動車事故が起こった場合、「事故発生時にAIはどのような行動・判断を行ったのか」を明らかにする必要が出てきます。なぜなら、事故の原因究明をはじめ、自動運転に利用するAI改良の必要性、そして事故の責任所在について明確にしなければならないからです。
しかし、AIのブラックボックス問題により事故に至ったプロセスが分かりません。そのため、自動運転に利用されるAIの判断を改善することも困難となり、自動運転に伴うリスクを低減させることができなくなってしまうのです。
AIによる人材採用の差別
AIはディープラーニングにより膨大な情報を得て物事を判断し、そのAIの判断をもとに人間は決定を下します。そして、このようなAIの判断に基づく人間の行動は、「AIは膨大なデータに基づいた判断を行うため、客観的な視点から最適解を選択している」という前提のもと行われています。
しかし、機械学習させるためのデータによっては、バイアス(偏り)がかかった判断を下してしまうという事例もあります。医療の例でも挙げましたが、とくに「人の判断」にAIを活用する分野においてバイアスのかかった判断がなされた際、AIのブラックボックス性が問題視されます。
この「人の判断」に際してAIのブラックボックス問題が懸念される一例として、「AIを活用した採用業務」が挙げられます。前述のとおり、AIの判断は機械学習させた膨大なデータに基づくため、AIの判断は「機械学習時のデータ」の偏りに影響される可能性があるのです。
実際、過去に男性を採用する傾向が強かった企業が、その採用データをAIに学習させたところ、採用基準にバイアスがかかり「女性を採用しにくい」という結果が出た、という事例もあります。やはりAIが抱えるブラックボックス問題のために、判断基準・プロセスの説明や、AIによる判断の改善が難しく、バイアスのある結果に気づけない可能性があるということです。
このように、採用をはじめとする「人」の選定・判断にAIを活用する場合、ブラックボックス問題はもちろん、気づかないうちに差別を生むことも懸念されています。
求められるAIの信頼性
さまざまなサービスにおける展開が期待されるAIですが、利活用に伴う問題も懸念されており、前述のブラックボックス問題もそのうちのひとつです。こういった状況のもと、国や世界規模で、AIの利活用に際するルール・原則を検討・決定するような動きも出てきています。
日本においても同様の動きが見られており、2018年に総務省による「AI利活用原則案」が打ち出されています。この原則案によると、「AIの利活用において留意することが期待される事項」として以下の10項目が挙げられています。
-
適正利用の原則
-
適正学習の原則
-
連携の原則
-
安全の原則
-
セキュリティの原則
-
プライバシーの原則
-
尊厳・自律の原則
-
公平性の原則
-
透明性の原則
-
アカウンタビリティの原則
出典:総務省情報通信政策研究所「AI利活用原則案(平成30年7月31日)」
https://www8.cao.go.jp/cstp/tyousakai/humanai/4kai/siryo1.pdf
上記のうち、とくに⑧公平性の原則、⑨透明性の原則、⑩アカウンタビリティの原則は、主にAIに対する「信頼の醸成」において関係するとされています。AIに対し、こういった「信頼」が求められるのは、医療現場をはじめ、自動運転や人事的判断など、利活用のされ方によってはユーザーに重大な影響を与えかねないことが想定されるからです。
ブラックボックス問題を解決するには
ブラックボックス問題を解決するにはブラックボックスの欠点を補う仕組みや機構を用意することが必要です。ブラックボックスが内部構造を意識しないことはこれまで述べてきた通りですが、内部構造に着目する機構としてホワイトボックスがあります。
内部構造がわかるホワイトボックス
ホワイトボックステストに関する詳しい説明はこちらでご確認できます。
ホワイトボックステストは装置や機構の内部構造に着目する概念です。モジュールやプログラムコード単位でそのロジックや制御が正しいかをテストします。その特徴からシステムテストよりも単体テストで用いられるテストです。内部構造に着目する特性上、プログラミングに関する知識が必要不可欠です。そのため実装したプログラマー自身が行うことが一般的です。
具体的にはプログラムにいくつかの条件ルートを読み込ませて、状況に応じて正しい処理判断がなされて意図したルートを通過するかを確認する「制御フローテスト」とプログラムが設計通りに実行されてデータ処理、変数換算処理がプログラムで命令している通りに実行されているかを確認する「データフローテスト」があります。
ブラックボックスに劣る点
ホワイトボックステストがブラックボックスと比べて劣るのは外部検証が薄くなってしまう点です。ホワイトボックステストは主に各機能単位で行うことが多く、担当者も実装したプログラマーが単独で行うことが多いです。そうなると、システム全体の動作に関してはどうしても網羅しきれなくなってしまいます。
そのため、システム全体の動作確認は入力と出力結果に着目するブラックボックステストでカバーすることが一般的です。ホワイトボックステストはプログラムが設計したとおりに動作するかを確認するためのテストなので、プログラマー寄りのテストと言えます。
ブラックボックステストはUIなどの見た目から出力結果の妥当性、使いやすさなどの操作性(ユーザビリティ)まで確認するのでユーザー寄りのテストです。テストをする観点が異なるため、テスト条件を満たすには双方のテストを行う必要があります。
中間のグレーボックス
グレーボックスは、ホワイトボックスとブラックボックスの両方の特徴を持った概念です。内部構造に着目しながら外部仕様に基づく出力結果の正当性もテストします。
システムテストを行う上で課題となるのが、テストに膨大な工数がかかることです。なぜテスト工数が膨大になるかというと、内部構造がわからないのでどこに不具合が潜んでいるか把握できないため、全機能に対しテストを行うからです。
しかし、全機能テストでは不具合のないことが設計段階で分かっている機能までテストすることになるので言わば「無駄なテスト」が発生してしまいます。また、内部の構造がわからないと重篤な不具合の発見が遅れてしまい、修正にも大きな工数が必要になってしまいます。
グレーボックステストは内部の動作を把握しながら、外部仕様に基づきテストを行うのでブラックボックス単体でテストを行うよりもより的確かつ効率的にテストを行うことができます。
グレーボックステストのデメリット
ホワイトボックスとブラックボックスのメリットを持つグレーボックスですが、デメリットもあります。
まず、ホワイトボックステストに比べてコードカバレッジ(網羅率)が低くなることです。これはブラックボックスとホワイトボックスの両方を簡略化してテストを行うために必然的にテストの網羅性が下がってしまうためです。内部構造と外部仕様に対するテストは同時に直面する課題のため、それらをグレーボックステストで完全に置き換えることは不可能です。
また、ホワイトボックステストのテスト範囲をカバーするには技術的にも高度な知識とスキルを必要とするため、テスト担当者を選ぶテストです。対策として、プログラム実装者からテスト担当者へ内部構造に対するインプットを行うと狙ったテストを行いやすいです。あるいはプログラマー自らグレーボックステストを行うこともありますが、この場合は外部仕様に対する検証が手薄になります。
グレーボックステストは対象アイテムを内部と外部の両方からテストするために各ボックステスト単体よりも多くのテスト工数を必要とします。
おわりに
内部構造に対してテストを行うなら、内部構造に詳しいプログラム作成者がホワイトボックステストを行うことが適切ですが、それだけではシステム全体に影響する範囲のテストはカバーしきれません。
一方でブラックボックステストは外部からの入力に対する出力結果を確認するのでホワイトボックステストでカバーしきれなかった外部仕様に対するテストを行えますが、内部構造に関してはテストできません。ホワイトボックステストとブラックボックステストはどちらか一方だけを行えばいいというものではありません。
両方のメリットを活かせるよう用途に合わせてテストに組み込むことが重要です。また、工数や費用対効果を考え、どこまでテストを行うべきか事前に検討しておくことも重要です。必要に応じてグレーボックステストのように内部と外部を同時並行してテストすることも考慮しておくとよいでしょう。
AIのブラックボックス問題を完全に解決するにはさらなる技術の発達が必要ですが、グレーボックステストが発展しディープラーニングの根拠となる因子と出力結果を結びつけることができれば解決の糸口になるでしょう。