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

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

▶ 富士通株式会社の特許一覧

特許7581992分析プログラム,分析方法,計算機および機械学習プログラム
<>
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図1
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図2
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図3
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図4
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図5
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図6
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図7
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図8
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図9
  • 特許-分析プログラム,分析方法,計算機および機械学習プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】分析プログラム,分析方法,計算機および機械学習プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241106BHJP
   G06N 3/045 20230101ALI20241106BHJP
【FI】
G06T7/00 350C
G06N3/045
【請求項の数】 5
(21)【出願番号】P 2021042573
(22)【出願日】2021-03-16
(65)【公開番号】P2022142419
(43)【公開日】2022-09-30
【審査請求日】2023-11-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】笠置 明彦
【審査官】長谷川 素直
(56)【参考文献】
【文献】特開2018-173707(JP,A)
【文献】特開2019-016298(JP,A)
【文献】特開2006-268825(JP,A)
【文献】国際公開第2019/147904(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/00
(57)【特許請求の範囲】
【請求項1】
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータに実行させる分析プログラム。
【請求項2】
前記AIシステムが、第1の深層学習モデルと第2の深層学習モデルとを組み合わせて構成され、
前記第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群と、前記第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群とに基づき、前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する前記閾値評価を前記空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
処理を前記コンピュータに実行させる請求項1に記載の分析プログラム。
【請求項3】
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータが実行することを特徴とする分析方法。
【請求項4】
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理部を有することを特徴とする計算機。
【請求項5】
第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群を記憶装置に記憶させ、
第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群を前記記憶装置に記憶させ、
前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する閾値評価を精度評価情報を多次元に射影した空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータに実行させる機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分析プログラム,分析方法,計算機および機械学習プログラムに関する。
【背景技術】
【0002】
深層学習モデルの訓練は、一般的に訓練用データとラベル情報とを備える学習用データセット用いて行なわれる。
【0003】
また、訓練後の深層学習モデルの認識精度は、一般的にテストデータとラベル情報とを備えるテスト用データセットを用いて求められる。具体的には、テストデータに対して深層学習モデルが行なった推論をラベル情報と比較し、その正解率から認識精度が求められる。
【0004】
また、深層学習モデルはAI(Artificial Intelligence)を用いた処理モジュールであるため、複数の深層学習モデルを組み合わせたシステム(以下、AIシステムという)を構築することが可能である。
【0005】
例えば、近年においては、複数の処理モジュール(深層学習モデル)を組み合わせて、映像から人の様々な行動をする行動推定システムが実現されている。この行動推定システムは、例えば、人認識,姿勢認識,トラッキングおよび行動推定の処理モジュールを組み合わせることで構成される。そして、これらの処理モジュールのうち、人認識と姿勢認識とが深層学習モデルにより実現される。
【0006】
人認識においては、物体認識モデルを用いて動画中の1フレームから人を特定する。また、姿勢認識においては、人認識で特定した人の姿勢を姿勢認識モデルを用いて特定する。その後、特定された人の姿勢をトラッキングにおいて時系列的に表し、行動推定において行動内容を推定する。
このようなAIシステムによる推定結果に対して、ユーザは、許容できる(OK)か否か(NG)の評価を行なう。
【0007】
また、このようなAIシステムで用いられる複数の深層学習モデルは、それぞれ個別に訓練される。つまり、AIシステム全体として複数の処理モジュール(深層学習モデル)をまとめて訓練することは行なわれない。
【先行技術文献】
【特許文献】
【0008】
【文献】米国特許出願公開第2017/0230394号明細書
【文献】米国特許出願公開第2017/0372023号明細書
【文献】特表2013―520714号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
深層学習では精度を上げるために多大な計算量が必要とされる。また、深層学習における精度と計算に必要な計算資源とには大きな関係がある。例えば、既知のニューラルネットワークのモデルであるResidual Network(ResNet)では、エラー率を1%下げるために2倍もの層を必要としている。さらにエラー率を0.4%下げるために層を1.5倍にすることもある。
【0010】
複数の深層学習モデルを組み合わせたAIシステムにおいて、各深層学習モデルの訓練に必要な最低限の精度(あるいはエラー率)を正確に見積もることができれば、計算量を大幅に削減することができる。そして、計算量を削減することで、例えば、必要な計算資源を低コストなものに取り換える等によりシステムのコストを削減することができる。
【0011】
しかしながら、深層学習モデルを訓練している段階では、個々の深層学習モデルの精度による、最終的なAIシステムの精度への影響を想定することは困難である。例えば、上述した複数の深層学習モデルを組み合わせたAIシステムにおいて、その推定結果に対してユーザがOKと判定するために深層学習モデルに求められる最低限度の精度がわからず、閾値に対する精度の緩和等を検討することもできない。その結果、AIシステムに組み合わされる各深層学習モデルの精度を必要以上に高くすることで過剰品質となり、コストを上昇させるおそれがある。
1つの側面では、本発明は、AIシステムに組み合わされる深層学習モデルの必要精度を定量的に分析できるようにすることを目的とする。
【課題を解決するための手段】
【0012】
このため、この分析プログラムは、複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する処理をコンピュータに実行させる。
【発明の効果】
【0013】
一実施形態によれば、AIシステムに組み合わされる深層学習モデルの必要精度を定量的に分析することができる。
【図面の簡単な説明】
【0014】
図1】実施形態の一例としての情報処理装置の機能構成を例示する図である。
図2】実施形態の一例としての情報処理装置が生成するAIシステムを例示する図である。
図3】実施形態の一例としての情報処理装置において取得されるスナップショットを説明するための図である。
図4】実施形態の一例としての情報処理装置におけるAIシステム生成部の処理を説明するための図である。
図5】AIシステム精度を表す多次元空間を例示する図である。
図6】AIシステム精度を表す多次元空間を例示する図である。
図7】実施形態の一例としての情報処理装置におけるAIシステムの構築手法の概要を説明するためのフローチャートである。
図8】実施形態の一例としての情報処理装置におけるAIシステムの構築手法の概要を説明するためのフローチャートである。
図9】実施形態の一例としての情報処理装置により生成したAIシステムによる効果を例示する図である。
図10】実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本分析プログラム,分析方法,計算機および機械学習プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0016】
(A)構成
図1は実施形態の一例としての情報処理装置1の機能構成を例示する図である。
情報処理装置1は、複数の深層学習モデルを備えたAIシステムを生成し、その精度を分析する機能を備える。
図2は実施形態の一例としての情報処理装置1が生成するAIシステムを例示する図である。
【0017】
この図2に例示するAIシステムは、入力された映像から人の行動をする行動推定システムであり、人認識,姿勢認識,トラッキングおよび行動推定の4つの処理モジュールを組み合わせて構成される。また、これらの4つの処理モジュールのうち、人認識と姿勢認識との各処理モジュールが深層学習モデルにより実現される。
【0018】
人認識においては、物体認識モデル(第1の深層学習モデル)を用いて動画中の1フレームから人を特定する。また、姿勢認識においては、姿勢認識モデル(第2の深層学習モデル)を用いて人認識で特定した人の姿勢を特定する。特定した姿勢をトラッキングにおいて時系列的に表し、行動推定において行動内容を推定する。
【0019】
このようなAIシステムによる推定結果に対して、ユーザは、例えば、許容できる(OK)か否か(NG)の二択(2値)の評価を入力する。ユーザによる評価の入力は、例えば、図10において後述するキーボード15aやマウス15bを用いて行なわれる。
情報処理装置1は、図1に示すように、深層学習モデル生成部101,AIシステム生成部105およびAIシステム精度分析部106を備える。
【0020】
深層学習モデル生成部101は、複数種類の深層学習モデルを生成する。深層学習モデル生成部101によって生成される深層学習モデルは、AIシステムに組み込まれて用いられる。
【0021】
本実施形態においては、深層学習モデル生成部101が、物体認識モデル(第1の深層学習モデル)と姿勢認識モデル(第2の深層学習モデル)との2種類の深層学習モデルを生成する例について示す。
深層学習モデル生成部101は、訓練実行部102,推論実行部103およびスナップショット保存処理部104としての機能を備える。
【0022】
訓練実行部102は、訓練データを用いて深層学習モデルの訓練を行なう。訓練データはラベル情報付きデータであってよい。訓練実行部102は、AIシステムに用いられる複数種類(本実施形態では2種類)の深層学習モデルを生成し、訓練データを用いてこれらの深層学習モデルの訓練を行なう。
【0023】
深層学習モデルの生成には、例えば、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク),RNN(Recurrent Neural Networks:再帰型ニューラルネットワーク),LSTM(Long Short Term Memory)法等の種々の手法を用いてもよい。
【0024】
深層学習モデルの訓練は、例えば、後述する推論実行部103により求められる深層学習モデルの精度(validation accuracy)が所定の閾値以上となるまで行なわれる。また、訓練データを用いた機械学習の繰り返し回数(エポック数)が予め規定された閾値以上となるまで行なってもよい。
訓練実行部102は、複数種類の深層学習モデルの訓練に、同じテストデータを用いることが望ましい。
【0025】
推論実行部103は、訓練実行部102が生成し、訓練した深層学習モデルを用いて推論を行なう。推論実行部103は、推論の対象のテストデータを深層学習モデルへ入力し、深層学習モデルが出力する推論結果を得る。
【0026】
また、推論実行部103は、推論結果とテストデータのラベル情報とを比較することで、推論結果の精度(validation accuracy)を算出する。以下、深層学習モデルの推定結果の精度を、単に、深層学習モデルの精度という場合がある。
【0027】
スナップショット保存処理部104は、深層学習モデル生成部101が生成した深層学習モデルのスナップショットを、図示しないモデルDB(Data Base)に記憶する。モデルDBを構成する情報は、記憶装置13(図10参照)等の所定の記憶領域に記憶される。
【0028】
スナップショットは、深層学習モデルを表す情報であり、例えば、深層学習モデルを構成する中間層に関する情報や、訓練によって得られた重み,活性,勾配等の情報を含んでもよい。スナップショットは、当該スナップショットが作成された時点での深層学習モデルを表し、スナップショットの作成時点での深層学習モデルを再現することができる。
【0029】
スナップショット保存処理部104は、例えば、推論実行部103により算出された深層学習モデルの精度が所定の閾値(規定精度閾値)を越える毎に、当該深層学習モデルのスナップショットを保存する。
【0030】
本実施形態においては、例えば、深層学習モデルの精度に対して、5%刻みの規定精度閾値が設定されているものとする。これにより、深層学習モデルの精度が5%刻みで異なる複数の深層学習モデルを得ることができる。
図3は実施形態の一例としての情報処理装置1において取得されるスナップショットを説明するための図である。
【0031】
この図3は、物体認識モデルの訓練課程におけるエポック数とモデルの精度(Accuracy,validation accuracy)との関係をグラフとして示す。
【0032】
この図3に示す例においては、訓練のエポック数の増加に従って、深層学習モデルの精度が向上している。また、図3中において、斜線を付した複数の丸がそれぞれスナップショットが保存されるタイミングを示している。すなわち、深層学習モデルの精度が5%上昇する毎に、物体認識モデルのスナップショットがそれぞれ保存されている。換言すれば、深層学習モデルの精度が規定精度閾値以上となる毎に、物体認識モデルのスナップショットがそれぞれ保存される。スナップショット保存処理部104は、深層学習モデルの精度において離散的にスナップショットの保存を行なうといえる。
スナップショット保存処理部104は、複数の深層学習モデルのそれぞれについてスナップショットの取得を行なう。
【0033】
スナップショット保存処理部104は、物体認識モデル(第1の深層学習モデル)の訓練過程において、この物体認識モデルの精度が単位閾値以上となる毎にスナップショット(第1スナップショット)を保存することで、複数の第1スナップショットで構成される第1スナップショット群を作成する。
【0034】
また、スナップショット保存処理部104は、姿勢認識モデル(第2の深層学習モデル)の訓練過程において、この姿勢認識モデルの精度が単位閾値以上となる毎にスナップショット(第2スナップショット)を保存することで、複数の第2スナップショットで構成される第2スナップショット群を作成する。
【0035】
例えば、図2に示すAIシステムに関して、スナップショット保存処理部104は、物体認識モデルと同様に、姿勢認識モデルについても、その訓練過程において、推論実行部103により算出された深層学習モデルの精度が規定精度閾値(例えば、5%)を越える毎にスナップショットを保存する。
【0036】
スナップショットは訓練途中の深層学習モデルのスナップショットは、当該スナップショットが取得されたタイミングにおける精度を表す情報とともに、モデルDBに記憶される。
【0037】
AIシステム生成部105は、深層学習モデル生成部101によって生成された複数の深層学習モデルを組み合わせてAIシステムを生成する。AIシステム生成部105は、例えば図2に例示したように、深層学習モデルを含む複数の処理モジュールを組み合わせることでAIシステムを生成する。
【0038】
AIシステム生成部105は、スナップショット保存処理部104が保存した、各深層学習モデルの複数のスナップショットを用いて、スナップショット取得時の各時点での深層学習モデルをそれぞれ再現する。
図4は実施形態の一例としての情報処理装置1におけるAIシステム生成部105の処理を説明するための図である。
この図4においては、図2に例示したAIシステムを生成する手法を例示する。
【0039】
AIシステム生成部105は、物体認識モデルの訓練課程において取得した複数(n個)のスナップショット(第1スナップショット群)を用いて、人認識を実現する複数(n個)の深層学習モデル(スナップショットモデル)を再現する。nは自然数である。
【0040】
また、AIシステム生成部105は、姿勢認識モデルの訓練課程において取得した複数(m個)のスナップショット(第2スナップショット群)を用いて、姿勢認識を実現する複数(m個)の深層学習モデル(スナップショットモデル)を再現する。mは自然数である。
【0041】
そして、AIシステム生成部105は、これらの人認識を実現する複数(n個)の深層学習モデルの中から抽出した1つの深層学習モデルと、姿勢認識を実現する複数(m個)の深層学習モデルの中から抽出した1つの深層学習モデルを組み合わせることで、複数(n×m)種類のAIシステムを生成する。
以下、訓練過程における深層学習モデルを組み合わせることで構成されるAIシステムをサブAIシステムという場合がある。
【0042】
AIシステム生成部105は、第1スナップショット群と第2スナップショット群とに基づき、第1スナップショット群から抽出した第1スナップショットと第2スナップショット群から抽出した第2スナップショットとを組み合わせたサブAIシステムを複数作成する。
【0043】
換言すれば、AIシステム生成部105は、スナップショット保存処理部104が保存した、物体認識モデルの複数のスナップショットの中から選択した1つの物体認識モデルと、姿勢認識モデルの複数のスナップショットの中から選択した1つの姿勢認識モデルとを組み合わせ、この組み合わせを含むサブAIシステムを構築する。
【0044】
AIシステム生成部105は、このようなサブAIシステムの構築を、スナップショット保存処理部104が保存した、物体認識モデルの複数のスナップショットと、姿勢認識モデルの複数のスナップショットとの全ての組み合わせに対して行なう。
AIシステム精度分析部106は、AIシステム生成部105が生成したサブAIシステムの精度を分析する。
AIシステム精度分析部106は、図1に示すように、精度検証部107および精度閾値設定部108としての機能を備える。
精度検証部107は、AIシステム生成部105が生成した複数種類のAIシステム(サブAIシステム)の精度をそれぞれ検証する。
【0045】
具体的には、精度検証部107は、AIシステム生成部105が生成したサブAIシステムにそれぞれ入力データ(例えば、画像データ)を入力し、当該サブAIシステムが出力する推論結果を得る。
【0046】
精度検証部107は、サブAIシステムの推論結果をユーザに提示し、この推論結果に対するユーザによる評価入力を受け付ける。精度検証部107は、例えば、推論結果をモニタ14a(図10参照)に表示させることでユーザに提示する。ユーザは、キーボード15aやマウス15b等の入力装置(図10参照)を用いて、推論結果に対する評価を入力する。
【0047】
推論結果に対する評価は、例えば、サブAIシステムによる推論結果がユーザにとって許容できるものであるか否かを表す2値の判定結果(閾値評価)である。この判定結果を精度評価情報といってもよい。
【0048】
ユーザは、推論結果が許容できるものである場合には“OK”を入力し、許容できないものである場合には“NG”を入力する。このような推論結果に対するユーザによる評価は、サブAIシステムの良し悪しを表す大まかな指標であるといえる。そして、推論結果に対するユーザによる評価は、AIシステムとしての精度軸に対して許容される閾値として機能する。
【0049】
精度検証部107は、サブAIシステムの推定結果に対して入力されたユーザによる評価(OKもしくはNG)を、当該サブAIシステムの構成に用いられた複数の深層学習モデルに関する情報(例えば、物体認識モデルのスナップショットの情報および姿勢認識モデルのスナップショットの情報)に対応付けてメモリ12や記憶装置13等の所定の記憶領域に記憶させる。スナップショットの情報は、当該スナップショットが取得されたタイミングにおける深層学習モデルの精度であってもよい。
精度閾値設定部108は、AIシステムの精度(AIシステム精度)を検証するための精度閾値を設定する。
【0050】
深層学習モデルの精度はテストデータに対する正解率で決まるものであり、深層学習モデルは任意に選択可能である。従って、深層学習モデルの精度は、深層学習のモデルではなくテストデータに依存するといえる。
【0051】
そして、このような深層学習モデルを複数備えるAIシステムの精度は、テストデータ(1つの深層学習モデルに対し1つ以上)を軸とした多次元空間で表現することができる。
図5はAIシステム精度を表す多次元空間を例示する図である。
【0052】
この図5に例示する多次元空間は、物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸とAIシステム精度軸とで構成される。この多次元空間は、精度評価情報(物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸)を多次元に射影した空間である。
【0053】
図5にレジする多次元空間において、AIシステム(サブAIシステム)の推論に対する評価(図5の符号P02参照)は、物体認識テストデータへの精度と姿勢認識テストデータへの精度とを組み合わせた点を通り、AIシステム精度軸と並行な直線(図5の符号P01参照)上に示される。この図5に示す多次元空間は、各深層学習のモデルのテストデータのそれぞれを次元軸とする多次元空間であるといえる。
【0054】
また、この多次元空間においては、AIシステムの推論結果に対するユーザによる評価の基準となる閾値面(図5の符号P03参照)を仮想的に表すことができる。すなわち、推論結果がこの閾値面よりも上である場合にはAIシステムによる推論結果がユーザにとって許容できるものであり(OK)、推論結果がこの閾値面以下である場合にはAIシステムによる推論結果がユーザにとって許容できないものである(NG)。
【0055】
従って、物体認識テストデータの精度と、姿勢認識テストデータの精度とからAIシステムに対するおおまかな情報(ユーザによる評価の良し悪し)を推定することができる。
図6はAIシステム精度を表す多次元空間を例示する図である。
【0056】
図6に示す多次元空間には、図5に例示した多次元空間において、各サブAIシステムの推定結果に対して、精度検証部107によって取得されたユーザによる評価(OKもしくはNG)が、当該サブAIシステムの構成に用いられた物体認識モデルのスナップショットの情報および姿勢認識モデルのスナップショットの情報に対応させて、サブAIシステムの精度としてプロットされる。
【0057】
ここで、AIシステムの精度は、物体認識テストデータへの精度が高くなるほど高く、且つ、姿勢認識テストデータへの精度が高くなるほど高くなる。そのため、サブAIシステムの精度を図6に示すような多次元空間内にプロットすると、物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸とによって形成される面を底面とし、AIシステム精度軸に沿って立設する直角三角錐が仮想的に形成される。この直角三角錐は、AIシステム精度軸と並行な辺(垂線)が、AIシステム精度軸から最も遠い辺となる。
【0058】
そして、AIシステム精度分析部106により取得された各AIシステムについての評価を、それぞれ多次元空間にプロットすることで、AIシステムの推定結果に対するユーザによる評価(OK)を表す複数の点が閾値面上に配置される。これらのAIシステムの推定結果に対するユーザによる評価(OK)を表す複数の点は、上記直角三角錐と閾値面とが重なる面上に配置される。AIシステムの精度を表す仮想的な直角三角錐と閾値面とが重なる面(図6のP04参照)は、AIシステムの推論結果に対するユーザによる評価の閾値の境界面を表す。
以下、図6に示す例においては、AIシステムの精度を表す直角三角錐と閾値面とが重合することで形成される三角形を閾値境界という場合がある。
【0059】
図6に例示する多次元空間において、閾値境界に対応する物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸とを参照することで、ユーザがOKと評価するサブAIシステムの精度を得るために必要な、当該サブAIシステムの構成に用いられる物体認識テストデータへの精度および姿勢認識テストデータへの精度を把握することができる。
【0060】
すなわち、閾値境界は、ユーザの要求を満たすサブAIシステムの精度を得るために必要な、当該サブAIシステムの構成に用いられる複数の深層学習モデルの性能指標と物体認識テストデータへの精度および姿勢認識テストデータへの精度指標(精度基準情報)となる。
【0061】
精度閾値設定部108は、多次元空間における閾値境界に対応する物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸とをユーザに精度閾値を設定するための参照情報として提示する。この参照情報は、例えば、図10に示すモニタ14aに表示させることで行なってもよい。
【0062】
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるAIシステムの構築手法の概要を図7および図8に示すフローチャートに従って説明する。なお、図7はAIシステムの構築手法の概要を示すフローチャート(ステップA1~A4)であり、図8はそのステップA2の処理の詳細を示すフローチャート(ステップB1~B15)である。
【0063】
図7のステップA1において、ユーザがAIシステムの構成を検討する。例えば、ユーザは、AIシステムの構成に用いる深層学習モデルの検討や深層学習モデルの訓練のエポック数の決定等を行なう。
図7のステップA2において、AIシステムの構築と精度分析とが行なわれる。このステップA2の処理の詳細を、図8に示すフローチャートを用いて説明する。
【0064】
図8のステップB1においては、AIシステムに用いられる複数(s個)の深層学習モデルに対して、図8のステップB9までの制御を繰り返し実施するループ処理を開始する。
【0065】
図8のステップB2では、深層学習モデルに対する訓練において行なわれるループ数tに至るまで、図8のステップB7までの制御を繰り返し実施するループ処理を開始する。
図8のステップB3では、訓練実行部102が、訓練データを用いて深層学習モデルの訓練を行なう。
図8のステップB4では、推論実行部103は、推論の対象のテストデータを深層学習モデルへ入力し、深層学習モデルが出力する推論結果を得る。
【0066】
図8のステップB5では、スナップショット保存処理部104が、推論実行部103により取得された推論結果の精度が所定の閾値(規定精度閾値)以上であるかを判断する。
【0067】
この判断の結果、推論結果の精度が規定精度閾値以上である場合には(ステップB5のYESルート参照)、ステップB6において、スナップショット保存処理部104は、深層学習モデルのスナップショットを保存する。スナップショット(深層学習モデル)は、モデルDBに保存される。その後、図8のステップB7に移行する。
【0068】
一方、ステップB5における確認の結果、推論結果の精度が規定精度閾値未満である場合には(ステップB5のNOルート参照)、ステップB6をスキップしてステップB7に移行する。
【0069】
ステップB7においては、ステップB2に対応するループ端処理が実施される。ここで、深層学習モデルに対して、予め規定されたループ数tの訓練が完了すると、制御が図8のステップB8に進む。
ステップB8において、深層学習モデル生成部101は、作成した訓練済みの深層学習モデルをモデルDBに保存させる。
【0070】
図8のステップB9においては、ステップB1に対応するループ端処理が実施される。ここで、s個の全ての深層学習モデルの作成および訓練が完了すると、制御が図8のステップB10に進む。
【0071】
ステップB10においては、s個の深層学習モデルのそれぞれについて保存したスナップショットの全組み合わせて対して、図8のステップB15までの制御を繰り返し実行するループ処理が開始される。
本実施形態においては、物体認識モデルと姿勢認識モデルとの2つの深層学習モデル(s=2)について処理が行なわれる。すなわち、スナップショット保存処理部104が保存した、物体認識モデルの複数のスナップショットと、姿勢認識モデルの複数のスナップショットとの全ての組み合わせに対して、図8のステップB15までの制御を繰り返し実行するループ処理が開始される。
【0072】
図8のステップB11において、AIシステム生成部105が、物体認識モデルの複数のスナップショットと姿勢認識モデルの複数のスナップショットとの全ての組み合わせのうち、1つの組み合わせを抽出する。そして、AIシステム生成部105は、この組み合わせに相当するスナップショットモデルをモデルDBからそれぞれ取得する。
【0073】
図8のステップB12において、AIシステム生成部105は、取得したスナップショットモデル(物体認識モデル,姿勢認識モデル)の組み合わせを用いて、サブAIシステムを構築する。
【0074】
図8のステップB13において、AIシステム精度分析部106(精度検証部107)が、AIシステム生成部105が生成したサブAIシステムの精度を検証する。すなわち、AIシステム精度分析部106は、サブAIシステムについて、それぞれ入力データ(テストデータ)を入力し、サブAIシステムが出力する推論結果を得る。そして、精度検証部107は、AIシステムの推論結果をユーザに提示し、この推論結果に対するユーザによる評価入力を受け付ける。
【0075】
図8のステップB14において、精度閾値設定部108はサブAIシステムの精度に対して設定される閾値の判定を行なう。精度閾値設定部108は、多次元空間において、精度検証部107によって取得された各サブAIシステムの推定結果に対するユーザによる評価(OKもしくはNG)をサブAIシステムの精度として、当該サブAIシステムの構成に用いられた物体認識モデルのスナップショットの情報および姿勢認識モデルのスナップショットの情報に対応させてプロットする。
【0076】
精度閾値設定部108は、多次元空間における閾値境界に対応する物体認識テストデータへの精度軸と姿勢認識テストデータへの精度軸とをユーザに精度閾値を設定するための参照情報(精度基準情報)として提示する。
【0077】
図8のステップB15においては、ステップB10に対応するループ端処理が実施される。ここで、全スナップショットの組み合わせについての処理が完了すると、処理が図7のステップA3に移行する。
【0078】
ステップA3においては、ステップA2において行なわれたAIシステムの精度分析の結果に基づいて、最適化の検討が行なわれる。例えば、AIシステムに用いる深層学習モデルを他の深層学習モデルに変更することや、演算に用いるデバイス(プロセッサやメモリ)を変更すること、数値表現の精度を変更すること等が検討される。このような最適化の検討は、ユーザが行なってもよく、情報処理装置1が予め規定されたルールに従って実現してもよい。
その後、図7のステップA4において、AIシステム以外の観点での最適化が行なわれ、処理を終了する。
【0079】
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、スナップショット保存処理部104が、AIシステムにおいて用いる複数種類の深層学習モデルのそれぞれについて、各訓練課程において深層学習モデルの精度が規定精度閾値を越える毎にスナップショットを保存する。これにより、各深層学習モデルについて、訓練データに対する訓練課程における精度が段階的に変化する複数深層学習モデル(精度パターン)を取得することができる。
【0080】
また、AIシステム生成部105が、深層学習モデル生成部101によって生成された複数種類の深層学習モデルを用いてサブAIシステムを生成する。そして、AIシステム生成部105が、このようなサブAIシステムの構築を、各深層学習モデル(例えば、物体認識モデルおよび姿勢認識モデル)間における、それぞれの複数のスナップショットの全ての組み合わせに対して行なう。
【0081】
そして、サブAIシステムによる推定結果の検証(ユーザによる評価入力)を、これらの複数種類の深層学習モデルの組み合わせを備える全てのサブAIシステムに対して行なうことで、複数の深層学習モデルに対して、精度パターンの全通りの検証を行なうことができる。
【0082】
また、精度閾値設定部108が、これらの全通りのAIシステムの精度の検証結果を用いて、各深層学習のモデルのテストデータを次元にもった多次元空間に対し、ユーザによる評価結果をプロットすることで閾値境界を生成する。この閾値境界を参照し、ユーザがAIシステムに要求する精度を各深層学習モデルのテストデータセットに対する精度に射影することで、ユーザが求めるAIシステムを実現できる各深層学習モデルの目標精度を明確化することができる。これにより、AIシステムに対する過剰品質を軽減し、計算やデバイス等のコストを削減することができる。
【0083】
閾値境界を参照することで、各深層学習モデルの精度が最終的なAIシステムの精度への影響を把握することができ、各深層学習モデルの訓練を効率的に行なうことができる。
【0084】
ユーザは、サブAIシステムの評価として、例えば、OK/NGや真/偽等の2値程度のフィードバックを返せばよく、定量的な精度情報を入力する必要がない。AIシステムのテストデータにラベル情報が無くても複数の各深層学習モデルの精度をそれぞれ定量的に測ることができる
すなわち、AIシステムのテストデータにラベル情報を用意する必要がなく、ラベル情報を用意するための多大なコストを削減することができる。
図9は実施形態の一例としての情報処理装置1により生成したAIシステムによる効果を例示する図である。
【0085】
図9に示す例においては、画像中における物体認識を行なうAIシステムを構築する例を示す。図9中において、符号Aは物体認識が行なわれるテストデータの画像を示し、符号Bは機械学習モデルと認識率(car_detection)と処理時間との関係を例示する。
【0086】
符号Aに例示するような画像に対して物体認識を行なうに際して、例えば、車に対する必要な認識精度に応じて物体認識にかかる処理時間も変わる。一般的には、小さい車になるほど発見できずに精度が下がるため、「認識可能な被写体のサイズ」等を判別閾値として与えてもよい。
【0087】
符号Bに示す例においては、物体認識に用いられる深層学習モデル(機械学習モデル)として、Yolov3_normal,Yolov3_light_imageおよびTiny_yoloが示されている。
【0088】
同じテストデータに対する車の認識率に関して、Yolov3_normalは、通常の入力画像設定による計算を行ない、Yolov3_light_imageは、入力画像を小さく縮小して計算する。また、Tiny_yoloは、Yolov3とは異なる別の機械学習モデルであって非常に計算負荷が軽い。
【0089】
符号Bに示すように、テストデータに対してYolov3_normalを用いて車認識を行なった結果、処理時間が23.675msであり、認識率(認識精度)は88.52%であった。
【0090】
また、同じテストデータに対して、Yolov3_light_imageを用いて車認識を行なった結果は、処理時間が18.412msであり認識率(認識精度)は86.96%であった。すなわち、Yolov3_normalに対して、認識率を1.56%下げることを許容することで、処理時間性能が1.28倍向上することがわかる。
【0091】
また、同じテストデータに対してTiny_yoloを用いて車認識を行なった結果は、処理時間が2.220msであり、認識率(認識精度)は84.06%であった。すなわち、Yolov3_normalに対して、認識率を3.92%下げることを許容することで、処理時間性能が10.66倍向上することがわかる。
このように、深層学習モデル(機械学習モデル)に求める精度閾値を的確に設定することで、処理時間性能の高い向上を得ることができる。
【0092】
また、図9に示した例においては、物体認識に用いられる深層学習モデル(機械学習モデル)を変更する例を示したが、これに限定されるものではない。例えば、深層学習モデルを実行するプロセッサ等のハードウェア構成を変更してもよく、適宜変更して実施することができる。
【0093】
(D)その他
図10は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
【0094】
情報処理装置1は、コンピュータであって、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
【0095】
プロセッサ(制御部)11は、情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
【0096】
そして、プロセッサ11が情報処理装置1用の制御プログラム(分析プログラム,機械学習プログラム,:図示省略)を実行することにより、図1に例示した、深層学習モデル生成部101,AIシステム生成部105およびAIシステム精度分析部106としての機能が実現される。
【0097】
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(機械学習プログラム,OSプログラム)を実行することにより、深層学習モデル生成部101,AIシステム生成部105およびAIシステム精度分析部106としての機能を実現する。また、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(分析プログラム,OSプログラム)を実行することにより、AIシステム生成部105およびAIシステム精度分析部106としての機能を実現する。
【0098】
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
【0099】
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0100】
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
【0101】
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、訓練データやテストデータ,スナップショット等、深層学習モデル生成部101,AIシステム生成部105およびAIシステム精度分析部106が生成した各種データを記憶してもよい。また、記憶装置13はモデルDBを構成するデータを記憶してもよい。
記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには分析プログラムや機械学習プログラムが含まれる。
【0102】
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
【0103】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
【0104】
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
【0105】
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
【0106】
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
【0107】
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
【0108】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0109】
例えば、上述した実施形態においては、AIシステムが物体認識モデルと姿勢認識モデルとの2種類の深層学習モデルを組み合わせた行動推定システムである例を示したが、これに限定されるものではない。AIシステムは、行動推定システムに限定されるものではなく、また、物体認識モデルおよび姿勢認識モデル以外の深層学習モデルを備えてもよい。
【0110】
また、AIシステムは1つもしくは3つ以上の深層学習モデルを備えてもよい。上述した実施形態においては、精度閾値設定部108が、AIシステム備える2つの深層学習モデルに対応させて、3次元(3軸)の多次元空間を用いて閾値境界を生成する例を示している。従って、例えば、AIシステムが1つの深層学習モデルを備える場合には、2次元(2軸)の多次元空間を用いて閾値境界を設定してもよい。また、AIシステムが3つ以上の深層学習モデルを備える場合には、4次元(4軸)以上の多次元空間を用いて閾値境界を設定してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0111】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータに実行させる分析プログラム。
【0112】
(付記2)
前記AIシステムが、第1の深層学習モデルと第2の深層学習モデルとを組み合わせて構成され、
前記第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群と、前記第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群とに基づき、前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する前記閾値評価を前記空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
処理を前記コンピュータに実行させる付記1に記載の分析プログラム。
【0113】
(付記3)
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータが実行することを特徴とする分析方法。
【0114】
(付記4)
前記AIシステムが、第1の深層学習モデルと第2の深層学習モデルとを組み合わせて構成され、
前記第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群と、前記第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群とに基づき、前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する前記閾値評価を前記空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
処理を前記コンピュータが実行することを特徴とする付記3に記載の分析方法。
【0115】
(付記5)
複数の深層学習モデルを組み合わせたAI(Artificial Intelligence)システムに対して、離散的な閾値評価を用いて、精度評価情報を多次元に射影した空間において、前記複数の深層学習モデルに対する精度基準情報を作成する
処理部を有することを特徴とする計算機。
【0116】
(付記6)
前記AIシステムが、第1の深層学習モデルと第2の深層学習モデルとを組み合わせて構成され、
前記処理部が、
前記第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群と、前記第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群とに基づき、前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する前記閾値評価を前記空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
ことを特徴とする、付記5に記載の計算機。
【0117】
(付記7)
第1の深層学習モデルの訓練過程において、前記第1の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第1スナップショットで構成される第1スナップショット群を記憶装置に記憶させ、
第2の深層学習モデルの訓練過程において、前記第2の深層学習モデルの精度が単位閾値以上となる毎に保存された複数の第2スナップショットで構成される第2スナップショット群を前記記憶装置に記憶させ、
前記第1スナップショット群から抽出した第1スナップショットに対応する第1の深層学習モデルと前記第2スナップショット群から抽出した第2スナップショットに対応する第2の深層学習モデルとを組み合わせたサブAIシステムを複数作成し、
複数の前記サブAIシステムに対する閾値評価を精度評価情報を多次元に射影した空間に射影することで、前記第1の深層学習モデルおよび前記第2の深層学習モデルに対する精度基準情報を作成する
処理をコンピュータに実行させる機械学習プログラム。
【符号の説明】
【0118】
1 情報処理装置
11 プロセッサ(処理部)
12 RAM
13 HDD
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
101 深層学習モデル生成部
102 訓練実行部
103 推論実行部
104 スナップショット保存処理部
105 AIシステム生成部
106 AIシステム精度分析部
107 精度検証部
108 精度閾値設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10