(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024098051
(43)【公開日】2024-07-19
(54)【発明の名称】人工知能装置及びプログラム製造方法
(51)【国際特許分類】
G06N 3/10 20060101AFI20240711BHJP
【FI】
G06N3/10
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024081290
(22)【出願日】2024-05-17
(62)【分割の表示】P 2021522643の分割
【原出願日】2020-03-09
(31)【優先権主張番号】P 2019098587
(32)【優先日】2019-05-27
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】110000763
【氏名又は名称】弁理士法人大同特許事務所
(72)【発明者】
【氏名】シュプランガー ミカエル
(72)【発明者】
【氏名】沼岡 千里
(57)【要約】
【課題】人工知能機能を備えた装置が所定の仕様に基づいて適切な出力データを生成するように、人工知能機能を検証する人工知能装置を提供する。
【解決手段】人工知能装置は、人工知能機能に対する入力データを所定の記憶装置から取得する取得部と、前記取得した入力データを所定の基準に基づいて検証する検証部と、前記基準を満たす入力データを前記人工知能機能に入力する入力部と、前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示部を具備する。情報処理装置は、入力データが前記基準データを満たさない場合の処理を実施する処理部をさらに備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得部と、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証部と、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力部と、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示部と、
前記人工知能機能からの出力データを取得する出力データ取得部と、
前記取得した出力データを所定の出力用基準に基づいて検証する出力データ検証部と、
を具備する人工知能装置。
【請求項2】
入力データが前記基準を満たさない場合の処理を実施する処理部をさらに備える、
請求項1に記載の人工知能装置。
【請求項3】
前記基準を選択する選択部をさらに含む、
請求項1に記載の人工知能装置。
【請求項4】
前記基準は、規則(rule)、政策(policy)、ガイドライン(guideline)、仕様(specification)のうち少なくとも1つを含む、
請求項3に記載の人工知能装置。
【請求項5】
前記基準は、前記人工知能機能の動作する目的上の制限、対象とするユーザ、地域の制限、前記人工知能機能が適用される分野のうち少なくとも1つを含む、
請求項3に記載の人工知能装置。
【請求項6】
前記入力データ検証部は、前記取得した入力データの公平性を検証し、
不公平なデータを修正又は削除する前処理部をさらに備える、
請求項1に記載の人工知能装置。
【請求項7】
前記出力データ検証部は、公平性を検証する前記出力用基準に基づいて出力データを検証する、
請求項6に記載の人工知能装置。
【請求項8】
前記出力用基準を選択する選択部をさらに含む、
請求項6に記載の人工知能装置。
【請求項9】
出力データが前記出力用基準を満たさない場合の前記人工知能機能の動作を制御する制御部をさらに備える、
請求項6に記載の人工知能装置。
【請求項10】
前記提示部は、前記出力用基準を満たさない出力データ及び出力データが違反した出力用基準をさらに提示する、
請求項6に記載の人工知能装置。
【請求項11】
出力データが前記出力用基準を満たさないときに、前記出力データ検証部は、出力データが正常な範囲であるか、及び前記人工知能機能の動作が正当かどうかをさらに検証する、
請求項6に記載の人工知能装置。
【請求項12】
出力データが前記出力用基準を満たさないときに、前記人工知能機能の動作の理由に関する説明を提供する提供部をさらに備える、
請求項6に記載の人工知能装置。
【請求項13】
前記人工知能機能の出力データを出力データ記憶装置に記憶する、
請求項1に記載の人工知能装置。
【請求項14】
前記出力データ記憶装置は、前記人工知能機能の出力データをブロックチェーン技術に基づいて記憶する、
請求項13に記載の人工知能装置。
【請求項15】
前記人工知能機能に対する入力データ又は前記人工知能機能からの出力データの検証を、前記人工知能装置とは異なる装置に命令するアプリケーションプログラミングインタフェースを備える、
請求項1に記載の人工知能装置。
【請求項16】
前記装置はクラウド上で動作する、
請求項15に記載の人工知能装置。
【請求項17】
前記人工知能機能は、入力データの訓練又は入力データに基づくデータを生成する、
請求項1に記載の人工知能装置。
【請求項18】
前記訓練はディープラーニングによって実施される、
請求項17に記載の人工知能装置。
【請求項19】
前記人工知能機能は、ニューラルネットワークを含む、
請求項1に記載の人工知能装置。
【請求項20】
人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得ステップと、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証ステップと、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力ステップと、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示ステップと、
前記人工知能機能からの出力データを取得する出力データ取得ステップと、
前記取得した出力データを所定の出力用基準に基づいて検証する出力データ検証ステップと、
を有し、
前記人工知能機能を訓練することにより訓練済み人工知能機能を含むコンピュータプログラムを製造するプログラム製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する技術は、人工知能機能に関する人工知能装置及びプログラム製造方法に関する。
【背景技術】
【0002】
近年、言語の理解や推論を始めとする、本来は人間が行うさまざまな知的行動をコンピュータに行わせる人工知能技術に関する期待が高まってきている。人工知能機能が用いられる技術分野は、カメラによる画像認識、テレビにおける画像合成、ヘッドホンなどにおける音声認識、文書処理システムにおける自然言語理解や文書合成、エージェントやロボットにおける行動認識や行動生成など、多岐の応用に及ぶ。また、人工知能機能の普及に伴って、人工知能機能を備えた装置の信頼性を高める技術や、組織の価値観に対応可能な人工知能モジュールを開発する技術も広まってきている。
【0003】
例えば、解析目的に適応した人工知能モジュール(ニューラルネットワークなど)を自ら選択し、自動学習によって、信頼性の高い人工知能モジュールを生成する人工知能モジュール開発方法について提案がなされている(特許文献1を参照のこと)。
【0004】
また、個人や個人の所属する組織・グループ毎に異なり変化し続ける価値、価値観を解析、学習、予測し、その価値、価値観に合った情報提供、提案を行う人工知能に必要な機能を実現する技術について提案がなされている(特許文献2を参照のこと)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-12555号公報
【特許文献2】特開2014-182483号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように人工知能機能を備えた装置の開発は、信頼性や価値観といった固有の問題の基準に適した人工知能プログラムを開発することに相当し、人工知能機能を備えた装置を与えられた所定の基準に照らして検証して、人工知能機能を再訓練する解決方法を提案することとは本質的に相違する。
【0007】
畳み込みニューラルネットワーク(Convolutional Neural Network)を用いたディープラーニング(Deep Learning)などの訓練方法に関する技術によれば、大量のデータを瞬時に処理し、自動的に特徴抽出されたデータに隠された特徴を用いてデータを分類(classify)、学習(learn)、訓練(train)することができる。なお、以下では、分類、学習、訓練といったものを総称として「訓練」という用語を用いる。
【0008】
例えば、猫と犬を見分ける人工知能機能に大量の訓練用データを与えてディープラーニングを行うことにより、要求される機能を提供できるように訓練させて、訓練済みのモデルにより動作する人工知能機能を備えた装置を開発することが可能である。ディープラーニングなどの訓練方法により、開発者には想像できない特徴を多くのデータから抽出して、開発者がアルゴリズムを想定し得ないような複雑な問題解決を行うことのできる人工知能機能を有する装置を開発することができる。すなわち、ディープラーニングの利点は多い。
【0009】
一方、訓練済みのモデルにより動作する人工知能機能を備えた装置が、例えば人間の顔と動物の顔とを、あまり好ましくない類比によって同一視するような推論結果を出力してしまうようなこともある。このような場合、人工知能機能が倫理的に課題のある動作を行うとして、社会問題を生じるおそれがある。
【0010】
人工知能機能が好ましくない動作をするといった問題を完全に解決することは難しい。しかしながら、人工知能機能が少なくとも所定の仕様に従った処理を提供できるか否かを検証することは可能である。所定の仕様に反する処理が検出された場合に、人工知能機能の処理を適宜修正することが望ましい、と本出願人は考えている。
【0011】
そこで、本明細書で開示する技術の目的は、所定の基準に照らして人工知能機能を備えた装置が適切な出力データを生成するように、人工知能機能を検証し、人工知能機能を訓練する人工知能装置、及び人工知能機能を訓練することにより訓練済み人工知能機能を含むコンピュータプログラムを製造するプログラム製造方法を提供することにある。
【課題を解決するための手段】
【0012】
本明細書で開示は、上記課題を参酌してなされたものであり、その第1の側面は、
人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得部と、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証部と、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力部と、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示部と、
を具備する人工知能装置である。
【0013】
第1の側面に係る人工知能装置は、入力データが前記基準を満たさない場合の処理を実施する処理部をさらに備える。前記処理部は、前記基準を満たさないデータの前記記憶装置からの削除、又は前記基準を満たさないデータの前記記憶装置とは別の記憶装置への保存のうち少なくとも一方を実施する。
【0014】
また、第1の側面に係る人工知能装置は、前記人工知能機能からの出力データを取得する出力データ取得部と、前記取得した出力データを所定の出力用基準に基づいて検証する出力データ検証部をさらに備える。前記出力データ検証部は、公平性を検証する前記出力用基準に基づいて出力データを検証する。出力データが前記出力用基準を満たさないときに、前記出力データ検証部は、出力データが正常な範囲であるか、及び前記人工知能機能の動作が正当かどうかをさらに検証する。
【0015】
また、本明細書で開示する技術の第2の側面は、
人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得ステップと、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証ステップと、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力ステップと、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示ステップと、
を有し、
前記人工知能機能を訓練することにより訓練済み人工知能機能を含むコンピュータプログラムを製造するプログラム製造方法である。
【発明の効果】
【0016】
本明細書で開示する技術によれば、人工知能機能を備えた装置が所定の仕様に基づいて適切な出力データを生成するように、人工知能機能を検証する人工知能装置及びプログラム製造方法を提供することができる。
【0017】
本明細書で開示する技術によれば、人工知能機能を備えた装置が、開発者が予見しないような出力データを生成して、想定し得ない社会問題を生じる事態を引き起こさず、所定の基準に照らして人工知能機能を備えた装置が適切な出力データを生成するように、人工知能機能を検証し、人工知能機能を訓練する人工知能装置、及び人工知能機能を訓練することにより訓練済み人工知能機能を含むコンピュータプログラムを製造するプログラム製造方法を提供することができる。
【0018】
なお、本明細書に記載された効果は、あくまでも例示であり、本明細書で開示する技術によりもたらされる効果はこれに限定されるものではない。また、本明細書で開示する技術が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
【0019】
本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0020】
【
図1】
図1は、人工知能システム100のハードウェア構成例を示した図である。
【
図2】
図2は、人工知能機能搭載アプリケーションソフトウェアの構成例を示した図である。
【
図3】
図3は、訓練用人工知能機能を用いてモデル訓練を行う際に、入力データの検証を行うプログラムやデータの動作状況を示した図である。
【
図4】
図4は、工知能機能検証製造用ソフトウェアによる処理手順を示したフローチャートである。
【
図5】
図5は、訓練用人工知能機能を用いてモデル訓練を行う際に、訓練されたデータにおける公平性の有無の検証を行うプログラムやデータの動作状況を示した図である。
【
図6】
図6は、訓練用人工知能機能を用いてモデル訓練を行う際の人工知能機能検証製造用ソフトウェアによる処理手順を示したフローチャートである。
【
図7】
図7は、訓練済みモデルを使った訓練率テスト、データ生成、推論といった処理を行うプログラムやデータの動作状況を示した図である。
【
図8】
図8は、訓練用人工知能機能の出力データが検証用基準を判定するための処理手順を示したフローチャートである。
【
図9】
図9は、訓練用人工知能機能の動作正当性を検証するための処理手順を示したフローチャートである。
【
図10】
図10は、説明提供処理の詳細な手順を示したフローチャートである。
【
図11】
図11は、訓練用人工知能機能の動作正当性に関する説明を提供するために、人工知能機能の学習時に行う準備の処理例を示した図である。
【
図12】
図12は、訓練用人工知能機能の動作正当性に関する説明を提供するために、人工知能機能の学習時に行う準備の処理例を示した図である。
【
図13】
図13は、訓練用人工知能機能の動作の理由の説明を生成する処理を実施する構成例を示した図である。
【
図14】
図14は、訓練用人工知能機能の動作の理由の説明を生成する処理を実施する構成例を示した図である。
【
図17】
図17は、人工知能機能検証製造用ソフトウェアの状態遷移を示した図である。
【
図18】
図18は、訓練済みモデルの修正時の不公平を解消するための処理手順(訓練フェーズ)を示したフローチャートである。
【
図19】
図19は、訓練済みモデルの修正時の不公平を解消するための処理手順(モデル検証フェーズ)を示したフローチャートである。
【
図20】
図20は、敵対的生成ネットワークを利用してモデルの不公平状態を認識する仕組みを示した図である。
【
図21】
図21は、敵対的生成ネットワークの学習時のシステム構成の一例を示した図である。
【
図22】
図22は、ガイドライン(基準)と選択可能な規則の一例を示した図である。
【
図23】
図23は、ガイドライン(基準)と選択可能な規則の他の例(データ構造)を示した図である。
【
図24】
図24は、ガイドラインから実行可能なチェックリストを自動生成する仕組みを示した図である。
【
図25】
図25は、ガイドラインから生成したチェックリスト(基準)を示した図である。
【
図26】
図26は、チェックリストテンプレートデータ構造の一例を示した図である。
【
図27】
図27は、ガイドラインの適合性検証を達成するシステムを示した図である。
【
図28】
図28は、クラウド上のサーバとクライアントアプリケーション間で使用されるAPIの例を示した図である。
【発明を実施するための形態】
【0021】
以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
【0022】
A.基本機能
本明細書で提案する人工知能機能は、「アカウンタビリティ」、「公平性」、及び「透明性」という3つの基本機能を備えている。以下、各基本機能について説明しておく。
【0023】
(1)アカウンタビリティ(accountability):
アカウンタビリティは、対象とする人工知能機能を備えた装置の出力が所定の仕様に照らして適切であるかどうか検証を行うための基準を操作する機能である。
【0024】
対象とする人工知能機能を備えた装置の検証を行うための「基準(criteria)」として、規則(rule)、政策(policy)、ガイドライン(guideline)、仕様(specification)などが、人工知能機能を有するコンピュータプログラムを検証し、人工知能機能を訓練することによりコンピュータプログラムを製造する機能を有する人工知能装置のユーザインタフェースを通じて、外部から視覚的に認識できるような形式で明確に定義されている。そして、これらの基準を関数として対象とする人工知能機能を動作させることで、基準との適合性を判断することができる。
【0025】
ここで、「基準」は、対象とする人工知能機能の動作する目的上の制限や、対象とするユーザ、地域などの制限を含む。また、「基準」は、道徳的な観点又は社会的な規範の表現を含む。「基準」は、好ましくは、複数の「基準」の集合からユーザが目的に合わせて適宜選択できるように提供され、それぞれの基準は選択可能な複数の設定項目を含んでおり、検証を必要とするユーザが、検証したい内容に応じて適宜設定項目の選択を変更することができるようなオプションも備えている。オプションは、各項目の優先順位の設定を含む。
【0026】
対象とする人工知能機能を備えた装置が基準に関してどのような行動を行っているかを、ユーザが確認できるように、人工知能機能を検証する装置のユーザインタフェースが構成されていることが必要である。対象とする人工知能機能を備えた装置は、「基準」に照らして人工知能機能の出力を検証することにより、人工知能機能の目的外使用などを検出した場合には、ユーザは、人工知能機能を検証する装置のユーザインタフェースを通じて、人工知能機能の動作制御(一部又は全部の機能の停止など)が可能である。
【0027】
基準は、例えば、対象とする人工知能機能の用途としての技術分野を指定する項目を含むことができる。技術分野としては、生物学的研究、汎用ボイスエージェントなどを挙げることができる。
【0028】
(2)公平性(fairness):
公平性は、対象とする人工知能機能を備えた装置が、すべての人を公平に扱うべきであることにより必要とされる機能である。具体的には、人工知能機能を訓練させるときに入力されるデータの特性の抽出基準や、対象とする人工知能機能を備えた装置から出力されるデータの特性に関する基準において、公平性が確保されていることが要求される。ここで、公平であるということは、ある側面では、特定の特性を持つデータに対する偏り(以下、「バイアス(bias)」とも呼ぶ)がないということ(すなわち、unbiased)である。
【0029】
人工知能機能を訓練させるときに用いられる入力データの特性にバイアスある場合には、人工知能機能が訓練したモデルがバイアスを持つこととなる。すなわち、入出力の関係において、特定の入力に対し、所定の出力がなされる割合が、別の出力がされる割合に対してバイアスを持つものとなる可能性が高い。
【0030】
バイアスを完全に排除することは可能ではないとしても、人工知能機能を検証する装置などを通じて、バイアスの存在を確認することができ、また、バイアスをできる限りユーザの視点で制御するための機能やユーザインタフェースが必要である、と本出願人は考えている。また、所定の入力に対し、ユーザが望ましくないと考えるバイアスが検出された場合には、このようなユーザインタフェースを通じて、バイアスを修正できるような機能が必要である。
【0031】
また別の側面では、公平とは特定のデータが真正(true)であるということである。訓練用の入力データが偽物(fake)である場合、人工知能機能が偽物を本物と認識するようにモデルの訓練が行われるため、望ましくない。偽物を完全に排除することは可能ではないとしても、人工知能機能を検証する装置などを通じて、偽物の存在を確認でき、また、ユーザの視点で偽物をできる限り制御するための機能やユーザインタフェースなどが必要である、と本出願人は考えている。さらに、人工知能機能を検証する装置は、対象とする人工知能機能において公平性が確保されない状態を認識した場合には、ユーザインタフェースなどを通じて、人工知能機能の動作制御(一部又は全部の機能の停止など)が可能であることが望ましい。
【0032】
また、人工知能機能が適用される目的や分野に応じて、バイアスをコントロールするようにしてもよい。例えば、基準が生物学的研究用を目的とすることを示唆する場合においては、人種についてのバイアスを広く許容するように設定することができる。一方、基準が家庭で使われるボイスエージェント用を目的とすることを示唆する場合においては、人種についてのバイアス(つまり、偏見(prejudice))をできる限り排除するように設定することができる。他の例として、新たなゲームキャラクタを自動で生成することを目的として人工知能機能が応用される場合には、訓練用画像の真正判定の基準を緩くすることもできる。一方、インターネットにおいて著作物が偽物であるかどうか判定することを目的とする応用の場合には、訓練用画像の真正判定はできる限り厳格に行うようにできる。このように、人工知能機能を備えたシステムの開発時に、ユーザが基準を選択できるようにすることで、所望の人工知能装置を開発することができる。
【0033】
(3)透明性(transparency):
透明性は、対象とする人工知能機能を備えた装置の入出力の関係を特定する機能である。透明性は、人工知能機能を有する装置がユーザに対して行う決定や行為(行動)について、人工知能機能を検証する装置などが、ユーザに対して説明(explain)し、正当化(justify)するための機能ということもできる。
【0034】
本実施形態に係る人工知能機能を検証する装置は、上述した透明性の観点で定義される「基準」に関して、人工知能機能を有する装置の行動を、ユーザインタフェースなどを通じて説明し正当化できるように構成される。
【0035】
第一に、人工知能機能を検証する装置は、対象とする人工知能機能の「入出力の関係性」(すなわち、どの入力が、どの出力を生成したか)を、ユーザインタフェースなどを通じて説明できる。すなわち、人工知能機能を検証する装置は、ブラックボックス化した人工知能機能の行動について、適切な理由を提供することができる。例えば、特定の出力を生成した入力を、出力から逆トレースして特定できる。
【0036】
第二に、人工知能機能を検証する装置は、対象とする人工知能機能がそのような「入出力関係を生じた理由」について、ユーザインタフェースなどを通じて説明できる。すなわち、人工知能機能を検証する装置は、単に出力から入力を特定するだけでなく、人工知能機能が使用する訓練済みモデルを生成するために使用された訓練用データセット(出力の理由となるもの)を訓練後に特定して、訓練用データセットと人工知能機能の出力との関係を検証することができる。人工知能機能を検証する装置は、対象とする人工知能機能を備えた装置が起こした状況の原因を特定し、基準に基づいて説明し、正当化することができる。例えば、人工知能機能を検証する装置は、対象とする人工知能機能を備えた装置の行動が正当化できない状態になったと判定した場合には、ユーザインタフェースなどを通じて、その人工知能機能の動作制御(一部又は全部の機能の停止など)が可能である。
【0037】
B.人工知能システムの構成例
続いて、人工知能システムの構成例について説明する。
図1には、本実施形態に係る人工知能システム100のハードウェア構成例を模式的に示している。ここで、人工知能システム100の構成の一部又はクラウドインフラストラクチャを除く全部を1つの人工知能装置(例えば、ロボットやコンピュータ装置)として構成してもよい。
【0038】
図示の人工知能システム100は、システム全体を統括的にコントロールするCPU(Central Processing Unit)101と、CPU101が使用する仮想記憶装置102を含んでいる。本実施形態では、CPU101は、ニューラルネットワーク(NN)アクセラレータを搭載することを想定している。また、仮想記憶装置102は、CPU101のローカルメモリとしての1次記憶装置と、キャッシュメモリと、ハードディスク装置(Hard Disc Drive:HDD)などの大容量外部記憶装置からなる2次記憶装置を含んだ概念である。仮想記憶装置102上には、オペレーティングシステム(OS)と、OSが提供する実行環境下で動作する複数の(若しくは、CPU101が実行する)ソフトウェアが搭載されている。
【0039】
また、バス103を介して各種のセンサー及びアクチュエータがCPU101並びに仮想記憶装置102と相互接続されている。各センサーが取得したセンサーデータは、仮想記憶装置102に取り込まれ、CPU101が実行するソフトウェアによって適宜処理される。また、各アクチュエータは、CPU101からの指令(若しくは、ソフトウェアの実行結果)に基づいて駆動する。
【0040】
図1に示す例では、人工知能システム100は、センサーとして、カメラ104、並びにマイクロホン105を備えている。カメラ104は、例えばCMOS(Complementary Metal Oxyde Semiconductor)やCCD(Charge Coupled Device)などのイメージセンサーを用いて構成される。また、カメラ104は、2個以上のイメージセンサーを用いた立体視カメラであってもよい。また、マイクロホン105は、2個以上の収音素子を用いたマイクロホンアレイであってもよい。
【0041】
また、人工知能システム100は、アクチュエータとして、ディスプレイ106とスピーカ107を備えている。ディスプレイ106は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどからなる。ディスプレイ106は、画面にタッチパネルが重畳されたタッチパネル式ディスプレイであってもよい。但し、タッチパネルは、アクチュエータではなくセンサーに分類することができる。また、スピーカ107は、複数のスピーカを組み合わせたスピーカーアレイ(多チャンネルスピーカー若しくは超多チャンネルスピーカー)であってもよい。スピーカーアレイは、振動を生成する1つ以上の加振器(アクチュエータ)によってディスプレイ106の画面を振動させることで音声出力を行う「アコースティックサーフェス」を含んでもよい。
【0042】
人工知能システム100は、その他のセンサー群108及びアクチュエータ群109をさらに備えている。センサー群108は、キーボードやマウスなどの一般的な入力デバイスを含んでもよい。また、センサー群108は、人工知能機能を利用するユーザの生体情報をセンシングする各種生体センサーや、人工知能機能が利用される環境をセンシングする各種環境センサーなどを含んでもよい。
【0043】
本実施形態では、人工知能機能検証製造用ソフトウェアと、人工知能機能搭載アプリケーションソフトウェアと、ユーザインタフェースを提供するGUI(Graphical UI)が仮想記憶装置102に搭載されることを想定している。これらのソフトウェアは、人工知能システム100の動作時に、OSによって仮想記憶装置102にロードされ、CPU101上で実行される。
【0044】
例えば、人工知能機能搭載アプリケーションソフトウェアは、CPU101上で動作する際に、人工知能機能検証製造用ソフトウェアに備えられている一群のアプリケーションプログラミングインタフェース(API)を介して、間接的にOSの機能にアクセスする。そして、人工知能機能搭載アプリケーションソフトウェアは、人工知能機能検証製造用ソフトウェアによる検証を受け、人工知能機能の訓練を通じて製造されることになる。
【0045】
さらに、人工知能システム100は、仮想記憶装置102上でGUIを動作させ、タッチパネル、キーボード、又は音声入力を用いて、ユーザが人工知能機能検証製造用ソフトウェアの動作や入出力を制御することができる。また、人工知能システム100は、人工知能機能搭載アプリケーションソフトウェアの必要に応じて、カメラ104やマイクロホン105、スピーカ106、あるいはその他のセンサー群108、アクチュエータ群109を使った入出力動作を行う。
【0046】
また、人工知能システム100は、通信部110をさらに備えている。通信部110は、イーサネット(登録商標)などの有線通信機能、又はWi-Fi(登録商標)などの無線通信機能を備え、さらにルータ(図示しない)などを経由して外部ネットワーク上のクラウドインフラストラクチャ120に相互接続されている。クラウドインフラストラクチャ120は、サーバ装置とストレージなどで構成されている。後述するように、人工知能システム100は、クラウドとの間でデータ交換を行ったり、人工知能機能に関する処理の一部又は全部を依頼したりするAPIを装備している。
【0047】
人工知能システム100上では、人工知能機能検証製造用ソフトウェアが動作して、アプリケーションソフトウェアに搭載する人工知能機能の製造を行う。人工知能機能検証製造用ソフトウェアは、人工知能機能の製造の過程において、人工知能機能への入力データや訓練データの検証、人工知能機能の出力データの検証などを実施する(後述)。人工知能機能検証製造用ソフトウェアによって製造された人工知能機能搭載アプリケーションソフトウェアは、同じ人工知能システム100上で動作してもよいし、他の装置にロードして使用されてもよい。
【0048】
なお、人工知能機能検証製造用ソフトウェアが動作し、人工知能機能の検証や訓練を行う装置のことを、本明細書では「人工知能機能を検証する装置」とも呼ぶ。また、人工知能機能を検証する装置による検証や訓練の対象となる人工知能機能が動作する装置のことを、本明細書では「人工知能機能を備えた装置」とも呼ぶ。人工知能機能搭載アプリケーションソフトウェアを実行するコンピュータは、「人工知能機能を備えた装置」ということもできる。
【0049】
図2には、仮想記憶装置102上にロードされる、人工知能機能搭載アプリケーションソフトウェアの構成例を模式的に示している。一般に、アプリケーションは、プログラムとデータからなる。人工知能機能搭載アプリケーションソフトウェアのプログラムとしては、少なくとも訓練用人工知能機能(train)と、実行用人工知能機能(deploy)の2つが提供される。これらは記憶領域上で明確に異なるデータ及びプログラムとして構成してもよいし、共通のデータ及びプログラムをモード指定により使うように構成してもよい。また、人工知能機能搭載アプリケーションの作業用の記憶領域としては、入力データ記憶領域、出力データ記憶領域、及び、実行用モデル記憶領域がある。さらに、訓練用人工知能機能によって訓練され、出力され、且つ、長期的に維持される訓練済みモデル記憶領域が割り当てられている。実行用モデル記憶領域は、通常、訓練済みモデル記憶領域のコピーであり、実行用人工知能機能によって利用される。モードを指定する場合には、共通の記憶領域である。
【0050】
訓練用人工知能機能及び実行用人工知能機能は、それぞれディープラーニング(Deep Learning)と称される機械訓練によって提供される機能である。ディープラーニングは、多層のニューラルネットワーク(Deep Neural Network:DNN)によって実現される。DNNは、画像データや、周波数及び時間の2次元データとして表現された音声データの訓練に有効である。DNNは、畳み込み層、プーリング層、及び全結合層からなる畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)、時系列データ訓練などに応用される再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)、次元圧縮によって抽象的なデータを訓練するオートエンコーダ(Autoencoder)など、さまざまなネットワークを組み合わせて実現することができる。
【0051】
以下では、本実施形態に係る人工知能システム100が人工知能機能検証製造用ソフトウェアによって人工知能機能の検証並びに製造を行うための具体的な構成や処理方法に関するいくつかの実施例を説明しながら、人工知能システム100が備える基本的な機能などについて説明する。
【実施例0052】
ここでは、データの検証(learning data prior-verification)に関する人工知能システム100の実施例について説明する。
【0053】
図3には、人工知能機能搭載アプリケーションの訓練用人工知能機能を用いてモデル訓練を行う際に、基準に基づいて、入力データの検証を行うプログラムやデータの動作状況を例示している。
【0054】
人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能にデータが入力される前に、入力データ検証用基準を用いて、データのフィルタリングを行うことができる。具体的には、人工知能機能検証製造用ソフトウェアは、仮想記憶装置102内の不揮発性メモリに記憶される入力データ及び入力データ検証用基準を取り出すと、入力データが入力データ検証用基準を満たすか否かを検証する前処理を実施して、入力データを訓練用人工知能機能に入力するかどうかの判断を行う。
【0055】
図4には、訓練用人工知能機能を用いてモデル訓練を行う際の人工知能機能検証製造用ソフトウェアによる処理手順(入力データのフィルタリングを行う場合)をフローチャートの形式で示している。
【0056】
人工知能機能検証製造用ソフトウェアは、まず入力データを読み込む(ステップS401)。入力データは、画像データや音声データを訓練用人工知能機能に対する入力用に前処理されたものであればよい。また、このような入力データに対して、メタデータ(属性データ)が付加されている。メタデータは、例えば、データ取得時に、データと関連して付加されたものであり、データの取得場所(例えばGPS(Global Positioning System)データ)、データに含まれるオブジェクトのデータ(例えば、写真に写っている人物の国籍、人種などの個人特定情報)、データ作成者の個人特定情報(名前、国籍、人種、趣味などの機微情報)である。
【0057】
次に、人工知能機能検証製造用ソフトウェアは、ステップS401で読み込んだ入力データと検証用基準との比較を行う(ステップS402)。
図4では、説明の簡素化のため、検証用基準の比較を単一の判定ステップとして示されているが、検証用基準が複数ある場合には、入力データと各々の検証用基準との比較を順に行うべく、複数の判定ステップになるものとする。検証用基準は、例えば、「人種などの特定の個人特定情報データが含まれているか」などのチェック項目であればよい。
【0058】
ステップS401で読み込んだ入力データが(すべての)検証用基準を満たしている場合には(ステップS402のYes)、人工知能機能検証製造用ソフトウェアは、入力データ及びそのメタデータを訓練用人工知能機能に入力して、訓練を実施する(ステップS405)。
【0059】
一方、ステップS401で読み込んだ入力データが(少なくともいずれかの)検証用基準を満たさない場合には(ステップS402のNo)、人工知能機能検証製造用ソフトウェアは、その入力データ(及びデータ特定情報)を違反項目(違反した検証用基準の項目)とともにGUI上に表示して(ステップS403)、ユーザに対して次に行うべき処理を決定するように促す。ステップS403では、検証用基準に違反した入力データとともに(又は、入力データの代わりに)、入力データを特定するデータ特定情報をGUI上に表示するようにしてもよい。また、入力データのメタデータも併せてGUI上に表示するようにしてもよい。
【0060】
ユーザは、GUI(又は、その他の入力デバイス)を介して、次に行うべき処理を指示する。そして、人工知能機能検証製造用ソフトウェアは、ユーザからの指示入力に基づいて、処理を続行する(ステップS404)。ユーザが指示する処理としては、表示されたデータを、違反データとして別の記憶装置に保存すること、又は、違反データを削除することなどが挙げられる。
【0061】
図4に示した処理手順(若しくは、第1の実施例)によれば、入力データを検証用基準と比較判定することでアカウンタビリティの実効性を担保するとともに、透明性を入力データの面で支援することができる、という効果がある。
人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能によってラベリングされた出力データの統計データを収集するように構成されている。これによって、訓練されたデータがラベルの観点で、公平性が担保されているかどうか検証することができる。なお、検証用基準は、公平性を検証するための基準をあらかじめ選択することができる。あらゆるラベルについて公平である場合には、「すべてのクラスタ」とすればよい。また、「人種」、「国籍」など一部のラベルについてのみバイアスを検証することで足りるのであれば、該当するクラスタを公平性検証用基準として指定すればよい。また、データが偽物である可能性に着目するのであれば、「真偽性」のラベルについて検証するように設定することもできる。
人工知能機能検証製造用ソフトウェアは、まず、記憶されている訓練ラベルデータ統計情報を読み込む(ステップS601)。ここで、統計情報がユーザインタフェース上にグラフとして表示されることが望ましい。
ステップS601で読み込んだ訓練ラベルデータの分布が(すべての)検証用基準を満たしている場合には(ステップS602のNo)、人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能に訓練を継続させる(ステップS605)。
一方、ステップS601で読み込んだ訓練ラベルデータの分布が(少なくともいずれかの)検証用基準を満たさない状態が検出された場合には(ステップS602のYes)、人工知能機能検証製造用ソフトウェアは、GUI上で、統計情報のグラフを更新するともに、不公平な状態(例えばバイアスが強い状態)の検出されたデータラベルを表示して(ステップS603)、ユーザに対して次に行うべき処理を決定するように促す。
ユーザは、GUIを通じて、不公平な状態のデータラベルが判然とする。そして、ユーザは、GUI(又は、その他の入力デバイス)を介して、次に行うべき処理を指示する。人工知能機能検証製造用ソフトウェアは、ユーザからの指示入力に基づいて、処理を続行する(ステップS604)。ユーザが指示する処理としては、不公平が検出されたデータを別の記憶装置に保存することなどが挙げられる。また、ユーザインタフェースなどを通じて、人工知能機能の動作制御(一部又は全部の機能の停止など)が可能である。