(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-07
(45)【発行日】2022-11-15
(54)【発明の名称】情報処理方法、及び情報処理システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20221108BHJP
G06N 3/08 20060101ALI20221108BHJP
【FI】
G06N20/00 130
G06N3/08
(21)【出願番号】P 2019048768
(22)【出願日】2019-03-15
【審査請求日】2021-10-13
(31)【優先権主張番号】P 2018150393
(32)【優先日】2018-08-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】石井 育規
(72)【発明者】
【氏名】中田 洋平
(72)【発明者】
【氏名】浦部 弘章
【審査官】多賀 実
(56)【参考文献】
【文献】特表2017-531255(JP,A)
【文献】国際公開第2017/074966(WO,A1)
【文献】特開2019-133626(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを用いて、
第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得し、
前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出し、
前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う
情報処理方法。
【請求項2】
前記学習では、前記第1差分データ、及び前記第2差分データに重み付けをする
請求項1に記載の情報処理方法。
【請求項3】
前記重み付けでは、前記第1差分データの重みの方を、前記第2差分データの重みよりも大きくする
請求項2に記載の情報処理方法。
【請求項4】
前記学習では、さらに、前記第1差分データと前記第2差分データとの差分を用いる
請求項1に記載の情報処理方法。
【請求項5】
前記学習では、前記第1差分データ、前記第2差分データ、及び、前記第1差分データと前記第2差分データとの差分、に重み付けをする
請求項4に記載の情報処理方法。
【請求項6】
前記第1学習モデル、及び前記第2学習モデルは、ニューラルネットワーク型の学習モデルである
請求項1から請求項5のいずれか1項に記載の情報処理方法。
【請求項7】
第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得する取得部と、
前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出する算出部と、
前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う学習部と、を備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習により学習モデルを得る情報処理方法、及び情報処理システムに関する。
【背景技術】
【0002】
従来、変換ツールを利用して、第1の演算処理環境で学習された第1学習モデルから、第2のコンピュータ環境に適した第2学習モデルを生成し、生成した第2学習モデルを第2の演算処理環境において利用する技術が知られている。
【0003】
例えば、非特許文献1には、第1学習モデルと、変換ツールを利用して第1学習モデルから変換された第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減するための技術が記載されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. https://arxiv.org/abs/1712.05877
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明(すなわち変換ツールがブラックボックス)である場合には、上記従来技術を利用することができない。
【0006】
そこで、本開示は、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明であったとしても、第1学習モデルと第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減することができる情報処理方法、及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る情報処理方法は、コンピュータを用いて、第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得し、前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出し、前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う。
【0008】
本開示の一態様に係る情報処理システムは、第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得する取得部と、前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出する算出部と、前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う学習部と、を備える。
【発明の効果】
【0009】
本開示の一態様に係る情報処理方法、及び情報処理システムによれば、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明であっても、第1学習モデルと第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、第1実施の形態に係る情報処理システムの構成を示すブロック図である。
【
図2】
図2は、第1実施の形態に係る変換部が、第1学習モデルを第2学習モデルに変換する様子の一例を示す模式図である。
【
図3】
図3は、第1実施の形態に係る学習部が、第1学習モデルの再学習の様子の一例を示す模式図である。
【
図4】
図4は、第1実施の形態に係る学習モデルの第1更新処理のフローチャートである。
【
図5】
図5は、第2実施の形態に係る情報処理システムの構成を示すブロック図である。
【
図6】
図6は、第2実施の形態に係る情報処理システムにおいて第1学習モデルの再学習のためのデータの生成の一例を示す模式図である。
【
図7】
図7は、第2実施の形態に係る学習モデルの第2更新処理のフローチャートである。
【発明を実施するための形態】
【0011】
(本開示の一態様を得るに至った経緯)
近年、ADAS(Advanced Driver-Assistance System)、自動運転システム等の車載
組込みシステムにおいて、機械学習を用いた認識システムには、学習モデルを用いて推論することが求められている。
【0012】
一般に、車載組込みシステムに適用する学習モデルは、車載組込みシステムよりも高い性能を有するコンピュータシステムでの学習により得られた第1学習モデルに対して変換ツールを適用し、車載組込みシステムに適した第2学習モデルに変換させることで生成される。
【0013】
例えば、パーソナルコンピュータにおいて浮動小数点演算処理で学習され、浮動小数点演算で推論を行う第1学習モデルを、車載組込みシステムにおいて整数演算処理を行う第2学習モデルに変換させることで、車載組込みシステムに適用する学習モデルを生成する。
【0014】
第1学習モデルによる処理と、第2学習モデルによる処理とは、必ずしも正確に同一であるとは限らない。このため、第1学習モデルと第2学習モデルとに同じデータを入力した場合であっても、第1学習モデルの出力と第2学習モデルの出力とに差が生じることがある。
【0015】
第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が公開されている場合には、例えば、非特許文献1に記載された技術を利用することで、上記差を低減することができる。しかしながら、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明である場合には、非特許文献1に記載された技術を利用することができない。
【0016】
発明者は、このような問題に鑑みて、下記情報処理方法、及び情報処理システムに想到した。
【0017】
本開示の一態様に係る情報処理方法は、コンピュータを用いて、第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得し、前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出し、前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う。
【0018】
上記情報処理方法によると、第1学習モデルは、第1差分データに加えて、第2差分データをも用いて学習する。また、第1学習モデルの学習において、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容を反映させる必要がない。これらのことから、上記情報処理方法によると、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明であったとしても、第1学習モデルと第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減することができる。
【0019】
また、前記学習では、前記第1差分データ、及び前記第2差分データに重み付けをするとしてもよい。これにより、第1学習モデルの学習において、第1学習モデルの出力を重視する度合いと、第2学習モデルの出力を重視する度合いとに差をつけて学習させることができる。
【0020】
また、前記重み付けでは、前記第1差分データの重みの方を、前記第2差分データの重みよりも重くするとしてもよい。これにより、第1学習モデルの学習において、第2学習モデルの出力よりも第1学習モデルの出力を重視して学習させることができる。言い換えると、第1学習モデルの特性(又は性能)が第2学習モデルの特性(又は性能)に近づき過ぎることを抑制することができる。
【0021】
また、前記学習では、さらに、前記第1差分データと前記第2差分データとの差分を用いるとしてもよい。これにより、第1学習モデルの学習において、第1学習モデルの出力と第2学習モデルの出力との差分を考慮して学習させることができる。これら2つの差分データの差が小さいほど、第1学習モデル及び第2学習モデルの間で特性(又は性能)が近づいているといえる。このため、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減する学習を効率よく行うことができる。
【0022】
また、前記学習では、前記第1差分データ、前記第2差分データ、及び、前記第1差分データと前記第2差分データとの差分、に重み付けをするとしてもよい。これにより、第1学習モデルの学習において、第1学習モデルの出力を重視する度合いと、第2学習モデルの出力を重視する度合いと、第1学習モデルの出力と第2学習モデルの出力との差分を重視する度合いとに差をつけて学習させることができる。
【0023】
また、前記第1学習モデル、及び前記第2学習モデルは、ニューラルネットワーク型の学習モデルであるとしてもよい。これにより、第1学習モデルと第2学習モデルとが、比較的よく知られた数学モデルで実現される。
【0024】
本開示の一態様に係る情報処理システムは、第1学習モデルの入力データに対する第1出力データ、前記入力データに対する正解データ、及び、前記第1学習モデルの変換により得られる第2学習モデルの前記入力データに対する第2出力データ、を取得する取得部と、前記第1出力データと前記正解データとの差分に対応する第1差分データ、及び、前記第2出力データと前記正解データとの差分に対応する第2差分データ、を算出する算出部と、前記第1差分データ、及び前記第2差分データを用いて、前記第1学習モデルの学習を行う学習部と、を備える。
【0025】
上記情報処理システムによると、第1学習モデルは、第1差分データに加えて、第2差分データをも用いて学習する。また、第1学習モデルの学習において、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容を反映させる必要がない。これらのことから、上記情報処理システムによると、第1学習モデルから第2学習モデルへと変換する変換ツールの変換処理内容が不明であったとしても、第1学習モデルと第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減することができる。
【0026】
以下、本開示の一態様に係る情報処理方法、及び情報処理システムの具体例について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【0027】
なお、本開示の包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0028】
(第1実施の形態)
まず、第1実施の形態に係る情報処理システムについて説明する。この情報処理システムは、浮動小数点演算処理を行う第1学習モデルを、整数演算処理を行う第2学習モデルに変換するシステムであって、第1学習モデルと第2学習モデルとに対して同じデータを入力した場合において生じる、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減させるように、第1学習モデルに再学習させるシステムである。
【0029】
[1-1.情報処理システムの構成]
図1は、第1実施の形態に係る情報処理システム1の構成を示すブロック図である。
【0030】
図1に示されるように、情報処理システム1は、取得部10と、算出部20と、学習部30と、変換部40と、第1学習モデル50と、第2学習モデル60とを含んで構成される。
【0031】
情報処理システム1は、例えば、プロセッサとメモリとを含んで構成されるパーソナルコンピュータによって実現されてよい。この場合、情報処理システム1の各構成要素は、例えば、プロセッサがメモリに記憶される1以上のプログラムを実行することで実現されてよい。また、情報処理システム1は、例えば、それぞれがプロセッサとメモリとを含んで構成される、互いに通信可能な複数のコンピュータ装置が協調して動作することによって実現されてよい。この場合、情報処理システム1の各構成要素は、例えば、いずれかの1以上のプロセッサが、いずれかの1以上のメモリに記憶される、1以上のプログラムを実行することで実現されてよい。
【0032】
第1学習モデル50は、浮動小数点型変数を用いて処理を行う機械学習モデルである。ここでは、第1学習モデル50は、ニューラルネットワーク型の学習モデルであって、画像からその画像に被写体として含まれる人物を認識するように学習された人認識器であるとして説明する。第1学習モデル50は、例えば、入力データとして画像を入力すると、認識した人物の位置を示す座標とその人物の信頼度とを出力データとして出力する。
【0033】
第2学習モデル60は、第1学習モデル50から、後述の変換部40によって、整数型変数を用いて処理を行うように変換された機械学習モデルである。ここでは、第2学習モデル60は、第1学習モデル50と同様に、ニューラルネットワーク型の学習モデルであって、画像からその画像に被写体として含まれる人物を認識する人認識器であるとして説明する。第2学習モデル60は、例えば、第1学習モデル50と同様に、入力データとして画像を入力すると、認識した人物の位置を示す座標とその人物の信頼度とを出力データとして出力する。
【0034】
第2学習モデル60は、第1学習モデル50よりも数値演算精度の低い処理を行う反面、浮動小数点型変数を取り扱うことができないシステム、すなわち、第1学習モデル50を利用することができないシステムであっても利用可能である。
【0035】
例えば、比較的コンピュータ資源に乏しく、浮動小数点型変数を取り扱うことができないが、整数型変数を取り扱うことができる車載組込みシステムでは、第1学習モデル50を利用することはできないが、第2学習モデル60を利用することはできる。
【0036】
また、第2学習モデル60は、例えば、演算の精度よりも、演算に伴う消費電力量の低減の方が重要視されるシステムでの利用に好適である。
【0037】
変換部40は、浮動小数点型変数を用いて処理を行う第1学習モデル50を、整数型変数を用いて処理を行う第2学習モデル60に変換する。
【0038】
図2は、変換部40が、第1学習モデル50を第2学習モデル60に変換する様子の一例を示す模式図である。
【0039】
図2に示されるように、第1学習モデル50が、階層化された、浮動小数点型変数を用いて処理を行う複数の重み(ここでは、例えば、第1の重み51、第2の重み52、第3の重み53)で構成される場合に、変換部40は、浮動小数点型変数を用いて処理を行う複数の重みのそれぞれを、整数型変数を用いて処理を行う複数の重み(ここでは、例えば、第1の重み61、第2の重み62、第3の重み63)のそれぞれに変換する。
【0040】
第1学習モデル50は、浮動小数点型変数を用いて処理を行う学習モデルであるのに対して、第2学習モデル60は、整数型変数を用いて処理を行う学習モデルである。このため、第1学習モデル50と第2学習モデル60とに同一の画像Aを入力したとしても、第1学習モデル50から出力される出力データA1と第2学習モデル60から出力される出力データA2とは必ずしも一致するとは限らない。すなわち、入力データが画像Aである場合の正解データを正解データAとする場合に、出力データA1と正解データAとの差分に対応する第1差分データ(後述)と、出力データA2と正解データAとの差分に対応する第2差分データ(後述)とに差が生じることがある。
【0041】
再び
図1に戻って、情報処理システム1の構成についての説明を続ける。
【0042】
取得部10は、第1学習モデル50の入力データに対する第1出力データと、第2学習モデル60の当該入力データに対する第2出力データと、当該入力データに対する正解データとを取得する。
【0043】
算出部20は、取得部10によって取得された、第1出力データと第2出力データと正解データとから、第1出力データと正解データとの差分に対応する第1差分データ(以下、数式等において、第1差分データのことを「Loss1」と称することもある。)と、第2出力データと正解データとの差分に対応する第2差分データ(以下、数式等において、第2差分データのことを「Loss2」と称することもある。)とを算出する。
【0044】
ここでは、第1差分データ(Loss1)は、必ずしも限定される必要のない一例として、以下の(式1)に従って算出される、正解データと第1出力データとのL2ノルムであるとする。
【0045】
Loss1 = ||正解データ -第1出力データ||2 (式1)
【0046】
また、第2差分データ(Loss2)は、必ずしも限定される必要のない一例として、以下の(式2)に従って算出される、正解データと第2出力データとのL2ノルムであるとする。
【0047】
Loss2 = ||正解データ -第2出力データ||2 (式2)
【0048】
学習部30は、第1差分データ、及び第2差分データを用いて、第1学習モデル50に再学習させる。
【0049】
図3は、学習部30が、第1学習モデル50に再学習させている様子の一例を示す模式図である。
【0050】
図3に示されるように、学習部30は、第1差分データと第2差分データとから、(式3)で示される差分データ(以下、数式等において、差分データのことを「LOSS」と称することもある。)を算出する。なお、第1差分データ、第2差分データを算出するための正解データ、第1出力データ、第2出力データは出力されるデータ数で正規化されていても良い。
【0051】
LOSS = λ1*Loss1 + λ2*Loss2 + λ3*||Loss1 - Loss2|| (式3)
【0052】
ここで、λ1、λ2、λ3は、差分データの算出において、第1差分データ、第2差分データ、及び第1差分データと第2差分データとの差分に重み付けをする数値であって、以下の(式4)~(式7)を満たす関係にある。
【0053】
λ1 + λ2 + λ3 = 1 (式4)
【0054】
1 > λ1 > 0 (式5)
【0055】
1 > λ2 > 0 (式6)
【0056】
1 > λ3 ≧ 0 (式7)
【0057】
学習部30は、差分データを算出すると、
図3に示されるように、算出した差分データを誤差とする誤差逆伝播法を用いて重みを更新することで、第1学習モデル50に再学習させる。
【0058】
発明者は、学習部30による第1学習モデル50の再学習について、差分データを算出する(式3)におけるλ1、λ2、λ3の値の組み合わせを変更して繰り返し実験を行った。その結果、発明者は、第1学習モデルの出力データと第2学習モデルの出力データとの差を低減するためには、λ1がλ2よりも大きい方が好ましい、すなわち、差分データを算出する際に、第1差分データ、第2差分データ、及び第1差分データと第2差分データとの差分への重み付けにおいて、前記第1差分データの重みの方が、前記第2差分データの重みよりも重くすることが好ましいという知見を得た。これは、より数値演算精度の高い処理を行う第1学習モデル50の出力の方を、より数値演算精度の低い処理を行う第2学習モデル60の出力よりも重視して、第1学習モデル50に再学習させることで、第1学習モデルの出力データと第2学習モデルの出力データとの差の低減をより精度良く行うことができるからではないかと推測される。
【0059】
[1-2.情報処理システムの動作]
以下、上記構成の情報処理システム1の行う処理について説明する。
【0060】
情報処理システム1は、第1差分データと第2差分データとを用いて、第1学習モデル50と第2学習モデル60とを更新する学習モデルの第1更新処理を行う。
【0061】
図4は、学習モデルの第1更新処理のフローチャートである。
【0062】
学習モデルの第1更新処理は、例えば、一の入力データに対して、第1学習モデル50が第1出力データを出力し、第2学習モデル60が第2出力データを出力した後において、情報処理システム1を利用するユーザにより、情報処理システム1に対して、学習モデルの第1更新処理を実行する旨の操作がなされることで開始される。
【0063】
学習モデルの第1更新処理が開始された場合と、後述のステップS80の処理が終了した場合とに、取得部10は、一の入力データに対する第1出力データと、一の入力データに対する第2出力データと、一の入力データに対する正解データとを取得する(ステップS10)。
【0064】
取得部10によって、第1出力データと第2出力データと正解データとが取得されると、算出部20は、取得された第1出力データと第2出力データと正解データとから、(式1)を用いて、第1出力データと正解データとの差分に対応する第1差分データを算出し、(式2)を用いて、第2出力データと正解データとの差分に対応する第2差分データを算出する(ステップS20)。
【0065】
第1差分データと第2差分データとが算出されると、学習部30は、第1差分データと第2差分データとから、(式3)を用いて、差分データを算出する(ステップS30)。そして、学習部30は、算出した差分データが、予め定められた所定の閾値よりも大きいか否かを調べる(ステップS40)。
【0066】
ステップS40の処理において、算出した差分データが、予め定められた所定の閾値よりも大きい場合に(ステップS40:Yes)、学習部30は、算出した差分データを誤差とする誤差逆伝播法を用いて重みを更新することで、第1学習モデル50に再学習させる(ステップS50)。そして、再学習後の第1学習モデル50は、一の入力データに対する第1出力データを更新する(ステップS60)。
【0067】
第1出力データが更新されると、変換部40は、再学習後の第1学習モデル50を、第2学習モデル60に変換する(ステップS70)。そして、変換後の第2学習モデル60は、一の入力データに対する第2出力データを更新する(ステップS80)。
【0068】
ステップS80の処理が終了すると、情報処理システム1は、再びステップS10の処理に進んで、ステップS10以降の処理を繰り返す。
【0069】
ステップS40の処理において、算出した差分データが、予め定められた所定の閾値よりも大きくない場合に(ステップS40:No)、情報処理システム1は、学習モデルの第1更新処理を終了する。
【0070】
[1-3.考察]
上述したように、情報処理システム1によると、第1学習モデル50は、第1差分データに加えて、第2学習モデル60による第2差分データをも用いて再学習する。また、第1学習モデル50の再学習において、第1学習モデル50から第2学習モデル60への変換処理内容を反映させる必要がない。これらのことから、情報処理システム1によると、第1学習モデル50から第2学習モデル60への変換処理内容が不明であったとしても、第1学習モデル50と第2学習モデル60とに対して同じデータを入力した場合において生じる、第1学習モデル50の出力データと第2学習モデル60の出力データとの差を低減することができる。
【0071】
(第2実施の形態)
次に、第2実施の形態に係る情報処理システムについて説明する。なお、第1実施の形態と同じ構成については説明を省略する。
【0072】
[2-1.情報処理システムの構成]
図5は、第2実施の形態に係る情報処理システム1Aの構成を示すブロック図である。
【0073】
図5に示されるように、情報処理システム1Aは、取得部10と、算出部20と、学習部30と、変換部40と、第1学習モデル50と、第2学習モデル60に加えて、判定部70を備える。
【0074】
判定部70は、
図6に示されるように、第1出力データ及び第2出力データを用いて第3差分データを生成する。具体的には、判定部70は、第1出力データ及び第2出力データそれぞれについて、真データであるか否かを判定する。そして、判定部70は、判定結果に基づいて第3差分データを生成する。例えば、判定部70は、GAN(Generative Adversarial Network)におけるDiscriminatorである。判定部70は、第1出力データが真データである第1確率(又は偽データである確率)及び第2出力データが真データである第2確率(又は偽データである確率)を判定結果として生成する。そして、判定部70は、第1確率及び第2確率を用いて第3差分データを生成する。例えば、第3差分データは、次式(式8)に従って算出される。
【0075】
Loss3 = log(D(第1出力データ)) + log(1-D(第2出力データ)) ・・・(式8)
【0076】
ここで、DはDiscriminatorを表す。上記の式では、判定部70(すなわちDiscriminator)は、第1出力データ、第2出力データが真データである確率を生成する。
【0077】
学習部30は、第1差分データ、及び第3差分データを用いて、第1学習モデル50に再学習させる。
【0078】
学習部30は、第1差分データと第3差分データとから、下記(式9)で示される差分データ(すなわちLOSS)を算出する。
【0079】
LOSS = λ4*Loss1 + λ5*Loss3 ・・・(式9)
【0080】
ここで、λ4、λ5は、差分データの算出において、第1差分データ、第3差分データに重み付けをする数値である。
【0081】
学習部30は、算出した差分データを誤差とする誤差逆伝播法を用いて重みを更新することで、第1学習モデル50に再学習させる。
【0082】
[2-2.情報処理システムの動作]
以下、上記構成の情報処理システム1Aの行う処理について説明する。
図7は、学習モデルの第2更新処理のフローチャートである。
【0083】
まず、取得部10は、一の入力データに対する第1出力データと、一の入力データに対する第2出力データと、一の入力データに対する正解データとを取得する(ステップS10)。
【0084】
取得部10によって、第1出力データと第2出力データとが取得されると、判定部70は、取得された第1出力データと第2出力データの真偽を判定する(ステップS110)。例えば、判定部70は、第1出力データが真データである確率及び第2出力データが真データである確率を算出する。
【0085】
判定部70は、判定結果から第3差分データを算出する(ステップS120)。例えば、判定部70は、上記(式8)を用いて、第3差分データを算出する。
【0086】
算出部20は、取得された第1出力データと正解データとから第1差分データを算出する(ステップS130)。
【0087】
学習部30は、算出された第1差分データと第3差分データとから差分データを算出する(ステップS140)。例えば、学習部30は、上記(式9)を用いて、差分データを算出する。
【0088】
以降の処理は、第1実施の形態の処理と実質的に同一であるため説明を省略する。
【0089】
[2-3.考察]
このように、第2実施の形態に係る情報処理システム1Aによると、第1学習モデル50は、第1差分データに加えて、第1出力データと第2出力データとを近づけるための第3差分データをも用いて再学習する。第2出力データが第1出力データに近づくように第1学習モデル50の学習を実行することにより、第1学習モデル50に第2学習モデル60の認識性能を近づけることができる。したがって、第1学習モデル50から第2学習モデル60への変換処理内容が不明であったとしても、第1学習モデル50と第2学習モデル60とに対して同じデータを入力した場合において生じる、第1学習モデル50の出力データと第2学習モデル60の出力データとの差を低減することができる。
【0090】
さらに、第1学習モデル50の再学習において、第1差分データも用いることにより、第2学習モデル60の認識性能を第1学習モデル60の認識性能に近づけながら、第1学習モデル50の性能劣化(すなわち第2学習モデル60の性能劣化)を抑制することができる。
【0091】
(他の実施の形態)
以上、本開示の1つまたは複数の態様に係る情報処理システムについて、第1実施の形態及び第2実施の形態に基づいて説明したが、本開示は、これら実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つまたは複数の態様の範囲内に含まれてもよい。
【0092】
(1)第1実施の形態において、第1学習モデル50は、浮動小数点型変数を用いて処理を行う学習モデルであり、第2学習モデル60は、整数型変数を用いて処理を行う学習モデルであるとして説明した。しかしながら、第2学習モデル60が、第1学習モデル50の変換により得られる学習モデルであれば、必ずしも、第1学習モデル50は、浮動小数点型変数を用いて処理を行う学習モデルであり、第2学習モデル60は、整数型変数を用いて処理を行う学習モデルである例に限定される必要はない。
【0093】
一例として、第1学習モデル50は、取り扱う画像における各画素の画素値を、量子化された8ビットのRGBデータとして扱う学習モデルであり、第2学習モデル60は、取り扱う画像における各画素の画素値を、量子化された4ビットのRGBデータとして扱う学習モデルであるとしてもよい。この場合には、第2学習モデル60は、例えば、取り扱うデータのデータ転送レートの制約、取り扱うデータを記憶する記憶容量の制約等により、画素値が8ビットのRGBデータからなる画像を取り扱うことができないが、画素値が4ビットのRGBデータからなる画像を取り扱うことができるシステムであっても利用可能である。また、この場合には、例えば、演算の精度よりも、演算に伴う消費電力量の低減の方が重要視されるシステムにおいては、第2学習モデル60を利用する方が第1学習モデル50を利用するよりも好適である場合がある。
【0094】
また、別の一例として、第1学習モデル50は、32ビット浮動小数点型変数を用いて処理を行う学習モデルであり、第2学習モデル60は、16ビット浮動小数点型変数を用いて処理を行う学習モデルであるとしてもよい。この場合には、第2学習モデル60は、例えば、32ビット浮動小数点型変数を取り扱うことができないが、16ビット浮動小数点型変数を取り扱うことができるシステムであっても利用可能である。また、この場合には、例えば、演算の精度よりも、演算に伴う消費電力量の低減の方が重要視されるシステムにおいては、第2学習モデル60を利用する方が第1学習モデル50を利用するよりも好適である場合がある。
【0095】
また、別の一例として、第1学習モデル50は、取り扱う画像における各画素の画素値を、RGB色空間のデータとして取り扱う学習モデルであり、第2学習モデル60は、取り扱う画像における各画素の画素値を、YCbCr色空間のデータとして取り扱う学習モデルであるとしてもよい。この場合には、第2学習モデル60は、例えば、取り扱う画像における各画素の画素値を、RGB色空間のデータとして取り扱うことができないが、YCbCr色空間のデータとして取り扱うことができるシステムであっても利用可能である。
【0096】
(2)情報処理システム1が備える構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0097】
なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、あるいはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0098】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0099】
(3)本開示の一態様は、このような情報処理システムだけではなく、情報処理システムに含まれる特徴的な構成部をステップとする情報処理方法であってもよい。また、本開示の一態様は、情報処理方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムであってもよい。また、本開示の一態様は、そのようなコンピュータプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。
【産業上の利用可能性】
【0100】
本開示は、学習モデルに学習させる情報処理を行うシステムに広く利用可能である。
【符号の説明】
【0101】
1,1A 情報処理システム
10 取得部
20 算出部
30 学習部
40 変換部
50 第1学習モデル
60 第2学習モデル