(57)【要約】  データ圧縮装置７０１は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路７１１と、読み出されたデータのデータ圧縮を行うデータ圧縮回路７１２とを備え、読出し回路７１１は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。
2020202313.tif 000002
【特許請求の範囲】
【請求項１】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【請求項２】
前記読出し回路は、一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記データ圧縮回路は、前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項１記載のニューラルネットワークのデータ圧縮装置。
【請求項３】
前記データ圧縮回路は、複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
請求項１記載のニューラルネットワークのデータ圧縮装置。
【請求項４】
前記データ圧縮回路は、ＨＥＶＣ規格に基づく符号化処理を実行する
請求項２または請求項３記載のニューラルネットワークのデータ圧縮装置。
【請求項５】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記データ圧縮回路は、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する差分符号化部とを含む
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【請求項６】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【請求項７】
一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項６記載のニューラルネットワークのデータ圧縮方法。
【請求項８】
複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
請求項６記載のニューラルネットワークのデータ圧縮方法。
【請求項９】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【請求項１０】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる
ためのニューラルネットワークのデータ圧縮プログラム。
【請求項１１】
コンピュータに、
一のチャネルのデータを記憶回路における短冊状の領域に格納する処理と、
前記短冊状の領域に格納されたデータのデータ圧縮を行う処理とを実行させる
請求項１０記載のニューラルネットワークのデータ圧縮プログラム。
【請求項１２】
コンピュータに、
複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う処理を実行させる
請求項１０記載のニューラルネットワークのデータ圧縮プログラム。
【請求項１３】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する処理とを実行させる
ためのニューラルネットワークのデータ圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置およびデータ圧縮方法に関する。
【背景技術】
【０００２】
ニューラルネットワークは、多くの分野で使用されている。ニューラルネットワークにおける演算量、特に、多数の隠れ層を有する多層ニューラルネットワークにおける演算量は膨大であるため、計算能力が高いデータセンタに設置されたサーバや、クラウドサーバで演算が実行される。【０００３】
しかし、ユーザとサーバとの間のトラフィックに輻輳が生じたり、サーバの消費電力が高くなるといった問題が生ずる。そこで、エッジコンピューティングを利用することが考案されている。具体的には、ニューラルネットワークを分割し、分割で生成された１つの部分ニューラルネットワーク（前半ニューラルネットワークという。）の演算をエッジデバイスが実行し、例えばクラウドサーバが他の部分ニューラルネットワーク（後半ニューラルネットワークという。）の演算を実行する（例えば、非特許文献１参照）。その場合、前半ニューラルネットワークにおける最終層の出力である特徴量データが、通信ネットワークを介して、エッジデバイスからクラウドサーバに転送される。なお、非特許文献１では、ニューラルネットワークは畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）であり、前半ニューラルネットワークにおける最終層は、あるプーリング層である。【０００４】
非特許文献１には、エッジデバイスからクラウドサーバに転送されるデータ量を削減するために、特徴量データに対してデータ圧縮処理を施すことが記載されている。データ圧縮処理では、まず、ＨＥＶＣ（High Efficiency Video Coding）規格に基づく符号化が実行可能になるように、小さいサイズのチャネル画像データが複数チャネル存在する特徴量データをタイル状に並べて、大きいサイズのチャネル画像データを１チャネルまたは３チャネルもつ画像データに変換する処理が行われる。その後、ＨＥＶＣ規格に基づく符号化が行われる。【０００５】
図１５は、非特許文献１に記載されている特徴量データのデータ圧縮処理を説明するための説明図である。図１５（ａ）には、複数チャネルからなる特徴量データを、フレームfi, fi+1, fi+2の３フレームそれぞれについて時系列順に並べた様子が示されている。例えば、出力ウィンドウのサイズが縦横ｎ×ｎ（ｎ：２以上の自然数）であり、チャネル数がＫ（Ｋ：２以上の自然数）であるとする。ここで、出力ウィンドウのサイズｎがデータ圧縮処理方式にとって不適である可能性がある。例えば、非特許文献１では、ＨＥＶＣエンコーダはＣＴＵサイズを符号化の最小単位とするため、特徴量データのサイズｎがＣＴＵサイズ以下である場合にはそのままではＨＥＶＣエンコーダを適用できない問題が指摘されている。そのような場合への対応方法として、非特許文献１には、複数チャネル画像をタイル状にまとめて１枚の画像にする方法が示されている。【０００６】
図１５（ｂ）には、各フレームについて、９チャネル分の出力ウィンドウがタイル状に並べられた状態が示されている。タイル状に並べられた複数の出力ウィンドウが１つのフレームと見なされる。そして、そのフレームを対象として符号化が実行される。以下、符号化される前のデータ、すなわち、前半ニューラルネットワークの出力データを中間データという。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】T. Mitani et al.,"Compression and Aggregation for Optimizing Information Transmission in Distributed CNN", IEEE, 2017 fifth International Symposium on Computing and Networking, 19-22 Nov. 2017
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１６は、９チャネル分の出力ウィンドウがタイル状に並べられた状態の１フレームを示す説明図である。図１６において、矢印は、符号化順を示す。ただし、図１６には、第１〜第３出力チャネル（図１６（ｂ）において、１〜３の数字が付された出力チャネル）のみについての符号化順が示されている。また、出力ウィンドウのサイズが３×３である場合が例示されている。【０００９】
例えば、符号化順は、第１出力チャネルの１行目→第２出力チャネルの１行目→第３出力チャネルの１行目→第１出力チャネルの２行目→・・・である。ＣＮＮを例にすると、畳み込み層の出力およびプーリング層の出力は、次層に対する特徴量データとして、メモリに格納される。メモリとしてＲＡＭ（Random Access Memory）が用いられる。一般に、格納アドレスの順序は、第１出力チャネルのデータ→第２出力チャネルのデータ→・・・→第Ｋ出力チャネルのデータである。【００１０】
すなわち、メモリにおけるデータの格納順と符号化順とは、同じではない。すると、メモリへのデータの書き込み順またはメモリからのデータの読み出し順を、符号化順に合わせる処理の実行が求められる。そのような処理が実行されるので、前半ニューラルネットワークにおける処理時間が増加する。また、メモリ管理が複雑になる。換言すれば、前半ニューラルネットワークの処理（符号化処理を含む。）の効率が低下する。【００１１】
本発明は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を効率よく削減することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるニューラルネットワークのデータ圧縮装置は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、読み出されたデータのデータ圧縮を行うデータ圧縮回路とを含み、読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。【００１３】
本発明による他の態様のニューラルネットワークのデータ圧縮装置は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、読み出されたデータのデータ圧縮を行うデータ圧縮回路とを含み、データ圧縮回路は、類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する差分符号化部とを有する。【００１４】
本発明によるニューラルネットワークのデータ圧縮方法は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、読み出されたデータのデータ圧縮を行い、記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。【００１５】
本発明による他の態様のニューラルネットワークのデータ圧縮方法は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、読み出されたデータのデータ圧縮を行い、データ圧縮を行うときに、類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する。【００１６】
本発明によるニューラルネットワークのデータ圧縮プログラムは、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、コンピュータに、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、読み出されたデータのデータ圧縮を行う処理とを実行させ、記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる。【００１７】
本発明による他の態様のニューラルネットワークのデータ圧縮プログラムは、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、コンピュータに、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、読み出されたデータのデータ圧縮を行う処理とを実行させ、データ圧縮を行うときに、類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する処理とを実行させる。
【発明の効果】
【００１８】
本発明によれば、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量が効率よく削減される。
【図面の簡単な説明】
【００１９】
【図１】ニューラルネットワークシステムの一例を示すブロック図である。
【図２】ＣＮＮの一例を示す説明図である。
【図３】第１の実施形態におけるデータ圧縮部の構成例を示すブロック図である。
【図４】第１の実施形態における符号化順序を説明するための説明図である。
【図５】第１の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。
【図６】第２の実施形態におけるデータ圧縮部の構成例を示すブロック図である。
【図７】第２の実施形態における符号化順序を説明するための説明図である。
【図８】第２の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。
【図９】第３の実施形態におけるデータ圧縮部の構成例を示すブロック図である。
【図１０】第３の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。
【図１１】ニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。
【図１２】他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。
【図１３】の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。
【図１４】ＣＰＵを有するコンピュータの一例を示すブロック図である。
【図１５】従来の特徴量データのデータ圧縮処理を説明するための説明図である。
【図１６】９チャネル分の出力ウィンドウがタイル状に並べられた状態の１フレームを示す説明図である。
【発明を実施するための形態】
【００２０】
図１は、ニューラルネットワークシステムの一例を示すブロック図である。ニューラルネットワークシステムは、ニューラルネットワーク装置、通信ネットワーク５００およびクラウドサーバ６００を含む。ニューラルネットワーク装置は、前半ニューラルネットワーク２００、データ圧縮部１００、および送信部４００を含む。
【００２１】
前半ニューラルネットワーク２００は、１つ以上の畳み込み層を含む。なお、ここでは、ニューラルネットワークとして、ＣＮＮを例にする。データ圧縮部１００は、前半ニューラルネットワーク２００が作成した中間データのデータ量を削減するための処理を実行する。送信部４００は、データ圧縮部１００が出力するデータを、通信ネットワーク５００を介してクラウドサーバ６００に送信する。
【００２２】
なお、後半ニューラルネットワークの演算を実行する演算手段としてクラウドサーバ６００を例にするが、演算手段は、クラウドサーバ６００に限られない。演算手段は、例えば、オンプレミスのサーバであってもよい。
【００２３】
前半ニューラルネットワーク２００は、積和演算部２１０、記憶部２２０および選択部２３０を含む。積和演算部２１０は、記憶部２２０に記憶されている特徴量データと重み係数とを用いて畳み込み層の演算を実行し、演算結果を記憶部２２０に格納する。なお、記憶部２２０として、ＲＡＭが用いられる。
【００２４】
選択部２３０は、プーリング層を実現する。すなわち、選択部２３０は、記憶部２２０に格納された積和演算部２１０の所定数の演算結果毎に、１つの演算結果を選択する。選択部２３０は、例えば、所定数の演算結果のうちの最大値を選択する。なお、選択部２３０は、例えば、所定数の演算結果の平均値を選択してもよい。
【００２５】
図２は、ＣＮＮの一例を示す説明図である。図２に示す例では、ＣＮＮは、入力データを対象とする第１畳み込み層、第１プーリング層、第２畳み込み層、第２プーリング層、第３畳み込み層、第４畳み込み層、第５畳み込み層、および第５プーリング層を含む。
【００２６】
そして、前半ニューラルネットワーク２００は、一例として、第１畳み込み層、第１プーリング層、第２畳み込み層、第２プーリング層、第３畳み込み層、第４畳み込み層、第５畳み込み層、および第５プーリング層で構成される。また、後半ニューラルネットワーク３００は、第５プーリング層よりも後の複数の層を含む。
【００２７】
実施形態１．
図３は、第１の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図３に示すデータ圧縮部１００Ａは、読出し回路１１１と符号化部１１２とを有する。なお、データ圧縮部１００Ａは、図１に示されたニューラルネットワーク装置におけるデータ圧縮部１００に相当する。
【００２８】
読出し回路１１１は、記憶部２２０から特徴量データを読み出す。符号化部１１２は、読み出された特徴量データを符号化する。符号化部１１２は、例えば、ＨＥＶＣ規格に基づく符号化を行う。なお、本実施形態では、符号化部１１２は、ＨＥＶＣ規格に基づいて符号化処理を実行するが、ＨＥＶＣ規格に基づく符号化は一例であり、符号化部１１２は、他の符号化方式を用いてもよい。例えば、ＪＶＥＴ（Joint Video Experts Team）で検討されている次世代符号化方式が用いられてもよい。
【００２９】
図４は、本実施形態における符号化順序を説明するための説明図である。本実施形態では、前半ニューラルネットワーク２００の出力データを、チャネル別に独立した動画と見なす。図４（ａ）には、複数チャネルからなる特徴量データが、フレームfi, fi+1, fi+2の３フレームそれぞれについて時系列順に並べられた様子が示されている。例えば、出力ウィンドウのサイズが縦横ｎ×ｎ（ｎ：２以上の自然数）であり、チャネル数がＫ（Ｋ：２以上の自然数）であるとする。ここで、出力ウィンドウのサイズｎがデータ圧縮処理方式にとって不適である可能性がある。上述したように、ＨＥＶＣエンコーダはＣＴＵサイズを符号化の最小単位とするため、特徴量データのサイズｎがＣＴＵサイズ以下である場合にはそのままではＨＥＶＣエンコーダを適用できない。
【００３０】
そこで、図４（ｂ）に示すように、記憶部２２０から読み出されたデータが短冊状に横方向に並べられる。なお、短冊は複数個ある（図４（ｂ）に示す例では４つ）。図４（ｂ）において、数字は、短冊の番号を示す。１つの短冊には、あるフレーム中の同一チャネルのデータが設定される。また、ある短冊へのデータの配列が終了すると、次のチャネルデータが配列される。
【００３１】
次に、データ圧縮部１００Ａの動作を説明する。図５は、データ圧縮部１００Ａの動作の一例を示すフローチャートである。なお、フレーム数をＦ（Ｆ：２以上の自然数）とする。
【００３２】
読出し回路１１１は、まず、フレーム数に関する変数ｆに１を設定し（ステップＳ１０１）、チャネル数に関する変数ｋに１を設定する（ステップＳ１０２）。
【００３３】
読出し回路１１１は、第ｆフレームの第ｋチャネルのデータを記憶部２２０から読み出す（ステップＳ１０３）。なお、出力ウィンドウのサイズが３×３である場合を例にすると、データの読出し順は、第ｆフレームの第１出力チャネルの１行目→第１出力チャネルの２行目→第１出力チャネルの３行目→・・・である。
【００３４】
そして、読出し回路１１１は、記憶回路としての一時記憶部（図示せず）においてデータが短冊状に横方向に並べられるように、読み出されたデータを格納する。そして、読出し回路１１１は、ｋの値を１増やす（ステップＳ１０４）。なお、一時記憶部は、読出し回路１１１に内蔵されるか、または、読出し回路１１１と符号化部１１２との間に設けられる。
【００３５】
ｋの値がＫを越えている場合には（ステップＳ１０５）、全チャネルのデータについて読出しが完了したことになるので、符号化部１１２は、一時記憶部に格納されているデータについて符号化処理を実行する（ステップＳ１０６）。ｋの値がＫを越えていないときには、ステップＳ１０３に戻る。
【００３６】
ステップＳ１０６の処理が実行された後、読出し回路１１１は、ｆの値を１増やす（ステップＳ１０７）。ｆの値がＦを越えていないときには（ステップＳ１０８）、ステップＳ１０２に戻る。
【００３７】
ｆの値がＦを越えている場合には、処理を終了する。
【００３８】
本実施形態では、フレーム毎に複数チャネルのデータがまとめて１つの画像と見なされる。なお、図５に示された例では、フレーム毎に全チャネルのデータがまとめて１つの画像と見なされるが、データ圧縮部１００Ａは、全チャネル数よりも少ない数の所定数のチャネルのデータをまとめて１つの画像と見なすようにしてもよい。
【００３９】
そして、本実施形態では、データを記憶部２２０から読み出された同じチャネルのデータが横方向に短冊状に配置された後に、符号化処理が実行される。そして、記憶部２２０からのデータの読出し順は、記憶部２２０におけるデータの格納順（アドレス順）と整合している。したがって、記憶部２２０へのデータの書き込み順または記憶部２２０からのデータの読み出し順を、符号化順に合わせる処理の実行が不要になる。その結果、前半ニューラルネットワークの処理（符号化処理を含む。）の効率の低下が抑制される。
【００４０】
実施形態２．
図６は、第２の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図６に示すデータ圧縮部１００Ｂは、読出し回路１１３と符号化部１１２とを有する。なお、データ圧縮部１００Ｂは、図１に示されたニューラルネットワーク装置におけるデータ圧縮部１００に相当する。
【００４１】
読出し回路１１３は、記憶部２２０から特徴量データを読み出す。符号化部１１２は、読み出された特徴量データを符号化する。符号化部１１２は、例えば、ＨＥＶＣ規格に基づく符号化を行う。なお、本実施形態では、符号化部１１２は、ＨＥＶＣ規格に基づいて符号化処理を実行するが、ＨＥＶＣ規格に基づく符号化は一例であり、符号化部１１２は、他の符号化方式を用いてもよい。
【００４２】
図７は、本実施形態における符号化順序を説明するための説明図である。本実施形態では、前半ニューラルネットワーク２００の出力データを、チャネル別に独立した動画と見なす。図７（ａ）には、１フレームの出力がチャネル別に独立した動画と見なされる様子が示されている。例えば、出力ウィンドウのサイズが縦横ｎ×ｎ（ｎ：２以上の自然数）であり、チャネル数がＫ（Ｋ：２以上の自然数）であるとすると、ｎ×ｎの動画がＫ種類あると見なされる。上述したように、ＨＥＶＣエンコーダを適用するためにはｎがＣＴＵサイズ以上である必要がある。本実施形態では、ｎがＣＴＵサイズ以上であることが前提である。
【００４３】
本実施形態では、図７（ｂ）に示すように、全てのフレームの同一チャネルの出力データが、１つの映像と見なされる。そして、各映像の各々が独立して符号化される。なお、図７（ｂ）には、各々の画像の符号化データが、第ｋビットストリーム（ｋ：１〜Ｋ）として表現されている。
【００４４】
次に、データ圧縮部１００Ｂの動作を説明する。図８は、データ圧縮部１００Ｂの動作の一例を示すフローチャートである。なお、フレーム数をＦ（Ｆ：２以上の自然数）とする。また、前半ニューラルネットワーク２００が、Ｋチャネルのデータを出力する場合を例にする。
【００４５】
読出し回路１１３は、まず、チャネル数に関する変数ｋに１を設定し（ステップＳ２０１）、フレーム数に関する変数ｆに１を設定する（ステップＳ２０２）。
【００４６】
読出し回路１１３は、第ｋチャネルの第ｆフレームのデータを記憶部２２０から読み出す（ステップＳ２０３）。なお、出力ウィンドウのサイズが３×３である場合を例にすると、データの読出し順は、第１の実施形態の場合と同様、第１フレームの第１出力チャネルの１行目→第１出力チャネルの２行目→第１出力チャネルの３行目→第２フレームの第１出力チャネルの１行目→・・・である。
【００４７】
そして、読出し回路１１３は、ｆの値を１増やす（ステップＳ２０４）。ｆの値がＦを越えていないときには（ステップＳ２０５）、ステップＳ２０３に戻る。
【００４８】
ｆの値がＦを越えている場合には、１チャネル分の全てのデータが一時記憶部に格納されたことになる。符号化部１１２は、一時記憶部に格納されているデータについて符号化処理を実行する（ステップＳ２０７）。すなわち、符号化部１１２は、１つのチャネルの全データ（１つの映像と見なされる。）を対象として符号化処理を実行する。
【００４９】
次いで、読出し回路１１３は、ｋの値を１増やす（ステップＳ２０８）。ｋの値がＫを越えている場合には、全チャネルのデータについて処理が完了したことになるので、データ圧縮部１００Ｂは、処理を終了する（ステップＳ２０９）。ｋの値がＫを越えていないときには、ステップＳ２０２に戻る。
【００５０】
本実施形態では、特徴量データがチャネル毎に別々の動画として扱われ、動画エンコーダ（例えば、ＨＥＶＣエンコーダ）により圧縮される。１つのチャネルは、入力画像のもつ特徴のうちの一つを抽出した画像であると捉えることができる。よって、各フレームから同一チャネルのみを抽出して得た動画（第ｋビットストリーム）は、入力画像列と同様に、時間的局所性（類似性）を持っていることが期待される。例えば、フレームfiのチャネル１の特徴量画像と、フレームfi+1のチャネル１の特徴量画像とは、大部分が同一であることが期待される。よって、ＨＥＶＣエンコーダが持つ、入力画像列の時間的局所性を活用して高効率に圧縮を行うアルゴリズムの効果を、有効に活用することができる。
【００５１】
実施形態３．
図９は、第３の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図９に示すデータ圧縮部１００Ｃは、読出し回路１１４と符号化部１１５と差分符号化部１１６とを有する。なお、データ圧縮部１００Ｃは、図１に示されたニューラルネットワーク装置におけるデータ圧縮部１００に相当する。
【００５２】
本実施形態では、データ圧縮部１００Ｃは、類似しているチャネルを指定する類似チャネル情報を入力する。ＣＮＮで取り扱うデータの種類等に応じて、あるチャネルの出力データに類似する出力データを含む他のチャネルは、学習済みのＣＮＮについて相当程度で把握可能である。以下、出力データが類似する複数のチャネルを、類似チャネルという。例えば、画像データが扱われる場合には、類似する画像特徴に相当する複数の類似チャネルは、事前に（ニューラルネットワークの処理が実行する前に）、決定可能である。類似チャネル情報は、事前に決定された２つ以上の類似チャネルを示す情報である。
【００５３】
符号化部１１５は、２つ以上の類似チャネルのうちの一のチャネルのデータを符号化する。差分符号化部１１６は、他の類似チャネルのデータの、一のチャネルのデータとの差分を符号化する。
【００５４】
次に、データ圧縮部１００Ｃの動作を説明する。図１０は、データ圧縮部１００Ｂの動作の一例を示すフローチャートである。
【００５５】
読出し回路１１４は、外部から類似チャネル情報を入力する（ステップＳ３０１）。そして、読出し回路１１４は、類似チャネル情報が示す２つ以上の類似チャネルのうちの一のチャネルのデータを記憶部２２０から読み出す（ステップＳ３０２）。
【００５６】
符号化部１１５は、読み出された一のチャネルのデータを符号化する（ステップＳ３０３）。なお、符号化部１１５は、データ量を減らせるのであれば、どのような符号化方式を用いてもよい。例えば、データを２ｎ（ｎ：自然数）になるように量子化した後周波数変換する符号化方式を使用できる。また、ＨＥＶＣなどの予測符号化方式を使用できる。
【００５７】
読出し回路１１４は、２つ以上の類似チャネルのうちの他のチャネルのデータを記憶部２２０から読み出す（ステップＳ３０４）。差分符号化部１１６は、読み出された他のチャネルのデータと一のチャネルのデータとの差分を算出する。そして、差分符号化部１１６は、差分を符号化する。差分符号化部１１６は、データ量を減らせるのであれば、どのような符号化方式を用いてもよい。例えば、差分符号化部１１６は、ランレングス符号化またはハフマン符号化を使用できる。
【００５８】
全てのチャネルの出力データについて符号化部１１５または差分符号化部１１６による符号化処理が実行されたら処理を終了する。符号化処理がなされていないチャネルが未だ残っている場合には、ステップＳ３０２に移行する。
【００５９】
本実施形態では、一のチャネルのデータに類似するデータのチャネルのデータに関して、一のチャネルのデータ（類似するチャネルのデータ）との差分のデータがクラウドサーバ６００に送信されるので、第１の実施形態および第２の実施形態の場合と同様、送信データ量を効果的に削減することができる。
【００６０】
なお、上記の各実施形態では、ＣＮＮを例にしたが、各実施形態を、ＣＮＮ以外の多層のニューラルネットワークに適用することも可能である。
【００６１】
図１１は、ニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図１１に示すデータ圧縮装置７０１は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワーク（例えば、前半ニューラルネットワーク２００）の出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部（例えば、記憶部２２０）からデータを読み出す読出し回路７１１（例えば、読出し回路１１１，１１３）と、読み出されたデータのデータ圧縮を行うデータ圧縮回路７１２（例えば、符号化部１１２）とを備え、読出し回路７１１は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。
【００６２】
図１２は、他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図１２に示すデータ圧縮装置７０１において、読出し回路７１１は、一のチャネルのデータを記憶回路７１３における短冊状の領域に格納し、データ圧縮回路７１２は、短冊状の領域に格納されたデータのデータ圧縮を行う。
【００６３】
図１３は、さらに他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図１３に示すデータ圧縮装置７０２は、１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路７１１（例えば、読出し回路１１４）と、読み出されたデータのデータ圧縮を行うデータ圧縮回路７１４とを備え、データ圧縮回路７１４は、類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部７１５（例えば、符号化部１１５）と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する差分符号化部７１６（例えば、差分符号化部１１６）とを有する。
【００６４】
図１４は、ＣＰＵ（Central Processing Unit ）を有するコンピュータの一例を示すブロック図である。ＣＰＵ１０００は、記憶装置１００１に格納されデータ圧縮プログラムに従って処理を実行することによって、上記の実施形態における各機能を実現する。
【００６５】
すなわち、ＣＰＵ１０００は、図３に示された読出し回路１１１および符号化部１１２の機能を実現する。また、ＣＰＵ１０００は、図６に示された読出し回路１１３および符号化部１１２の機能を実現可能である。さらに、ＣＰＵ１０００は、図９に示された読出し回路１１４、符号化部１１５および差分符号化部１１６の機能を実現可能である。また、図１１〜図１３に示されたデータ圧縮装置７０１，７０２の機能（記憶回路７１３を除く。）を実現可能である。
【００６６】
記憶装置１００１は、例えば、非一時的なコンピュータ可読媒体（non-transitory computer readable medium ）である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium ）を含む。非一時的なコンピュータ可読媒体の具体例として、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM ）、フラッシュＲＯＭ）がある。
【００６７】
メモリ１００２は、例えばＲＡＭ（Random Access Memory）で実現され、ＣＰＵ１０００が処理を実行するときに一時的にデータを格納する記憶手段である。なお、図１２に示された記憶回路７１３は、メモリ１００２で実現可能である。
【００６８】
上記の実施形態の一部または全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。
【００６９】
（付記１）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【００７０】
（付記２）前記読出し回路は、一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記データ圧縮回路は、前記短冊状の領域に格納されたデータのデータ圧縮を行う
付記１のニューラルネットワークのデータ圧縮装置。
【００７１】
（付記３）前記データ圧縮回路は、複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
付記１のニューラルネットワークのデータ圧縮装置。
【００７２】
（付記４）前記データ圧縮回路は、ＨＥＶＣ規格に基づく符号化処理を実行する
付記２または付記３のニューラルネットワークのデータ圧縮装置。
【００７３】
（付記５）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記データ圧縮回路は、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する差分符号化部とを含む
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【００７４】
（付記６）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【００７５】
（付記７）一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記短冊状の領域に格納されたデータのデータ圧縮を行う
付記６のニューラルネットワークのデータ圧縮方法。
【００７６】
（付記８）複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
付記６のニューラルネットワークのデータ圧縮方法。
【００７７】
（付記９）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【００７８】
（付記１０）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる
ためのニューラルネットワークのデータ圧縮プログラム。
【００７９】
（付記１１）コンピュータに、
一のチャネルのデータを記憶回路における短冊状の領域に格納する処理と、
前記短冊状の領域に格納されたデータのデータ圧縮を行う処理とを実行させる
付記１０のニューラルネットワークのデータ圧縮プログラム。
【００８０】
（付記１２）コンピュータに、
複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う処理を実行させる
付記１０のニューラルネットワークのデータ圧縮プログラム。
【００８１】
（付記１３）１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する処理とを実行させる
ためのニューラルネットワークのデータ圧縮プログラム。
【符号の説明】
【００８２】
１００，１００Ａ，１００Ｂ，１００Ｃ  データ圧縮部
１１１，１１３，１１４  読出し回路
１１２，１１５  符号化部
１１６    差分符号化部
２００    前半ニューラルネットワーク
２１０    積和演算部
２２０    記憶部
２３０    選択部
４００    送信部
５００    通信ネットワーク
６００    クラウドサーバ
７０１，７０２  データ圧縮装置
７１１    読出し回路
７１２，７１４  データ圧縮回路
７１３    記憶回路
７１５    符号化部
７１６    差分符号化部
１０００  ＣＰＵ
１００１  記憶装置
１００２  メモリ
【図１】
2020202313.tif 000003
【図２】
2020202313.tif 000004
【図３】
2020202313.tif 000005
【図４】
2020202313.tif 000006
【図５】
2020202313.tif 000007
【図６】
2020202313.tif 000008
【図７】
2020202313.tif 000009
【図８】
2020202313.tif 000010
【図９】
2020202313.tif 000011
【図１０】
2020202313.tif 000012
【図１１】
2020202313.tif 000013
【図１２】
2020202313.tif 000014
【図１３】
2020202313.tif 000015
【図１４】
2020202313.tif 000016
【図１５】
2020202313.tif 000017
【図１６】
2020202313.tif 000018
【手続補正書】
【提出日】令和3年5月17日(2021.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【請求項２】
前記読出し回路は、一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記データ圧縮回路は、前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項１記載のニューラルネットワークのデータ圧縮装置。
【請求項３】
前記データ圧縮回路は、複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
請求項１記載のニューラルネットワークのデータ圧縮装置。
【請求項４】
前記データ圧縮回路は、ＨＥＶＣ規格に基づく符号化処理を実行する
請求項２または請求項３記載のニューラルネットワークのデータ圧縮装置。
【請求項５】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記データ圧縮回路は、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する差分符号化部とを含む
ことを特徴とするニューラルネットワークのデータ圧縮装置。
【請求項６】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【請求項７】
一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項６記載のニューラルネットワークのデータ圧縮方法。
【請求項８】
複数チャネルの各々のチャネルの複数のデータを１つの映像と見なしてデータ圧縮を行う
請求項６記載のニューラルネットワークのデータ圧縮方法。
【請求項９】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している２つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する
ことを特徴とするニューラルネットワークのデータ圧縮方法。
【請求項１０】
１つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる
ためのニューラルネットワークのデータ圧縮プログラム。
【国際調査報告】
2020202313.tif 000019
2020202313.tif 000020
2020202313.tif 000021
2020202313.tif 000022
2020202313.tif 000023
2020202313.tif 000024
2020202313.tif 000025