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

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

▶ 株式会社ソシオネクストの特許一覧

<>
  • 特許-推論モデルの生成方法 図1
  • 特許-推論モデルの生成方法 図2
  • 特許-推論モデルの生成方法 図3
  • 特許-推論モデルの生成方法 図4
  • 特許-推論モデルの生成方法 図5A
  • 特許-推論モデルの生成方法 図5B
  • 特許-推論モデルの生成方法 図6
  • 特許-推論モデルの生成方法 図7
  • 特許-推論モデルの生成方法 図8
  • 特許-推論モデルの生成方法 図9
  • 特許-推論モデルの生成方法 図10A
  • 特許-推論モデルの生成方法 図10B
  • 特許-推論モデルの生成方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】推論モデルの生成方法
(51)【国際特許分類】
   G06N 3/045 20230101AFI20240611BHJP
   G06N 3/096 20230101ALI20240611BHJP
【FI】
G06N3/045
G06N3/096
【請求項の数】 19
(21)【出願番号】P 2021516065
(86)(22)【出願日】2020-04-16
(86)【国際出願番号】 JP2020016796
(87)【国際公開番号】W WO2020218172
(87)【国際公開日】2020-10-29
【審査請求日】2023-03-15
(31)【優先権主張番号】P 2019081597
(32)【優先日】2019-04-23
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 令和1年7月26日にインターネットアドレスhttp://cvim.ipsj.or.jp/MIRU2019/index.php?id=eaにおいて発表 令和1年7月30日に第22回 画像の認識・理解シンポジウム(MIRU2019)において発表
(73)【特許権者】
【識別番号】514315159
【氏名又は名称】株式会社ソシオネクスト
(74)【代理人】
【識別番号】100189430
【弁理士】
【氏名又は名称】吉川 修一
(74)【代理人】
【識別番号】100190805
【弁理士】
【氏名又は名称】傍島 正朗
(72)【発明者】
【氏名】笹川 幸宏
【審査官】新井 則和
(56)【参考文献】
【文献】特許第6355800(JP,B1)
【文献】福島 龍輝 外,オートエンコーダによる言語表現から画像表現変換手法の提案,2019年電子情報通信学会総合大会講演論文集 情報・システム1,2019年03月05日,51頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
学習済であるマルチレイヤ構造の第1の推論モデルの出力データおよび学習済であるマルチレイヤ構造の第2の推論モデルの入力データが同じ種別のデータで構成される場合において、前記第1の推論モデルおよび前記第2の推論モデルを用いて新たな推論モデルを生成する方法であって、
前記第1の推論モデルの入力レイヤから所定の中間レイヤまでの部分を有する第1の部分推論モデルを準備するステップと、
前記第2の推論モデルの所定の中間レイヤから出力レイヤまでの部分を有する第2の部分推論モデルを準備するステップと、
前記第1の部分推論モデルと前記第2の部分推論モデルとの間に、前記第1の推論モデルの所定の中間レイヤと前記第2の推論モデルの所定の中間レイヤとを繋ぐグルーレイヤを配置することにより、前記新たな推論モデルを生成するステップと
を含む推論モデルの生成方法。
【請求項2】
前記第1の推論モデルを推論する対象物の集まりであるドメイン、および、前記第2の推論モデルを推論する対象物の集まりであるドメインは、互いに異なる
請求項1に記載の推論モデルの生成方法。
【請求項3】
前記同じ種別のデータは、画像データである
請求項1または2に記載の推論モデルの生成方法。
【請求項4】
前記新たな推論モデルを生成するステップの前記グルーレイヤは、未学習である
請求項1~3のいずれか1項に記載の推論モデルの生成方法。
【請求項5】
さらに、前記第1の部分推論モデルを準備するステップの前に、前記第1の推論モデルの所定の中間レイヤを決定するステップを含み、
当該所定の中間レイヤを決定するステップは、前記第1の推論モデルの複数の中間レイヤのうち前記第1の推論モデルへの入力データの主成分を表現している中間レイヤを当該所定の中間レイヤとして決定する
請求項1~4のいずれか1項に記載の推論モデルの生成方法。
【請求項6】
さらに、前記第2の部分推論モデルを準備するステップの前に、前記第2の推論モデルの所定の中間レイヤを決定するステップを含み、
当該所定の中間レイヤを決定するステップは、前記第2の推論モデルの入力レイヤから中間レイヤまでをオートエンコーダで折り返して再構築した場合の入力と出力との誤差が閾値以下となる中間レイヤの1つを当該所定の中間レイヤとして決定する
請求項1~4のいずれか1項に記載の推論モデルの生成方法。
【請求項7】
前記誤差が閾値以下となる中間レイヤのうち、前記第2の推論モデルの入力レイヤからレイヤ構造として最も離れた中間レイヤを当該所定の中間レイヤとして決定する
請求項6に記載の推論モデルの生成方法。
【請求項8】
前記グルーレイヤは、前記第1の部分推論モデルの出力データを前記第2の部分推論モデルの入力データに変換し、コンボルーション(convolution)を行うレイヤ、プーリング(Pooling)を行うレイヤ、および、全結合(fully connected)を行うレイヤ、のいずれか1つ、または、複数を組合せて構成される
請求項1~7のいずれか1項に記載の推論モデルの生成方法。
【請求項9】
さらに、前記新たな推論モデルを学習させる学習ステップを含む
請求項1~8のいずれか1項に記載の推論モデルの生成方法。
【請求項10】
前記学習ステップは、前記グルーレイヤの入出力に合わせた学習データセットを用いて、前記グルーレイヤを学習させる
請求項9に記載の推論モデルの生成方法。
【請求項11】
前記第1の推論モデルの前記所定の中間レイヤより後段の部分の逆関数機能モデルに対して、前記第1の推論モデルの複数の出力データを入力データとして入力し、得られた複数の推論データを前記学習データセットにおける入力データセットとする
請求項10に記載の推論モデルの生成方法。
【請求項12】
前記逆関数機能モデルは、
前記第1の推論モデルの前記所定の中間レイヤより後段の全レイヤを、出力レイヤを入力レイヤとして逆に並べて数学的に構築した推論モデルであるか、または、
前記第1の推論モデルの前記所定の中間レイヤより後段の全レイヤを用いてオートエンコーダを構築し、前記オートエンコーダに対して前記第1の推論モデルの出力データを用いて学習させて得られる推論モデルである
請求項11に記載の推論モデルの生成方法。
【請求項13】
前記逆関数機能モデルは、蒸留モデルであって、
前記蒸留モデルは、前記蒸留モデルに前記第1の推論モデルの学習データセットにおけるラベルデータを入力したときの出力データである第1データが、前記第1の推論モデルの前記所定の中間レイヤまでの部分である第1の部分推論モデルに、前記ラベルデータと対になる前記第1の推論モデルの学習データセットにおける入力データを入力したときの出力データである第2データに対して、誤差が小さくなるように学習させて得られる推論モデルである
請求項11に記載の推論モデルの生成方法。
【請求項14】
前記蒸留モデルは、さらに、
前記第1の推論モデルの前記所定の中間レイヤより後段のモデルに、前記第2データを入力したときの出力データである第3データが、前記ラベルデータに対して誤差が小さくなるように学習させて得られる推論モデルである
請求項13に記載の推論モデルの生成方法。
【請求項15】
前記第2の推論モデルに対して、前記第2の推論モデルの複数の入力データを入力し、得られた複数の推論データを前記学習データセットにおける出力データセットとする
請求項11~14のいずれか1項に記載の推論モデルの生成方法。
【請求項16】
前記学習ステップは、前記グルーレイヤと前記第2の部分推論モデルとを結合させた結合モデルの入出力に合わせた学習データセットを用いて、前記結合モデルを学習させる
請求項9に記載の推論モデルの生成方法。
【請求項17】
前記第1の推論モデルの前記所定の中間レイヤより後段の部分の逆関数機能モデルに対して、前記第1の推論モデルの複数の出力データを入力データとして入力し、得られた複数の推論データを前記学習データセットにおける入力データセットとする
請求項16に記載の推論モデルの生成方法。
【請求項18】
前記逆関数機能モデルは、
前記第1の推論モデルの前記所定の中間レイヤより後段の全レイヤを、出力レイヤを入力レイヤとして逆に並べて数学的に構築した推論モデルであるか、または、
前記第1の推論モデルの前記所定の中間レイヤより後段の全レイヤを用いてオートエンコーダを構築し、前記オートエンコーダに対して前記第1の推論モデルの出力データを用いて学習させて得られる推論モデルである
請求項17に記載の推論モデルの生成方法。
【請求項19】
前記第2の推論モデルに対して、前記第2の推論モデルの複数の入力データを入力し、得られた複数の推論データを前記学習データセットにおける出力データセットとする
請求項17または18に記載の推論モデルの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習済である複数の推論モデルを用いて新たな推論モデルを生成する推論モデルの生成方法に関する。
【背景技術】
【0002】
入力されたデータに対する識別または分類を行う場合に、ニューラルネットワーク(以下、ネットワークと呼ぶ)で構成される推論モデルが用いられる。推論モデルを生成する方法の一例として、特許文献1には、予め第1のネットワークを第1のデータと第1のラベルとで学習させることで、第1のネットワークにて第2のネットワークの第2のラベルを生成し、その後、第2のネットワークを第2のラベルを用いて学習させることで、第2のネットワークを有する推論モデルを生成する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2018-525734号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら特許文献1に記載された方法では、推論モデルを生成する際の負荷が大きくなる場合がある。
【0005】
本開示は、推論モデルを生成する際の負荷を軽減することができる推論モデルの生成方法等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一形態に係る推論モデルの生成方法は、学習済であるマルチレイヤ構造の第1の推論モデルの出力データおよび学習済であるマルチレイヤ構造の第2の推論モデルの入力データが同じ種別のデータで構成される場合において、前記第1の推論モデルおよび前記第2の推論モデルを用いて新たな推論モデルを生成する方法であって、前記第1の推論モデルの入力レイヤから所定の中間レイヤまでの部分を有する第1の部分推論モデルを準備するステップと、前記第2の推論モデルの所定の中間レイヤから出力レイヤまでの部分を有する第2の部分推論モデルを準備するステップと、前記第1の部分推論モデルと前記第2の部分推論モデルとの間に、前記第1の推論モデルの所定の中間レイヤと前記第2の推論モデルの所定の中間レイヤとを繋ぐグルーレイヤを配置することにより、前記新たな推論モデルを生成するステップとを含む。
【発明の効果】
【0008】
本開示の推論モデルの生成方法等によれば、推論モデルを生成する際の負荷を軽減することができる。
【図面の簡単な説明】
【0009】
図1図1は、比較例1の推論モデルを示す図である。
図2図2は、比較例2の推論モデルを示す図である。
図3図3は、実施の形態に係る推論モデルの使用例を示す図である。
図4図4は、実施の形態に係る推論モデルを示す図である。
図5A図5Aは、実施の形態に係る推論モデルのグルーレイヤの一例を示す図である。
図5B図5Bは、実施の形態に係る推論モデルのグルーレイヤの他の一例を示す図である。
図6図6は、実施の形態に係る推論モデル生成装置の機能をソフトウェアにより実現するハードウェア構成の一例を示す図である。
図7図7は、実施の形態に係る推論モデルの生成方法を示すフローチャートである。
図8図8は、第1の推論モデルから第1の部分推論モデルを抜き出すための区切りとなる所定の中間レイヤを決定するステップを示す図である。
図9図9は、第2の推論モデルから第2の部分推論モデルを抜き出すための区切りとなる所定の中間レイヤを決定するステップを示す図である。
図10A図10Aは、推論モデルを学習させるステップの一例を示す図である。
図10B図10Bは、推論モデルを学習させるステップの他の一例を示す図である。
図11図11は、推論モデルを学習させるステップの他の一例を示す図である。
【発明を実施するための形態】
【0010】
(本開示の一態様に至る経緯)
入力されたデータに対する識別または分類を行う場合に、複数のネットワークで構成される推論モデルが用いられることがある。複数のネットワークで構成される推論モデルについて、比較例1および比較例2を参照しながら説明する。
【0011】
図1は、比較例1の推論モデルを示す図である。
【0012】
比較例1の推論モデルは、例えば、画像データに基づいて画像に含まれる対象物の名称および位置を得るモデルであり、1つのドメインで学習させたネットワークを別のネットワークに適用することで生成される。具体的には、比較例1の推論モデルは、まず、ネットワーク1aに対して対象物の画像(例えば複数の車の画像)が含まれる画像データを入力し、出力が対象物の名称「車」となるように教示することでネットワーク1aの学習を行う。その後、ネットワーク1aの後段に、画像中の対象物の位置(x、y)を検出するための別のネットワークを結合する。そして、結合してできたネットワーク1bに対して画像データを入力し、出力が対象物の名称および位置となるように教示することで、推論モデルを生成する。
【0013】
しかしながら、比較例1の推論モデルでは、RGBデータのように推論モデルを学習させるための学習データセットが多く公開されている場合は問題ないが、RAWデータのように学習データセットがほとんど公開されていない場合は、推論モデルを容易に生成することができないという問題がある。
【0014】
図2は、比較例2の推論モデルを示す図である。
【0015】
比較例2の推論モデルは、例えば、画像データに基づいて対象物の位置認識を行うモデルであり、2つの学習済のネットワークを単純に結合することで生成される。具体的には、比較例2の推論モデルは、RAWデータをRGBデータに変換するネットワーク2a、および、RGBデータに基づいて対象物の位置認識を行うネットワーク2bを互いに結合することで生成される。
【0016】
しかしながら比較例2の推論モデルでは、2つのネットワーク2a、2bのデータの受け渡しがRGBデータで行われるため、図2のII部に示すように、RGBデータを生成するレイヤ、および、RGBデータから位置認識を行うためのデータを生成するレイヤが必要となる。そのため、推論モデルとして冗長性を有し、推論モデルを用いて実際に推論を行う際に多くの演算処理が必要になるという問題がある。
【0017】
本開示の推論モデルの生成方法は、このような問題を解決するためになされたものであり、新しい推論モデルを学習させるための学習データセットが存在しない場合であっても、推論モデルを生成する際の負荷を軽減することができる。また、本開示の推論モデルの生成方法によれば、冗長性の少ない推論モデルを生成することができる。
【0018】
以下、本開示の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。以下の実施の形態で示される数値、形状、材料、規格、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
【0019】
なお、本明細書中におけるRAWデータとは、イメージセンサが捉えた光の情報がそのまま記録された生の画像データである。RGBデータとは、RAWデータが圧縮変換されることで生成されたデータであって、赤色、緑色および青色が組み合わせられた画像データである。RGBデータのデータ形式としては、例えば、JPEG(Joint Photographic Experts Group)、TIFF(Tagged-Image File Format)、GIF(Compuserve Graphics Interchange Format)、PNG(Portable Network Graphics)などが挙げられる。ドメインとは、推論モデルにて推論する対象物の集まりである。学習データセットは、ドメインのサブセットであり、推論モデルを学習させるための入力データと入力データに対応するラベルとで構成される。
【0020】
(実施の形態)
実施の形態に係る推論モデルおよび推論モデルの生成方法について説明する。
【0021】
[1.推論モデルの構成]
まず、本実施の形態に係る推論モデルの構成について、図3図5Bを参照しながら説明する。
【0022】
図3は、実施の形態に係る推論モデルMの使用例を示す図である。
【0023】
推論モデルMは、入力されたデータに対して何らかの識別または分類を行う場合に使用される。例えば対象物が車である場合に、対象物を含むRAWデータが推論モデルMに入力されると、対象物の名称「車」および画像中の対象物の位置(x,y)が推論モデルMから出力される。本実施の形態の推論モデルMは、例えば画像データに基づいて、画像に含まれる対象物の情報を出力する。推論モデルMによって出力される情報は、対象物の名称、位置に限られず、例えば対象物の品番、色または価格であってもよいし、入力された画像データに対象物が含まれるか否かの判定結果であってもよい。
【0024】
図4は、実施の形態に係る推論モデルMを示す図である。なお、図4には、推論モデルMの元となる第1の推論モデルM1および第2の推論モデルM2も示されている。
【0025】
各推論モデルは、ニューラルネットワークによって構成されている。また、各推論モデルは、マルチレイヤ構造を有し、入力レイヤ、中間レイヤおよび出力レイヤなどによって構成されている。各レイヤは、ニューロンに相当する複数のノード(図示省略)を有している。
【0026】
図4に示すように、推論モデルMは、第1の推論モデルM1の一部である第1の部分推論モデルM1pと、第2の推論モデルM2の一部である第2の部分推論モデルM2pと、第1の部分推論モデルM1pおよび第2の部分推論モデルM2pの間に配置されるグルーレイヤ(Glue Layer)GLとによって構成される。すなわち、推論モデルMは、第1の推論モデルM1および第2の推論モデルM2を用いて生成される新たな推論モデルMである。
【0027】
第1の推論モデルM1は、順方向に並ぶ入力レイヤiL1、複数の中間レイヤ、および、出力レイヤoL1を有している。また、第1の推論モデルM1は、エンコーダ-デコーダ(Encoder-Decoder)構造からなる対称構造を有している。第1の推論モデルM1は、入力データX1と、入力データX1に対応するラベルである出力データY1と含む学習データセットを用いて学習済みである。
【0028】
第1の部分推論モデルM1pは、第1の推論モデルM1の入力レイヤiL1から所定の中間レイヤmL1までの部分を有している。所定の中間レイヤmL1は、第1の推論モデルM1の複数の中間レイヤのうち最もサイズが小さな中間レイヤである。レイヤのサイズが小さいとは、レイヤ内のノードの数が少ないことを意味する。このように、第1の部分推論モデルM1pは、第1の推論モデルM1の入力レイヤiL1から所定の中間レイヤmL1までの部分を抜き出して生成される。
【0029】
第2の推論モデルM2は、順方向に並ぶ入力レイヤiL2、複数の中間レイヤ、および、出力レイヤoL2を有している。また、第2の推論モデルM2は、エンコーダ-デコーダ構造とは異なる非対称構造を有している。第2の推論モデルM2は、入力データY2と、入力データY2に対応するラベルである出力データZ2とを含む学習データセットを用いて学習済である。
【0030】
なお、第2の推論モデルM2を学習させるための学習データセットは、第1の推論モデルM1を学習させるための学習データセットと異なる。すなわち、第1の推論モデルM1を推論する対象物の集まりであるドメイン、および、第2の推論モデルM2を推論する対象物の集まりであるドメインは、互いに異なる。
【0031】
一方、第1の推論モデルM1の出力データY1および第2の推論モデルM2の入力データY2は、同じ種別のデータで構成される。同じ種別のデータとは、画像データを例に挙げた場合に、データ形式が同じである画像データはもちろん、JPEG、TIFF、GIF、PNGなどのように異なるデータ形式であるが同じソフトウェアで読み出し可能な画像データも含む。それに対し、RGBデータとRAWデータとは異なる種別の画像データである。
【0032】
図4に示すように、第2の部分推論モデルM2pは、第2の推論モデルM2の所定の中間レイヤmL2から出力レイヤoL2までの部分を有している。所定の中間レイヤmL2は、図9にて後述するが、入力レイヤiL2から中間レイヤまでをオートエンコーダ(Auto Encoder)で折り返して再構築した場合の入力と出力との誤差が閾値以下となる中間レイヤのうち、第2の推論モデルM2の入力レイヤiL2からレイヤ構造として1番離れた中間レイヤである。このように、第2の部分推論モデルM2pは、第2の推論モデルM2の所定の中間レイヤmL2から出力レイヤoL2までの部分を抜き出して生成される。なお、オートエンコーダは、周知のアルゴリズムであり、機械学習においてニューラルネットワークを使用した次元圧縮のためのアルゴリズムである。
【0033】
グルーレイヤGLは、第1の部分推論モデルM1pが有する所定の中間レイヤmL1と第2の部分推論モデルM2pが有する所定の中間レイヤmL2とを繋ぐレイヤである。例えば、グルーレイヤGLは、第1の部分推論モデルM1pの出力データを第2の部分推論モデルM2pの入力データに変換するコンボルーション(convolution)を行うレイヤ、または、全結合(fully connected)のレイヤである。
【0034】
より具体的には、グルーレイヤGLは、第1の推論モデルM1の中間表現A1を第2の推論モデルM2の中間表現B2に写像する機能を有している。ここで中間表現とは、各推論モデルの内部表現であり、隣り合う2つレイヤ間にて表れるレイヤの出力を意味する。本実施の形態では、第1の推論モデルM1の中間表現A1は、エンコーダ-デコーダ構造の境界、すなわち、所定の中間レイヤmL1と、所定の中間レイヤmL1の順方向隣りに位置する中間レイヤとの間に表れる。第2の推論モデルM2の中間表現B2は、所定の中間レイヤmL2と、所定の中間レイヤmL2の順方向反対隣りに位置する中間レイヤとの間に表れる。
【0035】
図5Aは、推論モデルMのグルーレイヤGLの一例を示す図である。
【0036】
グルーレイヤGLは、中間表現A1および中間表現B2のそれぞれのテンソル(tensor)形状に基づいて入力側および出力側の形態が決定される。グルーレイヤGLは、コンボルーションを行うレイヤ、および、プーリング(Pooling)を行うレイヤを有している。図5Aには、コンボルーションおよびプーリングがn段繰り返される例が示されている(nは1以上の整数)。プーリングは、中間表現A1および中間表現B2のテンソルサイズ(例えばwidth、height、channel)が異なる場合に、その差を吸収させるためのレイヤである。
【0037】
図5Bは、推論モデルMのグルーレイヤの他の一例を示す図である。図5Bに示すように、グルーレイヤGLは、コンボルーションまたは全結合のみによって構成されていてもよい。
【0038】
グルーレイヤGLは、第1の部分推論モデルM1pと第2の部分推論モデルM2pとの間に配置された直後は未学習であるが、後述する学習ステップによって学習される。ただしグルーレイヤGLは、第1の部分推論モデルM1pと第2の部分推論モデルM2pとの間に配置された直後において、必ずしも未学習である必要はなく、学習済みであってもよい。
【0039】
このように本実施の形態の推論モデルMは、学習済である第1の推論モデルM1の一部、および、学習済である第2の推論モデルM2の一部を用いて構成されているので、推論モデルMを生成する際の負荷を軽減することができる。また、本実施の形態の推論モデルMは、学習済みである推論モデルの全部でなく一部を用いて構成されるので、冗長性の少ない推論モデルを実現することができる。
【0040】
[2.推論モデル生成装置のハードウェア構成]
次に、本実施の形態に係る推論モデルMを生成する推論モデル生成装置のハードウェア構成について、図6を参照しながら説明する。
【0041】
図6は、推論モデル生成装置10の機能をソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。
【0042】
図6に示すように推論モデル生成装置10は、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。
【0043】
入力装置1001はタッチパッドまたはタッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。例えば、入力装置1001は、推論モデルMを実行する際の入力データX1を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。
【0044】
出力装置1002は、入力装置1001と兼用されており、タッチパッドまたはタッチパネルディスプレイなどによって構成され、ユーザに知らすべき情報を通知する。例えば、出力装置1002は、推論モデルMを実行した際の対象物の名称および位置等をユーザに通知する。
【0045】
内蔵ストレージ1004は、フラッシュメモリなどである。内蔵ストレージ1004には、推論モデル生成装置10の機能を実現するためのプログラム、及び、推論モデル生成装置10の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。内蔵ストレージ1004には、学習前または学習済の推論モデルMが記憶されていてもよい。内蔵ストレージ1004には、前述したオートエンコーダが記憶されていてもよい。
【0046】
RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
【0047】
読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。例えば、読取装置1007は、記録媒体から第1の推論モデルM1、第2の推論モデルM2およびグルーレイヤGLなどを読み取る。また、読取装置1007は、記録媒体から学習データセットなどを読み取ってもよい。
【0048】
送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。送受信装置1008は、学習の際に用いられる学習データセットをSNS(Social Networking Service)などから受信してもよい。
【0049】
CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムやアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。例えば、CPU1003は、読取装置1007から取得した第1の推論モデルM1、第2の推論モデルM2およびグルーレイヤGLに基づいて推論モデルMを生成する。また、CPU1003は、読取装置1007または送受信装置1008で取得した学習データセットに基づいて推論モデルMの学習を行う。
【0050】
[3.推論モデルの生成方法]
次に、本実施の形態に係る推論モデルMの生成方法について図7図11を参照しながら説明する。
【0051】
図7は、実施の形態に係る推論モデルMの生成方法を示すフローチャートである。
【0052】
まず、推論モデル生成装置10が、学習済である第1の推論モデルM1および学習済である第2の推論モデルM2を準備する(ステップS10)。第1の推論モデルM1および第2の推論モデルM2は、異なるドメインによって学習済である。推論モデル生成装置10は、第1の推論モデルM1および第2の推論モデルM2を、読取装置1007によって取得してもよいし、推論モデル生成装置10自身にて学習することで取得してもよい。
【0053】
次に、推論モデル生成装置10は、第1の推論モデルM1から第1の部分推論モデルM1pを抜き出すための区切りとなる所定の中間レイヤmL1を決定する(ステップS11)。
【0054】
図8は、第1の推論モデルM1から第1の部分推論モデルM1pを抜き出すための区切りとなる所定の中間レイヤmL1を決定するステップを示す図である。
【0055】
このステップでは、第1の推論モデルM1の複数の中間レイヤのうち最もサイズが小さな中間レイヤ、すなわち、情報が最も圧縮されている中間レイヤを所定の中間レイヤmL1として決定する。第1の推論モデルM1が対称構造である場合、最もサイズが小さな中間レイヤが2つ存在することになるが、2つの中間レイヤのうちのどちらかを所定の中間レイヤmL1として決定すればよい。なお、第1の部分推論モデルM1pのレイヤ数を少なくするため、2つの中間レイヤのうち入力レイヤiL1側に位置する中間レイヤを所定の中間レイヤmL1として決定してもよい。また一般的にニューラルネットワーク構造においてノードの数が少ないレイヤは、そのネットワークの入力データの情報の中で高次な(入力データを代表して表現できる主成分)情報が保持されているとされているので、最もサイズが小さなレイヤの代わりに、他の理由で高次な情報が保持されているレイヤを中間レイヤとして選択しても本発明の本質は変わらない。
【0056】
次に、推論モデル生成装置10は、第1の部分推論モデルM1pを準備する(ステップS12)。具体的には、第1の推論モデルM1から、第1の推論モデルM1の入力レイヤiL1から所定の中間レイヤmL1までの部分を抜き出して、第1の部分推論モデルM1pを生成する。
【0057】
次に、推論モデル生成装置10は、第2の推論モデルM2から第2の部分推論モデルM2pを抜き出すための区切りとなる所定の中間レイヤmL2を決定する(ステップS13)。
【0058】
図9は、第2の推論モデルM2から第2の部分推論モデルM2pを抜き出すための区切りとなる所定の中間レイヤmL2を決定するステップを示す図である。
【0059】
このステップでは、まず、第2の推論モデルM2の複数の中間レイヤのうち、入力レイヤiL2から中間レイヤまでをオートエンコーダで折り返して再構築した場合の入力と出力との誤差が閾値以下となる中間レイヤを求める。オートエンコーダは、情報の圧縮および伸長を行うことで、どの程度まで情報を圧縮すると必要最低限の情報が再現できなくなるかを見極めるために使用される。図9には、入力レイヤiL2から各中間レイヤma、mb、mc、mdに対応する各折り返し点a、b、c、dで折り返された例が示されている。同図に示すように、入力と出力との誤差が閾値以下となっているのは、中間レイヤma、mb、mcであるので、中間レイヤma~mcが所定の中間レイヤmL2の候補として挙げられる。そして、候補に挙がった中間レイヤma~mcのうちから所定の中間レイヤmL2を決定するが、ここでは第2の部分推論モデルM2pのレイヤ数を少なくするため、入力レイヤiL2からレイヤ構造として最も離れた中間レイヤmcを所定の中間レイヤmL2として決定する。最も離れた中間レイヤmcは、中間レイヤma~mcのうち、最もサイズが小さな中間レイヤ、すなわち、情報が最も圧縮されている中間レイヤでもある。なお、上記入力と出力との誤差の閾値は、第2の推論モデルM2に応じて適宜設定される。ここでのステップでは、情報圧縮(主成分抽出)手法であるオートエンコーダを用いて第2の推論モデルM2における必要最低限の情報を保持する中間レイヤを見極めることで所定の中間レイヤmL2を決定する例を示したが、これはそのネットワークの入力データの情報の中で高次な(入力データを代表して表現できる主成分)情報を保持する中間レイヤを見極めることと等価である。他の手段で各々の中間レイヤの高次な情報を保持する能力を見極めることで所定の中間レイヤを決定しても本発明の本質は変わらない。
【0060】
次に、推論モデル生成装置10は、第2の部分推論モデルM2pを準備する(ステップS14)。具体的には、第2の推論モデルM2から、第2の推論モデルM2の所定の中間レイヤmL2から出力レイヤoL2までの部分を抜き出して、第2の部分推論モデルM2pを生成する。なお、ステップS13およびS14は、ステップS11およびS12の前に実行されてもよい。
【0061】
次に、推論モデル生成装置10は、第1の部分推論モデルM1pと第2の部分推論モデルM2pとの間にグルーレイヤGLを配置することで新たな推論モデルMを生成する(ステップS15)。この段階の推論モデルMは、未学習の状態である。
【0062】
次に、推論モデル生成装置10は、新たな推論モデルMを学習させる(ステップS16)。
【0063】
図10Aは、推論モデルMを学習させるステップの一例を示す図である。図10Aでは、グルーレイヤGLを学習させる例について説明する。
【0064】
推論モデルMの入力レイヤiL1にはRAWデータが入力されるが、推論モデルMの学習に用いられるRAWデータの学習データセットが公開されていない場合、推論モデルMにRAWデータを入力してグルーレイヤGLを学習させることは難しい。そこで、グルーレイヤGLを学習させるために、新規のエンコーダ部Epを生成する。
【0065】
このエンコーダ部Epは、第1の推論モデルM1のデコーダ部Dpの逆関数機能を有するように生成される。具体的には、第1の推論モデルM1からデコーダ部Dpを抜き出し、また、デコーダ部Dpに対向するようにエンコーダ部Epを配置する。そして、オートエンコーダを用いて、エンコーダ部EpにデータY1を入力しかつデコーダ部DpからデータY1が出力されるように、エンコーダ部Epを学習させる。学習させるためのデータY1としては、第1の推論モデルM1の学習に用いたRGBデータが用いられる。
【0066】
なお、このエンコーダ部Epは、蒸留の考えを使い、次のようにして生成されてもよい。
【0067】
図10Bは、推論モデルMを学習させるステップの他の一例を示す図である。図10Bでは、エンコーダ部Epを蒸留モデルとして学習させる例について説明する。
【0068】
図10Bに示すように、学習データセットとしてRAWデータX1、RGBデータY1の組、および、第1の推論モデルM1を用意する。そして、RGBデータY1を学習前のエンコーダ部Epに入力し、その出力である第1の中間データ(以下、第1データと呼ぶ)Y10を得る。一方で、RGBデータY1をラベルデータとするRAWデータX1を第1の推論モデルM1の第1の部分推論モデルM1pに入力して、デコーダ部Dpに入力される直前の第2の中間データ(以下、第2データと呼ぶ)Y20を得る。このとき、第1データY10と第2データY20との誤差が小さくなるようにエンコーダ部Epを学習する。また更に、第1データY10をデコーダ部Dpに入力したときのデコーダ部Dpの出力(第3データY30)とRGBデータY1との誤差が小さくなるように、エンコーダ部Epを学習する。ここで、図10BのRGBfakeは第3データY30と同義であるが、データセットであるRGBデータY1と同等の画像であり、しかし作られた「嘘」のRGBデータという意味でRGBfakeと記載している。
【0069】
なお、蒸留とは、既に学習したモデルの入力と出力とを、そのまま新しい、かつ、シンプルなモデル(蒸留モデル:Ep)に学習させることであり、今回はそのまま学習済みのモデルの入力、出力を用いるのではなく、学習済みモデルの中間データを使用する構成としている。ここで、理想的にはエンコーダ部Epの出力である第1データY10が第2データY20に等しく、かつ、デコーダ部Dpの出力である第3データY30がエンコーダ部Epの入力であるY1に等しくなった時に、エンコーダ部Epはデコーダ部Dpの逆関数の機能を有する状態になる。実用上は、両者の誤差が所定の範囲内となればデコーダ部Dpの逆関数相当の機能が実質的に得られたことになる。
【0070】
次に、学習させたエンコーダ部EpをグルーレイヤGLの入力側に配置し、グルーレイヤGLの入出力に合わせた学習データセットを用いて、グルーレイヤGLを学習させる。具体的には、エンコーダ部Epに第2の推論モデルM2の学習に用いたRGBデータであるデータY2を入力し、エンコーダ部Epから出力された中間表現A2をグルーレイヤGLに入力する。そして、グルーレイヤGLの出力が、第2の部分推論モデルM2pの入力に相当する中間表現B2となるように教示することで、グルーレイヤGLを学習させる。学習が終了した後、エンコーダ部Epを第1の部分推論モデルM1pに置き換えることで、学習済である推論モデルMが生成される。
【0071】
なお、推論モデルMを学習させるステップは、上記に限られず、以下に示す方法であってもよい。図11は、推論モデルMを学習させるステップの他の一例を示す図である。
【0072】
図11には、グルーレイヤGLと第2の部分推論モデルM2pとを結合させた結合モデルMcを学習させる例が示されている。具体的には、図10Aと同様に学習させたエンコーダ部EpをグルーレイヤGLの入力側に配置し、上記結合モデルMcの入出力に合わせた学習データセットを用いて、結合モデルMcを学習させている。より具体的には、エンコーダ部EpにRGBデータであるデータY2を入力し、エンコーダ部Epから出力された中間表現A2をグルーレイヤGLに入力する。そして、第2の部分推論モデルM2pの出力が、出力データZ2となるように教示することで、結合モデルMcを学習させる。学習が終了した後、エンコーダ部Epを第1の部分推論モデルM1pに置き換えることで、学習済である推論モデルMが生成される。
【0073】
なお、図10Aおよび図11のエンコーダ部Epは、オートエンコーダを用いて学習により構築する代わりに、数学的に逆関数を構築してもよい。例えばコンボリューションとデコンボリューションは、各々のカーネル行列が特定の条件で転置行列の関係になる場合があるので、その条件を満たしている場合は転置行列を使用しても良い。また別の例として、関数が行列によって表現できる場合に、逆行列、あるいは疑似逆行列を求めることで逆関数を表現しても良い。このように本実施の形態の推論モデルMの生成方法では、学習済である第1の推論モデルM1の一部を準備するステップ、および、学習済である第2の推論モデルM2の一部を準備するステップを含んでいるので、推論モデルMを生成する際の負荷を軽減することができる。
【0074】
[4.効果等]
本開示の一形態に係る推論モデルの生成方法は、学習済であるマルチレイヤ構造の第1の推論モデルM1の出力データY1および学習済であるマルチレイヤ構造の第2の推論モデルM2の入力データY2が同じ種別のデータで構成される場合において、第1の推論モデルM1および第2の推論モデルM2を用いて新たな推論モデルMを生成する方法である。推論モデルMの生成方法は、第1の推論モデルM1の入力レイヤiL1から所定の中間レイヤmL1までの部分を有する第1の部分推論モデルM1pを準備するステップと、第2の推論モデルM2の所定の中間レイヤmL2から出力レイヤoL2までの部分を有する第2の部分推論モデルM2pを準備するステップと、第1の部分推論モデルM1pと第2の部分推論モデルM2pとの間に、第1の推論モデルM1の所定の中間レイヤmL1と第2の推論モデルM2の所定の中間レイヤmL2とを繋ぐグルーレイヤGLを配置することにより、新たな推論モデルMを生成するステップとを含む。
【0075】
このように、推論モデルMの生成方法が、学習済である第1の推論モデルM1の一部である第1の部分推論モデルM1pを準備するステップと、学習済である第2の推論モデルM2の一部である第2の部分推論モデルM2pを準備するステップとを含むことで、推論モデルMを生成する際の負荷を軽減することができる。
【0076】
また、第1の推論モデルM1を推論する対象物の集まりであるドメイン、および、第2の推論モデルM2を推論する対象物の集まりであるドメインは、互いに異なっていてもよい。
【0077】
このように、第1の推論モデルM1のドメインおよび第2の推論モデルM2のドメインが異なる場合であっても、第1の部分推論モデルM1pと第2の部分推論モデルM2pとの間にグルーレイヤGLが配置されることで、推論モデルMを生成する際の負荷を軽減することができる。
【0078】
また、上記同じ種別のデータは、画像データであってもよい。
【0079】
このように、第1の推論モデルM1の出力データY1および第2の推論モデルM2の入力データY2が同じ種別の画像データであることで、画像データを用いて推論モデルMを生成する際の負荷を軽減することができる。
【0080】
また、新たな推論モデルMを生成するステップのグルーレイヤGLは、未学習であってもよい。
【0081】
この推論モデルMの生成方法によれば、グルーレイヤGLが未学習であっても、推論モデルMを生成する際の負荷を軽減することができる。
【0082】
また、推論モデルMの生成方法は、さらに、第1の部分推論モデルM1pを準備するステップの前に、第1の推論モデルM1の所定の中間レイヤmL1を決定するステップを含み、当該所定の中間レイヤmL1を決定するステップは、第1の推論モデルM1の複数の中間レイヤのうち第1の推論モデルM1への入力データの主成分を表現している中間レイヤを当該所定の中間レイヤmL1として決定してもよい。
【0083】
このように、第1の推論モデルM1の所定の中間レイヤmL1を決定することで、第1の部分推論モデルM1pを簡易に生成することができる。これにより、推論モデルMを生成する際の負荷を軽減することができる。
【0084】
また、推論モデルMの生成方法は、さらに、第2の部分推論モデルM2pを準備するステップの前に、第2の推論モデルM2の所定の中間レイヤmL2を決定するステップを含み、当該所定の中間レイヤmL2を決定するステップは、第2の推論モデルM2の入力レイヤiL2から中間レイヤma~mdまでをオートエンコーダで折り返して再構築した場合の入力と出力との誤差が閾値以下となる中間レイヤの1つを当該所定の中間レイヤmL2として決定してもよい。
【0085】
このように、第2の推論モデルM2の所定の中間レイヤmL2を決定することで、第2の部分推論モデルM2pを簡易に生成することができる。これにより、推論モデルMを生成する際の負荷を軽減することができる。
【0086】
また、上記誤差が閾値以下となる中間レイヤのうち、第2の推論モデルM2の入力レイヤiL2からレイヤ構造として最も離れた中間レイヤを当該所定の中間レイヤmL2として決定してもよい。
【0087】
このように、第2の推論モデルM2の所定の中間レイヤmL2を決定することで、第2の部分推論モデルM2pを簡易に生成することができる。これにより、推論モデルMを生成する際の負荷を軽減することができる。
【0088】
また、グルーレイヤGLは、第1の部分推論モデルM1pの出力データY1を第2の部分推論モデルM2pの入力データY2に変換し、コンボルーション(convolution)を行うレイヤ、プーリング(Pooling)を行うレイヤ、および、全結合(fully connected)を行うレイヤ、のいずれか1つ、または、複数を組合せて構成されてもよい。
【0089】
これによれば、第1の部分推論モデルM1pの出力データY1を第2の部分推論モデルM2pの入力データY2に変換するグルーレイヤGLを簡易に生成することができる。これにより、推論モデルMを生成する際の負荷を軽減することができる。
【0090】
また、推論モデルMの生成方法は、さらに、新たな推論モデルMを学習させる学習ステップを含んでいてもよい。
【0091】
このように、新たな推論モデルMを学習するステップを含むことで、学習済みの推論モデルMを簡易に生成することができる。
【0092】
また、学習ステップは、グルーレイヤGLの入出力に合わせた学習データセットを用いて、グルーレイヤGLを学習させてもよい。
【0093】
これによれば、グルーレイヤGLを簡易に学習させることができ、学習済みの推論モデルMを簡易に生成することができる。
【0094】
また、第1の推論モデルM1の所定の中間レイヤmL1より後段の部分の逆関数機能モデルに対して、第1の推論モデルM1の複数の出力データを入力データとして入力し、得られた複数の推論データを上記学習データセットにおける入力データセットとしてもよい。
【0095】
また、上記逆関数機能モデルは、第1の推論モデルM1の所定の中間レイヤmL1より後段の全レイヤを、出力レイヤを入力レイヤとして逆に並べて数学的に構築した推論モデルであるか、または、第1の推論モデルM1の所定の中間レイヤmL1より後段の全レイヤを用いてオートエンコーダを構築し、上記オートエンコーダに対して第1の推論モデルM1の出力データを用いて学習させて得られる推論モデルであってもよい。
【0096】
また、上記逆関数機能モデルは、蒸留モデルであって、上記蒸留モデルは、上記蒸留モデルに第1の推論モデルM1の学習データセットにおけるラベルデータY1を入力したときの出力データである第1データY10が、第1の推論モデルM1の所定の中間レイヤまでの部分である第1の部分推論モデルM1pに、ラベルデータと対になる第1の推論モデルM1の学習データセットにおける入力データX1を入力したときの出力データである第2データY20に対して、誤差が小さくなるように学習させて得られる推論モデルであってもよい。
【0097】
また、上記蒸留モデルは、さらに、第1の推論モデルM1の所定の中間レイヤより後段のモデル(デコーダ部Dp)に、第2データY20を入力したときの出力データである第3データY30が、ラベルデータY1に対して誤差が小さくなるように学習させて得られる推論モデルであってもよい。
【0098】
また、第2の推論モデルM2に対して、第2の推論モデルM2の複数の入力データを入力し、得られた複数の推論データを上記学習データセットにおける出力データセットとしてもよい。
【0099】
また、学習ステップは、グルーレイヤGLと第2の部分推論モデルM2pとを結合させた結合モデルMcの入出力に合わせた学習データセットを用いて、結合モデルMcを学習させてもよい。
【0100】
これによれば、結合モデルMcを簡易に学習させることができ、学習済みの推論モデルMを簡易に生成することができる。
【0101】
また、第1の推論モデルM1の所定の中間レイヤmL1より後段の部分の逆関数機能モデルに対して、第1の推論モデルM1の複数の出力データを入力データとして入力し、得られた複数の推論データを上記学習データセットにおける入力データセットとしてもよい。
【0102】
また、上記逆関数機能モデルは、第1の推論モデルM1の所定の中間レイヤmL1より後段の全レイヤを、出力レイヤを入力レイヤとして逆に並べて数学的に構築した推論モデルであるか、または、第1の推論モデルM1の所定の中間レイヤmL1より後段の全レイヤを用いてオートエンコーダを構築し、上記オートエンコーダに対して第1の推論モデルM1の出力データを用いて学習させて得られる推論モデルであってもよい。
【0103】
また、第2の推論モデルM2に対して、第2の推論モデルM2の複数の入力データを入力し、得られた複数の推論データを上記学習データセットにおける出力データセットとしてもよい。
【0104】
本開示の一形態に係る推論モデルMは、学習済である第1の推論モデルM1の一部である第1の部分推論モデルM1pと、学習済である第2の推論モデルM2の一部である第2の部分推論モデルM2pと、第1の部分推論モデルM1pおよび第2の部分推論モデルM2pの間に配置される未学習のグルーレイヤGLとを備える。第1の部分推論モデルM1pは、第1の推論モデルM1の入力レイヤiL1から所定の中間レイヤmL1までの部分を有し、第2の部分推論モデルM2pは、第2の推論モデルM2の所定の中間レイヤmL2から出力レイヤoL2までの部分を有し、グルーレイヤGLは、第1の部分推論モデルM1pが有する所定の中間レイヤmL1と第2の部分推論モデルM2pが有する所定の中間レイヤmL2とを繋いでいる。
【0105】
このように推論モデルMが、学習済である第1の推論モデルM1の一部、および、学習済である第2の推論モデルM2の一部を用いて構成されるので、推論モデルMを生成する際の負荷を軽減することができる。また、推論モデルMが、学習済みである推論モデルの全部でなく一部を用いて構成されるので、冗長性の少ない推論モデルを実現することができる。
【0106】
また、第1の部分推論モデルM1pから出力されグルーレイヤGLに入力されるデータY1、および、グルーレイヤGLから出力され第2の部分推論モデルM2pに入力されるデータY2は、同じ種別のデータで構成されていてもよい。
【0107】
このように、第1の推論モデルM1の出力データY1および第2の推論モデルM2の入力データY2が同じ種別のデータであることで、推論モデルMを生成する際の負荷を軽減することができる。
【0108】
(その他の実施の形態)
以上、本開示に係る推論モデルの生成方法などについて、各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、各実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
【0109】
例えば、上記実施の形態では、推論モデルMの入力データがRAWデータである例を示したが、それに限られず、入力データはRGBデータであってもよい。
【0110】
また、以下に示す形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
【0111】
(1)上記の推論モデル生成装置を構成する構成要素の一部は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムであってもよい。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0112】
(2)上記の推論モデル生成装置を構成する構成要素の一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0113】
(3)上記の推論モデル生成装置を構成する構成要素の一部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0114】
(4)また、上記の推論モデル生成装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0115】
また、上記の推論モデル生成装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0116】
(5)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0117】
(6)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0118】
(7)また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0119】
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0120】
本開示は、画像データに基づいて、画像に含まれる対象物の情報を出力する推論モデルの生成方法などに広く利用できる。
【符号の説明】
【0121】
10 推論モデル生成装置
1001 入力装置
1002 出力装置
1003 CPU
1004 内蔵ストレージ
1005 RAM
1007 読取装置
1008 送受信装置
1009 バス
A1、A2、B2 中間表現
Dp デコーダ部
Ep エンコーダ部
GL グルーレイヤ
iL1、iL2 入力レイヤ
M 推論モデル(新たな推論モデル)
M1 第1の推論モデル
M1p 第1の部分推論モデル
M2 第2の推論モデル
M2p 第2の部分推論モデル
Mc 結合モデル
mL1、mL2 中間レイヤ
oL1、oL2 出力レイヤ
X1 入力データ
Y1 出力データ(データ)
Y2 入力データ(データ)
Y10 第1データ
Y20 第2データ
Y30 第3データ
Z2 出力データ
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10A
図10B
図11