Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7583337B2 - Learning device, autoencoding device, learning method, autoencoding method, and program - Google Patents
[go: Go Back, main page]

JP7583337B2 - Learning device, autoencoding device, learning method, autoencoding method, and program - Google Patents

Learning device, autoencoding device, learning method, autoencoding method, and program Download PDF

Info

Publication number
JP7583337B2
JP7583337B2 JP2023563381A JP2023563381A JP7583337B2 JP 7583337 B2 JP7583337 B2 JP 7583337B2 JP 2023563381 A JP2023563381 A JP 2023563381A JP 2023563381 A JP2023563381 A JP 2023563381A JP 7583337 B2 JP7583337 B2 JP 7583337B2
Authority
JP
Japan
Prior art keywords
main data
encoding
unit
learning
features
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023563381A
Other languages
Japanese (ja)
Other versions
JPWO2023095204A1 (en
Inventor
忍 工藤
幸浩 坂東
正樹 北原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2023095204A1 publication Critical patent/JPWO2023095204A1/ja
Application granted granted Critical
Publication of JP7583337B2 publication Critical patent/JP7583337B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明は、学習装置、自己符号化装置、学習方法、自己符号化方法及びプログラムに関する。 The present invention relates to a learning device, a self-encoding device, a learning method, a self-encoding method and a program.

深層学習を用いたデータ圧縮において量子化処理にはスカラー量子化とベクトル量子化の2種類があり、ベクトル量子化の方が、圧縮性能が高い。ベクトル量子化の試みとして、以下の非特許文献1や非特許文献2に記載の試みがある。非特許文献1に記載の技術は、VQVAEと呼称される技術である。非特許文献1に記載の技術では、End-to-Endでの学習はせず、特徴ベクトルの分布を一様分布と仮定して、エンコード及びデコードの最適化と代表ベクトルの最適化とを分けて実施する。非特許文献2の技術は、Soft to Hardと呼称される技術である。非特許文献2の技術は、ソフトマックス関数を用いて量子化処理を近似計算し、代表ベクトルの生起確率をヒストグラムで近似してEnd-to-Endでの学習を行う。In data compression using deep learning, there are two types of quantization processing: scalar quantization and vector quantization, with vector quantization providing higher compression performance. Attempts at vector quantization include those described in the following non-patent literature 1 and non-patent literature 2. The technology described in non-patent literature 1 is a technology called VQVAE. In the technology described in non-patent literature 1, end-to-end learning is not performed, and the distribution of feature vectors is assumed to be uniform, and optimization of encoding and decoding and optimization of representative vectors are performed separately. The technology in non-patent literature 2 is a technology called Soft to Hard. In the technology in non-patent literature 2, the quantization processing is approximated using a softmax function, and end-to-end learning is performed by approximating the occurrence probability of representative vectors using a histogram.

Ali Razavi, et.al.,"Generating Diverse High-Fidelity Images with VQ-VAE-2,",2019.Ali Razavi, et.al.,"Generating Diverse High-Fidelity Images with VQ-VAE-2,",2019. Eirikur Agustsson, et.al.,"Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations,",2017.Eirikur Agustsson, et.al.,"Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations,",2017.

しかしながら非特許文献1に記載の技術や非特許文献2の技術など従来の技術は、ベクトル量子化を用いた自己符号化の処理を得ることに関する問題があった。問題は、例えば安定性の問題であったり、例えば処理性能の問題であったり、例えばベクトルの次元が大きい場合や高レートでの符号化を行う場合に計算量又はメモリ使用量が爆発的に増加してしまう問題であったりであった。このように従来の技術では、ベクトル量子化を用いた自己符号化の処理を得ることに要する負担が大きい場合があった。その結果、コンピュータ資源の不足によりベクトル量子化を用いた自己符号化を実現できないなど、ベクトル量子化を用いた自己符号化に要する負担が大きい場合があった。However, conventional techniques such as the technique described in Non-Patent Document 1 and the technique described in Non-Patent Document 2 have problems with obtaining self-encoding processing using vector quantization. The problems include, for example, stability problems, processing performance problems, and problems such as an explosive increase in the amount of calculations or memory usage when the dimension of the vector is large or when encoding at a high rate. Thus, conventional techniques may require a large burden to obtain self-encoding processing using vector quantization. As a result, there are cases where the burden required for self-encoding using vector quantization is large, such as when self-encoding using vector quantization cannot be realized due to a lack of computer resources.

上記事情に鑑み、本発明は、ベクトル量子化を用いた自己符号化に要する負担を軽減する技術を提供することを目的としている。In view of the above circumstances, the present invention aims to provide a technology that reduces the burden required for self-encoding using vector quantization.

本発明の一態様は、ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、を備え、前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習装置である。 One aspect of the present invention is a learning device that includes a learning unit that updates the encoding and decoding processes in a self-encoding process using vector quantization, the self-encoding process using main data features, which are features to be self-encoded, and auxiliary features, which are features of the main data features, by learning, and that performs entropy coding on the result of vector quantizing the main data features and entropy coding on the result of scalar quantizing the auxiliary features. In the learning process, the learning unit executes a main data side probability estimation process that estimates the occurrence probability of each element of a tensor that indicates the main data features, and the main data side probability estimation process estimates the occurrence probability using the result of integrating a probability density function that is parametrized using an integral region that divides a vector space in which representative vectors are arranged in a lattice shape, a region that includes one lattice point of the vector space, and has a shape of a hypercuboid.

本発明の一態様は、自己符号化の対象を取得する自己符号化対象取得部と、ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、を備え、前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習装置を用いて得られた、学習済みの符号化の処理と学習済みの復号の処理とを用いて、前記自己符号化対象取得部が取得した前記対象のベクトル量子化による自己符号化を行う自己符号化実行部と、を備える自己符号化装置である。One aspect of the present invention includes an auto-encoding target acquisition unit that acquires an object of auto-encoding, and a learning unit that updates, by learning, the encoding and decoding processes in the auto-encoding process using vector quantization, the auto-encoding process using main data features that are features of the object of auto-encoding and auxiliary features that are features of the main data features, and entropy coding the result of vector quantizing the main data features and entropy coding the result of scalar quantizing the auxiliary features. In the learning, the learning unit updates each element of a tensor that indicates the main data features. and a self-encoding execution unit that performs a main data side probability estimation process to estimate the occurrence probability of an element, the main data side probability estimation process estimating the occurrence probability using the result of integrating a probability density function that is parameterized over a region that divides a vector space in which representative vectors are arranged in a lattice pattern, the region including one lattice point of the vector space, and the region having a shape of a hypercuboid as an integration region, and that performs self-encoding by vector quantization of the target acquired by the self-encoding target acquisition unit using a learned encoding process and a learned decoding process obtained using a learning device.

本発明の一態様は、ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習ステップ、を有し、前記学習ステップは前記学習において前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習方法である。 One aspect of the present invention is a self-encoding process using vector quantization, which uses main data features, which are features to be self-encoded, and auxiliary features, which are features of the main data features, and which performs entropy coding on the result of vector quantizing the main data features and entropy coding on the result of scalar quantizing the auxiliary features. The self-encoding process includes a learning step for updating the encoding and decoding processes by learning, and the learning step executes a main data side probability estimation process for estimating the occurrence probability of each element of a tensor indicating the main data features in the learning. The main data side probability estimation process is a learning method that estimates the occurrence probability using the result of integrating a probability density function that is parametrized using an integral region that divides a vector space in which representative vectors are arranged in a lattice shape, includes one lattice point of the vector space, and has a shape of a hypercuboid.

本発明の一態様は、自己符号化の対象を取得する自己符号化対象取得ステップと、ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、を備え、前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習装置を用いて得られた、学習済みの符号化の処理と学習済みの復号の処理とを用いて、前記自己符号化対象取得ステップが取得した前記対象のベクトル量子化による自己符号化を行う自己符号化実行ステップと、を有する自己符号化方法である。One aspect of the present invention includes an auto-encoding target acquisition step for acquiring an object for auto-encoding, and a learning unit for updating, by learning, the encoding and decoding processes in the auto-encoding process using vector quantization, which uses main data features that are features of the object for auto-encoding and auxiliary features that are features of the main data features, and which performs entropy coding on the result of vector quantizing the main data features and entropy coding on the result of scalar quantizing the auxiliary features, and the learning unit updates, by learning, the encoding and decoding processes in the auto-encoding process using main data features that are features of the object for auto-encoding and auxiliary features. a main data side probability estimation process for estimating an occurrence probability, the main data side probability estimation process estimating the occurrence probability using a result of integrating a probability density function that is parameterized over a region that divides a vector space in which representative vectors are arranged in a lattice pattern, the region including one lattice point of the vector space, and the region having a shape of a hypercuboid, as an integration region; and a self-encoding execution step for performing self-encoding by vector quantization of the target acquired in the self-encoding target acquisition step using a learned encoding process and a learned decoding process obtained using a learning device.

本発明の一態様は、上記の学習装置としてコンピュータを機能させるためのプログラムである。 One aspect of the present invention is a program for causing a computer to function as the above-mentioned learning device.

本発明の一態様は、上記の自己符号化装置としてコンピュータを機能させるためのプログラムである。 One aspect of the present invention is a program for causing a computer to function as the above-mentioned self-encoding device.

本発明により、ベクトル量子化を用いた自己符号化に要する負担を軽減することが可能となる。 The present invention makes it possible to reduce the burden required for self-encoding using vector quantization.

実施形態の学習装置の概要を説明する説明図。FIG. 1 is an explanatory diagram illustrating an overview of a learning device according to an embodiment. 実施形態におけるLatticeVQを説明する説明図。FIG. 2 is an explanatory diagram for explaining LatticeVQ in the embodiment. 実施形態におけるノイズの付与の一例を説明する第1の説明図。FIG. 4 is a first explanatory diagram illustrating an example of adding noise according to the embodiment. 実施形態におけるノイズの付与の一例を説明する第2の説明図。FIG. 11 is a second explanatory diagram illustrating an example of adding noise in the embodiment. 実施形態における累積分布関数と生起確率との関係を説明する説明図。5A and 5B are explanatory diagrams illustrating the relationship between a cumulative distribution function and occurrence probability in the embodiment. 実施形態における超直方体分割を説明する説明図。FIG. 4 is an explanatory diagram for explaining hyper-rectangular parallelepiped division in the embodiment. 実施形態における学習部が実行する処理の流れの一例を示す図。FIG. 4 is a diagram showing an example of a processing flow executed by a learning unit in the embodiment. 実施形態における自己符号化装置の概要を説明する第1の説明図。FIG. 1 is a first explanatory diagram illustrating an overview of a self-encoding device according to an embodiment. 実施形態における自己符号化装置の概要を説明する第2の説明図。FIG. 2 is a second explanatory diagram illustrating an overview of the self-encoding device according to the embodiment. 実施形態におけるエンコーダが実行する処理の流れの一例を示すフローチャート。10 is a flowchart showing an example of a flow of a process executed by an encoder in the embodiment. 実施形態におけるデコーダが実行する処理の流れの一例を示すフローチャート。10 is a flowchart showing an example of a flow of a process executed by a decoder in the embodiment. 実施形態における学習装置のハードウェア構成の一例を示す図。FIG. 2 is a diagram showing an example of a hardware configuration of a learning device according to an embodiment. 実施形態における学習装置が備える制御部の構成の一例を示す図。FIG. 2 is a diagram showing an example of the configuration of a control unit included in the learning device according to the embodiment. 実施形態における自己符号化装置のハードウェア構成の一例を示す図。FIG. 2 is a diagram showing an example of a hardware configuration of a self-encoding device according to an embodiment. 実施形態における自己符号化装置が備える制御部の構成の一例を示す図。FIG. 2 is a diagram showing an example of the configuration of a control unit included in the self-encoding device according to the embodiment.

(実施形態)
図1は、実施形態の学習装置1の概要を説明する説明図である。学習装置1は、学習部10を備える。学習部10は、テンソルで表現されたデータのベクトル量子化を用いた自己符号化の性能が高まるように、学習を行う。なお、自己符号化の性能は元データと復元データの誤差Dとデータの符号量Rをラグランジュ定数λで重み付け和した量であるRDコスト(D+λR)の小ささで評価される。RD性能はRDコストが小さいほどよいことを表す。なお、学習は、機械学習を意味する。学習は、例えば深層学習である。なお、よく知られているようにデータの自己符号化とはデータの圧縮を意味する。
(Embodiment)
FIG. 1 is an explanatory diagram for explaining an overview of a learning device 1 according to an embodiment. The learning device 1 includes a learning unit 10. The learning unit 10 performs learning so as to improve the performance of self-encoding using vector quantization of data expressed by tensors. The performance of self-encoding is evaluated by the smallness of the RD cost (D+λR), which is the sum of the error D between the original data and the restored data and the code amount R of the data weighted by the Lagrangian constant λ. The smaller the RD cost, the better the RD performance. The learning means machine learning. The learning is, for example, deep learning. As is well known, the self-encoding of data means the compression of data.

学習部10は、学習ネットワーク100と最適化部113とを備える。学習ネットワーク100は、ニューラルネットワークである。学習ネットワーク100は、主データ取得部101、主データ側符号化部102と、補助データ側符号化部103と、主データ側ノイズ付与部104と、補助データ側ノイズ付与部105と、補助データ側確率推定部106と、補助データ側復号部107と、補助エントロピー取得部108と、主データ側確率推定部109と、主エントロピー取得部110と、主データ側復号部111と、再構成誤差算出部112と、を備える。詳細は後述するが最適化部113は、学習ネットワーク100の出力に基づいて学習ネットワーク100を更新する。The learning unit 10 includes a learning network 100 and an optimization unit 113. The learning network 100 is a neural network. The learning network 100 includes a main data acquisition unit 101, a main data side encoding unit 102, an auxiliary data side encoding unit 103, a main data side noise adding unit 104, an auxiliary data side noise adding unit 105, an auxiliary data side probability estimating unit 106, an auxiliary data side decoding unit 107, an auxiliary entropy acquisition unit 108, a main data side probability estimating unit 109, a main entropy acquisition unit 110, a main data side decoding unit 111, and a reconstruction error calculation unit 112. The optimization unit 113 updates the learning network 100 based on the output of the learning network 100, as will be described in detail later.

主データ取得部101は、テンソルで表現されたデータを主データとして取得する。テンソルで表現されたデータとは、例えば画像のデータである。テンソルで表現されたデータは、例えば1又は複数のチャネルの音声の時系列のデータであってもよい。以下、主データ取得部101が取得したデータを主データという。The main data acquisition unit 101 acquires data expressed in tensors as main data. Data expressed in tensors is, for example, image data. Data expressed in tensors may also be, for example, time series data of audio of one or more channels. Hereinafter, the data acquired by the main data acquisition unit 101 is referred to as main data.

主データ側符号化部102は、主データ特徴量取得処理を実行する。主データ特徴量取得処理は主データを符号化する処理である。符号化とは符号化の対象の特徴を示す情報を取得する処理であるので、符号化とは特徴量を示す情報を取得する処理である。 The main data side encoding unit 102 executes a main data feature acquisition process. The main data feature acquisition process is a process of encoding the main data. Since encoding is a process of acquiring information indicating the features of the object of encoding, encoding is a process of acquiring information indicating the features.

したがって、主データ側符号化部102による主データの符号化とは主データの特徴量を取得する処理である。そのため主データ特徴量取得処理は、主データ特徴量を取得する処理である。主データ特徴量は符号化された主データである。主データ特徴量取得処理の内容は、学習により更新される。すなわち、主データ側符号化部102の実行する処理の内容は、学習により更新される。 Therefore, the encoding of main data by the main data side encoding unit 102 is a process of acquiring the features of the main data. Therefore, the main data feature acquisition process is a process of acquiring the main data features. The main data features are encoded main data. The contents of the main data feature acquisition process are updated through learning. In other words, the contents of the process performed by the main data side encoding unit 102 are updated through learning.

補助データ側符号化部103は、主データ特徴量をさらに符号化する。上述したように符号化とは特徴量を示す情報を取得する処理であるので、補助データ側符号化部103による主データ特徴量の符号化とは主データ特徴量の特徴量を取得する処理である。そこで、以下、符号化された主データがさらに符号化された情報を補助特徴量という。すなわち補助特徴量は、主データ特徴量の特徴量を示す情報である。補助特徴量は、主データ特徴量が符号化された情報であるので、補助特徴量のエントロピーは主データ特徴量よりもエントロピーの小さな情報である。 The auxiliary data side encoding unit 103 further encodes the main data features. As described above, encoding is a process of obtaining information indicating features, so encoding of the main data features by the auxiliary data side encoding unit 103 is a process of obtaining the features of the main data features. Therefore, hereinafter, information obtained by further encoding the encoded main data is referred to as auxiliary features. In other words, auxiliary features are information indicating the features of the main data features. Since auxiliary features are information obtained by encoding main data features, the entropy of auxiliary features is information with smaller entropy than main data features.

以下、主データ特徴量を符号化する処理を、補助特徴量取得処理という。補助特徴量取得処理の内容は学習により更新される。すなわち、補助データ側符号化部103の実行する処理の内容は、学習により更新される。 Hereinafter, the process of encoding the main data features is referred to as the auxiliary feature acquisition process. The content of the auxiliary feature acquisition process is updated through learning. In other words, the content of the process performed by the auxiliary data side encoding unit 103 is updated through learning.

補助特徴量取得処理の内容は、主データ統計量情報の情報量がより多く補助特徴量に含まれるように学習により更新される。主データ統計量情報は、主データを表現するテンソルの各要素の値が従う各確率分布の統計量を示す情報である。確率分布の統計量は、例えば散布度である。確率分布の統計量は、散布度だけでなく散布度と代表値との組であってもよい。The contents of the auxiliary feature acquisition process are updated through learning so that the auxiliary features contain more information in the main data statistics information. The main data statistics information is information indicating the statistics of each probability distribution to which the values of each element of the tensor representing the main data follow. The statistics of the probability distribution are, for example, the scatter. The statistics of the probability distribution may be not only the scatter but also a pair of the scatter and a representative value.

なお、情報処理や情報理論の分野において説明されるように、英文に出現する各ローマ字の出現の確率分布などのようにデータは一般に確率分布に従って出現する。主データを表現するテンソルの各要素の値もまた確率分布に従う。As explained in the fields of information processing and information theory, data generally appears according to a probability distribution, such as the probability distribution of the occurrence of each Roman character in an English sentence. The values of each element of a tensor representing the main data also follow a probability distribution.

主データ側ノイズ付与部104は、ノイズ付き主データ特徴量取得処理を実行する。ノイズ付き主データ特徴量取得処理は、主データ特徴量に対してベクトルノイズ付与処理を実行する処理である。ベクトルノイズ付与処理は、要素の数が予め定められた数K(Kは2以上の整数)であるK次元ベクトル(以下「ノイズ付与対象ベクトル」という。)を処理対象とする処理であって、処理対象に対してノイズを付与する処理である。したがって、ノイズ付き主データ特徴量取得処理は、主データ特徴量にノイズが付与された情報(以下「ノイズ付き主データ特徴量」という。)を取得する処理である。The main data side noise addition unit 104 executes a noise-added main data feature acquisition process. The noise-added main data feature acquisition process is a process that executes a vector noise addition process on the main data feature. The vector noise addition process is a process that processes a K-dimensional vector (hereinafter referred to as a "noise-added vector") having a predetermined number K (K is an integer equal to or greater than 2) of elements as a processing object, and adds noise to the processing object. Therefore, the noise-added main data feature acquisition process is a process that acquires information in which noise has been added to the main data feature (hereinafter referred to as a "noise-added main data feature").

ノイズ付与対象ベクトルは具体的には、主データ特徴量を表現するテンソルに含まれるK次元ベクトルである。テンソルに含まれるK次元ベクトルとは、そのベクトルのk番目の要素(kは1以上K以下の整数)が、テンソルの全要素のうちの連続するK個の要素のうちのk番目の要素である、ベクトルを意味する。Specifically, the vector to which noise is added is a K-dimensional vector contained in a tensor that represents the main data features. A K-dimensional vector contained in a tensor means a vector whose k-th element (k is an integer between 1 and K) is the k-th element of K consecutive elements of all elements of the tensor.

ノイズ付与対象ベクトルの要素数Kは、学習部10による学習の結果を用いたベクトル量子化を行う装置によるベクトル量子化によって、1つの符号に写像される要素の数である。以下、学習部10による学習の結果を、ネットワーク学習結果、という。したがって、ネットワーク学習結果を用いたベクトル量子化によってK個の要素がまとめて1つの符号に写像される場合、ノイズ付与対象ベクトルの要素数はKである。なお、量子化によってK個の要素がまとめて1つの符号に写像される場合、得られる符号はK次元のベクトルを示すインデックスである。The number of elements K of a vector to which noise is added is the number of elements that are mapped to one code by vector quantization by a device that performs vector quantization using the results of learning by the learning unit 10. Hereinafter, the results of learning by the learning unit 10 are referred to as network learning results. Therefore, when K elements are collectively mapped to one code by vector quantization using the results of network learning, the number of elements of a vector to which noise is added is K. Note that when K elements are collectively mapped to one code by quantization, the resulting code is an index indicating a K-dimensional vector.

したがって、ノイズ付与対象ベクトルの要素数Kは、予め決定された数である。なお、データのベクトル量子化とはデータの符号化であるので、ネットワーク学習結果を用いたベクトル量子化とはネットワーク学習結果を用いたデータの符号化を意味する。Therefore, the number of elements K of the vector to which noise is added is a predetermined number. Note that vector quantization of data is encoding of data, so vector quantization using the network learning results means encoding of data using the network learning results.

ここでノイズを付与する方法について説明するが、ノイズの付与の説明に先立ち、LatticeVQについて説明する。 Here we will explain how to add noise, but before explaining how to add noise we will explain LatticeVQ.

<LatticeVQ>
ベクトル量子化では代表ベクトルが必要である。Latticeは、ベクトル空間における格子点集合である。LatticeVQは、ベクトル空間において代表ベクトルを格子状に配置する場合のベクトル量子化である。すなわち、LatticeVQは、ベクトル空間において代表ベクトルが格子状に配置されるという条件を満たすベクトル量子化である。LatticeVQは特定の条件を除いて、スカラー量子化よりもRD性能が良いことが知られている。
<LatticeVQ>
Vector quantization requires a representative vector. A lattice is a set of lattice points in a vector space. LatticeVQ is vector quantization in which representative vectors are arranged in a lattice pattern in a vector space. That is, LatticeVQ is This is vector quantization that satisfies the condition that representative vectors are arranged in a lattice pattern in a vector space. LatticeVQ is known to have better RD performance than scalar quantization, except under certain conditions.

図2は、実施形態におけるLatticeVQを説明する説明図である。より具体的には、図2は、ノイズ付与対象ベクトルの要素数が2である場合のLatticeVQを説明する説明図である。 Figure 2 is an explanatory diagram explaining LatticeVQ in an embodiment. More specifically, Figure 2 is an explanatory diagram explaining LatticeVQ when the number of elements of the noise-added vector is 2.

図2は、A格子の例である。2次元の場合、格子の種類の1つとしてA格子がある。なお8次元の場合、格子の種類の1つとして、E格子がある。なお24次元の場合、格子の種類の1つとして、リーチ格子があり、それぞれ一様分布に対してRD性能を最大にするLatticeVQの格子である。 FIG. 2 is an example of the A2 lattice. In the case of two dimensions, one type of lattice is the A2 lattice. In the case of eight dimensions, one type of lattice is the E8 lattice. In the case of 24 dimensions, one type of lattice is the Reach lattice. These are LatticeVQ lattices that maximize RD performance for a uniform distribution.

以下、代表ベクトルが格子状に配置された空間を格子空間という。すなわち、代表ベクトルは、格子空間の各格子点に位置する。図2は格子空間の一例を示す図でもある。図2の例では格子空間は2次元であるが、代表ベクトルがK次元であれば格子空間もK次元である。Hereinafter, a space in which the representative vectors are arranged in a lattice pattern will be referred to as a lattice space. In other words, the representative vectors are located at each lattice point of the lattice space. Figure 2 is also a diagram showing an example of a lattice space. In the example of Figure 2, the lattice space is two-dimensional, but if the representative vectors are K-dimensional, the lattice space is also K-dimensional.

<ノイズの付与>
それでは図3及び図4を用いてノイズの付与の一例を、要素数が2の場合を例に説明する。図3は、実施形態におけるノイズの付与の一例を説明する第1の説明図である。図4は、実施形態におけるノイズの付与の一例を説明する第2の説明図である。
<Adding noise>
An example of adding noise will now be described with reference to Fig. 3 and Fig. 4, taking the case where the number of elements is two as an example. Fig. 3 is a first explanatory diagram illustrating an example of adding noise in the embodiment. Fig. 4 is a second explanatory diagram illustrating an example of adding noise in the embodiment.

ノイズの付与に際してはまず、原点格子の格子単位領域(以下「対象格子単位領域」という。)に外接する(K-1)次元球面内に一様分布するランダムなK次元ベクトルを複数生成し、格子空間に配置する。例えば図4の例であれば、ノイズ付与に際してはまず、図4の内部点数が少なくとも1つ以上になるまで生成される。格子単位領域は、格子空間を分割条件が満たされるように複数の領域に分割した結果生じた各領域である。 When adding noise, first generate multiple random K-dimensional vectors that are uniformly distributed within a (K-1)-dimensional sphere circumscribing the lattice unit area of the origin lattice (hereinafter referred to as the "target lattice unit area"), and place them in the lattice space. For example, in the example of Figure 4, when adding noise, first generate until the number of internal points in Figure 4 is at least 1. The lattice unit areas are each area that results from dividing the lattice space into multiple areas so that the division conditions are satisfied.

分割条件は、各領域の大きさ及び形状が同一であり、各領域はそれぞれ格子空間の1つの格子点を含むという条件である。したがって、格子単位領域は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であってベクトル空間の1つの格子点を含む領域である。The division conditions are that the size and shape of each region are the same, and that each region contains one lattice point of the lattice space. Therefore, a lattice unit region is a region that divides a vector space in which representative vectors are arranged in a lattice pattern, and contains one lattice point of the vector space.

なお、(K―1)次元球面は、K=2であれば円であり、K=3であれば球面であり、Kが4以上であれば、超球面である。図3の領域B1が対象格子単位領域の一例である。 Note that a (K-1)-dimensional sphere is a circle if K = 2, a sphere if K = 3, and a hypersphere if K is 4 or more. Region B1 in Figure 3 is an example of a target lattice unit region.

図3及び図4の例において、格子単位領域は、ボロノイ領域である。ボロノイ領域は、格子空間等の距離空間をボロノイ分割によって複数の領域に分割した結果得られる各前記領域である。In the examples of Figures 3 and 4, the lattice unit region is a Voronoi region. A Voronoi region is each of the regions obtained by dividing a metric space such as a lattice space into multiple regions by Voronoi division.

図3のノイズ点は、対象格子単位領域の外接円内に配置されたサンプルの一例である。なお、格子空間内にサンプルが配置される処理とは、具体的には、格子空間内の座標が取得される処理である。そして、格子空間における格子単位領域は格子空間内の領域であるので、任意の1つの格子単位領域の外接円内にサンプルが配置される処理とは、その外接円内の座標を取得する処理である。 The noise points in Figure 3 are an example of samples placed within the circumscribing circle of the target lattice unit area. Specifically, the process of placing samples within lattice space is the process of obtaining coordinates within the lattice space. Since a lattice unit area in lattice space is an area within lattice space, the process of placing samples within the circumscribing circle of any one lattice unit area is the process of obtaining coordinates within that circumscribing circle.

次に、配置されたノイズ点のうち、対象格子単位領域内に位置するノイズ点(以下「内部点」という。)と、対象格子単位領域外に位置するノイズ点(以下「除外点」という。)と、が図4の例に示すように、区別される。内部点と除外点との区別の処理は、具体的には、ノイズ点ごとに、ノイズ点の座標に基づき対象格子単位領域内の座標か対象格子単位領域外の座標かを判定する処理である。判定処理は具体的にはノイズ点を式(11)によってベクトル量子化した結果、原点格子と一致した点が領域内の座標と判定される処理である。Next, of the placed noise points, noise points located within the target lattice unit area (hereinafter referred to as "internal points") and noise points located outside the target lattice unit area (hereinafter referred to as "exclusion points") are distinguished as shown in the example of Figure 4. Specifically, the process of distinguishing between internal points and exclusion points is a process of determining, for each noise point, whether the noise point has coordinates within the target lattice unit area or coordinates outside the target lattice unit area, based on its coordinates. Specifically, the determination process is a process in which the noise points are vector quantized using equation (11), and points that match the origin lattice are determined to have coordinates within the area.

次に、対象格子単位領域内位置する複数のノイズ点のうちの1つがランダムに選択される。次に、選択されたノイズ点が1つのノイズ付与対象ベクトルに付与される。付与の処理は具体的には、ノイズ付与対象ベクトルと選択されたノイズ点を示す位置ベクトルとが足し算される処理を意味する。Next, one of the multiple noise points located within the target lattice unit area is randomly selected. The selected noise point is then added to one noise-added target vector. Specifically, the addition process refers to a process in which the noise-added target vector and a position vector indicating the selected noise point are added.

このように、選択されたノイズ点を示す位置ベクトルは乱数で決まる量であるので、ノイズの一種である。そして、選択されたノイズ点を示す位置ベクトルはベクトルで表現されるので、選択されたノイズ点を示す位置ベクトルはベクトルで表現されたノイズである。そこで、以下、選択されたノイズ点を示す位置ベクトルをノイズベクトルという。このようにしてノイズ付与対象ベクトルにはノイズが付与される。 In this way, the position vector indicating the selected noise point is a quantity determined by a random number, and is therefore a type of noise. And since the position vector indicating the selected noise point is expressed as a vector, the position vector indicating the selected noise point is noise expressed as a vector. Therefore, hereafter, the position vector indicating the selected noise point will be referred to as the noise vector. In this way, noise is added to the noise-added vector.

図1の説明に戻る。補助データ側ノイズ付与部105は、ノイズ付き補助特徴量取得処理を実行する。ノイズ付き補助特徴量取得処理は、補助特徴量に対してノイズを付与する処理である。すなわち、ノイズ付き補助特徴量取得処理は、補助特徴量に対してスカラーのノイズが付与された情報(以下「ノイズ付き補助特徴量」という。)を取得する処理である。より具体的には、補助データ側ノイズ付与部105は、補助特徴量を示すテンソルの各要素にスカラーのノイズを付与する。スカラーのノイズは例えば、-1/2以上1/2以下の一様ノイズである。Returning to the explanation of FIG. 1, the auxiliary data-side noise addition unit 105 executes a noise-added auxiliary feature acquisition process. The noise-added auxiliary feature acquisition process is a process of adding noise to the auxiliary feature. In other words, the noise-added auxiliary feature acquisition process is a process of acquiring information in which scalar noise has been added to the auxiliary feature (hereinafter referred to as "noisy auxiliary feature"). More specifically, the auxiliary data-side noise addition unit 105 adds scalar noise to each element of the tensor representing the auxiliary feature. The scalar noise is, for example, uniform noise between -1/2 and 1/2.

補助データ側確率推定部106は、補助データ側確率推定処理を実行する。補助データ側確率推定処理は、ノイズ付き補助特徴量に基づき補助データ側確率を推定する処理である。補助データ側確率は、補助特徴量を示すテンソルの各要素の生起確率を示す情報である。補助特徴量を示すテンソルの各要素の生起確率の推定には補助特徴量を示すテンソルの各要素の確率分布の情報が用いられる。 The auxiliary data side probability estimation unit 106 executes auxiliary data side probability estimation processing. The auxiliary data side probability estimation processing is processing for estimating auxiliary data side probability based on noise-added auxiliary features. The auxiliary data side probability is information indicating the occurrence probability of each element of a tensor representing an auxiliary feature. Information on the probability distribution of each element of a tensor representing an auxiliary feature is used to estimate the occurrence probability of each element of a tensor representing an auxiliary feature.

補助特徴量を示すテンソルの各要素の確率分布が予め与えられた確率分布である場合には、補助データ側確率推定部106は、その予め与えられた確率分布を後述する記憶部14等の所定の記憶装置からの読み出し等によって取得する。そして、補助データ側確率推定部106は、取得した確率分布に基づいて補助特徴量を示すテンソルの各要素の生起確率を推定する。なお、予め与えられた確率分布は、例えば累積分布関数を用いて表現された確率分布である。 When the probability distribution of each element of the tensor indicating the auxiliary feature is a predetermined probability distribution, the auxiliary data side probability estimation unit 106 acquires the predetermined probability distribution by reading it from a predetermined storage device such as the storage unit 14 described below. Then, the auxiliary data side probability estimation unit 106 estimates the occurrence probability of each element of the tensor indicating the auxiliary feature based on the acquired probability distribution. Note that the predetermined probability distribution is a probability distribution expressed using, for example, a cumulative distribution function.

補助特徴量を示すテンソルの各要素の確率分布が、パラメトライズド補助特徴量累積分布関数で表現される場合、補助データ側確率推定部106は、パラメトライズド補助特徴量累積分布関数に基づいて、補助特徴量を示すテンソルの各要素の生起確率を推定する。パラメトライズド補助特徴量累積分布関数は、補助特徴量を示すテンソルの各要素の確率分布を示す関数であってパラメトライズされた関数である。パラメトライズド補助特徴量累積分布関数のパラメータは、具体的には、補助特徴量を示すテンソルの各要素の確率分布を表す統計量に応じて変化するパラメータである。When the probability distribution of each element of the tensor representing the auxiliary feature is expressed by a parameterized auxiliary feature cumulative distribution function, the auxiliary data side probability estimation unit 106 estimates the occurrence probability of each element of the tensor representing the auxiliary feature based on the parameterized auxiliary feature cumulative distribution function. The parameterized auxiliary feature cumulative distribution function is a parameterized function that indicates the probability distribution of each element of the tensor representing the auxiliary feature. Specifically, the parameters of the parameterized auxiliary feature cumulative distribution function are parameters that change according to statistics that represent the probability distribution of each element of the tensor representing the auxiliary feature.

パラメトライズド補助特徴量累積分布関数のパラメータの値は学習によって更新される。すなわち、補助データ側確率推定部106の実行する処理の内容は、学習により更新される。The parameter values of the parameterized auxiliary feature cumulative distribution function are updated by learning. In other words, the content of the processing performed by the auxiliary data side probability estimation unit 106 is updated by learning.

パラメトライズされた累積分布関数は、例えばパラメトライズされたシグモイド関数やソフトプラス関数である。上述したようにパラメトライズド補助特徴量累積分布関数のパラメータの値は学習により更新されるので、パラメトライズされた累積分布関数のパラメータの値は学習により更新される。 The parameterized cumulative distribution function is, for example, a parameterized sigmoid function or a softplus function. As described above, the parameter values of the parameterized auxiliary feature cumulative distribution function are updated by learning, so the parameter values of the parameterized cumulative distribution function are updated by learning.

ここで、累積分布関数と生起確率との関係を確率変数が1次元の場合を例に説明する。図5は、実施形態における累積分布関数と生起確率との関係を説明する説明図である。画像G1は、確率変数qの確率密度を示す確率密度関数の一例を示す画像である。Δは量子化のステップサイズを示す。画像G1は、値qを中心にした定義域内の範囲Δで確率密度関数を積分した値が値qの生起確率p(q)であることを示す。図5のような1次元の場合、ステップサイズΔは例えば閉区間[-1/2、1/2]の大きさ(すなわち1)である。Here, the relationship between the cumulative distribution function and occurrence probability will be explained using an example where the random variable is one-dimensional. FIG. 5 is an explanatory diagram explaining the relationship between the cumulative distribution function and occurrence probability in an embodiment. Image G1 is an image showing an example of a probability density function showing the probability density of random variable q. Δ indicates the quantization step size. Image G1 shows that the value obtained by integrating the probability density function over a range Δ in the domain centered on the value q is the occurrence probability p(q) of the value q. In the one-dimensional case as in FIG. 5, the step size Δ is, for example, the size of the closed interval [-1/2, 1/2] (i.e., 1).

画像G2は、画像G1の確率密度関数の積分の結果として得られた累積分布関数cdf(q)である。このように、確率密度関数の積分の結果は、シグモイド関数等の単調増加関数で表される。なお、確率密度関数の積分の結果は、確率密度関数の形状によらずシグモイド関数等の単調増加関数で表される。より具体的には、累積分布関数は、cdf(-∞)=0という条件と、cdf(∞)=1という条件と、cdf(q)のqについての微分値が0以上という条件とを満たす関数である。 Image G2 is a cumulative distribution function cdf(q) obtained as a result of integrating the probability density function of image G1. In this way, the result of integrating the probability density function is expressed by a monotonically increasing function such as a sigmoid function. Note that the result of integrating the probability density function is expressed by a monotonically increasing function such as a sigmoid function regardless of the shape of the probability density function. More specifically, a cumulative distribution function is a function that satisfies the conditions cdf(-∞) = 0, cdf(∞) = 1, and the differential value of cdf(q) with respect to q is 0 or greater.

画像G2は、生起確率p(q)がcdf(q+Δ/2)-cdf(q-Δ/2)に等しいことを示す。図1の説明に戻る。Image G2 shows that the probability of occurrence p(q) is equal to cdf(q+Δ/2)-cdf(q-Δ/2). Returning to the explanation of Figure 1.

補助データ側復号部107は、補助特徴量復号処理を実行する。補助特徴量復号処理は補助特徴量に基づいて得られた情報を処理対象とする処理であって、処理対象を復号する処理である。補助データ側復号部107が実行する補助特徴量復号処理の処理対象は、ノイズ付き補助特徴量である。以下、ノイズ付き補助特徴量が復号された情報を補助データという。したがって、補助データ側復号部107は、ノイズ付き補助特徴量を復号することで補助データを取得する。 The auxiliary data side decoding unit 107 executes an auxiliary feature decoding process. The auxiliary feature decoding process is a process in which information obtained based on an auxiliary feature is processed, and the process decodes the processed object. The processing object of the auxiliary feature decoding process executed by the auxiliary data side decoding unit 107 is the noise-added auxiliary feature. Hereinafter, information obtained by decode the noise-added auxiliary feature is referred to as auxiliary data. Therefore, the auxiliary data side decoding unit 107 obtains the auxiliary data by decoding the noise-added auxiliary feature.

上述したように学習により補助特徴量取得処理の内容が更新されるほど、RDコストが小さくなる。したがって、補助特徴量取得処理の内容が更新されるほど、補助データが含み得る主データ統計量情報の情報量の最大量も増大する。As described above, the more the content of the auxiliary feature acquisition process is updated through learning, the smaller the RD cost becomes. Therefore, the more the content of the auxiliary feature acquisition process is updated, the greater the maximum amount of information of the main data statistical information that the auxiliary data can contain.

補助特徴量復号処理の内容は、RDコストが小さくなるように、学習により更新される。すなわち、補助データ側復号部107の実行する処理の内容は、学習により更新される。The content of the auxiliary feature decoding process is updated by learning so that the RD cost is reduced. In other words, the content of the process performed by the auxiliary data side decoding unit 107 is updated by learning.

補助エントロピー取得部108は、補助データ側確率推定部106の推定の結果である補助データ側確率に基づき、補助エントロピーを取得する。補助エントロピーは、補助特徴量のエントロピーである。The auxiliary entropy acquisition unit 108 acquires auxiliary entropy based on the auxiliary data side probability, which is the result of estimation by the auxiliary data side probability estimation unit 106. The auxiliary entropy is the entropy of the auxiliary feature.

主データ側確率推定部109は、主データ側確率推定処理を実行する。主データ側確率推定処理は、ノイズ付き主データ特徴量と補助データとに基づき主データ側確率を推定する処理である。主データ側確率は、主データ特徴量を示すテンソルの各要素の生起確率を示す情報である。主データ特徴量を示すテンソルの各要素の生起確率の推定には主データ特徴量を示すテンソルの各要素の確率分布の情報が用いられる。 The main data side probability estimation unit 109 executes a main data side probability estimation process. The main data side probability estimation process is a process for estimating the main data side probability based on the noise-added main data features and auxiliary data. The main data side probability is information indicating the occurrence probability of each element of a tensor indicating the main data features. Information on the probability distribution of each element of a tensor indicating the main data features is used to estimate the occurrence probability of each element of a tensor indicating the main data features.

主データ特徴量を示すテンソルの各要素の確率分布が、パラメトライズド主データ特徴量累積分布関数を用いて表現される場合、主データ側確率推定部109は、パラメトライズド主データ特徴量累積分布関数に基づいて、主データ特徴量を示すテンソルの各要素の生起確率を推定する。 When the probability distribution of each element of a tensor representing the main data features is expressed using a parametrized main data feature cumulative distribution function, the main data side probability estimation unit 109 estimates the occurrence probability of each element of the tensor representing the main data features based on the parametrized main data feature cumulative distribution function.

パラメトライズド主データ特徴量累積分布関数は、主データ特徴量を示すテンソルの各要素の確率分布を示す累積分布関数であってパラメトライズされた累積分布関数である。確率分布は例えばガウス分布である。 The parametrized main data feature cumulative distribution function is a parametrized cumulative distribution function that indicates the probability distribution of each element of a tensor that indicates the main data feature. The probability distribution is, for example, a Gaussian distribution.

パラメトライズド主データ特徴量累積分布関数のパラメータは、具体的には、主データ特徴量を示すテンソルの各要素の確率分布を表す統計量である。したがって、学習においてパラメトライズド補助特徴量累積分布関数のパラメータの値としては、補助データの示す値が用いられる。 The parameters of the parametrized main data feature cumulative distribution function are, specifically, statistics that represent the probability distribution of each element of the tensor that represents the main data feature. Therefore, in learning, the values indicated by the auxiliary data are used as the parameter values of the parametrized auxiliary feature cumulative distribution function.

例えば確率分布がガウス分布である場合には、学習済みの学習ネットワーク100において得られる補助データはガウス分布の代表値と散布度とを示す。For example, if the probability distribution is a Gaussian distribution, the auxiliary data obtained in the trained learning network 100 indicates the representative value and the degree of dispersion of the Gaussian distribution.

<生起確率の推定>
主データ側確率推定処理について一例を説明する。より具体的には、上述したLatticeVQを用いる場合の主データ側確率推定処理の一例を説明する。主データの各ベクトルはベクトル量子化が行われた際には、代表ベクトルの1つで表される。したがって、LatticeVQを用いる場合の主データ側確率推定処理の説明とは、さらに具体的には、LatticeVQを用いる場合の代表ベクトルの生起確率を推定する処理の説明である。以下、代表ベクトルの生起確率を推定する処理を、代表ベクトル生起確率推定処理という。代表ベクトル生起確率推定処理は主データ側確率推定処理の一例である。
<Estimation of occurrence probability>
An example of the main data side probability estimation process will be described. More specifically, an example of the main data side probability estimation process when the above-mentioned LatticeVQ is used will be described. When vector quantization is performed, each vector of the main data is represented by one of the representative vectors. Therefore, the description of the main data side probability estimation process when LatticeVQ is used is, more specifically, a description of a process for estimating the occurrence probability of the representative vector when LatticeVQ is used. Hereinafter, the process for estimating the occurrence probability of the representative vector will be referred to as the representative vector occurrence probability estimation process. The representative vector occurrence probability estimation process is an example of the main data side probability estimation process.

<代表ベクトル生起確率推定処理>
上述したように、主データ側確率推定処理では、パラメトライズド主データ特徴量累積分布関数が用いられる。また、上述したようにパラメトライズド主データ特徴量累積分布関数は、具体的にはパラメトライズされた累積分布関数である。さらに、上述したように累積分布関数とは確率密度関数を積分した結果である。したがって、代表ベクトル生起確率推定処理は累積分布関数を用いる処理である。そして、代表ベクトル生起確率推定処理で累積分布関数が用いられるとは、パラメトライズされた確率密度関数を格子単位領域で積分した結果が用いられることを意味する。
<Representative Vector Occurrence Probability Estimation Process>
As described above, the main data side probability estimation process uses a parameterized main data feature cumulative distribution function. As described above, the parameterized main data feature cumulative distribution function is specifically a parameterized cumulative distribution function. As described above, a cumulative distribution function is a result of integrating a probability density function. Therefore, the representative vector occurrence probability estimation process is a process that uses a cumulative distribution function. And, the use of a cumulative distribution function in the representative vector occurrence probability estimation process means that the result of integrating a parametrized probability density function in a lattice unit domain is used.

ところでボロノイ領域は、上述したように格子単位領域の1つである。ボロノイ分割はよく知られた領域分割の方法であるため、格子単位領域を得る際にボロノイ分割が用いられる場合が多い。しかしながら、格子空間が2次元の場合ボロノイ領域の形は上述のように6角形である。 As mentioned above, a Voronoi region is one of the lattice unit regions. Since the Voronoi tessellation is a well-known method of domain division, it is often used to obtain lattice unit regions. However, when the lattice space is two-dimensional, the shape of the Voronoi region is a hexagon, as mentioned above.

しかしながら、多様体上の関数の積分において、積分領域を示す領域の形状が6角形である場合、積分の実行は必ずしも容易ではない。なお、積分の実行が容易とは、予め定められた精度以上の精度で積分の結果を得ることに要する演算量が少ないことを意味する。However, when integrating a function on a manifold, if the shape of the region indicating the integration domain is hexagonal, it is not necessarily easy to perform the integration. Note that "easy to perform the integration" means that the amount of calculation required to obtain the integration result with a precision equal to or higher than a predetermined precision is small.

さらに、多様体が2次元よりも高次元の場合には、ボロノイ分割の結果として得られる領域における関数の積分の実行は、2次元の場合よりも更に容易ではない。例えば4次元の場合、ボロノイ領域の形を2次元空間に描くことは難しい場合が多く、そのような多様体上での関数の積分の実行も容易では無い。このように、ボロノイ分割の結果として得られる領域を積分領域として関数の積分を実行することは必ずしも容易ではない。 Furthermore, when a manifold is higher than two-dimensional, integrating a function in the region obtained as a result of the Voronoi tessellation is even less easy than in the two-dimensional case. For example, in the four-dimensional case, it is often difficult to draw the shape of the Voronoi region in two-dimensional space, and it is not easy to integrate a function on such a manifold. Thus, it is not necessarily easy to integrate a function using the region obtained as a result of the Voronoi tessellation as the integration region.

したがって、代表ベクトル生起確率推定処理で用いられるパラメトライズされた累積分布関数の取得は容易ではない場合がある。 Therefore, it may not be easy to obtain the parameterized cumulative distribution function used in the representative vector occurrence probability estimation process.

そこで代表ベクトル生起確率推定処理では、ボロノイ分割に代えて超直方体分割の結果を用いて得られたパラメトライズされた累積分布関数を用いる。超直方体分割は、形状が超直方体の格子単位領域で格子空間を分割する処理である。なお、2次元の超直方体は矩形であり、3次元の超直方体は直方体である。Therefore, in the representative vector occurrence probability estimation process, a parametrized cumulative distribution function obtained using the results of hypercube division is used instead of Voronoi division. Hypercube division is a process that divides lattice space into lattice unit regions whose shape is a hypercube. Note that a two-dimensional hypercube is a rectangle, and a three-dimensional hypercube is a rectangular prism.

図6は、実施形態における超直方体分割を説明する説明図である。より具体的には、図6は2次元の格子空間に対する超直方体分割の結果の一例を、ボロノイ分割の結果の一例とともに示す図である。図6における“真の領域”と“近似領域”とはいずれも格子単位領域の例である。 Figure 6 is an explanatory diagram explaining hyper-rectangle division in an embodiment. More specifically, Figure 6 shows an example of the result of hyper-rectangle division for a two-dimensional lattice space, together with an example of the result of Voronoi division. The "true region" and "approximate region" in Figure 6 are both examples of lattice unit regions.

“真の領域”はボロノイ分割の結果の領域である。すなわち、“真の領域”はボロノイ領域である。“真の領域”は、6角形の格子単位領域である。“近似領域”は超直方体分割の結果の格子単位領域である。 The "true region" is the region resulting from the Voronoi tessellation. That is, the "true region" is the Voronoi region. The "true region" is a hexagonal lattice unit region. The "approximate region" is the lattice unit region resulting from the hypercuboid tessellation.

“近似領域”の形状は直方体である。図6に示す2種類の分割の結果のうち、主データ側確率推定部109が実行する超直方体分割の結果の一例は、“近似領域”による分割の結果である。図6におけるSは“近似領域”の形状である直方体の辺の長さであって、2次元の格子空間の1次元目の辺の長さを示し、Sは2次元目の辺の長さを示す。 The shape of the "approximation region" is a rectangular parallelepiped. Of the two types of division results shown in Fig. 6, an example of the result of the hyper rectangular parallelepiped division executed by the main data side probability estimation unit 109 is the result of division by the "approximation region". S1 in Fig. 6 is the length of a side of the rectangular parallelepiped which is the shape of the "approximation region", and indicates the length of the side of the first dimension in the two-dimensional lattice space, and S2 indicates the length of the side of the second dimension.

1次元目の辺の長さとは、格子空間における直方体を直交する2つの斜影空間に射影した際の一方の斜影空間における直方体の長さを意味する。2次元目の辺の長さとは、他方の斜影空間における直方体の長さを意味する。なお、以下の説明において、N次元の格子空間における超直方体のn次元目の辺の長さとは、超直方体を直交するN個の1次元の斜影空間に射影した際のn番目の斜影空間における超直方体の長さを意味する。なお、斜影空間における超直方体は、直線である。 The length of the first dimension side means the length of the rectangle in one of the oblique spaces when a rectangle in a lattice space is projected onto two orthogonal oblique spaces. The length of the second dimension side means the length of the rectangle in the other oblique space. In the following explanation, the length of the nth dimension side of a hyper-rectangle in an N-dimensional lattice space means the length of the hyper-rectangle in the nth oblique space when the hyper-rectangle is projected onto N one-dimensional oblique spaces that are orthogonal. A hyper-rectangle in an oblique space is a straight line.

ところで、2次元以上の領域を積分領域とする積分は反復積分で得られる。N次元の超直方体を積分領域とする関数の積分では関数に対してN回の積分を行う反復積分が実行される。超直方体の場合、N回の各積分の積分領域を超直方体の辺とする反復積分の実行が可能である。Incidentally, integrals with an integration domain that is two or more dimensions can be obtained by iterative integration. When integrating a function with an N-dimensional hypercuboid as its integration domain, iterative integration is performed by integrating the function N times. In the case of a hypercuboid, it is possible to perform iterative integration with the integration domain of each of the N integrals being the edges of the hypercuboid.

そして、N回の各積分の積分領域を超直方体の辺とする反復積分を実行する場合、各積分は他の積分の結果に影響されない。一方、超直方体ではない超多面体の場合、反復積分の各積分は他の積分の結果に影響される。そのため、格子単位領域の形が超直方体である場合、格子単位領域の形が超直方体ではない超多面体の場合よりも、積分の実行が容易である。 When performing an iterative integral in which the integration domain of each of the N integrals is the edge of a hypercube, each integral is not affected by the results of the other integrals. On the other hand, in the case of a hyperpolyhedron that is not a hypercube, each integral of the iterative integral is affected by the results of the other integrals. Therefore, when the shape of the lattice unit domain is a hypercube, it is easier to perform the integral than when the shape of the lattice unit domain is a hyperpolyhedron that is not a hypercube.

図6の例では“真の領域”は形状が6角形であり“近似領域”の形状は直方体であるため、“近似領域”を積分領域とする積分の実行は、“真の領域”を積分領域とする積分よりも容易である。 In the example of Figure 6, the "true domain" is hexagonal in shape and the "approximate domain" is rectangular in shape, so performing integration using the "approximate domain" as the integration domain is easier than integration using the "true domain" as the integration domain.

超直方体分割の結果得られた超直方体を積分領域としてパラメトライズされた累積分布関数を得る場合、反復積分の各積分において1次元の確率密度関数であって他の次元の影響を受けない確率密度関数の積分が実行される。When obtaining a parametrized cumulative distribution function using the hyperrectangle obtained as a result of the hyperrectangle division as the integration domain, in each integral of the iterative integral, an integration of a one-dimensional probability density function that is not affected by other dimensions is performed.

学習ネットワーク100においては、反復積分の対象である確率密度関数は、予め定められた種類の分布を示す関数であり、パラメトライズされた関数である。予め定められた種類の分布は、ガウス分布である。確率密度関数のパラメータの値は補助データに応じた値である。パラメトライズされた累積分布関数は、確率密度関数に対して超直方体分割で得られた超直方体を積分領域とする反復積分を実行することで得られる。学習ネットワーク100において、確率密度関数のパラメータの値は補助データの値であるので、このようにして得られたパラメトライズされた累積分布関数は補助データに応じた関数である。In the learning network 100, the probability density function that is the subject of the iterative integration is a function that indicates a predetermined type of distribution, and is a parametrized function. The predetermined type of distribution is a Gaussian distribution. The parameter values of the probability density function are values that correspond to the auxiliary data. The parametrized cumulative distribution function is obtained by performing iterative integration on the probability density function, with the hyperrectangle obtained by the hyperrectangle division being the integration domain. In the learning network 100, the parameter values of the probability density function are values of the auxiliary data, so the parametrized cumulative distribution function obtained in this manner is a function that corresponds to the auxiliary data.

代表ベクトル生起確率推定処理では、このようにして予め得られた累積分布関数のパラメータに補助データの値を代入することが実行される。代表ベクトル生起確率推定処理では、このようにして得られた累積分布関数を用いて代表ベクトルの生起確率を推定する。In the representative vector occurrence probability estimation process, the values of the auxiliary data are substituted into the parameters of the cumulative distribution function thus obtained in advance. In the representative vector occurrence probability estimation process, the cumulative distribution function thus obtained is used to estimate the occurrence probability of the representative vector.

なお代表ベクトル生起確率推定処理では、例えば以下の式(1)及び式(2)の表す処理の実行により代表ベクトルの生起確率が推定される。なお式(2)における累積分布関数cdfは反復積分の各積分で得られた各累積分布関数を表す。m次元(mは自然数)の累積分布関数を1つの次元について積分した結果は、(m-1)次元の累積分布関数である。In the representative vector occurrence probability estimation process, the occurrence probability of the representative vector is estimated by executing the processes shown in the following formulas (1) and (2). In formula (2), the cumulative distribution function cdf represents each cumulative distribution function obtained by each integral of the repeated integral. The result of integrating an m-dimensional (m is a natural number) cumulative distribution function for one dimension is an (m-1)-dimensional cumulative distribution function.

式(1)の右辺がパラメトライズド主データ特徴量累積分布関数を用いて得られる生起確率の一例である。式(1)は式(2)の累積分布関数cfdを介してパラメトライズされた関数である。式(2)は確率密度関数を格子単位領域の1次元方向に積分した結果得られた累積分布関数である。式(1)は式(2)で得られた各次元の生起確率の積である。したがって、式(1)は、格子単位領域全面で確率密度関数を積分した結果を用いて表された生起確率である。 The right-hand side of equation (1) is an example of an occurrence probability obtained using a parametrized main data feature cumulative distribution function. Equation (1) is a function parametrized via the cumulative distribution function cfd of equation (2). Equation (2) is a cumulative distribution function obtained as a result of integrating the probability density function in the one-dimensional direction of the lattice unit area. Equation (1) is the product of the occurrence probabilities of each dimension obtained by equation (2). Therefore, equation (1) is an occurrence probability expressed using the result of integrating the probability density function over the entire lattice unit area.

Figure 0007583337000001
Figure 0007583337000001

Figure 0007583337000002
Figure 0007583337000002

iは、各格子点を識別する識別子である。jは、格子空間の各次元を意味する。式(1)の左辺は、代表ベクトルの生起確率を示す。各格子点はそれぞれ代表ベクトルを示すので、各格子点における生起確率pとは、各代表ベクトルの生起確率pを意味する。Δは、格子単位領域の識別子jで表される次元の長さを意味する。格子単位領域の形状及び大きさは予め定められているので、Δは予め定められた長さである。 i is an identifier for identifying each lattice point. j means each dimension of the lattice space. The left side of formula (1) indicates the occurrence probability of the representative vector. Since each lattice point indicates a representative vector, the occurrence probability p i at each lattice point means the occurrence probability p i of each representative vector. Δ j means the length of the dimension represented by the identifier j of the lattice unit area. Since the shape and size of the lattice unit area are predetermined, Δ j is a predetermined length.

なお、以下の式(3)で表されるハット記号が付与されたyは、ノイズ付き主データ特徴量を意味する。以下、ハット付きの記号AをA^と記載する。したがった、例えば以下の式(3)で表されたハット付きの記号yは、y^である。 Note that the y with a hat symbol in the following formula (3) means the noise-added main data feature. Hereinafter, the hat symbol A will be written as A^. Therefore, for example, the hat symbol y in the following formula (3) is y^.

Figure 0007583337000003
Figure 0007583337000003

式(1)は、生起確率pは次元ごとに得られた確率p[j]の積で表現される、ことを示す。仮に格子単位領域の形状が超直方体ではない場合には、生起確率pは次元ごとに得られた確率p[j]の簡単な積で表現されない。したがって、格子単位領域の形状が超直方体であるので、主データ側確率推定部109は式(1)及び式(2)が示すように生起確率pの取得が容易である。 Equation (1) indicates that the occurrence probability p i is expressed as the product of the probabilities p i [j] obtained for each dimension. If the shape of the lattice unit area is not a hypercuboid, the occurrence probability p i is not expressed as a simple product of the probabilities p i [j] obtained for each dimension. Therefore, since the shape of the lattice unit area is a hypercuboid, it is easy for the main data side probability estimation unit 109 to obtain the occurrence probability p i as shown in equations (1) and (2).

なお上記式(1)と(2)とは、次元間の共分散が0である場合を仮定して得られた式である。しかしながら、格子単位領域の形状が超直方体である場合、格子空間の座標軸を超直方体の各辺に平行なように回転させれば次元間の共分散を0にすることができる。したがって式(1)と式(2)とは次元間の共分散が0では無い場合であっても、座標軸の回転により成り立つ式である。なお、線形代数でよく知られた事実であるが、座標軸の回転はユニタリ変換であるので式(1)と式(2)の内容を変える変換ではない。なお、共分散を0にする処理とは、次元間の分散を表す行列を対角化する処理である。 Note that the above formulas (1) and (2) are obtained under the assumption that the covariance between dimensions is zero. However, if the shape of the lattice unit area is a hypercube, the covariance between dimensions can be made zero by rotating the coordinate axes of the lattice space so that they are parallel to each side of the hypercube. Therefore, formulas (1) and (2) are formulas that hold when the coordinate axes are rotated even if the covariance between dimensions is not zero. Note that, as is well known in linear algebra, the rotation of the coordinate axes is a unitary transformation, and is therefore not a transformation that changes the contents of formulas (1) and (2). Note that the process of making the covariance zero is a process of diagonalizing the matrix that represents the variance between dimensions.

このように、主データ側確率推定処理は、パラメトライズされた確率密度関数が、形状が超直方体である格子単位領域を積分領域として積分された結果を用いて、主データ特徴量を示すテンソルの各要素の生起確率を推定する。In this way, the main data side probability estimation process estimates the occurrence probability of each element of the tensor representing the main data features using the result of integrating the parameterized probability density function with a lattice unit region whose shape is a hyper-rectangle as the integration region.

<超直方体の範囲の決定の処理>
ここまで、格子単位領域として超直方体を用いることを説明してきたが、その超直方体の形状及び大きさをどのように決めるのか、その処理については触れてこなかった。ここで、超直方体であるという条件は少なくとも満たす格子単位領域について、その形状及び大きさを決める処理(以下「超直方体決定処理」という。)の一例を説明する。
<Processing for determining the range of a hypercuboid>
So far, we have explained the use of a hyper-rectangle as a lattice unit region, but have not mentioned how to determine the shape and size of the hyper-rectangle. Here, we will explain an example of a process for determining the shape and size of a lattice unit region that at least satisfies the condition that it is a hyper-rectangle (hereinafter referred to as the "hyper-rectangle determination process").

超直方体決定処理では、まず原点格子の隣接格子が算出される。なお、原点格子とは、格子空間の原点に位置する格子点である。隣接格子は、原点の隣の格子点である。次に超直方体決定処理では、超直方体決定条件を満たす超直方体が算出される。超直方体決定条件は、原点格子の格子単位領域が各隣接格子の格子単位領域と重ならないという条件と、超直方体の体積がボロノイ領域の体積に等しい、という条件とを含む条件である。 In the hypercube determination process, first, the adjacent lattices of the origin lattice are calculated. The origin lattice is the lattice point located at the origin of the lattice space. An adjacent lattice is the lattice point next to the origin. Next, in the hypercube determination process, a hypercube that satisfies the hypercube determination conditions is calculated. The hypercube determination conditions include the condition that the lattice unit area of the origin lattice does not overlap with the lattice unit areas of each adjacent lattice, and the condition that the volume of the hypercube is equal to the volume of the Voronoi region.

超直方体決定処理の具体例として、8次元のE8格子空間における超直方体の形状及び大きさの決定に用いられる条件について説明する。原点格子の隣接格子は、以下の2種類が存在する。1つは、[±1、0]である。他の1つは、[±(1/2)]である。ここで、上付き文字は、次元の数を示す。例えば[1、0]は、[1、1、0、0、0、0、0、0]を意味する。なお、上記の大カッコ[]は、ベクトルを表す。 As a specific example of the hypercuboid determination process, the conditions used to determine the shape and size of a hypercuboid in an 8-dimensional E8 lattice space will be described. There are two types of adjacent lattices of the origin lattice. One is [±1 2 , 0 6 ]. The other is [±(1/2) 8 ]. Here, the superscript indicates the number of dimensions. For example, [1 2 , 0 6 ] means [1, 1, 0, 0, 0, 0, 0, 0]. Note that the above brackets [ ] represent vectors.

<超直方体を示す記法について>
超直方体[s 、s ・・・s ]における上付き文字は、1次元目からa次元目までの各辺の長さがsであり、(a+1)次元目から(a+b)次元目までの各辺の長さがsであり、ということを示す。このように、上付き文字を用いる記法における上付き文字は、上付き文字の添付対象の文字をsとして、一続きの次元であって上付き文字の数だけの次元について、超直方体の辺の長さが同じ長さsであることを示す。すなわちsは、一続きのa個の次元については超直方体の辺の長さがsであることを示す。なお、次元が一続きか否かの判定には次元の順番の情報が必要であるが、次元の順番は予め定められた順番である。
<Notation for indicating a hypercuboid>
The superscripts in the hypercuboid [s 1 a , s 2 b . . . s 3 c ] indicate that the length of each side from the first dimension to the a-th dimension is s 1 , and the length of each side from the (a+1)th dimension to the (a+b)th dimension is s 2. In this way, the superscripts in the notation using superscripts indicate that the length of the sides of the hypercuboid is the same length s for a series of dimensions that are the same as the number of superscripts, with the character to which the superscript is attached being s. That is, s a indicates that the length of the sides of the hypercuboid is s for a series of a dimensions. Note that information on the order of the dimensions is required to determine whether the dimensions are continuous or not, but the order of the dimensions is a predetermined order.

なお[±1、0]における“±”は、+1の場合と-1の場合とが存在することを示す。したがって、[±1、0]は、具体的には、[1、1、0]と、[-1、1、0]と、[1、-1、0]と、[-1、-1、0]との4つのベクトルを意味する。 Note that the "±" in [±1 2 , 0 6 ] indicates that there are cases of +1 and -1. Therefore, [±1 2 , 0 6 ] specifically means the four vectors [1, 1, 0 6 ], [-1, 1, 0 6 ], [1, -1, 0 6 ], and [-1, -1, 0 6 ].

8次元の格子空間における超直方体の形状及び大きさの決定の説明に戻る。各隣接格子の超直方体が原点格子の超直方体と重ならない条件は、以下の2つである。1つは超直方体の辺(要素)のうち7つ以上が1以下という条件である。他の1つは、超直方体の辺(要素)のうち1つ以上が1/2以下という条件である。 Returning to the explanation of determining the shape and size of a hypercube in an eight-dimensional lattice space, there are two conditions for the hypercube of each adjacent lattice not to overlap with the hypercube of the origin lattice. The first is that seven or more of the sides (elements) of the hypercube are 1 or less. The other is that one or more of the sides (elements) of the hypercube are 1/2 or less.

また、E8格子のボロノイ領域の体積は1なので、超直方体は、以下の式(4)の条件を満たす。 Furthermore, since the volume of the Voronoi region of the E8 lattice is 1, the hypercuboid satisfies the following equation (4).

Figure 0007583337000004
Figure 0007583337000004

これらの条件を満たす超直方体として、8次元のE8格子空間の場合には、例えばs=[1/2、1、2]が得られる。 In the case of an eight-dimensional E8 lattice space, for example, s=[1/2, 1 6 , 2] is obtained as a hypercuboid that satisfies these conditions.

他の次元の場合の例を紹介する。2次元のA2格子空間の場合には、格子単位領域の範囲は、以下の式(5)で表される超直方体の囲う範囲である。Here is an example for other dimensions. In the case of a two-dimensional A2 lattice space, the range of the lattice unit area is the range enclosed by a hypercuboid expressed by the following equation (5).

Figure 0007583337000005
Figure 0007583337000005

8次元のE8格子空間の場合には、格子単位領域の範囲は、以下の式(6)で表される超直方体の囲う範囲である。 In the case of 8-dimensional E8 lattice space, the range of the lattice unit area is the range enclosed by a hypercuboid expressed by the following equation (6).

Figure 0007583337000006
Figure 0007583337000006

24次元のリーチ格子空間の場合には、格子単位領域の範囲は、以下の式(7)で表される超直方体の囲う範囲である。 In the case of a 24-dimensional Reach lattice space, the range of a lattice unit area is the range enclosed by a hypercuboid expressed by the following equation (7).

Figure 0007583337000007
Figure 0007583337000007

このようにして、超直方体の範囲(格子単位領域の形状及び大きさ)が決定される。図1の説明に戻る。In this way, the extent of the hypercuboid (the shape and size of the lattice unit area) is determined. Returning to the explanation of Figure 1.

主エントロピー取得部110は、主データ側確率推定部109の推定の結果に基づき主データ特徴量のエントロピーを取得する。以下、主データ特徴量のエントロピーを主エントロピーという。The main entropy acquisition unit 110 acquires the entropy of the main data features based on the estimation result of the main data side probability estimation unit 109. Hereinafter, the entropy of the main data features is referred to as the main entropy.

主データ側復号部111は、主データ特徴量復号処理を実行する。主データ特徴量復号処理は主データ特徴量に基づいて得られた情報を処理対象とする処理であって、処理対象を復号する処理である。主データ側復号部111が実行する主データ特徴量復号処理の処理対象は、ノイズ付き主データ特徴量である。主データ側復号部111の復号の処理の内容は、学習により更新される。 The main data side decoding unit 111 executes a main data feature decoding process. The main data feature decoding process is a process in which information obtained based on the main data feature is processed, and is a process in which the process object is decoded. The process object of the main data feature decoding process executed by the main data side decoding unit 111 is the noise-added main data feature. The contents of the decoding process of the main data side decoding unit 111 are updated by learning.

再構成誤差算出部112は、主データ側復号部111の復号の結果と主データ取得部101の取得した主データとの違いを算出する。以下、主データ側復号部111の復号の結果と主データ取得部101の取得した主データとの違い、を再構成誤差という。主データ側復号部111の復号の結果と主データ取得部101の取得した主データとの違いは、例えば平均二乗誤差和で表されてもよいし、バイナリークロスエントロピーで表されてもよい。The reconstruction error calculation unit 112 calculates the difference between the decoding result of the main data side decoding unit 111 and the main data acquired by the main data acquisition unit 101. Hereinafter, the difference between the decoding result of the main data side decoding unit 111 and the main data acquired by the main data acquisition unit 101 is referred to as the reconstruction error. The difference between the decoding result of the main data side decoding unit 111 and the main data acquired by the main data acquisition unit 101 may be expressed, for example, by the mean squared error sum or by binary cross entropy.

最適化部113は、補助エントロピーと主エントロピーと再構成誤差とに基づき、学習ネットワーク100を更新する。なお、補助エントロピーと主エントロピーと再構成誤差とはいずれも学習ネットワーク100の出力の例である。最適化部113は、具体的には、最適化誤差と、主エントロピーと、補助エントロピーとを小さくするように学習ネットワーク100を更新する。最適化部113が用いる目的関数は、例えば、L=D+λ(R+R)である。 The optimization unit 113 updates the learning network 100 based on the auxiliary entropy, the principal entropy, and the reconstruction error. The auxiliary entropy, the principal entropy, and the reconstruction error are all examples of the output of the learning network 100. Specifically, the optimization unit 113 updates the learning network 100 so as to reduce the optimization error, the principal entropy, and the auxiliary entropy. The objective function used by the optimization unit 113 is, for example, L=D+λ(R y +R z ).

記号Lは目的関数を表す。記号Dは、再構成誤差を表す。記号ラムダは予め定められた定数である。記号Rは、補助エントロピーを表す。記号Rは、主エントロピーを表す。 The symbol L represents the objective function. The symbol D represents the reconstruction error. The symbol lambda is a predefined constant. The symbol R y represents the auxiliary entropy. The symbol R z represents the primal entropy.

エントロピーの小ささは、符号長の短さを意味するので、最適化部113は、エントロピーを小さくするよう学習ネットワーク100を更新する。また、最適化誤差が小さいほど自己符号化の精度が高いことを意味するので、最適化部113は最適化誤差を小さくするよう学習ネットワーク100を更新する。Since a small entropy means a short code length, the optimization unit 113 updates the learning network 100 to reduce the entropy. Also, since a smaller optimization error means higher accuracy of self-encoding, the optimization unit 113 updates the learning network 100 to reduce the optimization error.

例えば学習ネットワーク100の更新は、目的関数Lの最小化問題を解くことが勾配法を用いて行われる。すなわち、例えば誤差逆伝搬法により学習ネットワーク100の各パラメータの値が更新されることで学習ネットワーク100が更新される。For example, the learning network 100 is updated by using a gradient method to solve the minimization problem of the objective function L. That is, the learning network 100 is updated by updating the values of each parameter of the learning network 100 using, for example, the backpropagation method.

学習ネットワーク100の更新とは具体的には、主データ側符号化部102、補助データ側符号化部103、補助データ側確率推定部106、補助データ側復号部107及び主データ側復号部111の処理の内容を更新することを意味する。 Specifically, updating the learning network 100 means updating the processing contents of the main data side encoding unit 102, the auxiliary data side encoding unit 103, the auxiliary data side probability estimation unit 106, the auxiliary data side decoding unit 107, and the main data side decoding unit 111.

<自己符号化と学習ネットワーク100との関係>
ところで学習ネットワーク100は、主データ側ノイズ付与部104を備える。主データ側ノイズ付与部104そのものは量子化の処理ではない。しかしながら、主データ側ノイズ付与部104の処理を含むからこそ、学習が行われることで、ベクトル量子化を用いた自己符号化の性能が高まる。その理由を説明する。
<Relationship between autoencoding and learning network 100>
The learning network 100 includes a main data-side noise adding unit 104. The main data-side noise adding unit 104 itself does not perform quantization processing. However, since the processing of the main data-side noise adding unit 104 is included, the performance of self-encoding using vector quantization is improved by performing learning. The reason for this will be explained below.

例えば、以下の参考文献1に記載のように学習時にベクトル量子化が行われると、勾配が0になってしまうため、ベクトル量子化を用いた自己符号化の処理を高効率化する学習の実行ができないことが知られている。したがって、自己符号化の処理を学習によって高効率化するためには、ベクトル量子化そのものに代えてベクトルに対してノイズを付与する処理が学習時に行われる。For example, as described in Reference 1 below, when vector quantization is performed during learning, the gradient becomes 0, making it known that learning that makes the self-encoding process using vector quantization highly efficient cannot be performed. Therefore, in order to make the self-encoding process more efficient through learning, a process of adding noise to the vectors is performed during learning instead of vector quantization itself.

ベクトル量子化そのものに代えてノイズを付与する処理を行うことで、ベクトル量子化を行う処理そのものではなくベクトル量子化に用いられる情報を生成する他の処理の性能が高まる。その結果、自己符号化の際にはノイズを付与する処理に代えてベクトル量子化を行っても、学習前よりも高効率な自己符号化が行われる。 By performing a process of adding noise instead of vector quantization itself, the performance of other processes that generate the information used in vector quantization is improved, rather than the process of performing vector quantization itself. As a result, even if vector quantization is performed instead of a process of adding noise during self-encoding, self-encoding is more efficient than before learning.

参考文献1:Balle,”Variational image compression with a scale hyperprior,” 2018Reference 1: Balle, "Variational image compression with a scale hyperprior," 2018

学習部10について関しては、主データ側ノイズ付与部104がノイズ付与対象ベクトルに対してノイズを付与する。したがって、主データ側ノイズ付与部104を含む学習を行うことで、勾配が0にならない。その結果、ベクトル量子化を用いた自己符号化の際にも用いられる主データ側符号化部102、補助データ側符号化部103、補助データ側確率推定部106、補助データ側復号部107及び主データ側復号部111の内容を更新することが可能である。 Regarding the learning unit 10, the main data side noise adding unit 104 adds noise to the noise-added vector. Therefore, by performing learning including the main data side noise adding unit 104, the gradient does not become 0. As a result, it is possible to update the contents of the main data side encoding unit 102, the auxiliary data side encoding unit 103, the auxiliary data side probability estimating unit 106, the auxiliary data side decoding unit 107, and the main data side decoding unit 111, which are also used in self-encoding using vector quantization.

したがって、ここまでネットワーク学習結果と説明してきた内容は、具体的には、ベクトル量子化に代えてノイズの付与を実行するニューラルネットワーク(すなわち学習ネットワーク100)の学習で更新された周辺処理、を意味する。周辺処理は、ベクトル量子化で用いられる情報を生成する処理である。周辺処理は具体的には、主データ側符号化部102、補助データ側符号化部103、補助データ側確率推定部106、補助データ側復号部107及び主データ側復号部111のそれぞれが実行する処理である。 Therefore, what has been described so far as the network learning result specifically means the peripheral processing updated by the learning of the neural network (i.e., learning network 100) that adds noise instead of vector quantization. The peripheral processing is processing that generates information used in vector quantization. Specifically, the peripheral processing is processing that is executed by each of the main data side encoding unit 102, the auxiliary data side encoding unit 103, the auxiliary data side probability estimating unit 106, the auxiliary data side decoding unit 107, and the main data side decoding unit 111.

図7は、実施形態における学習部10が実行する処理の流れの一例を示す図である。主データ取得部101が主データx=[x、x、・・・、x]を取得する(ステップS101)。主データxはxからxまでのN個の要素を有するN次元ベクトルである。xからxまでの各要素はテンソルである。したがって、xからxまでの各要素はスカラーであってもよいしベクトルであってもよい。 7 is a diagram showing an example of a flow of processing executed by the learning unit 10 in the embodiment. The main data acquisition unit 101 acquires main data x=[ x1 , x2 , ..., xN] (step S101). The main data x is an N-dimensional vector having N elements from x1 to xN . Each element from x1 to xN is a tensor. Therefore, each element from x1 to xN may be a scalar or a vector .

次に、主データ側符号化部102が、主データ特徴量取得処理を実行する(ステップS102)。すなわち、主データ側符号化部102が主データxを符号化する。主データの符号化により、主データ特徴量y=fenc(x)が得られる。関数fenc(x)は、主データxの符号化の処理を表現する関数(以下「主データ符号化関数」という。)である。なお主データ特徴量yはk個のK次元ベクトルで構成されるテンソルである。 Next, the main data side encoding unit 102 executes a main data feature acquisition process (step S102). That is, the main data side encoding unit 102 encodes the main data x. By encoding the main data, a main data feature y=f enc (x) is obtained. The function f enc (x) is a function (hereinafter referred to as a "main data encoding function") that expresses the encoding process of the main data x. Note that the main data feature y is a tensor composed of k K-dimensional vectors.

次に、補助データ側符号化部103が補助特徴量取得処理を実行する(ステップS103)。補助特徴量取得処理の実行により、補助特徴量z=genc(y)が得られる。関数genc(y)は、主データ特徴量yの符号化の処理を表現する関数(以下「主データ特徴量符号化関数」という。)である。なお補助特徴量zはベクトル等のテンソルである。 Next, the auxiliary data side encoding unit 103 executes an auxiliary feature acquisition process (step S103). By executing the auxiliary feature acquisition process, an auxiliary feature z = g enc (y) is obtained. The function g enc (y) is a function expressing the process of encoding the main data feature y (hereinafter referred to as the "main data feature encoding function"). Note that the auxiliary feature z is a tensor such as a vector.

次に、主データ側ノイズ付与部104がノイズ付き主データ特徴量取得処理を実行する(ステップS104)。ノイズ付き主データ特徴量取得処理の実行により、主データ特徴量にノイズが付与される。すなわち、ノイズ付き主データ特徴量取得処理の実行により、ノイズ付き主データ特徴量y^=[y^、y^、・・・、y^]が得られる。ただし、y^=y+uである。yは、主データ特徴量yのi番目のベクトル要素を表す。uはノイズを表す。 Next, the main data-side noise adding unit 104 executes a noise-added main data feature acquisition process (step S104). By executing the noise-added main data feature acquisition process, noise is added to the main data feature. That is, by executing the noise-added main data feature acquisition process, the noise-added main data feature y^=[ y1 ^, y2 ^, ..., yk ^] is obtained, where yi ^= yi + uy . yi represents the i-th vector element of the main data feature y. uy represents noise.

次に、補助データ側ノイズ付与部105がノイズ付き補助特徴量取得処理を実行する(ステップS105)。ノイズ付き補助特徴量取得処理の実行により、補助特徴量にノイズが付与される。すなわち、ノイズ付き補助特徴量取得処理の実行により、ノイズ付き補助特徴量z^=[z^、z^、・・・、z^]が得られる。なお、wは1以上の整数である。ただし、z^=z+uである。zは、補助特徴量zのi番目の要素を表す。uはノイズを表す。 Next, the auxiliary data-side noise adding unit 105 executes a noise-added auxiliary feature acquisition process (step S105). By executing the noise-added auxiliary feature acquisition process, noise is added to the auxiliary feature. That is, by executing the noise-added auxiliary feature acquisition process, noise-added auxiliary feature z^=[z 1 ^, z 2 ^, ..., z w ^] is obtained. Note that w is an integer equal to or greater than 1. However, z i ^=z i +u z . Z i represents the i-th element of the auxiliary feature z. U z represents noise.

次に、補助データ側確率推定部106が補助データ側確率推定処理を実行する(ステップS106)。補助データ側確率推定部106は、補助データ側確率推定処理の実行により補助データ側確率を推定する。補助データ側確率は具体的には以下の式(8)で表される。Next, the auxiliary data side probability estimation unit 106 executes the auxiliary data side probability estimation process (step S106). The auxiliary data side probability estimation unit 106 estimates the auxiliary data side probability by executing the auxiliary data side probability estimation process. Specifically, the auxiliary data side probability is expressed by the following formula (8).

Figure 0007583337000008
Figure 0007583337000008

式(8)の左辺の記号が補助データ側確率を表す。記号hはパラメトライズド補助特徴量累積分布関数である。The symbol on the left side of equation (8) represents the probability of the auxiliary data. The symbol h is the cumulative distribution function of the parametrized auxiliary feature.

次に補助データ側復号部107が、ノイズ付き補助特徴量に対して補助特徴量復号処理を実行する(ステップS107)。補助特徴量復号処理の実行により、補助特徴量復号処理の実行により、ノイズ付き補助特徴量が復号される。すなわち、補助特徴量復号処理の実行により、補助データθ=gdec(z^)が得られる。関数gdec(z^)は、ノイズ付き補助特徴量z^の復号の処理を表現する関数(以下「補助特徴量復号関数」という。)である。なお補助データθはベクトル等のテンソルである。 Next, the auxiliary data side decoding unit 107 executes auxiliary feature decoding processing on the noise-added auxiliary feature (step S107). By executing the auxiliary feature decoding processing, the noise-added auxiliary feature is decoded. That is, by executing the auxiliary feature decoding processing, auxiliary data θ=g dec (z^) is obtained. The function g dec (z^) is a function (hereinafter referred to as the "auxiliary feature decoding function") that expresses the process of decoding the noise-added auxiliary feature z^. Note that the auxiliary data θ is a tensor such as a vector.

次に、補助エントロピー取得部108が補助データ側確率に基づき、補助エントロピーを取得する(ステップS108)。具体的には、以下の式(9)で表される処理を実行することで、補助エントロピー取得部108は補助エントロピーを取得する。Next, the auxiliary entropy acquisition unit 108 acquires the auxiliary entropy based on the auxiliary data side probability (step S108). Specifically, the auxiliary entropy acquisition unit 108 acquires the auxiliary entropy by executing the process represented by the following formula (9).

Figure 0007583337000009
Figure 0007583337000009

式(9)の左辺の記号が補助エントロピーを表す。 The symbol on the left side of equation (9) represents auxiliary entropy.

次に、主データ側確率推定部109が、主データ側確率推定処理を実行する(ステップS109)。主データ側確率推定部109は、主データ側確率推定処理の実行によりノイズ付き主データ特徴量と補助データとに基づき主データ側確率を推定する。主データ側確率は、具体的には上述の式(1)で表される。Next, the main data side probability estimation unit 109 executes a main data side probability estimation process (step S109). The main data side probability estimation unit 109 executes the main data side probability estimation process to estimate the main data side probability based on the noise-added main data features and the auxiliary data. The main data side probability is specifically expressed by the above-mentioned formula (1).

次に、主エントロピー取得部110が、主データ側確率に基づき主エントロピーを取得する(ステップS110)。具体的には、以下の式(10)で表される処理を実行することで、主エントロピー取得部110は主エントロピーを取得する。Next, the principal entropy acquisition unit 110 acquires the principal entropy based on the main data side probability (step S110). Specifically, the principal entropy acquisition unit 110 acquires the principal entropy by executing the process represented by the following formula (10).

Figure 0007583337000010
Figure 0007583337000010

式(10)の左辺の記号が主エントロピーを表す。 The symbol on the left side of equation (10) represents the principal entropy.

次に、主データ側復号部111が、ノイズ付き主データ特徴量に対して主データ特徴量復号処理を実行する(ステップS111)。主データ特徴量復号処理の実行により、ノイズ付き主データ特徴量が復号される。以下、ノイズ付き主データ特徴量が復号された情報を復号主データという。したがって、主データ側復号部111は主データ特徴量復号処理の実行による復号主データx^=fdec(y^)を得る。関数fdec(y^)は、ノイズ付き主データ特徴量y^の復号の処理を表現する関数(以下「主データ特徴量復号関数」という。)である。なお復号主データx^はベクトル等のテンソルである。 Next, the main data side decoding unit 111 executes a main data feature decoding process on the noise-added main data feature (step S111). The noise-added main data feature is decoded by executing the main data feature decoding process. Hereinafter, information obtained by decoded the noise-added main data feature is referred to as decoded main data. Therefore, the main data side decoding unit 111 obtains decoded main data x^=f dec (y^) by executing the main data feature decoding process. The function f dec (y^) is a function (hereinafter referred to as the "main data feature decoding function") that expresses the process of decoding the noise-added main data feature y^. Note that the decoded main data x^ is a tensor such as a vector.

次に、再構成誤差算出部112が、復号主データと主データ取得部101の取得した主データとの違いを取得する(ステップS112)。復号主データと主データ取得部101の取得した主データとの違いが再構成誤差である。Next, the reconstruction error calculation unit 112 acquires the difference between the decoded main data and the main data acquired by the main data acquisition unit 101 (step S112). The difference between the decoded main data and the main data acquired by the main data acquisition unit 101 is the reconstruction error.

次に最適化部113は、補助データエントロピーと主データエントロピーと再構成誤差とに基づき、学習ネットワーク100を更新する(ステップS113)。次に、最適化部113は学習に関する所定の終了条件(以下「学習終了条件」という。)が満たされたか否かを判定する(ステップS114)。学習終了条件は、例えば、学習ネットワーク100の所定の回数の更新が行われた、という条件である。Next, the optimization unit 113 updates the learning network 100 based on the auxiliary data entropy, the main data entropy, and the reconstruction error (step S113). Next, the optimization unit 113 determines whether a predetermined end condition for learning (hereinafter referred to as the "learning end condition") is satisfied (step S114). The learning end condition is, for example, a condition that the learning network 100 has been updated a predetermined number of times.

学習終了条件が満たされた場合(ステップS114:YES)、処理が終了する。一方、学習終了条件が満たされない場合(ステップS114:NO)、ステップS101の処理に戻る。学習終了条件が満たされた時点の周辺処理が学習済みの周辺処理としてベクトル量子化に用いられる。If the learning end condition is met (step S114: YES), the process ends. On the other hand, if the learning end condition is not met (step S114: NO), the process returns to step S101. The peripheral process at the time when the learning end condition is met is used for vector quantization as the learned peripheral process.

なお、ステップS101~ステップS114の各処理は因果律に反することが無ければどのような順番で実行されてもよい。 Note that the processes in steps S101 to S114 may be performed in any order as long as they do not violate the law of causality.

なお、上述したように、補助データ側確率推定部106は予め与えられた確率分布を所定の記憶装置からの読み出し等によって取得してもよい。このような場合、補助データ側確率推定処理の内容は学習によって更新されない。したがって、学習済みの補助データ側確率推定処理は学習前の補助データ側確率推定処理と同じである。As described above, the auxiliary data side probability estimation unit 106 may obtain a predetermined probability distribution by reading it from a specified storage device, etc. In such a case, the contents of the auxiliary data side probability estimation process are not updated by learning. Therefore, the learned auxiliary data side probability estimation process is the same as the auxiliary data side probability estimation process before learning.

なお、補助データ側確率推定処理の内容の更新は、より具体的には、パラメトライズド補助特徴量累積分布関数hの更新である。したがって、補助データ側確率推定部106が予め与えられた確率分布を所定の記憶装置からの読み出し等によって取得する場合、学習済みのパラメトライズド補助特徴量累積分布関数hは学習前のパラメトライズド補助特徴量累積分布関数hと同じである。 More specifically, the update of the contents of the auxiliary data side probability estimation process is an update of the parametrized auxiliary feature cumulative distribution function h. Therefore, when the auxiliary data side probability estimation unit 106 acquires a pre-given probability distribution by reading from a predetermined storage device, the learned parametrized auxiliary feature cumulative distribution function h is the same as the parametrized auxiliary feature cumulative distribution function h before learning.

このように学習部10は、ベクトル量子化を用いた自己符号化の処理における符号化と復号との処理を学習により更新する。ベクトル量子化を用いた自己符号化の処理は、自己符号化の対象の特徴量である主データ特徴量と、主データ特徴量の特徴量である補助特徴量とを用いる。さらに、ベクトル量子化を用いた自己符号化の処理は、主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う。 In this way, the learning unit 10 updates the encoding and decoding processes in the self-encoding process using vector quantization through learning. The self-encoding process using vector quantization uses main data features, which are features to be self-encoded, and auxiliary features, which are features of the main data features. Furthermore, the self-encoding process using vector quantization performs entropy coding on the result of vector quantizing the main data features, and entropy coding on the result of scalar quantizing the auxiliary features.

このようなベクトル量子化を用いた自己符号化の処理における符号化の処理は、具体的には、主データ側符号化部102が実行する主データ特徴量取得処理と、補助データ側符号化部103が実行する補助特徴量取得処理とである。また、このようなベクトル量子化を用いた自己符号化の処理における復号の処理は、具体的には、補助データ側復号部107が実行する補助特徴量復号処理と、主データ側復号部111が実行する主データ特徴量復号処理とである。 The encoding process in such a self-encoding process using vector quantization specifically includes a main data feature acquisition process performed by the main data side encoding unit 102 and an auxiliary feature acquisition process performed by the auxiliary data side encoding unit 103. The decoding process in such a self-encoding process using vector quantization specifically includes an auxiliary feature decoding process performed by the auxiliary data side decoding unit 107 and a main data feature decoding process performed by the main data side decoding unit 111.

学習済みの周辺処理を用いるベクトル量子化、を用いた自己符号化について図8及び図9を用いて説明する。学習済みとは、学習終了条件が満たされた時点の、という意味である。より具体的には、学習済みの周辺処理を用いるベクトル量子化、を用いた自己符号化を実行する装置の例として、エンコードとデコードとの処理を実行する自己符号化装置2を説明する。自己符号化装置2は、自己符号化器(オートエンコーダ)の1種である。 Self-encoding using vector quantization using learned peripheral processing will be explained using Figures 8 and 9. "Learned" means at the point in time when the learning end condition is met. More specifically, as an example of a device that performs self-encoding using vector quantization using learned peripheral processing, a self-encoding device 2 that performs encoding and decoding processes will be explained. The self-encoding device 2 is a type of autoencoder (autoencoder).

図8は、実施形態における自己符号化装置2の概要を説明する第1の説明図である。図9は、実施形態における自己符号化装置2の概要を説明する第2の説明図である。より具体的には、図8は自己符号化装置2で実行されるエンコードの処理を説明する説明図であり、図9は、自己符号化装置2で実行されるデコードの処理を説明する説明図である。 Figure 8 is a first explanatory diagram illustrating an overview of the self-encoding device 2 in an embodiment. Figure 9 is a second explanatory diagram illustrating an overview of the self-encoding device 2 in an embodiment. More specifically, Figure 8 is an explanatory diagram illustrating the encoding process performed by the self-encoding device 2, and Figure 9 is an explanatory diagram illustrating the decoding process performed by the self-encoding device 2.

自己符号化装置2は、自己符号化器の1種であるので、エンコーダとデコーダとを備える。具体的には、自己符号化装置2は、エンコーダ200とデコーダ212とを備える。エンコーダ200は、自己符号化対象取得部201、学習済み主データ側符号化部202、学習済み補助データ側符号化部203、ベクトル量子化部204、スカラー量子化部205、学習済み補助データ側確率推定部206、学習済み補助データ側復号部207、補助エントロピー符号化部208、主データ側確率推定部209、主エントロピー符号化部210及びデータ多重化部211を備える。Since the self-encoding device 2 is a type of self-encoder, it includes an encoder and a decoder. Specifically, the self-encoding device 2 includes an encoder 200 and a decoder 212. The encoder 200 includes a self-encoding target acquisition unit 201, a learned main data side encoding unit 202, a learned auxiliary data side encoding unit 203, a vector quantization unit 204, a scalar quantization unit 205, a learned auxiliary data side probability estimation unit 206, a learned auxiliary data side decoding unit 207, an auxiliary entropy encoding unit 208, a main data side probability estimation unit 209, a main entropy encoding unit 210, and a data multiplexing unit 211.

デコーダ212は、符号化データ取得部213、データ分離部214、補助エントロピー復号部215、学習済み補助データ側復号部216、主エントロピー復号部217及び学習済み主データ側復号部218を備える。 The decoder 212 includes an encoded data acquisition unit 213, a data separation unit 214, an auxiliary entropy decoding unit 215, a learned auxiliary data side decoding unit 216, a main entropy decoding unit 217 and a learned main data side decoding unit 218.

自己符号化対象取得部201は、自己符号化の対象であるデータを主データとして取得する。以下、自己符号化の対象を自己符号化対象という。The self-encoding target acquisition unit 201 acquires data that is the target of self-encoding as main data. Hereinafter, the target of self-encoding is referred to as the self-encoding target.

学習済み主データ側符号化部202は、自己符号化対象に対して学習済みの主データ特徴量取得処理を実行する。学習済みの主データ特徴量取得処理の実行により学習済み主データ側符号化部202は自己符号化対象の主データ特徴量を取得する。The learned main data side encoding unit 202 executes a learned main data feature acquisition process for the self-encoding target. By executing the learned main data feature acquisition process, the learned main data side encoding unit 202 acquires the main data feature of the self-encoding target.

学習済み補助データ側符号化部203は、自己符号化対象の主データ特徴量に対して学習済みの補助特徴量取得処理を実行する。学習済みの補助特徴量取得処理の実行により学習済み補助データ側符号化部203は自己符号化対象の補助特徴量を取得する。The learned auxiliary data side encoding unit 203 executes a learned auxiliary feature acquisition process on the main data features to be self-encoded. By executing the learned auxiliary feature acquisition process, the learned auxiliary data side encoding unit 203 acquires the auxiliary features to be self-encoded.

ベクトル量子化部204は、自己符号化対象の主データ特徴量に対してベクトル量子化の処理を実行する。ベクトル量子化の処理の実行によりベクトル量子化部204は、自己符号化対象のベクトル量子化された主データ特徴量(以下「ベクトル量子化特徴量」という。)を取得する。The vector quantization unit 204 performs a vector quantization process on the main data features to be self-encoded. By performing the vector quantization process, the vector quantization unit 204 obtains vector quantized main data features (hereinafter referred to as "vector quantized features") to be self-encoded.

スカラー量子化部205は、自己符号化対象の補助特徴量に対してスカラー量子化の処理を実行する。スカラー量子化の処理の実行によりスカラー量子化部205は、自己符号化対象のスカラー量子化された補助特徴量(以下「スカラー量子化特徴量」という。)を取得する。The scalar quantization unit 205 performs a scalar quantization process on the auxiliary features to be self-encoded. By performing the scalar quantization process, the scalar quantization unit 205 obtains scalar quantized auxiliary features (hereinafter referred to as "scalar quantized features") of the self-encoding target.

学習済み補助データ側確率推定部206は、学習済みの補助データ側確率推定処理を実行する。学習済み補助データ側確率推定部206は、学習済みの補助データ側確率推定処理の実行により、スカラー量子化特徴量に基づき自己符号化対象の補助データ側確率を推定する。The learned auxiliary data side probability estimation unit 206 executes a learned auxiliary data side probability estimation process. The learned auxiliary data side probability estimation unit 206 executes a learned auxiliary data side probability estimation process to estimate the auxiliary data side probability of the self-encoding target based on the scalar quantized feature.

学習済み補助データ側復号部207は、スカラー量子化特徴量に対して学習済みの補助特徴量復号処理を実行する。すなわち、学習済み補助データ側復号部207は、スカラー量子化特徴量を復号する。以下、スカラー量子化特徴量が復号された情報を量子化補助データという。したがって、学習済み補助データ側復号部207は、スカラー量子化特徴量を復号することで量子化補助データを取得する処理である。The learned auxiliary data side decoding unit 207 executes a learned auxiliary feature decoding process on the scalar quantized feature. That is, the learned auxiliary data side decoding unit 207 decodes the scalar quantized feature. Hereinafter, information obtained by decoded the scalar quantized feature is referred to as quantized auxiliary data. Therefore, the learned auxiliary data side decoding unit 207 is a process for obtaining quantized auxiliary data by decoding the scalar quantized feature.

補助エントロピー符号化部208は、スカラー量子化特徴量と自己符号化対象の補助データ側確率とに基づき、スカラー量子化特徴量のエントロピー符号化を行う。エントロピー符号化は例えば算術符号化である。The auxiliary entropy coding unit 208 performs entropy coding of the scalar quantized feature based on the scalar quantized feature and the probability of the auxiliary data to be self-encoded. The entropy coding is, for example, arithmetic coding.

主データ側確率推定部209は、ベクトル量子化特徴量と量子化補助データとに基づき自己符号化対象の主データ側確率を推定する。 The main data side probability estimation unit 209 estimates the main data side probability of the self-encoding target based on the vector quantization feature and the quantization auxiliary data.

主エントロピー符号化部210は、ベクトル量子化特徴量と自己符号化対象の主データ側確率とに基づき、ベクトル量子化特徴量のエントロピー符号化を行う。エントロピー符号化は例えば算術符号化である。The main entropy coding unit 210 performs entropy coding of the vector quantization feature based on the vector quantization feature and the main data side probability of the self-encoding target. The entropy coding is, for example, arithmetic coding.

データ多重化部211は、エントロピー符号化されたベクトル量子化特徴量と、エントロピー符号化されたスカラー量子化特徴量とをデコーダ212に出力する。このようにして、エンコーダ200は、自己符号化対象をエンコードする。The data multiplexing unit 211 outputs the entropy-coded vector quantization features and the entropy-coded scalar quantization features to the decoder 212. In this manner, the encoder 200 encodes the self-encoding target.

符号化データ取得部213は、エントロピー符号化されたベクトル量子化特徴量と、エントロピー符号化されたスカラー量子化特徴量とを取得する。The encoded data acquisition unit 213 acquires entropy-encoded vector quantization features and entropy-encoded scalar quantization features.

データ分離部214は、符号化データ取得部213の取得した、エントロピー符号化されたベクトル量子化特徴量と、エントロピー符号化されたスカラー量子化特徴量と、を取得する。データ分離部214は、エントロピー符号化されたスカラー量子化特徴量を補助エントロピー復号部215に出力し、エントロピー符号化されたベクトル量子化特徴量を主エントロピー復号部217に出力する。The data separation unit 214 acquires the entropy-coded vector quantization features and the entropy-coded scalar quantization features acquired by the encoded data acquisition unit 213. The data separation unit 214 outputs the entropy-coded scalar quantization features to the auxiliary entropy decoding unit 215, and outputs the entropy-coded vector quantization features to the main entropy decoding unit 217.

学習済み補助エントロピー復号部215は、学習済みのパラメトライズド補助特徴量累積分布関数を用いて、エントロピー符号化されたスカラー量子化特徴量に対してエントロピー復号を行う。The learned auxiliary entropy decoding unit 215 performs entropy decoding on the entropy-encoded scalar quantized features using a learned parametrized auxiliary feature cumulative distribution function.

学習済み補助データ側復号部216は、学習済み補助エントロピー復号部215によるエントロピー復号の結果に対して、学習済みの補助特徴量復号処理を実行する。The learned auxiliary data side decoding unit 216 performs learned auxiliary feature decoding processing on the result of entropy decoding by the learned auxiliary entropy decoding unit 215.

主エントロピー復号部217は、エントロピー符号化されたベクトル量子化特徴量と、学習済み補助データ側復号部216による学習済みの補助特徴量復号処理の結果と、に基づき、エントロピー符号化されたベクトル量子化特徴量のエントロピー符号化を行う。より具体的には、主エントロピー復号部217は、復号累積分布関数を用いて、エントロピー符号化されたベクトル量子化特徴量のエントロピー復号を行う。復号累積分布関数は、パラメータの値が学習済み補助データ側復号部216による学習済みの補助特徴量復号処理の結果が示す値であるパラメトライズド主データ特徴量累積分布関数である。The main entropy decoding unit 217 performs entropy coding of the entropy coded vector quantization feature based on the entropy coded vector quantization feature and the result of the learned auxiliary feature decoding process by the learned auxiliary data side decoding unit 216. More specifically, the main entropy decoding unit 217 performs entropy decoding of the entropy coded vector quantization feature using a decoding cumulative distribution function. The decoding cumulative distribution function is a parameterized main data feature cumulative distribution function whose parameter value is the value indicated by the result of the learned auxiliary feature decoding process by the learned auxiliary data side decoding unit 216.

学習済み主データ側復号部218は、主エントロピー復号部217による復号の結果に対して、学習済みの主データ特徴量復号処理を実行する。The learned main data side decoding unit 218 performs a learned main data feature decoding process on the result of decoding by the main entropy decoding unit 217.

このようにして、デコーダ212は、エンコーダ200によってエンコードされた自己符号化対象をデコードする。また、このようにして、自己符号化装置2は、自己符号化対象の自己符号化を行う。In this way, the decoder 212 decodes the self-encoding target encoded by the encoder 200. Also, in this way, the self-encoding device 2 self-encodes the self-encoding target.

図10は、実施形態におけるエンコーダ200が実行する処理の流れの一例を示すフローチャートである。自己符号化対象取得部201が自己符号化対象X=[X、X、・・・、X]を取得する(ステップS201)。自己符号化対象XはXからXまでのN個の要素を有するN次元ベクトルである。XからXまでの各要素はテンソルである。したがって、XからXまでの各要素はスカラーであってもよいしベクトルであってもよい。 10 is a flowchart showing an example of the flow of processing executed by the encoder 200 in the embodiment. The self-encoding target acquisition unit 201 acquires the self-encoding target X=[X 1 , X 2 , ..., X N ] (step S201). The self-encoding target X is an N-dimensional vector having N elements from X 1 to X N. Each element from X 1 to X N is a tensor. Therefore, each element from X 1 to X N may be a scalar or a vector.

次に、学習済み主データ側符号化部202が、学習済みの主データ特徴量取得処理を実行する(ステップS202)。すなわち、学習済み主データ側符号化部202が自己符号化対象Xを符号化する。自己符号化対象の符号化により、自己符号化対象の主データ特徴量Y=Fenc(Y)が得られる。関数Fenc(X)は、学習済みの主データ符号化関数である。なお主データ特徴量Yはベクトル等のテンソルである。 Next, the learned main data side encoding unit 202 executes a learned main data feature acquisition process (step S202). That is, the learned main data side encoding unit 202 encodes the auto-encoding target X. By encoding the auto-encoding target, a main data feature Y of the auto-encoding target = F enc (Y) is obtained. The function F enc (X) is a learned main data encoding function. Note that the main data feature Y is a tensor such as a vector.

次に、学習済み補助データ側符号化部203が学習済み補助特徴量取得処理を実行する(ステップS203)。学習済み補助特徴量取得処理の実行により、自己符号化対象の補助特徴量Z=Genc(Y)が得られる。関数Genc(Y)は、学習済みの主データ特徴量符号化関数である。なお補助特徴量Zはベクトル等のテンソルである。 Next, the learned auxiliary data side encoding unit 203 executes a learned auxiliary feature acquisition process (step S203). By executing the learned auxiliary feature acquisition process, an auxiliary feature Z to be self-encoded = G enc (Y) is obtained. The function G enc (Y) is a learned main data feature encoding function. Note that the auxiliary feature Z is a tensor such as a vector.

次に、ベクトル量子化部204が自己符号化対象の主データ特徴量Yに対してベクトル量子化を行う(ステップS204)。ベクトル量子化の実行により、ベクトル量子化特徴量Y^=[Y^、Y^、・・・、Y^]=[Q(Y)、Q(Y)、・・・、Q(Y)]が得られる。Yは、自己符号化対象の主データ特徴量Yのi番目の要素を表す。Y^は、ベクトル量子化特徴量Y^のi番目の要素を表す。Qは以下の式(11)で表される関数である。 Next, the vector quantization unit 204 performs vector quantization on the main data feature Y to be self-encoded (step S204). By performing vector quantization, the vector quantized feature Y^=[ Y1 ^, Y2 ^, ..., Yk ^]=[Q( Y1 ), Q( Y2 ), ..., Q( Yk )] is obtained. Yi represents the i-th element of the main data feature Y to be self-encoded. Y^ i represents the i-th element of the vector quantized feature Y^. Q is a function expressed by the following formula (11).

Figure 0007583337000011
Figure 0007583337000011

なお、記号Λは全格子点の集合を意味する。 Note that the symbol Λ represents the set of all lattice points.

次に、スカラー量子化部205が自己符号化対象の補助特徴量Zに対してスカラー量子化を行う(ステップS205)。スカラー量子化の処理の実行によりスカラー量子化部205は、スカラー量子化特徴量Z^=round(Z)を取得する。なお、roundは丸め処理を表す。Next, the scalar quantization unit 205 performs scalar quantization on the auxiliary feature Z to be self-encoded (step S205). By executing the scalar quantization process, the scalar quantization unit 205 obtains the scalar quantized feature Z^ = round(Z). Note that round represents a rounding process.

次に学習済み補助データ側確率推定部206が、学習済みの補助データ側確率推定処理を実行する(ステップS206)。学習済み補助データ側確率推定部206は、学習済みの補助データ側確率推定処理の実行により、スカラー量子化特徴量Z^に基づき自己符号化対象の補助データ側確率を推定する。自己符号化対象の補助データ側確率は具体的には以下の式(12)で表される。Next, the learned auxiliary data side probability estimation unit 206 executes a learned auxiliary data side probability estimation process (step S206). The learned auxiliary data side probability estimation unit 206 executes the learned auxiliary data side probability estimation process to estimate the auxiliary data side probability of the self-encoding target based on the scalar quantized feature Z^. Specifically, the auxiliary data side probability of the self-encoding target is expressed by the following formula (12).

Figure 0007583337000012
Figure 0007583337000012

式(12)の左辺の記号が自己符号化対象の補助データ側確率を表す。記号Hは学習済みのパラメトライズド補助特徴量累積分布関数である。The symbol on the left side of equation (12) represents the probability of the auxiliary data to be auto-encoded. The symbol H is the cumulative distribution function of the learned parametrized auxiliary features.

学習済み補助データ側復号部207が、スカラー量子化特徴量Z^に対して学習済みの補助特徴量復号処理を実行する(ステップS207)。すなわち、学習済み補助データ側復号部207は、スカラー量子化特徴量を復号することで量子化補助データΘ=Gdec(Z^)が得られる。関数Gdec(Z^)は、学習済みの補助特徴量復号関数である。なお量子化補助データΘはベクトル等のテンソルである。 The learned auxiliary data decoding unit 207 executes a learned auxiliary feature decoding process on the scalar quantized feature Z^ (step S207). That is, the learned auxiliary data decoding unit 207 obtains quantized auxiliary data Θ=G dec (Z^) by decoding the scalar quantized feature. The function G dec (Z^) is a learned auxiliary feature decoding function. Note that the quantized auxiliary data Θ is a tensor such as a vector.

次に補助エントロピー符号化部208が、スカラー量子化特徴量Z^と自己符号化対象の補助データ側確率とに基づき、スカラー量子化特徴量Z^のエントロピー符号化を行う(ステップS208)。Next, the auxiliary entropy coding unit 208 performs entropy coding of the scalar quantized feature Z^ based on the scalar quantized feature Z^ and the probability of the auxiliary data to be self-encoded (step S208).

次に主データ側確率推定部209が、ベクトル量子化特徴量Y^と量子化補助データΘとに基づき自己符号化対象の主データ側確率を推定する(ステップS209)。Next, the main data side probability estimation unit 209 estimates the main data side probability of the self-encoding target based on the vector quantization feature Y^ and the quantization auxiliary data Θ (step S209).

次に主エントロピー符号化部210が、ベクトル量子化特徴量Y^と自己符号化対象の主データ側確率とに基づき、ベクトル量子化特徴量Y^のエントロピー符号化を行う(ステップS210)。Next, the main entropy coding unit 210 performs entropy coding of the vector quantized feature Y^ based on the vector quantized feature Y^ and the main data side probability to be self-encoded (step S210).

次にデータ多重化部211が、エントロピー符号化されたベクトル量子化特徴量と、エントロピー符号化されたスカラー量子化特徴量とをデコーダ212に出力する(ステップS211)。Next, the data multiplexing unit 211 outputs the entropy-coded vector quantization features and the entropy-coded scalar quantization features to the decoder 212 (step S211).

ステップS201からステップS211までの一連の処理がエンコーダ200によるエンコードの処理の一例である。なお、ステップS201~ステップS211までの各処理は因果律に反することが無ければどのような順番で実行されてもよい。The series of processes from step S201 to step S211 is an example of the encoding process by the encoder 200. Note that the processes from step S201 to step S211 may be executed in any order as long as they do not violate the law of causality.

図11は、実施形態におけるデコーダ212が実行する処理の流れの一例を示すフローチャートである。符号化データ取得部213が、エンコーダ200によるエンコードの結果を取得する(ステップS301)。エンコーダ200によるエンコードの結果とは具体的には、ステップS211で出力されたエントロピー符号化されたベクトル量子化特徴量と、エントロピー符号化されたスカラー量子化特徴量とである。 Figure 11 is a flowchart showing an example of the flow of processing executed by the decoder 212 in an embodiment. The encoded data acquisition unit 213 acquires the result of encoding by the encoder 200 (step S301). Specifically, the result of encoding by the encoder 200 is the entropy-encoded vector quantization feature and the entropy-encoded scalar quantization feature output in step S211.

次にデータ分離部214が、ステップS301で取得されたエントロピー符号化されたスカラー量子化特徴量と、ステップS302で取得されたエントロピー符号化されたベクトル量子化特徴量とを分離する(ステップS302)。分離するとは、具体的には、ステップS301で取得されたエントロピー符号化されたスカラー量子化特徴量を補助エントロピー復号部215に出力し、ステップS302で取得されたエントロピー符号化されたベクトル量子化特徴量を主エントロピー復号部217に出力することを意味する。Next, the data separation unit 214 separates the entropy-coded scalar quantization feature acquired in step S301 from the entropy-coded vector quantization feature acquired in step S302 (step S302). Specifically, separating means outputting the entropy-coded scalar quantization feature acquired in step S301 to the auxiliary entropy decoding unit 215, and outputting the entropy-coded vector quantization feature acquired in step S302 to the main entropy decoding unit 217.

次に学習済み補助エントロピー復号部215が、学習済みのパラメトライズド補助特徴量累積分布関数を用いて、エントロピー符号化されたスカラー量子化特徴量に対してエントロピー復号を行う(ステップS303)。Next, the learned auxiliary entropy decoding unit 215 performs entropy decoding on the entropy-encoded scalar quantized features using the learned parametrized auxiliary feature cumulative distribution function (step S303).

次に学習済み補助データ側復号部216が、学習済み補助エントロピー復号部215によるエントロピー復号の結果に対して、学習済みの補助特徴量復号処理を実行する(ステップS304)。Next, the learned auxiliary data side decoding unit 216 executes a learned auxiliary feature decoding process on the result of entropy decoding by the learned auxiliary entropy decoding unit 215 (step S304).

次に主エントロピー復号部217が、復号累積分布関数を用いて、エントロピー符号化されたベクトル量子化特徴量のエントロピー復号を行う(ステップS305)。Next, the principal entropy decoding unit 217 performs entropy decoding of the entropy-encoded vector quantization features using the decoded cumulative distribution function (step S305).

次に学習済み主データ側復号部218が、主エントロピー復号部217による復号の結果に対して、学習済みの主データ特徴量復号処理を実行する(ステップS306。Next, the learned main data side decoding unit 218 executes a learned main data feature decoding process on the result of decoding by the main entropy decoding unit 217 (step S306).

ステップS301からステップS306までの一連の処理がデコーダ212によるデコードの処理の一例である。なお、ステップS301~ステップS306までの各処理は、ステップS211等のエンコーダ200によるエンコードの処理の実行後に実行され、なおかつ、因果律に反することが無ければどのような順番で実行されてもよい。The series of processes from step S301 to step S306 is an example of the decoding process by the decoder 212. Note that each process from step S301 to step S306 is executed after the encoding process by the encoder 200 such as step S211, and may be executed in any order as long as it does not violate the law of causality.

<ハードウェアの説明>
図12は、実施形態における学習装置1のハードウェア構成の一例を示す図である。学習装置1は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ91とメモリ92とを備える制御部11を備え、プログラムを実行する。学習装置1は、プログラムの実行によって制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
<Hardware Description>
12 is a diagram showing an example of a hardware configuration of the learning device 1 in the embodiment. The learning device 1 includes a control unit 11 including a processor 91 such as a CPU (Central Processing Unit) and a memory 92 connected by a bus, and executes a program. The learning device 1 functions as a device including the control unit 11, an input unit 12, a communication unit 13, a storage unit 14, and an output unit 15 by executing the program.

より具体的には、プロセッサ91が記憶部14に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、学習装置1は、制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。More specifically, the processor 91 reads out a program stored in the storage unit 14 and stores the read out program in the memory 92. The processor 91 executes the program stored in the memory 92, whereby the learning device 1 functions as a device including a control unit 11, an input unit 12, a communication unit 13, a storage unit 14 and an output unit 15.

制御部11は、学習装置1が備える各種機能部の動作を制御する。制御部11は、例えば出力部15の動作を制御する。制御部11は、例えば学習により生じた各種情報を記憶部14に記録する。The control unit 11 controls the operation of various functional units of the learning device 1. The control unit 11 controls, for example, the operation of the output unit 15. The control unit 11 records, for example, various pieces of information generated by learning in the memory unit 14.

入力部12は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部12は、これらの入力装置を学習装置1に接続するインタフェースとして構成されてもよい。入力部12は、学習装置1に対する各種情報の入力を受け付ける。The input unit 12 includes input devices such as a mouse, a keyboard, and a touch panel. The input unit 12 may be configured as an interface that connects these input devices to the learning device 1. The input unit 12 accepts input of various information for the learning device 1.

通信部13は、学習装置1を外部装置に接続するための通信インタフェースを含んで構成される。通信部13は、有線又は無線を介して外部装置と通信する。外部装置は、例えば学習に用いられる主データの送信元の装置である。通信部13は、主データの送信元の装置との通信によって学習に用いられる主データを取得する。外部装置は、例えば自己符号化装置2である。通信部13は自己符号化装置2との通信により自己符号化装置2にネットワーク学習結果を送信する。なお、主データは、必ずしも通信部13を介して入力される必要は無く、入力部12に入力されてもよい。The communication unit 13 includes a communication interface for connecting the learning device 1 to an external device. The communication unit 13 communicates with the external device via wired or wireless communication. The external device is, for example, a device that transmits main data used for learning. The communication unit 13 acquires the main data used for learning by communicating with the device that transmits the main data. The external device is, for example, the self-encoding device 2. The communication unit 13 transmits the network learning results to the self-encoding device 2 by communicating with the self-encoding device 2. Note that the main data does not necessarily need to be input via the communication unit 13, and may be input to the input unit 12.

記憶部14は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部14は学習装置1に関する各種情報を記憶する。記憶部14は、例えば入力部12又は通信部13を介して入力された情報を記憶する。記憶部14は、例えば学習の実行により生じた各種情報を記憶する。The memory unit 14 is configured using a computer-readable storage medium device such as a magnetic hard disk device or a semiconductor memory device. The memory unit 14 stores various information related to the learning device 1. The memory unit 14 stores information inputted, for example, via the input unit 12 or the communication unit 13. The memory unit 14 stores various information generated, for example, by the execution of learning.

記憶部14は、例えば補助特徴量を示すテンソルの各要素の生起確率の取得に用いられる確率分布を予め記憶する。記憶部14は、例えばパラメトライズド補助特徴量累積分布関数を予め記憶する。記憶部14は、例えばパラメトライズド主データ特徴量累積分布関数を予め記憶する。記憶部14は、例えば代表ベクトル情報を予め記憶する。記憶部14は、例えば超直方体分割の結果を記憶する。 The memory unit 14 pre-stores, for example, a probability distribution used to obtain the occurrence probability of each element of a tensor indicating an auxiliary feature. The memory unit 14 pre-stores, for example, a parametrized auxiliary feature cumulative distribution function. The memory unit 14 pre-stores, for example, a parametrized main data feature cumulative distribution function. The memory unit 14 pre-stores, for example, representative vector information. The memory unit 14 stores, for example, the result of hypercuboid division.

記憶部14は、例えば学習ネットワーク100の各パラメータの値の初期値を予め記憶する。初期値は例えばランダムな値である。記憶部14は、例えばネットワーク学習結果を記憶する。The memory unit 14 stores, for example, initial values of each parameter of the learning network 100 in advance. The initial values are, for example, random values. The memory unit 14 stores, for example, the network learning results.

出力部15は、各種情報を出力する。出力部15は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部15は、これらの表示装置を学習装置1に接続するインタフェースとして構成されてもよい。出力部15は、例えば入力部12に入力された情報を出力する。出力部15は、例えば学習の結果を表示してもよい。The output unit 15 outputs various types of information. The output unit 15 includes a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. The output unit 15 may be configured as an interface that connects these display devices to the learning device 1. The output unit 15 outputs information input to the input unit 12, for example. The output unit 15 may display the results of learning, for example.

図13は、実施形態における学習装置1が備える制御部11の構成の一例を示す図である。制御部11は、学習部10、記憶制御部120、通信制御部130及び出力制御部140を備える。記憶制御部120は、記憶部14に各種情報を記録する。通信制御部130は通信部13の動作を制御する。出力制御部140は、出力部15の動作を制御する。 Figure 13 is a diagram showing an example of the configuration of the control unit 11 provided in the learning device 1 in an embodiment. The control unit 11 includes a learning unit 10, a memory control unit 120, a communication control unit 130, and an output control unit 140. The memory control unit 120 records various information in the memory unit 14. The communication control unit 130 controls the operation of the communication unit 13. The output control unit 140 controls the operation of the output unit 15.

図14は、実施形態における自己符号化装置2のハードウェア構成の一例を示す図である。自己符号化装置2は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ93とメモリ94とを備える制御部21を備え、プログラムを実行する。自己符号化装置2は、プログラムの実行によって制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。 Figure 14 is a diagram showing an example of the hardware configuration of the self-encoding device 2 in an embodiment. The self-encoding device 2 has a control unit 21 including a processor 93 such as a CPU (Central Processing Unit) and a memory 94 connected by a bus, and executes a program. The self-encoding device 2 functions as a device including the control unit 21, input unit 22, communication unit 23, memory unit 24, and output unit 25 by executing the program.

より具体的には、プロセッサ93が記憶部24に記憶されているプログラムを読み出し、読み出したプログラムをメモリ94に記憶させる。プロセッサ93が、メモリ94に記憶させたプログラムを実行することによって、自己符号化装置2は、制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。More specifically, the processor 93 reads out the program stored in the storage unit 24 and stores the read out program in the memory 94. The processor 93 executes the program stored in the memory 94, whereby the self-encoding device 2 functions as a device including a control unit 21, an input unit 22, a communication unit 23, a storage unit 24 and an output unit 25.

制御部21は、自己符号化装置2が備える各種機能部の動作を制御する。制御部21は、例えば出力部25の動作を制御する。制御部21は、例えばエンコーダ200によるエンコードとデコーダ212によるデコードとにより生じた各種情報を記憶部24に記録する。The control unit 21 controls the operation of various functional units of the self-encoding device 2. The control unit 21 controls, for example, the operation of the output unit 25. The control unit 21 records, for example, various pieces of information generated by encoding by the encoder 200 and decoding by the decoder 212 in the memory unit 24.

入力部22は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部22は、これらの入力装置を自己符号化装置2に接続するインタフェースとして構成されてもよい。入力部22は、自己符号化装置2に対する各種情報の入力を受け付ける。The input unit 22 includes input devices such as a mouse, a keyboard, and a touch panel. The input unit 22 may be configured as an interface that connects these input devices to the self-encoding device 2. The input unit 22 accepts input of various information for the self-encoding device 2.

通信部23は、自己符号化装置2を外部装置に接続するための通信インタフェースを含んで構成される。通信部23は、有線又は無線を介して外部装置と通信する。外部装置は、例えば自己符号化対象の送信元の装置である。通信部23は、自己符号化対象の送信元の装置との通信によって自己符号化対象を取得する。外部装置は、例えば学習装置1である。通信部23は学習装置1との通信によりネットワーク学習結果を受信する。なお、自己符号化対象は、必ずしも通信部23を介して入力される必要は無く、入力部22に入力されてもよい。The communication unit 23 includes a communication interface for connecting the self-encoding device 2 to an external device. The communication unit 23 communicates with the external device via wired or wireless communication. The external device is, for example, a device that transmits the self-encoding target. The communication unit 23 acquires the self-encoding target by communicating with the device that transmits the self-encoding target. The external device is, for example, the learning device 1. The communication unit 23 receives the network learning result by communicating with the learning device 1. Note that the self-encoding target does not necessarily have to be input via the communication unit 23, and may be input to the input unit 22.

記憶部24は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部24は自己符号化装置2に関する各種情報を記憶する。記憶部24は、例えば入力部22又は通信部23を介して入力された情報を記憶する。記憶部24は、例えばエンコーダ200によるエンコードとデコーダ212によるデコードとの実行により生じた各種情報を記憶する。The memory unit 24 is configured using a computer-readable storage medium device such as a magnetic hard disk device or a semiconductor storage device. The memory unit 24 stores various information related to the self-encoding device 2. The memory unit 24 stores information inputted, for example, via the input unit 22 or the communication unit 23. The memory unit 24 stores various information generated, for example, by the execution of encoding by the encoder 200 and decoding by the decoder 212.

記憶部24は、例えばネットワーク学習結果を記憶する。記憶部24は、例えば代表ベクトル情報を予め記憶する。記憶部24は、例えば超直方体分割の結果を記憶する。The memory unit 24 stores, for example, the network learning results. The memory unit 24 stores, for example, representative vector information in advance. The memory unit 24 stores, for example, the results of hypercuboid division.

出力部25は、各種情報を出力する。出力部25は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部25は、これらの表示装置を学習装置1に接続するインタフェースとして構成されてもよい。出力部25は、例えば入力部22に入力された情報を出力する。出力部25は、例えば自己符号化対象の自己符号化の結果を出力してもよい。The output unit 25 outputs various information. The output unit 25 includes a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. The output unit 25 may be configured as an interface that connects these display devices to the learning device 1. The output unit 25 outputs, for example, information input to the input unit 22. The output unit 25 may output, for example, the result of auto-encoding of the auto-encoding target.

図15は、実施形態における自己符号化装置2が備える制御部21の構成の一例を示す図である。制御部21は、自己符号化実行部20、記憶制御部220、通信制御部230及び出力制御部240を備える。自己符号化実行部20は、自己符号化対象に対して自己符号化を行う。自己符号化実行部20はエンコーダ200とデコーダ212とを備える。自己符号化実行部20は、エンコーダ200によるエンコードとデコーダ212によるデコードとを行うことで、自己符号化対象の自己符号化を行う。 Figure 15 is a diagram showing an example of the configuration of the control unit 21 provided in the self-encoding device 2 in an embodiment. The control unit 21 includes a self-encoding execution unit 20, a memory control unit 220, a communication control unit 230, and an output control unit 240. The self-encoding execution unit 20 performs self-encoding on the self-encoding target. The self-encoding execution unit 20 includes an encoder 200 and a decoder 212. The self-encoding execution unit 20 performs self-encoding of the self-encoding target by encoding using the encoder 200 and decoding using the decoder 212.

記憶制御部220は、記憶部24に各種情報を記録する。通信制御部230は通信部23の動作を制御する。出力制御部240は、出力部25の動作を制御する。 The memory control unit 220 records various information in the memory unit 24. The communication control unit 230 controls the operation of the communication unit 23. The output control unit 240 controls the operation of the output unit 25.

このように構成された学習装置1は、LatticeVQ等のベクトル空間において格子状に配置された代表ベクトルの位置を示す情報である代表ベクトル情報を用いてベクトル量子化のための周辺処理の学習を行う。そして学習装置1は、超直方体分割の結果を用いて代表ベクトルの生起確率の推定を行う。上述したように、代表ベクトルを用いる場合にはボロノイ分割を用いて代表ベクトルの生起確率の推定が行われる場合があるが積分が容易ではない。The learning device 1 configured in this manner learns peripheral processing for vector quantization using representative vector information, which is information indicating the positions of representative vectors arranged in a lattice pattern in a vector space such as LatticeVQ. The learning device 1 then estimates the occurrence probability of the representative vector using the results of the hypercuboid division. As described above, when using representative vectors, the occurrence probability of the representative vector may be estimated using Voronoi division, but integration is not easy.

したがって、超直方体分割によって得られた超直方体を用いて代表ベクトルの生起確率を推定する学習装置1は、ベクトル量子化を用いた自己符号化の処理を得ることに要する負担を軽減することができる。これはベクトル量子化を用いた自己符号化の実現までに要する学習段階からの負担を軽減することである。したがって、学習装置1は、ベクトル量子化を用いた自己符号化に要する負担を軽減することができる。Therefore, the learning device 1, which estimates the occurrence probability of a representative vector using a hypercuboid obtained by hypercuboid division, can reduce the burden required to obtain the process of self-encoding using vector quantization. This reduces the burden from the learning stage required to realize self-encoding using vector quantization. Therefore, the learning device 1 can reduce the burden required for self-encoding using vector quantization.

また、このように構成された学習装置1は、代表ベクトルを用いてベクトル量子化のための周辺処理の学習を行うため、代表ベクトルの学習に要する負担を軽減することができる。また、このように構成された学習装置1は、代表ベクトルを用いてベクトル量子化のための周辺処理の学習を行うため、代表ベクトルの学習を行う際には必要となるメモリの使用が無い。そのため、学習装置1は、メモリ不足の問題が生じる頻度を下げることができ、より大きな次元の主データを処理することができる。 Furthermore, the learning device 1 configured in this manner uses the representative vector to learn peripheral processing for vector quantization, so the burden required for learning the representative vector can be reduced. Furthermore, the learning device 1 configured in this manner uses the representative vector to learn peripheral processing for vector quantization, so there is no need to use memory, which is required when learning the representative vector. Therefore, the learning device 1 can reduce the frequency with which problems of insufficient memory occur, and can process main data of larger dimensions.

ところで上述したように、ベクトル量子化の学習では量子化に変えてノイズの付与を行う必要がある。しかしながら、LatticeVQ等の代表ベクトル情報を用いる場合、ボロノイ領域の範囲が量子化誤差になるため、確率分布がガウス分布であるノイズの生成そのものが容易ではない。As mentioned above, in learning vector quantization, it is necessary to add noise instead of quantization. However, when using representative vector information such as LatticeVQ, the range of the Voronoi region becomes a quantization error, so it is not easy to generate noise whose probability distribution is Gaussian.

一方、このように構成された学習装置1は、学習において、K次元のベクトル空間におけるボロノイ領域に外接する(K-1)次元球面内にランダムに生成させたサンプルのうち、ボロノイ領域内のサンプルのみノイズとして用いる。このため、ガウス分布に従うノイズを生成することができる。したがって、学習装置1は、ベクトル量子化を用いた自己符号化の処理を得ることに要する負担を軽減することができる。そのため、学習装置1は、ベクトル量子化を用いた自己符号化に要する負担を軽減することができる。 Meanwhile, the learning device 1 configured in this manner uses, in learning, as noise, only samples within the Voronoi region among samples randomly generated within a (K-1)-dimensional sphere circumscribing a Voronoi region in a K-dimensional vector space. This makes it possible to generate noise that follows a Gaussian distribution. Therefore, the learning device 1 can reduce the burden required to obtain the process of self-encoding using vector quantization. Therefore, the learning device 1 can reduce the burden required for self-encoding using vector quantization.

このように構成された自己符号化装置2は、学習装置1による学習の結果を用いてベクトル量子化を用いた自己符号化を行う。そのため、ベクトル量子化を用いた自己符号化に要する負担を軽減することができる。The self-encoding device 2 configured in this manner performs self-encoding using vector quantization using the results of learning by the learning device 1. This reduces the burden of self-encoding using vector quantization.

(変形例)
主データ特徴量に対するノイズの付与では、体積をK次元のベクトル空間におけるボロノイ領域の体積に近似させた(K-1)次元球面内に一様に発生させたサンプルがノイズ点として用いられてもよい。主データ特徴量に対するノイズの付与では、超直方体分割によって得られた超直方体内に一様に発生させたサンプルがノイズ点として用いられてもよい。
(Modification)
In adding noise to the main data feature quantity, samples uniformly generated within a (K-1)-dimensional sphere whose volume is approximated to the volume of a Voronoi region in a K-dimensional vector space may be used as noise points. In adding noise to the main data feature quantity, samples uniformly generated within a hypercuboid obtained by hypercuboid division may be used as noise points.

したがって主データ特徴量に対するノイズを付与する処理(すなわちベクトルノイズ付与処理)は、第1ノイズ付与処理、第2ノイズ付与処理又は第3ノイズ付与処理のいずれかひとつの処理であってもよい。第1ノイズ付与処理は、K次元のベクトル空間におけるボロノイ領域に外接する(K-1)次元球面内にランダムに生成させたサンプルのうち、ボロノイ領域内のサンプルをノイズとして付与する処理である。すなわち第1ノイズ付与処理は、図3及び図4を用いて説明した処理である。 Therefore, the process of adding noise to the main data features (i.e., vector noise adding process) may be any one of the first noise adding process, the second noise adding process, or the third noise adding process. The first noise adding process is a process of adding, as noise, samples within a Voronoi region among samples randomly generated within a (K-1)-dimensional sphere circumscribing a Voronoi region in a K-dimensional vector space. In other words, the first noise adding process is the process described using Figures 3 and 4.

第2ノイズ付与処理は、体積をK次元のベクトル空間におけるボロノイ領域の体積に近似させた(K-1)次元球面内に一様に発生させたサンプルをノイズとして付与する処理である。第3ノイズ付与処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域でありベクトル空間の1つの格子点を含む領域であり形状が超直方体である領域内に一様に発生させたサンプルをノイズとして付与する処理である。The second noise-adding process is a process of adding, as noise, samples that are uniformly generated within a (K-1)-dimensional sphere whose volume is approximating the volume of a Voronoi region in a K-dimensional vector space. The third noise-adding process is a process of adding, as noise, samples that are uniformly generated within a region that divides a vector space in which representative vectors are arranged in a lattice pattern, that includes one lattice point of the vector space, and that has a shape of a hypercuboid.

なお、学習装置1は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、学習装置1が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。The learning device 1 may be implemented using multiple information processing devices connected to each other via a network. In this case, each functional unit of the learning device 1 may be distributed and implemented in multiple information processing devices.

なお、自己符号化装置2は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、自己符号化装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。The self-encoding device 2 may be implemented using a plurality of information processing devices communicably connected via a network. In this case, each functional unit of the self-encoding device 2 may be distributed and implemented in a plurality of information processing devices.

なお、学習装置1と、自己符号化装置2と、の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。 All or part of the functions of the learning device 1 and the self-encoding device 2 may be realized using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The program may be recorded on a computer-readable recording medium. Examples of computer-readable recording media include portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. The program may be transmitted via a telecommunications line.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The above describes in detail an embodiment of the present invention with reference to the drawings, but the specific configuration is not limited to this embodiment and also includes designs that do not deviate from the gist of the present invention.

1…学習装置、 10…学習部、 100…学習ネットワーク、 101…主データ取得部、 102…主データ側符号化部、 103…補助データ側符号化部、 104…主データ側ノイズ付与部、 105…補助データ側ノイズ付与部、 106…補助データ側確率推定部、 107…補助データ側復号部、 108…補助エントロピー取得部、 109…主データ側確率推定部、 110…主エントロピー取得部、 111…主データ側復号部、 112…再構成誤差算出部、 113…最適化部、 2…自己符号化装置、 200…エンコーダ、 201…自己符号化対象取得部、 202…学習済み主データ側符号化部、 203…学習済み補助データ側符号化部、 204…ベクトル量子化部、 205…スカラー量子化部、 206…学習済み補助データ側確率推定部、 207…学習済み補助データ側復号部、 208…補助エントロピー符号化部、 209…主データ側確率推定部、 210…主エントロピー符号化部、 211…データ多重化部、 213…符号化データ取得部、 214…データ分離部、 215…補助エントロピー復号部、 216…学習済み補助データ側復号部、 217…主エントロピー復号部、 218…学習済み主データ側復号部、 11…制御部、 12…入力部、 13…通信部、 14…記憶部、 15…出力部、 120…記憶制御部、 130…通信制御部、 140…出力制御部、 21…制御部、 22…入力部、 23…通信部、 24…記憶部、 25…出力部、 20…自己符号化実行部、 220…記憶制御部、 230…通信制御部、 240…出力制御部、 91…プロセッサ、 92…メモリ、 93…プロセッサ、 94…メモリ1...Learning device, 10...Learning unit, 100...Learning network, 101...Main data acquisition unit, 102...Main data side encoding unit, 103...Auxiliary data side encoding unit, 104...Main data side noise adding unit, 105...Auxiliary data side noise adding unit, 106...Auxiliary data side probability estimation unit, 107...Auxiliary data side decoding unit, 108...Auxiliary entropy acquisition unit, 109...Main data side probability estimation unit, 110...Main entropy acquisition unit, 111...Main data side decoding unit, 112...Reconstruction error calculation unit, 113...Optimization unit, 2...Self-encoding device, 200...Encoder, 201...Self-encoding target acquisition unit, 202...Learned main data side encoding unit, 203...Learned auxiliary data side encoding unit, 204...Vector quantization unit, 205...Scalar quantization unit, 206...Learned auxiliary data side probability estimation unit, 207...Learned auxiliary data side decoding unit, 208...Auxiliary entropy coding unit, 209...Main data side probability estimation unit, 210...Main entropy coding unit, 211...Data multiplexing unit, 213...Encoded data acquisition unit, 214...Data separation unit, 215...Auxiliary entropy decoding unit, 216...Learned auxiliary data side decoding unit, 217...Main entropy decoding unit, 218...Learned main data side decoding unit, 11...Control unit, 12...Input unit, 13...Communication unit, 14...Memory unit, 15...Output unit, 120...Memory control unit, 130...Communication control unit, 140...Output control unit, 21...Control unit, 22...Input unit, 23...Communication unit, 24...Memory unit, 25...Output unit, 20...Self-encoding execution unit, 220: storage control unit, 230: communication control unit, 240: output control unit, 91: processor, 92: memory, 93: processor, 94: memory

Claims (8)

ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、
を備え、
前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、
前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、
学習装置。
a learning unit that updates, by learning, encoding and decoding processes in the auto-encoding process using vector quantization, the auto-encoding process using main data features that are features to be auto-encoded and auxiliary features that are features of the main data features, and that performs entropy coding on a result of vector quantizing the main data features and entropy coding on a result of scalar quantizing the auxiliary features;
Equipped with
the learning unit executes a main data side probability estimation process in the learning to estimate an occurrence probability of each element of a tensor indicating the main data feature amount;
The main data-side probability estimation process estimates the occurrence probability using a result of integrating a probability density function that is parameterized using an integration region that divides a vector space in which representative vectors are arranged in a lattice pattern, includes one lattice point of the vector space, and has a shape of a hypercuboid as an integration region.
Learning device.
前記学習部は、前記主データ側確率推定処理によって推定された前記生起確率に基づいて得られる前記主データ特徴量のエントロピー、を用いて前記符号化と前記復号との処理を更新する、
請求項1に記載の学習装置。
the learning unit updates the encoding and decoding processes using an entropy of the main data feature amount obtained based on the occurrence probability estimated by the main data side probability estimation process.
The learning device according to claim 1 .
前記ベクトル量子化は、LatticeVQである、
請求項1又は2に記載の学習装置。
The vector quantization is LatticeVQ.
The learning device according to claim 1 or 2.
自己符号化の対象を取得する自己符号化対象取得部と、
ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、を備え、前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習装置を用いて得られた、学習済みの符号化の処理と学習済みの復号の処理とを用いて、前記自己符号化対象取得部が取得した前記対象のベクトル量子化による自己符号化を行う自己符号化実行部と、
を備える自己符号化装置。
an auto-encoding target acquisition unit that acquires an auto-encoding target;
the auto-encoding process using vector quantization is an auto-encoding process using main data features that are features to be auto-encoded and auxiliary features that are features of the main data features, the auto-encoding process performing entropy coding of a result of vector quantizing the main data features and entropy coding of a result of scalar quantizing the auxiliary features, wherein the learning unit performs a main data side probability estimation process in the learning to estimate an occurrence probability of each element of a tensor indicating the main data features, and the main data side probability estimation process estimates the occurrence probability using a result of integrating a probability density function that is parametrized using a region that divides a vector space in which representative vectors are arranged in a lattice, the region including one lattice point of the vector space, and the region having a shape of a hypercuboid, as an integral region; and an auto-encoding execution unit that performs auto-encoding by vector quantization of the target acquired by the auto-encoding target acquisition unit, using a learned encoding process and a learned decoding process obtained using a learning device;
A self-encoding device comprising:
ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習ステップ、
を有し、
前記学習ステップは前記学習において前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、
前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、
学習方法。
a learning step of updating, by learning, encoding and decoding processes in the auto-encoding process using vector quantization, the auto-encoding process using main data features which are features to be auto-encoded, and auxiliary features which are features of the main data features, and performing entropy coding on a result of vector quantizing the main data features and entropy coding on a result of scalar quantizing the auxiliary features;
having
the learning step executes a main data side probability estimation process for estimating occurrence probability of each element of a tensor indicating the main data feature amount in the learning;
The main data-side probability estimation process estimates the occurrence probability using a result of integrating a probability density function that is parameterized using an integration region that divides a vector space in which representative vectors are arranged in a lattice pattern, includes one lattice point of the vector space, and has a shape of a hypercuboid as an integration region.
How to learn.
自己符号化の対象を取得する自己符号化対象取得ステップと、
ベクトル量子化を用いた自己符号化の処理であり、自己符号化の対象の特徴量である主データ特徴量と、前記主データ特徴量の特徴量である補助特徴量とを用いる自己符号化の処理であり、前記主データ特徴量をベクトル量子化した結果に対するエントロピー符号化と前記補助特徴量をスカラー量子化した結果に対するエントロピー符号化とを行う自己符号化の処理、における符号化と復号との処理を学習により更新する学習部、を備え、前記学習部は前記学習において、前記主データ特徴量を示すテンソルの各要素の生起確率を推定する主データ側確率推定処理を実行し、前記主データ側確率推定処理は、代表ベクトルが格子状に配置されたベクトル空間を分割する領域であって前記ベクトル空間の1つの格子点を含む領域であって形状が超直方体である領域を積分領域としてパラメトライズされた確率密度関数が積分された結果を用いて、前記生起確率を推定する、学習装置を用いて得られた、学習済みの符号化の処理と学習済みの復号の処理とを用いて、前記自己符号化対象取得ステップが取得した前記対象のベクトル量子化による自己符号化を行う自己符号化実行ステップと、
を有する自己符号化方法。
An auto-encoding target acquisition step of acquiring an auto-encoding target;
the self-encoding process using vector quantization is an auto-encoding process using main data features that are features to be auto-encoded and auxiliary features that are features of the main data features, the self-encoding process performing entropy coding on a result of vector quantizing the main data features and entropy coding on a result of scalar quantizing the auxiliary features, wherein the learning unit performs a main data side probability estimation process in the learning to estimate an occurrence probability of each element of a tensor indicating the main data features, and the main data side probability estimation process estimates the occurrence probability using a result of integrating a probability density function that is parametrized using a region that divides a vector space in which representative vectors are arranged in a lattice, the region including one lattice point of the vector space, and the region having a shape of a hypercuboid, as an integral region; and an auto-encoding execution step of performing auto-encoding by vector quantization of the object acquired in the auto-encoding target acquisition step using the learned encoding process and the learned decoding process obtained using a learning device;
The self-encoding method has the following structure:
請求項1から請求項3のいずれか一項に記載の学習装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as a learning device according to any one of claims 1 to 3. 請求項4に記載の自己符号化装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the self-encoding device described in claim 4.
JP2023563381A 2021-11-24 2021-11-24 Learning device, autoencoding device, learning method, autoencoding method, and program Active JP7583337B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/042980 WO2023095204A1 (en) 2021-11-24 2021-11-24 Learning device, autoencoding device, learning method, autoencoding method, and program

Publications (2)

Publication Number Publication Date
JPWO2023095204A1 JPWO2023095204A1 (en) 2023-06-01
JP7583337B2 true JP7583337B2 (en) 2024-11-14

Family

ID=86539066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023563381A Active JP7583337B2 (en) 2021-11-24 2021-11-24 Learning device, autoencoding device, learning method, autoencoding method, and program

Country Status (2)

Country Link
JP (1) JP7583337B2 (en)
WO (1) WO2023095204A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250072621A (en) * 2022-09-27 2025-05-23 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 Uniform vector quantization for end-to-end image/video compression

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AGUSTSSON, Eirikur et al.,Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations,arXiv.org [online],2017年01月08日, [検索日 2022.2.2], インターネット<URL https://arxiv.org/pdf/1704.00648.pdf>
ZHAO, Lijun et al.,Deep Optimized Multiple Description Image Coding via Scalar Quantization Learning,arXiv.org [online],2020年01月12日, [検索日 2022.2.2], インターネット<URL https://arxiv.org/pdf/2001.03851.pdf>

Also Published As

Publication number Publication date
JPWO2023095204A1 (en) 2023-06-01
WO2023095204A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
US20230068246A1 (en) Database utilizing spatial probability models for data compression
JP7424078B2 (en) Image encoding method and device and image decoding method and device
KR102771938B1 (en) Neural network model compression
CN113313229B (en) Bayesian Optimization of Sparsity Rate in Model Compression
US11221990B2 (en) Ultra-high compression of images based on deep learning
US12354311B2 (en) Data compression and decompression system and method thereof
EP3740912B1 (en) Data compression by local entropy encoding
CN113424202A (en) Adjusting activation compression for neural network training
JP2022187683A5 (en)
US20220188596A1 (en) Data processing device, data processing system, and data processing method
CN117998086A (en) Lightweight image compression method and terminal
JP7583337B2 (en) Learning device, autoencoding device, learning method, autoencoding method, and program
JP7583338B2 (en) Learning device, autoencoding device, learning method, autoencoding method, and program
CN119341575A (en) A fractal data compression storage method, system and related equipment
Mathieu et al. Geometric neural diffusion processes
US11922018B2 (en) Storage system and storage control method including dimension setting information representing attribute for each of data dimensions of multidimensional dataset
JP7723331B2 (en) Learning device, autoencoding device, learning method, autoencoding method, and program
JP7730071B2 (en) Learning device, learning method and program
CN113038134B (en) Picture processing method, intelligent terminal and storage medium
KR20220065306A (en) Apparatus and method for successive deep image compression
US20220343148A1 (en) Data processing device, data processing system, and data processing method
CN113316791A (en) Training in a communication system
CN117496310A (en) A data processing method, device, equipment and medium based on comparative learning
US12425594B2 (en) Encoding device, decoding device, encoding method, decoding method, and program
CN119444769B (en) Medical image segmentation method, device, equipment and storage medium based on improved U-Net

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241014

R150 Certificate of patent or registration of utility model

Ref document number: 7583337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350