JP7236873B2 - オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム - Google Patents

オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム Download PDF

Info

Publication number
JP7236873B2
JP7236873B2 JP2019022744A JP2019022744A JP7236873B2 JP 7236873 B2 JP7236873 B2 JP 7236873B2 JP 2019022744 A JP2019022744 A JP 2019022744A JP 2019022744 A JP2019022744 A JP 2019022744A JP 7236873 B2 JP7236873 B2 JP 7236873B2
Authority
JP
Japan
Prior art keywords
data
resolution
neural network
layer
compression
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
JP2019022744A
Other languages
English (en)
Other versions
JP2019140680A5 (ja
JP2019140680A (ja
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.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
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 Preferred Networks Inc filed Critical Preferred Networks Inc
Publication of JP2019140680A publication Critical patent/JP2019140680A/ja
Publication of JP2019140680A5 publication Critical patent/JP2019140680A5/ja
Application granted granted Critical
Publication of JP7236873B2 publication Critical patent/JP7236873B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

特許法第30条第2項適用 1.開催日 平成30年12月6日 2.集会(展示会)名、開催場所 Asian Conference on Computer Vision(ACCV2018) The Perth Convention and Exhibition Centre(PCEC),21 Mounts Bay Road,Perth,Australia 3.公開者 株式会社Preferred Networks
本発明は、オートエンコーダ装置、データ処理システム、データ処理方法及びプログラムに関する。
インターネット等のネットワークを介してデータを転送する手法は、日々発展しており、帯域を有効に使用することにより、データ転送速度も高速となってきている。一方、4K解像度の動画を取得できるカメラやビットレートの高い音声データを取得できる音声レコーダといったデバイスの性能も発展している。このため、データ転送の帯域を有効に用いたとしても、高精度の動画、音声等を転送するには、帯域が十分ではないことがある。また、データの圧縮は、データ転送のみならず、その容量を削減することができることからデータ格納の際にも有用な技術となる。
このような各種データのデータ量増大に鑑みると、データ圧縮技術は、今日においても重要度が高いものである。特に、圧縮性の高い非可逆圧縮技術において歪みを減少させること、又は、従来技術と同等の歪みであっても圧縮率を高くすることが望まれる。ニューラルネットワークを用いたデータ圧縮も研究されているが、上記の目的を達成するのは困難である。
特許第4303135号公報 国際公開第2017/136083号
そこで、本発明の実施形態は、ニューラルネットワークを用いた歪みが少なく圧縮効率の高いデータ圧縮を行うためのオートエンコーダ装置、データ処理システム、データ処理方法及びプログラムを提供する。
一実施形態に係るオートエンコーダ装置は、オートエンコーダ装置は、圧縮対象となるデータの入力を受け付ける、入力部と、前記入力部に入力されたデータを複数の値に変換し出力する、エンコードネットワーク部と、前記エンコードネットワーク部から出力された複数の値のうち、少なくとも前記エンコードネットワーク部の最深層を含む2以上の層が示す値を、所定平均値及び所定分散値となるようにバッチ正規化をする、バッチ正規化部と、前記バッチ正規化部によってバッチ正規化された値を量子化する、量子化部と、前記量子化部にて量子化した値をデコードする、デコードネットワーク部と、を備える。
一実施形態に係るデータ処理システムを示す図。 一実施形態に係る第1圧縮装置の機能を示すブロック図。 一実施形態に係る第1復元装置の機能を示すブロック図。 一実施形態に係る非可逆圧縮ネットワークの一例を示す図。 一実施形態に係るクリッピングの一例を示す図。 一実施形態に係るデータ変換関数の一例を示す図。 一実施形態に係る疑似量子化関数の一例を示す図。 一実施形態に係る疑似量子化関数の出力の一例を示す図。 一実施形態に係る非可逆圧縮処理を示すフローチャート。 一実施形態に係る非可逆圧縮データの復元処理を示すフローチャート。 一実施形態に係る第2圧縮装置の機能を示すブロック図。 一実施形態に係る第2復元装置の機能を示すブロック図。 一実施形態に係る第2圧縮過程の概略を示す図。 一実施形態に係る第2圧縮における符号化の一例を示す図。 一実施形態に係る第2復元における復号の一例を示す図。 一実施形態に係る第2復元の一例を示す図。 一実施形態に係る第2復元の一例を示す図。 一実施形態に係る第2復元の一例を示す図。 一実施形態に係る圧縮データの格納の一例を示す図。
本実施形態においては、2つのニューラルネットワークが利用される。第1のニューラルネットワークは、与えられたデータを特徴量に変換し、その特徴量を離散化する。離散化においては、複数の解像度をもつ特徴量を離散化することで、大域的な情報を保持する特徴量と、局所的な情報を保持する特徴量の両方を量子化する。量子化された特徴量は、第2のニューラルネットワークによって可逆圧縮が行われる。第2のニューラルネットワークは、特徴量の生起確率を推定する。推定された生起確率をもとに算術符号によって符号化が行われる。第2のニューラルネットワークの特徴は、特徴量の生起確率に条件付き独立性を仮定し、それぞれの条件付き確率を推定する点にあり、条件付き独立性を利用することで、符号化、復号化に掛かる計算時間を短縮する。
なお、第1のニューラルネットワークと第2のニューラルネットワークは独立したものとして扱うことも可能であり、第1のニューラルネットワークのみを用いたデータ圧縮、及び、第2のニューラルネットワークのみを用いたデータ圧縮も行うことが可能である。
図1は、本実施形態に係るデータ圧縮装置を備えるデータ処理システムを模式的に示すブロック図である。データ処理システム1は、データを圧縮する圧縮装置10と、圧縮装置10により圧縮されたデータを復元する復元装置20と、を備える。圧縮装置10及び復元装置20は、同じ装置に備えられていてもよいし、ネットワーク等で接続された別の装置に備えられていてもよい。
圧縮装置10は、第1圧縮装置12と、第2圧縮装置14と、を備える。第1圧縮装置12は、ニューラルネットワークを用いてデータの非可逆圧縮をする装置である。第2圧縮装置14は、同じくニューラルネットワークを用いてデータの圧縮を行うが、第1圧縮装置12とは異なり、可逆圧縮をする装置である。
復元装置20は、第1復元装置22と、第2復元装置24と、を備える。第1復元装置22は、第1圧縮装置12により圧縮された圧縮データを復元する装置である。第2復元装置24は、第2圧縮装置14により圧縮された圧縮データを復元する装置である。本明細書において、圧縮されたデータ及び圧縮データとは、圧縮手段により圧縮され、そのデータ量が元のデータ量よりも少なくなっている(バイナリ)データそのもののことを示す。
圧縮装置10は、第1圧縮装置12により非可逆圧縮されたデータを、さらに第2圧縮装置14により可逆圧縮することによりデータを圧縮する。復元装置20は、この2段階の圧縮過程を経たデータを、第2復元装置24を用いて非可逆圧縮されたデータへと復元し、続いて第1復元装置22を用いて非可逆圧縮されたデータを復元することにより、データを復元する。
図1においては、データ処理システム1は、第1圧縮装置12及び第2圧縮装置14を備える圧縮装置10と、第1復元装置22及び第2復元装置24を備える復元装置20とを備える構成としているが、これには限られない。
例えば、破線で示されるように、第1圧縮装置12及び第1復元装置22を備え、非可逆圧縮、復元を行う第1データ処理システム2、又は、第2圧縮装置14及び第2復元装置24を備え、可逆圧縮、復元を行う第2データ処理システム3がそれぞれ独立してデータ処理システムを構成していてもよい。本実施形態に係るデータ処理システムは、このように、非可逆圧縮のみを行うシステム、又は、可逆圧縮のみを行うシステムとしても機能することが可能である。
圧縮する信号をx、圧縮後の信号をx^とする。x^は、離散値であるのに対し、xは、連続値又は離散値である。歪みあり符号化(非可逆圧縮)においては、圧縮後の信号x^と、圧縮前の信号xとの歪みであるロスL(x,x^)を小さくする一方で、x^の符号長l(x^)を最小化することが目的となる。ロスLは、例えば、MSSSIM(Multi-Scale Structural Similarity for Image Quality Assessment)を用いる。これには限られず、人間の主観と誤差との差が近くなるような評価関数をロスLとして用いることができる。
ここで、信号を符号化するエンコーダ(F)によりz=F(x)と、多値量子化関数QAによりz^=QA(z)と、量子化後の信号を復号するデコーダ(G)によりx^=G(QA(F(x))と表されるものとする。多値量子化関数は、zが多次元変数の場合、次元ごとに独立に量子化を行う。量子化は、連続的な値をとる連続変数を4値や7値といったあらかじめ定めた所定の数の離散値のいずれかに丸める演算を指すものとする。このように示すとき、上記の目的は、E[・]がデータの生起確率についての期待値を表すものとし、minF,G,QAE[L(x,x^)]、及び、minF,QAl(x^)という2つの問題に帰着される。
この2つの問題は、しばしば、一方をある値以下にさせるという制約付最適化問題として定式化されたり歪みと符号長(又は下限となるエントロピー)に定数を掛けたものの和であるレート歪み関数を小さくする最小化問題として定式化されたりする。歪みと符号長のトレードオフを代える場合、基本的には、量子化すべき変数の数を増やすことで対応するが、量子化関数の量子化数を変えたり、x^の符号化において異なる符号を同一符号にまとめることを許容する歪みあり符号を同時に行ったりすることでも実現できる。
すなわち、以下のような2つのことを解決策として考慮することができる。
(1)多値量子化関数に最適化したオートエンコーダによる圧縮(非可逆)。
(2)ニューラルネットによる予測値を基に多値量子化テンソルの算術符号化(可逆)。
以下、(1)の非可逆圧縮、(2)の可逆圧縮についてそれぞれ詳しく説明する。
(第1圧縮装置、第1復元装置)
図2は、第1圧縮装置12の機能を示すブロック図である。第1圧縮装置12は、第1データ入力部120と、第1圧縮モデル記憶部121と、第1圧縮モデル生成部122と、第1データ圧縮部123と、第1圧縮データ出力部124と、を備える。
第1データ入力部120は、圧縮する対象となるデータの入力を受け付けるインタフェースである。また、この第1データ入力部120を介して、復号したときの歪みロスと圧縮したときの符号長のどちらをどれだけ重視して、圧縮するかといったハイパーパラメータ等のモデルの生成又はあらかじめ学習され最適化されたモデルの選択に必要となる情報が入力されてもよい。
第1圧縮モデル記憶部121は、圧縮を行うモデルのひな形を記憶している。この他、処理に必要となるプログラムやデータを記憶していてもよい。あらかじめ学習されたパラメータ等を上記のモデル選択に必要となる情報、例えば、圧縮率等に紐付けて記憶してもよい。
第1圧縮モデル生成部122は、非可逆圧縮を行うモジュールであり、第1圧縮モデル記憶部121に記憶されているひな形のニューラルネットワークモデルを用い、圧縮のためのモデルを選択または生成する。ひな形となるニューラルネットワークモデルは、例えば、CNN(Convolutional Neural Network)に基づいたオートエンコーダとして形成されているモデルである。データの圧縮は、生成されたオートエンコーダのエンコーダ部分(エンコードネットワーク部)を用いて実行される。
この第1圧縮モデル生成部122は、第1データ入力部120から入力されたデータを圧縮するための第1圧縮モデルを、学習により生成する。学習が終了した後、学習に用いたモデルの形成に必要となるパラメータ、特に、当該オートエンコーダのデコーダ層(デコードネットワーク部)の生成に必要となるパラメータを、第1パラメータとして、第1圧縮データ出力部124へと送信する。
第1データ圧縮部123は、第1圧縮モデル生成部122により生成された第1圧縮モデルを用いて、第1データ入力部120から入力されたデータを圧縮する。圧縮されたデータは、第1圧縮データ出力部124へと送信される。
例えば、上述したように、オートエンコーダのエンコーダを備える層に入力データを入力し、エンコーダの出力を量子化したものを圧縮データとしてもよい。別の例としては、エンコーダ部分によりエンコードされる過程において、層ごとに異なる解像度の特徴量が抽出されるが、この各層における出力データから適切にデータを抽出し、量子化することにより、圧縮データとしてもよい。なお、第1圧縮に続き第2圧縮をする場合には量子化が必要であるが、第1圧縮装置12及び第1復元装置22のみを用いたデータの圧縮を行う場合には、量子化は必須の構成ではない。
第1圧縮データ出力部124は、非可逆圧縮されたデータを出力する。第1データ圧縮部123により圧縮されたデータのみならず、復号に必要となる第1圧縮モデルを再現するために必要となる各レイヤのパラメータを出力するようにしてもよい。
図3は、第1復元装置22の機能を示すブロック図である。第1復元装置22は、第1圧縮データ入力部220と、第1復元モデル記憶部221と、第1復元モデル生成部222と、第1データ復元部223と、第1復元データ出力部224と、を備える。
第1圧縮データ入力部220は、第1圧縮装置12が出力した非可逆圧縮データの入力を受け付ける。第1圧縮に続き第2圧縮を行う場合、第2復元装置24が出力した復元された第1圧縮済のデータが第1圧縮データ入力部220へと入力される。
第1復元モデル記憶部221は、第1圧縮装置12が出力した非可逆圧縮データを復元するための第1復元モデルのひな形となるデータを記憶する。このひな形は、パラメータを設定することにより第1復元モデルとなるモデルであり、例えば、第1圧縮モデルがオートエンコーダのエンコーダ部分である場合、当該オートエンコーダのデコーダ部分に対応するものである。
第1復元モデル生成部222は、第1圧縮データ入力部に入力された非可逆圧縮データのうち、第1復元モデルを生成するために必要なパラメータである第1パラメータを抽出し、当該データ及び第1復元モデル記憶部221に記憶されているモデルに基づいて、第1復元モデルを生成する。
第1データ復元部223は、第1復元モデル生成部222が生成した第1復元モデルに第1圧縮データ入力部220から入力された圧縮データのうち、第1パラメータ以外である非可逆圧縮データを入力し、非可逆圧縮されたデータを復元する。
第1復元データ出力部224は、第1データ復元部223により復元されたデータを出力する。
図4は、本実施形態に係る非可逆圧縮及び復元のネットワーク構成の概略を示す図である。以下、CNNを用いたオートエンコーダとして圧縮装置の説明を行うが、CNNではない他のニューラルネットワークモデルあるいは他の調整可能なパラメータをもつ関数を用い同様の処理を行っても構わない。入力画像は、例えば、RGBの3チャネルの画像であるが、これには限られず、デプス情報を含めた4チャネルの画像、又は、アルファチャネルを加えた4チャネルの画像等他の画像であってもよいし、グレースケール画像のように1チャネルの画像であってもよい。1次元時系列の音声信号であってもよい。以下では画像を圧縮する場合のネットワークの例をあげて説明を行う。
第1圧縮装置12は、目的関数を最適化するように学習を行うことにより、この図4の左半分に示すエンコードネットワーク部と、右半分に示すデコードネットワーク部と、を備えるオートエンコーダを生成する。エンコードネットワーク部は、データを複数の値へと変換する。変換された値はバッチ正規化され、さらに量子化される。デコードネットワーク部は、この量子化された値をデコードする。目的関数は、例えば、入力したデータと、オートエンコーダより出力されたデータとの誤差であってもよいし、最適化の際に得られる誤差逆伝播を行うロス関数(損失関数)であってもよい。
図4に示すネットワークは、一例として、5層の構造としたオートエンコーダとして説明しているが、この層の数は5層には限られない。また、圧縮データとして用いるデータとして、第3層~第5層のデータを用いているが、これには限られない。例えば、処理速度、歪み許容度、圧縮後のデータサイズに基づいて動的に、データ圧縮の際にユーザが変更できるものであってもよい。この場合、ネットワークを選択させる際のハイパーパラメータとしてこれらのパラメータを用いるようにしてもよい。
すなわち、所定数n、mを用いると、このネットワークは、n層の処理をエンコード、デコードで行うオートエンコーダであり、第m層から第n層までのデータをそれぞれ第m所定数、第m+1所定数、・・・、第n所定数ずつ取得して、圧縮を行う。それらを量子化することによりさらなるデータの圧縮を行ってもよい。さらにまた、取得した量子化されたデータに対して可逆圧縮を行うことにより、データの圧縮を行ってもよい。
図4において、各層のつながりは、3×3ピクセルのコンボリューションカーネル(フィルタ)により、2×2ピクセルごとに演算される。ネットワークの最適化(学習)時には、畳み込みの後の出力値の平均や分散といった統計量が特定の値をとるように強制するバッチ正規化が行われ、ReLU(Rectified Linear Unit)を用いて活性化される。
このバッチ正規化を行うことによって、第1圧縮(非可逆圧縮)に続いて第2圧縮(可逆圧縮)をする場合、第2圧縮の効率を高めることが出来る。これは出力の統計量が揃っている場合、出力毎に独立に関数を推定する必要がなくなり、出力間で共通部分もつ関数を用いて可逆圧縮したときの圧縮効率を高められること、また出力のエントロピーを小さくすることにより可逆圧縮を行ったときの平均符号長を小さく出来ることによる。
図中のHとWは、入力されたデータが画像の場合の画像の高さと画像の幅をそれぞれ示す。1層の処理ごとに、この高さH及び幅Wは、エンコードにおいては、それぞれ1/2倍となり、デコードにおいては、それぞれ2倍となる。
エンコードについては、以下のようにそれぞれの層においてデータが処理される。例えば、3チャネルのデータが入力層に入力された場合、第1層において、上記の畳み込み処理の後、64チャネルのデータへと変換される。その後、同様に、第2層の処理により、128チャネルへと変換される。
同様に、第3層の処理により、256+Cチャネル分のデータへと変換される。第4層の処理により、第3層において生成されたデータのうち、256チャネル分のデータが512+Cチャネル分のデータへと変換される。そして、第5層の処理により、第4層において生成されたデータのうち、512チャネル分のデータを用いて、Cチャネル分のデータへと変換される。
このC、C及びCチャネル分のデータを生成するフィルタは、あらかじめ設定されていてもよいし、オートエンコーダの学習過程において獲得されるものであってもよい。CNNを使うとCチャネル分のデータを取得する第3層目などの浅い層においては解像度の高い局所的な特徴量が出力され、Cチャネル分のデータを取得する第5層目などの深い層においては解像度の低い大域的な特徴量が出力される。そのため、なるべく局部の精細な情報を保存したい場合は、Cの数を増やしたネットワークを用いるのが望ましい。逆に、圧縮効率を優先したい場合は、相対的にCを減らし、Cを増やしたネットワークを用いるのが望ましい。
復号化した際の歪みを小さくするためには、C、C及びCのデータの量子化数を細かくとることでも実現できる。一例として、C=24、C=24及びC=32としてオートエンコーダを生成する。歪み又は圧縮率等を考慮し、C~Cの値を変更したモデルをいくつか生成しておき、データ圧縮においてユーザから指定された圧縮率等のパラメータに基づいて、圧縮に用いるモデルを選択するようにしてもよい。このような場合、どのモデルを用いたかを圧縮データにおいて、例えば、ヘッダ部分に格納するようにしてもよい。
これらC、C及びCチャネル分のデータを生成するフィルタについても、オートエンコーダによる学習中に最適化されるものであってもよい。すなわち、圧縮データを作成するためのフィルタをどのようなフィルタにすれば復元性がよいかを学習により最適化してもよい。
これらのC、C及びCチャネル分のデータは、バッチ正規化により、所定の平均値及び所定の分散値を持つように変換される。所定の平均値は、例えば、0であり、所定の分散値は、例えば、1である。このバッチ正規化をするために、第1圧縮装置12内に、図示しないバッチ正規化部をさらに備えていてもよい。
バッチ正規化された、C、C及びCチャネル分のデータは、量子化され、圧縮データとして、転送、保存等される。この量子化を行うために、第1圧縮装置12内に、図示しない量子化部をさらに備えていてもよい。これらのバッチ正規化部及び量子化部は、第1圧縮装置12内に独立して備えられていてもよいし、第1データ圧縮部123内に備えられているものであってもよい。
デコードについては、エンコードと逆の操作を行うことによりデータが復元される。まず、量子化されたCチャネル分のデータは、第5層において、3×3のコンボリューションカーネルにより畳み込み、結合、バッチ正規化、活性化をされることにより、512チャネルのデータへと変換される。
この512チャネルのデータに、量子化されたCチャネル分のデータを結合し、第4層の処理を行う。第4層の処理により、チャネル数は256チャネルになる。続いて、同様に、この256チャネルのデータに、量子化されたCチャネル分のデータを結合し、第3層の処理を行う。第3層の処理により、128チャネルへ、そして、第2層の処理により64チャネル、第1層の処理により、3チャネルのデータへと復元される。
エンコード時において、量子化されたC、C及びCチャネル分のデータとともに、各層において使用するフィルタ、及び、パラメータ等を圧縮データに備えておくことにより、デコーダ側においては、エンコーダのモデルに対称な構造をもつデコーダのモデルを生成することが可能となる。
パラメータ等とは、例えば、CNNの層数、それぞれの層におけるハイパーパラメータ及び学習で得られた層を形成するために必要なフィルタなど各層からの出力に掛けられる重みのパラメータ等である。フィルタ自体を圧縮データに備えてもよいが、フィルタは、予め学習にとって最適化した所定のものを用いることとして学習済みのフィルタをもつモデルを生成するようにしてもよい。
異なる構造をもつモデルをそれぞれ学習しておいて、希望する圧縮条件に適したモデルをそれらのうちから選択して生成するようにしてもよい。モデルの学習の一例として、所定の数のフィルタをいくつか用意しておき、これらのフィルタの初期値を定めてモデルを作成し、そのモデルの出力がもっとも歪みロスを小さくするように当該フィルタの結合係数を最適化して第1圧縮モデル記憶部121と第1復元モデル記憶部221に備えるようにしてもよい。
エンコーダ、デコーダの最適化は、上述したように、歪みロスの期待値E[L(x,x^)]の値が小さくなるように最適化を行う。エンコーダFとデコーダGの最適化は、パラメトリックな関数を用いて最適化を行ってもよい。例えば、エンコーダFとデコーダGが、パラメータθ、φで特徴付けられている場合、minθ,φE[L(x,x^)] のような最適化をしてもよい。
期待値E[・]は、圧縮、符号化したい信号源からランダムに得られる信号のサンプル平均で近似してもよい。また、エンコーダFの最適化に関しては、前述したレート歪み関数を最小化するようにしてもよい。このような最適化は、一般的なニューラルネットワークの最適化と同様の手法で実行される。上述した例であれば、一般的なCNNを用いたオートエンコーダの最適化と同様に行われる。
次に、エンコーダにより取得されたデータについての量子化について説明する。量子化の対象となるデータに対して、バッチ正規化、クリッピング、スケール変換、量子化関数による演算を施すことにより本実施形態の量子化は実行される。
(バッチ正規化)
一般的に、バッチ正規化は、パラメータに線形変換を施すことにより、その平均、標準偏差といった統計量が特定の値をもつように正規化を行う。たとえば、出力Oに対するバッチ正規化はγ(O+β)のように出力と定数βの和とそれらへの定数γの積で表わされる。定数βとγは、たとえばγ(O+β)の平均が0、標準偏差が1となるように学習の間に調整され、その値を使うことで正規化が行われる。
このように、あらかじめ平均及び標準偏差を特定の値をもつように誘導することで、量子化前にデータ(各層が出力するデータ)の分布に偏りを持たせることが可能となり、すなわち、ランダムに分布している場合に比べエントロピーを小さくすることが可能となる。したがって、この処理により、第1圧縮後に第2圧縮を行う場合、第2圧縮を施したときの平均符号長を短くすることが可能となる。このバッチ正規化は、上述したように第1圧縮装置12内の図示しないバッチ正規化部により実行されてもよい。
(クリップ)
続いて、バッチ正規化されたデータをクリッピングする。クリッピングは、例えば、[t,u](ただし、t<u)といった定められた範囲にデータを整形することを指す。
図5は、本実施形態に係るクリッピングの例を示す図である。図5は、t=0,u=2としてデータのクリッピングを行っている。このグラフに示されるように、t以下のデータはtと、u以上のデータはuとなるようにクリッピングする。[t,u]のデータに関しては、変換を行わない。すなわち、出力xの[t,u]へのクリッピングは、max(min(x,u),t)とかける。
(スケール変換)
量子化後のデータを0,1,・・・,N-1とする場合、グラフにより変換されたデータを、(N-1)/u倍する。このようにクリッピング及び倍率を掛けることにより、量子化後のデータを、0,1,・・・,N-1のN値に制限することが可能となる。
(量子化関数)
スケール変換後のデータを量子化することによりデータを離散化する。ここでいう量子化とは、データの小数点以下の値を何らかの手法により丸め、整数にする処理のことを言う。例えば、QAを、小数値を四捨五入して整数値へと変換する関数、すなわち、QA(z)=round(z)とする。round(z)は、扱うシステムにより異なる関数であってもよく、例えば、スカラー値aに対して、QA(a)=i,if a∈[i-0.5,i+0.5)等の関数である。エンコーダの出力層において、量子化関数として多値に量子化されるような関数を用いることにより、エンコーダの出力を量子化する。
多値量子化は、上記のように、小数点以下四捨五入に限られるものではなく、例えば、小数点以下の値について、切り捨て、切り上げ、0への丸め、正又は負の無限大への丸め、偶数丸め、奇数丸め等他の丸め手法であってもよい。
エンコーダF及びデコーダGを特徴付けるパラメータをθ,φと陽に表すと、上述したように、z=F(x,θ)、z^=QA(z)、x^=G(z^,φ)、l=L(x,x^)と書くことができる。lを、θ,φで微分すると、以下のように示される。
Figure 0007236873000001
Figure 0007236873000002
ここで、QAが通常のステップ関数による量子化、例えば、変数aが整数iに対して、a∈[i-0.5,i+0.5)を満たす場合にQA(a)=iとするような量子化であると、a∈(i-0.5,i+0.5)では∂QA/∂z=0、a=i-0.5では微分が定義されない。そのため、誤差逆伝播により学習させることができなくなる。そこで、誤差逆伝播を用いる本実施形態においては、一例として、∂QA/∂z=1と置き換えて勾配を計算してネットワークを更新するようにする。このような置き換えをすると、勾配は、以下のように表される。
Figure 0007236873000003
(量子化の第1変形例)
量子化関数QAのzによる微分を1にするのに加え、QAに入力する前に、次のような変換関数を用いてzを変換してから、活性化を行い、誤差逆伝播を行ってもよい。
Figure 0007236873000004
ここで、α∈[0,1]を満たす所定の値である。図6は、[数4]で表される変換関数において、α=0.5とした例を示す図である。この図に示すように、この変換関数は入力が整数値の周りでは、その微分係数が0に近づくことでステップ関数に近い形状となり、整数値から遠くなるほど緩やかに前後の整数値と接続されるような微分可能な連続関数である。
このような関数をQAに掛ける前に適用することにより、zを整数値へと近づけることが可能となり、量子化関数を恒等写像に近似した誤差逆伝播を行った際の近似誤差を小さくすることが可能となる。
(量子化の第2変形例)
上述したエンコーダ、デコーダの最適化においては、量子化という微分不可能な演算を近似することにより勾配法を用いた最適化を可能とした。本変形例では、量子化の演算を確率的に行い、その確率について微分をすることにより、バイアスなしに勾配を求め最適化を行う手法について説明する。
スカラー量子化器をQA(y)=y^(if y∈S)と表す。ここで、y^<yi+1^、S∩Si+1=φ(φ:空集合とする。)とする。確率的な量子化は、y∈{S∪Si+1}に対して、量子化後の値y^を確率的に決定することにより実行される。
確率を特徴付けるパラメータをθとし、y∈{S∪Si+1}に対して、pθ(y^=y^)を定める。パラメータθによって確率的な揺らぎの強さを調整できるものとする。例えば、pθは、シグモイド関数のように、0と1の間を滑らかに接続する関数である。確率pθ(y^=yi+1^)=1-pθ(y^=y^)で、y^をyi+1^とする。歪みL(y,y^)の期待値は、Eθ[L(y,y^)]=∫pθ(y^|x)p(x)L(y,y^)dydy^と表される。この期待値をθで微分したものは、期待値の形式として表すことができ、サンプル平均を用いることで、バイアスなしに微分の推定値を求めることが可能となる。
すなわち、このようにして得られた微分をもとに誤差逆伝搬法によるネットワークの最適化が可能となる。一方で、この確率的な量子化の場合、確率的な揺らぎの強さを調整して、弱めることで決定論的な量子化に近づけることが出来る。学習後は、決定論的な量子化を行うことになるので、学習の間に確率的な揺らぎの強さを少しずつ弱めていくことで本来、最適化したい目的関数のもとでのネットワークの最適化に近づけることが出来る。
(量子化の第3変形例)
上述したエンコーダ、デコーダは、学習中から完全に量子化することにより、量子化された出力に適したエンコーダ、量子化された入力に適したデコーダの作成を行う例を説明した。本変形例においては、学習中には完全に量子化を実行せずに、量子化された出力に適したエンコーダ、量子化された入力に適したデコーダの作成を可能とする方法を説明する。
生成されたモデルにおける画像圧縮時の多値量子化関数QAと区別するために、学習中において中間層(オートエンコーダの最深層)で実行される量子化を、疑似量子化関数QA’として表し、このQA’を用いて疑似量子化を行うことにより学習を行うものとする。
疑似量子化関数QA’(y)をステップ関数に近い連続関数とする。連続であり、微分可能である疑似量子化関数として、例えば、[数4]で示したsnake関数を合成した関数が上げられる。図7は、疑似量子化関数QA’の一例を示す図である。この図7は、疑似量子化関数として、以下に示すように、snake関数を4回合成した関数である。
Figure 0007236873000005
このように表されるQA’は、連続であり、かつ、微分可能な関数である。さらに、図5に示されるように、[数5]で表されるQA’は、整数値の近くの値を多くとることが分かる。この結果、当該疑似量子化関数QA’を用いた場合、最適化においてQA’を用いずに完全なステップ関数(QA)で量子化したものとロスLの値が、このような疑似量子化関数を用いなかった場合と比較して増大する幅が小さくなる。
図8は、[数5]に示す疑似量子化関数QA’に、正規分布にしたがう100000個の乱数を入力した場合における出力の分布を示す図である。この図8に示すように、入力された値は、整数値の周辺へと変換されている。
このように、値を入力値よりも整数値へと近づけることにより、実際に量子化した場合における量子化データの値と、疑似量子化した場合における疑似量子化データの値との差が、入力値と、量子化データの値との差よりも小さくすることが可能である。この結果、量子化を行った結果と、疑似量子化を行った結果が近い状態を保持しつつ、疑似量子化関数が微分可能であることによる誤差逆伝播を可能とする最適化を行うことが可能となる。
上記で示された各量子化関数、各疑似量子化関数、確率的量子化のための関数は、学習において学習の対象として最適化され、変更されるものであってもよい。
図9は、本実施形態に係るエンコーダF及びデコーダGをオートエンコーダにより生成し、非可逆圧縮処理をする流れを示すフローチャートである。
まず、第1圧縮装置12は、第1データ入力部120を介して圧縮元となるデータの入力を受け付ける(S100)。入力されるデータは、例えば、3チャネルの画像データである。
次に、第1圧縮モデル生成部122は、第1圧縮モデル記憶部121から生成するモデルのひな形を取得し、モデル生成の準備をする(S102)。これらは、画像データとともにユーザ等により入力されたパラメータに基づいて取得されてもよいし、あらかじめ決められたひな形を取得するようにしてもよい。別の例としては、画像データに前処理を行うことにより、例えば、解像度、画像サイズ等に基づいてモデルが変更されるものであってもよい。
次に、第1圧縮モデル生成部122は、データ圧縮を行うエンコーダF及びデータ復元を行うデコーダGを備えるオートエンコーダとして第1データ処理モデルを生成する(S104)。第1データ処理モデルは、例えば、図4に示すようなCNNを用いたオートエンコーダである。
このモデルの入力層及び出力層に、第1データ入力部120を介して入力された画像データが入力される。入力層に入力されたデータは、上述したように、そのエンコーダFの層において、第1層、・・・、第5層により処理され、C、C及びCチャネル分のデータを出力する。
エンコーダFから出力された各層において処理されたデータは、上記にいくつか例を挙げた例のように、誤差逆伝播が行えるように処理され、多値に量子化する量子化関数QA(又は疑似量子化関数QA’)により量子化される。
量子化されたC、C及びCチャネル分のデータは、デコーダGの適切な層から入力される。デコーダGの第1層の処理後、処理、すなわち、復元されたデータと、入力データとのロスを算出し、誤差を逆伝播することによりモデルを最適化していく。
このモデルの最適化は、一般的な機械学習と同様におこなってよい。学習の終了は、例えば、ロスLの値が所定の値よりも小さくなった、又は、所定の回数、順伝播と誤差逆伝播を行った、等により決定される。
モデルの最適化が終了すると、第1圧縮モデル生成部122は、デコーダGにおける同等のモデルを生成するために必要なパラメータを出力する(S106)。図2に示されるように、圧縮データとともに、これらのパラメータをまとめて、1つのバイナリファイルとして出力するようにしてもよいし、別のファイルとして出力するようにしてもよい。
続いて、第1データ圧縮部123は、第1圧縮モデル生成部122が生成したモデルに基づいて入力データの圧縮を行い出力する(S108)。第1データ圧縮部123は、第1圧縮モデル生成部122が生成したモデルのうち、エンコーダFの部分を用いて、C、C及びCチャネル分のデータを算出し、当該データにステップ関数(例えば、round関数)を適用することにより多値化し、圧縮データを算出し、第1圧縮データ出力部124を介して出力する。上記と同様にこの多値化は、いずれの手法を用いてもよいが、学習時に多値化を用いた場合には、学習時と同じ多値化関数を用いることが望ましい。
なお、この第1データ圧縮部123は、必ずしも必要な構成要素ではない。例えば、第1圧縮モデル生成部122がモデルを生成するタイミングにおいて、最適なモデルを生成した際に量子化されたデータ作成しておき、当該データを圧縮データとして記憶しておいてもよく、この場合、第1データ圧縮部123を介さずに圧縮データを算出することも可能である。このように算出された圧縮データは、第1圧縮データ出力部124を介して出力される。
出力先は、例えば、第1圧縮装置12が備えられているコンピュータ等におけるメモリ領域であってもよいし、圧縮したデータをインターネット等のネットワークを介して別の装置へと転送するように出力してもよい。
次に、圧縮されたデータの復元処理について説明する。図10は、非可逆圧縮されたデータを復元する処理の流れを示すフローチャートである。
まず、第1圧縮データ入力部220を介して、第1復元装置22は、第1圧縮装置12により圧縮された非可逆圧縮データ、の入力を受け付ける(S110)。第2圧縮されている場合は、第1復元装置22には、第2復元装置24により復元された、第1圧縮されているデータが入力される。
次に、第1復元モデル生成部222は、入力されたデータのうち、第1復元モデル、すなわち、上述したモデルのうちデコーダGの層を生成するために必要なパラメータを取得する(S112)。
続いて、第1復元モデル生成部222取得したパラメータ及び第1復元モデル記憶部221に記憶されているひな形データから、第1復元モデルを生成する(S114)。このように、第1復元装置22内でデコーダGを生成して再現することにより、第1圧縮装置12において圧縮された非可逆圧縮データを各層に入力可能な状態となる。
次に、第1データ復元部223は、第1復元モデル生成部222が生成した第1復元モデル(デコーダG)に、非可逆圧縮データを入力することにより、データを復元する(S116)。非可逆圧縮データは、例えば、図4に示すように、デコーダGの各層に入力されるべきデータが入力され、データの復元が実行される。
次に、第1復元データ出力部224は、第1データ復元部223が復元したデータを出力する(S118)。
このように、第1復元装置22は、第1圧縮装置12により非可逆圧縮されたデータの復元を行う。
以上のように、オートエンコーダを用いてエンコーダFを生成し、エンコーダFの所定の層からの所定の出力を取得して、量子化することにより非可逆なデータの圧縮を行うことが可能となる。この非可逆圧縮データの復元は、エンコーダFと同じタイミングで生成される、量子化されたデータが入力されるデコーダGにより復元を行うことが可能となる。
このように、オートエンコーダの中間層(最深層)において、量子化を行うことにより、データの離散化を行うことが可能となる。さらに、この量子化を、例えば、連続で微分可能な疑似量子化関数により実行することにより、勾配の逆伝播をすることを可能とし、オートエンコーダの学習をうまく行うことができる。
また、エンコーダFにおいて、中間層(最深層)に近い複数の層(最深層から最浅層へ向かって選択される所定数の層)、すなわち、解像度の異なる複数の層の出力の一部を量子化し、圧縮データとして取得することにより、オートエンコーダにより自己符号化された元データの特徴を取得し、復元されたデータにおける歪みを小さくするとともに、高い圧縮率で圧縮することを可能とした。
入力データのビット数と量子化したデータのビット数の比をr=(量子化ビット数)/(入力ビット数)とおくと、データ量は、(C/64+C/256+C/1024)×rとなる。望ましい圧縮率になるように、C、C、Cの値及び量子化ビット数を変更できるようしておいてもよい。
なお、量子化されたデータは、ハフマン符号、算術符号、レンジコーダ等の符号化手法によりさらに圧縮されてもよい。量子化することにより、様々なデータの圧縮手法を効率的に適用可能であるので、エンコーダFから出力された量子化データを圧縮し、デコーダGにおいて復元する前にこれらの算術符号等でさらに圧縮されたデータから量子化データへと変換し、デコーダGの入力とするようにしてもよい。
この量子化した後の圧縮方法として、本実施形態では、可逆圧縮手法をさらに提案する。第1圧縮装置12により圧縮されたデータをさらに圧縮する可逆圧縮装置である第2圧縮装置14、及び、第2圧縮装置14により可逆圧縮されたデータを復元する第2復元装置24について以下説明する。可逆圧縮をすることにより、非可逆圧縮で発生する歪みが量子化されたデータの圧縮の際に増大してしまうことを抑制する。
上述した例においては、データの圧縮を行うタイミングでモデルを生成する例を説明したがこれには限られない。すなわち、第1圧縮装置12及び第1復元装置22として、学習済みのモデルを用いてデータの圧縮及び復元を行うようにしてもよい。このようにする利点は、データ圧縮の時間を削減できるとともに、1枚の画像ではなく、例えば、ビッグデータとして格納されている他の画像を用いて大局的にモデルの生成が可能となり、また、モデル生成の時間を十分にとることができるので、圧縮率の向上及び歪みの抑制等、最適化をより高度に行うことができることである。
このような構成の場合、学習装置として図2に示すような装置を構成する。そして、学習により圧縮モデルが生成された後、当該圧縮モデルのうち、エンコーダ層を第1圧縮モデル記憶部121へと格納し、デコーダ層を第1復元モデル記憶部221へと格納する。
学習済みモデルを用いる場合には、図2、図3に示す装置よりも単純な装置として第1圧縮装置12及び第1復元装置22を構成することが可能である。すなわち、第1圧縮モデル生成部122と、第1復元モデル生成部222は、必須の構成ではなくなる。
第1データ圧縮部123は、あらかじめ学習され第1圧縮モデル記憶部121に格納されている第1圧縮モデル(すなわち、学習された圧縮モデルのエンコーダ層)の入力層にデータを入力することにより、データの圧縮を実行する。圧縮データは、C、C及びCチャネル分のデータを量子化したデータを備えて構成される。
この圧縮データの復元は、第1復元装置22により学習済みモデルのデコーダである第1復元モデルを用いて行われる。デコーダ層の最下層から圧縮されたデータ、すなわち、C3、C4及びC5チャネル分のデータを量子化したデータが入力されることにより、第1圧縮されたデータの復元が実行される。
上述した場合と同じように、圧縮率、歪み等の優先度に基づいて、複数のモデルをあらかじめ学習により生成しておいてもよい。複数のモデルは、そのエンコーダ層を第1圧縮モデル記憶部121に、そのデコーダ層を第1復元モデル記憶部221に格納しておく。この場合、第1圧縮装置12において、ユーザのリクエストに応じて、複数あるモデルのうち、どのモデルを用いて圧縮するかを指定できるようにしておく。例えば、圧縮データのヘッダ部分にどのモデルを用いて圧縮したのかを格納しておき、第1復元装置22において、復元をするタイミングでこのヘッダに格納されている情報から、どのモデルを用いて復元をするかを選択して、データの復元を行う。
圧縮モデルの選択は、複数用意されたモデルであることには限られず、パラメータとして設定できる数値を入力できるようにしてもよい。例えば、C3、C4及びC5の数値をユーザがある程度選択できるようにしたり、又は、第2層目においてC2チャネル分のデータを取得して圧縮データに加えるようにしたりしてもよい。
(第2圧縮装置、第2復元装置)
図11は、第2圧縮装置14の機能を示すブロック図である。第2圧縮装置14は、第2データ入力部140と、第2圧縮モデル記憶部141と、第2圧縮モデル生成部142と、第2データ圧縮部143と、第2圧縮データ出力部144と、を備える。各機能の説明において、第1圧縮装置12の機能と重なる部分に関しては、詳しい説明は省略する。
第2データ入力部140は、第1圧縮装置12により出力された各層の出力データが入力される。
第2圧縮モデル記憶部141は、第2圧縮装置14における圧縮モデルとなる第2圧縮モデルのひな形を記憶する。
第2圧縮モデル生成部142は、可逆圧縮である第2圧縮を行うための確率分布を推定する、第2圧縮モデルを生成する。
第2データ圧縮部143は、入力データに生成された第2圧縮モデルを適用することによって得られる確率分布、及び、入力データに基づいて、可逆圧縮を行う。可逆圧縮には、例えば、レンジコーダを用いる。第2圧縮モデルは、データを後述するように所定のルールに従って分割し、分割されたデータ同士の値における確率分布を算出することにより、レンジコーダを使用することを可能とする。
第2圧縮データ出力部144は、第2データ圧縮部143により圧縮されたデータを出力する。
図12は、第2復元装置24の機能を示すブロック図である。第2復元装置24は、第2圧縮データ入力部240と、第2データ復元部243と、第2復元データ出力部244と、を備える。
第2圧縮データ入力部240は、第2圧縮装置14が出力した第2圧縮データが入力される。
第2データ復元部243は、入力された第2圧縮データをそのデータに基づいて復元する。
第2復元データ出力部244は、復元されたデータを出力する。
(第2圧縮処理)
図13は、第2圧縮処理の概略を示す図である。
離散化された値z^のそれぞれの生起確率がp(z^)であるとき、z^に符号長log2 p(z^)を与えるような符号化を行うと可逆圧縮として最適となる。このような符号の割当を、算術符号化により行う。
算術符号化を行うために、z^の生起確率を推定する必要がある。z^は多次元変数であるので、各次元の取り得る値がN通り、次元数をmとすると、この組み合わせはNmとなり、一般的に膨大な数値となり、ヒストグラムを求めることが困難となる。
そこで、z^の生起確率を条件付確率の積として表す。すなわち、z^=(z^1,・・・,z^m)とおいた場合に、p(z^)=p(z^1)Πp(z^i+1|z^1,・・・,z^m)とする。各条件付分布は、N通りの値をとるz^iの値を予測するクラス分類を実行する問題へと帰着される。
上記の式を単純に条件付分布として表すと、シーケンシャルにm回のニューラルネットワークの出力を得なければ生起確率を求めることができない。mが大きくなると、この計算時間は、大きくなり、短時間で圧縮・復号を行うことが困難となる。
そこで、z^をいくつかの部分集合に分割し、部分集合内の要素間の条件付独立性を仮定し、上記の確率分布の推定を行う。一例として、データを4つのサブセットに分割して行う場合について、以下説明する。上記の式を、さらに以下の式のように書き直すことにより、確率分布の推定を行う。
Figure 0007236873000006
ここで、Kはサブセットの数(以下の例では4)、Iをサブセットにおける要素数とする。このように確率分布を仮定することにより、条件付独立を仮定し、シーケンシャルな演算をK回に押さえ、Iの演算を並列に行うことを可能とする。
まず、入力データは、4つのデータへと分割される。例えば、図に示すように、横縞、右下がり斜線、右上がり斜線、縦縞の2×2のデータを4つのデータに区切り、結合することにより、4つのデータへと分割される。なお、計算機への実装においては、実際に4つのデータへと分割、再結合する必要は無く、必要なタイミングにおいて必要なデータが呼び出せるようにしておけばよい。以下、横縞のデータを第1データ、右下がり斜線のデータを第2データ、右上がり斜線のデータを第3データ、及び、縦縞のデータを第4データと置く。
このうち1つのデータを基礎データとして、基礎データのピクセルの値から、他の3つのデータの値の確率分布を推定するモデルをニューラルネットワーク、例えば、CNNにより生成する。この推定モデルは、データそのものを推定するものではなく、基礎データのあるピクセルの値から、他のデータの対応するピクセルの値が存在する確率分布を求めるモデルとして生成される。
例えば、第1データを基礎データとした場合に、当該基礎データから他の3つのデータである第2データ、第3データ、第4データとなるような確率分布を推定するモデルを生成する。一番左上のピクセルに着目してみると、Aの値からA、A及びAの値となるような確率分布を推定するモデルを生成する。
、A及びAの値全てをAから確率分布を推定する必要は無く、例えば、AからAの値の確率分布を推定し、続いて、A及びAの双方の値を用いてA及びAの値の確率分布を推定するようにしてもよい。このように、どのデータを基準にしてどのデータの確率分布を推定するかは、任意で選択することが可能である。
具体例として、まず、第1データから第4データの値の分布を推定するモデルを生成する。CNNの入力層に第1データを入力すると、出力層に第4データが出力(推定)されるモデルを以下のように生成する。教師付学習により、入力層に第1データを入力すると、各ピクセルについて、入力層に入力された量子化された値に対して、量子化における各値、例えば、4(N)値で量子化されている場合には、第4データの値が0,1,2,3(,・・・,N-1)のそれぞれになる確率を示すような4(N)チャネルのデータを出力層が出力するようなモデルを生成する。
入力データが複数チャネルを備える場合には、入力されたチャネルごとに、Nのサブチャネルを有するような確率分布を出力する層を生成し、入力されたチャネル数のデータを出力層で出力するようなモデルを生成する。このようなモデルを生成することにより、第1データが入力された場合に、第4データの各ピクセルにおいて、量子化された各値になる確率が出力される。
出力層及びその直前の層についての出力以外は、一般的なCNNを形成して最適化を行う。同様に、第2データ及び第3データを教師データとし、量子化された各値になる確率分布を出力するモデルを生成する。
なお、上記においては、第1データから第4データ、続いて、第2データ及び第3データというように説明したが、これには限られない。すなわち、第1データから第2データ、第3データ及び第4データに対する確率分布を同じタイミングで求めるような同時確率分布によるモデルを生成しても構わない。
さらには、第1データから第4データの確率分布を求めた後、第1データ及び第4データを用いて第2データ及び第3データの確率分布を求めるようなモデルを生成してもよい。この場合、上記と同様に、第1データから第4データに対するモデルを生成するのに併せて、第1データ及び第4データを入力層に入力すると、第2データ及び第3データが推定できるようなモデルを教師付学習により生成してもよい。これらのデータ推定の順番や組み合わせは、自由に変更することが可能である。
第1データの各ピクセルの値に対して他の分割データの値が確率として表現できると、第1データの各ピクセル値及び他の分割データへの確率分布にしたがって、第2データ、第3データ及び第4データの値をレンジコーダ等の符号により表現することが可能である。本実施形態では、CNNを用いることによりこの確率分布を精度よく求めることが可能であるので、レンジコーダ等の確率に基づいてデータを圧縮する符号化においては、高い圧縮率を実現することができる。
必要に応じて、第1データをさらに4分割してさらに第1データ自体を圧縮するようにしてもよい。この場合、上記の処理と同様の処理を第1データに関しても適用することにより、データの圧縮を行う。この圧縮は、ピクセルごとに、レンジコーダにより圧縮したものをまとめて圧縮し、データを羅列して格納するものであってもよいし、ベクトル量子化のように、多次元空間内の点を表す量として圧縮したデータを格納するものであってもよい。
上記の処理のうち、第2圧縮モデル生成部142は、CNNの生成を行い、第2データ圧縮部143は、第2圧縮モデル生成部142が生成したモデルにより推定された入力データから得られた確率分布に基づいて、第2圧縮されたデータを出力する。圧縮されたデータには、上記の第1データのピクセル値及び必要となるCNNを形成するためのパラメータを備えておく。さらに、圧縮されたデータには、第2圧縮モデルを形成するためのパラメータが備えられていてもよい。
推定は、あくまでも、確率分布を取得するために用いられ、実際のデータ圧縮はレンジコーダにより行われるので、仮に推定が不確かな推定であっても、この圧縮は可逆圧縮となる。推定の精度は、可逆か非可逆かの要素ではなく、圧縮率に影響を及ぼす。
第2復元装置24は、第2圧縮装置14により圧縮されたデータから、まず、第2圧縮モデルを再現し、データを復元する。
以下、データの圧縮及び復元について、具体的に説明する。図14は、本実施形態に係る第2圧縮装置14における圧縮処理の概略を示す図である。
まず、第1データから第4データを推定するモデルをCNNにより生成する。出力層の直前の層において、図の破線で囲ったように、各量子化値に対する確率分布が出力される。例えば、左上のピクセルに着目すると、第1データは、0であり、第4データは、0である。
この場合、生成されたモデルに第1データを入力して得られる確率分布の左上ピクセルの値は、左上のピクセルについて第1データが0である場合に第4データが0,1,・・・,N-1になる確率である。図示した例では、0.5の確率で第4データの左上ピクセルは0であり、同様に、0.3の確率で1、・・・、0.0の確率でN-1の値になると言うことを意味している。
CNNによるモデルを生成した後、生成したモデルに第1データを入力し、第1データと、第4データと、各量子化値になる確率と、に基づいて、レンジコーダによりバイナリコード0011011...を出力する。このバイナリコードが圧縮データに備えられる。
図15は、本実施形態に係る第2復元装置24における復元処理の概略を示す図である。
まず、第2復元装置24は、圧縮データに格納されているモデルを形成するパラメータから確率分布を求めるためのモデルを再現する。
続いて、再現されたモデルに圧縮データに格納されている第1データを入力し、第1データから第4データへのデータ遷移の確率分布を取得する。
次に、取得された確率分布及び圧縮データに格納されているバイナリコードに基づいて、第4データを復元する。
このように、圧縮データに格納されている第1データ及び第1データと第4データとの確率分布に基づいたバイナリデータをもちいることにより、圧縮された第4データを正確に復元することが可能となる。
チャネルが複数の場合は、チャネルごとに圧縮、復元処理を行う。第1データがさらに分割されている場合には、まず、分割された第1データのサブデータから、第1データを復元し、復元されたデータに基づいて、他のデータを復元することにより、チャネルのデータ、すなわち、図13における入力データを復元する。
この分割は、任意の回数行うことが可能である。圧縮データの生成に関しては、例えば、この分割の回数を決めておく、データのピクセル数が所定数以下となるまで分割を行う、又は、分割による圧縮効率が所定の数値以下となるまで分割を行う、等と決めておいてもよい。
分割による圧縮効率が所定の数値以下となるとは、例えば、モデル生成のパラメータ等を含めた圧縮データのサイズが、圧縮前のサブデータのサイズよりも大きくなる場合等である。
なお、データ圧縮及びデータ復元の全体的な処理の流れは、主要な部分において図9、図10に示すフローチャートと同様のものであるので、詳しくは省略する。
図16は、確率分布から各ピクセルの値を復元する一例を概念的に示す図である。この図に示すように、まず、第1データから第4データを復元する。次に第1データ及び第4データから、第2データと第3データを復元する。この復元は、2×2ピクセル内の閉じた演算とすることが可能であるので、並列して行うことが可能となる。
サブセットを2×2の中に存在するピクセルとして用いるのではなく、さらにスパースな行列を用いて行うようにしてもよい。図17は、スパースな行列からの復元例として、4×4のサブセットから復元する一例を概念的に示す図である。まず、図16にある第1データに対応するデータをスパースな行列から復元する。その後の処理は、図16の処理と同等の処理を行う。
復元された各層のデータ、すなわち解像度の異なるデータは、CNNの各層へ入力することにより統合される。図18は、解像度の異なるデータから1つのデータを統合する場合における一例を示す図である。
この図18に示すように、CNNの各層に、解像度の異なるデータをアンプーリングして入力する。アンプーリングは、それぞれの解像度の異なる画像が同じ大きさになるように実行される。異なる解像度のデータからデータの統合を行う場合、共通するチャネルのデータを推定する場合がある。このような場合には、共通するチャネルのデータとなる推定を1回だけ行うようにし、共通するデータとなるような他の演算を行わないようにすることにより、演算コストを抑制することが可能である。
以上のように、量子化されたデータである第1圧縮データのうち、ピクセル値のデータを直接示すデータ、すなわち、図4における、C、C及びCチャネル分のデータに対応するデータに関して、第2圧縮を行うことにより、高圧縮率でデータを圧縮することが可能となる。
また、エンコード、デコードにおいてともに、1ピクセルごとに次のピクセルの値を求めるのではなく、テンソル全体として同じタイミングで並列にエンコード、デコードを行うことができるので、エンコード、デコードの時間を短縮することが可能となる。
なお、前述したように、第2圧縮装置14及び第2復元装置24は、必ずしも第1圧縮装置12及び第1復元装置22とともに用いる必要は無く、単独としてデータの圧縮を行うことも可能である。この場合、第2データ入力部140には、圧縮の対象となるデータの入力を受け付ける。第2圧縮装置14においては、量子化されたデータ、すなわち、有限個の値に離散化されているデータを扱うことが可能であるので、その応用範囲は広い。
上述した第1圧縮装置12及び第1復元装置22と同様に、第2圧縮装置14及び第2復元装置24についても、あらかじめ学習しておき、学習しておいたモデルを格納しておくことにより、高速に可逆圧縮及び復元を行うことが可能となる。さらに、使用するモデルも、入力されたデータの形状、例えば、何層目から何層目のデータを用いているか、等に基づいて、選択されるようにしておいてもよい。
(データ処理システム)
前述した実施形態のデータ処理システム1としての全体の処理は以下のようにまとめることができる。
[非可逆圧縮]
入力されたデータは、第1圧縮装置12において、オートエンコーダにより出力層から入力されたデータが出力されるようなモデルを生成する。このオートエンコーダは、CNNにより形成される。オートエンコーダのエンコーダ層における中間層に最も近い所定数の層(上述では3層)においては、一般的なCNNの各層の出力に加え、圧縮データの本体を形成するようなデータが出力されるように最適化される。当該所定数の層からの出力用のデータは、量子化され、非可逆圧縮されたデータとして出力される。オートエンコーダの最適化において、デコーダGは、この量子化されたデータが入力されたデータへとデコードされるように最適化される。上述したように、オートエンコーダはあらかじめ学習により最適化されていてもよい。この場合、圧縮率等により使用するエンコーダF、デコーダGを、例えば、第1圧縮モデル記憶部121から取得して、さらに、必要であれば取得したパラメータ等からモデルを生成して使用してもよい。
[可逆圧縮]
非可逆圧縮されたデータは、第2圧縮装置14において、周辺のピクセルに対する確率分布が推定できるようなCNNに基づいたモデルを生成することにより、当該確率分布を用いて算術符号化等の手法により可逆圧縮される。
この可逆圧縮されたデータは、適宜適切な処理を施し、最終的な圧縮データとして出力される。
[可逆圧縮されたデータの復元]
可逆圧縮されたデータは、第2復元装置24において、復元される。この復元は、算術符号化等により圧縮されたデータの復元である。復元されたデータは、上記の第1圧縮装置12から出力された非可逆圧縮されたデータと同じものとなる。
[非可逆圧縮されたデータの復元]
非可逆圧縮されたデータは、第1圧縮装置12により生成されたモデルのデコーダGの層を第1復元装置22において、そのパラメータを取得することにより再現し、デコーダGの中間層に近い層に入力されることにより、復元され、出力される。
以上のように、本実施形態によれば、第1圧縮により歪みの少ない量子化を行ってデータを圧縮し、第2圧縮により量子化されたデータのさらなる圧縮を行う。このように歪みの少ない非可逆圧縮及び高い圧縮率と処理時間の短い可逆圧縮を実行することにより、歪みが少なく、圧縮率が高く、かつ、処理時間の短いデータ圧縮及び復元を提供することが可能となる。
[圧縮データの格納例]
第1圧縮及び第2圧縮をしたデータには、各復元装置における復元モデルを生成するためのパラメータが格納される。当該データは、圧縮されるデータの内容を示すデータと比較して小さいものであるので、圧縮率等にはほとんど寄与しない。そこで、このようなパラメータ以外のデータについての格納方法について説明する。
図19は、本実施形態に係る圧縮データの格納例を模式的に示す図である。以下、図4に示すピクセル数によるものについて説明する。
第1圧縮モデルのエンコーダFからは、第3層からCチャネル、第4層からCチャネル、第5層からCチャネル分の量子化されたデータが出力される。
まず、Cチャネル分のデータのうち当該データの第1データ(C )に該当する(W/64)×(H/64)×Cのデータが格納される。続いてCチャネル分のデータのうち当該データの第1データ(C )に該当する(W/32)×(H/32)×Cのデータが格納される。そして、Cチャネル分のデータのうち当該データの第1データ(C )に該当する(W/16)×(H/16)×Cのデータが格納される。このように、第1圧縮のみの場合よりも圧縮率を高くすることが可能となる。
なお、第2圧縮においては、例えば、Cチャネル分の圧縮をする際に、Cチャネル分のデータを用いるようにしてもよい。すなわち、Cチャネル分と、C のデータを用いてC に対する第2データ、第3データ、第4データの数値の確率分布を推定するモデルにより圧縮を行ってもよい。
同様に、Cチャネル分の圧縮をする際に、Cチャネル分のデータを2×2ピクセル分拡張したデータ、例えば、1ピクセルの値を右、下、右下のピクセルの値として幅を2倍、高さを2倍としたデータと、Cチャネル分のデータと、を用いてC に対する第2データ、第3データ、第4データの数値の確率分布を推定するモデルにより圧縮を行ってもよい。これらの解像度の異なる各層の統合は、上述した図18に示すようにアンプーリングを層ごとにおこなうことにより行われる。
本実施形態に係るデータ処理システム1におけるデータの圧縮は、CNNを用いていることから分かるとおり、画像、音声等に見られるように、周辺のデータとの依存性が比較的高いデータに対してより効果を発揮する。
(応用例)
前述した第1データ処理システム2、又は、第2データ処理システム3は、信号の近似的な生成確率を表現することによりデータの圧縮及び復元を行っている。この信号の生成確率は、ベイズ推定における事前分布として用いることもできる。事前分布として用いることにより、統計推定の精度を向上させることも考えられる。
例えば、画像の超解像、ノイズ除去、又は、顔像補間等の問題においては、以下の最適化問題を解くことに帰着される。
Figure 0007236873000007
ここで、xは、求めたい画像、yは、xを求めるための手がかりとなる画像である。yは、例えば、超解像であれば与えられる低解像度画像、ノイズ除去であればノイズが含まれている画像である。第1項Loss(x,y)は、log p(x|y)という観測分布、すなわち、xからどのような観測画像yが得られるかという(物理的な)観測過程を表す。第2項R(x)は、log p(x|y)という事前確率、すなわち、どのようなxが生成されやすいか、を表す。λは、第1項と第2項とのバランスをとるためのパラメータである。
超解像、ノイズ除去と言った個々の問題は、第1項をどのように記述するかで特徴づけられる。このような問題は、第1項の観測過程と得られた観測画像の情報だけでは一意に解が定まらない不良設定問題となる。すなわち、ノイズの入った画像や劣化した低解像度画像と同じ観測を与える可能性がある元のノイズの入っていない画像や高解像度な画像の候補は複数生じる。この不良設定性を解消し、より精度の高い解を得るために第2項の情報が必要となる。第2項によって解となる画像をより確率の高い尤もらしい画像に近づけることにより、より高精度な推定を行うことが可能となる。
このR(x)として、本実施形態で最適化された圧縮装置を利用することが可能である。デコーダGを用いて、得たい解xは、x=G(z)と表現される。圧縮装置は、量子化されたyの確率を近似的に求めているため、量子化を行わないzの確率p(z)は、量子化後のzの確率を、例えば、線形補間する形で求めることができる。この表現を利用することにより、以下のような式が得られる。
Figure 0007236873000008
すなわち、画像xは、この[数8]の最適化を行うことにより求めることが可能となる。このように、ベイズ推定の事前確率として、本実施形態の各圧縮装置を用いることが可能となる。
以上のように、一実施形態によれば、ニューラルネットワークを用いて、局所的な情報を保持する特徴量を利用することで細部まで歪みが少なく、かつ、大域的な情報を保持する特徴量を利用することで圧縮効率を高めることができる。さらに条件付確率を推定したニューラルネットワークを利用することで、量子化された特徴量の生起確率をよく近似することで算術符号化における圧縮効率を高めつつ、その符号化にかかる演算回数を減らすことでデータ圧縮とデータの復号を高速に実現することができる。
前述した実施形態においては、入力データは画像データであるとしたがこれには限られない。例えば、空間的に次元を増やした3次元空間を示すボクセルデータであってもよいし、時間的に次元を増やした動画データであってもよい。また、別の例として、音声データであっても構わない。さらには、一般的なバイナリデータに対しても、例えば、バイナリ値を数値化する等、所定の前処理により変換して適用することも可能である。
このような種々のデータに対して、前述した実施形態に係るデータ処理システム1を適用することが可能である。これらのデータは、第1データ処理システム2又は第2データ処理システム3を個別に利用してデータ処理されるものであってもよい。
図2、図3、図11、図12に示すような各実施形態における各装置において、各部における各機能のそれぞれの制御は、図示しない制御部がその全て又は一部を、一括に又は個別に行うようにしてもよい。この制御部は、アナログ、デジタル、或いは、FPGA(Field Programmable Gate Array)等により実装された制御回路であってもよい。
上記の全ての記載において、各装置又は各システムの少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、その全て又はその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。モデルの生成や、モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
また、本実施形態に係る各装置及び各システムは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのCPUが格納部に格納されているモデルに基づいて、演算を行い、結果を出力するように動作する。
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。
1:データ処理システム、2:第1データ処理システム、3:第2データ処理システム、
10:圧縮装置、12:第1圧縮装置、14:第2圧縮装置、120:第1データ入力部、121:第1圧縮モデル記憶部、122:第1圧縮モデル生成部、123:第1データ圧縮部、124:第1圧縮データ出力部、140:第2データ入力部、141:第2圧縮モデル記憶部、142:第2圧縮モデル生成部、143:第2データ圧縮部、144:第2圧縮データ出力部、
20:復元装置、22:第1復元装置、24:第2復元装置、220:第1圧縮データ入力部、221:第1復元モデル記憶部、222:第1復元モデル生成部、223:第1データ復元部、224:第1復元データ出力部、240:第2圧縮データ入力部、243:第2データ復元部、244:第2復元データ出力部

Claims (27)

  1. 少なくとも1つの制御部、を備え、
    前記少なくとも1つの制御部は、
    圧縮対象となるデータを取得し、
    第1ニューラルネットワークに前記データを入力して取得される前記第1ニューラルネットワークからの出力に基づいて、第1圧縮データを生成し、
    前記第1圧縮データのサイズは、前記データのサイズより小さく、
    前記第1圧縮データは、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    復元装置において、前記第1解像度に係る特徴量は第2ニューラルネットワークの1つの層に入力され、前記第2解像度に係る特徴量は前記第2ニューラルネットワークの他の層に入力される、
    圧縮装置。
  2. 前記第1ニューラルネットワークは、少なくとも1つの層と他の層とを有し、
    前記第1解像度に係る特徴量は、前記第1ニューラルネットワークの前記他の層からの出力に基づいて生成され、
    前記第2解像度に係る特徴量は、前記第1ニューラルネットワークの前記1つの層からの出力に基づいて生成される、
    請求項に記載の圧縮装置。
  3. 前記第1ニューラルネットワークの前記1つの層からの出力が前記第1ニューラルネットワークの前記他の層に入力される、
    請求項に記載の圧縮装置。
  4. 圧縮対象となる前記データは画像であって、
    前記第1ニューラルネットワークの前記他の層から出力されるデータの高さは、前記第1ニューラルネットワークの前記1つの層からの出力のデータの高さの1/2であり、
    前記第1ニューラルネットワークの前記他の層から出力されるデータの幅は、前記第1ニューラルネットワークの前記1つの層からの出力のデータの幅の1/2である、
    請求項に記載の圧縮装置。
  5. 前記第2ニューラルネットワークの前記1つの層からの出力が前記第2ニューラルネットワークの前記他の層に入力される、
    請求項1乃至請求項4の何れか一項に記載の圧縮装置。
  6. 前記第1ニューラルネットワークからの出力は、バッチ正規化されたデータである、
    請求項1乃至請求項5の何れか一項に記載の圧縮装置。
  7. 前記少なくとも1つの制御部は、
    前記第1ニューラルネットワークからの出力を量子化することで、前記第1解像度に係る特徴量及び前記第2解像度に係る特徴量を生成する、
    請求項1乃至請求項6の何れか一項に記載の圧縮装置。
  8. 前記量子化は、少なくとも、微分可能な量子化関数、微分可能な疑似量子化関数、又は、確率的量子化の何れかを用いて実行される、
    請求項7に記載の圧縮装置。
  9. 前記少なくとも1つの制御部は、更に、
    前記量子化の前に、前記第1ニューラルネットワークからの出力に対して、少なくとも、クリッピング処理、又は、スケール変換処理の何れかを適用する、
    請求項7又は請求項8に記載の圧縮装置。
  10. 前記第1圧縮データに含まれる特徴量の解像度は、ユーザによって選択される、
    請求項1乃至請求項9の何れか一項に記載の圧縮装置。
  11. 前記第1圧縮データは、復元モデルのパラメータを含む、
    請求項1乃至請求項10の何れか一項に記載の圧縮装置。
  12. 前記第1ニューラルネットワークは、圧縮率に基づいて複数のモデルから選択されたものである、
    請求項1乃至請求項11の何れか一項に記載の圧縮装置。
  13. 前記少なくとも1つの制御部は、更に、
    ニューラルネットワークを用いて前記第1圧縮データを可逆圧縮した第2圧縮データを生成する、
    請求項1乃至請求項12の何れか一項に記載の圧縮装置。
  14. 前記第ニューラルネットワークは、前記第1圧縮データの生起確率を推定するものであって、
    前記少なくとも1つの制御部は、
    推定された前記生起確率に基づく算術符号によって前記第2圧縮データを生成する、
    請求項13に記載の圧縮装置。
  15. 請求項1乃至請求項14の何れか一項に記載の圧縮装置を用いて、圧縮データを生成する、
    データ生成方法。
  16. 少なくとも1つの制御部、を備え、
    前記少なくとも1つの制御部は、
    復元対象となる圧縮データを取得し、
    少なくとも1つの層と他の層とを有するニューラルネットワークに前記圧縮データを入力して、復元データを生成し、
    前記復元データのサイズは、前記圧縮データのサイズより大きく、
    前記圧縮データは、他のニューラルネットワークに圧縮対象となるデータを入力した際の出力に基づいて生成されたデータであって、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    前記第1解像度に係る特徴量は前記1つの層に入力され、
    前記第2解像度に係る特徴量は前記他の層に入力される、
    復元装置。
  17. 記1つの層の出力は前記他の層に入力される、
    請求項16に記載の復元装置。
  18. 前記ニューラルネットワークはデコーダであり、前記他のニューラルネットワークはエンコーダである、
    請求項16又は請求項17に記載の復元装置。
  19. 前記ニューラルネットワークのパラメータは、他の装置から受信したものである、
    請求項16乃至請求項18の何れか一項に記載の復元装置。
  20. 前記圧縮データは、前記ニューラルネットワークのパラメータを含み、
    前記少なくとも1つの制御部は、前記パラメータを用いて前記復元データを生成する、
    請求項16乃至請求項19の何れか一項に記載の復元装置。
  21. 請求項16乃至請求項20の何れか一項に記載の復元装置を用いて、前記復元データを生成する、
    データ生成方法。
  22. 少なくとも1つの制御部を用いてモデルを生成するモデル生成方法であって、
    少なくとも1つの制御部によって、
    圧縮対象となるデータをエンコードネットワークに入力することで圧縮データを生成し、
    前記圧縮データをデコードネットワークに入力することで復元データを生成し、
    前記圧縮データと前記復元データとの差分に基づいて、前記エンコードネットワークと前記デコードネットワークを学習する、
    ことを備え、
    前記圧縮データは、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含み
    前記第1解像度に係る特徴量は前記デコードネットワークの1つの層に入力され、前記第2解像度に係る特徴量は前記デコードネットワークの他の層に入力される、
    モデル生成方法。
  23. 少なくとも1つの制御部は、更に、
    前記エンコードネットワークの出力を量子化して前記第1解像度に係る特徴量及び前記第2解像度に係る特徴量を生成し、
    前記量子化は、微分可能な演算を用いた量子化である、
    請求項22に記載のモデル生成方法。
  24. 少なくとも1つの制御部に、
    圧縮対象となるデータを取得し、
    第1ニューラルネットワークに前記データを入力して取得される前記第1ニューラルネットワークからの出力に基づいて、第1圧縮データを生成する、
    ことを実行させるプログラムであって、
    前記第1圧縮データのサイズは、前記データのサイズより小さく、
    前記第1圧縮データは、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    復元装置において、前記第1解像度に係る特徴量は第2ニューラルネットワークの1つの層に入力され、前記第2解像度に係る特徴量は前記第2ニューラルネットワークの他の層に入力される、
    プログラム。
  25. 少なくとも1つの制御部に、
    復元対象となる圧縮データを取得し、
    少なくとも1つの層と他の層とを有するニューラルネットワークに前記圧縮データを入力して、復元データを生成する、
    ことを実行させるプログラムであって、
    前記復元データのサイズは、前記圧縮データのサイズより大きく、
    前記圧縮データは、他のニューラルネットワークに圧縮対象となるデータを入力した際の出力に基づいて生成されたデータであって、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    前記第1解像度に係る特徴量は前記1つの層に入力され、
    前記第2解像度に係る特徴量は前記他の層に入力される、
    プログラム。
  26. 少なくとも1つの制御部を用いてデータを圧縮するデータ圧縮方法であって、
    前記少なくとも1つの制御部によって、
    圧縮対象となるデータを取得し、
    第1ニューラルネットワークに前記データを入力して取得される前記第1ニューラルネットワークからの出力に基づいて、第1圧縮データを生成する、
    ことを備え、
    前記第1圧縮データのサイズは、前記データのサイズより小さく、
    前記第1圧縮データは、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    復元装置において、前記第1解像度に係る特徴量は第2ニューラルネットワークの1つの層に入力され、前記第2解像度に係る特徴量は前記第2ニューラルネットワークの他の層に入力される、
    データ圧縮方法。
  27. 少なくとも1つの制御部を用いてデータを復元するデータ復元方法であって、
    前記少なくとも1つの制御部によって、
    復元対象となる圧縮データを取得し、
    少なくとも1つの層と他の層を有するニューラルネットワークに前記圧縮データを入力して、復元データを生成する、
    ことを備え、
    前記復元データのサイズは、前記圧縮データのサイズより大きく、
    前記圧縮データは、他のニューラルネットワークに圧縮対象となるデータを入力した際の出力に基づいて生成されたデータであって、少なくとも第1解像度に係る特徴量と前記第1解像度より解像度が高い第2解像度に係る特徴量を含
    前記第1解像度に係る特徴量は前記1つの層に入力され、
    前記第2解像度に係る特徴量は前記他の層に入力される、
    データ復元方法。
JP2019022744A 2018-02-09 2019-02-12 オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム Active JP7236873B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018022349 2018-02-09
JP2018022349 2018-02-09

Publications (3)

Publication Number Publication Date
JP2019140680A JP2019140680A (ja) 2019-08-22
JP2019140680A5 JP2019140680A5 (ja) 2022-04-25
JP7236873B2 true JP7236873B2 (ja) 2023-03-10

Family

ID=67541769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019022744A Active JP7236873B2 (ja) 2018-02-09 2019-02-12 オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム

Country Status (2)

Country Link
US (1) US11902369B2 (ja)
JP (1) JP7236873B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7233875B2 (ja) * 2018-09-26 2023-03-07 株式会社Preferred Networks 作成方法、コンピュータ及びプログラム
KR102621118B1 (ko) * 2018-11-01 2024-01-04 삼성전자주식회사 영상 적응적 양자화 테이블을 이용한 영상의 부호화 장치 및 방법
US11588499B2 (en) * 2018-11-05 2023-02-21 Samsung Electronics Co., Ltd. Lossless compression of neural network weights
JP7328799B2 (ja) * 2019-06-12 2023-08-17 株式会社日立製作所 ストレージシステムおよび記憶制御方法
JP7205640B2 (ja) * 2019-09-24 2023-01-17 富士通株式会社 学習方法、学習プログラム、および学習装置
JP7205641B2 (ja) * 2019-09-24 2023-01-17 富士通株式会社 学習方法、学習プログラム、および学習装置
WO2021075009A1 (ja) * 2019-10-16 2021-04-22 日本電信電話株式会社 学習装置、推定装置、学習方法及び学習プログラム
JP7355622B2 (ja) * 2019-11-29 2023-10-03 株式会社日立製作所 エンコーダを有するストレージシステム
CN113038134B (zh) * 2019-12-25 2023-08-01 武汉Tcl集团工业研究院有限公司 一种图片处理方法、智能终端及存储介质
CN113034625B (zh) * 2019-12-25 2023-06-20 武汉Tcl集团工业研究院有限公司 一种基于图片的无损压缩方法、智能终端及存储介质
CN111126589B (zh) * 2019-12-31 2022-05-20 昆仑芯(北京)科技有限公司 神经网络数据处理装置、方法和电子设备
US11575938B2 (en) * 2020-01-10 2023-02-07 Nokia Technologies Oy Cascaded prediction-transform approach for mixed machine-human targeted video coding
US20230063344A1 (en) * 2020-02-17 2023-03-02 Nec Corporation Communication system, transmission apparatus, reception apparatus, matrix generation apparatus, communication method, transmission method, reception method, matrix generation method and recording medium
WO2021205067A1 (en) * 2020-04-07 2021-10-14 Nokia Technologies Oy Feature-domain residual for video coding for machines
US11823060B2 (en) * 2020-04-29 2023-11-21 HCL America, Inc. Method and system for performing deterministic data processing through artificial intelligence
US11955995B2 (en) * 2020-05-11 2024-04-09 Intel Corporation Apparatus and method for two-stage lossless data compression, and two-stage lossless data decompression
KR102510881B1 (ko) * 2020-07-01 2023-03-16 주식회사 딥브레인에이아이 신경망 기반의 특징점 학습 장치 및 방법
CN111898698B (zh) * 2020-08-10 2021-07-27 腾讯科技(深圳)有限公司 对象的处理方法及装置、存储介质和电子设备
CN117157645A (zh) * 2020-10-20 2023-12-01 诺基亚通信法国公司 上行链路ran中使用神经网络的预处理
US11915457B2 (en) * 2021-01-19 2024-02-27 Tencent America LLC Method and apparatus for adaptive neural image compression with rate control by meta-learning
CN113720399B (zh) * 2021-11-02 2022-04-15 国网湖北省电力有限公司检修公司 特高压带电作业用绝缘吊带远程智能监测方法及装置
US11886955B2 (en) 2022-02-16 2024-01-30 Protopia AI, Inc. Self-supervised data obfuscation in foundation models

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196040A (ja) 2004-01-09 2005-07-21 Japan Science & Technology Agency 歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体
JP2007503784A (ja) 2003-05-20 2007-02-22 アーエムテー アドバンスド マルチメディア テクノロジー アクティエボラーグ ハイブリッドビデオ圧縮法
JP2009273117A (ja) 2008-04-07 2009-11-19 Fujifilm Corp 画像処理システム、画像処理方法、およびプログラム
JP2013247683A (ja) 2012-05-24 2013-12-09 Fujitsu Ltd 画像圧縮方法及びその装置
WO2017196931A1 (en) 2016-05-10 2017-11-16 Google Llc Frequency based audio analysis using neural networks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261264B2 (en) * 2008-01-03 2012-09-04 Dell Products L.P. Accessing a network
TWI466752B (zh) 2008-06-23 2015-01-01 Materion Advanced Materials Technologies And Services Inc 可用於與無鉛錫基焊料相容之金-錫-銦焊料
WO2012109407A1 (en) 2011-02-09 2012-08-16 The Trustees Of Columbia University In The City Of New York Encoding and decoding machine with recurrent neural networks
US8582876B2 (en) * 2011-11-15 2013-11-12 Microsoft Corporation Hybrid codec for compound image compression
US9025910B2 (en) * 2012-12-13 2015-05-05 Futurewei Technologies, Inc. Image retargeting quality assessment
CN104579728B (zh) * 2013-10-17 2019-02-26 中兴通讯股份有限公司 网元设备配置和管理方法、装置及网元设备
EP3398114B1 (en) 2016-02-05 2022-08-24 Deepmind Technologies Limited Compressing images using neural networks
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
CN107786867A (zh) * 2016-08-26 2018-03-09 原相科技股份有限公司 基于深度学习架构的图像辨识方法及系统
JP6318211B2 (ja) 2016-10-03 2018-04-25 株式会社Preferred Networks データ圧縮装置、データ再現装置、データ圧縮方法、データ再現方法及びデータ転送方法
SG11201911600VA (en) 2017-07-07 2020-01-30 Mitsubishi Electric Corp Data processing device, data processing method, and compressed data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007503784A (ja) 2003-05-20 2007-02-22 アーエムテー アドバンスド マルチメディア テクノロジー アクティエボラーグ ハイブリッドビデオ圧縮法
JP2005196040A (ja) 2004-01-09 2005-07-21 Japan Science & Technology Agency 歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体
JP2009273117A (ja) 2008-04-07 2009-11-19 Fujifilm Corp 画像処理システム、画像処理方法、およびプログラム
JP2013247683A (ja) 2012-05-24 2013-12-09 Fujitsu Ltd 画像圧縮方法及びその装置
WO2017196931A1 (en) 2016-05-10 2017-11-16 Google Llc Frequency based audio analysis using neural networks

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Adna Sento,Image Compression with Auto-encoder Algorithm using Deep Neural Network (DNN),2016 Management and Innovation Technology International Conference (MITicon),2016年,pp. MIT-99~MIT-103
Lucas Theis et al.,LOSSY IMAGE COMPRESSION WITH COMPRESSIVE AUTOENCODERS[online],2017年03月01日,https://arxiv.org/pdf/1703.00395.pdf
小池 弘幸ほか,JPEG準拠のビットストリームに可逆変換可能な画像符号化方式,電子情報通信学会技術研究報告,2011年07月07日,第111巻,第133号,pp.25~30
山本 康平ほか,マイクロ波ビート信号の深層学習に基づく車種判別方式,電子情報通信学会技術研究報告,2016年,第116巻,第89号,pp.19~24
梅本 可夏ほか,深層学習を用いた病理組織画像からの乳癌診断,電子情報通信学会技術研究報告,2017年05月18日,第117巻,第50号,pp.1~6
石井 潤ほか,可変データビット幅を持つDNNとそのアクセラレータアーキテクチャの検討,電子情報通信学会技術研究報告,2017年07月19日,第117巻,第154号,pp.83~90
神保 悟ほか,符号化パラメータ適応型ディープラーニングによるH.265/HEVC符号化雑音除去特性,第32回画像符号化シンポジウム/第22回映像メディア処理シンポジウム,2017年11月20日,pp.34~35
高田 遼ほか,スケーラブルなディープラーニング向けアクセラレータチップの設計と評価,電子情報通信学会技術研究報告,2016年,第116巻,第336号,pp.1~6

Also Published As

Publication number Publication date
US11902369B2 (en) 2024-02-13
JP2019140680A (ja) 2019-08-22
US20190251418A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
JP7236873B2 (ja) オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム
US11153566B1 (en) Variable bit rate generative compression method based on adversarial learning
US10733767B2 (en) Method and device for processing multi-channel feature map images
CN109889839B (zh) 基于深度学习的感兴趣区域图像编码、解码系统及方法
KR20200044652A (ko) 영상의 주관적 품질을 평가하는 방법 및 장치
CN113259676B (zh) 一种基于深度学习的图像压缩方法和装置
CN114402596B (zh) 神经网络模型解码方法、装置、系统和介质
JP7168896B2 (ja) 画像符号化方法、及び画像復号方法
CN113747163A (zh) 基于上下文重组建模的图像编码、解码方法及压缩方法
JP7233875B2 (ja) 作成方法、コンピュータ及びプログラム
Zebang et al. Densely connected AutoEncoders for image compression
Zhao et al. Symmetrical lattice generative adversarial network for remote sensing images compression
US20240144583A1 (en) Learned Volumetric Attribute Compression Using Coordinate-Based Networks
Rai et al. An enhanced compression method for medical images using SPIHT encoder for fog computing
Thakker et al. Lossy Image Compression-A Comparison Between Wavelet Transform, Principal Component Analysis, K-Means and Autoencoders
CN113949880B (zh) 一种极低码率人机协同图像编码训练方法及编解码方法
Gray et al. Image compression and tree-structured vector quantization
Saudagar Learning based coding for medical image compression
US20230316048A1 (en) Multi-rate computer vision task neural networks in compression domain
US20230336738A1 (en) Multi-rate of computer vision task neural networks in compression domain
US20230316588A1 (en) Online training-based encoder tuning with multi model selection in neural image compression
US20230306239A1 (en) Online training-based encoder tuning in neural image compression
CN118828001A (zh) 一种解码、编码方法、装置及其设备
US20230334718A1 (en) Online training computer vision task models in compression domain
CN117793289A (zh) 一种视频传输方法、视频重建方法及相关设备

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230127

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: 20230203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230228

R150 Certificate of patent or registration of utility model

Ref document number: 7236873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150