JP6528349B1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP6528349B1
JP6528349B1 JP2019513862A JP2019513862A JP6528349B1 JP 6528349 B1 JP6528349 B1 JP 6528349B1 JP 2019513862 A JP2019513862 A JP 2019513862A JP 2019513862 A JP2019513862 A JP 2019513862A JP 6528349 B1 JP6528349 B1 JP 6528349B1
Authority
JP
Japan
Prior art keywords
rows
matrix
columns
input data
vector
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
JP2019513862A
Other languages
English (en)
Other versions
JPWO2019092900A1 (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.)
Araya Corp
Original Assignee
Araya 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 Araya Corp filed Critical Araya Corp
Application granted granted Critical
Publication of JP6528349B1 publication Critical patent/JP6528349B1/ja
Publication of JPWO2019092900A1 publication Critical patent/JPWO2019092900A1/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/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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

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

Abstract

ニューラルネットワークにおけるノード間を結ぶネットワークの計算に適用する。ネットワークの重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数とする。そして、削減した行数あるいは列数の重み成分を、その入力データのベクトルと掛け算をし、その掛け算をした結果の行列を、一定の列数毎あるいは行数毎の部分行列に分割し、分割して得られた部分行列毎に行列の和を行う。

Description

本発明は、人工知能に用いるニューラルネットワークの演算を行う情報処理装置及び情報処理方法に関し、特にニューラルネットワークの演算を行う際の演算量を削減する技術に関する。
ニューラルネットワーク(以下「NN」と称する)において特に認識性能や予測性能が高い、深い層構造をもつディープニューラルネットワーク(以下「DNN」と称する)、畳み込みニューラルネットワーク(以下「CNN」と称する)等はインターネットサービスやクラウド経由・機器搭載等の手段によりスマートフォン、自動車機器、家電機器、工場用機器、ロボット等へのアプリケーションとして提供されている。
Coates, Adam, Huval, Brody, Wang, Tao, Wu, David, Catanzaro, Bryan, and Andrew, Ng. "Deep learning with cots hpc systems." In Proceedings of The 30th International Conference on Machine Learning, pp. 1337-1345, 2013. R. Vershynin, On the role of sparsity in Compressed Sensing and Random Matrix Theory, CAMSAP'09 (3rd International Workshop on Computational Advances in Multi-Sensor Adaptive Processing), 2009, 189--192.
しかしながら、従来の人工知能機能の実現として多く採用されているDNNやCNN等のNNは、演算量が大きく、計算機資源に大規模なサーバを用意したり、グラフィックプロセッシングユニット(以下「GPU」と称する)等の追加のユニットを搭載する必要がある。このため、知能用設備の導入や機器への実装の際に高価になったり、大量の消費電力が必要になるという問題がある。
本発明は上記事情に鑑みて成されたものであり、DNNやCNN等のNNの演算量を削減することで、計算機資源を大幅に削減し、小型化や低消費電力化を可能とし、汎用機器に搭載できる人工知能の機能やサービスを提供することを目的とする。
本発明の情報処理装置は、入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理部を備えた情報処理装置において、
演算処理部は、ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数を用意し、
複数の層で演算する場合における少なくとも一部の層において、削減した行数あるいは列数の重み成分を、入力データのベクトルと掛け算をし、その掛け算をした結果の行列を、一定の列数毎あるいは行数毎の部分行列に分割し、分割して得られた部分行列毎に行列の和を行うことを特徴とする。
また本発明の情報処理方法は、入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理方法において、
複数の層で演算する場合における少なくとも一部の層での演算時のステップとして、
ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数とする削減ステップと、
削減ステップで削減した行数あるいは列数の重み成分を、入力データのベクトルと掛け算をする掛け算ステップと、
掛け算ステップで得た結果の行列を、一定の列数毎あるいは行数毎の部分行列に分割する分割ステップと、
分割ステップで分割して得られた部分行列毎に行列の和を行う和演算ステップと、を含むことを特徴とする。
本発明によれば、人工知能機能を実現する計算機資源を大幅に削減できるため、計算機に占有されるスペースや価格、消費電力を削減できるようになる。したがって、人工知能機能を機器に搭載する際に、低価格のCPUや汎用のFPGA(field-programable gate array)やLSIを使用してニューラルネットワークの演算を行うことが可能になり、小型、低価格化、低消費電力、高速化を実現できる。
DNNの構造の例を示す図である。 自己符号化器におけるプレトレーニング(各層ごとに行う)の例を示す図である。 本発明による手書き数字の認識例を示す図である。 DNNの中間ノードのベクトルが得られる様子を示す図である。 本発明の第1の実施形態例による圧縮状態の概要を示す図である。 本発明の第1の実施形態例による分割状態の概要を示す図である。 本発明の第1の実施形態例によるシフトを行う計算例を示す図である。 図7の計算を行う回路構成例を示す図である。 本発明の第1の実施形態例によるランダムな置換を行う計算例を示す図である。 図9の計算を行う回路構成例を示す図である。 従来のDNNの処理の流れ(ステップS11〜S20)と本発明の第1の実施形態例による処理の流れ(ステップS21〜S31)を比較して示すフローチャートである。 本発明の第1の実施形態例による圧縮率による正解率の変化例を示す特性図である。 CNNの構造の例を示す図である。 本発明の第2の実施形態例による圧縮状態の概要を示す図である。 本発明の第2の実施形態例による圧縮状態の具体的な例を示す図である。 従来の処理(a)と本発明の第2の実施形態例による処理(b)を比較して示す図である。 従来の処理(a)と本発明の第2の実施形態例による処理(b)を比較して示す図である。 従来のCNNの処理の流れ(ステップS41〜S51)と本発明の第2の実施形態例による処理の流れ(ステップS61〜S73)を比較して示すフローチャートである。 本発明の実施形態例の変形例による処理を示す図である。 本発明の実施形態例を適用するハードウェア構成の例を示すブロック図である。
本発明に係る第1の実施形態例について、図1〜図12を参照して説明する。第1の実施形態例は、DNN(ディープニューラルネットワーク)に適用した例である。
図1に基づきDNNの構造を定義する。まず入力信号を、N次元ベクトル
Figure 0006528349
とする。尚、(*)は行列の転置を示している。l=1,2,3,・・・という層の索引を示すlを用いて多層構造を表現する。また
Figure 0006528349
は実数を意味する。
ベクトル
Figure 0006528349

Figure 0006528349
として計算するl番目の層の重み係数の和のベクトルとする。
ここで
Figure 0006528349
は重み行列であり、
Figure 0006528349
はバイアスベクトルである。
与えられたu (l)に対して活性化関数fが次のl+1層の入力ベクトルx (l+1)をノードごとの計算x (l+1)=f(u (l))を実行することにより生成する。
説明を簡易化するために、以降は、b (l)=0とf(u)=uとして説明を進める。
一般にDNNは、識別用の教師あり学習の前に、積層自己符号化器を用いて教師無し学習によるプレトレーニングを行う。図2に示す様に、この自己符号化器では、高次元の入力信号の主要な情報を獲得し低次元の特徴データに変換することを目的としている。各層では自己符号化器を使って復元したデータと入力データの相違を最小化するように学習を行う。この学習は下位層から上位層へ層ごとに勾配降下法や誤差逆伝搬法等を用いて実施される。
(l+1)=W(l)(l)で示されるネットワーク層に対して、重み行列
Figure 0006528349
を使って
Figure 0006528349
を計算することによりx(l+1)から復元ベクトル
Figure 0006528349
を生成する。
自己符号化器の学習時には、
Figure 0006528349
を求める最適化問題を解くことにより、重み行列
Figure 0006528349

Figure 0006528349
を導出する。ここでは、x(l)のベクトルの長さをJ(l)とする。
一般にJ(l+1)≦J(l)である為、自己符号化器はデータの次元を削減することになる。
つまり次元圧縮された信号x(l+1)からW(l)を用いて元信号x(l)を復元する問題とみなすことができる。
逆に言うと、重み行列W(l)が次元圧縮された信号x(l+1)から元信号x(l)を復元する特性を有していればよいことになる。
例えば、非特許文献2として示す論文ではW(l)にその成分を標準的なガウス分布からランダムに選択した行列で、圧縮次元ベクトルから元信号ベクトルを再生できることを示している。
ここで、図3を参照して、DNNを手書き数字の認識に適用した例について説明する。
例えば図3に示す様に、手書き数字の「5」をベクトルx(1)で表現したとして、ランダムな行列W(1)と行列の掛け算をして得た次元圧縮されたベクトルx(2)を得る。今ベクトルx(1)がどんな絵かわからない状態でもベクトルx(2)とランダムな行列W(1)からベクトルx(1)が再生でき、結果手書き数字の「5」を再生できることを示している。
一方、重み行列のランダム性を満たす手法は行列の成分をランダムに選択する手法以外にも考えられる。本発明ではこの点に着目した構成法を示す。
この特性を示す重み行列の構成法を以下に示す。
ここでは、一例として図3に示すような手書き数字の認識に用いるDNNで説明する。
入力信号は手書き文字のサイズが28×28=784画素だとすると、一層目の入力信号x(1)のベクトルの長さはN=784となる。中間層として2層目のノードx(2)のベクトルの長さをM=500とすると、図3に示すように500×784の重み行列W(1)に入力信号ベクトルx(1)をかけて次元圧縮された中間ノードの信号x(2)を得ることになる。
図4にこの際の重み行列W(1)と入力信号ベクトルx(1)との行列計算により、中間ノードのベクトルx(2)が得られる様子を示す。
この際、演算量が大きい掛け算の回数はM×N=500×784=392000回となる。
図4、図5に本実施形態例のネットワーク圧縮方法を示す。従来のDNNでは各層ごとに入力ベクトル長N、出力ベクトル長Mに対してM×Nの成分に対する積が必要であり、この積の回数が演算量を増大させる元になっていた。
本実施形態例では、図5に示す様に元々のM×N=500×784の重み行列をM’×N=10×784まで圧縮させる方法を示す。
まずは従来例と比べて圧縮した重み行列を用意し、その圧縮した重み行列の下での計算方法を示す。また本発明の計算方法で精度がほとんど落ちない理由を説明し、そのハードウェア構成例とフローチャート例を示す。
この圧縮した重み行列を
Figure 0006528349
とする。また、圧縮率をγと表現すると、この圧縮率はγ=M’/M=10/500=1/50となる。
この
Figure 0006528349
の重み行列を使って下記の計算を行う。
Figure 0006528349
ここで、
Figure 0006528349
であり、演算子°は、
Figure 0006528349
でAを行列、Bをベクトルしたときに、行列Aのi列目の成分とベクトルBのi番目の要素の積を行う演算である。
次に、図6に示すようにM’×N=10×784の行列
Figure 0006528349
を1/γ=50列毎にM’×N’=10×50の行列
Figure 0006528349
に以下のように分割する。
Figure 0006528349
その上で
Figure 0006528349
に対して特定のルールで置換またはランダムに置換した行列
Figure 0006528349
との行列の和を下記のように実行する。ここで置換とは行列の任意の2要素の場所を互いに交換する、という操作を任意の回数行うことを意味する。
Figure 0006528349
この結果、図6の右端に示すようなM’×N’=10×50の行列
Figure 0006528349
が出力される。
この行列
Figure 0006528349
をベクトルに変換し
Figure 0006528349
を構成する。上記例では10×50の行列X(2)からベクトル長500のx(2)が生成される。
従って500×784の重み行列W(1)を使った計算と同じ784次元の入力信号から500次元の中間ノードの信号を出力する演算が実行できる。特に置換した行列
Figure 0006528349
の組み合わせによる行列の和を使うことによりランダム行列に近い特性を実現できる。
結果認識性能や予測性能は、従来の方法と本発明の方法では僅かな性能差に抑えられる。
一方、本実施形態例では演算量が大きい掛け算の回数は、M′×N=10×784=7840回となり、従来のM×N=500×784=392000回に比べてγ=1/50まで下げられる効果がある。
例えば元々6×9の重み行列W(1)で入力信号ベクトルx(1)のベクトル長を9、出力ベクトルx(2)のベクトル長6のものを対象とする。例えば
Figure 0006528349
という計算を行う。一般に重みは、wi,j∈[−1,1]の範囲で設定される。ここで重みの分布の分散値が大きい場合は、重みが−1や1の値をとる場合が多くなり、学習をする過程においても学習が収束しない勾配消失問題という問題も引き起こす。
例えば上式の1行目と2行目の重みがすべて1になってしまった場合、
Figure 0006528349
という形で上式の右辺を見てもわかるように同じ方程式が2個重複して存在してしまい、出力するx(2)の1番目の要素と2番目の要素が同じになる為、その要素が1つ減ったことと同じになり、x(2)の情報そのものの欠損が生じてしまう。つまりx(2)の要素は本来6個であるが、1番目の要素と2番目の要素が同じになる為、要素5個分の情報に削減される。この計算を行う1つの層で情報の欠損は最終的な識別に用いる情報の欠損につながる為、識別性能を下げる要因になる。一方重みwi,jが−1や1の値をとったとしても同じ方程式の発生を最初から回避できる方法を用いれば、x(2)の要素の欠損は防ぐことができ、識別に必要な情報量も維持でき、最終的な識別の精度を下げない効果を得られる。
この観点から、本発明で採った手法は重み行列W(l)の各行の成分とベクトルx(l)のすべての要素の積和をとらず、一部の要素の積和をとり方程式が一致しない組み合わせのルールを作る手段をとることで同じ方程式の発生を回避した。まず、圧縮率に沿って行数を圧縮した重み行列
Figure 0006528349
を作り、圧縮率の逆数1/γ毎にW(l)を分割し式(1)に示す様に
Figure 0006528349
を計算し、その上で
Figure 0006528349
に対して特定のルールで置換またはランダムに置換した行列
Figure 0006528349
との行列の和を式(2)に示すように実行する。これらの実装はソフトウェア上でも実装可能であるが、FPGA等のハードウェアでの実装も可能である。
具体例としてγ=1/3の場合を示す。まず行数を6から圧縮後の行数6×γ=2行とする。次に列数を1/γ=3列毎に区切り、2×3の重み行列
Figure 0006528349
を構成し、ベクトル長は1/γ=3のx (1)、x (1)、x (1)を使って、
Figure 0006528349
と計算する。
なお、簡易化のために行列の成分およびベクトルの要素の上付き文字(1)の表現は割愛している。
ここで、
Figure 0006528349
の2行目を左側に1列巡回シフトする置換をして下記のように
Figure 0006528349
とする。
Figure 0006528349
また、
Figure 0006528349
の2行目を左側に2列巡回シフトする置換をして下記のように
Figure 0006528349
とする。
Figure 0006528349
結果、
Figure 0006528349
は以下のように計算する。
Figure 0006528349
なお、簡易化の為、
Figure 0006528349
とする。
この手順により、重みwi,jが−1や1の値をとったとしても、同じ方程式の発生を最初から回避できている。例えば上記実例においてすべての重みwi,jを1としたとしても、
Figure 0006528349
となり、重複する方程式は発生しない。また、一つの方程式あたりの積和の数も、式(3)、式(4)で行っていた9回の積、8回の和から、式(5)に示すように、3回の積、2回の和に削減できている。
この手法では、
Figure 0006528349
の2行目の成分を左側に1列巡回シフト、
Figure 0006528349
の2行目の成分を左側に2列巡回シフトしただけである。このようにシンプルな構造でも同じ方程式の発生は避けることができる。
図7及び図8に、上記計算例のまとめとその計算をハードウェア化した場合の具体的な回路を示す。図7に示す行列の1列巡回シフトと2列巡回シフトを行うハードウェア構成が、図8に示すハードウェアで実現される。
図8中、「○」に「×」を組み合わせた印は掛け算回路を示し、「○」に「+」を組み合わせた印は加算回路を示す。図8から分かるにように、一度入力ベクトルの値x(1)と重みW(1)をレジスタ等にセットすれば、積和が同時に実行可能である。圧縮により回路に必要な積和の回路数とメモリ数も行列の成分の圧縮率に比例して削減できる。
また、
Figure 0006528349
から
Figure 0006528349
への置換パターンを固定化することにより、図8に示すように接続パターンを固定できハードウェア化が容易になる。
図9及び図10は、
Figure 0006528349
から
Figure 0006528349
への置換パターンにランダムな置換を用いる場合を示す。図9に示す行列の1行目と2行目ともにランダムに置換するハードウェア構成が、図10に示すハードウェアで実現される。この場合にも、置換パターンを固定化することは可能であるためハードウェア化は同様に容易である。
図11は、本実施形態例の演算処理を実行するフローチャートを、従来のDNNと比較したものである。図11の左側のステップS11〜S19は、従来のDNN実行時のフローチャートであり、図11の右側のステップS21〜S31は本実施形態例のDNN実行時のフローチャートである。
従来のDNNでは、画像データなどの入力データは一般に1画素づつのデータの組み合わせをベクトルとして扱い、入力ベクトルx(1)として正規化や量子化の前処理が行われる(ステップS11)。その後、図4で説明したように最初の層l=1の重み行列W(1)とベクトルx(1)により行列の掛け算W(1)(1)を実施し(ステップS12)、続いて活性化関数fを実行して(ステップS13)、次の層l=2のノードのベクトルx(2)を得る。この処理を繰り返し(ステップS14〜S16)、例えばl=L層まで繰り返して(ステップS17〜S18)、最終的にSoftmax等の計算を実施して、認識計算を行う(ステップS19)。図11の例ではl=L層は圧縮しない行列を用いた方法を示したが、l=L層も本発明の圧縮した行列を用いた計算を行ってもよい。更には本発明方法の計算は全体の一部の層のみ適用してもよい。
次に、図11の右側に示す本実施形態例のDNN実行時の処理を説明する。
まず、従来例と同様に入力信号の前処理が行われる(ステップS21)。その後、行列計算として説明したように、圧縮した重み行列
Figure 0006528349
を用い
Figure 0006528349
の計算を実行し(ステップS22)、さらに
Figure 0006528349
の計算を実行する(ステップS23)。
その後活性化関数fを実行する(ステップS24)。この前処理から活性化関数の実行までを、次の中間ノードに対して繰り返し(ステップS25〜S28)、例えばl=L層まで繰り返して(ステップS29〜S30)、最終的にSoftmax等の計算を実施して、認識計算を行う(ステップS31)。なお、図11では、l=L層は圧縮しない行列を用いた方法を示したが、l=L層も圧縮した行列を用いた計算を行ってもよい。
更には本実施形態例の計算処理は、全体の一部の層のみ適用してもよい。
以上のように本実施形態例は、従来の行列計算部分にそのまま適用できる。
上記のように重み行列を圧縮しても特性がほとんど変わらない為、計算量が削減できる。重み行列はネットワーク構造そのものの表現でもあり、重み行列の圧縮はネットワーク圧縮とみなすことができる。
DNNをネットワーク圧縮した際の評価結果を表1および図12に示す。入力次元は784で中間層は500次元とし、最後に0〜9までの認識計算(Softmax)で出力する構造を採用している。表1および図12の評価結果から分かるように、1/50に演算量を削減しても正解率は僅かしか劣化しない事が確認できる。表1は、手書き数字0〜9までの認識の正解率である。
Figure 0006528349
次に、本発明の第2の実施形態例を、図13〜図18を参照して説明する。第2の実施形態例は、CNN(畳み込みニューラルネットワーク)に適用した例である。
図13にCNNの基本ネットワーク構成を示す。一般にCNNは画像などに映っている物体の認識に使う用途などに用いられるため、以降の説明では画像での物体識別を意識した説明を行う。
まず、l層目の入力データサイズをM(1)×M(1)とし、入力チャネルの総数をCN(1)とする。また、l層目の出力データのサイズはl+1層の入力データサイズM(1+1)×M(1+1)と同じでありl層目の出力チャネルの総数はl+1層の入力チャネルの総数CN(l+1)と同じである。また、畳み込み対象の領域をカーネルあるいはフィルタと呼ぶが、このフィルタ領域のサイズをH(1)×H(1)とし、l層、l+1層の各チャネルC(l),C(l+1)に対応するフィルタの行列をF(l),C(l),C(l+1)とする。各C(l)に対応する入力データを
Figure 0006528349
入力チャネルC(l),出力チャネルC(l+1)に対応するフィルタを
Figure 0006528349
とする。
図14に一例を示す。例えばRGBの画像データを想定して考えると、RGBのそれぞれに対してチャネルが必要となり、入力の第l=1層目のチャネルの総数はCN(l=1)=3となる。また、M(1)=3,M(2)=3,CN(2)=2、H(1)=2とする。この場合、
Figure 0006528349
となる。
図14に沿って計算すると
Figure 0006528349
但し、
Figure 0006528349
においてi>M(l)あるいはj>M(l)のときは、
Figure 0006528349
である。
上記に示すように行列のままで畳み込み計算するのは実装が複雑となるので、計算の効率化のために行列X(l),C(l)を長さM(l)×M(l)のベクトルに下記の様に変換したものをx(l),C(l)とする。
Figure 0006528349
一方、畳み込み計算の為に出力データのサイズに合わせてX(l),C(l)を長さM(l+1)×M(l+1)のベクトルに変換したものをxr (l),C(l)とする。ここでrはr回目の畳み込み計算の対象となるベクトルの意味である。例えば最初r=1回目の畳み込み計算の為に生成するベクトルxr=1 (l),C(l)
Figure 0006528349
続いてr=2回目の畳み込み計算の為に生成するベクトルxr=2 (l),C(l)は、
Figure 0006528349
同様の手順で畳み込み計算の計算順序に対応するように行列X(l),C(l)の畳み込み計算領域を順にベクトルに変換し、これを行方向に連結する形で各チャネルC(l)毎にサイズ(H(l)×H(l))×(M(l+1)×M(l+1))の行列xb(l),C(l)を下記の様に生成する。
Figure 0006528349
この行列をチャネル数CN(l)個分行方向に連結させて、下記の様にxb(l)を生成する。

Figure 0006528349
但し、
Figure 0006528349
においてi>M(l)あるいはj>M(l)のときは、
Figure 0006528349
である。
次にxb(l)を用い、そのベクトルの掛け算で計算できるようにF(l),C(l),C(l+1)を長さH(l)×H(l)のベクトルf(l),C(l),C(l+1)に変換し、それをCN(l)個およびCN(l+1)個のチャネル数に順番に対応する様にサイズCN(l+1)×(H(l)×H(l)×CN(l))のフィルタ行列FB(l)を生成する。
Figure 0006528349
このフィルタ行列FB(l)とx(l)の積からxb(l+1)を下記のように計算する。
Figure 0006528349
また、の各行はxb(l+1)の各行は下記の様にx(l+1),C(l+1)と見なすことができる。
Figure 0006528349
一般にCNNの畳み込み層では上記のように計算する。図14の例では、
Figure 0006528349
ここから
Figure 0006528349
を計算する。
次にネットワーク圧縮に関して説明する。H(1)=2,CN(1)=3,CN(2)=4を例にとり、図15にその際のFB(l)を示す。
なお、図15の行列の要素の上付きの添え字のうち、層を示す(l)は簡易化のため割愛している。
CNNに対して本実施形態例のネットワーク圧縮法を、このFB(l)に適用して圧縮する。この圧縮したフィルタ行列を
Figure 0006528349
とする。
例えば図16では圧縮率γ=1/2の例を示している。CNNの場合と同じように掛け算の回数を=1/2まで下げることができる。従来のCNNではその一部である畳み込み層に図14のような計算を行うのに、図17(a)の従来例として示すような計算が必要であった。
すなわち、CN(l+1)・CN(l)・H(l)・H(l)・M(l+1)・M(l+1)回の積が必要であり、この積の回数が演算量を増大させる元になっていた。本実施の形態例では、図16(b)に示すように元々のCN(l+1)×(CN(l)・H(l)・H(l))の行列を、(CN(l+1)・γ)×(CN(l)・H(l)・H(l))までγで示す圧縮率まで圧縮させる。
この例では説明の紙面の都合上、圧縮率はγ=1/2を例にしているが、DNNの場合と同じように圧縮率は数十分の1等のより高い圧縮率の設定も可能である。
この
Figure 0006528349
の行列を使って下記の計算を行う。まず
Figure 0006528349
を以下のように定義する。
Figure 0006528349
また、xb(l)のi列目の部分行列をxb (l)とし、以下の計算をi=1,2,・・・、M(l+1)・M(l+1)に対して行う。
Figure 0006528349
図17(b)の例では、M(l+1)・M(l+1)=9より9回行う。
次に図17(b)に示すように、(CN(l+1)・γ)×(CN(l)・H(l)・H(l))の行列
Figure 0006528349
を、1/γ=2列毎に(CN(l+1)・γ)×1/γの行列
Figure 0006528349
に以下のように分割する。
Figure 0006528349
その上で
Figure 0006528349
に対して異なるルールで成分を置換した行列
Figure 0006528349
との行列の和を下記のように実行する。

Figure 0006528349
この結果、図17の最下段に示すような
Figure 0006528349
の行列
Figure 0006528349
がi=1,2,・・・,M(l+1)・M(l+1)に対応するようにM(l)・M(l)=9個出力される。この行列
Figure 0006528349
を下記の様に各行を列方向に連結させたベクトルに変換し転置をして、
Figure 0006528349
を構成する。これらを用いて、CN(l+1)×(M(l+1)・M(l+1))のxb(l+1)を求める。
Figure 0006528349
上記の例では、
Figure 0006528349
の行列
Figure 0006528349
から
Figure 0006528349

Figure 0006528349
が生成される。
最終的には、CN(l)×(M(l+1)・M(l+1))=4×9の出力行列xb(l+1=2)が得られ、従来と同じノード数の出力行列xb(l+1=2)の演算が実行できる。特に置換した行列
Figure 0006528349
の組み合わせによる行列の和を使うことによりランダム行列に近い特性を実現できる。
結果認識性能や予測性能は、従来例と本実施形態例では僅かな性能差に抑えられる。一方、本実施形態例の場合には、演算量が大きい掛け算の回数はDNNの場合と同様圧縮率γまで下げられる効果がある。これらの実装はソフトウェア上でも実装可能であるが、FPGA等のハードウェアでの実装も可能である。
次に実装例を示す。例えば元々6×9の行列FB(1)で入力信号ベクトル
Figure 0006528349
のベクトル長9のものを対象として圧縮する。γ=1/4とし2×9の行列
Figure 0006528349
とベクトル長9の
Figure 0006528349
2×9の行列の
Figure 0006528349
を使って
Figure 0006528349
ただし、簡易化のために行列
Figure 0006528349
の成分はwi,j、ベクトル
Figure 0006528349
の要素はxと表記している。
ここでは、
Figure 0006528349
とする。
ここで、

Figure 0006528349
の2行目を置換して、下記のように
Figure 0006528349
とする。
Figure 0006528349
また、
Figure 0006528349
の2行目を左側に2列シフトする置換をして、下記のように
Figure 0006528349
とする。
Figure 0006528349
結果
Figure 0006528349
は、以下のように計算する
Figure 0006528349
なお簡易化の為、
Figure 0006528349
とする。
この計算の回路は、図8に示すようにハードウェア化した場合と同様の回路になる。
Figure 0006528349
から
Figure 0006528349
への置換パターンにランダムな置換を用いる場合は、図10と同様の回路になる。
なお、本実施形態例では、
Figure 0006528349
の計算の際に
Figure 0006528349
を置換しない方法を示したが、この部分を置換してもよい。
図18は、本実施形態例の演算処理を実行するフローチャートを、従来のCNNと比較したものである。図18の左側のステップS41〜S51は、従来のCNN実行時のフローチャートであり、図18の右側のステップS61〜S73は本実施形態例のCNN実行時のフローチャートである。本実施形態例の処理は、従来の行列計算部分に適用することができる。
なお、図18のフローチャート中のMax Poolingは、フィルタ出力のある領域の組み合わせで最大値をとる値だけを抽出する機能である。但し、認識のための認識計算(Softmax)等の直前に用いる行列計算等の一部に従来方式を用いてもよい。
まず従来のCNN実行処理を説明すると、画像データなどの入力信号は一般に1画素づつの信号の組み合わせをベクトルとして扱う。
そして、入力ベクトルx(1)とし、畳み込みのルールに合わせた行列xb(1)に変換して、正規化や量子化の前処理が行われる(ステップS41)。
その後、図17(a)で説明したように最初の層l=1のフィルタFB(1)とxb(1)により行列の掛け算FB(1)とxb(1)を実施し(ステップS42)、その後活性化関数fを実行し(ステップS43)、MAX pooling等の処理をして(ステップS44)、次の層l=2のノードのベクトルx(2)を得、xb(2)を構成する。
この処理を繰り返し実行する(ステップS45〜S50)。
図18の例では、例えばl=L層まで繰り返して、最終的にSoftmax等の計算を実施して認識する(ステップS51)。
次に、本実施形態例の処理である、CNNに適用した例(図18の右側)を、説明する。
まず、従来例と同様に入力信号の前処理が行われる(ステップS61)。
そして、行列計算の部分で既に説明したように圧縮したフィルタの行列
Figure 0006528349
を用いて、
Figure 0006528349
の計算を実施し(ステップS62)、その後に、
Figure 0006528349
および
Figure 0006528349
を実行する(ステップS63)。さらに、活性化関数fを実行する(ステップS64)。
次に、MAX pooling等の処理(ステップS65)が行われる。
そして、例えば前処理と活性化関数の実施を含めたl=L−1層まで同様な計算を実行し(ステップS66〜S70)、l=L層のみ圧縮しない行列を用いて計算する(ステップS71〜S72)。
そして、Softmax等の計算を実施して認識する(ステップS73)。
図18の例では、l=L層は圧縮しない行列を用いた方法を示したが、l=L層も圧縮した行列を用いた計算を行ってもよい。
更には本実施形態例の計算は、全体の一部の層のみ適用してもよい。
上記のように重み行列を圧縮しても特性がほとんど変わらない為、計算量が削減できる。フィルタ行列はネットワーク構造の一部を示す表現でもあり、フィルタ行列の圧縮はネットワーク圧縮とみなすことができる。
以上説明した第1実施形態例および第2実施形態例では、DNN、CNNに対するネットワークの圧縮方法を示したが、これらの実施形態例の手法に加えて更に圧縮するようにしてもよい。
次に、第1実施形態例および第2実施形態例の手法に加えて更に圧縮する手法を示す。ここでは第2実施形態例を元に説明する。
第2実施形態例では、CN(l)・H(l)・H(l)=3・2・2=12とし、CN(l+1)=4とした4×12の行列FB(l)を、圧縮率γ=1/2で、2×12の行列
Figure 0006528349
に圧縮する方法を示した。
ここでは更に大きい行列FB(l)を用いて説明する。CN(l)・H(l)・H(l)=64・3・3=576、CN(l+1)=192とする。今、行列の圧縮率をγ=1/16とし、更にその圧縮した行列の中を部分行列にして、部分行列同士が一部の列、または行が重複するように構成することを特徴とする行列にする。具体的な例を図19に示す。圧縮した12×576行列
Figure 0006528349
の中の左上に4×(16・12)の部分行列、真ん中に4×(16・13)の部分行列、右下に4×(16・13)の部分行列を配置する。ここで各部分行列は重複する行は無く、重複する列は存在するものとする。
この例では各部分行列間には1/γ=16列の重複があるものとする。各部分行列の計算は式(6),(7),(8),(9),(10)に従うものとする。この手法により演算量は更に削減され
Figure 0006528349
と約1/50まで削減できる。このような構造にしても式(9)に示すような計算において重みが−1や1の値をとっても同じ方程式の発生を回避できるため、第1の実施の形態例や第2の実施の形態例と同様な効果が期待できる。この演算処理を実装する際には、各部分行列毎に図8や図10に示すような回路構成を用いることで実現できる。
以上のように、DNNでもCNNでも、本発明のネットワーク圧縮法により演算量を圧縮率γと部分行列化に応じて大幅に削減でき、表1に示す様に圧縮してもほぼ同等の正解率を達成することができるため、より低価格で低消費電力のCPU、汎用FPGA等を用いて実装できる効果がある。
また、本実施例ではx(l+1)を求める際重み行列W(l)とベクトルx(l)において重み行列W(l)の各行の成分とベクトルx(l)のすべての要素の積和をとらず、一部の要素の積和をとり方程式が一致しない組み合わせのルールを作る手段をとることで同じ方程式の発生を回避した。この方程式が一致しない組み合わせを生成できる計算であれば、上記方法に限らず適用可能となる。
ここで、本発明の各実施形態例の演算処理を実行する情報処理装置であるコンピュータ装置のハードウェア構成の一例を、図20に示す。
図20に示すコンピュータ装置Cは、バスC8にそれぞれ接続されたCPU(Central Processing Unit:中央処理装置)C1、ROM(Read Only Memory)C2、及びRAM(Random Access Memory)C3を備える。さらに、コンピュータ装置Cは、不揮発性ストレージC4、ネットワークインタフェースC5、入力装置C6、及び表示装置C7を備える。また、必要に応じてFPGA(field-programmable gate array)C9を備えてもよい。
CPU C1は、本例の情報処理システム装置が備える各機能を実現するソフトウェアのプログラムコードをROM C2から読み出して実行する。RAM C3には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。例えば、CPU C1がROM C2に記憶されているプログラムを読み出すことで、既に説明したDNNやCNNの演算処理が実行される。また、FPGA C9にDNNやCNNの一部あるいはすべてを実装して演算処理を実装することも可能である。FPGAを用いた場合には、消費電力を削減や高速な演算が実現できる効果がある。
不揮発性ストレージC4としては、例えば、HDD(Hard disk drive)、SSD(Solid State Drive)等が用いられる。この不揮発性ストレージC4には、OS(Operating System)、各種のパラメータ、DNN又はCNNを実行するプログラムなどが記録されている。
ネットワークインタフェースC5には、端子が接続されたLAN(Local Area Network)、専用線等を介して各種のデータを入出力することが可能である。例えば、DNN又はCNNの演算を行うための入力信号をネットワークインタフェースC5が受信する。また、DNN又はCNNの演算結果を、ネットワークインタフェースC5から外部の端末装置に送信する。
入力装置C6は、キーボードなどで構成される。
表示装置C7には、演算結果などが表示される。
上述した実施形態例ではDNNやCNNの例を示したが、本発明は、一般のニューラルネットワークやリカレントニューラルネットワーク(RNN)等その一部にネットワーク構造を持つ人工知能や機械学習または行列演算により入力データの次元圧縮や圧縮センシングを行うシステムであれば、すべてに対して適用できる。
C…コンピュータ装置、C1…CPU、C2…ROM、C3…RAM、C4…不揮発性ストレージ、C5…ネットワークインタフェース、C6…入力装置、C7…表示装置、C8…バス、C9…FPGA

Claims (6)

  1. 入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理部を備えた情報処理装置において、
    前記演算処理部は、前記ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数を用意し、
    複数の層で演算する場合における少なくとも一部の層において、削減した行数あるいは列数の重み成分と、入力データのベクトルの一部の要素との積和を取り、組み合わせがすべて異なる方程式を構成することを特徴とする
    情報処理装置。
  2. 入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理部を備えた情報処理装置において、
    前記演算処理部は、前記ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数を用意し、
    複数の層で演算する場合における少なくとも一部の層において、削減した行数あるいは列数の重み成分を、入力データのベクトルと掛け算をし、その掛け算をした結果の行列を、一定の列数毎あるいは行数毎の部分行列に分割し、分割して得られた部分行列毎に行列の和を行うことを特徴とする
    情報処理装置。
  3. 前記部分行列毎に任意の置換の操作を加えることを特徴とする
    請求項2に記載の情報処理装置。
  4. 入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理部を備えた情報処理装置において、
    前記演算処理部は、前記ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数を用意し、
    複数の層で演算する場合における少なくとも一部の層において、削減した行数あるいは列数の重み成分と、入力データのベクトルの一部の要素との積和を取り、組み合わせがすべて異なる方程式を構成することを特徴とする
    情報処理方法。
  5. 入力データに対してニューラルネットワークの演算を行うことで、人工知能機能を実現する演算処理方法において、
    複数の層で演算する場合における少なくとも一部の層での演算時のステップとして、
    前記ニューラルネットワークにおけるノード間を結ぶネットワークの計算のための重み行列の行数あるいは列数を、入力データあるいは出力データによって定められる行数あるいは列数から削減した行数あるいは列数とする削減ステップと、
    前記削減ステップで削減した行数あるいは列数の重み成分を、入力データのベクトルと掛け算をする掛け算ステップと、
    前記掛け算ステップで得た結果の行列を、一定の列数毎あるいは行数毎の部分行列に分割する分割ステップと、
    前記分割ステップで分割して得られた部分行列毎に行列の和を行う和演算ステップと、を含むことを特徴とする
    情報処理方法。
  6. 前記部分行列毎に任意の置換の操作を加えることを特徴とする
    請求項5に記載の情報処理方法。
JP2019513862A 2017-11-10 2018-04-03 情報処理装置及び情報処理方法 Active JP6528349B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017217037 2017-11-10
JP2017217037 2017-11-10
PCT/JP2018/014304 WO2019092900A1 (ja) 2017-11-10 2018-04-03 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP6528349B1 true JP6528349B1 (ja) 2019-06-12
JPWO2019092900A1 JPWO2019092900A1 (ja) 2019-11-14

Family

ID=66438112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019513862A Active JP6528349B1 (ja) 2017-11-10 2018-04-03 情報処理装置及び情報処理方法

Country Status (6)

Country Link
US (1) US20200272890A1 (ja)
EP (1) EP3637323A4 (ja)
JP (1) JP6528349B1 (ja)
KR (1) KR20200022386A (ja)
CN (1) CN110770757A (ja)
WO (1) WO2019092900A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102404388B1 (ko) * 2020-03-09 2022-06-02 (주)그린파워 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법
CN111523685B (zh) * 2020-04-22 2022-09-06 中国科学技术大学 基于主动学习的降低性能建模开销的方法
JPWO2021251005A1 (ja) 2020-06-09 2021-12-16

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346914A (ja) * 1992-06-16 1993-12-27 Matsushita Electron Corp ニューロプロセッサ
JP2016066269A (ja) * 2014-09-25 2016-04-28 Kddi株式会社 クラスタリング装置、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346914A (ja) * 1992-06-16 1993-12-27 Matsushita Electron Corp ニューロプロセッサ
JP2016066269A (ja) * 2014-09-25 2016-04-28 Kddi株式会社 クラスタリング装置、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAXIANG WU ET AL., QUANTIZED CONVOLUTIONAL NEURAL NETWORKS FOR MOBILE DEVICES, JPN7019001059, 16 May 2016 (2016-05-16), ISSN: 0004013272 *
松本 渉: "深層学習での演算量削減技術", 三菱電機技報, vol. 第91巻,第6号, JPN6018019900, 20 June 2017 (2017-06-20), pages 51 - 54, ISSN: 0004013271 *

Also Published As

Publication number Publication date
CN110770757A (zh) 2020-02-07
WO2019092900A1 (ja) 2019-05-16
EP3637323A4 (en) 2021-04-14
KR20200022386A (ko) 2020-03-03
US20200272890A1 (en) 2020-08-27
JPWO2019092900A1 (ja) 2019-11-14
EP3637323A1 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
CN107622302B (zh) 用于卷积神经网络的超像素方法
US11645529B2 (en) Sparsifying neural network models
JP7007488B2 (ja) ハードウェアベースのプーリングのシステムおよび方法
JP6528349B1 (ja) 情報処理装置及び情報処理方法
US11328184B2 (en) Image classification and conversion method and device, image processor and training method therefor, and medium
CN111652899A (zh) 一种时空部件图的视频目标分割方法
CN111951167B (zh) 超分辨率图像重建方法、装置、计算机设备和存储介质
US20230153946A1 (en) System and Method for Image Super-Resolution
Ashir et al. Facial expression recognition based on image pyramid and single-branch decision tree
CN113298716B (zh) 基于卷积神经网络的图像超分辨率重建方法
Huang et al. Two-step approach for the restoration of images corrupted by multiplicative noise
JP6902318B2 (ja) ニューラルネットワークの全結合層を畳み込み層に置き換えるプログラム
Fu et al. Learned image compression with gaussian-laplacian-logistic mixture model and concatenated residual modules
CN112085655A (zh) 一种基于密集残差注意面部先验网络的人脸超分辨率方法
CN113436292B (zh) 图像处理方法、图像处理模型的训练方法、装置及设备
CN113362229B (zh) 图像处理模型的训练方法、图像处理方法、装置及设备
JPH06266747A (ja) Dct/逆dct演算装置
WO2021179117A1 (zh) 神经网络通道数搜索方法和装置
Qiao et al. Dcs-risr: Dynamic channel splitting for efficient real-world image super-resolution
WO2020225916A1 (ja) 情報処理装置
CN109345453B (zh) 利用标准化组稀疏规则化的图像超分辨率重构系统及方法
KR102466156B1 (ko) 컨벌루셔널 신경망 연산 방법
TWI771250B (zh) 用於降低資料維度的裝置及方法、用於轉換資料維度的裝置的操作方法
CN110324620B (zh) 帧内预测方法、装置、电子设备及机器可读存储介质
JP7188589B2 (ja) 復元装置、復元方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190311

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190426

R150 Certificate of patent or registration of utility model

Ref document number: 6528349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250