IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

(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は、訓練用人工知能機能の動作の理由の説明を生成する処理を実施する構成例を示した図である。
図15図15は、図13に示した処理を表現した擬似プログラムを示した図である。
図16図16は、図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の実施例)によれば、入力データを検証用基準と比較判定することでアカウンタビリティの実効性を担保するとともに、透明性を入力データの面で支援することができる、という効果がある。
【実施例0062】
続いて、人工知能機能の訓練における訓練データのバイアス検出(bias detection)に関する人工知能システム100の実施例について説明する。
【0063】
図5には、人工知能機能搭載アプリケーションの訓練用人工知能機能を用いてモデル訓練を行う際に、基準に基づいて、訓練されたデータにおける公平性の有無の検証を行うプログラムやデータの動作状況を例示している。
【0064】
人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能によってラベリングされた出力データの統計データを収集するように構成されている。これによって、訓練されたデータがラベルの観点で、公平性が担保されているかどうか検証することができる。なお、検証用基準は、公平性を検証するための基準をあらかじめ選択することができる。あらゆるラベルについて公平である場合には、「すべてのクラスタ」とすればよい。また、「人種」、「国籍」など一部のラベルについてのみバイアスを検証することで足りるのであれば、該当するクラスタを公平性検証用基準として指定すればよい。また、データが偽物である可能性に着目するのであれば、「真偽性」のラベルについて検証するように設定することもできる。
【0065】
図6には、訓練用人工知能機能を用いてモデル訓練を行う際の人工知能機能検証製造用ソフトウェアによる処理手順(出力データの不公平状態を検出する場合)をフローチャートの形式で示している。なお、不公平状態の検出処理は、一定間隔毎に実行するようにしてもよいし、ユーザが「処理開始」を指示したことに応答して実行するようにしてもよい。ユーザは、例えば、GUIで表示された「処理開始」ボタン(ソフトボタン)をタッチパネルやキーボードで選択動作する、音声で「処理開始」と話し掛ける、などさまざまな方法で処理開始を指示することができる。
【0066】
人工知能機能検証製造用ソフトウェアは、まず、記憶されている訓練ラベルデータ統計情報を読み込む(ステップS601)。ここで、統計情報がユーザインタフェース上にグラフとして表示されることが望ましい。
【0067】
次に、人工知能機能検証製造用ソフトウェアは、検証用基準に照らして、訓練ラベルデータの分布から検証対象とされる項目について、特定のデータラベルへの不公平な状態が検出されるか、すなわちラベルデータの数に関して、データ量にばらつきがあるかどうかのチェックを行う(ステップS602)。検証用基準としては、「平均を20%超過するデータがあるかどうか」など、具体的な検証用基準を与えることもできる。また、図6では、説明の簡素化のため、検証用基準を1つとする単一の判定ステップとして示されているが、検証用基準が複数ある場合には、各検証用基準について順に不公平状態をチェックするべく、複数の判定ステップになるものとする。
【0068】
ステップS601で読み込んだ訓練ラベルデータの分布が(すべての)検証用基準を満たしている場合には(ステップS602のNo)、人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能に訓練を継続させる(ステップS605)。
【0069】
一方、ステップS601で読み込んだ訓練ラベルデータの分布が(少なくともいずれかの)検証用基準を満たさない状態が検出された場合には(ステップS602のYes)、人工知能機能検証製造用ソフトウェアは、GUI上で、統計情報のグラフを更新するともに、不公平な状態(例えばバイアスが強い状態)の検出されたデータラベルを表示して(ステップS603)、ユーザに対して次に行うべき処理を決定するように促す。
【0070】
ユーザは、GUIを通じて、不公平な状態のデータラベルが判然とする。そして、ユーザは、GUI(又は、その他の入力デバイス)を介して、次に行うべき処理を指示する。人工知能機能検証製造用ソフトウェアは、ユーザからの指示入力に基づいて、処理を続行する(ステップS604)。ユーザが指示する処理としては、不公平が検出されたデータを別の記憶装置に保存することなどが挙げられる。また、ユーザインタフェースなどを通じて、人工知能機能の動作制御(一部又は全部の機能の停止など)が可能である。
【0071】
図6に示した処理手順(若しくは、第2の実施例)によれば、バイアスのない公平な訓練データを用いて、公平性を有するように人工知能機能を訓練させることができるという効果がある。
【実施例0072】
続いて、訓練済みモデルを使った出力データの検証及び説明の提供(run time data verification and AI behavior explanation provision)に関する人工知能システム100の実施例について説明する。
【0073】
図7には、人工知能機能搭載アプリケーションの訓練用人工知能機能を用いて、訓練済みモデルを使った訓練率テスト、データ生成、推論といった処理を行うプログラムやデータの動作状況を例示している。訓練率テストでは、訓練用データとは異なるテストデータを入力して訓練率を測定するものとする。ここでは、人工知能機能検証製造用ソフトウェアは、実行用人工知能機能のデータ入出力を管理しつつ、訓練用人工知能機能の生成するデータ出力の検証及び説明提供を行う。
【0074】
人工知能機能は、複数の人工知能機能(例えば、顔認識用や音声認識用など機能別、あるいはゲーム用や監視用など目的用途別)を組み合わせて構成されることもある。このような場合には、個別の人工知能機能毎に上述したようなテストデータを用いた訓練率の測定を行う。そして、測定結果が所定の条件を達成できていない人工知能機能については、再び訓練用人工知能機能として訓練を再開させるようにすることができる。この場合の条件は、動作の正当性などの基準として与えることができる。例えば「訓練率が98%以上であること」というような基準を設けることができる。
【0075】
人工知能機能検証製造用ソフトウェアは、出力データの検証及び説明の提供の際、出力検証・動作の正当性等の基準、及び動作が起こった理由についての説明方法を、外部のデータベースからメモリ内に取り込む、または、外部のデータベースと通信によって取得するようにされている。ここで、動作が起こった理由についての説明方法は、プログラムとして提供されていてもよい。
【0076】
図8には、人工知能システム100において、人工知能機能検証製造用ソフトウェアによって、訓練用人工知能機能の出力データが検証用基準を判定するための処理手順をフローチャートの形式で示している。
【0077】
まず、人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能の出力データを受信すると(ステップS801)、その出力データが検証用基準を満たしているかどうかのチェックを行う(ステップS802)。この際、検証用基準を所定の記憶領域から読み出して判断がなされる。
【0078】
ステップS801で受信した出力データが検証用基準を満たしている場合には(ステップS802のYes)、人工知能機能検証製造用ソフトウェアは、実行用人工知能機能を利用するアプリ―ケーションが推論などを行うことができるように、その出力データをアプリケーションに提供する(ステップS805)。
【0079】
一方、ステップS801で受信した出力データが検証用基準を満たしていない場合には(ステップS802のNo)、人工知能機能検証製造用ソフトウェアは、データ(及びデータを取得できる識別子情報)を、基準に照らして違反と定義される項目とともに、人工知能システム100のGUI(ディスプレイ106など)を介して表示する(ステップS803)。なお、データを取得できる識別子情報は、例えばデータの置き場所を特定するURI(Universal Resource Identifier)であってもよい。さらに、人工知能機能検証製造用ソフトウェアは、GUIを通じたユーザの命令に従って、訓練用人工知能機能の動作正当性の検証処理を行う(ステップS804)。
【0080】
図9には、図8に示したフローチャート中のステップS804で実行される、訓練用人工知能機能の動作正当性を検証するための処理手順をフローチャートの形式で示している。
【0081】
人工知能機能検証製造用ソフトウェアは、まず、状況についての説明提供が必要かどうかを判定する(ステップS901)。
【0082】
例えば、人工知能システム100が、ユーザが説明提供の必要の有無を選択動作するためのユーザインタフェースを、人工知能システム100で用意するようにしてもよい。ユーザインタフェースは、GUI又はタッチパネルを利用したソフトウェアボタン、キーボード操作、ユーザの音声コマンドの音声認識などでもよい。ユーザの選択動作に基づいて、説明の必要性についての説明提供フラグを設定することができる。説明提供フラグが1である場合には説明提供が必要と判定し、説明提供フラグが0であれば、説明提供が不要と判定する。
【0083】
説明提供が必要な場合には(ステップS901のYes)、人工知能機能検証製造用ソフトウェアは、説明提供処理を実施する(ステップS905)。図10に説明提供処理の手順を示しているが、詳細については後述に譲る。そして、説明提供処理が終了したら、ステップS901に戻る。
【0084】
また、説明提供が不要な場合には(ステップS901のNo)、人工知能機能検証製造用ソフトウェアは、続いて、訓練用人工知能機能から出力されたデータ(ラベル)が正常な範囲で、且つ、動作非正当な範囲であるかどうかを判定する(ステップS902)。その際、出力データの検証並びに動作の正当性の検査用基準を所定の記憶領域から読み出して判定処理がなされる。
【0085】
訓練用人工知能機能の出力データが検証用基準を満たし、且つ、動作が正当な範囲である場合には(ステップS902のYes)、人工知能機能検証製造用ソフトウェアは、実行用人工知能機能を利用するアプリ―ケーションが推論などを行うことができるように、その出力データを同アプリケーションに提供する(ステップS906)。
【0086】
一方、訓練用人工知能機能の出力データが検証用基準を満たしていないと判断される場合には(ステップS902のNo)、人工知能機能検証製造用ソフトウェアは、データ(及びデータを取得できる識別子情報)を、基準に照らして違反と定義される項目とともに、人工知能システム100のGUI(ディスプレイ106など)を介して表示する(ステップS903)。なお、データを取得できる識別子情報は、例えばデータの置き場所を特定するURIであってもよい。さらに、人工知能機能検証製造用ソフトウェアは、GUIを通じたユーザの命令に従って、訓練用人工知能機能の動作正当性の検証処理を続行する(ステップS904)。
【0087】
図10には、図9に示したフローチャート中のステップS905で実行される説明提供処理の詳細な手順をフローチャートの形式で示している。
【0088】
人工知能機能検証製造用ソフトウェアは、訓練用人工知能機能の動作の理由を説明する方法として定義される方法に従って、プロセッサ(CPU101)上で処理を行う(ステップS1001)。説明方法は、規則、スクリプト、関数、プログラム、又はディープニューラルネットワーク(Deep Neural Network)など人工知能の技術から選択することができる。
【0089】
説明の結果は、人工知能システム100のGUI(ディスプレイ106など)を介して表示される(ステップS1002)。そして、人工知能機能検証製造用ソフトウェアは、GUIを通じたユーザの命令に従って、訓練用人工知能機能の動作正当性の検証処理を続行する(ステップS1003)。
【0090】
図11及び図12には、人工知能システム100が、図10に示した処理手順に従って、訓練用人工知能機能の動作正当性に関する説明を提供するために、人工知能機能の学習時に行う準備の処理例を示している。
【0091】
図11には、訓練用人工知能機能を学習させる際に、当該人工知能機能が生成したラベルとデータとを、連想記憶において関連付けて記憶する方法、又は連想記憶の代わりにブロックチェーン技術を用いてネットワーク上に分散記憶させる方法を図解している。同図に示す構成では、人工知能システム100において訓練用人工知能機能を訓練する1つの方法として、訓練用人工知能機能の出力ラベルと所望のラベル(図示せず)を入力として、損失関数(loss function)を用いて計算された結果を用いて、当該訓練用人工知能機能の訓練(ニューラルネットワークの場合、ネットワークを構成する重みの変更)を行うための訓練用入力が生成される。
【0092】
また、図12には、連想記憶の代わりに、ディープニューラルネットワークを用いて、状況の説明を行うテキストを訓練用人工知能機能の入力データと出力ラベルとともに学習するための装置構成例を示している。同図では、訓練用人工知能機能が用いる第1の損失関数とともに、ディープニューラルネットワークが用いる第2の損失関数を用いている。人工知能システム100において状況の説明を行うディープニューラルネットワークを訓練するために、ディープニューラルネットワークの出力テキストと所望のテキスト(図示せず)を入力として、第2の損失関数を用いて計算された結果を用いて、当該ディープニューラルネットワークのネットワークを構成する重みの変更を行うための訓練用入力が生成される。
【0093】
図13及び図14には、人工知能システム100が、図8に示した訓練用人工知能機能の出力データの検証処理において訓練用人工知能機能の動作の理由を説明する必要が生じた場合に、図10に示した処理手順において説明を生成する処理を実施するための構成例を示している。
【0094】
図13には、人工知能機能の学習時に行う準備として図11に示した処理を行う場合に対応する構成例である。連想記憶に対してラベルを提供することで、関連する一連のデータを取り出すことができる。連想記憶は、ハッシュ技術を用いて複数のデータを同一のラベルに対して関連付けることができる。したがって、ラベルを提供することで、第1の関連データ(画像など)を出力させることができる。又は、連想記憶の代わりにブロックチェーン技術を用いてネットワーク上に分散記憶させることもできる。
【0095】
図15には、図13に示した処理を表現した擬似プログラムを示しているが、図10に示したフローチャート中で指定された動作の理由説明方法がプログラムである場合に相当する。このプログラムが実行されることで、ディスプレイ106上に、「下記のデータ入力が訓練時に入力されたことが原因の1つです:」と表示されたことに応じて、連想記憶から取り出されたデータを表示する。データは1つでもよいし、複数まとめて表示するようにしてもよい。図15に示す例では、データが1つずつ表示されるようになっており、「他にデータが必要ですか?」(図示しない)といった出力に応じて、ユーザが「Yes」に相当する(肯定的な)入力をタッチパネル、キーボード、又は音声によって行うことにより、次のデータが表示されるように設計されている。
【0096】
また、図14は、人工知能機能の学習時に行う準備として図12に示した処理を行う場合に対応する構成例である。ディープニューラルネットワークに実行用人工知能機能が生成したラベルを入力することにより、対応する理由についてテキストが出力される。なお、図14に示す例ではラベルのみをディープニューラルネットワークに入力しているが、ディープニューラルネットワークの構成によっては、ラベルの他に、実行用人工知能機能に入力されるデータをともに入力することでテキストを生成するようにしてもよい。また、ディープニューラルネットワークの出力としては、テキストのみだけではなく、関連する画像を表示するようにしてもよい。
【0097】
図16には、図14に示した処理を表現した擬似プログラムを示しているが、図10に示したフローチャート中で指定された動作の理由説明方法が人工知能(例えば、ディープニューラルネットワーク)である場合に該当する。ディープニューラルネットワークの処理がニューラルネットワークアクセラレータを含むプロセッサ(CPU101)上で実行された結果、ディスプレイ106上にデータが表示され、同時にテキストがスピーカなどを用いて音声により出力されることで、又はディスプレイ106上にテキストが表示されることで再現される。
【0098】
第3の実施例によれば、人工知能機能を動作させるアプリケーションの行動をより透明性のあるものにすることが可能になる、という具体的な効果がある。
【実施例0099】
続いて、人工知能機能の公平性を実現する方法に関する実施例について説明する。
【0100】
図17には、人工知能機能検証製造用ソフトウェアの状態遷移図を示している。なお、上述した各実施例にも、同様の状態遷移を組み込むことができるものと理解されたい。
【0101】
本実施形態に係る人工知能機能検証製造用ソフトウェアは、「通常モード(normal)」、「検証モード(aware)」、及び「説明モード(explain)」という3つのモード間を遷移することにより実行状態を決定する。通常モードでは、人工知能機能検証製造用ソフトウェアが検証を行わず、人工知能システム100が人工知能機能のみを使用するモードである。つまり、人工知能機能検証製造用ソフトウェアは、事実上、特段の処理を行わない。検証モードでは、人工知能機能検証製造用ソフトウェアは検証を行う。また、説明モードでは、人工知能機能検証製造用ソフトウェアは、検証処理に加え、検証を通じて、入力されるデータなどに異常が検出された場合に、説明を提供する処理を行う。検証モード下で、異常が検出された場合、人工知能機能検証製造用ソフトウェアは人工知能システム100全体の動作を停止させるようにしてもよい。
【0102】
図18には、人工知能機能検証製造用ソフトウェアが訓練済みモデルの修正時の不公平を解消するための処理手順をフローチャートの形式で示している。但し、図示の処理手順は、人工知能機能検証製造用ソフトウェアが上記の3つのモード間を遷移することを前提とする。
【0103】
まず、訓練フェーズにおける処理手順について、図18を参照しながら説明する。訓練フェーズでは、人工知能機能検証製造用ソフトウェアは、人工知能機能を訓練する。人工知能機能の訓練とは、「学習」に相当する。人工知能機能検証製造用ソフトウェアは、訓練対象データを所定の記憶領域から読み出し、さらにその後に訓練対象データに関連付けられているラベル情報(メタデータと呼ぶこともある)などを取り出す(ステップS1801)。ラベルはデータの提供者によって付加されるデータに関する識別情報である。例えば、データが、猫と人が表示される画像データである場合には、各画像データに「猫」、「人」などのラベルが付けられる場合もあれば、「猫」、「男」、「一人」などとラベルが付けられることもある。ラベルは、ディープラーニングなどの訓練においては重要なデータである。訓練フェーズが終了するまで、訓練対象データ及びラベル情報の読み出しを繰り返し実施するものとする。
【0104】
次いで、人工知能機能検証製造用ソフトウェアは、訓練対象データが不公平なデータかどうか(若しくは、不公平なデータの可能性があるかどうか)を、人工知能機能検証製造用ソフトウェアラベルなどに基づいてチェックする(ステップS1802)。例えば、バイアスを生じている場合や、偽データである場合には、訓練対象データは不公平なデータである。具体的には、所定の記憶領域から読み出した「不公平検証用基準に照らして、訓練対象データの不公平性をチェックする。
【0105】
訓練対象データが不公平なデータでない(若しくは、不公平なデータである可能性がない)と判定された場合には(ステップS1802のNo)、人工知能機能検証製造用ソフトウェアは、「通常モード」に移行して、データをフォーマット変換など前処理した後、訓練対象データを訓練用人工知能機能に入力して、訓練を実施する(ステップS1804)。訓練には、ディープニューラルネットワークなどを活用する。その後、人工知能機能検証製造用ソフトウェアは、更新された人工知能機能のモデル(一般には、ニューラルネットワークのノードの重みの集合)を訓練済みモデルとして、所定の記憶領域に格納する。
【0106】
一方、訓練対象データが不公平なデータである(若しくは、不公平なデータの可能性がある)と判定された場合には(ステップS1802のYes)、人工知能機能検証製造用ソフトウェアは、モードを「通常モード」から「検証モード」に変更する(ステップS1803)。その後、人工知能機能検証製造用ソフトウェアは、検証モードで訓練対象データを前処理した後、訓練対象データを訓練用人工知能機能に入力して、訓練を実施する(ステップS1805)。訓練には、ディープニューラルネットワークなどを活用する。
【0107】
ステップS1805で実施される訓練対象データの前処理は、別の処理フローにおいて不公平なデータである場合には、データの一部を修正したり、修正が不可能な場合には、フィルタリングによってデータ入力対象から削除したりする、といった処理が挙げられる。また、GUIを通じて、ユーザに対して、処理方針の入力を求めるようにすることもできる。この場合には、不公平を生じうる対象データ(画像、音声データ、テキストなど)をディスプレイに表示するとともに、処理候補のリスト(「修正」、「削除」、「許可」)の中からユーザが選択できるように表示し、ユーザからの入力(タッチパネルやキーボードで選択、又は音声によりリスト中の項目を選択)を待って訓練対象データの前処理を進めるようにすればよい。
【0108】
次に、モデル検証フェーズにおける処理手順について、図19を参照しながら説明する。モデル検証フェーズでは、人工知能機能検証製造用ソフトウェアは、モードを「通常モード」から「検証モード」に変更する(ステップS1810)。そして、人工知能機能検証製造用ソフトウェアは、訓練済みモデルを対象の人工知能機能に設定した上で、所定の記憶領域から検証対象データを読み込んで、上記人工知能機能を用いて推論処理を行う(ステップS1811)。人工知能機能検証製造用ソフトウェアは、モデル検証フェーズが終了するまで、すべての検証対象データについてステップS1811の処理を繰り返し行う。
【0109】
次いで、人工知能機能検証製造用ソフトウェアは、推論結果として上記人工知能機能が生成したラベルに基づいて、「不公平を生じている」状態かどうかのチェックを行う(ステップS1812)。例えば、バイアスのあるラベルを生じてしまった場合や、偽データが入力されてしまったことが示される場合には、不公平を生じている状態と判定される。
【0110】
不公平を生じていない場合には(ステップS1812のNo)、人工知能機能検証製造用ソフトウェアは、ステップS1811に戻って次のデータを読み出し、上記人工知能機能の推論処理を継続する。
【0111】
一方、不公平を生じている場合には(ステップS1812のYes)、人工知能機能検証製造用ソフトウェアは、不公平抑制処理を行う(ステップS1813)。不公平抑制処理として、例えば、ラベルの記憶処理と通知処理の2つの方法を挙げることができる。前者の方法では、人工知能機能検証製造用ソフトウェアは、図11又は図12に示したように、バイアスのあるラベル、又は偽データであることを示すラベルを生じた入力データをユーザの検証のために、出力ラベルとともに記憶装置に記憶するようにした上で、同じラベルの出力を抑制するようにする。また、後者の方法では、人工知能機能検証製造用ソフトウェアは、不公平が生じたことを、ディスプレイ上に表示したり、音声によって通知したりする。このような通知処理に加え、同じ入力データに対して、訓練済みモデルを再度訓練するようにすることもできる。
【0112】
人工知能機能検証製造用ソフトウェアは、不公正抑制処理を行った後、モデルを更新するとともに、同じデータに関して、不公平抑制後の訓練済みモデルを用いて推論処理を再度実施する(ステップS1814)。そして、人工知能機能検証製造用ソフトウェアは、訓練済みモデルの不公平状態が改善したか、すなわち、不公平状態は生じていないことをチェックする(ステップS1815)。
【0113】
訓練済みモデルの不公平状態が改善された場合には(ステップS1815のYes)、ステップS1811に戻って、人工知能機能検証製造用ソフトウェアは、別の検証用データを読み出して、モデル検証を継続する。
【0114】
一方、訓練済みモデルの不公平状況が再度確認された場合には(ステップS1815のNo)、人工知能機能検証製造用ソフトウェアは、別の不公平抑制処理を実施する(ステップS1816)。例えば、人工知能機能検証製造用ソフトウェアは、ステップS1813で実施した処理とは異なる訓練方法を実施するようにする。この処理の後、訓練済みモデルを更新するとともに、最初の不公平抑制処理(ステップS1813)に戻る。
【0115】
本実施例では、不公平状態の認識を行う必要がある。例えば、人工知能機能が所定の画像やラベルに応じて関連する画像を生成する機能を有し、その人工知能機能が生成した画像データに不公平が生じている場合に、その検出を行う方法として、敵対的生成ネットワーク(Generative Adversarial Network:GAN)を利用することができる。
【0116】
図20には、敵対的生成ネットワークを利用して、人工知能機能の出力データの不公平状態を認識する仕組みを図解している。図示の敵対的生成ネットワークにおいては、ランダムに生成されたベクトルの入力に応じて出力を任意の不公平画像(所定のラベル入力に対してバイアスの乗った画像、又は実際にはない画像)を生成する生成ネットワーク(不公平画像生成ネットワーク)2001と、通常の画像を入力して画像の真偽を判断する差別化ネットワーク2002を利用する。
【0117】
不公平画像生成ネットワーク2001と差別化ネットワーク2002を相互に動作させつつ、排他的時間をずらして訓練することで、差別化ネットワーク2002は、入力された画像を不公平なものであるかどうかを判定するようにさせることができる。一方、不公平画像生成ネットワーク2001は、できる限り、差別化ネットワーク2002が不公平又は偽であると判断するような画像を出力するように学習する。
【0118】
差別化ネットワーク2002が生成したラベルが一定の値を超えている場合には不公平(バイアスがある、または偽画像である)と判断することができる。したがって、差別化ネットワーク2002を、図18に示したフローチャート中の不公平状態の認識処理に利用することができる。
【0119】
図21には、図20に示した敵対的生成ネットワークの学習時のシステム構成の一例を示している。
【0120】
不公平画像生成ネットワーク2002は、ランダムに生成されたベクトルを入力して画像データを生成する。ここで、不公平画像生成ネットワーク2001が出力する画像は、差別化ネットワーク2002により不公平であると判断されるべき画像データである。
【0121】
不公平画像生成ネットワーク2001が出力する画像データを差別化ネットワーク2002に入力し、出力ラベルを検証する。出力ラベルは0から1の間の実数であり、0に近い場合には「偽」、1に近い場合は「真」と判断される。この状況では、不公平画像生成ネットワーク2001を訓練しようとしているため、真偽を示す出力ラベルと、生成されたデータをもとに訓練勾配計算を行う。一例として、出力ラベルが一定の値(例えば0.5)より大きい場合には、差別化ネットワーク2002を「うまく騙すことができた」と判断し、出力した画像が、今後も出力され易くするようにバックプロパゲーションによって、不公平画像生成ネットワーク2001を構成するディープニューラルネットワークのノードの重みを修正することで訓練する。
【0122】
一方、差別化ネットワーク2002の訓練においては、正しいデータを入力された場合には、出力ラベルが1に近い値となり、不公平画像生成ネットワーク2001の出力したデータが入力された場合には出力ラベルが0に近い値となるように訓練勾配を計算し、バックプロパゲーションによって、差別化ネットワーク2002を構成するディープニューラルネットワークのノードの重みを修正することで訓練する。
【0123】
第4の実施例によれば、人工知能機能の出力における不公平状態の認識に基づいて、不公平状態を改善するために人工知能機能を再訓練することで人工知能機能をより公平性のあるものにすることが可能になる、という具体的効果がある。
【実施例0124】
続いて、人工知能機能が検証用基準に沿った動作を行っていることの説明を提供する実施例(explanation that AI behavior is in compliance with a selected guideline)について説明する。
【0125】
上述したように、本明細書で提案する人工知能機能の基本機能の1つであるアカウンタビリティを実現するために、対象とする人工知能機能を備えた装置を検証する基準として、規則、政策、ガイドライン、仕様などが、人工知能システム100のユーザインタフェースを通じて、外部から視覚的に認識できるような形式で、明確に定義されている。
【0126】
図22には、ガイドライン(基準)と選択可能な規則の一例を示している。ガイドラインをGUIの最上位に提示することで、ユーザがタッチパネルのタッチ動作などで、ガイドラインの内容を読み出すことで、内容を確認できるようにしている。
【0127】
ガイドラインに対する人工知能システム100の予測行動は、ガイドラインに従って作成された人工知能システム100が、ガイドラインに従って正しく動作しているかどうかのチェックリストである。このチェックリストに基づいて、行動項目を選択した上で、図17に示したモードのうち検証モードで検証を行うことで、人工知能システムの動作がガイドラインに沿ったものであるかどうか確認することができる。
【0128】
製品毎に特化した規則は、前述した実施例のいずれかで検証用基準として用いられるものであり、製品を選択することで、基準が選択できるようにしてもよい。また、任意に規則の一部を変更したり組み合わせたりできるようにしてもよい。
【0129】
図23には、ガイドライン(基準)と選択可能な規則の他の例として、記憶領域上のデータ構造を示している。ガイドラインとは別に、各製品や機能(顔認識向け、金融ローン向け、人事向け、など)についてチェックリストが格納されている。
【0130】
さらに、チェックリストに関連付けて、チェックリストの対象となるモデル(例えば、ディープニューラルネットワークのノードの重みの集合やラベルなど)及びデータ集合が格納される。
【0131】
また、各モデルからは対応する人工知能機能を有するアプリケーション、又はデータ集合からは、具体的なデータが参照できるように構成されている。
【0132】
図24には、ガイドラインから実行可能なチェックリストを自動生成する仕組みを示している。同図には、自然言語のテキストとして記載されているガイドラインを対象に、製品カテゴリーや使用目的を特定することで、各種チェックリスト(例えば、顔認識用など)が作成され、さらに、チェックリストが、モデル用チェックリストとデータ用チェックリストに分割される様子が示されている。
【0133】
図25には、ガイドラインから生成したチェックリスト(基準)を示している。同図には、モデルチェックリストを適用して、モデルをチェックし、モデルが基準に沿って適切な場合には、チェック済みモデルとして出力されるとともに、データチェックリストを用いて、各データを検証し、データが基準に沿って適切な場合には、チェック済みデータとして出力される様子が示されている。
【0134】
図26には、モデル及びデータのチェックリストテンプレートデータ構造の一例を示している。このチェックリストでは、項目とその制約条件が、チェックすべき項目毎に示されている。チェックリストは、「製品・使用地域指定」、「最低限の仕様定義」、及び「適用範囲」の各項目を含んでいる。
【0135】
項目「製品・使用地域限定」では、制約条件として「製品」及び「使用地域限定」が必須項目又はオプションのいずれであるかを示している。「製品・使用地域限定」が必須項目の場合には、さらに「製品」及び「使用地域」のサブ項目が指定されるように構成されている。サブ項目「製品」には製品カテゴリーが設定される。製品カテゴリーには、例えば「顔認識」、「金融ローン」、「人事」などが、GUIを介して任意に又は項目を選択することで入力される。また、サブ項目「使用地域」には、「国名」や「地域名」が、GUIを介して任意に又は項目を選択することで入力される。また、項目「製品・使用地域限定」がオプションの場合には、サブ項目のデータを省略することができる。
【0136】
項目「最低限の仕様定義」は、「公平性」、「説明可能性」、「性能」などが取り得る優先順位を示し、且つ、サブ項目として「公平性」、「説明可能性」、「性能」を含む。優先順位としては、(「公平性」>「性能」)且つ(「説明可能性」>「性能」)という制約条件を記載することで、この条件に沿って、動作検証がなされるようにすることができる。各サブ項目では、各々のデータ値が取り得る範囲を指定し、又は閾値のみを指定することも可能である。
【0137】
また、それぞれのサブ項目については、例えば「公平性」>0.5という制約条件を記載することで、公平性は、データ統計において、0.5を超える程度保たれる必要があることを示すことができる。
【0138】
項目「適用範囲」の制約条件は、「モデル」、「データ」、「共通」である。すなわち、このチェックリストテンプレートが「モデル」だけに適用されるのか、「データ」だけに適用されるのか、又は、両方「共通」に使われるのか、という制約条件が記載される。「適用範囲」が「データ」と設定された場合には、このチェックリストテンプレートが入出力される「データ」に適用されることを示す。
【0139】
第5の実施例によれば、共通のガイドラインのテンプレートから必要に応じて応用毎に異なる基準を生成するようにできる、という具体的効果がある。
【実施例0140】
続いて、クラウド上におけるガイドライン適合性検証に関する実施例ついて説明する。
【0141】
ガイドラインの適合性検証をすべて単一の装置で実施する必要はない。例えば、ガイドラインのうち、一部が国際規格のようにして定義されていた場合には、共通のインフラストラクチャで統一的に、ガイドラインの適合性がチェックされる場合もある。このような場合には、共通するガイドライン適合性を、クラウド上のインフラストラクチャにおいて実施するようにできる。一方、このような場合であっても、各製品の構造やデータに依存するデータについては、できる限り外部に出さないようにする方法が望まれる。
【0142】
図27には、このような場合に対応して、共通のAPIを提供し、標準規格で規定された項目に変換して、データを交換することで、ガイドラインの適合性検証を達成するシステムを図示している。
【0143】
図27に示すシステム構成例では、クラウド上のサーバと、複数の人工知能機能検証製造用ソフトウェアを搭載したクライアントアプリケーションとが、有線又は無線のネットワークを介して(図示せず)、APIを介して接続されている状況でガイドラインの適合性検証を達成する。APIは、クライアント側からサーバに対するアクセス、又はサーバからクライアントへのアクセスの両方向が示される。
【0144】
また、図28には、図27に示したシステムにおいて、クラウド上のサーバとクライアントアプリケーション間で使用されるAPIの例を示している。
【0145】
クライアントからサーバに対する依頼用API:
(1)Request:所定の識別子(ID、例えばURIなど)で指定される集合又は単体としてのモデル又はデータをサーバに送信し、これらのデータが、「標準規格に合致しているかどうかチェックを依頼するためのAPIである。引数として、「モデル」又は「データ」、「集合」又は「単体」、及び「識別子(ID)」が指定される。
(2)Response:チェック結果をサーバから依頼元のクライアントに通知するためのAPIである。引数として、回答を示す「Authenticated」又は「Not-authenticated」、及び対象となるモデル又はデータの識別子(ID)が返される。
【0146】
なお、ここでは、「標準規格に合致」としているが、「所定の基準に合致」するかどうかのチェック用のAPIを設けることもできる。この場合には、Requestの引数の1つで、所定の「基準」を指定するようにすればよい。
【0147】
サーバからクライアントに対する依頼用API:
(1)Diag:サーバから、クライアントに対して一定期間において一定のサンプリングレートで、クライアントの人工知能機能(モデル)に対する「入力データ」又は「出力データ」について、サーバが標準規格に合致しているかどうかチェックできるように送信することを依頼するAPIである。引数として、「入力」又は「出力」、「サンプリングレート」、及び「(監視)期間」が指定される。
(2)Model_output:Diagリクエストに応じて、「出力」が指定された場合に、所定のデータをサーバに送るためのAPIである。引数としてデータと識別子(ID)を指定する。
(3)Model_input:Diagリクエストに応じて、「入力」が指定された場合に、所定のデータをサーバに送るためのAPIである。引数としてデータと識別子(ID)を指定する。
(4)Status:サーバが、データのチェック後に、アプリケーションに対して、IDで指定されるデータが、「Authenticated」又は「Not-authenticated」のいずれと判断されたかどうかを送信するAPIである。
【0148】
なお、ここでは、「標準規格に合致」としているが、「所定の基準に合致」するかどうかのチェック用のAPIを設けることもできる。この場合には、Model_output又はModel_inputの引数の1つで、所定の「基準」を指定するようにすればよい。
【0149】
第6の実施例によれば、異なる組織で異なるガイドラインを整備している場合に、準拠すべきガイドラインをクラウドで共有することにより、組織毎のガイドラインが例えば国際規格に準拠することが確認できるため、人工知能機能の適切な検証が可能になる、という具体的な効果がある。
【0150】
最後に、上述した各実施例で紹介した人工知能機能検証製造技術によってもたらされる効果についてまとめておく。
【0151】
当該人工知能機能検証製造技術によれば、人工知能機能の「アカウンタビリティ」、「公平性」、及び「透明性」という3つの基本機能を検証し、これらの基本機能を担保した人工知能機能を備えた装置を製造することができる。
【0152】
第一に、当該人工知能機能検証製造技術によれば、対象とする人工知能機能を備えた装置の検証を行うための基準を複数与えて、ユーザによっていずれかの基準を選択可能としている。そして、対象とする人工知能機能を備えた装置を入力データに基づいて訓練した場合、あるいは訓練済みモデルを用いて対象とする人工知能機能を備えた装置に所定の入力を行った場合に、その出力が所定の基準に照らして適切であるかどうかを検証する基準を、関数として操作することができる。したがって、当該人工知能機能検証製造技術は、アカウンタビリティを担保している。
【0153】
第二に、当該人工知能機能検証製造技術によれば、対象とする人工知能機能を備えた装置が所定の仕様に基づいて適切な出力を生成することができるように、訓練用の入力データの公平性(例えば、偏りがないこと(unbiased)、偽物(fake)でないこと)の検証を行い、必要に応じて不適切なデータの修正やフィルタリングなどを行うことができる。したがって、当該人工知能機能検証製造技術は、公平性を担保している。
【0154】
第三に、当該人工知能機能検証製造技術によれば、対象とする人工知能機能を備えた装置の出力が所定の仕様に照らして適切でないと思われる場合に、入出力の関係を特定し、又は、その出力を生成せしめた訓練済みモデル及び訓練時の入力との関係を特定することができる。したがって、当該人工知能機能検証製造技術は、透明性を担保している。
【0155】
要するに、当該人工知能機能検証製造技術によれば、対象とする人工知能機能を備えた装置の開発時又は使用時において、所定の仕様に照らして、適切な入力に基づき、適切な処理を行い、又は、対象とする人工知能機能を備えた装置が適切な出力を生成するためにその人工知能機能を検証し、検証処理を通じて人工知能機能を訓練することができる。当該人工知能機能検証製造技術によれば、アカウンタビリティ、公平性、及び透明性の観点で、高信頼性で利用価値の高い人工知能機能を備えた装置を製造することができる。
【産業上の利用可能性】
【0156】
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0157】
本明細書で開示する技術は、カメラにおける画像認識、テレビにおける画像合成、ヘッドホンなどにおける音声認識、文書処理システムにおける自然言語理解や文書合成、エージェントやロボットにおける行動に認識や行動生成を始め、さまざまな分野に適用される人工知能機能を備えた装置の検証や装置で用いられるコンピュータプログラムの製造に適用することができる。
【0158】
要するに、例示という形態により本明細書で開示する技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0159】
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
【0160】
(1)人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得部と、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証部と、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力部と、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示部と、
を具備する人工知能装置。
【0161】
(2)入力データが前記基準を満たさない場合の処理を実施する処理部をさらに備える、
上記(1)に記載の人工知能装置。
【0162】
(2-1)前記処理部は、前記基準を満たさないデータの前記記憶装置からの削除、又は前記基準を満たさないデータの前記記憶装置とは別の記憶装置への保存のうち少なくとも一方を実施する、
上記(2)に記載の人工知能装置。
【0163】
(3)前記基準を選択する選択部をさらに含む、
上記(1)又は(2)のいずれかに記載の人工知能装置。
【0164】
(4)前記基準は、規則、政策、ガイドライン、仕様のうち少なくとも1つを含む、
上記(3)に記載の人工知能装置。
【0165】
(5)前記基準は、前記人工知能機能の動作する目的上の制限、対象とするユーザ、地域などの制限、前記人工知能機能が適用される分野のうち少なくとも1つを含む、
上記(3)に記載の人工知能装置。
【0166】
(6)前記人工知能機能からの出力データを取得する出力データ取得部と、
前記取得した出力データを所定の出力用基準に基づいて検証する出力データ検証部と、
をさらに備える、上記(1)乃至(5)のいずれかに記載の人工知能装置。
【0167】
(7)前記出力データ検証部は、公平性を検証する前記出力用基準に基づいて出力データを検証する、
上記(6)に記載の人工知能装置。
【0168】
(8)前記出力用基準を選択する選択部をさらに含む、
上記(6)又は(7)のいずれかに記載の人工知能装置。
【0169】
(9)出力データが前記出力用基準を満たさない場合の前記人工知能機能の動作を制御する制御部をさらに備える、
上記(6)乃至(8)のいずれかに記載の人工知能装置。
【0170】
(9-1)前記制御部は、出力データが前記出力用基準を満たさない場合に前記人工知能機能の一部又は全部の機能を停止させる、
上記(9)に記載の人工知能装置。
【0171】
(9-2)前記制御部は、出力データが前記出力用基準を満たす場合に、前記人工知能機能へのデータ入力を継続させる、
上記(9)に記載の人工知能装置。
【0172】
(10)前記提示部は、前記出力用基準を満たさない出力データ及び出力データが違反した出力用基準をさらに提示する、
上記(6)乃至(9)のいずれかに記載の人工知能装置。
【0173】
(11)出力データが前記出力用基準を満たさないときに、前記出力データ検証部は、出力データが正常な範囲であるか、及び前記人工知能機能の動作が正当かどうかをさらに検証する、
上記(6)乃至(10)のいずれかに記載の人工知能装置。
【0174】
(11-1)出力データが正常でない又は前記人工知能機能の動作が正当でない場合に、前記提示部は、前記出力用基準を満たさない出力データ及び出力データが違反した出力用基準をさらに提示する、
上記(11)に記載の人工知能装置。
【0175】
(12)出力データが前記出力用基準を満たさないときに、前記人工知能機能の動作の理由に関する説明を提供する提供部をさらに備える、
上記(6)乃至(10)のいずれかに記載の人工知能装置。
【0176】
(13)前記人工知能機能の出力データを出力データ記憶装置に記憶する、
上記(1)乃至(12)のいずれかに記載の人工知能装置。
【0177】
(14)前記出力データ記憶装置は、前記人工知能機能の出力データをブロックチェーン技術に基づいて記憶する、
上記(13)に記載の人工知能装置。
【0178】
(15)前記人工知能機能に対する入力データ又は前記人工知能機能からの出力データの検証を、前記人工知能装置とは異なる装置に命令するアプリケーションプログラミングインタフェースを備える、
上記(1)乃至(14)のいずれかに記載の人工知能装置。
【0179】
(16)前記装置はクラウド上で動作する、
上記(15)に記載の人工知能装置。
【0180】
(17)前記人工知能機能は、入力データの訓練又は入力データに基づくデータを生成する、
上記(1)乃至(16)のいずれかに記載の人工知能装置。
【0181】
(18)前記訓練はディープラーニングによって実施される、
上記(17)に記載の人工知能装置。
【0182】
(19)前記人工知能機能は、ニューラルネットワークを含む、
上記(1)乃至(18)のいずれかに記載の人工知能装置。
【0183】
(20)人工知能機能に対する入力データを所定の記憶装置から取得する入力データ取得ステップと、
前記取得した入力データを所定の基準に基づいて検証する入力データ検証ステップと、
前記基準を満たす入力データを前記人工知能機能に入力するデータ入力ステップと、
前記基準を満たさない入力データ及び入力データが違反した基準を提示する提示ステップと、
を有し、
前記人工知能機能を訓練することにより訓練済み人工知能機能を含むコンピュータプログラムを製造するプログラム製造方法。
【符号の説明】
【0184】
100…人工知能システム、101…CPU、102…仮想記憶装置
103…バス、104…カメラ、105…マイクロホン
106…ディスプレイ、107…スピーカ、108…センサー群
109…アクチュエータ群、110…通信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28