JP2020119518A - ハードウェア最適化を通じてモバイル装置または高精度の小型ネットワークに使用されるcnnパラメータ量子化を最適化するためにcnnレイヤを変換する方法及び装置 - Google Patents

ハードウェア最適化を通じてモバイル装置または高精度の小型ネットワークに使用されるcnnパラメータ量子化を最適化するためにcnnレイヤを変換する方法及び装置 Download PDF

Info

Publication number
JP2020119518A
JP2020119518A JP2019238383A JP2019238383A JP2020119518A JP 2020119518 A JP2020119518 A JP 2020119518A JP 2019238383 A JP2019238383 A JP 2019238383A JP 2019238383 A JP2019238383 A JP 2019238383A JP 2020119518 A JP2020119518 A JP 2020119518A
Authority
JP
Japan
Prior art keywords
value
kth
layer
scaling
convolution
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.)
Granted
Application number
JP2019238383A
Other languages
English (en)
Other versions
JP6872264B2 (ja
Inventor
ゲヒョン キム
Kye-Hyeon Kim
ゲヒョン キム
ヨンジュン キム
Yong-Jun Kim
ヨンジュン キム
インス キム
Insu Kim
インス キム
ハクギョン キム
Hak Kyoung Kim
ハクギョン キム
ウンヒョン ナム
Woonhyun Nam
ウンヒョン ナム
ソクフン ブ
Sukhoon Boo
ソクフン ブ
ミョンチョル ソン
Myungchul Sung
ミョンチョル ソン
ドンフン ヨ
Donghun Yeo
ドンフン ヨ
ウジュ リュ
Wooju Ryu
ウジュ リュ
テウン ジャン
Taewoong Jang
テウン ジャン
ギョンジュン ジョン
Kyungjoong Jeong
ギョンジュン ジョン
ホンモ ジェ
Hongmo Je
ホンモ ジェ
ホジン ジョ
Hojin Cho
ホジン ジョ
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.)
Stradvision Inc
Original Assignee
Stradvision Inc
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 Stradvision Inc filed Critical Stradvision Inc
Publication of JP2020119518A publication Critical patent/JP2020119518A/ja
Application granted granted Critical
Publication of JP6872264B2 publication Critical patent/JP6872264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural 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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling

Landscapes

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

Abstract

【課題】出力値にある小さな値を含む特定チャンネルの各値を適切に反映するために、少なくとも一つの特徴マップに含まれた値を平坦化するようにCNNレイヤを変換する方法を提供する。【解決手段】m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換する方法において、第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの第k初期重み付け値と、第(k−1)コンボリューションブロックから出力された第(k−1)特徴マップと、第kスケーリングパラメータ其々を参照して第k量子化ロス値とを生成し、第k最適スケーリングパラメータそれぞれを決定し、第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成し、第kスケーリングレイヤ及び第(k−1)逆スケーリングレイヤを使用して第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換する。【選択図】図3b

Description

本発明は、m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換する方法において、(a)コンピューティング装置が、スケーリングパラメータを決定するために使用される入力イメージが取得されると、(i)第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの一つ以上の第k初期重み付け値と、(ii)(ii−1)kが1である場合、前記入力イメージ、(ii−2)kが2からmまでの常数である場合、第(k−1)コンボリューションブロックから出力された前記入力イメージに対応する第(k−1)特徴マップと、(iii)(iii−1)kが1である場合、前記入力イメージに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれ、及び(iii−2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれを参照して、一つ以上の第k量子化ロス値と、を生成する段階(kは1からmまでの常数である);(b)前記コンピューティング装置が、前記第k量子化ロス値を参照して、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定する段階;(c)前記コンピューティング装置が、前記第k最適スケーリングパラメータを参照して第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成する段階;(d)前記コンピューティング装置が、(i)kが1である場合、前記第kスケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換し、(ii)kが2からmまでの常数である場合、前記第kスケーリングレイヤ及び前記第(k−1)逆スケーリングレイヤを使用して前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換する段階;を含むことを特徴とする方法及び装置に関する。
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Networks;DeepCNN)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNは文字の認識問題を解決するために90年代にも使用されたが、近年になって機械学習(Machine Learning)分野で広く使用されるようになった。例えば、CNNは2012年にイメージ認識コンテスト(ImageNet Large Scale Visual Recognition Challenge)で他の競争相手に勝って優勝を収めた。その後、CNNは、機械学習分野で非常に有用なツールとして使用されるようになった。
しかし、ディープラーニングアルゴリズムには、32ビット浮動小数点演算が必要であるという偏見があったため、モバイル装置は、ディープラーニングアルゴリズムを含むプログラムを遂行することができないものとみなされていた。
ところが、32ビット浮動小数点演算より少ないコンピューティング性能が必要な10ビット固定小数点演算がディープラーニングアルゴリズムには十分であるということが一部の実験で証明された。従って、リソースが制限された装置、すなわちモバイル装置において、ディープラーニングアルゴリズムに10ビット固定小数点演算を使用する方法を提供しようとする多くの試みがあった。
32ビット浮動小数点で表現された数を10ビット固定小数点に量子化するいくつかの成功裏の方法が提示されたが、重要な問題があった。複数のチャンネルに含まれた値が大きく変わる場合、チャンネルのうち小さな値を含む一つ以上の特定チャンネルの値が無視されることがある。それは、図5において見ることができる。
図5は、大きく異なる様々なチャンネルの値を例示的に示している。
図5を参照すると、第1コンボリューションブロック210−1から出力された第1特徴マップの第1チャンネルに含まれた各値は、(0.64、0.65、0.63)であり、第2チャンネルに含まれた各値は、(0.002、0.001、0.0019)であることが分かる。従来技術によると、第1チャンネルの値及び第2チャンネルの値が量子化される場合、量子化に使用される単位値は第1チャンネルまたは第2チャンネルによって決定された。
単位値が第1チャンネルによって決定される場合、単位値は第1チャンネルに含まれた値を示すために大きくなる。そして、単位値が第2チャンネルに含まれた値に比べてあまりにも大きいため、第2チャンネルに含まれた値は0に量子化され得る。反対に、単位値が第2チャンネルによって決定される場合、単位値は第2チャンネルに含まれた値を示すために小さくなる。それでは、単位値があまりにも小さくて第1チャンネルに含まれた値を正しく量子化することができない。
特定チャンネルの各値が無視されるか、または特定チャンネルの各値が上記のように適切に量子化されなければ、CNNの出力が歪曲されかねない。
本発明は、上述した問題点を解決することを目的とする。
本発明は、出力値にある小さな値を含む特定チャンネルの各値を適切に反映するために、少なくとも一つの特徴マップに含まれた値を平坦化することができるようにCNNレイヤを変換する方法を提供することを目的とする。
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための本発明の特徴的な構成は以下の通りである。
本発明の一態様によると、m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換する方法において、(a)コンピューティング装置が、スケーリングパラメータを決定するために使用される入力イメージが取得されると、(i)第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの一つ以上の第k初期重み付け値と、(ii)(ii−1)kが1である場合、前記入力イメージ、(ii−2)kが2からmまでの常数である場合、第(k−1)コンボリューションブロックから出力された前記入力イメージに対応する第(k−1)特徴マップと、(iii)(iii−1)kが1である場合、前記入力イメージに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれ、及び(iii−2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれを参照して、一つ以上の第k量子化ロス値と、を生成する段階(kは1からmまでの常数である);(b)前記コンピューティング装置が、前記第k量子化ロス値を参照して、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定する段階;(c)前記コンピューティング装置が、前記第k最適スケーリングパラメータを参照して第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成する段階;(d)前記コンピューティング装置が、(i)kが1である場合、前記第kスケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換し、(ii)kが2からmまでの常数である場合、前記第kスケーリングレイヤ及び前記第(k−1)逆スケーリングレイヤを使用して前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換する段階;を含むことを特徴とする方法が提供される。
一実施例において、前記(a)段階は、前記コンピューティング装置が、(iv)BW値(前記BW値は、前記CNNに含まれた重み付け値及び特徴マップに含まれた値を二進数で表現するために使用されたビットの個数である)、及び(v)第kFL値(前記第kFL値は、(i)前記第k初期コンボリューションレイヤの前記第k初期重み付け値、及び(ii)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれた値であり、kが1である場合、前記入力イメージに含まれた値のLSBが示す数の指数の絶対値である)をさらに参照して、前記第k量子化ロス値を生成することを含むことを特徴とする方法が提供される。
一実施例において、前記(a)段階は、前記数式によって前記第k量子化ロス値が生成され、前記数式でθは(i)kが2からmまでの常数である場合、前記第(k−1)特徴マップ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値、(ii)kが1である場合、前記入力イメージ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値を含み、Ckiは、前記第kスケーリングパラメータのうちで特定の第kスケーリングパラメータであり、FL及びBWはそれぞれ前記FL値及び前記BW値であり、Q演算は、前記FL値及び前記BW値を参照して生成されたCkiθの量子化された値とCkiθとの間の差を生成する演算であり、前記(b)段階は、前記コンピューティング装置が、前記△Lを最も小さくする前記Ckiを選択することにより、前記第k最適スケーリングパラメータそれぞれを決定することを特徴とする方法が提供される。
一実施例において、前記コンピューティング装置が、ネステロフ加速勾配(Nesterov Accelerated Gradient)法を使用して、前記Ckiを選択して前記第k最適スケーリングパラメータを決定することを特徴とする方法が提供される。
一実施例において、前記(c)段階は、前記コンピューティング装置が、前記第k最適スケーリングパラメータそれぞれがその構成要素として決定される前記第kスケーリングレイヤを生成し、前記第k最適スケーリングパラメータの逆数それぞれがその構成要素として決定される前記第k逆スケーリングレイヤを生成することを特徴とする方法が提供される。
一実施例において、前記(d)段階は、前記コンピューティング装置が、(1)kが1である場合、(i)前記第k初期コンボリューションレイヤ及び前記第kスケーリングレイヤの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を前記入力値に適用して生成された結果との間の差が閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換し、(2)kが2以上m以下の常数である場合、(i)第(k−1)逆スケーリングレイヤと、前記第k初期コンボリューションレイヤと、前記第kスケーリングレイヤとの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を入力値に適用して生成された結果との間の差が前記閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換することを特徴とする方法が提供される。
一実施例において、(e)前記コンピューティング装置が、前記第kコンボリューションブロックに含まれた前記第k統合コンボリューションレイヤの各重み付け値を量子化して、前記第kコンボリューションブロックによって遂行されるCNN演算に対する最適化重み付け値として、第k量子化重み付け値を生成する段階;をさらに含むことを特徴とする方法が提供される。
本発明の他の態様によると、m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換するコンピューティング装置において、各インストラクションを格納する少なくとも一つのメモリと、(I)(i)第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの一つ以上の第k初期重み付け値と、(ii)(ii−1)kが1である場合、スケーリングパラメータを決定するために使用される入力イメージ、(ii−2)kが2からmまでの常数である場合、第(k−1)コンボリューションブロックから出力された前記入力イメージに対応する第(k−1)特徴マップと、(iii)(iii−1)kが1である場合、前記入力イメージに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれ、及び(iii−2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれを参照して、一つ以上の第k量子化ロス値と、を生成するプロセス(kは1からmまでの常数である);(II)前記第k量子化ロス値を参照して、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定するプロセス;(III)前記第k最適スケーリングパラメータを参照して、第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成するプロセス;(IV)(i)kが1である場合、前記第kスケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換し、(ii)kが2からmまでの常数である場合、前記第kスケーリングレイヤ及び前記第(k−1)逆スケーリングレイヤを使用して前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換するプロセス;を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、を含むことを特徴とするコンピューティング装置が提供される。
一実施例において、前記(I)プロセスは、前記プロセッサが、(iv)BW値(前記BW値は、前記CNNに含まれた重み付け値及び特徴マップに含まれた値を二進数で表現するために使用されたビットの個数である)、及び(v)第kFL値(前記第kFL値は、(1)前記第k初期コンボリューションレイヤの前記第k初期重み付け値、及び(2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれた値であり、kが1である場合、前記入力イメージに含まれた値のLSBが示す数の指数の絶対値である)をさらに参照して、前記第k量子化ロス値を生成することを含むことを特徴とするコンピューティング装置が提供される。
一実施例において、前記(I)プロセスは、前記プロセッサが、前記数式によって前記第k量子化ロス値が生成され、前記数式でθは(i)kが2からmまでの常数である場合、前記第(k−1)特徴マップ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値、(ii)kが1である場合、前記入力イメージ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値を含み、Ckiは、前記第kスケーリングパラメータのうちで特定の第kスケーリングパラメータであり、FL及びBWはそれぞれ前記FL値及び前記BW値であり、Q演算は、前記FL値及び前記BW値を参照して生成されたCkiθの量子化された値とCkiθとの間の差を生成する演算であり、前記(II)プロセスは、前記プロセッサが、前記△Lを最も小さくする前記Ckiを選択することにより、前記第k最適スケーリングパラメータそれぞれを決定することを特徴とするコンピューティング装置が提供される。
一実施例において、前記プロセッサが、ネステロフ加速勾配(Nesterov Accelerated Gradient)法を使用して、前記Ckiを選択して前記第k最適スケーリングパラメータを決定することを特徴とするコンピューティング装置が提供される。
一実施例において、前記(III)プロセスは、前記プロセッサが、前記第k最適スケーリングパラメータそれぞれがその構成要素として決定される前記第kスケーリングレイヤを生成し、前記第k最適スケーリングパラメータの逆数それぞれがその構成要素として決定される前記第k逆スケーリングレイヤを生成することを特徴とするコンピューティング装置が提供される。
一実施例において、前記(IV)プロセスは、前記プロセッサが、(1)kが1である場合、(i)前記第k初期コンボリューションレイヤ及び前記第kスケーリングレイヤの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を前記入力値に適用して生成された結果との間の差が閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換し、(2)kが2以上m以下の常数である場合、(i)第(k−1)逆スケーリングレイヤと、前記第k初期コンボリューションレイヤと、前記第kスケーリングレイヤとの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を入力値に適用して生成された結果との間の差が前記閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換することを特徴とするコンピューティング装置が提供される。
一実施例において、前記プロセッサが、(V)前記第kコンボリューションブロックに含まれた前記第k統合コンボリューションレイヤの重み付け値を量子化して、前記第kコンボリューションブロックによって遂行されるCNN演算に対する最適化重み付け値として、第k量子化重み付け値を生成するプロセス;をさらに遂行することを特徴とするコンピューティング装置が提供される。
本発明は、出力値にある小さな値を含む特定チャンネルの各値を適切に反映するために、少なくとも一つの特徴マップに含まれた値を平坦化することができるようにCNNレイヤを変換する方法を提供することができ、モバイル装置または高精度の小型ネットワークなどに適用することが可能なハードウェアを最適化して使用され得る。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
図1は、本発明の一実施例によるCNNパラメータ量子化の最適化のためにCNNレイヤを変換する方法を遂行するためのコンピューティング装置の構成を示した図面である。 図2は、本発明の一実施例によるスケーリングレイヤ及び逆スケーリングレイヤが含まれたCNNの構成を示した図面である。 図3aは、本発明の一実施例によるスケーリングレイヤ及び逆スケーリングレイヤの位置を切り換えることにより、統合コンボリューションレイヤを生成する過程を示す図面である。 図3bは、本発明の一実施例によるスケーリングレイヤ及び逆スケーリングレイヤの位置を切り換えることにより、統合コンボリューションレイヤを生成する過程を示す図面である。 図4は、本発明の一実施例によるスケーリング方法によって値が大きく変わらない異なるいくつかのチャンネルの値を示す例示図である。 図5は、従来技術によって値が大きく変わる異なるいくつかのチャンネルの値を示す例示図である。
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述する詳細な説明は、限定的な意味として受け取ろうとするのではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似した参照符号は、様々な側面にわたって同一であるか、又は類似の機能を指す。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の各技術的特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
図1は、本発明の一実施例によるCNNパラメータ量子化の最適化のためにCNNレイヤを変換する方法を遂行するためのコンピューティング装置100の構成を示した図面である。また、図2は、本発明の一実施例によるスケーリングレイヤ及び逆スケーリングレイヤが含まれたCNNの構成を示した図面である。
図1を参照すると、コンピューティング装置100はCNN200を含むことができる。前記CNN200による様々なデータの入力及び出力と各種データ演算の過程は、それぞれ通信部110及びプロセッサ120によって行われ得る。ところが、図1において、通信部110とプロセッサ120とがどのように連結されるのについての詳細な説明は省略する。また、コンピューティング装置は、次のプロセスを遂行するためのコンピュータ読取り可能な命令語を格納することができるメモリ115をさらに含むことができる。一例として、プロセッサ、メモリ、ミディアム等は、統合プロセッサと統合され得る。
CNN200は、一つ以上のコンボリューションブロックを含むことができる。以下、便宜上、CNN200はm個のコンボリューションブロックを含み、kは1ないしmの常数を示すための変数として使用する。ここで、第kコンボリューションブロックは、図2に示されたように第k初期コンボリューションレイヤ211_k、第kアクティベーションレイヤ212_k及び第kプーリングレイヤ213_kを含むことができる。
以上、本発明のコンピューティング装置100及びそれに含まれたCNN200の構成を検討したところ、本発明の一実施例による第k初期コンボリューションレイヤ211_kの変換方法について簡略に説明することにする。
先ず、通信部110によってスケーリングパラメータを決定するために使用される入力イメージが取得され得る。以後、コンピューティング装置100は、(i)第kコンボリューションブロック210_kに含まれた第k初期コンボリューションレイヤ211_kの一つ以上の第k初期重み付け値と、(ii)第kコンボリューションブロック210_kによって処理される第(k−1)特徴マップと、(iii)第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングレイヤ214_kのそれぞれの第kスケーリングパラメータとを参照して、一つ以上の第k量子化ロス値を生成することができる。ここで、kが1である場合、第(k−1)特徴マップは、入力イメージを示すことができ、以下と同じである。
また、コンピューティング装置100は、(iv)BW値(前記BW値は、前記CNNに含まれた重み付け値及び特徴マップに含まれた値を二進数で表現するために使用されたビットの個数である)、及び(v)第kFL値(前記第kFL値は、前記第k初期コンボリューションレイヤの前記第k初期重み付け値及び第(k−1)特徴マップに含まれた値のLSBが示す数の指数の絶対値である)をさらに参照して、前記第k量子化ロス値を生成することができる。
また、コンピューティング装置100は、下記の公式によって第k量子化ロス値を生成することができる。
ここで、前記数式は、量子化ロスを微分して第k量子化ロス値を生成する過程を示す。
前記数式でθは、前記第(k−1)特徴マップ及び前記第k初期コンボリューションレイヤの前記第k初期重み付け値を含むことができる。Ckiは、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた第iチャンネルに対応する特定の第kスケーリングパラメータであり得る。FL及びBWはそれぞれ前記FL値及び前記BW値であり、Q演算は、前記FL値及び前記BW値を参照して生成されたCkiθの量子化された値とCkiθとの間の差を生成する演算であり得る。
前記のように、第k量子化ロス値が生成された後、コンピューティング装置100は、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定することができる。具体的に、前記コンピューティング装置100は、前記△Lを最も小さくする前記Ckiを選択することにより、前記第k最適スケーリングパラメータそれぞれを決定する。前記Ckiを選択するためにネステロフ最適化アルゴリズムが使用され得るが、これに限定されはしない。
ネステロフ最適化アルゴリズムを適用するためには、第kスケーリングパラメータ間の制約条件(constraint)を決定しなければならない。したがって、コンピューティング装置100は、CNN200に含まれたレイヤをトポロジー的にソート(topologically sort)することができる。以後、各レイヤの類型に対応する第kスケーリングパラメータに対する制約条件が決定され得る。しかし、制約条件のうち不必要な制約条件、例えば重複した制約条件が存在し得る。したがって、一部の制約条件が除去され得る。ここで、制約条件が除去される過程で各レイヤ間の連結状態情報を参照することができる。
以後、コンピューティング装置100は、CNN200でフォワードパッシング(Forward passing)及びバックワードパッシング(backward passing)を何回か繰り返して、各レイヤに含まれた重み付け値それぞれに対応する2Dヒストグラム(histogram)それぞれを取得して第k量子化ロス値のグラフを生成することができる。そして、コンピューティング装置100は、第kスケーリングパラメータそれぞれであるCkiを変化させながら第k量子化ロス値に対応する最も小さい第k最適スケーリングパラメータを決定することができる。前記パラメータを変化させる過程は、ネステロフ最適化アルゴリズムによって提案されたベクトル移動技法によることができる。
前記のような方式で、第k最適スケーリングパラメータが決定されると、コンピューティング装置100は、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する前記第k最適スケーリングパラメータのそれぞれがその構成要素として決定される前記第kスケーリングレイヤ214_kを生成し、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する前記第k最適スケーリングパラメータの逆数それぞれがその構成要素として決定される前記第k逆スケーリングレイヤ215_kを生成することができる。
以下では、図2を参照して、第kスケーリングレイヤ214_k及び第k逆スケーリングレイヤ215_kが第kコンボリューションブロック210_kにどのように挿入されるのかについて説明する。
図2を参照すると、第kスケーリングレイヤ214_k及び第k逆スケーリングレイヤ215_kがそれぞれアクティベーションレイヤ212_kの前端及び後端に挿入され得る。これは第kアクティベーションレイヤ212_k、第kスケーリングレイヤ214_k、及び第k逆スケーリングレイヤ215_kによって遂行される動作に交換法則が成立するためである。ここで、第kアクティベーションレイヤ212_kが遂行する演算は、ReLU演算であり得るが、これに限定されるわけではない。
数学的に整理すると、
前記数式を参照すると、Sc*I.Scは元来数式に追加され得る。なぜならば、ScすなわちスケーリングレイヤとI.Scすなわち逆スケーリングレイヤとは互いに逆関数の関係であるからである。そして、前記Sc項目とI.Sc項目とはアクティベーションレイヤと交換法則が成立するため、アクティベーションレイヤの両方に移され得るのである。
一方、第kスケーリングレイヤ214_k及び第k逆スケーリングレイヤ215_kがCNN200に追加されると、さらに多くのコンピュータリソースが必要であり、これは非効率的である。したがって、本発明はスケーリングレイヤ、初期コンボリューションレイヤ、及び逆スケーリングレイヤを統合する方法を提示するところ、図3a及び図3bを参照して説明することにする。
図3a及び図3bは、本発明の一実施例によるスケーリングレイヤ及び逆スケーリングレイヤの位置を切り換えることにより、統合コンボリューションレイヤを生成する過程を示す図面である。
図3a及び図3bを参照すると、第(k−1)コンボリューションブロック210_(k−1)に含まれた第(k−1)逆スケーリングレイヤ215_(k−1)は、第kコンボリューションブロック210_kに移され得る。これは第(k−1)プーリングレイヤ213_(k−1)自体は値の変化と関連がないためである。
図3bを参照すると、第(k−1)逆スケーリングレイヤ215_(k−1)、第k初期コンボリューションレイヤ211_k、及び第kスケーリングレイヤ214_kは、第k統合コンボリューションレイヤ216_kを生成するために統合され得る。コンピューティング装置100は、(i)第(k−1)逆スケーリングレイヤと、前記第k初期コンボリューションレイヤと、前記第kスケーリングレイヤとの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を入力値に適用して生成された結果との差が閾値より小さくなるように前記第k統合コンボリューションレイヤ216_kのパラメータが決定され得る。ここで、今までに説明した統合プロセスは、第(k−1)逆スケーリングレイヤ215_(k−1)、第k初期コンボリューションレイヤ211_k、及び第kスケーリングレイヤ214_kに対応する構成要素を掛け合わせるプロセスが含まれ得るが、これに限定されるわけではない。
kが1である場合については図3bに示されていないが、当然その前のブロックから移動された逆スケーリングレイヤがないので、最初の初期コンボリューションレイヤ211_1と最初のスケーリングレイヤ214_1のみが統合コンボリューションレイヤ216_1を生成するのに使用される。
上記で説明されたプロセスは、量子化に最適化された第k統合コンボリューションレイヤ216_kのパラメータを生成するためのものである。ここで、第k統合コンボリューションレイヤ216_kのパラメータを生成するプロセスとは独立して量子化プロセスが説明される。したがって、コンピューティング装置100が前記第kコンボリューションブロック210_kに含まれた重み付け値を量子化して、前記第kコンボリューションブロック210_kによって遂行されるCNN演算に対する最適化重み付け値として、第k量子化重み付け値を生成することができる。これは、前記第k統合コンボリューションレイヤ216_kを生成するプロセスの前、プロセスの途中、プロセスの後に関係なく遂行される。
前記最適化された量子化CNN重み付け値の長所は、図4を参照して説明する。
図4は、本発明の一実施例によるスケーリング方法によって値が大きく変わらない異なるいくつかのチャンネルの値を示す例示図である。
まず、従来技術を説明する際に参照していた図5を参照すると、本発明によって提供される方法が適用されない場合、第1特徴マップに含まれた第2チャンネルの値が第1特徴マップに含まれた第1チャンネルの値よりはるかに小さいことが確認された。これと反対に、図4を参照すると、第1チャンネルの値と第2チャンネルの値とが類似することが分かる。これは第1統合コンボリューションレイヤ216_1の重み付け値に反映された第1スケーリングパラメータによるものであって、第1値と第2値との間の差が大きくないため、第1コンボリューションブロック210_2によって遂行された演算の後で第1値及び第2の値が適切に量子化され得るのである。
本発明の技術分野における通常の技術者にとって理解され得るところとして、上記にて説明されたイメージ、例えば原本イメージ、原本ラベル及び追加ラベルのようなイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/又はメモリ)により保有/維持され得、コンボリューション演算、デコンボリューション演算、ロス値演算の過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明がこれに限定されはしないであろう。
以上にて説明された本発明による実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカル・ディスク(Floptical Disk)のような磁気−光メディア(Magneto−Optical Media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行される高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、係る記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。

Claims (14)

  1. m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換する方法において、
    (a)コンピューティング装置が、スケーリングパラメータを決定するために使用される入力イメージが取得されると、(i)第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの一つ以上の第k初期重み付け値と、(ii)(ii−1)kが1である場合、前記入力イメージ、(ii−2)kが2からmまでの常数である場合、第(k−1)コンボリューションブロックから出力された前記入力イメージに対応する第(k−1)特徴マップと、(iii)(iii−1)kが1である場合、前記入力イメージに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれ、及び(iii−2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれを参照して、一つ以上の第k量子化ロス値と、を生成する段階(kは1からmまでの常数である);
    (b)前記コンピューティング装置が、前記第k量子化ロス値を参照して、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定する段階;
    (c)前記コンピューティング装置が、前記第k最適スケーリングパラメータを参照して、第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成する段階;
    (d)前記コンピューティング装置が、(i)kが1である場合、前記第kスケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換し、(ii)kが2からmまでの常数である場合、前記第kスケーリングレイヤ及び前記第(k−1)逆スケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換する段階;
    を含むことを特徴とする方法。
  2. 前記(a)段階は、
    前記コンピューティング装置が、(iv)BW値(前記BW値は、前記CNNに含まれた重み付け値及び特徴マップに含まれた値を二進数で表現するために使用されたビットの個数である)、及び(v)第kFL値(前記第kFL値は、(i)前記第k初期コンボリューションレイヤの前記第k初期重み付け値、及び(ii)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれた値であり、kが1である場合、前記入力イメージに含まれた値のLSBが示す数の指数の絶対値である)をさらに参照して、前記第k量子化ロス値を生成することを含むことを特徴とする請求項1に記載の方法。
  3. 前記(a)段階は、
    前記数式によって前記第k量子化ロス値が生成され、前記数式でθは(i)kが2からmまでの常数である場合、前記第(k−1)特徴マップ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値、(ii)kが1である場合、前記入力イメージ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値を含み、Ckiは、前記第kスケーリングパラメータのうちで特定の第kスケーリングパラメータであり、FL及びBWはそれぞれ前記FL値及び前記BW値であり、Q演算は、前記FL値及び前記BW値を参照して生成されたCkiθの量子化された値とCkiθとの間の差を生成する演算であり、
    前記(b)段階は、前記コンピューティング装置が、前記△Lを最も小さくする前記Ckiを選択することにより、前記第k最適スケーリングパラメータそれぞれを決定することを特徴とする請求項2に記載の方法。
  4. 前記コンピューティング装置が、ネステロフ加速勾配(Nesterov Accelerated Gradient)法を使用して、前記Ckiを選択して前記第k最適スケーリングパラメータを決定することを特徴とする請求項3に記載の方法。
  5. 前記(c)段階は、
    前記コンピューティング装置が、
    前記第k最適スケーリングパラメータそれぞれがその構成要素として決定される前記第kスケーリングレイヤを生成し、前記第k最適スケーリングパラメータの逆数それぞれがその構成要素として決定される前記第k逆スケーリングレイヤを生成することを特徴とする請求項1に記載の方法。
  6. 前記(d)段階は、
    前記コンピューティング装置が、(1)kが1である場合、(i)前記第k初期コンボリューションレイヤ及び前記第kスケーリングレイヤの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を前記入力値に適用して生成された結果との間の差が閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換し、(2)kが2以上m以下の常数である場合、(i)第(k−1)逆スケーリングレイヤと、前記第k初期コンボリューションレイヤと、前記第kスケーリングレイヤとの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を入力値に適用して生成された結果との間の差が前記閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換することを特徴とする請求項1に記載の方法。
  7. (e)前記コンピューティング装置が、前記第kコンボリューションブロックに含まれた前記第k統合コンボリューションレイヤの各重み付け値を量子化して、前記第kコンボリューションブロックにより遂行されるCNN演算に対する最適化重み付け値として、第k量子化重み付け値を生成する段階;
    をさらに含むことを特徴とする請求項1に記載の方法。
  8. m個のコンボリューションブロックを含むCNNのコンボリューションレイヤを変換するコンピューティング装置において、
    各インストラクションを格納する少なくとも一つのメモリと、
    (I)(i)第kコンボリューションブロックに含まれた第k初期コンボリューションレイヤの一つ以上の第k初期重み付け値と、(ii)(ii−1)kが1である場合、スケーリングパラメータを決定するために使用される入力イメージ、(ii−2)kが2からmまでの常数である場合、第(k−1)コンボリューションブロックから出力された前記入力イメージに対応する第(k−1)特徴マップと、(iii)(iii−1)kが1である場合、前記入力イメージに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれ、及び(iii−2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれたチャンネルそれぞれに対応する第kスケーリングパラメータそれぞれを参照して、一つ以上の第k量子化ロス値と、を生成するプロセス(kは1からmまでの常数である);(II)前記第k量子化ロス値を参照して、前記第kスケーリングパラメータのうちで前記第(k−1)特徴マップに含まれた前記チャンネルそれぞれに対応する第k最適スケーリングパラメータそれぞれを決定するプロセス;(III)前記第k最適スケーリングパラメータを参照して、第kスケーリングレイヤ及び第k逆スケーリングレイヤを生成するプロセス;(IV)(i)kが1である場合、前記第kスケーリングレイヤを使用して、前記第k初期コンボリューションレイヤを第k統合コンボリューションレイヤに変換し、(ii)kが2からmまでの常数である場合、前記第kスケーリングレイヤ及び前記第(k−1)逆スケーリングレイヤを使用して前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換するプロセス;を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、
    を含むことを特徴とするコンピューティング装置。
  9. 前記(I)プロセスは、
    前記プロセッサが、(iv)BW値(前記BW値は、前記CNNに含まれた重み付け値及び特徴マップに含まれた値を二進数で表現するために使用されたビットの個数である)、及び(v)第kFL値(前記第kFL値は、(1)前記第k初期コンボリューションレイヤの前記第k初期重み付け値、及び(2)kが2からmまでの常数である場合、前記第(k−1)特徴マップに含まれた値であり、kが1である場合、前記入力イメージに含まれた値のLSBが示す数の指数の絶対値である)をさらに参照して、前記第k量子化ロス値を生成することを含むことを特徴とする請求項8に記載のコンピューティング装置。
  10. 前記(I)プロセスは、
    前記プロセッサが、
    前記数式によって前記第k量子化ロス値が生成され、前記数式でθは(i)kが2からmまでの常数である場合、前記第(k−1)特徴マップ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値、(ii)kが1である場合、前記入力イメージ及び前記第k初期コンボリューション特徴マップの前記第k初期重み付け値の値を含み、Ckiは、前記第kスケーリングパラメータのうちで特定の第kスケーリングパラメータであり、FL及びBWはそれぞれ前記FL値及び前記BW値であり、Q演算は、前記FL値及び前記BW値を参照して生成されたCkiθの量子化された値とCkiθとの間の差を生成する演算であり、
    前記(II)プロセスは、
    前記プロセッサが、
    前記△Lを最も小さくする前記Ckiを選択することにより、前記第k最適スケーリングパラメータそれぞれを決定することを特徴とする請求項9に記載のコンピューティング装置。
  11. 前記プロセッサが、ネステロフ加速勾配(Nesterov Accelerated Gradient)法を使用して、前記Ckiを選択して前記第k最適スケーリングパラメータを決定することを特徴とする請求項10に記載のコンピューティング装置。
  12. 前記(III)プロセスは、
    前記プロセッサが、前記第k最適スケーリングパラメータそれぞれがその構成要素として決定される前記第kスケーリングレイヤを生成し、前記第k最適スケーリングパラメータの逆数それぞれがその構成要素として決定される前記第k逆スケーリングレイヤを生成することを特徴とする請求項8に記載のコンピューティング装置。
  13. 前記(IV)プロセスは、
    前記プロセッサが、(1)kが1である場合、(i)前記第k初期コンボリューションレイヤ及び前記第kスケーリングレイヤの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を前記入力値に適用して生成された結果との差が閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換し、(2)kが2以上m以下の常数である場合、(i)第(k−1)逆スケーリングレイヤと、前記第k初期コンボリューションレイヤと、前記第kスケーリングレイヤとの演算を入力値に適用して生成された結果と、(ii)前記第k統合コンボリューションレイヤの演算を入力値に適用して生成された結果との間の差が前記閾値より小さくなるように前記第k初期コンボリューションレイヤを前記第k統合コンボリューションレイヤに変換することを特徴とする請求項8に記載のコンピューティング装置。
  14. 前記プロセッサが、
    (V)前記第kコンボリューションブロックに含まれた前記第k統合コンボリューションレイヤの重み付け値を量子化して、前記第kコンボリューションブロックにより遂行されるCNN演算に対する最適化重み付け値として、第k量子化重み付け値を生成するプロセス;をさらに遂行することを特徴とする請求項8に記載のコンピューティング装置。

JP2019238383A 2019-01-23 2019-12-27 ハードウェア最適化を通じてモバイル装置または高精度の小型ネットワークに使用されるcnnパラメータ量子化を最適化するためにcnnレイヤを変換する方法及び装置 Active JP6872264B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/255,197 US10325352B1 (en) 2019-01-23 2019-01-23 Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
US16/255,197 2019-01-23

Publications (2)

Publication Number Publication Date
JP2020119518A true JP2020119518A (ja) 2020-08-06
JP6872264B2 JP6872264B2 (ja) 2021-05-19

Family

ID=66826142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019238383A Active JP6872264B2 (ja) 2019-01-23 2019-12-27 ハードウェア最適化を通じてモバイル装置または高精度の小型ネットワークに使用されるcnnパラメータ量子化を最適化するためにcnnレイヤを変換する方法及び装置

Country Status (5)

Country Link
US (1) US10325352B1 (ja)
EP (1) EP3686808B1 (ja)
JP (1) JP6872264B2 (ja)
KR (1) KR102349916B1 (ja)
CN (1) CN111476341B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560696B2 (en) * 2018-06-25 2020-02-11 Tfi Digital Media Limited Method for initial quantization parameter optimization in video coding
US11551054B2 (en) 2019-08-27 2023-01-10 International Business Machines Corporation System-aware selective quantization for performance optimized distributed deep learning
JP7357225B2 (ja) * 2020-03-27 2023-10-06 パナソニックIpマネジメント株式会社 推論実行方法
KR102368590B1 (ko) * 2020-05-19 2022-03-02 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021251614A1 (en) 2020-06-12 2021-12-16 Samsung Electronics Co., Ltd. Image processing apparatus and method of operating the same
KR20220045357A (ko) * 2020-10-05 2022-04-12 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102539876B1 (ko) * 2020-11-30 2023-06-02 경희대학교 산학협력단 인공지능 기술을 이용한 적층형 저항 변화 메모리 소자의 계층 최적화 시스템 및 그 방법
WO2023008678A1 (ko) * 2021-07-30 2023-02-02 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법
GB2622875A (en) * 2022-09-30 2024-04-03 Imagination Tech Ltd Methods and systems for performing channel equalisation on a convolution layer in a neural network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015078018A1 (en) * 2013-11-30 2015-06-04 Xiaoou Tang Method and system for face image recognition
WO2017196931A1 (en) * 2016-05-10 2017-11-16 Google Llc Frequency based audio analysis using neural networks
WO2018031833A1 (en) * 2016-08-12 2018-02-15 The Procter & Gamble Company Aerosol container having valve cup with integral bag
JP2018181124A (ja) * 2017-04-18 2018-11-15 Kddi株式会社 エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善するプログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9418319B2 (en) * 2014-11-21 2016-08-16 Adobe Systems Incorporated Object detection using cascaded convolutional neural networks
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US10970617B2 (en) * 2015-08-21 2021-04-06 Institute Of Automation Chinese Academy Of Sciences Deep convolutional neural network acceleration and compression method based on parameter quantification
US11074492B2 (en) * 2015-10-07 2021-07-27 Altera Corporation Method and apparatus for performing different types of convolution operations with the same processing elements
US9965719B2 (en) * 2015-11-04 2018-05-08 Nec Corporation Subcategory-aware convolutional neural networks for object detection
US20170124409A1 (en) * 2015-11-04 2017-05-04 Nec Laboratories America, Inc. Cascaded neural network with scale dependent pooling for object detection
US9904874B2 (en) * 2015-11-05 2018-02-27 Microsoft Technology Licensing, Llc Hardware-efficient deep convolutional neural networks
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
WO2017139927A1 (en) * 2016-02-17 2017-08-24 Intel Corporation Region proposal for image regions that include objects of interest using feature maps from multiple layers of a convolutional neural network model
US10354362B2 (en) * 2016-09-08 2019-07-16 Carnegie Mellon University Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network
US10387740B2 (en) * 2016-10-10 2019-08-20 Gyrfalcon Technology Inc. Object detection and recognition apparatus based on CNN based integrated circuits
US20180107926A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
US10198671B1 (en) * 2016-11-10 2019-02-05 Snap Inc. Dense captioning with joint interference and visual context
CN106504190B (zh) * 2016-12-29 2019-09-13 浙江工商大学 一种基于3d卷积神经网络的立体视频生成方法
US11392825B2 (en) * 2017-01-09 2022-07-19 Samsung Electronics Co., Ltd. Method and algorithm of recursive deep learning quantization for weight bit reduction
US20180211403A1 (en) * 2017-01-20 2018-07-26 Ford Global Technologies, Llc Recurrent Deep Convolutional Neural Network For Object Detection
CN108345939B (zh) * 2017-01-25 2022-05-24 微软技术许可有限责任公司 基于定点运算的神经网络
US10127495B1 (en) * 2017-04-14 2018-11-13 Rohan Bopardikar Reducing the size of a neural network through reduction of the weight matrices
CN115688877A (zh) * 2017-06-06 2023-02-03 格兰菲智能科技有限公司 一种用于对待量化数据进行定点化处理的方法及计算装置
GB201709672D0 (en) * 2017-06-16 2017-08-02 Ucl Business Plc A system and computer-implemented method for segmenting an image
CN107330852A (zh) * 2017-07-03 2017-11-07 深圳市唯特视科技有限公司 一种基于实时零点图像操作网络的图像处理方法
US10878273B2 (en) * 2017-07-06 2020-12-29 Texas Instruments Incorporated Dynamic quantization for deep neural network inference system and method
US10474908B2 (en) * 2017-07-06 2019-11-12 GM Global Technology Operations LLC Unified deep convolutional neural net for free-space estimation, object detection and object pose estimation
US10728553B2 (en) * 2017-07-11 2020-07-28 Sony Corporation Visual quality preserving quantization parameter prediction with deep neural network
JP7149692B2 (ja) * 2017-08-09 2022-10-07 キヤノン株式会社 画像処理装置、画像処理方法
KR20190034985A (ko) * 2017-09-25 2019-04-03 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015078018A1 (en) * 2013-11-30 2015-06-04 Xiaoou Tang Method and system for face image recognition
WO2017196931A1 (en) * 2016-05-10 2017-11-16 Google Llc Frequency based audio analysis using neural networks
WO2018031833A1 (en) * 2016-08-12 2018-02-15 The Procter & Gamble Company Aerosol container having valve cup with integral bag
JP2018181124A (ja) * 2017-04-18 2018-11-15 Kddi株式会社 エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善するプログラム

Also Published As

Publication number Publication date
KR102349916B1 (ko) 2022-01-12
EP3686808A1 (en) 2020-07-29
KR20200091785A (ko) 2020-07-31
EP3686808C0 (en) 2024-01-24
US10325352B1 (en) 2019-06-18
EP3686808B1 (en) 2024-01-24
JP6872264B2 (ja) 2021-05-19
CN111476341B (zh) 2024-04-12
CN111476341A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
JP2020119518A (ja) ハードウェア最適化を通じてモバイル装置または高精度の小型ネットワークに使用されるcnnパラメータ量子化を最適化するためにcnnレイヤを変換する方法及び装置
KR102313133B1 (ko) 컨벌루션 뉴럴 네트워크로부터 복수의 출력들의 앙상블을 이용하여 통합된 특징 맵을 제공하기 위한 방법 및 장치
US10282864B1 (en) Method and device for encoding image and testing method and testing device using the same
JP2019067408A (ja) イメージセグメンテーションのための学習方法及び学習装置、そしてこれを利用したイメージセグメンテーション方法及びイメージセグメンテーション装置
KR20200095356A (ko) 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법
EP3686809B1 (en) Method and device for transforming cnn layers to optimize cnn parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
EP3686792A1 (en) Method and device for segmenting image to be used for surveillance using weighted convolution filters for respective grid cells by converting modes according to classes of areas to satisfy level 4 of autonomous vehicle, and testing method and testing device using the same
JP7252120B2 (ja) 核心性能指数を満たすことができるハードウェア最適化が行われるように、cnnで複数のブロック内の入力イメージから特徴を抽出する学習方法及び学習装置、それを利用したテスト方法及びテスト装置
JP2020038666A (ja) 自律走行状況で障害物検出のための学習用データセットの生成方法及びこれを利用したコンピューティング装置、学習方法及び学習装置
KR102313604B1 (ko) 멀티 피딩을 적용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10325185B1 (en) Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
JP2020119567A (ja) スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス連続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置
CN109460815A (zh) 一种单目视觉深度估计方法
JP6856957B2 (ja) 写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたcnnを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
KR20200091795A (ko) 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR20200066143A (ko) 축소 반복 블록을 이용한 뉴럴 네트워크 경량화 방법 및 이를 위한 장치
CN109508639A (zh) 基于多尺度带孔卷积神经网络的道路场景语义分割方法
KR102349969B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치
CN117274049A (zh) 一种基于训练后量化的视频超分方法
CN115760942A (zh) 基于神经网络和边缘计算芯片的单目深度估计方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6872264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250