JP6903132B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP6903132B2
JP6903132B2 JP2019528310A JP2019528310A JP6903132B2 JP 6903132 B2 JP6903132 B2 JP 6903132B2 JP 2019528310 A JP2019528310 A JP 2019528310A JP 2019528310 A JP2019528310 A JP 2019528310A JP 6903132 B2 JP6903132 B2 JP 6903132B2
Authority
JP
Japan
Prior art keywords
data
quantization
data processing
neural network
information
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
JP2019528310A
Other languages
English (en)
Other versions
JPWO2019008752A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019008752A1 publication Critical patent/JPWO2019008752A1/ja
Application granted granted Critical
Publication of JP6903132B2 publication Critical patent/JP6903132B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • 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/048Activation functions
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

この発明は、ニューラルネットワークの構成に関する情報を符号化して圧縮するデータ処理装置およびデータ処理方法に関する。
入力データの分類問題および回帰問題を解決する方法として機械学習がある。
機械学習には、脳の神経回路(ニューロン)を模擬したニューラルネットワークという手法がある。ニューラルネットワークでは、ニューロンが相互に結合されたネットワークによって表現された確率モデル(識別モデル、生成モデル)によって、入力データの分類(識別)または回帰が行われる。
さらに、全結合層(Fully−connected Layer)だけでなく、畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)を持つニューラルネットワークである畳み込みニューラルネットワーク(Convolutional Neural Network)では、データのフィルタ処理を実現するネットワークなど、分類および回帰以外のデータ処理を実現するネットワークが生成可能となっている。例えば、画像または音声を入力として、入力信号のノイズ除去、または高品質化などを実現する画像または音声のフィルタ処理、圧縮音声などの高域が失われた音声の高域復元処理、一部領域が欠損した画像の復元処理(inpainting)、画像の超解像処理、などが畳み込みニューラルネットワークで実現可能である。
その他にも、生成モデルで生成されたデータが、本物のデータであるか(生成モデルによって生成されたデータではないか)を判定する識別モデルに入力してデータの真贋判定する、生成モデルと識別モデルとを組み合わせてネットワークを構築し、生成モデルは、生成データが識別モデルに生成データであることを見破られないように、識別モデルは、生成データが生成データであることを見破れるように、敵対的に学習することで、高精度な生成モデルの生成を実現する敵対的生成ネットワーク(Generative Adversarial Network)という新しいニューラルネットワークも近年発表されている。
これらニューラルネットワークでは、大量のデータを用いた学習によってネットワークのパラメータを最適化することで、高性能化を図ることができる。
ただし、ニューラルネットワークのデータサイズは大容量化する傾向にあり、ニューラルネットワークを用いたコンピュータの計算負荷も増加している。
これに対して、非特許文献1には、ニューラルネットワークのパラメータであるエッジの重みをスカラ量子化して符号化する技術が記載されている。エッジの重みをスカラ量子化して符号化することで、エッジに関するデータのデータサイズが圧縮される。
Vincent Vanhoucke, Andrew Senior, Mark Z. Mao, " Improving the speed of neural networks on CPUs ", Proc. Deep Learning and Unsupervised Feature Learning NIPS Workshop, 2011.
しかしながら、ニューラルネットワークにおける複数のエッジのそれぞれに付与される重みの最適値は、ネットワークの学習結果によって異なり、一定ではない。
このため、エッジの重みの圧縮サイズにばらつきが生じて、非特許文献1に記載される技術では、ニューラルネットワークのエッジに関するパラメータデータの高圧縮を実現できないという課題があった。
この発明は上記課題を解決するもので、ニューラルネットワークのパラメータデータを高圧縮することができるデータ処理装置およびデータ処理方法を得ることを目的とする。
この発明に係るデータ処理装置は、データ処理部、圧縮制御部および符号化部を備えている。データ処理部は、ニューラルネットワークを用いて入力データを処理する。圧縮制御部は、ニューラルネットワークのパラメータデータを量子化するときの量子化ステップを決定し、量子化ステップが定義された量子化情報を生成する。符号化部は、圧縮制御部によって決定された量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と量子化情報とを符号化して圧縮データを生成する。
この発明によれば、ニューラルネットワークのパラメータデータを量子化するときの量子化ステップが定義された量子化情報と量子化情報における量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報とを符号化して圧縮データを生成する。これにより、ニューラルネットワークのパラメータデータを高圧縮することができる。
圧縮データから復号した量子化情報およびネットワーク構成情報を用いることで、符号化側で最適化されたニューラルネットワークを復号側で構成することができる。
この発明の実施の形態1に係るデータ処理装置(エンコーダ)の構成を示すブロック図である。 実施の形態1に係るデータ処理装置(デコーダ)の構成を示すブロック図である。 図3Aは、実施の形態1に係るデータ処理装置の機能を実現するハードウェア構成を示すブロック図である。図3Bは、実施の形態1に係るデータ処理装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。 実施の形態1に係るデータ処理装置(エンコーダ)の動作を示すフローチャートである。 実施の形態1に係るデータ処理装置(デコーダ)の動作を示すフローチャートである。 実施の形態1におけるニューラルネットワークの構成例を示す図である。 実施の形態1における1次元データの畳み込み処理の例を示す図である。 実施の形態1における2次元データの畳み込み処理の例を示す図である。 ニューラルネットワークのl層目のレイヤにおけるノードごとのエッジの重み情報のマトリクスを示す図である。 ニューラルネットワークのl層目のレイヤにおけるノードごとのエッジの重み情報の量子化ステップのマトリクスを示す図である。 畳み込み層におけるエッジの重み情報のマトリクスを示す図である。 畳み込み層におけるエッジの重み情報の量子化ステップのマトリクスを示す図である。 実施の形態1における量子化情報を構成する情報のシンタックスを示す図である。 実施の形態1における量子化情報を構成する情報のマトリクス単位のシンタックスを示す図である。 実施の形態1における量子化情報を構成する情報のレイヤ単位のシンタックスを示す図である。
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、この発明の実施の形態1に係るデータ処理装置100の構成を示すブロック図である。図1において、データ処理装置100は、学習済みのニューラルネットワークを用いて入力データを処理し、処理結果を出力する。
また、データ処理装置100は、量子化情報およびネットワーク構成情報を符号化するエンコーダとして機能し、データ処理部101、圧縮制御部102および符号化部103を備える。
データ処理部101は、上記ニューラルネットワークを用いて入力データを処理する。
また、データ処理部101は、圧縮制御部102によって生成された量子化情報を入力し、量子化情報に定義された量子化ステップでニューラルネットワークのパラメータデータを量子化する。そして、データ処理部101は、量子化した上記パラメータデータを含むネットワーク構成情報を、符号化部103に出力する。
データ処理部101で用いる上記ニューラルネットワークは予め決めたものを用いてもよいし、学習によってパラメータデータの最適化を行ってもよい。
ニューラルネットワークのパラメータデータを学習する場合、予め決まった初期状態(パラメータデータの初期値)のニューラルネットワークに対して、学習対象の入力データを用いてニューラルネットワークの学習を行った後、圧縮制御部102によって生成された量子化情報を入力して量子化情報に定義された量子化ステップでニューラルネットワークのパラメータデータを量子化する。
そして、この量子化されたニューラルネットワークを次の学習の初期状態として、上記の学習と量子化を実施する。この学習と量子化の処理をL回(Lは1以上の整数)繰り返した結果として得られたニューラルネットワークをネットワーク構成情報の一部として、符号化部103に出力する。
なお、L=1の場合は、量子化後のニューラルネットワークを再学習しないため、データ処理部101で学習せずに外部で学習済みのニューラルネットワークを用いることと同様の処理と言える。つまり、学習をデータ処理部101で行うか外部で行うかの違いのみである。
ネットワーク構成情報は、ニューラルネットワークの構成を示す情報であり、例えば、ネットワークのレイヤ数、レイヤごとのノード数、ノード間を繋ぐエッジ、エッジごとに付与された重み情報、ノードの出力を表す活性化関数および層ごとの種別情報(例えば、畳み込み層、プーリング層、全結合層)などが含まれる。
ニューラルネットワークのパラメータデータとは、例えば、ニューラルネットワークにおけるノード間を結合するエッジに付与された重み情報がある。
圧縮制御部102は、ニューラルネットワークのパラメータデータを量子化するときの量子化ステップを決定し、量子化ステップが定義された量子化情報を生成する。
例えば、圧縮制御部102は、ニューラルネットワークにおける、エッジごと、ノードごと、カーネルごと、または、レイヤごとに切り替わる量子化ステップを決定する。
量子化情報は、ニューラルネットワークのパラメータデータを量子化するときの量子化ステップが定義された情報である。量子化ステップとは、パラメータデータを量子化するときの幅(量子化幅)であり、量子化ステップが大きいほどパラメータデータが粗く分解されるので、圧縮率は高くなる。量子化ステップが小さいほどパラメータデータが細かく分解されるので、圧縮率は低くなる。
具体的には、量子化値kは、下記式(1)で表される。
k=floor((x/Q)+d)+d (1)
上記式(1)において、xは量子化対象パラメータの値、Qは量子化ステップ、d(0≦d<1)は、それぞれの量子化値に対応する量子化対象値の範囲の調整オフセットであり、d(0≦d<1)は量子化値を調整するオフセット、floor()は小数点切捨て処理関数を示している。さらに、上記式(1)に対して設定した範囲の量子化対象値xの量子化値kを0とするデッドゾーンを設ける方法もある。
また、量子化済みパラメータの値yは下記式(2)のとおりとなる。
y=kQ (2)
上記で説明した量子化ステップの最小切り替え単位を、エッジ単位からレイヤ単位とした場合、量子化によるパラメータデータの圧縮率が高くなるので、符号化前のパラメータデータを削減することができる。
符号化部103は、データ処理部101によって量子化されたパラメータデータを含むネットワーク構成情報と、圧縮制御部102によって生成された量子化情報と、を符号化して圧縮データを生成する。
なお、データ処理部101から符号化部103に入力されたネットワーク構成情報は、圧縮制御部102によって決定された量子化ステップで、データ処理部101によって量子化されたパラメータデータを含むネットワーク構成情報である。
図2は実施の形態1に係るデータ処理装置200の構成を示すブロック図である。図2において、データ処理装置200は、圧縮データを復号して得られるニューラルネットワークを用いて入力データを処理し、処理結果を出力する。処理結果には、データ処理装置100と同様に、入力データの分類結果または回帰分析結果がある。
データ処理装置200は、圧縮データから、量子化情報およびネットワーク構成情報を復号するデコーダとして機能し、復号部201およびデータ処理部202を備える。
復号部201は、前述したように符号化部103によって符号化された圧縮データから量子化情報およびネットワーク構成情報を復号する。
復号部201によって復号されたネットワーク構成情報には、エンコーダであるデータ処理装置100側の学習結果によって最適化されたエッジの重み情報などのパラメータデータを量子化した結果(量子化値k)が含まれている。
復号部201によって復号された量子化情報には、パラメータデータを量子化するときの量子化ステップQが定義されている。上記パラメータデータを量子化した結果kと上記量子化ステップQから、上記式(2)に従って、量子化済みパラメータyが復号される。これらの復号結果は、復号部201からデータ処理部202に出力される。
データ処理部202は、ニューラルネットワークを用いて入力データを処理する。
また、データ処理部202は、復号部201によって圧縮データから復号された量子化情報およびネットワーク構成情報を用いて、パラメータデータであるエッジの重み情報を逆量子化する。さらに、データ処理部202は、逆量子化したパラメータデータを含んだネットワーク構成情報を用いて、ニューラルネットワークを構成する。
このように、データ処理部202は、圧縮データから復号された情報を用いて、データ処理装置100側の学習結果によって最適化されたエッジの重み情報などのパラメータデータを含んだニューラルネットワークを構成し、このニューラルネットワークを用いて入力データを処理する。これにより、データ処理装置100とデータ処理装置200とで、最適化されたパラメータデータの圧縮サイズを一定にすることができ、パラメータデータの高圧縮を実現することができる。
図3Aは、データ処理装置100の機能を実現するハードウェア構成を示すブロック図である。図3Aにおいて、処理回路300は、データ処理装置100として機能する専用の回路である。図3Bは、データ処理装置100の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図3Bにおいて、プロセッサ301およびメモリ302は、信号バスによって互いに接続されている。
データ処理装置100における、データ処理部101、圧縮制御部102および符号化部103のそれぞれの機能は、処理回路によって実現される。
すなわち、データ処理装置100は、図4を用いて後述するステップST1からステップST3までの処理を実行するための処理回路を備える。
処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
上記処理回路が図3Aに示す専用のハードウェアである場合、処理回路300は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)またはこれらを組み合わせたものが該当する。
なお、データ処理部101、圧縮制御部102および符号化部103のそれぞれの機能を別々の処理回路で実現してもよいし、これらの機能をまとめて1つの処理回路で実現してもよい。
上記処理回路が図3Bに示すプロセッサである場合、データ処理部101、圧縮制御部102および符号化部103のそれぞれの機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。
ソフトウェアまたはファームウェアは、プログラムとして記述されて、メモリ302に記憶される。
プロセッサ301は、メモリ302に記憶されたプログラムを読み出して実行することによってデータ処理部101、圧縮制御部102および符号化部103のそれぞれの機能を実現する。すなわち、データ処理装置100は、プロセッサ301によって実行されるときに、図4に示すステップST1からステップST3までの処理が結果的に実行されるプログラムを記憶するためのメモリ302を備える。
これらのプログラムは、データ処理部101、圧縮制御部102および符号化部103の手順または方法をコンピュータに実行させるものである。
メモリ302は、コンピュータを、データ処理部101、圧縮制御部102および符号化部103として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
メモリ302には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically−EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
なお、データ処理部101、圧縮制御部102および符号化部103のそれぞれの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。
例えば、データ処理部101については、専用のハードウェアとしての処理回路でその機能を実現し、圧縮制御部102および符号化部103については、プロセッサ301がメモリ302に記憶されたプログラムを読み出して実行することによってその機能を実現してもよい。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって上記機能のそれぞれを実現することができる。
なお、データ処理装置100について説明したが、データ処理装置200においても、同様である。例えば、データ処理装置200は、図5を用いて後述するステップST1aからステップST4aまでの処理を実行するための処理回路を備える。この処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPUであってもよい。
上記処理回路が図3Aに示す専用のハードウェアであれば、処理回路300は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらを組み合わせたものが該当する。
なお、復号部201およびデータ処理部202のそれぞれの機能を、別々の処理回路で実現してもよいし、これらの機能をまとめて1つの処理回路で実現してもよい。
上記処理回路が図3Bに示すプロセッサであると、復号部201およびデータ処理部202のそれぞれの機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。
ソフトウェアまたはファームウェアは、プログラムとして記述されて、メモリ302に記憶される。
プロセッサ301は、メモリ302に記憶されたプログラムを読み出して実行することによって、復号部201およびデータ処理部202のそれぞれの機能を実現する。
すなわち、データ処理装置200は、プロセッサ301によって実行されるときに、図5に示すステップST1aからステップST4aまでの処理が結果的に実行されるプログラムを記憶するためのメモリ302を備える。
これらのプログラムは、復号部201およびデータ処理部202の手順または方法を、コンピュータに実行させるものである。
メモリ302は、コンピュータを、復号部201およびデータ処理部202として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
なお、復号部201およびデータ処理部202のそれぞれの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。
例えば、復号部201については、専用のハードウェアとしての処理回路でその機能を実現し、データ処理部202については、プロセッサ301がメモリ302に記憶されたプログラムを読み出して実行することによってその機能を実現してもよい。
次に動作について説明する。
図4は、データ処理装置100の動作を示すフローチャートである。
以下では、ニューラルネットワークのパラメータデータがエッジの重み情報である場合を説明する。
圧縮制御部102は、学習済みのニューラルネットワークを構成する複数のエッジのそれぞれの重み情報を量子化するときの量子化ステップを決定して、量子化ステップが定義された量子化情報を生成する(ステップST1)。量子化情報は、圧縮制御部102からデータ処理部101および符号化部103に出力される。
データ処理部101は、圧縮制御部102から量子化情報を入力すると、量子化情報における量子化ステップで、上記ニューラルネットワークのエッジの重み情報を量子化する(ステップST2)。データ処理部101は、量子化したエッジの重み情報を含むネットワーク構成情報を生成して符号化部103に出力する。
符号化部103は、データ処理部101から入力した上記ネットワーク構成情報と圧縮制御部102から入力した上記量子化情報とを符号化する(ステップST3)。
符号化部103によって符号化された上記ネットワーク構成情報および上記量子化情報の圧縮データは、データ処理装置200に出力される。
図5は、データ処理装置200の動作を示すフローチャートである。
復号部201は、符号化部103によって符号化された上記圧縮データから量子化情報およびネットワーク構成情報を復号する(ステップST1a)。量子化情報およびネットワーク構成情報は、復号部201からデータ処理部202に出力される。
次に、データ処理部202は、復号部201によって圧縮データから復号された量子化情報とネットワーク構成情報とを用いて、逆量子化されたエッジの重み情報を算出する(ステップST2a)。
続いて、データ処理部202は、逆量子化したエッジの重み情報を含んだネットワーク構成情報を用いて、ニューラルネットワークを構成する(ステップST3a)。
これにより、データ処理装置200は、データ処理装置100で学習済みのニューラルネットワークを構成することができる。
データ処理部202は、ステップST3aで構成したニューラルネットワークを用いて入力データを処理する(ステップST4a)。
図6は、実施の形態1におけるニューラルネットワークの構成例を示す図である。
図6に示すニューラルネットワークでは、入力データ(x,x,・・・,xN1)がそれぞれの層で処理されて、処理結果(y,・・・,yNL)が出力される。
図6において、N(l=1,2,・・・,L)は、l層目のレイヤのノード数を示しており、Lは、ニューラルネットワークのレイヤ数を示している。
ニューラルネットワークは、図6に示すように、入力層、隠れ層および出力層を有しており、これらの層のそれぞれには、複数のノードがエッジで繋がれた構造になっている。
複数のノードのそれぞれの出力値は、エッジによって繋がれた前の層のノードの出力値と、エッジの重み情報、および、層ごとに設定されている活性化関数から算出することができる。
ニューラルネットワークの例として、CNN(Convolutional Neural Network)がある。CNNの隠れ層には、畳み込み層(Convolutional layer)とプーリング層(Pooling layer)とが交互に繋がっており、最終的な出力に合わせて全結合のニューラルネットワーク層(全結合層;Fully−connected layer)が設けられている。畳み込み層の活性化関数には、例えば、ReLU関数が用いられる。
なお、DNN(Deep Neural Network)と呼ばれるネットワーク(ディープラーニング、DCNN(Deep CNN)などとも呼ばれる)は、CNNのレイヤ数を多層化したものである。
図7は、実施の形態1における1次元データの畳み込み処理の例を示す図であり、1次元データの畳み込み処理を行う畳み込み層を示している。1次元データには、例えば、音声データ、時系列データがある。
図7に示す畳み込み層は、前層に9つのノード10−1〜10−9、次層に3つのノード11−1〜11−3を備えている。
エッジ12−1,12−6,12−11には同じ重みが付与されており、エッジ12−2,12−7,12−12には同じ重みが付与されており、エッジ12−3,12−8,12−13には同じ重みが付与されており、エッジ12−4,12−9,12−14には同じ重みが付与されており、エッジ12−5,12−10,12−15には同じ重みが付与されている。また、エッジ12−1から12−5までの重みは全て異なる値となる場合もあるし、複数の重みが同じ値となる場合もある。
前層の9つのノード10−1〜10−9のうち、5つのノードが、上記の重みで次層の1つのノードに繋がっている。カーネルサイズKは5であり、カーネルは、これらの重みの組み合わせによって規定される。
例えば、図7に示すように、ノード10−1は、エッジ12−1を介してノード11−1に繋がり、ノード10−2は、エッジ12−2を介してノード11−1に繋がり、ノード10−3は、エッジ12−3を介してノード11−1に繋がり、ノード10−4は、エッジ12−4を介してノード11−1に繋がり、ノード10−5は、エッジ12−5を介してノード11−1に繋がっている。カーネルは、エッジ12−1〜12−5の重みの組み合わせによって規定される。
ノード10−3は、エッジ12−6を介してノード11−2に繋がり、ノード10−4は、エッジ12−7を介してノード11−2に繋がり、ノード10−5は、エッジ12−8を介してノード11−2に繋がり、ノード10−6は、エッジ12−9を介してノード11−2に繋がり、ノード10−7は、エッジ12−10を介してノード11−2に繋がっている。カーネルは、エッジ12−6〜12−10の重みの組み合わせによって規定される。
ノード10−5は、エッジ12−11を介してノード11−3に繋がり、ノード10−6は、エッジ12−12を介してノード11−3に繋がり、ノード10−7は、エッジ12−13を介してノード11−3に繋がり、ノード10−8は、エッジ12−14を介してノード11−3に繋がり、ノード10−9は、エッジ12−15を介してノード11−3に繋がっている。カーネルは、エッジ12−11〜12−15の重みの組み合わせによって規定される。
データ処理部101またはデータ処理部202は、CNNを用いた入力データの処理において、畳み込み層のエッジの重みの組み合わせを用いて、カーネルごとにステップ数S(図7では、S=2)の間隔で畳み込み演算を実施する。エッジの重みの組み合わせは、カーネルごとに学習によって決定される。
なお、画像認識用途のCNNでは、複数のカーネルを有する畳み込み層でネットワークが構成されることが多い。
図8は、実施の形態1における2次元データの畳み込み処理の例を示す図であり、画像データといった2次元データの畳み込み処理を示している。
図8に示す2次元データのうち、カーネル20は、x方向のサイズがK、y方向のサイズがKのブロック領域である。カーネルサイズKは、K=K×Kである。
データ処理部101またはデータ処理部202は、2次元データにおいて、x方向ステップ数Sの間隔およびy方向ステップ数Sの間隔で、カーネル20ごとのデータの畳み込み演算を実施する。ここで、ステップS,Sは1以上の整数である。
図9は、ニューラルネットワークの全結合層であるl(l=1,2,・・・,L)層目のレイヤにおけるノードごとのエッジの重み情報のマトリクスを示す図である。
図10は、ニューラルネットワークの全結合層であるl(l=1,2,・・・,L)層目のレイヤにおけるノードごとのエッジの重み情報の量子化ステップのマトリクスを示す図である。
ニューラルネットワークにおいては、図9に示すレイヤごとの重みwijの組み合わせが、ネットワークを構成するデータとなる。このため、DNNのような多層のニューラルネットワークでは、一般的に数百Mbyte以上のデータ量となり、大きなメモリサイズも必要となる。なお、iは、ノードインデックスであり、i=1,2,・・・,Nである。jは、エッジインデックスであり、j=1,2,・・・,Nl−1である。
そこで、実施の形態1に係るデータ処理装置100では、エッジの重み情報のデータ量を削減するため、重み情報を量子化する。図10に示すように、量子化ステップqijは、エッジの重みwijごとに設定される。
さらに、量子化ステップは、複数のノードインデックスまたは複数のエッジインデックス、あるいは複数のノードインデックスとエッジインデックスで共通化してもよい。このようにすることで、符号化すべき量子化情報を削減することができる。
図11は、畳み込み層におけるエッジの重み情報のマトリクスを示す図である。
図12は、畳み込み層におけるエッジの重み情報の量子化ステップのマトリクスを示す図である。畳み込み層では、1つのカーネルに対するエッジの重みは全てのノードで共通であり、ノード一つ当たりに結合するエッジ数、すなわちカーネルサイズKを小さくしてカーネルを小領域とすることができる。
図11は、エッジの重みwi’j’をカーネルごとに設定したデータであり、図12は、量子化ステップqi’j’をカーネルごとに設定したデータである。
なお、i’は、カーネルインデックスであり、i’=1,2,・・・,M(l=1,2,・・・,L)である。j’は、エッジインデックスであり、j’=1,2,・・・,Kである。
さらに、量子化ステップは、複数のカーネルインデックスまたは複数のエッジインデックス、あるいは複数のカーネルインデックスとエッジインデックスで共通化してもよい。このようにすることで符号化すべき量子化情報を削減することができる。
圧縮制御部102は、図4のステップST1において、データ処理部101による重みの量子化処理に用いる量子化ステップを決定し、量子化情報としてデータ処理部101に出力する。量子化ステップは、図10に示した量子化ステップqijおよび図12に示した量子化ステップqi’j’である。
データ処理部101は、図4のステップST2において、図10に示した量子化ステップqijで、図9に示したエッジの重みwijを量子化し、量子化された重みwijを含むネットワーク構成情報を符号化部103に出力する。
同様に、データ処理部101は、図4のステップST2において、図12に示した量子化ステップqi’j’で、図11に示したエッジの重みwi’j’を量子化して、量子化された重みwi’j’を含むネットワーク構成情報を符号化部103に出力する。
なお、ネットワーク構成情報には、量子化された重み以外に、ネットワークのレイヤ数、レイヤごとのノード数、ノード間を繋ぐエッジ、エッジごとに付与された重み情報、ノードの出力を表す活性化関数、層ごとの種別情報(畳み込み層、プーリング層、全結合層)等が含まれる。ただし、データ処理装置100とデータ処理装置200との間で予め固定(定義)している情報については、符号化するネットワーク構成情報に含まない。
図13は、実施の形態1における量子化情報を構成する情報のシンタックスを示す図である。
図14は、実施の形態1における量子化情報を構成する情報のマトリクス単位のシンタックスを示す図である。
図15は、実施の形態1における量子化情報を構成する情報のレイヤ単位のシンタックスを示す図である。
図13において、フラグquant_enable_flag、フラグlayer_adaptive_quant_flag、フラグmatrix_adaptive_quant_flag、および量子化ステップfixed_quant_stepは、符号化部103によって符号化される量子化情報の符号化パラメータである。
また、Lはレイヤ数である。
図14において、量子化ステップbase_quant_step[j]、フラグprev_quant_copy_flag[i−1]、および差分値diff_quant_value[i−1][j]は、符号化部103によって符号化される量子化情報の符号化パラメータである。
また、Cは、ノード数Nlayer_idまたはカーネル数Mlayer_idである。さらに、Eは、エッジ数Nlayer_id−1またはカーネルサイズKlayer_idである。
図15において、量子化ステップbase_layer_quant_step、フラグlayer_quant_copy_flag[i−2]、および量子化ステップlayer_quant_step[i−2]は、符号化部103によって符号化される量子化情報の符号化パラメータである。また、Lはレイヤ数である。
図13に示す情報には、ネットワークにおけるエッジの重み情報の量子化の有無が設定されるフラグquant_enable_flagが含まれている。
フラグquant_enable_flagが0(偽)である場合は、ネットワークにおける全てのエッジの重み情報が量子化されない。すなわち、量子化ステップが量子化情報に設定されない。
一方、フラグquant_enable_flagが1(真)である場合、圧縮制御部102は、フラグlayer_adaptive_quant_flagを参照する。
圧縮制御部102は、フラグlayer_adaptive_quant_flagが0(偽)である場合、ネットワークにおける全てのエッジに共通した量子化ステップfixed_quant_stepを、量子化情報に設定する。
フラグlayer_adaptive_quant_flagが1(真)である場合、圧縮制御部102は、フラグmatrix_adaptive_quant_flagを参照する。
フラグmatrix_adaptive_quant_flagが0(偽)であると、圧縮制御部102は、ネットワークにおける複数のエッジのそれぞれの重み情報の量子化ステップとして、レイヤ単位で共通した量子化ステップを決定する。
ただし、入力層(1層目)はエッジを持たないため、量子化ステップは設定されない。
なお、図15は、レイヤ単位で共通した量子化ステップに関するシンタックスを示している。
フラグmatrix_adaptive_quant_flagが1(真)であると、圧縮制御部102は、ネットワークにおける複数のエッジのそれぞれの重み情報の量子化ステップとして、図10に示した量子化ステップまたは図12に示した量子化ステップを決定する。図14は、図10または図12に示した量子化ステップのシンタックスを示している。
図14に示すシンタックスについて説明する。
前述したように、入力層(1層目)はエッジを持たない。
このため、ID情報layer_idが1からL−1までのlayer_id+1層目のレイヤが、量子化ステップの設定対象となる。
まず、圧縮制御部102は、layer_id+1層目のレイヤにおいて、図10に示した1番目のノード(図12では、1番目のカーネル)の量子化ステップを示すbase_quant_step[j](j=0,1,・・・,E−1)を設定する。
なお、Eは、エッジ数Nlayer_idまたはカーネルサイズKlayer_id+1である。
次に、圧縮制御部102は、2番目以降(i≧1)のノード(またはカーネル)について、ノード(またはカーネル)単位に、1つ前のインデックスのノード(またはカーネル)と量子化ステップが同じであるか否かを示すフラグprev_quant_copy_flag[i−1]を参照する。
フラグprev_quant_copy_flag[i−1]が1(真)である場合、i+1番目のノード(またはカーネル)は、i番目のノード(またはカーネル)と量子化ステップが同じである。
一方、フラグprev_quant_copy_flag[i−1]が0(偽)である場合、圧縮制御部102は、i+1番目のノード(またはカーネル)の量子化ステップを生成する情報として、差分値diff_quant_value[i−1][j](i=1,2,・・・,C−1、j=0,1,・・・,E−1)を設定する。
量子化ステップは、差分値diff_quant_value[i−1][j]に対して1つ前のノード(またはカーネル)に設定された量子化ステップを加算して生成することができる。
すなわち、2番目(i=1)のノード(またはカーネル)では、base_quant_step[j]+diff_quant_value[0][j]が量子化ステップとなる。3番目以降(i≧2)のノード(またはカーネル)は、diff_quant_value[i−2][j]+diff_quant_value[i−1][j]が量子化ステップとなる。
なお、符号化パラメータとしてノード(またはカーネル)間での量子化ステップの差分値diff_quant_value[i−1][j]を示したが、ノード(またはカーネル)単位に独立の量子化ステップを設定してもよい。
ノード(またはカーネル)間の量子化ステップの相関が低い傾向にある場合、このように構成する方が、符号化部103での符号化効率が高くなる。
図15に示すシンタックスについて説明する。
前述したように、入力層(1層目)はエッジを持たない。
そこで、圧縮制御部102は、2層目のレイヤにおける全てのエッジの重み情報に共通の量子化ステップとして、base_layer_quant_stepを設定する。
次に、圧縮制御部102は、3層目以降(i≧2)のレイヤについて、i+1層目のレイヤにおける全てのエッジの重み情報に共通の量子化ステップが、i層目のレイヤにおける全てのエッジの重み情報に共通の量子化ステップと同一であるか否かを示すフラグlayer_quant_copy_flag[i−2](i=2,3,・・・,L−1)を参照する。
フラグlayer_quant_copy_flag[i−2]が1(真)であれば、圧縮制御部102は、i+1層目における全てのエッジの重み情報に共通の量子化ステップを、i層目のレイヤにおける全てのエッジの重み情報に共通の量子化ステップと同一とする。一方、フラグlayer_quant_copy_flag[i−2]が0(偽)であれば、圧縮制御部102は、i+1層目における全てのエッジの重み情報に共通の量子化ステップとして、layer_quant_step[i−2]を設定する。
なお、圧縮制御部102が、レイヤ単位に独立した量子化ステップとしてlayer_quant_step[i−2]を定義する場合を示したが、1つ前のレイヤ(i層目のレイヤ)の量子化ステップとの差分値としてlayer_quant_step[i−2]を定義してもよい。差分値とすることで0近傍の差分値が多く発生するので、符号化部103での符号化効率を高めることができる。
符号化部103は、図13から図15までにおける符号化パラメータを、量子化情報として符号化して圧縮データを生成する。
なお、量子化ステップの最小切り替え単位をエッジ単位としたが、図10に示すようにノード単位(図12では、カーネル単位)を、量子化ステップの最小切り替え単位としてもよい。これは、図14においてE=1とすることと同意である。この場合、量子化ステップは、ノード単位(図12では、カーネル単位)に独立に符号化してもよい。
また、量子化ステップの最小切り替え単位は、レイヤ単位であってもよい。
これは、図13においてフラグlayer_adaptive_quant_flag=1(真)である場合に、フラグmatrix_adaptive_quant_flagなしに、常にlayer_quant_coding()のみを実行することと同意である。このように量子化ステップの最小切り替え単位を、エッジ単位よりも大きくすることで、符号化前の量子化情報のデータサイズを削減することができる。
以上のように、実施の形態1に係るデータ処理装置100において、データ処理部101が、ニューラルネットワークを用いて入力データを処理する。圧縮制御部102が、量子化ステップを決定し、量子化ステップが定義された量子化情報を生成する。符号化部103が、圧縮制御部102によって決定された量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と量子化情報とを符号化して圧縮データを生成する。
特に、上記では、ニューラルネットワークのパラメータデータとしてニューラルネットワークにおけるノード間を結合するエッジに付与された重み情報を扱う例について説明した。これらの構成を有することで、量子化ステップが定義された量子化情報と量子化情報における量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報とが圧縮データに符号化される。これにより、ニューラルネットワークのパラメータデータを高圧縮することができる。
また、圧縮データから復号された量子化情報およびネットワーク構成情報を用いることで、符号化側で最適化されたニューラルネットワークを復号側で構成することができる。
実施の形態1に係るデータ処理装置200において、データ処理部202が、ニューラルネットワークを用いて入力データを処理する。復号部201が圧縮データを復号する。
この構成において、データ処理部202が、復号部201によって圧縮データから復号された量子化情報およびネットワーク構成情報を用いてパラメータデータを逆量子化し、逆量子化したパラメータデータを含むネットワーク構成情報を用いてニューラルネットワークを構成する。
これにより、圧縮データから復号した量子化情報およびネットワーク構成情報を用いて符号化側で最適化されたニューラルネットワークを構成することができる。
実施の形態1に係るデータ処理装置100において、圧縮制御部102が、エッジごとに量子化ステップを切り替える。符号化部103は、エッジごとの量子化ステップが定義された量子化情報を符号化する。このように構成することで、パラメータデータを高精度に量子化することができる。
実施の形態1に係るデータ処理装置100において、圧縮制御部102が、ノードごとまたはカーネルごとに量子化ステップを切り替える。符号化部103は、ノードごとまたはカーネルごとの量子化ステップが定義された量子化情報を符号化する。
このように構成しても、パラメータデータを高精度に量子化することができる。
実施の形態1に係るデータ処理装置100において、圧縮制御部102が、ニューラルネットワークのレイヤごとに量子化ステップを切り替える。符号化部103は、ニューラルネットワークのレイヤごとの量子化ステップが定義された量子化情報を符号化する。
このように構成することで、量子化によるパラメータデータの圧縮率が高まるので、符号化前の重み情報のデータ量を削減することができる。
実施の形態2.
実施の形態1では、ニューラルネットの出力結果を直接的にデータ処理結果とする例について述べたが、ニューラルネットの中間レイヤの出力を、下記の参考文献の画像検索(retrieval)またはマッチング(matching)を一例とした画像データおよび音声データに対するデータ処理の特徴量として用い、これを下記の参考文献のように別のデータ処理手法によって最終的なデータ処理結果を得る応用例がある。
例えば、画像検索、マッチング、物体追跡等の画像処理の画像特徴量としてニューラルネットの中間レイヤの出力を用いる場合、従来の上記画像処理で用いられている画像特徴量であるHOG(Histogram of Oriented Gradients)、SIFT(Scale Invariant Feature Transform)、SURF(Speeded Up Robust Features)などに対する画像特徴量の置き換えもしくは追加を行うことで、上記従来の画像特徴量を用いた画像処理と同じ処理フローで画像処理を実現できる。
この場合、データ処理装置100において、ネットワーク構成情報、量子化情報として符号化するのはデータ処理の特徴量とする出力が得られる中間レイヤまでのニューラルネットワークとなる。
さらに、データ処理装置100は上記データ処理の特徴量を用いて画像検索等のデータ処理を行う。データ処理装置200は圧縮データから上記中間レイヤまでのニューラルネットワークを復号し、入力データを入力して得られる出力をデータ処理の特徴量として画像検索等のデータ処理を実施する。
(参考文献)ISO/IEC JTC1/SC29/WG11/m39219, “Improved retrieval and matching with CNN feature for CDVA”, Chengdu, China, Oct.2016.
したがって、実施の形態2に係るデータ処理装置100において量子化によるパラメータデータの圧縮率が高まるので、符号化前の重み情報のデータ量を削減することができる。実施の形態2に係るデータ処理装置200においては、上記データ処理装置100から出力される圧縮データを復号してニューラルネットワークを生成することでデータ処理を実施することができる。
なお、本発明は上記実施の形態に限定されるものではなく、本発明の範囲内において、実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
この発明に係るデータ処理装置は、ニューラルネットワークのパラメータデータを高圧縮することができるので、例えば、画像認識技術への利用が可能である。
10−1〜10−9,11−1〜11−3 ノード、12−1〜12−15 エッジ、20 カーネル、100,200 データ処理装置、101,202 データ処理部、102 圧縮制御部、103 符号化部、201 復号部、300 処理回路、301 プロセッサ、302 メモリ。

Claims (8)

  1. ニューラルネットワークを用いて、入力データを処理するデータ処理部と、
    前記ニューラルネットワークのパラメータデータを量子化するときの量子化ステップを決定し、量子化ステップが定義された量子化情報を生成する圧縮制御部と、
    前記圧縮制御部によって決定された量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と前記量子化情報とを符号化して圧縮データを生成する符号化部と
    を備えたことを特徴とするデータ処理装置。
  2. ニューラルネットワークを用いて入力データを処理するデータ処理部と、
    前記ニューラルネットワークのパラメータデータを量子化するときの量子化ステップが定義された量子化情報と、前記量子化情報における量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と、が符号化された圧縮データを復号する復号部とを備え、
    前記データ処理部は、
    前記復号部によって圧縮データから復号された前記量子化情報および前記ネットワーク構成情報を用いてパラメータデータを逆量子化し、逆量子化したパラメータデータを含む前記ネットワーク構成情報を用いて前記ニューラルネットワークを構成すること
    を特徴とするデータ処理装置。
  3. 前記ニューラルネットワークのパラメータデータは、前記ニューラルネットワークにおけるノード間を結合するエッジに付与された重み情報であること
    を特徴とする請求項1または請求項2記載のデータ処理装置。
  4. 前記圧縮制御部は、エッジごとに量子化ステップを切り替え、
    前記符号化部は、前記エッジごとの量子化ステップが定義された前記量子化情報を符号化すること
    を特徴とする請求項1記載のデータ処理装置。
  5. 前記圧縮制御部は、ノードごとまたはカーネルごとに量子化ステップを切り替え、
    前記符号化部は、前記ノードごとまたは前記カーネルごとの量子化ステップが定義された前記量子化情報を符号化すること
    を特徴とする請求項1記載のデータ処理装置。
  6. 前記圧縮制御部は、前記ニューラルネットワークのレイヤごとに量子化ステップを切り替え、
    前記符号化部は、前記ニューラルネットワークのレイヤごとの量子化ステップが定義された前記量子化情報を符号化すること
    を特徴とする請求項1記載のデータ処理装置。
  7. 復号部が、ニューラルネットワークのパラメータデータを量子化するときの量子化ステップが定義された量子化情報と、前記量子化情報における量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と、が符号化された圧縮データを復号するステップと、
    データ処理部が、前記復号部によって圧縮データから復号された前記量子化情報および前記ネットワーク構成情報を用いてパラメータデータを逆量子化し、逆量子化したパラメータデータを含む前記ネットワーク構成情報を用いて前記ニューラルネットワークを構成し、当該ニューラルネットワークを用いて入力データを処理するステップと
    を備えたことを特徴とするデータ処理方法。
  8. データ処理部が、ニューラルネットワークを用いて入力データを処理するステップと、
    圧縮制御部が、前記ニューラルネットワークのパラメータデータを量子化するときの量子化ステップを決定し、量子化ステップが定義された量子化情報を生成するステップと、
    符号化部が、前記圧縮制御部によって決定された量子化ステップで量子化されたパラメータデータを含むネットワーク構成情報と前記量子化情報とを符号化して圧縮データを生成するステップと
    を備えたことを特徴とするデータ処理方法。
JP2019528310A 2017-07-07 2017-07-07 データ処理装置およびデータ処理方法 Active JP6903132B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/024992 WO2019008752A1 (ja) 2017-07-07 2017-07-07 データ処理装置、データ処理方法および圧縮データ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020206026A Division JP7282070B2 (ja) 2020-12-11 2020-12-11 圧縮データ

Publications (2)

Publication Number Publication Date
JPWO2019008752A1 JPWO2019008752A1 (ja) 2020-01-09
JP6903132B2 true JP6903132B2 (ja) 2021-07-14

Family

ID=64950713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019528310A Active JP6903132B2 (ja) 2017-07-07 2017-07-07 データ処理装置およびデータ処理方法

Country Status (11)

Country Link
US (1) US20200184318A1 (ja)
EP (1) EP3651069A4 (ja)
JP (1) JP6903132B2 (ja)
KR (1) KR102526818B1 (ja)
CN (1) CN110832507A (ja)
BR (1) BR112019027664B1 (ja)
CA (1) CA3066204C (ja)
RU (1) RU2747445C1 (ja)
SG (1) SG11201911600VA (ja)
WO (1) WO2019008752A1 (ja)
ZA (1) ZA201908272B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902369B2 (en) 2018-02-09 2024-02-13 Preferred Networks, Inc. Autoencoder, data processing system, data processing method and non-transitory computer readable medium
KR102621118B1 (ko) * 2018-11-01 2024-01-04 삼성전자주식회사 영상 적응적 양자화 테이블을 이용한 영상의 부호화 장치 및 방법
US11977388B2 (en) * 2019-02-21 2024-05-07 Nvidia Corporation Quantizing autoencoders in a neural network
SG11202108534PA (en) * 2019-02-28 2021-09-29 Mitsubishi Electric Corp Data processing device, data processing system, and data processing method
JP7313515B2 (ja) * 2019-02-28 2023-07-24 三菱電機株式会社 データ処理装置、データ処理システムおよびデータ処理方法
CN109903351B (zh) * 2019-03-02 2023-05-30 复旦大学 基于卷积神经网络和传统编码相结合的图像压缩方法
JP7215242B2 (ja) * 2019-03-08 2023-01-31 富士フイルムビジネスイノベーション株式会社 画像処理装置及びプログラム
JP7345262B2 (ja) * 2019-03-11 2023-09-15 キヤノン株式会社 データ圧縮装置、データ処理装置、データ圧縮方法、プログラム、及び学習済みモデル
JP6605170B1 (ja) * 2019-05-15 2019-11-13 株式会社小野測器 学習装置及び推定装置
US11166022B2 (en) 2019-06-04 2021-11-02 Google Llc Quantization constrained neural image coding
KR20200139909A (ko) 2019-06-05 2020-12-15 삼성전자주식회사 전자 장치 및 그의 연산 수행 방법
JP6651040B1 (ja) * 2019-08-20 2020-02-19 株式会社小野測器 ノッキング判定装置
WO2021059476A1 (ja) * 2019-09-27 2021-04-01 三菱電機株式会社 データ処理装置、データ処理システムおよびデータ処理方法
KR102384255B1 (ko) * 2020-01-20 2022-04-06 경희대학교 산학협력단 인공 신경망의 가중치를 처리하는 방법 및 장치
WO2021225262A1 (en) * 2020-05-07 2021-11-11 Samsung Electronics Co., Ltd. Neural architecture search based optimized dnn model generation for execution of tasks in electronic device
WO2022009433A1 (ja) 2020-07-10 2022-01-13 富士通株式会社 情報処理装置,情報処理方法および情報処理プログラム
US11741712B2 (en) 2020-09-28 2023-08-29 Nec Corporation Multi-hop transformer for spatio-temporal reasoning and localization
KR20220069653A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 초경량 딥러닝 네트워크 학습 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2530270C2 (ru) * 2012-10-23 2014-10-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) Виртуальная потоковая вычислительная система, основанная на информационной модели искусственной нейросети и нейрона
ES2738319T3 (es) * 2014-09-12 2020-01-21 Microsoft Technology Licensing Llc Sistema informático para entrenar redes neuronales
US10417525B2 (en) * 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
US10262259B2 (en) * 2015-05-08 2019-04-16 Qualcomm Incorporated Bit width selection for fixed point neural networks
CN106066783A (zh) * 2016-06-02 2016-11-02 华为技术有限公司 基于幂次权重量化的神经网络前向运算硬件结构
KR101974261B1 (ko) * 2016-06-24 2019-04-30 한국과학기술원 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
CN106529670B (zh) * 2016-10-27 2019-01-25 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106485316B (zh) * 2016-10-31 2019-04-02 北京百度网讯科技有限公司 神经网络模型压缩方法以及装置
CN106557812A (zh) * 2016-11-21 2017-04-05 北京大学 基于dct变换的深度卷积神经网络压缩与加速方案

Also Published As

Publication number Publication date
BR112019027664B1 (pt) 2023-12-19
US20200184318A1 (en) 2020-06-11
SG11201911600VA (en) 2020-01-30
CN110832507A (zh) 2020-02-21
CA3066204C (en) 2022-04-26
JPWO2019008752A1 (ja) 2020-01-09
KR102526818B1 (ko) 2023-04-27
KR20200013710A (ko) 2020-02-07
RU2747445C1 (ru) 2021-05-05
EP3651069A4 (en) 2020-07-15
EP3651069A1 (en) 2020-05-13
CA3066204A1 (en) 2019-01-10
ZA201908272B (en) 2022-03-30
BR112019027664A2 (pt) 2020-07-07
WO2019008752A1 (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
JP6903132B2 (ja) データ処理装置およびデータ処理方法
Choukroun et al. Low-bit quantization of neural networks for efficient inference
US20200005146A1 (en) Neural network method and apparatus
CN114402596A (zh) 神经网络模型压缩
Lee et al. Anytime neural prediction via slicing networks vertically
CN110503152B (zh) 用于目标检测的双路神经网络训练方法及图像处理方法
JP7282070B2 (ja) 圧縮データ
EP4036802A1 (en) Data processing device, data processing system, and data processing method
CN113382244B (zh) 编解码网络结构、图像压缩方法、装置及存储介质
JP7094434B2 (ja) データ処理装置、データ処理システムおよびデータ処理方法
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
Shen et al. Golomb-Rice coding parameter learning using deep belief network for hyperspectral image compression
EP4327250A1 (en) Hardware-aware neural network design
Chu et al. Mixed-precision quantized neural network with progressively decreasing bitwidth for image classification and object detection
JP7313515B2 (ja) データ処理装置、データ処理システムおよびデータ処理方法
WO2021055364A1 (en) Efficient inferencing with fast pointwise convolution
Rolon et al. A multi-class structured dictionary learning method using discriminant atom selection
US20230130779A1 (en) Method and apparatus with neural network compression
Gu Explore deep graph generation
Kuzhively Quantization and Evaluation of AI Algorithms for Hardware Acceleration
Lionello et al. End-To-End Dilated Variational Autoencoder with Bottleneck Discriminative Loss for Sound Morphing--A Preliminary Study
KR20230075923A (ko) 신경망 모델을 학습하기 위한 학습 데이터를 생성하는 방법 및 이를 실행시키기 위한 프로그램을 저장하는 저장 매체, 그리고 전자 장치
Erdenee et al. Spatially Weighted Convolutional Feature Aggregation for Image Retrieval
CN113574882A (zh) 使用深度生成性模型的视频压缩
He et al. Improved RSM Algorithm Based on Ensemble Pruning for High-dimensional Steganalysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201211

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210622

R150 Certificate of patent or registration of utility model

Ref document number: 6903132

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150