(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】情報処理システム、符号化装置、復号装置、モデル学習装置、情報処理方法、符号化方法、復号方法、モデル学習方法、および、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240723BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023504908
(86)(22)【出願日】2021-03-09
(86)【国際出願番号】 JP2021009205
(87)【国際公開番号】W WO2022190195
(87)【国際公開日】2022-09-15
【審査請求日】2023-09-01
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】バイエ フロリアン
(72)【発明者】
【氏名】逸身 勇人
(72)【発明者】
【氏名】篠原 悠介
(72)【発明者】
【氏名】ヴィタル チャルヴィ
(72)【発明者】
【氏名】二瓶 浩一
(72)【発明者】
【氏名】岩井 孝法
【審査官】千葉 久博
(56)【参考文献】
【文献】米国特許出願公開第2019/0297329(US,A1)
【文献】中国特許出願公開第111368972(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定手段と、
前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化手段と、
第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定手段と、
前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化手段と、を備える
情報処理システム。
【請求項2】
複数個の前記第1標本値を含む第1標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化手段と、
前記符号系列をエントロピー復号して複数個の前記第2標本値を含む第2標本値系列を生成するエントロピー復号手段と、を備える
請求項1に記載の情報処理システム。
【請求項3】
前記第1標本化手段は、前記第1確率分布で示される確率に従い、第1疑似乱数を用いて、前記値域のいずれかの量子化値を、前記第1標本値として定め、
前記第2標本化手段は、前記第2確率分布で示される確率に従い、第2疑似乱数を用いて、前記値域のいずれかの量子化値を、前記第2標本値として定める
請求項1または請求項2に記載の情報処理システム。
【請求項4】
前記第1確率分布に基づく前記第1標本値の情報量に基づく第1因子と、前記入力値と前記第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように前記第1機械学習モデルのパラメータセットと、前記第2機械学習モデルのパラメータセットとを定めるモデル学習手段、を備える
請求項1から請求項3のいずれか一項に記載の情報処理システム。
【請求項5】
機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める分布推定手段と、
前記確率分布を用いて前記量子化値を標本化して標本値を定める標本化手段と、
複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化手段と、を備える
符号化装置。
【請求項6】
符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成するエントロピー復号手段と、
機械学習モデルを用いて前記標本値に対応する確率分布を定める分布推定手段と、
前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める標本化手段と、を備える
復号装置。
【請求項7】
第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータと第2機械学習モデルのパラメータを定めるモデル学習手段を備え、
前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、
前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、
前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、
前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられる
モデル学習装置。
【請求項8】
コンピュータに、
請求項1から請求項
4のいずれか一項の情報処理システム、または、請求項
5から請求項
7のいずれか一項に記載の装置として機能させるためのプログラム。
【請求項9】
情報処理システムにおける情報処理方法であって、
第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定ステップと、
前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化ステップと、
第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定ステップと、
前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化ステップと、を有する
情報処理方法。
【請求項10】
符号化装置における符号化方法であって、
機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める第1ステップと、
前記確率分布を用いて前記量子化値を標本化して標本値を定める第2ステップと、
複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成する第3ステップと、を有する
符号化方法。
【請求項11】
復号装置における復号方法であって、
符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成する第1ステップと、
機械学習モデルを用いて前記標本値に対応する確率分布を定める第2ステップと、
前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める第3ステップと、を有する
復号方法。
【請求項12】
モデル学習装置におけるモデル学習方法であって、
第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータセットと第2機械学習モデルのパラメータセットを定めるステップを有し、
前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、
前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、
前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、
前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられる
モデル学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、符号化装置、復号装置、モデル学習装置、情報処理方法、符号化方法、復号方法、モデル学習方法、および、プログラムに関する。
【背景技術】
【0002】
非特許文献1には、オートエンコーダを用いた非可逆画像圧縮(lossy image compression)について記載されている。当該オートエンコーダは、符号化器(encoder)と復号器(decoder)を備える。符号化器に画像データが入力され、符号化器から出力される符号系列が復号器に入力される。復号器は、符号系列に基づいて再構成画像データを出力する。符号化器と復号器は、それぞれ畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用い、特徴量空間における確率モデルとして構成される。符号系列をなす個々の符号が量子化された特徴量を表現する。確率モデルの特性は、画像特徴量の確率分布を与えるためのパラメータで表される。符号系列のビットレート(bit rate)は確率分布に依存する。当該オートエンコーダのパラメータセットは、情報量に依存する損失関数(loss function)が最小化されるように更新される。
【先行技術文献】
【非特許文献】
【0003】
【文献】L. Theis, W. Shi, A. Cunningham, and F. Huszar, “Lossy Image Compression with Compressive Autoencoders”, International Conference on Learning Representations, 2017 (ICLR 2017), April 23-25, 2017
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習モデルのパラメータセットの学習では、損失関数のパラメータセットの更新量を算出する際、画像特徴量による微分値が用いられることがある。しかしながら、非特許文献1に記載のオートエンコーダでは、画像特徴量が量子化される。量子化後の画像特徴量である量子化画像特徴量では損失関数が微分不可能となる。そこで、量子化前の画像特徴量に対する量子化画像特徴量の微分値を1と仮定していた。そのため、学習により得られるパラメータセットは、最適解に収束するとは限られない。このことは、再構成画像データに示される再構成画像の品質が劣化する原因となっていた。他方、再構成画像の使用目的によっては、ある損失関数のもとで要求される品質が得られれば、もとの画像の忠実な再現までは要求されないこともある。
【0005】
本発明は、上記の課題を解決する情報処理システム、符号化装置、復号装置、モデル学習装置、情報処理方法、符号化方法、復号方法、モデル学習方法、および、プログラムを提供することを一つの目的とする。
【課題を解決するための手段】
【0006】
第1の態様によれば、情報処理システムは、第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定手段と、前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化手段と、第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定手段と、前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化手段と、を備える。
【0007】
第2の態様によれば、符号化装置は、機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める分布推定手段と、前記確率分布を用いて前記量子化値を標本化して標本値を定める標本化手段と、複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化手段と、を備える。
【0008】
第3の態様によれば、復号装置は、符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成するエントロピー復号手段と、機械学習モデルを用いて前記標本値に対応する確率分布を定める分布推定手段と、前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める標本化手段と、を備える。
【0009】
第4の態様によれば、モデル学習装置は、第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータと第2機械学習モデルのパラメータを定めるモデル学習手段を備え、前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられる。
【0010】
第5の態様によれば、情報処理システムにおける情報処理方法は、第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定ステップと、前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化ステップと、第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定ステップと、前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化ステップと、を有する。
【0011】
第6の態様によれば、符号化装置における符号化方法は、機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める第1ステップと、前記確率分布を用いて前記量子化値を標本化して標本値を定める第2ステップと、複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成する第3ステップと、を有する。
【0012】
第7の態様によれば、復号装置における復号方法は、符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成する第1ステップと、機械学習モデルを用いて前記標本値に対応する確率分布を定める第2ステップと、前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める第3ステップと、を有する。
【0013】
第8の態様によれば、モデル学習装置におけるモデル学習方法であって、第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータセットと第2機械学習モデルのパラメータセットを定めるステップを有し、前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられる。
【発明の効果】
【0014】
上記の態様によれば、第1機械学習モデルと第2機械学習モデルについて、所定の損失関数のもとで、より適切なモデルパラメータを取得することができる。そのため、出力値とする第2標本値の再現性を確保することができる。
【図面の簡単な説明】
【0015】
【
図1】第1構成例に係る情報処理システムを示す概略ブロック図である。
【
図2】第2構成例に係る情報処理システムを示す概略ブロック図である。
【
図3】第3構成例に係る情報処理システムを示す概略ブロック図である。
【
図4】逆方向演算部の構成例を示す概略ブロック図である。
【
図5】第4構成例に係る情報処理システムを示す概略ブロック図である。
【
図6】第5構成例に係る情報処理システムを示す概略ブロック図である。
【
図7】第6構成例に係る情報処理システムを示す概略ブロック図である。
【
図8】圧縮順方向処理部の構成例を示す概略ブロック図である。
【
図9】圧縮逆方向処理部の構成例を示す概略ブロック図である。
【
図10】ハードウェア構成例を示す概略ブロック図である。
【
図11】ニューラルネットワークの例を示す図である。
【
図12】第1構成例に係る情報処理方法の例を示すフローチャートである。
【
図13】第2構成例に係る情報処理方法の例を示すフローチャートである。
【
図14】第3構成例に係る情報処理方法の例を示すフローチャートである。
【
図15】第4構成例に係る情報処理方法の例を示すフローチャートである。
【
図16】第5構成例に係る情報処理方法の例を示すフローチャートである。
【
図17】第6構成例に係る情報処理方法の例を示すフローチャートである。
【
図18】情報処理システムの最小構成例を示す概略ブロック図である。
【
図19】符号化装置の最小構成例を示す概略ブロック図である。
【
図20】復号装置の最小構成例を示す概略ブロック図である。
【
図21】モデル学習装置の最小構成例を示す概略ブロック図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
まず、第1実施形態について説明する。
図1は、第1構成例に係る情報処理システム1aを示す概略ブロック図である。情報処理システム1aは、第1標本値生成部10aと第2標本値生成部20aを含んで構成される。
【0017】
第1標本値生成部10aは、入力される入力値102に対する標本値(sampled value)を第1標本値として生成する。入力値102は、量子化対象(quantization target)とする各1個のスカラー値である。第1標本値は、入力値102に対応する1個の量子化値(quantized value)である。第1標本値生成部10aは、第1分布推定部106と第1標本化部108を含んで構成される。
【0018】
第1分布推定部106は、所定の第1機械学習モデルを用いて入力値102に対応する量子化値の確率分布(probability distribution)を第1確率分布として推定する。第1分布推定部106は、推定した第1確率分布を第1標本化部108に出力する。第1分布推定部106には、パラメータセット104のうち、第1機械学習モデルの演算に用いられるパラメータ群を予め設定しておく。本願では、機械学習モデルの演算に用いられるパラメータ群を、「モデルパラメータ(model parameters)」または「パラメータセット(parameter set)」と呼ぶことがある。
【0019】
第1分布推定部106は、第1機械学習モデルに基づいてパラメータセットθ,φを用いて、入力値zに対応する離散確率分布(discrete probability distribution)を第1確率分布として算出する。第1確率分布は、所定の値域(range)に含まれる個々の量子化値(quantized value)の確率をもって表される。量子化値は、標本値の候補(candidate)となる。第1機械学習モデルは、例えば、量子化値nごとに、量子化値nの事前確率(prior probability)と量子化値nを条件とする入力値zの条件付き確率(conditional probability)との積を正規化した確率を含む確率分布を第1確率分布として定める混合モデル(mixture model)である。正規化は、値域内の量子化値nごとの積の総和で除算して実現される。より具体的には、第1分布推定部106は、入力値zに対応する量子化値nの確率p(n|z,θ,φ)を式(1)に示す事後確率(posterior distribution)として算出することができる。
【0020】
【0021】
p(n,φ)、p(m,φ)は、それぞれ量子化値n、mの事前確率を示す。但し、p(n,φ)、p(m,φ)は、それぞれパラメータセットφのもとでの所定の連続関数を用いて算出される。p(z|n,θ)、p(z|m,θ)は、それぞれ量子化値n,mが得られることを条件とする入力値zの条件付き確率を示す。但し、条件付き確率p(z|n,θ)、p(z|m,θ)は、それぞれパラメータセットφのもとで事前確率p(n,φ)、p(m,φ)とは独立な連続関数を用いて算出される。即ち、式(1)は、事前確率(n,φ)と条件付き確率p(z|n,θ)の積である頻度を、値域内の量子化値mの頻度の総和で正規化して、量子化値nの確率p(n|z,θ,φ)が得られることを示す。記憶部120には、それぞれパラメータセットφ、θを用いて算出した条件付き確率p(z|n,θ)、p(z|m,θ)、事前確率p(n,φ)、p(m,φ)を、予め記憶しておいてもよい。
【0022】
第1分布推定部106は、例えば、条件付き確率p(z|n,θ)、事前確率p(n,φ)等を混合ガウスモデル(GMM:Gaussian Mixture Model)を用いて算出することができる。混合ガウスモデルは、所定数の正規分布(normal distribution, Gaussian function)を基底関数(basic function)とし、連続確率分布(continuous probability distribution)をこれらの基底関数の線形結合(linear combination)として表す数理モデルである。従って、パラメータセットθ、φには、それぞれ個々の正規分布のパラメータである重み係数(weight)、平均値(mean)および分散(variance)が含まれる。これらのパラメータは、いずれも実数値(real number)で表現される。従って、条件付き確率p(z|n,θ)、事前確率p(n,φ)、ならびに、これらを用いて定まる量子化値ごとの確率は、上記のパラメータに対して微分可能(differentiable)となる。なお、第1標本値やその候補である個々の量子化値は、必ずしも整数値である必要はない。個々の量子化値は、それぞれ異なる符号であってもよい。
【0023】
第1標本化部108は、第1分布推定部106から入力される第1確率分布に従って、設定された値域から1つの量子化値を標本化し(sampling)、標本化された量子化値を第1標本値として定める。第1標本化部108は、定めた第1標本値を第2標本値生成部20aに出力する。
【0024】
より具体的には、第1標本化部108は、第1確率分布で示される量子化値ごとに与えられた確率で、疑似乱数(pseudo random number)を用いて1個の量子化値を選択する。
【0025】
第2標本値生成部20aは、入力される第1標本値に対応する1個の量子化値として第2標本値として生成する。第2標本値生成部20aは、第2分布推定部114と第2標本化部116を含んで構成される。
【0026】
第2分布推定部114は、所定の第2機械学習モデルを用いて、第1標本値に対応する確率分布を第2確率分布として推定する。但し、推定される第2確率分布は、所定の値域における値の出現確率を示す連続分布である。第2分布推定部114は、推定した第2確率分布の情報を第2標本化部116に出力する。第2確率分布の情報には、例えば、第2確率分布のパラメータが含まれればよい。第2分布推定部114には、パラメータセット104のうち、第2機械学習モデルの演算に用いられるパラメータ群を予め設定しておく。第2機械学習モデルは、第1機械学習モデルと同様の数理モデルであってもよいし、異なっていてもよい。第2確率分布もGaussianを用いて表現することができる。その場合、第2確率分布のパラメータは、平均値、および分散となる。
【0027】
第2標本化部116は、第2分布推定部114から入力される第2確率分布の情報に従って、設定された値域から1つの量子化値を標本化し、標本化された量子化値を第2標本値として定める。つまり、第2標本化部116は、値域内のいずれかの実数を第2確率分布で与えられる確率で疑似乱数を用いて選択し、選択した実数を量子化して第2標本値を定める。第2標本化部116は、定めた第2標本値を出力値118として出力する。出力値118の出力先は、第2標本化部116を収容する機器の機能部もしくは記憶部であってもよいし、当該機器とは別個の外部機器であってもよい。
【0028】
なお、第1標本値生成部10aと第2標本値生成部20aは、それぞれ単一の標本値生成装置として構成されてもよい。その場合、第1標本値生成部10aと第2標本値生成部20aは、各種のデータを送受信可能に送受信可能に接続されてもよいし、第1標本値生成部10aが出力した第1標本値が一時的または永続的に記憶媒体に記憶されてもよい。第1標本値は、第2標本値生成部20aにより記憶媒体から読み取り可能とされてもよい。
【0029】
図12は、第1構成例に係る情報処理方法の例を示すフローチャートである。
(ステップS102)第1分布推定部106は、第1機械学習モデルを用いて入力値102に基づいて量子化値の第1確率分布を推定する。
(ステップS104)第1標本化部108は、第1確率分布を用いて設定された値域から1つの量子化値を標本化し、標本化した量子化値を第1標本値として定める。
(ステップS106)第2分布推定部114は、第2機械学習モデルを用いて、第1標本値に基づいて第2確率分布を定める。
(ステップS108)第2標本化部116は、第2確率分布を用いて、設定された値域から1つの量子化値を標本化し、標本化した量子化値を第2標本値として定め、出力値118として出力する。その後、
図12に示す処理を終了する。
【0030】
従って、情報処理システム1aは、入力値102に対する量子化値を出力値118として取得するための量子化器(quantizer)として機能する。また、第2標本値は、入力値102から得られた符号である第1標本値と対応付けられるとは限らない。即ち、情報処理システム1aは、入力値102に対応する出力値118を非決定的(non-deterministically)に定めることができる。ここで「非決定的」とは、ある規範(standard)において、ある程度の拘束(constraint)をもって処理結果(出力結果)が得られることを表すとも言える(本願において以下同様)。
モデル学習の対象は、第1機械学習モデルと第2機械学習モデルのそれぞれパラメータセットとなる。後述するように、それぞれのパラメータセットは、値域における確率値を定めるための連続関数の実数値であるパラメータを含むため、損失関数は、これらのパラメータに対する微分が可能となる。そのため、これらのパラメータセットは、少なくとも入力値102と出力値118に基づいて定まる損失関数のもとで最適化することができる。よって、出力値118とする第2標本値の入力値102からの乖離が抑制されるので、その再現性が確保される。
【0031】
次に、第2構成例に係る情報処理システム1bについて説明する。以下の説明は、上記の構成例との差異点を主とする。上記の構成例と共通の機能、構成については、特に断らない限り、その説明を援用する。
図2は、第2構成例に係る情報処理システム1bを示す概略ブロック図である。情報処理システム1bは、符号化装置10bと復号装置20bを含んで構成される。
【0032】
符号化装置10bは、複数の入力値102を含んで構成される入力系列(input sequence)を符号化し、符号系列(code sequence)を生成する。符号系列は、ビットストリーム(bit-stream)と呼ばれることもある。符号化装置10bは、生成した符号系列を復号装置20bに出力する。符号化装置10bは、第1分布推定部106、第1標本化部108、およびエントロピー符号化部110を含んで構成される。
【0033】
第1分布推定部106は、入力系列をなす各1個の入力値を選択し、選択した入力値に対して量子化値の第1確率分布を推定する。個々の入力値は、その順序で入力系列から選択される。
第1標本化部108は、第1確率分布を用いて定めた第1標本値をエントロピー符号化部110に出力する。
【0034】
エントロピー符号化部110は、第1標本化部108から入力される第1標本値をその順序で集積し、所定の個数(本願では、サンプル数(number of samples)と呼ぶことがある。サンプル数は、2以上の予め設定された整数)の第1標本値を含むデータ系列(data sequence)を形成する。エントロピー符号化部110は、形成されたデータ系列に対して公知のエントロピー符号化(entropy encoding)を行い、符号系列を生成する。エントロピー符号化部110は、生成した符号系列を復号装置20bに出力する。エントロピー符号化部110は、エントロピー符号化法として、例えば、算術符号化(arithmetic coding)、非対称数系(asymmetric numeral system)、ハフマン符号化(Huffman coding)など、いずれの方式を用いてもよい。
【0035】
復号装置20bは、符号系列を復号し(復号化し)、複数の出力値118を含んで構成される出力系列(output sequence)を生成する。復号装置20bは、エントロピー復号部112、第2分布推定部114、および第2標本化部116を含んで構成される。
【0036】
エントロピー復号部112は、エントロピー符号化部110から入力される符号系列に対してエントロピー復号を行い、データ系列を復元する。エントロピー復号部112は、エントロピー復号法として、入力される符号系列の生成に用いられたエントロピー符号化法に対応する復号法を用いればよい。エントロピー復号部112は、復元したデータ系列を第2分布推定部114に出力する。
【0037】
第2分布推定部114には、エントロピー復号部112からデータ系列が入力される。第2分布推定部114は、入力されたデータ系列をなす各1個の第1標本値を選択し、第2機械学習モデルを用いて、選択した第1標本値に基づいて量子化値の第2確率分布を定める。個々の第1標本値は、その順序でデータブロックから選択される。
【0038】
図13は、第2構成例に係る情報処理方法の例を示すフローチャートである。
図14に示す処理は、
図13に示す処理に対して、さらにステップS122、S124の処理を有する。
ステップS102において、第1分布推定部106は、入力系列をなす各1個の入力値を処理対象として選択する。ステップS102、S104の処理が所定のサンプル数に相当する回数繰り返された後、ステップS122の処理に進む。
【0039】
(ステップS122)エントロピー符号化部110は、サンプル数の第1標本値が得られる順序で集積してデータ系列を形成する。エントロピー符号化部110は、形成したデータ系列に対してエントロピー符号化を行って符号系列を生成する。
(ステップS124)エントロピー復号部112は、生成された符号系列に対してエントロピー復号を行い、第1標本値を含むデータ系列を復元する。その後、ステップS106の処理に進む。
ステップS106において、第2分布推定部114は、復元されたデータ系列をなす1個の第1標本値を処理対象として選択する。ステップS106、S108の処理が所定のサンプル数に相当する回数繰り返された後、
図13に示す処理が終了する。
【0040】
従って、情報処理システム1bでは、非決定的な量子化がデータ圧縮に応用される。符号化装置10bによれば、入力系列よりも情報量が圧縮された符号系列が得られる。復号装置20bによれば、入力系列が量子化された出力系列が符号系列から再構成される。そのため、エントロピー符号化によるデータ圧縮を伴っても出力値の再現性が確保される。
【0041】
次に、第3構成例に係る情報処理システム1cについて説明する。以下の説明では、上記の構成例との差異点を主とする。上記の構成例と共通の機能、構成については、特に断らない限り、その説明を援用する。
図3は、第3構成例に係る情報処理システム1cを示す概略ブロック図である。情報処理システム1cは、モデル学習部30cを含んで構成される。情報処理システム1cは、単一のモデル学習装置として実現されてもよい。
【0042】
モデル学習部30cは、教師あり学習(supervised learning)を行って、第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットを定めることができる。モデル学習部30cは、既知の入力値102を複数個含んで構成される訓練データ(training data)を取得する。訓練データは、教師データ(supervised data)とも呼ばれる。モデル学習部30cは、個々の入力値102に対して算出される推定値と目標値との差の大きさと、データサイズ124とにより定まる損失関数(loss function)が訓練データ全体として減少するように(最適化, optimization)第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットを再帰的に(recursively)更新する(モデル学習)。本実施形態では、モデル学習部30cは、個々の入力値102に対する目標値として、その入力値102を用いることができる。入力値102と目標値は、それぞれ説明変数(explanatory variable)と目的変数(objective variable)に相当する。
【0043】
損失関数は、入力値から算出される推定値と目標値との差の大きさを示す第1因子とデータサイズ124を示す第2因子を合成した関数である。第1因子は、歪(distortion)とも呼ばれる。データサイズ124は、入力値を標本化した第1標本値の情報量を示す。
モデル学習部30cは、その値が収束するまでパラメータセットの更新を繰り返す。モデル学習部30cは、例えば、更新前後の損失関数の変化量が、所定の変化量の閾値以下になったか否かに基づいて収束したか否かを判定することができる。モデル学習部30cは、収束したか否かの判定を行わずに、パラメータセットの更新を予め設定された回数分繰り返してもよい。
【0044】
なお、本願では、「最適化」とは、絶対的に最適なパラメータセットを求めることに限らず、できるだけ適切なパラメータセットを探索するという意味を含む。そのため、最適化に係る処理において、損失関数が一時的に増加することもありうる。モデル学習部30cには、パラメータセットの更新において、最適化を実現するための手法として勾配法(gradient method)が適用可能である。勾配法は、次の(1)-(3)のステップを繰り返す手法である。
(1)損失関数のパラメータセットに対する勾配を計算する、(2)損失関数をより低減させるようにパラメータセットの変化量を定める、(3)定めた変化量を用いてパラメータセットを更新する。
勾配法には、最急降下法(steepest descent)、確率的勾配降下法(stochastic gradient descent)、などの手法が含まれる。それぞれの手法に適合するようにパラメータセットの更新量を算出するための処理手順が変形されてもよい。なお、モデル学習部30cは、教師なし学習(unsupervised learning)を行って、第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットを定めてもよい。
【0045】
モデル学習部30cは、量子化部32c、損失関数演算部36c、量子化勾配演算部38c、パラメータ更新部39c、および記憶部120を含んで構成される。記憶部120は、RAM(Random Access Memory)などの揮発性記憶媒体(volatile memory medium)とROM(Read-Only Memory)などの不揮発性記憶媒体(non-volatile memory medium)を含んで構成される。記憶部120には、モデル学習部30cにおいて用いられる、もしくは、モデル学習部30cで生成される各種のデータ、などを記憶する。記憶されるデータには、一連の演算の過程で算出される中間値、訓練データ、その時点において設定されたパラメータセット104などが含まれる。
【0046】
量子化部32cは、入力値102を量子化し、量子化により得られる量子化値を出力値118として出力するとともに、第1標本値のデータサイズ124を推定する。
量子化部32cは、第1分布推定部106、順方向演算部34c、およびデータサイズ推定部122を含んで構成される。順方向演算部34cは、第1標本化部108、第2分布推定部114、および第2標本化部116を含んで構成する。順方向演算(forward pass calculation)とは、一連の量子化処理と共通のステップを、その順序で実行する演算、処理、または、それらの組み合わせを意味する。
【0047】
第1分布推定部106は、推定した第1確率分布をデータサイズ推定部122に出力し、記憶部120に記憶する。
データサイズ推定部122は、第1分布推定部106から入力された第1確率分布と量子化値ごとの事前確率に基づいて第1標本値のデータサイズ124の期待値として算出する。本願では、データサイズ124の期待値を、単に「データサイズ」または「データサイズ124」と呼ぶことがある。データサイズ推定部122にも第1分布推定部106、第2分布推定部114と同様に、量子化値nごとの事前分布p(n,ρ)を予め設定しておいてもよい。データサイズ推定部122は、例えば、第1確率分布w(n)と事前分布p(n,ρ)との相互エントロピー(cross entropy)-Σnw(n)log(p(n,ρ))をデータサイズ124(単位:ビット数)として算出することができる。第1確率分布w(n)は、上記の確率分布p(n|z,θ,φ)に相当する。データサイズ推定部122は、推定したデータサイズ124を記憶部120に記憶する。
【0048】
損失関数演算部36cは、損失関数(loss function)の導関数(derivative)を勾配(gradient)として算出する。損失関数は、上記のように第1因子と第2因子とを合成した関数値を与える。第1因子は、例えば、平均二乗誤差、絶対値和、などのいずれであってもよい。第2因子は、データサイズ自体、またはデータサイズの増加に対して単調に(monotonically)増加する関数であればよい。第1因子と第2因子との合成は、第1因子の増加に伴い損失関数が単調に増加し、第2因子の増加に伴い損失関数が単調に増加する演算であればよい。第1因子と第2因子の合成は、例えば、単純和、各成分に対する予め定めた重み係数を用いた加重和などのいずれであってもよい。
【0049】
損失関数演算部36cは、その時点で最新の入力値102、出力値118、およびデータサイズ124から予め定めた計算式に従って、損失関数の出力値118での偏微分(partial differential)である導関数(derivative)を出力値勾配(gradient with respect to output value)142として算出する。また、損失関数演算部36cは、入力値102、出力値118、およびデータサイズ124から所定の他の計算式に従って、損失関数のデータサイズ124の導関数をデータサイズ勾配(gradient with respect to data size)144として算出する。損失関数演算部36cは、算出した出力値勾配142とデータサイズ勾配144を量子化勾配演算部38cに出力する。
【0050】
量子化勾配演算部38cは、損失関数演算部36cから入力される出力値勾配142とデータサイズ勾配144から入力値勾配132とパラメータ勾配134を算出する。量子化勾配演算部38cは、逆方向演算部130、データサイズ勾配演算部136、加算部137、および、分布勾配演算部138を含んで構成される。
【0051】
逆方向演算部130は、損失関数演算部36cから入力される出力値勾配142から一次第1確率分布勾配と一次パラメータ勾配を算出し、算出した一次第1確率分布勾配を加算部137に出力する。一次第1確率分布勾配は、第1確率分布を構成する量子化値ごとの確率で損失関数を偏微分して得られる導関数を要素として有する。「一次」等は、他のステップで算出される「パラメータ勾配」と区別するために付された語である。一次パラメータ勾配は、パラメータセット104を構成する個々のパラメータで損失関数を偏微分して得られる導関数を要素として有する。逆方向演算部130は、算出した一次パラメータ勾配をパラメータ勾配134の一部としてパラメータ更新部39cに出力する。後述するように、逆方向演算部130は、出力値118と第1確率分布を用いて一次確率分布勾配134aを算出し、算出した一次確率分布勾配134aを加算部137に出力する。逆方向演算部130の構成例については、後述する。
【0052】
データサイズ勾配演算部136は、損失関数演算部36cから入力されるデータサイズ勾配144から二次パラメータ勾配と二次第1確率分布勾配を逆方向演算部130とは別個に算出し、算出した二次第1確率分布勾配を加算部137に出力する。データサイズ勾配演算部136は、算出した二次パラメータ勾配をパラメータ勾配134の一部としてパラメータ更新部39cに出力する。なお、第1確率分布はデータサイズ推定部122への入力である点で、データサイズ勾配演算部136での演算順序は、データサイズ推定部122での演算順序と逆となる。
【0053】
加算部137は、逆方向演算部130とデータサイズ勾配演算部136のそれぞれから入力される一次第1確率分布勾配と二次第1確率分布勾配を要素ごとに加算し、加算により得られる加算値を含む三次第1確率分布勾配を分布勾配演算部138に出力する。
【0054】
分布勾配演算部138は、加算部137から入力される三次第1確率分布勾配を用いて、損失関数の第1機械学習モデルのパラメータセットに対する勾配を三次パラメータ勾配として計算し、計算した三次パラメータ勾配をパラメータ勾配134の一部として出力する。分布勾配演算部138は、入力される三次第1確率分布勾配について入力値102に対する勾配を入力値勾配132として計算し、計算した入力値勾配132をパラメータ更新部39cに出力する。
【0055】
パラメータ更新部39cは、量子化勾配演算部38cから入力されるパラメータ勾配134に基づいてパラメータセット104の更新量を定め、定めたパラメータの更新量をその時点におけるパラメータセット104に加算して新たなパラメータセット104を算出する。パラメータ更新部39cは、一次パラメータ勾配、二次パラメータ勾配、および三次パラメータ勾配に基づいて、それぞれ対応するパラメータセットの更新量を算出することができる。
【0056】
パラメータ更新部39cは、算出したパラメータセット104を更新後のパラメータセット104として記憶部120に記憶する。更新後のパラメータセット104のうち第1機械学習モデルのパラメータセットと第2機械学習モデルのパラメータセットは、それぞれ第1分布推定部106および第2分布推定部114に設定される。
なお、本構成例では、入力値勾配132はパラメータセット104の更新量の計算に用いられない。そのため、モデル学習部30cにおいて入力値勾配132を算出するための処理または構成が省略されてもよい。
【0057】
図14は、第3構成例に係る情報処理方法の例を示すフローチャートである。
図14に示す処理は、第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットを算出するためのモデル学習処理である。当該処理は、
図12に示す処理に対して、さらにステップS130-S144の処理を有する。
図14に示す処理は、1回のパラメータセットの更新に係る処理である。モデル学習では、通例、
図14に示す処理が複数回繰り返される。
【0058】
(ステップS130)データサイズ推定部122は、第1確率分布と量子化値ごとの事前確率に基づいて第1標本値のデータサイズ124の期待値を算出する。
(ステップS132)損失関数演算部36cは、最新の入力値102、出力値118、およびデータサイズ124から出力値勾配142とデータサイズ勾配144を算出する。
【0059】
(ステップS134)逆方向演算部130は、出力値勾配142から一次第1確率分布勾配と一次パラメータ勾配を算出する。逆方向演算部130は、一次パラメータ勾配をパラメータ勾配134の一部としてパラメータ更新部39cに出力する。
(ステップS136)データサイズ勾配演算部136は、データサイズ勾配144から二次第1確率分布勾配と二次パラメータ勾配を算出する。データサイズ勾配演算部136は、二次パラメータ勾配をパラメータ勾配134の一部としてパラメータ更新部39cに出力する。
(ステップS138)加算部137は、一次第1確率分布勾配と二次第1確率分布勾配を加算して三次第1確率分布勾配を算出する。
【0060】
(ステップS140)分布勾配演算部138は、第1確率分布勾配を用いて、三次パラメータ勾配と入力値勾配132を算出する。
(ステップS142)分布勾配演算部138は、三次パラメータ勾配と入力値勾配132をパラメータ更新部39cに出力する。
(ステップS144)パラメータ更新部39cは、パラメータ勾配134(一次-三次パラメータ勾配を含む)に基づいて、パラメータセット104の更新量を計算し、計算した更新量をその時点のパラメータセット104に加算して、当該パラメータセット104を更新する。モデル学習部30cは、損失関数またはパラメータセット104の変化量が所定の閾値以下に収束するまで
図14の処理を繰り返し、その後、
図14の処理を終了する。
【0061】
なお、
図14に示す処理において、ステップS102の処理の後、ステップS130の処理が開始されうる。ステップS130の処理は、ステップS104、S106およびS108と並列でもよいし、ステップS108の終了後であってもよい。
【0062】
図3に戻り、逆方向演算部130の構成例について説明する。逆方向演算部130は、分布関数演算部148、累積密度関数勾配演算部150、除算部152、乗算部154、および反転部156を含んで構成される。
【0063】
分布関数演算部148は、記憶部120に記憶された出力値118と第1確率分布を読み出し、読み出した出力値118と第1確率分布wnから式(2)に示す関係を用いて出力値118に係る確率分布関数p(z’)を定める。上記のように出力値118は、第2標本値に相当する。
【0064】
【0065】
式(2)において、z’は、出力値118を示す。wnは、第1確率分布を示す。第1確率分布wnは、上記の量子化値nごとの確率p(n|z,θ,φ)に相当する。nは、値域内の量子化値を示す。即ち、式(2)は、予め定めた出力値z’の条件付き確率p(z’|n,θ)の確率wnを重みとする加重和を確率分布関数p(z’)として算出できることを示す。条件付き確率p(z’|n,θ)は、上記の、量子化値nを与えた場合の第2確率分布に相当する。式(2)において、θは、第2分布推定部のパラメータセットを示す。
分布関数演算部148は、定めた確率分布関数p(z’)を除算部152に出力する。
【0066】
累積密度関数勾配演算部150は、記憶部120に記憶された出力値z’と第1確率分布を読み出し、読み出した出力値z’と第1確率分布wnから、出力値z’の確率分布関数p(z’)の累積密度関数CDF C(z’)の確率分布勾配と、そのCDFのパラメータ勾配を算出する。CDF C(z’)の確率分布勾配は、CDF C(z’)をなす累積確率を、その量子化値nの確率wnで偏微分した導関数を要素として含むベクトルである。CDF C(z’)のパラメータ勾配は、CDF C(z’)をなす累積確率のパラメータセット104の各パラメータで偏微分した導関数を要素として含むベクトルである。累積密度関数勾配演算部150は、算出したCDFの確率分布勾配とCDFのパラメータ勾配を、それぞれ累積密度関数確率分布勾配と累積密度関数パラメータ勾配として除算部152に出力する。
【0067】
除算部152は、累積密度関数勾配演算部150から入力された累積密度関数確率分布勾配の行列要素を、分布関数演算部148から入力される確率分布関数p(z’)で、除算することにより正規化された除算値を算出する。除算部152は、算出された除算値を要素として含む正規化累積密度関数確率分布勾配を乗算部154に出力する。
除算部152は、累積密度関数勾配演算部150から入力された累積密度関数パラメータ勾配のベクトル要素を、分布関数演算部148から入力される確率分布関数p(z’)で除算することにより正規化された除算値を算出する。除算部152は、算出された除算値を要素として含む正規化累積密度関数パラメータ勾配を乗算部154に出力する。
【0068】
乗算部154には、損失関数演算部36cから出力値勾配142が入力され、除算部152から正規化累積密度関数確率分布勾配と正規化累積密度関数パラメータ勾配が入力される。乗算部154は、出力値勾配142に累積密度関数確率分布勾配を乗算して第1乗算値ベクトルを算出する。乗算部154は、出力値勾配142に累積密度関数パラメータ勾配を乗算して第2乗算値ベクトルを算出する。乗算部154は、算出した第1乗算値ベクトルと第2乗算値ベクトルを反転部156に出力する。
【0069】
反転部156は、乗算部154から入力された第1乗算値ベクトルと第2乗算値ベクトルの極性(正負,polarity)を反転し(negate)、極性を反転した第1乗算値ベクトルを一次確率分布勾配134aとして加算部137へ出力する。一次確率分布勾配134aは、累積密度関数C(z’)の逆関数C(z’)-1の第1確率分布wnに対する勾配に相当する。反転部156が極性を反転した第2乗算値ベクトルは一次パラメータ勾配に相当する。反転部156は、一次パラメータ勾配をパラメータ勾配134の一部としてパラメータ更新部39cに出力する。
【0070】
図15は、逆方向演算の例を示すフローチャートである。
図15の処理の全体は、ステップS134(
図14)の処理に相当する。
(ステップS152)分布関数演算部148は、出力値118と第1確率分布から出力値118に係る確率分布関数、つまり、第2確率分布関数を定める。
(ステップS154)累積密度関数勾配演算部150は、出力値118と第1確率分布から出力値118に係る累積密度関数確率分布勾配と累積密度関数パラメータ勾配を算出する。
【0071】
(ステップS156)除算部152は、累積密度関数確率分布勾配と累積密度関数パラメータ勾配を確率分布関数で正規化して累積正規化密度関数確率分布勾配と正規化累積密度関数パラメータ勾配を算出する。
(ステップS158)乗算部154は、出力値勾配142に正規化密度関数確率分布勾配と正規化累積密度関数パラメータ勾配をそれぞれ乗算して第1乗算値ベクトルと第2乗算値ベクトルを算出する。
(ステップS160)反転部156は、第1乗算値ベクトルと第2乗算値ベクトルの極性を反転し、それぞれ確率分布勾配134a、一次パラメータ勾配として定める。その後、
図15の処理を終了する。
【0072】
ここで、逆方向演算部130において算出される一次確率分布勾配134a ∂L/∂wnについて検討する。確率分布勾配134a ∂L/∂wnは、式(3)に示すように、出力値勾配∂L/∂z’と出力値z’の確率密度wnの導関数∂z’/∂wnの積となる。式(3)において、Lは損失関数を示す。但し、式(3)に示す一次確率分布勾配134aでは、データサイズが一定であることを前提としている。
【0073】
【0074】
パラメータ勾配134 ∂L/∂θは、式(4)に示すように、出力値勾配∂L/∂z’と出力値z’のパラメータθの導関数∂z’/∂θの積となる。
【0075】
【0076】
従って、逆方向演算部130によれば、出力値z’の第1確率分布wnについての勾配(以下、「出力値確率分布勾配」)∂z’/∂wnは、式(5)に示すように、除算部152において、累積密度関数確率分布勾配∂C(z’)/∂wnを確率密度関数p(z’)で正規化して算出される正規化累積密度関数確率分布勾配の符号を反転して得られる。式中の「/」は割り算を表す記号である(以下、同様)。
【0077】
【0078】
次に、パラメータセットθの更新に用いられるパラメータ勾配について検討する。本構成例では、出力値z’のパラメータセットθについての勾配(以下、「出力値パラメータ勾配」)∂z’/∂θは、式(6)に示すように、累積密度関数パラメータ勾配∂C(z’)/∂θを確率密度関数p(z’)で正規化して算出される正規化累積密度関数パラメータ勾配の符号を反転して得られる。
【0079】
【0080】
式(5)、(6)は、以下のように導出することができる。上記のように、出力値z’は、入力値zに対して、第1分布推定部106、第1標本化部108、第2分布推定部114、および第2標本化部116の処理を経て得られる。出力値z’は、式(2)に示す連続分布p(z’)を用いて標本化して得られる。他方、標本化は、一様乱数を用いてなされる(uniform random sample)ため、パラメータセットθ、第1確率分布wnとは独立となる。ここで、標本化関数をu(θ, wn)(C(z’)に相当)と表すと、標本化関数u(θ, wn)のパラメータ勾配∂u(θ, wn)/∂θも、標本化関数u(θ, wn)の確率密度勾配∂u(θ, wn)/∂wnもゼロとなる。
よって、連鎖律(chain rule)によれば、式(7)に示す関係が成立する。
【0081】
【0082】
また、式(7)において、パラメータセットθを第1確率分布wnに代えても、式(8)に示す関係が成立する。
【0083】
【0084】
但し、式(7)、(8)において、C-1(u)は、累積密度関数C(z’)の逆関数である。逆関数C-1(u)の値は、出力値118 z’に相当する。そして、逆関数C-1(u)の確率分布wnに対する勾配∂C-1(u)/∂wnと、パラメータセットに対する勾配∂C-1(u)/∂θは、それぞれ出力値z’の確率分布wnに対する勾配∂z’/∂wnと、出力値z’のパラメータセットθに対する勾配∂z’/∂θに相当する。また、勾配∂C(z’)/∂z’は、p(z’)に相当する。よって、式(7)、(8)から、式(5)、(6)をそれぞれ導くことができる。
【0085】
なお、勾配∂C-1(u)/∂wn、∂C-1(u)/∂θは、それぞれ確率分布勾配、パラメータ勾配に相当する。このことは、第2分布推定部114にかかるパラメータθに対して損失関数が微分可能であることを示す。つまり、本構成例に係るモデル学習によれば、第2分布推定部114にかかるパラメータθが損失関数を基準として数理的に算出可能であることを示す。ここで、モデル学習において陽に(explicitly)C-1(u)を計算せずとも、勾配∂C-1(u)/∂wn、∂C-1(u)/∂θを計算できる。そのため、本構成例によれば、簡素な演算により損失関数Lを基準とするモデル学習を実現することができる。
【0086】
<第2実施形態>
次に、第2実施形態について説明する。第4構成例に係る情報処理システム1dについて説明する。以下の説明は、上記の構成例との差異点を主とする。上記の構成例と共通の機能、構成については、特に断らない限り、その説明を援用する。
図5は、第4構成例に係る情報処理システム1dを示す概略ブロック図である。情報処理システム1dは、データ圧縮部10dとデータ再構成部20dを含んで構成される。
【0087】
データ圧縮部10dは、入力データ158で伝達される特性を示す第1特性値を解析し、第1特性値を含む1個または複数の入力値102のそれぞれに対して第1標本値を定める。データ再構成部20dは、定められた第1標本値から第2標本値を定める。データ再構成部20dは、1個または複数の定めた第2標本値を含む第2特性値が表す特性を伝達する出力データを生成する。
【0088】
入力データ158は、画像データ、音声データ、気象データ、などの物理的な特性を示すデータであってもよいし、経済指標データ、価格データ、などの人為的な情報を示すデータであってもよい。入力データ158は、複数のサンプル値を含んで構成され、圧縮してその特性が表現される特性値から不可逆に再構成されることが許容されるデータであればよい。また、伝達される特性とは、その時間的変化、空間的変化、統計的性質など、個々の入力データをなす複数サンプル全体の特徴を意味する。
【0089】
データ圧縮部10dは、特性解析部162、第1分布推定部106、および第1標本化部108を含んで構成される。
【0090】
特性解析部162は、入力される入力データ158の特性を所定の解析モデルを用いて解析し、その特性を示す第1特性値を定める。特性解析部162は、定めた第1特性値を第1分布推定部106に出力する。入力データ158が、画素ごとの信号値を示す画像データである場合には、特性解析部162は、例えば、画像特徴量を第1特性値として解析する。解析モデルは、予め定めた種類の特性値を算出するための数理モデルであってもよいし、ニューラルネットワークなどの機械学習モデルであってもよい。解析対象とする画像特徴量は、例えば、輝度勾配、エッジ分布、などの特定の種類の画像特徴量であってもよいし、ニューラルネットワークを構成する階層(layer)のうち、所定の階層に含まれる節点(node)ごとの出力値であってもよい。本願では、特性解析部162が用いる機械学習モデルを、「第3機械学習モデル」と呼ぶことで、他の機械学習モデルと区別する。
【0091】
第1分布推定部106は、第1特性値に含まれる1個または複数の要素値について、個々の要素値を入力値とし、第1の構成例と同様に1個の入力値ごとに量子化値の第1確率分布を推定する。
【0092】
データ再構成部20dは、第2分布推定部114、第2標本化部116、データ生成部164を含んで構成される。データ生成部164は、第2標本化部116から入力される1個または複数の第2標本値を要素として含む第2特性値に対して、所定の生成モデルを用いて第2特性値で示される特性を有する再構成データを出力データ190として生成する。データ生成部164による第2特性値から出力データ190の生成は、入力データ158から第1特性値への解析との逆処理に相当する。生成モデルは、予め定めた種類の特性値で示される特性を有するデータを生成するための数理モデルであってもよいし、ニューラルネットワークなどの機械学習モデルであってもよい。本願では、データ生成部164が用いる機械学習モデルを、「第4機械学習モデル」と呼ぶことで、他の機械学習モデルと区別する。
【0093】
図16は、第4構成例に係る情報処理方法の例を示すフローチャートである。
図16に示す処理は、
図12に示す処理に対して、さらにステップS202、S204の処理を有する。
(ステップS202)特性解析部162は、入力データ158の特性を解析し、その特性を示す第1特性値を定める。その後、第1特性値を示す入力値の個数に相当する回数、ステップS102、S104、S106、および、S108の処理を繰り返し、その後、ステップS204の処理に進む。
(ステップS204)データ生成部164は、ステップS108の処理により定められた所定の個数の第2標本値を第2特性値として特定し、特定した第2特性値で示される特性を有する再構成データを出力データ190として生成する。
その後、
図16の処理を終了する。
【0094】
上記のように、情報処理システム1aで実現される非決定的量子化が特性解析部162とデータ生成部164を備えた情報処理システム1dに応用される。特性解析部162は、入力データ158の特性を示す第1特性値を定める。第1特性値は、第1分布推定部106への入力値として用いられる。そのため、入力データ158の第1特性値への変換によるデータ圧縮を行いながら、入力データ158の特性を極力失わずに出力データ190が再構成される。
【0095】
次に、第5構成例に係る情報処理システム1eについて説明する。以下の説明は、上記の構成例との差異点を主とする。上記の構成例と共通の機能、構成については、特に断らない限り、その説明を援用する。
図6は、第5構成例に係る情報処理システム1eを示す概略ブロック図である。情報処理システム1eは、符号化装置10eと復号装置20eを含んで構成される。
【0096】
符号化装置10eは、入力データ158を符号化し、符号系列を生成する。符号化装置10eは、生成した符号系列を復号装置20eに出力する。符号化装置10eは、特性解析部162、第1分布推定部106、第1標本化部108、およびエントロピー符号化部110を含んで構成される。
第1標本化部108は、第2構成例と同様に、第1確率分布を用いて定めた第1標本値をエントロピー符号化部110に出力する。
エントロピー符号化部110は、第2構成例と同様に、第1標本化部108から入力される第1標本値を集積してなるデータ系列に対してエントロピー符号化を行って符号系列を生成する。エントロピー符号化部110は、生成した符号系列を復号装置20eに出力する。
【0097】
復号装置20bは、符号系列を復号し、出力データ190を生成する。復号装置20bは、エントロピー復号部112、第2分布推定部114、第2標本化部116、およびデータ生成部164を含んで構成される。
【0098】
エントロピー復号部112は、第2構成例と同様に、エントロピー符号化部110から入力される符号系列に対してエントロピー復号を行ってデータ系列を復元する。エントロピー復号部112は、復元したデータ系列を第2分布推定部114に出力する。
第2分布推定部114は、第2構成例と同様に、エントロピー復号部112から入力されるデータ系列をなす各1個の第1標本値に基づいて量子化値の第2確率分布を定める。
【0099】
図17は、第5構成例に係る情報処理方法の例を示すフローチャートである。
図17に示す処理は、
図16に示す処理に対して、さらにステップS122、S124の処理を有する。
図17に示すステップS122、S124の処理は、
図13に示すステップS122、S124の処理とそれぞれ同様であるため、その説明を援用する。
【0100】
次に、第3機械学習モデル、第4機械学習モデルとして用いられるニューラルネットワークの例について説明する。
図11は、ニューラルネットワークの一種であるCNN(Convolutional Neural Network)の構成例を示す。CNNは、1層の入力層(input layer)、複数の中間層(intermediate layer, hidden layer)および1層の出力層(output layer)を備える。
図11に例示されるCNNは、入力層Il、L層(Lは、2以上の整数)の中間層Ml-1~Ml-L、および出力層Olを備える。各層は、それぞれ所定数の節点(ノード(node))を備える。複数の中間層には少なくとも1層の畳み込み層と1層のプーリング層が含まれる。
【0101】
入力層Ilの各節点は、自部に入力される入力値を次の層の少なくとも1つの節点に出力する。特性解析部162では、入力データ158を構成する個々のサンプル値が、そのサンプル値に対応する節点に入力される。データ生成部164では、第2特性値を構成する個々の第2標本値が、その第2標本値に対応する節点に入力される。
【0102】
出力層Olの各節点は、直前の層の少なくとも1つの節点から入力される入力値を外部に出力する。特性解析部162では、第1特性値を構成する個々の第1標本値が、その第1標本値に対応する節点から出力される。データ生成部164では、出力データ190を構成する個々のサンプル値が、そのサンプル値に対応する節点から出力される。
【0103】
畳み込み層(convolution layer)には、カーネル数(number of kernels)が予め設定される。カーネル数とは、それぞれ入力値に対する処理(例えば、演算)に用いるカーネルの個数に相当する。カーネル数は、通例、入力値の個数よりも少ない。カーネルとは、一度に1つの出力値を算出するための処理単位を指す。ある層において算出される出力値は、次の層への入力値として用いられる。カーネルは、フィルタとも呼ばれる。カーネルサイズ(kernel size)とは、カーネルにおける一回の処理に用いられる入力値の数を示す。カーネルサイズは、通例、2以上の整数となる。
【0104】
畳み込み層は、複数の節点のそれぞれに直前の層から入力される入力値に対してカーネルごとに畳み込み演算を行って畳み込み値(convolved value)を算出し、算出した畳み込み値とバイアス値(bias)を加算して補正値(corrected value)を算出する層である。畳み込み層は、算出した補正値に対する所定の活性化関数(activation function)の関数値を算出し、算出した出力値を次の層に出力する。なお、畳み込み層の各節点には直前の層から1個または複数の入力値が入力され、各節点における畳み込み値の算出のために、それぞれの入力値に対して独立な畳み込み係数が用いられる。畳み込み係数、バイアス値および活性化関数のパラメータは、1セットのモデルパラメータの一部となる。
【0105】
活性化関数として、例えば、正規化線形ユニット(rectified linear unit)、シグモイド関数(sigmoid function)などが利用できる。正規化線形ユニットは、所定の閾値(例えば、0)以下の入力値に対する出力値として、その閾値に定め、所定の閾値を超える入力値をそのまま出力する関数である。従って、この閾値は1セットのモデルパラメータの一部となりうる。また、畳み込み層については、直前の層の節点からの入力値の参照の要否、次の層の節点への出力値の出力の要否も、1セットのモデルパラメータの一部となりうる。
【0106】
プーリング層(pooling layer)は、直前の層の複数の節点からそれぞれ入力される入力値から1つの代表値を定め、定めた代表値を出力値として次の層に出力する節点を有する層である。代表値は、例えば、最大値、平均値、最頻値など複数の入力値を統計的に代表する値が用いられる。プーリング層にはストライド(stride)を予め設定しておく。ストライドとは、1つの節点に対して入力値を参照する直前の層の相互に隣接する節点の範囲を示す。そのため、プーリング層は、直前の層からの入力値を、より低い次元に縮約(ダウンサンプリング, down-sampling)して出力値を次の層に提供する層とみなすこともできる。
【0107】
上記のように、第5構成例では、さらにエントロピー符号化部110とエントロピー復号部112を備えた情報処理システム1eにおいて、非決定的量子化を実現できる。符号化装置10bによれば、入力系列よりも情報量が圧縮された符号系列が得られる。復号装置20bによれば、入力系列が量子化された出力系列が符号系列から再構成される。そのため、さらにデータ圧縮を伴っても入力データ158の特性が極力失われずに出力データ190が再構成される。
【0108】
次に、第6構成例に係る情報処理システム1fについて説明する。以下の説明では、上記の構成例との差異点を主とする。上記の構成例と共通の機能、構成については、特に断らない限り、その説明を援用する。
図7は、第6構成例に係る情報処理システム1fを示す概略ブロック図である。情報処理システム1fは、モデル学習部30fを含んで構成される。
【0109】
モデル学習部30fは、既知の入力データ158を含むデータ対を複数個含んで構成される訓練データを取得する。モデル学習部30cは、個々のデータ対の入力データ158に対して算出される推定値である出力データ190と目標値である入力データ158との差の大きさを示す第1因子とデータサイズを示す第2因子とを合成した損失関数が訓練データ全体として減少するように第1機械学習モデルと第2機械学習モデルの他、第3機械学習モデルと第4機械学習モデルのそれぞれのパラメータセットを再帰的に更新する。
【0110】
モデル学習部30fは、圧縮順方向処理部160、圧縮逆方向処理部180、パラメータ更新部39f、および記憶部120を含んで構成される。情報処理システム1fは、モデル学習部30fを備える単一のモデル学習装置として実現されてもよい。
【0111】
圧縮順方向処理部160は、入力データ158に対して、その時点で設定されているパラメータセット104の設定のもとで機械学習モデルを用いて生成される出力データ190と入力データ158を圧縮して得られるデータ系列の情報量を定める。圧縮順方向処理部160は、入力データ158と出力データ190の差の大きさを示す第1因子と定めた情報量を示す第2因子に基づいて損失関数168を算出する(圧縮順方向処理)。
【0112】
圧縮逆方向処理部180は、その時点で得られたパラメータセット104の設定のもとでパラメータ勾配134を算出する(圧縮逆方向処理)。
パラメータ更新部39fは、算出したパラメータ勾配134を用いてパラメータセット104を更新する(パラメータ更新)。
【0113】
モデル学習部30fは、圧縮順方向処理、圧縮逆方向処理、およびパラメータ更新の処理をパラメータセット104が収束するまで繰り返してもよいし、所定の回数繰り返してもよい。パラメータ更新部39fは、更新前後の損失関数168の差分の大きさが、所定の大きさの閾値になったか否かに基づいてパラメータセット104が収束したか否かを判定することができる。
【0114】
次に、圧縮順方向処理部160の構成例について説明する。
図8は、圧縮順方向処理部160の構成例を示す概略ブロック図である。圧縮順方向処理部160は、特性解析部162、量子化部32f、データ生成部164、再構成残差演算部172、および、加重演算部174を含んで構成される。
【0115】
量子化部32fは、量子化部32c(
図3)と同様に、特性解析部162から入力される第1特性値に含まれる要素のそれぞれを入力値とし、個々の入力値ごとに第2標本値を定め、定めた第2標本値をデータ生成部164に出力する。量子化部32fは、量子化部32cと同様に、個々の入力値ごとに第1標本値のデータサイズの期待値を定め、定めたデータサイズの期待値を加重演算部174に出力する。量子化部32fが実行する処理の具体例については、量子化部32cの説明を援用する。
【0116】
再構成残差演算部172は、自部に入力される入力データ158とデータ生成部164から入力される出力データ190の差の大きさを示す指標値を再構成残差として算出する。本構成例では、再構成残差は、上記の第1因子に相当する。再構成残差演算部172は、再構成残差の指標値として、例えば、平均二乗誤差(MSE:Mean Squared Error)を算出する。平均二乗誤差は、入力データ158の個々のサンプル値から出力データ190の対応するサンプルのサンプル値を差し引いて得られる差分の二乗値のサンプル間の平均値に相当する。再構成残差演算部172は、算出した再構成残差(reconstruction error)を加重演算部174に出力する。
【0117】
加重演算部174は、再構成残差演算部172から入力される再構成残差と量子化部32fから入力されるデータサイズに基づいて損失関数168を算出する。加重演算部174は、入力データ158の個々のサンプル値に対応する第1標本値のデータサイズの総和をデータ系列のデータサイズとして定める。本構成例では、このデータサイズが上記の第2因子に相当する。加重演算部174は、再構成残差とデータ系列のデータサイズの加重和(weighted sum)を損失関数168として算出する。加重演算部174は、再構成残差とデータサイズのそれぞれに、所定の重み係数を乗じて得られた乗算値の和を損失関数168として算出する。加重演算部174は、算出した損失関数168を記憶部120に記憶する。
【0118】
次に、圧縮逆方向処理部180の構成例について説明する。
図9は、圧縮逆方向処理部180の構成例を示す概略ブロック図である。圧縮逆方向処理部180は、特性解析勾配演算部182、量子化勾配演算部38f、データ生成勾配演算部184、再構成残差勾配演算部186、および、重み勾配演算部188を含んで構成される。
【0119】
重み勾配演算部188は、入力データ158、入力データ158に基づいて得られる再構成データである出力データ190、および第1標本値のデータサイズから、それぞれ所定の計算式を用いてデータサイズ勾配と再構成残差勾配を算出する。再構成残差勾配とは、損失関数を再構成残差で偏微分して得られる導関数である。再構成残差勾配は、入力データ158と出力データ190を用いて算出される。データサイズ勾配は、第1標本値のデータサイズの期待値を用いて算出される。重み勾配演算部188は、データサイズ勾配を量子化勾配演算部38fに出力し、再構成残差勾配を再構成残差勾配演算部186に出力する。
【0120】
再構成残差勾配演算部186は、出力データ190を構成する個々のサンプル値と再構成残差との所定の関係のもとで、重み勾配演算部188から入力される再構成残差勾配から出力サンプル値勾配を算出する。出力サンプル値勾配は、個々のサンプル値で損失関数を偏微分して得られる導関数を要素とするベクトルである。出力サンプル値勾配は、再構成残差勾配に再構成残差をサンプル値で偏微分した導関数を乗じて算出される。再構成残差勾配演算部186は、算出した出力サンプル値勾配をデータ生成勾配演算部184に出力する。
【0121】
データ生成勾配演算部184は、第4機械学習モデルで規定される第2標本値と出力データ190を構成する個々のサンプル値との所定の関係のもとで、再構成残差勾配演算部186から入力される出力サンプル値勾配から第2標本値勾配を算出する。第2標本値勾配は、出力サンプル値勾配に出力データ190のサンプル値を第2標本値で偏微分した導関数を乗じて算出される。データ生成勾配演算部184は、算出した第2標本値勾配を量子化勾配演算部38fに出力する。
【0122】
また、データ生成勾配演算部184は、第4機械学習モデルで規定される個々のパラメータと出力データ190を構成する個々のサンプル値との所定の関係のもとで、出力サンプル値勾配から第4パラメータ勾配を算出する。第4パラメータ勾配は、第4機械学習モデルの個々のパラメータで損失関数を偏微分して得られる導関数を要素して含むベクトルである。第4パラメータ勾配は、出力サンプル値勾配に第4機械学習モデルの個々のパラメータで偏微分して得られる導関数を乗じて算出される。データ生成勾配演算部184は、算出した第4パラメータ勾配を記憶部120に記憶する。
【0123】
量子化勾配演算部38fは、重み勾配演算部188から入力されるデータサイズ勾配とデータ生成勾配演算部184から入力される第2標本値勾配に基づいて入力値勾配とパラメータ勾配を算出する。量子化勾配演算部38fは、算出した入力値勾配を第1特性値勾配として特性解析勾配演算部182に出力する。量子化勾配演算部38fが実行する処理の具体例については、量子化勾配演算部38c(
図3)の説明を援用する。
【0124】
量子化勾配演算部38fが算出するパラメータ勾配は、第1機械学習モデルのパラメータセットに更新に用いられる第1パラメータ勾配と、第2機械学習モデルのパラメータセットの更新に第2パラメータ勾配を含む。第1パラメータ勾配、第2パラメータ勾配は、それぞれ第1機械学習モデル、第2機械学習モデルの個々のパラメータで損失関数を偏微分して得られる導関数を要素として含むベクトルである。量子化勾配演算部38fは、算出した第1パラメータ勾配と第2パラメータ勾配を記憶部120に記憶する。
【0125】
特性解析勾配演算部182は、第3機械学習モデルで規定される個々のパラメータと第1特性値との所定の関係のもとで、量子化勾配演算部38fから入力される第1特性値勾配から第3パラメータ勾配を算出する。第3パラメータ勾配は、第3機械学習モデルの個々のパラメータで損失関数を偏微分して得られる導関数を要素として含むベクトルである。第3パラメータ勾配は、第1特性値勾配に、第1特性値を第3機械学習モデルの個々のパラメータで偏微分した導関数を乗じて算出される。データ生成勾配演算部184は、算出した第4パラメータ勾配を記憶部120に記憶する。
【0126】
パラメータ更新部39fは、パラメータ更新において、記憶部120から新たに記憶された第1パラメータ勾配ないし第4パラメータ勾配を読み取り、読み取った第1パラメータ勾配ないし第4パラメータ勾配を第1機械学習モデルないし第4機械学習モデルのそれぞれのパラメータセットの更新に用いる。パラメータ更新部39fは、個々の機械学習モデルのパラメータ勾配に、それぞれ所定の比例係数を乗じて、その機械学習モデルのパラメータセットの更新量を算出することができる。パラメータ更新部39fは、機械学習モデルごとに算出した更新量と現時点のパラメータセットを加算して得られる新たなパラメータセットを記憶部120に記憶する。
【0127】
上記のように、本構成例によれば、再構成残差とデータサイズを、それぞれ第1因子と第2因子として含む損失関数に基づいて、第1機械学習モデルと第2機械学習モデルに加え、第3機械学習モデルと第4機械学習モデルのそれぞれのパラメータセットを連立して定めることができる。第3構成例と同様に第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットに対して損失関数は微分可能である。そのため、これらのパラメータセットをモデル学習において規範とする損失関数に忠実に更新することができる。よって、第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットに起因する誤差が回避または緩和されるため、第3機械学習モデルと第4機械学習モデルのそれぞれのパラメータセットもモデル学習において最適化することができる。従って、非決定的量子化が適用されるデータ系列のデータサイズの圧縮による低減と出力データ190に生ずる再構成誤差の低減を両立することができる。
【0128】
なお、上記の構成例は、その一部を変形して実現されてもよいし、組み合わせて構成されてもよい。
例えば、上記の説明では、第1機械学習モデルのモデルパラメータと第2機械学習モデルのモデルパラメータが独立である場合を主にしたが、これには限られない。第2機械学習モデルのモデルパラメータは、第1機械学習モデルのモデルパラメータと共通であってもよい。その場合には、第2機械学習モデルのモデルパラメータを更新するための処理が省略されてもよい。
【0129】
第1標本化部108と第2標本化部116には、第1標本化部108と第2標本化部116には、共通の疑似乱数生成方式を用いて乱数値を生成する生成器が備わっていればよい。それぞれの生成器には、その疑似乱数生成方式を用いて乱数を生成するための共通のパラメータ(以下、「乱数生成パラメータ」と呼ぶ)が設定されていてもよい。また、第1標本化部108と第2標本化部116が、それぞれ別個の機器において実現される場合には、乱数生成パラメータを共有するためのパラメータ交換処理(図示せず)を実行してもよい。
【0130】
パラメータ交換処理は、例えば、ステップS302-S310を有する。
(ステップS302)第1標本化部108と第2標本化部116の一方(以下、「一方」と呼ぶ)は、その他方(以下、「他方」と呼ぶ)に接続確認信号を送信する。
(ステップS304)他方は、一方から接続確認信号を受信するとき、その応答としてパラメータ要求信号を一方に送信する。
(ステップS306)一方は、他方からパラメータ要求信号を受信するとき、その応答として、自部に設定されている乱数生成パラメータを他方に送信する。
(ステップS308)他方は、一方から乱数生成パラメータを受信するとき、その乱数生成パラメータを自部に設定する。その後、他方は、パラメータ設定完了情報を一方に送信する。
(ステップS310)一方が、他方からパラメータ設定完了情報を受信するとき、パラメータ交換処理を終了する。
【0131】
第1標本化部108と第2標本化部116のそれぞれを実現する機器同士が通信を開始する場合、通信開始時に一方の機器から他方の機器に送信されるメッセージに、一方に設定されている乱数生成パラメータを含めてもよい。その場合、他方は、一方の機器から受信されるメッセージから乱数生成パラメータを読み取り、読み取った乱数生成パラメータを自部に設定すればよい。
【0132】
第1標本値生成部10aと第2標本値生成部20aは、それらが一体化された量子化器として構成されてもよい。
情報処理システム1a、1b、それらの一部である第1標本値生成部10a、第2標本値生成部20a、符号化装置10b、復号装置20b、またはそれらの組み合わせてなる装置は、それぞれ本構成例に係るモデル学習部30cを備えてもよい。
情報処理システム1c、1d、それらの一部であるデータ圧縮部10d、データ再構成部20d、符号化装置10e、復号装置20e、またはそれらの組み合わせてなる装置(機器)は、それぞれ本構成例に係るモデル学習部30fを備えてもよい。
【0133】
なお、上記の説明では、第1機械学習モデル、第2機械学習モデルが、それぞれGMMに基づく場合を主としたが、それには限られない。第1機械学習モデル、第2機械学習モデルは、実数であるパラメータを用いて連続確率密度分布を表現できる数理モデルに基づくものであればよい。第1機械学習モデル、第2機械学習モデルは、例えば、ニューラルネットワーク、などであってもよい。
【0134】
第3機械学習モデル、第4機械学習モデルが、それぞれCNNである場合を例にしたが、それには限られない。第3機械学習モデル、第4機械学習モデルは、CNN以外のニューラルネットワーク、例えば、RNN、確率的ニューラルネットワークであってもよい。また、第3機械学習モデル、第4機械学習モデルは、ニューラルネットワーク以外の機械学習モデル、例えば、ベイジアンネットワーク、ランダムフォレスト、などであってもよい。
【0135】
(最小構成)
次に、上記の実施形態の最小構成について説明する。
図18は、本願の情報処理システム1xの最小構成例を示す概略ブロック図である。情報処理システム1xは、第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定部106を備える。情報処理システム1aは、第1確率分布を用いて量子化値を標本化して第1標本値を定める第1標本化部108を備える。情報処理システム1xは、第2機械学習モデルを用いて第1標本値に対応する第2確率分布を定める第2分布推定部114を備える。情報処理システム1xは、第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化部116を備える。
【0136】
図19は、本願の符号化装置10xの最小構成例を示す概略ブロック図である。符号化装置10xは、機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める分布推定部106を備える。符号化装置10xは、確率分布を用いて量子化値を標本化して標本値を定める標本化部108を備える。符号化装置10bは、複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化部110を備える。分布推定部106と標本化部108は、それぞれ第1分布推定部106と第1標本化部108と同様の構成を有する。
【0137】
図20は、本願の復号装置20xの最小構成例を示す概略ブロック図である。復号装置20xは、符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成するエントロピー復号部112を備える。復号装置20xは、機械学習モデルを用いて標本値に対応する確率分布を定める分布推定部114を備える。復号装置20xは、確率分布を用いて所定の値域における量子化値を標本化して標本値を定める標本化部116を備える。分布推定部114と標本化部116は、それぞれ第2分布推定部114と第2標本化部116と同様の構成を備える。
【0138】
図21は、本願のモデル学習装置30xの最小構成例を示す概略ブロック図である。モデル学習装置30xは、第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータと第2機械学習モデルのパラメータを定めるモデル学習部30cを備える。第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まる。第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、第1機械学習モデルは、入力値に対応する所定の値域における量子化値の第1確率分布を定めるために用いられ、第2機械学習モデルは、第1標本値に対応する第2確率分布を定めるために用いられる。
【0139】
これらの構成によれば、入力値102に対応する出力値118を非決定的に定めることができる。第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットは、入力値に対応する量子化値の第1確率分布や、第1標本値に対応する第2確率分布を定義する連続関数のパラメータであるとともに実数値であるため、出力値で微分可能となる。そのため、所定の損失関数のもとで、これらのパラメータセットを最適化することができる。よって、出力値の入力値からの乖離が抑制されるので、その再現性が確保される。
【0140】
なお、上記の各態様の機器(装置)は、専用の部材を含むハードウェアで実現されてもよいし、汎用の部材を含むコンピュータとして構成されてもよい。
図10に例示されるコンピュータ50は、プロセッサ52、ドライブ部56、入出力部58、ROM62、およびRAM64を含んで構成される。
【0141】
プロセッサ52は、個々の機器の機能を発揮させるための処理や、その機器を構成する各部の機能を制御する。プロセッサ52は、例えば、CPU(Central Processing Unit)である。
ドライブ部56は、記憶媒体54を着脱可能とし、記憶媒体54に記憶されている各種のデータを読み取り、または、各種のデータを記憶媒体54に記憶する。ドライブ部56は、例えば、半導体ドライブ(SSD:solid state drive)である。記憶媒体54は、例えば、RAM(Random Access Memory)、フラッシュメモリなどの記憶媒体である。
【0142】
入出力部58は、他の機器との間で無線または有線で各種のデータを入力または出力する。入出力部58は、他の機器と通信ネットワークを経由して、各種のデータを入出力可能に接続してもよい。入出力部58は、例えば、入出力インタフェース、通信インタフェースなどのいずれか、または、それらの組合せのいずれであってもよい。
【0143】
ROM(Read Only Memory)62は、個々の機器の各部が実行する各種の処理を指示する命令が記述されたプログラム、その実行のためのパラメータなどの各種のデータ、各部により取得された各種のデータを永続的に記憶する記憶媒体である。なお、本願では、プログラムに記述された命令で指示される処理を実行することを、「プログラムを実行する」、「プログラムの実行」などと呼ぶことがある。
RAM64は、主にプロセッサ52の作業領域として用いられる記憶媒体である。プロセッサ52は、その起動に応じてROM62に記憶されたプログラムとパラメータをRAM64に記録する。そして、プロセッサ52は、その実行により得られた演算結果、取得したデータなどをRAM64に一時的に記録する。
【0144】
なお、上記の機器は、それぞれ、その内部にコンピュータシステムを備えてもよい。例えば、上記のプロセッサ52は、コンピュータシステムの構成要素となりうる。上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記憶媒体に記憶され、このプログラムをコンピュータが読み出して実行することによって、それらの処理が行われる。コンピュータシステムは、OS(Operation System)、デバイスドライバ、ユーティリティプログラムなどのソフトウェアや周辺機器等のハードウェアを含むものとする。
図10に示すハードウェアは、かかるハードウェアの例示である。また、「コンピュータ読み取り可能な記憶媒体」とは、磁気ディスク、光磁気ディスク、ROM、RAM、半導体メモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記憶媒体、とは、インターネット等のネットワークや電話回線等の通信回線を用いてプログラムを送信する場合に用いる通信線など、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリなど、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0145】
また、上記の機器の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上記の機器の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0146】
なお、上記の実施形態は、次に示すように実現されてもよい。
(付記1)第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定手段と、前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化手段と、第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定手段と、前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化手段と、を備える情報処理システム。
【0147】
(付記2)付記1の情報処理システムであって、複数個の前記第1標本値を含む第1標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化手段と、前記符号系列をエントロピー復号して複数個の前記第2標本値を含む第2標本値系列を生成するエントロピー復号手段と、を備える。
【0148】
(付記3)付記1または付記2の情報処理システムであって、前記第1標本化手段は、前記第1確率分布で示される確率に従い、第1疑似乱数を用いて、前記値域のいずれかの量子化値を、前記第1標本値として定め、前記第2標本化手段は、前記第2確率分布で示される確率に従い、第2疑似乱数を用いて、前記値域のいずれかの量子化値を、前記第2標本値として定める。
【0149】
(付記4)付記1から付記3のいずれかの情報処理システムであって、前記第1確率分布に基づく前記第1標本値の情報量に基づく第1因子と、前記入力値と前記第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように前記第1機械学習モデルのパラメータセットと、前記第2機械学習モデルのパラメータセットとを定めるモデル学習手段、を備える。
【0150】
(付記5)付記1から付記4のいずれかの情報処理システムであって、前記第1機械学習モデルは、前記第1確率分布として、前記量子化値ごとに、当該量子化値の事前確率である第1事前確率と当該量子化値を条件とする前記入力値の条件付き確率である第1条件付き確率との積を正規化した確率を含む確率分布を定め、前記第2機械学習モデルは、前記第2確率分布として、前記量子化値ごとに、当該量子化値の事前確率である第2事前確率と当該量子化値を条件とする前記第1標本値の条件付き確率である第2条件付き確率との積を正規化した確率を含む確率分布を定め、前記第1事前確率、前記第1条件付き確率、前記第2事前確率、および前記第2条件付き確率は、それぞれ連続確率密度関数で表される。
【0151】
(付記6)付記1から付記5のいずれかの情報処理システムであって、第3機械学習モデルを用いて入力データを解析して前記入力データで伝達される特性を表す第1特性値を定める特性解析手段と、第4機械学習モデルを用いて第2特性値が表す特性を伝達する出力データを生成するデータ生成手段と、を備え、前記第1特性値は1以上の前記入力値を含み、前記第2特性値は1以上の前記第2標本値を含む。
【0152】
(付記7)付記6の情報処理システムであって、前記第1確率分布に基づく前記第1標本値の情報量に基づく第1因子と、前記入力値と前記第2標本値の差に基づく第2因子と、を合成した損失関数値がより小さくなるように前記第1機械学習モデルのパラメータセットと、前記第2機械学習モデルのパラメータセットと、前記第3機械学習モデルのパラメータセットと、前記第4機械学習モデルのパラメータセットを定めるモデル学習手段を備える。
【0153】
(付記8)付記6または付記7の情報処理システムであって、前記第3機械学習モデルと前記第4機械学習モデルは、それぞれニューラルネットワークである。
【0154】
(付記9)機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める分布推定手段と、前記確率分布を用いて前記量子化値を標本化して標本値を定める標本化手段と、複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成するエントロピー符号化手段と、を備える符号化装置。
【0155】
(付記10)符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成するエントロピー復号手段と、機械学習モデルを用いて前記標本値に対応する確率分布を定める分布推定手段と、前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める標本化手段と、を備える復号装置。
【0156】
(付記11)第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータと第2機械学習モデルのパラメータを定めるモデル学習手段を備え、前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられるモデル学習装置。
【0157】
(付記12)
コンピュータに、付記1から付記8のいずれかの情報処理システム、または付記9から付記11のいずれかの装置として機能させるためのプログラムを記憶した記憶媒体。
【0158】
(付記13)
情報処理システムにおける情報処理方法であって、第1機械学習モデルを用いて入力値に対応する所定の値域における量子化値の第1確率分布を定める第1分布推定ステップと、前記第1確率分布を用いて前記量子化値を標本化して第1標本値を定める第1標本化ステップと、第2機械学習モデルを用いて前記第1標本値に対応する第2確率分布を定める第2分布推定ステップと、前記第2確率分布を用いて前記値域における量子化値を標本化して第2標本値を定める第2標本化ステップと、を有する情報処理方法。
【0159】
(付記14)符号化装置における符号化方法であって、機械学習モデルを用いて入力値に対応する所定の値域における量子化値の確率分布を定める第1ステップと、前記確率分布を用いて前記量子化値を標本化して標本値を定める第2ステップと、複数個の前記標本値を含む標本値系列をエントロピー符号化して符号系列を生成する第3ステップと、を有する符号化方法。
【0160】
(付記15)復号装置における復号方法であって、符号系列をエントロピー復号して複数個の標本値を含む標本値系列を生成する第1ステップと、機械学習モデルを用いて前記標本値に対応する確率分布を定める第2ステップと、前記確率分布を用いて所定の値域における量子化値を標本化して標本値を定める第3ステップと、を有する復号方法。
【0161】
(付記16)モデル学習装置におけるモデル学習方法であって、第1標本値の情報量に基づく第1因子と、入力値と第2標本値の差に基づく第2因子と、を合成した損失関数がより小さくなるように第1機械学習モデルのパラメータセットと第2機械学習モデルのパラメータセットを定めるステップを有し、前記第1標本値は、第1確率分布を用いて所定の値域における量子化値を標本化して定まり、前記第2標本値は、第2確率分布を用いて前記値域における量子化値を標本化して定まり、前記第1機械学習モデルは、前記入力値に対応する所定の値域における量子化値の前記第1確率分布を定めるために用いられ、前記第2機械学習モデルは、前記第1標本値に対応する前記第2確率分布を定めるために用いられるモデル学習方法。
【0162】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態及びその変形例に限定されることはない。本発明の主旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。
また、本発明は前述した説明によって限定されることはなく、添付の特許請求の範囲によってのみ限定される。
【産業上の利用可能性】
【0163】
上記各態様の情報処理システム、符号化装置、復号装置、モデル学習装置、符号化方法、復号方法、モデル学習方法、およびプログラムによれば、入力値に対応する出力値を非決定的に定めることができる。第1機械学習モデルと第2機械学習モデルのそれぞれのパラメータセットは、入力値に対応する量子化値の第1確率分布や、第1標本値に対応する第2確率分布を定義する連続関数のパラメータであるとともに実数値であるため、出力値で微分可能となる。そのため、所定の損失関数のもとで、これらのパラメータセット最適化することができる。よって、出力値の入力値からの乖離が抑制されるので、その再現性が確保される。
【符号の説明】
【0164】
1a、1b、1c、1d、1e、1f、1x…情報処理システム、10a…第1標本値生成部(第1標本値生成手段)、10b、10e、10x…符号化装置、10d…データ圧縮部(データ圧縮手段)、20a…第2標本値生成部(第2標本値生成手段)、20b、20e、20x…復号装置、20d…データ再構成部(データ再構成手段)、30c、30f…モデル学習部(モデル学習手段)、30x…モデル学習装置、32c…量子化部(量子化手段)、36c…損失関数演算部(損失関数演算手段)、38c、38f…量子化勾配演算部(量子化勾配演算手段)、39c、39f…パラメータ更新部(パラメータ更新手段)、52…プロセッサ、54…記憶媒体、56…ドライブ部、58…入出力部、62…ROM、64…RAM、106…第1分布推定部、108…第1標本化部(第1標本化手段)、110…エントロピー符号化部(エントロピー符号化手段)、112…エントロピー復号部(エントロピー復号手段)、114…第2分布推定部(第2分布推定手段)、116…第2標本化部(第2標本化手段)、120…記憶部(記憶手段)、122…データサイズ推定部(データサイズ推定手段)、130…逆方向演算部(逆方向演算手段)、136…データサイズ勾配演算部(データサイズ勾配演算手段)、137…加算部(加算手段)、138…分布勾配演算部(分布勾配演算手段)、148…分布関数演算部(分散関数演算手段)、150…累積密度関数勾配演算部(累積密度関数勾配演算手段)、160…圧縮順方向処理部(圧縮順方向処理手段)、162…特性解析部(特性解析手段)、164…データ生成部(データ生成手段)、172…再構成残差演算部(再構成残差演算手段)、174…加重演算部(加重演算手段)、180…圧縮逆方向処理部(圧縮逆方向処理手段)、182…特性解析勾配演算部(特性解析勾配演算手段)、184…データ生成勾配演算部(データ生成勾配演算手段)、186…再構成残差勾配演算部(再構成残差勾配演算手段)、188…重み勾配演算部(重み勾配演算手段)