特許第6789894号(P6789894)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特許6789894ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム
<>
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000003
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000004
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000005
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000006
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000007
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000008
  • 特許6789894-ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6789894
(24)【登録日】2020年11月6日
(45)【発行日】2020年11月25日
(54)【発明の名称】ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム
(51)【国際特許分類】
   G06N 3/08 20060101AFI20201116BHJP
   G06T 7/00 20170101ALI20201116BHJP
【FI】
   G06N3/08
   G06T7/00 350C
【請求項の数】8
【全頁数】11
(21)【出願番号】特願2017-147769(P2017-147769)
(22)【出願日】2017年7月31日
(65)【公開番号】特開2019-28746(P2019-28746A)
(43)【公開日】2019年2月21日
【審査請求日】2019年8月16日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】浅野 渉
(72)【発明者】
【氏名】松尾 琢也
【審査官】 杉浦 孝光
(56)【参考文献】
【文献】 米国特許出願公開第2016/0078339(US,A1)
【文献】 特表2017−531255(JP,A)
【文献】 HAN, Song, et al.,DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUATIZATION AND HUFFMAN CODING,arXiv,2016年 2月15日,pp.1-14,URL,https://arxiv.org/abs/1510.00149
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論ステップと、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習ステップと、を含み、
前記学習ステップは、
前記非可逆圧縮を実行する圧縮ステップと、
前記圧縮されたネットワーク係数を伸張する伸張ステップと、
前記伸張されたネットワーク係数を、前記教師データを用いて更新する更新ステップと、を含む、
ットワーク係数圧縮方法。
【請求項2】
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論部と、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習部と、を備え、
前記学習部は、
前記非可逆圧縮を実行する圧縮部と、
前記圧縮されたネットワーク係数を伸張する伸張部と、
前記伸張されたネットワーク係数を、前記教師データを用いて更新する更新部と、を備える、
ットワーク係数圧縮装置。
【請求項3】
前記ネットワーク係数は、重み係数、および、バイアスの少なくとも一方である、
請求項2に記載のネットワーク係数圧縮装置。
【請求項4】
前記非可逆圧縮は、量子化処理である、
請求項2に記載のネットワーク係数圧縮装置。
【請求項5】
前記学習部は、エポックおよびバッチを含む予め定められた単位で前記非可逆圧縮を実行する、
請求項2に記載のネットワーク係数圧縮装置。
【請求項6】
前記出力値は、前記出力層の尤度である、
請求項2に記載のネットワーク係数圧縮装置。
【請求項7】
前記入力データは、ランダム信号である、
請求項2に記載のネットワーク係数圧縮装置。
【請求項8】
コンピュータを、
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論部と、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習部、として機能させ、
前記学習部は、
前記非可逆圧縮を実行する圧縮部と、
前記圧縮されたネットワーク係数を伸張する伸張部と、
前記伸張されたネットワーク係数を、前記教師データを用いて更新する更新部と、を備える、
ログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラムに関する。
【背景技術】
【0002】
近年、多層のニューラルネットワーク(ディープニューラルネットワーク)が広く利用されるようになってきており、ネットワーク係数(重み係数、バイアスなど)の個数が非常に増大している。このようなニューラルネットワークを用いて推論を行う際には、ネットワーク係数のデータサイズが膨大となる。この結果、ネットワーク係数を保存するメモリとして大容量のメモリが必要となったり、ニューラルネットワークの各層の出力値の演算を行う演算部とメモリとの間のメモリバンド幅が逼迫したりする。このため、ネットワーク係数のデータ量の削減が求められている。
【0003】
例えば、重み係数の量子化、重み係数の枝刈り、および、ハフマン符号を用いた圧縮を行って、データ量を削減する技術が提案されている。この技術では、量子化および枝刈り処理を学習中に行うことで、圧縮による認識等のタスクの性能への影響を抑えている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016−029568号公報
【非特許文献】
【0005】
【非特許文献1】“Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding”, arXiv:1510.00149
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術では、圧縮を伴う学習時に、元のニューラルネットワークを学習した際に用いた学習データとラベルのセットが必要となるため、実行できる環境が限られるという問題があった。
【課題を解決するための手段】
【0007】
実施形態のネットワーク係数圧縮装置は、推論部と、学習部と、を備える。推論部は、学習されたニューラルネットワークの入力層に入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。学習部は、ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、入力データと出力値を教師データとしてネットワーク係数を学習し、圧縮されたネットワーク係数を生成する。
【図面の簡単な説明】
【0008】
図1】第1の実施形態にかかるネットワーク係数圧縮装置のブロック図。
図2】ニューラルネットワークの構成例を示す図。
図3】第1の実施形態におけるネットワーク係数圧縮処理のフローチャート。
図4】第2の実施形態の学習部のブロック図。
図5】第2の実施形態におけるネットワーク係数圧縮処理のフローチャート。
図6】第3の実施形態の認識装置のブロック図。
図7】第1から第3の実施形態にかかるネットワーク係数圧縮装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかるネットワーク係数圧縮装置の好適な実施形態を詳細に説明する。
【0010】
(第1の実施形態)
第1の実施形態にかかるネットワーク係数圧縮装置は、学習済みのニューラルネットワークの推論結果を教師データとして用いて、学習中にネットワーク係数(重み係数、バイアスなど)を圧縮する。これにより、認識等のタスクの性能低下を抑えつつ、高圧縮率を実現可能となる。
【0011】
図1は、第1の実施形態にかかるネットワーク係数圧縮装置100の構成の一例を示すブロック図である。図1に示すように、ネットワーク係数圧縮装置100は、推論部101と、学習部110と、を備えている。
【0012】
学習済みネットワーク係数121、仮の入力データ122、出力値123、および、圧縮済みネットワーク係数124は、ネットワーク係数圧縮装置100による各処理で入出力されるデータである。これらのデータは、例えば、ネットワーク係数圧縮装置100の内部または外部の記憶部に記憶される。この記憶部は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。記憶部は、物理的に異なる記憶媒体としてもよいし、物理的に同一の記憶媒体の異なる記憶領域として実現してもよい。さらに記憶部は、物理的に異なる複数の記憶媒体により実現してもよい。
【0013】
上記各部(推論部、学習部)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0014】
推論部101は、学習済みのニューラルネットワークを用いた推論(推定)を行う。例えば推論部101は、学習されたニューラルネットワークの入力層に仮の入力データを入力し、入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。出力された出力値が、学習されたニューラルネットワークにより推論された出力値に相当する。
【0015】
学習部110は、仮の入力データと仮の入力データに対応する出力値とを教師データとして、学習済みのニューラルネットワークのネットワーク係数の非可逆圧縮および学習を行い、圧縮されたネットワーク係数を生成して出力する。圧縮するネットワーク係数は、例えば、重み係数およびバイアスの少なくとも一方である。非可逆圧縮は、例えば量子化処理である。量子化などの非可逆圧縮を行った場合、認識等のタスクの性能が低下する可能性がある。本実施形態のように非可逆圧縮を行いながらネットワーク係数を学習することにより、タスクの性能の低下を抑制することが可能となる。
【0016】
ここで、ニューラルネットワークの構成例について説明する。図2は、ニューラルネットワークの構成例を示す図である。
【0017】
ニューラルネットワークは、脳機能に見られる幾つかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである。ニューラルネットワークは、一般的に外部からの情報を受け取る入力ユニットを含む入力層、外部へ情報を出力する出力ユニットを含む出力層、および、入力層と出力層の間に位置するユニットを含む一または複数の隠れ層(中間層)を有する。
【0018】
図2では、各円がユニットを表している。各ユニットは、他の層の複数のユニットから情報を受け取り何らかの処理をした後に情報を出力している。一般的に、(n+1)層のj番目のユニットの出力値Un+1,jは以下の(1)式で表される。Wn,i,jは重み係数、Bn,jはバイアス、f()は活性化関数である。Un,iは、n層のi番目のユニットの出力値を表す。
【数1】
【0019】
ニューラルネットワークの学習フェーズでは、適切な出力値が得られるように重み係数およびバイアスが更新される。推論フェーズでは、学習フェーズで得た重み係数およびバイアスを用いて出力値が算出される。
【0020】
次に、このように構成された第1の実施形態にかかるネットワーク係数圧縮装置100によるネットワーク係数圧縮処理について図3を用いて説明する。図3は、第1の実施形態におけるネットワーク係数圧縮処理の一例を示すフローチャートである。
【0021】
推論部101は、仮の入力データの入力を受け付ける(ステップS101)。仮の入力データは、ランダム信号などの人工的な信号であってもよいし、対象とするネットワークに入力されることが想定される画像データ、音データ、および、テキストデータなどを用いてもよい。利用可能であれば元のネットワークの学習時に用いた学習データを入力データとして用いてもよい。
【0022】
推論部101は、仮の入力データに対して、学習済みのネットワーク係数(重み係数、バイアスなど)を用いてニューラルネットワークの推論を行い、入力データに対応する隠れ層および出力層の各ユニットの出力値を1つ以上取得する(ステップS102)。出力値は、例えば、上記(1)式のUn+1,jである。出力層にソフトマックス処理を施して得られる尤度などを出力値としてもよい。
【0023】
推論部101は、推論処理の回数(推論回数)が閾値(推論回数の閾値)を超えたか否かを判定する(ステップS103)。推論回数が閾値を超えていない場合(ステップS103:No)、ステップS101に戻り処理を繰り返す。推論処理を繰り返すことにより、所望の数の入力データと出力値の組を取得することができる。
【0024】
なお、入力データと出力値との組を取得するための処理(ステップS101からステップS103)は、圧縮処理以降(ステップS104からステップS106)を実行する前までに完了していればよい。すなわち、ステップS101からステップS103と、ステップS104からステップS106とは連続的に実行する必要はない。
【0025】
推論回数が閾値を超えた場合(ステップS103:Yes)、学習部110は、取得された入力データと出力値の組を教師データとして、学習済みネットワーク係数の圧縮および学習を行う(ステップS104)。学習部110は、学習しながら圧縮を行う方法であれば、任意の方法により実現できる。これにより、圧縮を学習中に行うことができるため、圧縮による認識等のタスクの性能への影響を抑えることができる。
【0026】
学習部110は、学習処理の回数(学習回数)が閾値(学習回数の閾値)を超えたか否かを判定する(ステップS105)。学習回数が閾値を超えていない場合(ステップS105:No)、ステップS104に戻り処理を繰り返す。学習回数が閾値を超えた場合(ステップS105:Yes)、学習部110は、圧縮されたネットワーク係数を表すビットストリーム(ネットワーク係数ストリーム)を生成して出力する(ステップS106)。
【0027】
このように、第1の実施形態にかかるネットワーク係数圧縮装置では、仮の入力データと、この入力データに対する学習済みのニューラルネットワークの出力値とを教師データとすることで、元のネットワークの学習時に用いた学習データセットを必要とせずに、ネットワーク係数の圧縮および学習が可能となる。
【0028】
(第2の実施形態)
第2の実施形態では、ネットワーク係数の圧縮および更新をさらに具体化した例を説明する。第2の実施形態にかかるネットワーク係数圧縮装置の全体の構成は第1の実施形態と同様である。第2の実施形態では、学習部110−2の構成が第1の実施形態の学習部110と異なる。以下では、学習部110−2の構成および機能について主に説明する。
【0029】
図4は、学習部110−2の詳細構成の一例を示すブロック図である。学習部110−2は、圧縮部111と、伸張部112と、更新部113と、生成部114と、を有する。
【0030】
圧縮部111は、ネットワーク係数の非可逆圧縮を行う。非可逆圧縮は、例えば、線形量子化、および、非線形量子化である。圧縮部111は、量子化ビット数、量子化ステップ幅、量子化オフセット、および、代表値などの量子化パラメータに従い、ネットワーク係数を量子化する。
【0031】
伸張部112は、圧縮されたネットワーク係数を伸張し、更新部113へと出力する。伸張部112は、圧縮部111による圧縮処理に対応する伸張処理により、圧縮されたネットワーク係数を伸張する。例えば圧縮部111が量子化を行う場合、伸張部112は、この量子化に対応する逆量子化を行う。
【0032】
なお、圧縮前のネットワーク係数は、例えば、浮動小数点(16ビット、32ビット、64ビット)、および、固定小数点(8ビット)である。圧縮(量子化)によりネットワーク係数のビット数は小さくなる。伸張部112は、圧縮前のネットワーク係数のビット数となるように伸張処理を実行する。
【0033】
更新部113は、推論部101で使用された仮の入力データとその入力データに対する出力値を教師データとして、機械学習の手法を用いて、ネットワーク係数を更新する。機械学習の手法としては、誤差逆伝播法(バックプロパゲーション)などの任意の手法を適用できる。
【0034】
通常の教師あり学習ではラベルを教師とするが、本実施形態では推論部101で使用した仮の入力データの出力値を教師とする。このため、圧縮前のネットワーク学習時に用いたデータセットが利用できなくても教師ありのデータセットを自前で用意することができる。また、ラベルでは無く複数のユニットの出力値を用いることで、圧縮前のネットワークとの誤差を正確に計算でき、圧縮前のネットワークの出力に近づけるように係数を更新することができる。
【0035】
生成部114は、圧縮されたネットワーク係数からネットワーク係数ストリームを生成して出力する。量子化による圧縮の場合、生成部114は、量子化ビット数、量子化ステップ幅、量子化オフセット、および、量子化テーブルなどを必要に応じてヘッダ情報として符号化する。また生成部114は、量子化値については、ハフマン符号および算術符号化などのエントロピー符号化を行ってもよい。
【0036】
次に、このように構成された第2の実施形態にかかるネットワーク係数圧縮装置によるネットワーク係数圧縮処理について図5を用いて説明する。図5は、第2の実施形態におけるネットワーク係数圧縮処理の一例を示すフローチャートである。
【0037】
ステップS201からステップS203までは、第1の実施形態にかかるネットワーク係数圧縮装置100におけるステップS101からステップS103までと同様の処理なので、その説明を省略する。
【0038】
圧縮部111は、学習済みのネットワーク係数の非可逆圧縮を行う(ステップS204)。圧縮部111は、すべてのネットワーク係数に対して共通の量子化パラメータを用いてもよいし、予め定められた単位ごとに量子化パラメータを切り替えてもよい。予め定められた単位は、例えば、1つの層、複数の層、1つのユニット、および、複数のユニット、などである。圧縮処理はすべての層で行ってもよいし、一部の層のみで行ってもよい。また、各層に対する圧縮は常に行う必要はなく、繰り返しの各回で相互に異なる層を圧縮してもよい。例えば圧縮部111は、ある層については繰り返しの途中から圧縮してもよいし、繰り返しの各回で交互に圧縮する層を切り替えてもよい。
【0039】
圧縮部111は、圧縮回数が閾値を超えたか否かを判定する(ステップS205)。圧縮回数が閾値を超えていない場合(ステップS205:No)、伸張部112は、圧縮されたネットワーク係数を元のビット数の信号に伸張する(ステップS206)。
【0040】
次に更新部113は、誤差逆伝播法などの機械学習の手法を用いて、伸張されたネットワーク係数を更新する(ステップS207)。更新部113は、更新処理の回数(更新回数)が閾値(更新回数の閾値)を超えたか否かを判定する(ステップS208)。
【0041】
更新回数が閾値を超えていない場合(ステップS208:No)、更新部113は、ステップS207に戻り処理を繰り返す。更新回数が閾値を超えた場合(ステップS208:Yes)、ステップS204に戻り、さらに圧縮処理が繰り返される。
【0042】
更新回数は、例えば、学習データが一周する単位(エポック)で圧縮処理が実行されるように定められる。更新回数の決定方法はこれに限られず、任意の方法を適用できる。例えば、エポックの半分で圧縮処理が実行されるように定めてもよい。また、繰り返しを行わず、係数を更新するごと(バッチごと)に圧縮を行ってもよい。このように、学習部110−2(圧縮部111)は、エポックおよびバッチを含む予め定められた単位で非可逆圧縮を実行してもよい。
【0043】
圧縮回数が閾値を超えた場合(ステップS205:Yes)、生成部114は、圧縮されたネットワーク係数のストリーム(ネットワーク係数ストリーム)を生成して出力する(ステップS209)。
【0044】
第2の実施形態の学習部110−2によれば、圧縮前のニューラルネットワークでの出力を教師データとして圧縮したネットワーク係数の更新を行うことで、圧縮前のニューラルネットワークに近い出力が得られる、圧縮されたネットワーク係数を学習により得ることができる。このため、認識等のタスクの性能への影響を抑えつつ圧縮率を高めることが可能となる。
【0045】
(変形例)
学習部110−2(圧縮部111)による圧縮方法は上記に限られるものではない。圧縮部111は、例えば、学習済みネットワーク係数を複数のグループに分割し、同じグループに属するネットワーク係数については共通の値となるように圧縮してもよい。この場合、更新部113は、同じグループに属するネットワーク係数については同じ更新幅を用いて更新してもよい。このような圧縮方法であっても、仮の入力データと、この入力データに対する出力値の組を教師データとしてネットワーク係数の圧縮を含む学習が可能である。
【0046】
(第3の実施形態)
第3の実施形態では、上記実施形態のネットワーク係数圧縮装置により圧縮されるニューラルネットワークを用いたタスクを実行する装置について説明する。以下では、第1の実施形態のネットワーク係数圧縮装置100を含み、ニューラルネットワークを用いた認識処理を実行する認識装置500の例を説明する。第1の実施形態のネットワーク係数圧縮装置100の代わりに第2の実施形態のネットワーク係数圧縮装置を含むように構成してもよい。また、適用可能なタスクは認識処理に限られず、回帰分析などのニューラルネットワークを用いた任意のタスクに適用できる。
【0047】
図6は、第3の実施形態の認識装置500の構成の一例を示すブロック図である。認識装置500は、ネットワーク係数圧縮装置100と、記憶部200と、認識部300と、を有する。
【0048】
記憶部200は、圧縮する前の学習済みネットワーク係数、ネットワーク係数圧縮装置100により圧縮されたネットワーク係数などの各種情報を記憶する。記憶部200は、例えば図1の学習済みネットワーク係数121、仮の入力データ122、出力値123、および、圧縮済みネットワーク係数124を記憶する記憶部に相当する。
【0049】
認識部300は、圧縮済みネットワーク係数で表されるニューラルネットワークを用いて認識処理を実行する。例えば、画像内の物体を認識する場合であれば、物体を分類する複数のクラス(車、人物、動物など)を認識対象として学習されたニューラルネットワークが用いられる。認識部300は、例えば画像から抽出された画像特徴量(特徴ベクトル)をニューラルネットワークに入力し、出力層から出力された尤度などに基づき、物体がいずれのクラスに属するかを認識する。認識処理は画像認識に限られず、音声認識などの他の任意のパターン認識にも適用できる。
【0050】
認識部300は、ディスプレイなどの表示装置、ネットワークなどにより接続された外部装置、および、プリンタ(画像形成装置)などに、認識結果を出力する。
【0051】
このように、第3の実施形態にかかる認識装置では、性能低下を抑えるようにネットワーク係数が圧縮されたニューラルネットワークを用いたタスクを実行可能となる。
【0052】
以上説明したとおり、第1から第3の実施形態によれば、認識等のタスクの性能低下を抑えつつ、ニューラルネットワークのネットワーク係数の高圧縮率を実現可能となる。
【0053】
次に、第1から第3の実施形態にかかる装置(ネットワーク係数圧縮装置、認識装置)のハードウェア構成について図7を用いて説明する。図7は、第1から第3の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【0054】
第1から第3の実施形態にかかる装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0055】
第1から第3の実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0056】
第1から第3の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0057】
さらに、第1から第3の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1から第3の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0058】
第1から第3の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0059】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0060】
100 ネットワーク係数圧縮装置
101 推論部
110、110−2 学習部
111 圧縮部
112 伸張部
113 更新部
114 生成部
200 記憶部
300 認識部
500 認識装置
図1
図2
図3
図4
図5
図6
図7