WO2021230006A1 - ネットワーク量子化方法及びネットワーク量子化装置 - Google Patents

ネットワーク量子化方法及びネットワーク量子化装置 Download PDF

Info

Publication number
WO2021230006A1
WO2021230006A1 PCT/JP2021/015786 JP2021015786W WO2021230006A1 WO 2021230006 A1 WO2021230006 A1 WO 2021230006A1 JP 2021015786 W JP2021015786 W JP 2021015786W WO 2021230006 A1 WO2021230006 A1 WO 2021230006A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
network
tensor
neural network
type
Prior art date
Application number
PCT/JP2021/015786
Other languages
English (en)
French (fr)
Inventor
幸宏 笹川
Original Assignee
株式会社ソシオネクスト
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 株式会社ソシオネクスト filed Critical 株式会社ソシオネクスト
Priority to JP2022521785A priority Critical patent/JPWO2021230006A1/ja
Publication of WO2021230006A1 publication Critical patent/WO2021230006A1/ja
Priority to US17/966,396 priority patent/US20230042275A1/en

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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/0495Quantised networks; Sparse networks; Compressed networks

Abstract

ネットワーク量子化方法は、ニューラルネットワーク(14)を量子化するネットワーク量子化方法であって、ニューラルネットワーク(14)が扱うテンソルの統計情報データベース(18)を構築するデータベース構築ステップと、統計情報データベース(18)とニューラルネットワーク(14)とに基づいて、テンソルの値を量子化することによって、量子化パラメータセット(22)を生成するパラメータ生成ステップと、量子化パラメータセット(22)を用いてニューラルネットワーク(14)を量子化することによって、量子化ネットワーク(26)を構築するネットワーク構築ステップとを含み、パラメータ生成ステップは、ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する量子化タイプ決定ステップを含む。

Description

ネットワーク量子化方法及びネットワーク量子化装置
 本開示は、ネットワーク量子化方法及びネットワーク量子化装置に関する。
 従来、ニューラルネットワークなどのネットワークを用いて機械学習が行われている。ここで、数値データを入力とし、なんらかの演算を施して数値データの出力値を得るモデルをネットワークと呼ぶ。ネットワークをコンピュータなどのハードウェアに実装する時には、ハードウェアコストを抑制するため、実装後の推論精度を浮動小数点精度と同程度に保ったまま、演算精度がより低いネットワークを構築することが求められる。
 例えば、全ての計算を浮動小数点精度で行うネットワークを実装する場合、ハードウェアコストが大きくなるので、推論精度を保ったまま、固定小数点精度で計算を行うネットワークの実現が求められる。
 以下では、浮動小数点精度のネットワークを量子化前ネットワークとも呼称し、固定小数点精度のネットワークを量子化ネットワークとも呼称する。
 ここでは、ほぼ任意の値を連続的に表現できる浮動小数点の値を、所定の区分に分割して符号化する処理のことを量子化と称している。より一般的には、量子化とは、ネットワークが扱う数値の桁数又は範囲を縮小する処理と定義される。
 量子化によって限定されたビット数で実数を表現する際に、入力データの分布が想定された分布と異なる場合がある。この場合、量子化誤差が大きくなり、機械学習の速度、さらには学習後の推論の精度に悪影響を与えるという問題がある。
 このような問題を解決する方法として、例えば、特許文献1に記載された方法が知られている。特許文献1に記載された方法では、畳み込みニューラルネットワークの各層内の重み及びデータの各々に個別の固定小数点フォーマットを定義する。畳み込みニューラルネットワークの機械学習を浮動小数点数で開始し、入力データの分布を推定するために解析する。続いて入力データの分布に基づいて入力データ値を表す最適化数フォーマットを決定し、当該フォーマットを用いて量子化を行う。このように、特許文献1では、最初に入力データの分布を調べ、当該分布に適した数フォーマットを選ぶことにより、上記問題を解決しようとしている。
特開2018-10618号公報
 特許文献1に記載された方法では、扱うデータのダイナミックレンジを考慮し、そのデータが収まるような範囲に対して限定されたビット数を割り当てる。この場合に、データの特性によってはビット数を有効利用できない場合があり得る。例えば、ビット数に対して意味のあるデータの量が少なくなる場合がある。このように、ビット割り当てが効率的でない場合がある。
 そこで、本開示は、このような問題を解決するためになされたものであり、効率的にビット割り当てされた量子化ネットワークを構築できるネットワーク量子化方法などを提供することを目的とする。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化方法は、ニューラルネットワークを量子化するネットワーク量子化方法であって、前記ニューラルネットワークを準備する準備ステップと、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、前記統計情報データベースと前記ニューラルネットワークとに基づいて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、前記パラメータ生成ステップは、前記ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する量子化タイプ決定ステップを含む。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化装置は、ニューラルネットワークを量子化するネットワーク量子化装置であって、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、前記統計情報データベースと前記ニューラルネットワークとに基づいて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを備え、前記パラメータ生成部は、前記ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する。
 本開示により、効率的にビット割り当てされた量子化ネットワークを構築できるネットワーク量子化方法などを提供できる。
図1は、実施の形態1に係るネットワーク量子化装置の機能構成の概要を示すブロック図である。 図2は、実施の形態1に係るネットワーク量子化装置の機能をソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。 図3は、実施の形態1に係るネットワーク量子化方法の流れを示すフローチャートである。 図4は、実施の形態1に係る量子化パラメータセット生成方法の流れを示すフローチャートである。 図5は、実施の形態1に係る冗長度と、好適な量子化タイプとの関係の一例を示す表である。 図6は、浮動小数点精度の数値の3値化を説明するグラフである。 図7は、実施の形態2に係るネットワーク量子化装置の機能構成の概要を示すブロック図である。 図8は、実施の形態2に係るネットワーク量子化方法の流れを示すフローチャートである。 図9は、実施の形態2に係るパラメータ生成ステップの流れを示すフローチャートである。 図10は、実施の形態2に係る量子化タイプ決定ステップの流れを示すフローチャートである。 図11は、浮動小数点精度の数値の疑似3値化を説明するグラフである。
 以下、本開示の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。以下の実施の形態で示される数値、形状、材料、規格、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
 (実施の形態1)
 実施の形態1に係るネットワーク量子化方法及びネットワーク量子化装置について説明する。
 [1-1.ネットワーク量子化装置]
 まず、本実施の形態に係るネットワーク量子化装置の構成について、図1を用いて説明する。図1は、本実施の形態に係るネットワーク量子化装置10の機能構成の概要を示すブロック図である。
 ネットワーク量子化装置10は、ニューラルネットワーク14を量子化する装置である。つまり、ネットワーク量子化装置10は、浮動小数点精度のニューラルネットワーク14を、固定小数点精度のニューラルネットワークである量子化ネットワークに変換する装置である。なお、ネットワーク量子化装置10は、ニューラルネットワーク14が扱うすべてのテンソルを量子化しなくてもよく、少なくとも一部のテンソルを量子化すればよい。ここで、テンソルとは、ニューラルネットワーク14を構成する複数のレイヤ(層)の各々における入力データ、出力データ及び重みなどのパラメータを含むn次元配列(nは0以上の整数)で表される値である。ここで、ニューラルネットワーク14を構成する複数のレイヤは、ニューラルネットワーク14の信号が入力される入力層と、ニューラルネットワーク14から信号が出力される出力層と、入力層と出力層との間において信号が伝達される隠れ層とを含む。
 テンソルは、ニューラルネットワーク14における最小単位のオペレーションに係るパラメータを含んでもよい。ニューラルネットワーク14が畳み込みニューラルネットワークである場合には、畳み込み層と定義されている関数である重み及びバイアス値がテンソルに含まれてもよい。また、ニューラルネットワーク14における正規化処理などのパラメータがテンソルに含まれてもよい。
 図1に示されるように、ネットワーク量子化装置10は、データベース構築部16と、パラメータ生成部20と、ネットワーク構築部24とを備える。本実施の形態では、ネットワーク量子化装置10は、機械学習部28をさらに備える。
 データベース構築部16は、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベース18を構築する処理部である。データベース構築部16は、複数のテストデータセット12に対するニューラルネットワーク14が扱う各テンソルの冗長度などを算出し、各テンソルの統計情報データベース18を構築する。統計情報データベース18は、ニューラルネットワーク14を構成する複数のレイヤの各々に含まれるテンソルの冗長度を含む。データベース構築部16において、テンソルの冗長度は、例えば、テンソル分解の結果に基づいて決定されてもよい。テンソルの冗長度については後述する。また、統計情報データベース18は、例えば、各テンソルの平均値、中央値、最頻値、最大値、最小値、極大値、極小値、分散、偏差、歪度、尖度などの統計量の少なくとも一部を含んでもよい。
 パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセットを生成する処理部である。パラメータ生成部20は、ニューラルネットワーク14を構成する複数のレイヤの各々の量子化タイプを決定する。量子化タイプは、例えば、テンソルに対して異なる数値変換を行う複数の数値変換タイプから選択され得る。複数の数値変換タイプは、例えば、対数変換、無変換などを含む。また、量子化タイプは、量子化の精細度の異なる複数の精細度タイプから選択され得る。複数の精細度タイプは、例えば、Nビット固定小数点(N:2以上の整数)、3値などを含む。パラメータ生成部20は、ニューラルネットワーク14を構成する複数のレイヤの各々に含まれるテンソルの冗長度に基づいて量子化タイプを決定する。パラメータ生成部20は、決定した量子化タイプを用いてテンソルの値を量子化する。パラメータ生成部20の詳細な処理内容については後述する。
 ネットワーク構築部24は、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築する処理部である。
 機械学習部28は、量子化ネットワーク26に機械学習させる処理部である。機械学習部28は、ネットワーク構築部24によって構築された量子化ネットワーク26に複数のテストデータセット12又は他の入力データセットを入力することで機械学習させる。これにより、機械学習部28は、量子化ネットワーク26より推論の精度が良好な量子化ネットワーク30を構築する。なお、ネットワーク量子化装置10は、機械学習部28を必ずしも備えなくてもよい。
 以上のような構成により、ネットワーク量子化装置10は、精度が良好な量子化ネットワークを構築できる。
 [1-2.ハードウェア構成]
 次に、本実施の形態に係るネットワーク量子化装置10のハードウェア構成について、図2を用いて説明する。図2は、本実施の形態に係るネットワーク量子化装置10の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
 コンピュータ1000は、図2に示すように、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備える。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。
 入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。
 出力装置1002は、コンピュータ1000からの信号を出力する装置であり、信号出力端子の他、ディスプレイ、スピーカなどのユーザインタフェースとなる装置であってもよい。
 内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、ネットワーク量子化装置10の機能を実現するためのプログラム、及び、ネットワーク量子化装置10の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。
 RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
 読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。
 送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。
 CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションなどをRAM1005にコピーし、コピーしたプログラム、アプリケーションなどに含まれる命令をRAM1005から順次読み出して実行する。
 [1-3.ネットワーク量子化方法]
 次に、本実施の形態に係るネットワーク量子化方法について図3を用いて説明する。図3は、本実施の形態に係るネットワーク量子化方法の流れを示すフローチャートである。
 図3に示されるように、ネットワーク量子化方法において、まず、ニューラルネットワーク14を準備する(S10)。本実施の形態では、予め学習済みのニューラルネットワーク14を準備する。ニューラルネットワーク14は、量子化されていない、つまり、浮動小数点精度のニューラルネットワークである。なお、ニューラルネットワーク14の学習において、使用される入力データは特に限定されず、図1に示される複数のテストデータセット12を含んでもよい。
 続いて、データベース構築部16は、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベースを構築する(S20)。本実施の形態では、データベース構築部16が、ニューラルネットワーク14を構成する複数のレイヤの各々に含まれるテンソルの冗長度を算出し、各テンソルの冗長度を含む統計情報データベース18を構築する。本実施の形態では、冗長度は各テンソルのテンソル分解の結果に基づいて決定される。冗長度の算出方法については、後述する。
 続いて、パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセット22を生成する(S30)。パラメータ生成ステップS30は、ニューラルネットワーク14を構成する複数のレイヤの各々の量子化タイプを決定する量子化タイプ決定ステップを含む。量子化タイプ決定ステップについては後述する。
 続いて、ネットワーク構築部24は、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築する(S40)。
 続いて、機械学習部28は、量子化ネットワーク26に機械学習させる(S50)。機械学習部28は、ネットワーク構築部24によって構築された量子化ネットワーク26に複数のテストデータセット12又は他の入力データセットを入力することで機械学習させる。これにより、量子化ネットワーク26より推論の精度が良好な量子化ネットワーク30を構築できる。なお、本実施の形態に係るネットワーク量子化方法は、機械学習ステップS50を必ずしも含まなくてもよい。
 以上のように、本実施の形態に係るネットワーク量子化方法によれば、ニューラルネットワークを精度良く量子化できる。
 [1-4.冗長度]
 次に、データベース構築部16において算出されるテンソルの冗長度について説明する。テンソルの冗長度とは、ニューラルネットワーク14の推論精度の低下を所定の範囲に抑えつつ、削減できるテンソルの情報量の割合に対応する尺度である。本実施の形態では、テンソルの冗長度は、テンソルの意味的構造(つまり、主成分)に着目して、求められる尺度であり、ニューラルネットワーク14の推論精度と相関づけた再構築誤差を所定の範囲に抑えつつ削除できる成分(つまり、主成分から離れた成分)の情報量の、元のテンソルの情報量に対する比で表される。
 テンソルの冗長度の算出方法例について以下に説明する。
 J次元テンソル(J次元の多次元配列(Jは2以上の整数))は数学的技法によりK次元コアテンソル(KはJより小さい1以上の整数)とJ個の因子行列に分解することができる。このようなテンソル分解は、具体的にはJ次元テンソルをK次元テンソルで近似する最適化問題を解くことに相当する。これは多少のノイズ成分を無視すれば概ね該当のJ次元テンソルはK次元テンソルと因子行列とで近似できるということを意味する。つまり、元のJ次元テンソルを表現するには、K次元テンソルの各成分を表現する程度の複雑さがあれば足りる。以上のようにテンソル分解を行うことで得られる値(J-K)/Jが冗長度と定義される。なお、冗長度の定義はこれに限定されない。例えば、K/Jが冗長度と定義されてもよい。
 ここで、テンソル分解の方法例について説明する。テンソル分解として、例えば、CP分解、Tucker分解などを用いることができる。例えば、下記式(1)に示されるように、CP分解によりJ次元テンソルWをK次元コアテンソルUと因子行列Vとの積で近似できる。
Figure JPOXMLDOC01-appb-M000001
 この場合、ニューラルネットワーク14の推論精度と相関づけた再構築誤差RecErrは、コアテンソルを元のテンソルの形状(shape)に復元した復元テンソルのL2ノルムと、元のテンソルのL2ノルムとの差を、元のテンソルのL2ノルムで正規化した値で表すことができる。つまり、再構築誤差RecErrは、下記式(2)で求められる。
Figure JPOXMLDOC01-appb-M000002
 したがって、再構築誤差RecErrを所定の範囲に抑えつつ、テンソル分解を行うことで冗長度(K/J)を求めることができる。
 また、同様に、テンソル分解としてTucker分解を用いる場合には、再構築誤差RecErrは、元のテンソルWと、コアテンソルCとに基づいて、下記式(3)で求めることができる。
Figure JPOXMLDOC01-appb-M000003
 以上のように、ニューラルネットワーク14を構成する複数のレイヤの各々に含まれるテンソルの冗長度を求めることができる。
 [1-5.パラメータ生成部]
 次に、本実施の形態に係るパラメータ生成部20における量子化パラメータセット22の生成方法について、詳細に説明する。
 上述のとおり、パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセットを生成する。以下、パラメータ生成部20における量子化パラメータセットの生成方法について、図4を用いて説明する。図4は、本実施の形態に係る量子化パラメータセット生成方法の流れを示すフローチャートである。
 図4に示されるように、本実施の形態に係る量子化パラメータセット生成方法において、まず、ニューラルネットワーク14を構成する複数のレイヤの各々のテンソルの量子化タイプを決定する(S31)。本実施の形態では、量子化タイプは、統計情報データベース18に含まれる冗長度に基づいて決定される。本実施の形態では、量子化パラメータセットの生成前に、他のニューラルネットワークをサンプルモデルとして用いて、冗長度と、好適な量子化タイプとの関係を求めておく。このような冗長度と、好適な量子化タイプとの関係について、図5を用いて説明する。図5は、本実施の形態に係る冗長度と、好適な量子化タイプとの関係の一例を示す表である。図5に示される例では、テンソルの冗長度が0.3の場合には、当該テンソルの量子化タイプを8ビット固定小数点(FIX8)に決定する。また、テンソルの冗長度が0.4の場合には、当該テンソルの量子化タイプを6ビット固定小数点(FIX6)に決定する。また、テンソルの冗長度が0.7の場合には、当該テンソルの量子化タイプを3値(TERNARY)に決定する。このように、量子化タイプ決定ステップS31において、テンソルの冗長度が高くなるにしたがって、より低い精細度の量子化タイプが選択されてもよい。これにより、量子化ネットワーク26による推論精度の低下を抑制しつつ、低い精細度の量子化タイプを選択できる。このように低い精細度の量子化タイプを選択することで、量子化ネットワークを実装する場合のハードウェアコストを抑制できる。このように事前に他のニューラルネットワークをサンプルモデルとして用いて、冗長度と、好適な量子化タイプとの関係を求めておく手法は、特に、量子化対象のニューラルネットワーク14と、サンプルモデルとなる他のニューラルネットワークとの種類が、類似している場合に特に有効である。例えば、ニューラルネットワーク14がオブジェクト検出用ニューラルネットワークである場合には、サンプルモデルとして他のオブジェクト検出用ニューラルネットワークを用いることで、ニューラルネットワーク14に適した量子化タイプを選択できる。
 なお、量子化タイプ決定ステップS31において、テンソルに含まれる各数値を非線形に変換してもよい。量子化タイプにおけるテンソルに対する数値変換タイプは、対数変換、無変換を含む複数の数値変換タイプの中から選択されてもよい。例えば、テンソルの値の頻度が0付近において特に大きい場合、テンソルの全要素を対数変換してもよい。つまり、テンソルの全要素を、当該数値の対数に変換してもよい。これにより、テンソルの全要素の頻度が0に近い範囲において高い場合に、テンソルの冗長度を増大させることができる。
 また、量子化タイプ決定ステップS31において、量子化タイプにおける量子化の精細度は、Nビット固定小数点及び3値を含む複数の精細度タイプの中から選択されてもよい。
 続いて、ニューラルネットワーク14を構成する複数のレイヤの各々のテンソルの量子化を実行する(S32)。具体的には、例えば、量子化タイプとして、Nビット固定小数点精度の量子化を用いる場合には、各テンソルを構成する値を、Nビット固定小数点精度に量子化する。
 また、他の量子化タイプの例として、3値化を用いる場合について、図6を用いて説明する。図6は、浮動小数点精度の数値の3値化を説明するグラフである。図6に示されるグラフの横軸が、量子化される対象である浮動小数点精度の数値(図6に示される「元のFloat値」)を示し、縦軸は、3値化後の値を示す。
 図6に示されるように、量子化タイプとして3値化を用いる場合、浮動小数点精度の数値のうち、所定の第1の値a以下の数値は-1に量子化され、第1の値aより大きく、かつ、所定の第2の値b以下の数値は0に量子化され、第2の値bより大きい数値は+1に量子化される。このような3値化を量子化タイプとして用いる場合、量子化ネットワークにおける畳み込み演算などで、乗算をXOR演算で実現できる。これにより、量子化ネットワークを実装するハードウェアのリソースを削減することができる。
 以上のように、テンソルを量子化することで、量子化パラメータセットを生成することができる。
 [1-6.効果など]
 以上のように、本実施の形態に係るネットワーク量子化方法は、ニューラルネットワーク14を量子化するネットワーク量子化方法であって、ニューラルネットワーク14を準備する準備ステップと、ニューラルネットワークに複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベース18を構築するデータベース構築ステップと、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセット22を生成するパラメータ生成ステップと、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築するネットワーク構築ステップとを含む。パラメータ生成ステップは、ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する量子化タイプ決定ステップを含む。
 このように、ニューラルネットワーク14を構成する複数のレイヤの各々に対して量子化タイプを選択できるため、各レイヤの特性に応じて効率的にビット割り当てを行うことができる。したがって、効率的にビット割り当てされた量子化ネットワークを構築できる。
 また、本実施の形態に係るネットワーク量子化方法において、量子化タイプ決定ステップにおいて、量子化タイプはテンソルに対して異なる数値変換を行う複数の数値変換タイプから選択され、複数の数値変換タイプは対数変換及び無変換を含んでもよい。
 これにより、テンソルに含まれる数値の分布などに応じてテンソルの数値変換方法を選択できる。例えば、テンソルの冗長度が大きくなるような数値変換を施すことで、より効率的なビット割り当てが可能となる。したがって、より一層効率的にビット割り当てされた量子化ネットワークを構築できる。
 また、本実施の形態に係るネットワーク量子化方法において、量子化タイプ決定ステップにおいて、量子化タイプは量子化の精細度の異なる複数の精細度タイプから選択され、複数の精細度タイプはNビット固定小数点及び3値を含んでもよい。
 これにより、テンソルの冗長度などに応じて量子化の精細度を選択できる。したがって、量子化ネットワークの推論精度の低下を抑制できるように、レイヤ毎に量子化を行うことができる。
 また、本実施の形態に係るネットワーク量子化方法において、量子化タイプは、複数のレイヤの各々に含まれるテンソルの冗長度に基づいて決定されてもよい。
 一般にテンソルの冗長度が大きいほど、推論精度の低下を抑制しつつ、低い精細度の量子化を採用できる。このため、冗長度に基づいて量子化タイプを決定することで、推論精度の低下を抑制しつつ、低い精細度の量子化を採用することができる。このように量子化の精細度を低くすることで、量子化ネットワークを実装するハードウェアのコストを低減できる。
 また、本実施の形態に係るネットワーク量子化方法において、冗長度は、テンソルのテンソル分解の結果に基づいて決定されてもよい。
 また、本実施の形態に係るネットワーク量子化方法において、量子化タイプは、冗長度が高くなるにしたがって、より低い精細度のタイプに決定されてもよい。
 これにより、推論精度の低下を抑制しつつ、低い精細度の量子化を採用できる。
 また、本実施の形態に係るネットワーク量子化装置は、ニューラルネットワーク14を量子化するネットワーク量子化装置10であって、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベース18を構築するデータベース構築部16と、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセット22を生成するパラメータ生成部20と、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築するネットワーク構築部24とを備える。パラメータ生成部20は、ニューラルネットワーク14を構成する複数のレイヤの各々の量子化タイプを決定する。
 これにより、本実施の形態に係るネットワーク量子化方法と同様の効果が奏される。
 (実施の形態2)
 実施の形態2に係るネットワーク量子化方法などについて説明する。本実施の形態に係るネットワーク量子化方法は、量子化タイプ決定方法において、実施の形態1に係る量子化方法と相違する。以下、本実施の形態に係るネットワーク量子化方法、ネットワーク量子化装置について、実施の形態1との相違点を中心に説明する。
 [2-1.ネットワーク量子化装置]
 まず、本実施の形態に係るネットワーク量子化装置の構成について、図7を用いて説明する。図7は、本実施の形態に係るネットワーク量子化装置110の機能構成の概要を示すブロック図である。
 図7に示されるように、ネットワーク量子化装置110は、データベース構築部16と、パラメータ生成部120と、ネットワーク構築部24とを備える。本実施の形態では、ネットワーク量子化装置110は、機械学習部28をさらに備える。本実施の形態に係るネットワーク量子化装置110は、パラメータ生成部120において、実施の形態1に係るネットワーク量子化装置10と相違する。
 本実施の形態に係るパラメータ生成部120は、実施の形態1に係るパラメータ生成部20と同様に、統計情報データベース18とニューラルネットワーク14とに基づいて、テンソルの値を量子化することによって、量子化パラメータセット22を生成する。また、パラメータ生成部120は、ニューラルネットワーク14を構成する複数のレイヤの各々の量子化タイプを決定する。本実施の形態に係るパラメータ生成部120は、ニューラルネットワーク14を構成する複数のレイヤのテンソルの冗長度と、量子化後のテンソルの冗長度とに基づいて、量子化タイプを決定する。具体的には、統計情報データベース18に含まれるテンソルの冗長度と、当該テンソルを量子化した量子化テンソルの冗長度とに基づいて、量子化タイプを決定する。量子化テンソルの冗長度は、例えば、パラメータ生成部120において算出される。
 [2-2.ネットワーク量子化方法]
 次に、本実施の形態に係るネットワーク量子化方法及びそれを用いた推論方法について、図8を用いて説明する。図8は、本実施の形態に係るネットワーク量子化方法の流れを示すフローチャートである。
 図8に示されるように、本実施の形態に係るネットワーク量子化方法は、実施の形態1に係るネットワーク量子化方法と同様に、ニューラルネットワーク14を準備ステップS10と、統計情報データベース18を構築するデータベース構築ステップS20と、量子化パラメータセット22を生成するパラメータ生成ステップS130と、量子化ネットワークを構築するネットワーク構築ステップS40と、量子化ネットワーク26に機械学習させる機械学習ステップS50とを含む。
 本実施の形態に係るネットワーク量子化方法は、パラメータ生成ステップS130において、実施の形態1に係るネットワーク量子化方法と相違する。
 本実施の形態に係るパラメータ生成ステップS130について、図9を用いて説明する。図9は、本実施の形態に係るパラメータ生成ステップS130の流れを示すフローチャートである。本実施の形態に係るパラメータ生成ステップS130は、実施の形態1に係るパラメータ生成ステップS30と同様に、量子化タイプ決定ステップS131と、量子化実行ステップS32とを含む。本実施の形態に係るパラメータ生成ステップS130は、量子化タイプ決定ステップS131において、実施の形態1に係るパラメータ生成ステップS30と相違する。
 本実施の形態に係る量子化タイプ決定ステップS131について、図10を用いて説明する。図10は、本実施の形態に係る量子化タイプ決定ステップS131の流れを示すフローチャートである。
 図10に示されるように、本実施の形態に係る量子化タイプ決定ステップS131において、まず、量子化タイプにおけるテンソルに対する数値変換のタイプを決定する(S131a)。例えば、量子化タイプにおけるテンソルに対する数値変換タイプは、対数変換を含む複数の数値変換タイプの中から選択される。本実施の形態では、数値変換タイプは、(a)対数変換、(b)疑似3値、及び、(c)一様量子化(無変換)から選択される。
 それぞれの数値変換タイプの決定にあたっては、テンソルの主成分に関連する要素分布に対する以下の特徴が着目点となる。
 (a)主成分に関連する要素分布が0付近に集中している場合
    この場合は0付近の量子化ステップが密となる対数量子化が有利となる。
 (b)主成分に関連する要素分布が0付近に無い場合
    この場合は0付近の情報を無くす、つまり0としてしまう量子化が有利となる。例えば疑似3値が挙げられる。
 (c)主成分に関連する要素分布が上記(a)及び(b)のいずれとも言えない場合
    この場合は一様な量子化が有利となる。
 上記要素分布の算出には、例えば計算量を要するヒストグラム計算を繰り返し行う方法がある。本実施の形態では計算量を減らすために、簡便に上記着目点で数値変換タイプを決定する方法の一例として(a)及び(b)の場合の数値変換を行い、冗長度を求める方法を採用する。
 本実施の形態に係る数値変換タイプの選択方法について説明する。パラメータ生成部120は、量子化タイプを決定する対象となるテンソルの冗長度Rと、当該テンソルの全要素に対数演算を施したテンソルの冗長度R、及び、テンソルの全要素に疑似3値化を施した疑似3値化テンソルの冗長度RPTを求める。冗長度Rは、統計情報データベース18から取得され、冗長度Rは、パラメータ生成部120において算出される。
 疑似3値化について、図11を用いて説明する。図11は、浮動小数点精度の数値の疑似3値化を説明するグラフである。図11に示されるグラフの横軸が、量子化される対象である浮動小数点精度の数値(図11に示される「元のFloat値」)を示し、縦軸は、疑似3値化後の値を示す。
 図11に示されるように、浮動小数点精度の数値に疑似3値化を施す場合、浮動小数点精度の数値のうち、所定の第1の値a以下の数値、及び、所定の第2の値bより大きい数値は、そのままの値に維持され、第1の値aより大きく、かつ、第2の値b以下の数値は、0に変換される。
 次に、量子化タイプを決定する対象となるテンソルの冗長度Rと、当該テンソルの全要素に対数演算を施したテンソルの冗長度R、及び、テンソルの全要素に疑似3値化を施した疑似3値化テンソルの冗長度RPTとを比較する。ここで、R>Rである場合、テンソルの全要素に対数演算を施した方が、冗長度が高くなること、つまり、より低い精細度の量子化を行っても推論精度の低下を抑制できることを意味する。したがって、R>Rである場合には、数値変換タイプを対数変換に決定する。一方、R≦Rであれば、テンソルの全要素に対数演算を施す効果がないと判断する。
 また、RPT>Rである場合、テンソルの全要素に疑似3値演算を施した方が、冗長度が高くなること、つまり、より低い精細度の量子化を行っても推論精度の低下を抑制できることを意味する。したがって、RPT>Rである場合には、数値変換タイプを疑似3値変換に決定する。一方、RPT≦Rであれば、テンソルの全要素に疑似3値演算を施す効果がないと判断する。なお、対数変換及び疑似3値変換の各々が有利と想定される0付近の主成分要素分布は、相反する特徴を有する。したがって、R>RとRPT>Rとが両立する場合は想定と矛盾することから、それぞれの変換を施す効果がないと判断する。前述の対数変換と本疑似3値演算の効果判断結果を踏まえて、効果が無い場合は数値変換タイプを無変換に決定する。
 続いて、量子化タイプにおける量子化の精細度を決定する(S131b)。本実施の形態では、量子化の精細度は、Nビット固定小数点及び3値を含む複数の精細度タイプの中から選択される。量子化の精細度のうち固定小数点精度を採用する場合には、固定小数点精度のビット数は、量子化ネットワークを実装するハードウェアの構成に応じて、実装可能な最大限のビット数に決定される。量子化の精細度のうち、固定小数点及び3値のいずれを選択するかを決定する方法について、以下に説明する。
 量子化の精度として3値を選択する場合、数値を2ビットで表現できるため、3値に近い精細度として、2ビット固定小数点精度及び3ビット固定小数点精度が比較対象となり得る。そこで、量子化の精細度としてこれらを選択した場合の冗長度を算出する。テンソルの全要素の精度を2ビット固定小数点精度とした2ビット化テンソルの冗長度RN2と、テンソルの全要素の精度を3ビット固定小数点精度とした3ビット化テンソルの冗長度RN3とを算出し、数値変換タイプが疑似3値で、かつ、RN2<RN3が成り立つ場合には、テンソルの量子化の精細度として、3値は適していないと判断し、量子化の精度として、3ビット以上の固定小数点精度をハードウェアの構成に応じて選択する。
 一方、RN2≧RN3が成り立ち、かつ、数値変換タイプが疑似3値の場合は、テンソルの量子化の精度として3値を選択し、RN2≧RN3が成り立ち、かつ、数値変換タイプが対数変換又は無変換の場合は、テンソルの量子化の精度として2ビット固定小数点精度を選択する。
 以上のように、各テンソルに適した量子化のタイプ及び精細度を決定できる。
 (変形例など)
 以上、本開示に係るネットワーク量子化方法などについて、各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、各実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
 例えば、上記各実施の形態のネットワーク量子化装置における各機能部に機能を分担させたが、機能の分担態様は、上記各実施の形態における態様に限定されない。例えば、上記各実施の形態に係る複数の機能部が一体化されてもよい。また、実施の形態2においては、パラメータ生成部120において、量子化後のテンソルの冗長度を算出したが、量子化後のテンソルの冗長度も、量子化前のテンソルの冗長度と同様にデータベース構築部16において算出してもよい。この場合、量子化後のテンソルの冗長度が統計情報データベース18に含まれてもよい。さらに、量子化前及び量子化後のテンソルの冗長度を、ネットワーク量子化装置のデータベース構築部16以外の構成要素において算出してもよい。また、量子化前及び量子化後のテンソルの冗長度を、データベース構築ステップ以外のステップにおいて算出してもよい。
 また、上記実施の形態2において、量子化の精細度が、3値を含む複数の精細度タイプから選択されたが、複数の精細度タイプは、3値を含まなくてもよい。
 また、以下に示す形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
 (1)上記のネットワーク量子化装置を構成する構成要素の一部は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムであってもよい。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記のネットワーク量子化装置を構成する構成要素の一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 (3)上記のネットワーク量子化装置を構成する構成要素の一部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)また、上記のネットワーク量子化装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、上記のネットワーク量子化装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 (5)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。さらに、本開示は、そのコンピュータプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現してもよい。
 (6)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 (7)また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、ニューラルネットワークのコンピュータなどへの実装方法として、画像処理方法などに利用できる。
 10、110 ネットワーク量子化装置
 12 テストデータセット
 14 ニューラルネットワーク
 16 データベース構築部
 18 統計情報データベース
 20、120 パラメータ生成部
 22 量子化パラメータセット
 24 ネットワーク構築部
 26、30 量子化ネットワーク
 28 機械学習部
 1000 コンピュータ
 1001 入力装置
 1002 出力装置
 1003 CPU
 1004 内蔵ストレージ
 1005 RAM
 1007 読取装置
 1008 送受信装置
 1009 バス

Claims (7)

  1.  ニューラルネットワークを量子化するネットワーク量子化方法であって、
     前記ニューラルネットワークを準備する準備ステップと、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、
     前記統計情報データベースと前記ニューラルネットワークとに基づいて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、
     前記パラメータ生成ステップは、前記ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する量子化タイプ決定ステップを含む
     ネットワーク量子化方法。
  2.  前記量子化タイプ決定ステップにおいて、前記量子化タイプは前記テンソルに対して異なる数値変換を行う複数の数値変換タイプから選択され、前記複数の数値変換タイプは対数変換及び無変換を含む
     請求項1に記載のネットワーク量子化方法。
  3.  前記量子化タイプ決定ステップにおいて、前記量子化タイプは量子化の精細度の異なる複数の精細度タイプから選択され、前記複数の精細度タイプはNビット固定小数点(N:2以上の整数)及び3値を含む
     請求項1又は2に記載のネットワーク量子化方法。
  4.  前記量子化タイプは、前記複数のレイヤの各々に含まれる前記テンソルの冗長度に基づいて決定される
     請求項1~3のいずれか1項に記載のネットワーク量子化方法。
  5.  前記冗長度は、前記テンソルのテンソル分解の結果に基づいて決定される
     請求項4に記載のネットワーク量子化方法。
  6.  前記量子化タイプは、前記冗長度が高くなるにしたがって、より低い精細度のタイプに決定される
     請求項4又は5に記載のネットワーク量子化方法。
  7.  ニューラルネットワークを量子化するネットワーク量子化装置であって、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、
     前記統計情報データベースと前記ニューラルネットワークとに基づいて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを備え、
     前記パラメータ生成部は、前記ニューラルネットワークを構成する複数のレイヤの各々の量子化タイプを決定する
     ネットワーク量子化装置。
PCT/JP2021/015786 2020-05-13 2021-04-16 ネットワーク量子化方法及びネットワーク量子化装置 WO2021230006A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022521785A JPWO2021230006A1 (ja) 2020-05-13 2021-04-16
US17/966,396 US20230042275A1 (en) 2020-05-13 2022-10-14 Network quantization method and network quantization device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-084712 2020-05-13
JP2020084712 2020-05-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/966,396 Continuation US20230042275A1 (en) 2020-05-13 2022-10-14 Network quantization method and network quantization device

Publications (1)

Publication Number Publication Date
WO2021230006A1 true WO2021230006A1 (ja) 2021-11-18

Family

ID=78525684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015786 WO2021230006A1 (ja) 2020-05-13 2021-04-16 ネットワーク量子化方法及びネットワーク量子化装置

Country Status (3)

Country Link
US (1) US20230042275A1 (ja)
JP (1) JPWO2021230006A1 (ja)
WO (1) WO2021230006A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019160319A (ja) * 2018-03-09 2019-09-19 キヤノン株式会社 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体
CN110942148A (zh) * 2019-12-11 2020-03-31 北京工业大学 一种自适应的非对称量化的深度神经网络模型压缩方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019160319A (ja) * 2018-03-09 2019-09-19 キヤノン株式会社 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体
CN110942148A (zh) * 2019-12-11 2020-03-31 北京工业大学 一种自适应的非对称量化的深度神经网络模型压缩方法

Also Published As

Publication number Publication date
JPWO2021230006A1 (ja) 2021-11-18
US20230042275A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
CN110363279B (zh) 基于卷积神经网络模型的图像处理方法和装置
JP7180680B2 (ja) ネットワーク量子化方法、推論方法及びネットワーク量子化装置
CN102597948B (zh) 信号数据的块浮点压缩的方法和装置
WO2021135715A1 (zh) 一种图像压缩方法及装置
CN109344893B (zh) 一种基于移动终端的图像分类方法
WO2021045810A1 (en) Lossless exponent and lossy mantissa weight compression for training deep neural networks
US11531884B2 (en) Separate quantization method of forming combination of 4-bit and 8-bit data of neural network
CN101467459B (zh) 信号的矢量量化字典生成方法、编解码器及编解码方法
WO2021230006A1 (ja) ネットワーク量子化方法及びネットワーク量子化装置
US11763158B2 (en) Method for automatic hybrid quantization of deep artificial neural networks
CN112085668B (zh) 一种基于区域自适应自监督学习的图像色调映射的方法
JP2010500819A (ja) 複数の量子化パターンの効率的な知覚的関連検索による音声及びオーディオを量子化するための方法
CN112183726A (zh) 一种神经网络全量化方法及系统
CN113554097B (zh) 模型量化方法、装置、电子设备和存储介质
CN115456169A (zh) 模型压缩方法、系统、终端及存储介质
JP7040771B2 (ja) ニューラルネットワーク処理装置、通信装置、ニューラルネットワーク処理方法、およびプログラム
EP2372699B1 (en) Coding of audio or video samples using multiple quantizers
WO2022103291A1 (en) Method and system for quantizing a neural network
JP2022510944A (ja) 非可逆復元を伴う非可逆有意圧縮
JP2009210644A (ja) 線形予測係数算出装置、線形予測係数算出方法、線形予測係数算出プログラム、および記憶媒体
JP6538572B2 (ja) 量子化方法、量子化装置及び量子化プログラム
JP3203609B2 (ja) ベクトル量子化器の設計方法およびベクトル量子化器
JP7120288B2 (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
US20240078411A1 (en) Information processing system, encoding device, decoding device, model learning device, information processing method, encoding method, decoding method, model learning method, and program storage medium
WO2022130477A1 (ja) 符号化装置、復号装置、符号化方法、復号方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21804118

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022521785

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21804118

Country of ref document: EP

Kind code of ref document: A1