JP2019075114A - アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置 - Google Patents

アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置 Download PDF

Info

Publication number
JP2019075114A
JP2019075114A JP2018193024A JP2018193024A JP2019075114A JP 2019075114 A JP2019075114 A JP 2019075114A JP 2018193024 A JP2018193024 A JP 2018193024A JP 2018193024 A JP2018193024 A JP 2018193024A JP 2019075114 A JP2019075114 A JP 2019075114A
Authority
JP
Japan
Prior art keywords
value
convolution
convolution layer
layer
cnn
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
JP2018193024A
Other languages
English (en)
Other versions
JP6676721B2 (ja
Inventor
キム、ヨンジョン
Yongjoong Kim
ナム、ウンユン
Woonhyun Nam
ボ、シュクフン
Sukhoon Boo
シュン、ミュンチュル
Myungchul Sung
エオ、ドンフン
Donghun Yeo
リュウ、ウージュ
Wooju Ryu
ジャン、タエウォン
Taewoong Jang
ジョン、キュンジョン
Kyungjoong Jeong
ジェ、ホンモ
Hong Mo 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 JP2019075114A publication Critical patent/JP2019075114A/ja
Application granted granted Critical
Publication of JP6676721B2 publication Critical patent/JP6676721B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

【課題】CNNでコンボリューション演算とアクティベーション演算を同時に遂行する方法を提供する。【解決手段】CNN構成方法はコンピューティング装置が、CNN演算装置500にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力する段階、コンピューティング装置が、CNN演算装置にある選択器をもって、コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち比較結果値に対応される特定パラメータを出力する段階及びコンピューティング装置が、CNN演算装置にある乗算器をもって、選択された特定パラメータと入力値を掛けた値を出力し、掛けた値を、アクティベーションモジュールの出力にコンボリューションレイヤのコンボリューション演算を適用した結果値に決定する段階を含む。【選択図】図5

Description

本発明はアクティベーション演算とコンボリューション演算を同時に遂行できる演算方法及び演算装置、そしてこれを具現するための学習方法及び学習装置に関する。より詳細には、(a)前記コンピューティング装置が、CNNの演算装置にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力する段階;(b)前記コンピューティング装置が、前記CNNの演算装置にある選択器をもって、前記コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち前記比較結果値に対応される特定パラメータを出力する段階;及び(c)前記コンピューティング装置が、前記CNNの演算装置にある乗算器をもって、前記選択された特定パラメータと前記入力値を掛けた値を出力し、前記掛けた値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定する段階;を含むことを特徴とする方法及び装置、そしてこのための学習方法及び装置に関する。
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Networks;ディープCNN)はディープラーニング分野で起きた驚くべき発展の核心である。CNNは文字認識問題を解くために90年代に既に使用されていたが、現在のように広く使用されるようになったのは最近の研究結果のおかげである。このようなディープCNNは2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そうして、コンボリューションニューラルネットワークはMachine Learning分野で非常に有用なツールとなった。
図1はCReLU演算とコンボリューション演算を遂行できる既存のCNN学習装置の構成を示す。
図1を参照すれば、既存のCNN学習装置100はコンボリューションレイヤ110、130、CReLU(Concatenated Rectified Linear Unit)120及び他のCReLU(未図示)を含んでおり、演算が交互に複数回反復される形態を有している。
この時、CReLU120は2個のReLU(Rectified Linear Unit)122を含み、ReLU122で遂行する演算は下のような数式で遂行される。
Figure 2019075114
前記CReLUは既存のCNNモデルのコンボリューションフィルタを学習する時、陰の相関関係が強いフィルタがペアで学習される現象に着眼して下の数式のような既存ReLUのポジティブアクティベーションだけでなく、ネガティブアクティベーションも追加で作り出すアクティベーションスキームである。
Figure 2019075114
図1のように、コンボリューション演算とCReLU(またはReLU)演算が交互に反復される構造で、CReLUはReLUと比較した時にコンボリューション演算量が増加することなく2倍の個数の結果値を出力するか、または同じ個数の結果値を出力する時に前のコンボリューション演算量を1/2に減らすことができる長所がある。従って、CReLU導入により検出速度を維持しながら、検出正確度を高めることができるか、検出正確度を維持しながら、検出速度を速めることができるようになる。
図1でCReLUユニット120は一つのスケールレイヤ121、2個のReLUレイヤ122及びコンカチネーションレイヤ123を含む。スケールレイヤ121は以前のコンボリューションレイヤ110からの値に−1を掛けて出力し、ReLUレイヤ122のうち一つは以前のコンボリューションレイヤ110から値を入力され、他の一つはスケールレイヤ121からスケーリングされた値を入力されて、ReLU演算を遂行する。図1でReLUレイヤ122とコンカチネーションレイヤ123はその順序が変わってもよい。万一コンカチネーションレイヤ123以後にReLUレイヤ122が連結されれば、ReLUレイヤは1個だけ存在する。
図1を参照すれば、以前のコンボリューションレイヤ110からの出力値として
Figure 2019075114

(例えば、この値は(x=0,y=0,チャネルch=0)である位置の画素値が1、(x=1,y=0,チャネルch=1)である位置の画素値が2、(x=0,y=1,チャネルch=1)である位置の画素値が3、(x=1,y=1,チャネルch=0)である位置の画素値が4であり、残りはすべて0である特徴マップを示す)がCReLU120に入力されると、スケールレイヤ121は各値に−1をかけて生成した値である
Figure 2019075114

を二番目のReLUレイヤに伝達し、
Figure 2019075114

値を直接伝達された一番目ReLUレイヤ及びスケールレイヤ121から
Figure 2019075114

値を伝達された二番目のReLUレイヤは各々ポジティブアクティベーション演算を遂行して
Figure 2019075114


Figure 2019075114

を生成してこれをコンカチネーションレイヤ123に伝達する。それから、コンカチネーションレイヤ123はこれらの値を一つにコンカチネートして
Figure 2019075114

を生成してこれを次の隣り合ったコンボリューションレイヤ130に伝達する。コンボリューションレイヤ130はこれらの値にコンボリューション演算を遂行する。
一方、図1のように、CReLUレイヤの演算とコンボリューションレイヤの演算を別途遂行するようになると、各々の独立的な演算プロセスが遂行されて演算量が多い問題がある。
従って、本発明ではCReLUが用いられたCNNモデルでコンボリューション演算量を減らすための新たな方法を提供しようとする。
本発明はCReLUユニットが用いられたCNNでコンボリューションレイヤの演算量を減らす方法を提供することを目的とする。
また、本発明はコンボリューション演算量やメモリが大きく増加することなくCNNモデルの複雑度を高めて検出正確度を高めることができる方法を提供することを目的とする。
発明の一態様によれば、コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成方法において、(a)前記コンピューティング装置が、CNNの演算装置にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力する段階;(b)前記コンピューティング装置が、前記CNNの演算装置にある選択器をもって、前記コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち前記比較結果値に対応される特定パラメータを出力する段階;及び(c)前記コンピューティング装置が、前記CNNの演算装置にある乗算器をもって、前記選択された特定パラメータと前記入力値を掛けた値を出力し、前記掛けた値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定する段階;を含むことを特徴とする方法が提供される。
一例として、前記アクティベーション演算はCReLU(Concatenated Rectified Linear Units)演算であることを特徴とする方法が提供される。
一例として、前記(a)段階ないし(c)段階を含む方法は次の数式で表現されて、
Figure 2019075114
ここで、CReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、前記w1、w2は前記コンボリューションレイヤのパラメータ、a、bは前記w1、w2を獲得するために用いられるべきコンボリューションレイヤの要素パラメータであり、前記所定の基準値は0であることを特徴とする方法が提供される。
本発明の他の態様によれば、コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成方法において、(a)前記コンピューティング装置が、CNNの演算装置にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の区間区分の基準値と比較して前記入力された値が前記所定の区間区分の基準値のうちどの値の間の区間に該当するかに対する情報を参照にして比較結果値を出力する段階;(b)前記コンピューティング装置が、前記CNNの演算装置にある第1選択器をもって、前記コンボリューションレイヤの多数の統合ウェイトパラメータのうち前記比較結果値に対応される特定統合ウェイトパラメータを出力するプロセス及び前記CNNの演算装置にある第2選択器をもって、前記コンボリューションレイヤの多数の修正バイアスパラメータのうち前記比較結果値に対応される特定修正バイアスパラメータを出力するプロセスを遂行する段階;(c)前記コンピューティング装置が、前記CNNの演算装置にある乗算器をもって、前記選択された特定統合ウェイトパラメータと前記入力値を掛けて出力する段階;及び(d)前記コンピューティング装置が、前記CNNの演算装置にある加算器をもって、前記乗算出力値に前記選択された特定修正バイアスパラメータを足した値を出力し、前記足した値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定する段階;を含むことを特徴とする方法が提供される。
一例として、前記アクティベーション演算はN−way CReLU(N−way Concatenated Rectified Linear Units)演算であることを特徴とする方法が提供される。
一例として、前記(a)段階ないし(d)段階を含む方法は次の数式で表現されて、
Figure 2019075114
ここで、NCReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、wiは前記コンボリューションレイヤの統合ウェイトパラメータ、biは前記コンボリューションレイヤの修正バイアスパラメータ、viは所定の区間区分の基準値であることを特徴とする方法が提供される。
一例として、前記統合ウェイトパラメータ(wi)、前記修正バイアスパラメータ(bi)、前記所定の区間区分の基準値(vi)は次の数式で算出されて、
Figure 2019075114
ここで、qi(q1ないしqn-1)は各バイアスレイヤの要素バイアスパラメータで、pi(p1ないしpn)は各コンボリューションレイヤの要素ウェイトパラメータで、dはコンボリューションレイヤの要素バイアスパラメータであり、rank(qi)は{q1,…..qn-1}のうちqiが何番目に大きい数かを示して、rank-1(i)は{q1,…qn-1}のうちi番目に大きい数のインデックス(Index)を示すことを特徴とする方法が提供される。
本発明のまた他の態様によれば、コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成装置において、入力イメージの各画素値に対応する入力値を入力される通信部;(i)前記入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力するプロセス;(ii)前記コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち前記比較結果値に対応される特定パラメータを出力するプロセス;及び(iii)前記選択された特定パラメータと前記入力値を掛けた値を出力し、前記掛けた値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定するプロセスを遂行するプロセッサ;を含むことを特徴とする装置が提供される。
一例として、前記アクティベーション演算はCReLU(Concatenated Rectified Linear Units)演算であることを特徴とする装置が提供される。
一例として、前記プロセッサの前記(i)ないし(iii)プロセスは次の数式で表現されて、
Figure 2019075114
ここで、CReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、前記w1、w2は前記コンボリューションレイヤのパラメータ、a、bは前記w1、w2を獲得するために用いられるべきコンボリューションレイヤの要素パラメータであり、前記所定の基準値は0であることを特徴とする装置が提供される。
本発明のまた他の態様によれば、コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成装置において、入力イメージの各画素値に対応する入力値を入力される通信部;(i)前記入力値を所定の区間区分の基準値と比較して前記入力された値が前記所定の区間区分の基準値のうちどの値の間の区間に該当するかに対する情報を参照にして比較結果値を出力するプロセス;(ii)前記コンボリューションレイヤの多数の統合ウェイトパラメータのうち前記比較結果値に対応される特定統合ウェイトパラメータを出力するプロセス;(iii)前記コンボリューションレイヤの多数の修正バイアスパラメータのうち前記比較結果値に対応される特定修正バイアスパラメータを出力するプロセス;(iv)前記選択された特定統合ウェイトパラメータと前記入力値を掛けて出力するプロセス;及び(v)前記乗算出力値に前記選択された特定修正バイアスパラメータを足した値を出力し、前記足した値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果値に決定するプロセス;を遂行するプロセッサ;を含むことを特徴とする装置が提供される。
一例として、前記アクティベーション演算はN−way CReLU(N−way Concatenated Rectified Linear Units)演算であることを特徴とする装置が提供される。
一例として、前記プロセッサの前記(i)ないし(v)プロセスは次の数式で表現されて、
Figure 2019075114
ここで、NCReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、wiは前記コンボリューションレイヤの統合ウェイトパラメータ、biは前記コンボリューションレイヤの修正バイアスパラメータ、viは所定の区間区分の基準値であることを特徴とする装置が提供される。
一例として、前記統合ウェイトパラメータ(wi)、前記修正バイアスパラメータ(bi)、前記所定の区間区分の基準値(vi)は次の数式で算出されて、
Figure 2019075114
ここで、qi(q1ないしqn-1)は学習された各バイアスレイヤの要素バイアスパラメータで、pi(p1ないしpn)は各コンボリューションレイヤの要素ウェイトパラメータで、dはコンボリューションレイヤの要素バイアスパラメータであり、rank(qi)は{q1,…..qn-1}のうちqiが何番目に大きい数かを示して、rank-1(i)は{q1,…qn-1}のうちi番目に大きい数のインデックス(Index)を示すことを特徴とする装置が提供される。
本発明によれば、より少ない演算量を要求する新たな演算ユニットを通じて、CReLU演算とコンボリューション演算を同時に遂行するようにすることができる。
また、本発明によれば、N−way CreLUを具現することで、コンボリューションレイヤでの演算量を減らしながら、他のレイヤでの演算量やメモリが大きく増加することなく検出正確度を高めることができる効果がある。
図1は、CReLU演算とコンボリューション演算を遂行できる既存のCNN学習装置の構成を示す。 図2は、本発明の一実施例にかかるCReLU演算とコンボリューション演算を統合するためのCNN学習装置の演算方法を示す。 図3Aは、図2の例示的な演算過程を示す。 図3Bは、図2の例示的な演算過程を示す。 図4Aは、CReLU_Conv演算の例を示す。 図4Bは、CReLU_Conv演算の例を示す。 図4Cは、NCReLU_Conv演算の例を示して、ここで、Nは3である。 図5は、本発明の他の実施例にかかるCNNのNCReLU_Conv演算方法を示す。 図6Aは、図5の例示的な演算過程を示す。 図6Bは、図5の例示的な演算過程を示す。 図7は、本発明のまた他の実施例により図6のNCReLU_Conv演算を具現するためのCNN学習装置を示す。 図8は、図7の例示的な演算過程を示す。
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一実施例にかかる本発明の精神及び範囲を逸脱せずに他の実施例で具現され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されると、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面を参照して詳細に説明することとする。
図2は本発明の一実施例にかかるCReLU演算とコンボリューション演算を統合するためのCNN学習装置の演算方法を示す。
図2を参照すれば、本発明にかかるCReLU演算とコンボリューション演算を統合するためのCNN演算装置200は比較器201、選択器202及び乗算器203を含む。本発明にかかるCNN演算装置200は所定の入力(例えば、以前のコンボリューションレイヤ(未図示)から伝達された特徴マップ)を受信するための通信部(未図示)と前記比較器201、選択器202及び乗算器203で遂行するプロセスを遂行するプロセッサ(未図示)から構成され得る。即ち、前記比較器201、選択器202及び乗算器203の機能はCNN演算装置200内のプロセッサ(未図示)で遂行される各プロセスで具現され得る。
再び図1を参照すれば、図1のCReLU120の演算は一つの入力に対して二つの出力を作り出すのに下のような数式で表現され得る。
Figure 2019075114
上の数式3のように、CReLUは入力値の範囲に応じて一番目または二番目の出力値だけ0ではない値を有するようにする。
万一CNNのコンボリューションレイヤ130がコンボリューションフィルタの要素パラメータ値として
Figure 2019075114

を有する場合、CNNでCReLU120の演算結果を入力でコンボリューションレイヤ130による演算をすることは、下のような数式で簡略に表現され得る。
Figure 2019075114
上の数式4のように、CReLU演算とコンボリューション演算を合わせて考えると、CReLUの入力値の範囲に応じてコンボリューションレイヤのパラメータ値を定める形態に変えて次のような数式で表現し得る。
Figure 2019075114
ここで、CReLU_ConvはCReLUユニットの出力にコンボリューションフィルタを適用した演算結果を示して、xは入力値、前記w1、w2はコンボリューションレイヤのパラメータ、a、bは前記w1、w2を獲得するための学習されたコンボリューションレイヤの要素パラメータである。
図2は前記数式5を具現するためのCNN演算装置200の演算方法を示す。
従来技術によりCReLU演算の次にコンボリューション演算を適用すると、CReLUの出力値に0を掛ける演算のような不要な演算が多く生じざるを得ない。しかし、本発明にかかるCNN演算装置200を利用したCNN演算構成方法は、CReLUでの演算とコンボリューション演算を一つに合わせて、CReLUの入力値(x)の範囲に応じてコンボリューションレイヤのパラメータ値(w1、w2)を選択して掛ける形態の効率的な演算過程を利用する。
具体的に図2を参照すれば、本発明にかかるCNN演算装置200がテストイメージとしての入力イメージを入力されると、演算装置200内の比較器201で入力されたイメージの各画素値に対応する入力値(x)を所定の基準値と比較してその比較結果に対する比較結果値を出力する。前記入力イメージはCNN装置に入力されるテストイメージだけでなく以前のCNN演算装置、以前のコンボリューションレイヤまたは以前のアクティベーションレイヤなどから出力されて入力されたイメージまたは特徴マップなどのうち少なくとも一部を含む概念である。そして、前記所定の基準値は0であり得るが、これに限定されるものではない。
また、前記選択器202は前記比較結果を参照して前記パラメータ(w1、w2)のうち選択された特定パラメータを出力して乗算器203に伝達する。
そして、前記乗算器203は前記入力値(x)と前記選択された特定パラメータを掛けて、掛けた値を求めて出力する。
例えば、前記数式5のように、入力値(x)が0よりも小さい場合、前記演算装置200は前記入力値にコンボリューションレイヤの第2要素パラメータ(b)の負値である第1パラメータ(w1)を掛けて出力し、入力値(x)が0よりも大きいか同じ場合、前記演算装置200はコンボリューションレイヤの第1要素パラメータ(a)値である第2パラメータ(w2)を掛けて出力する。
図3A及び図3Bは図2の例示的な演算過程を示す。
図3Aを参照すれば、入力値(x)が3である場合、前記比較器201では3が所定の基準値である0よりも大きいという比較結果値として2を出力し、前記選択器202では2個のフィルタパラメータ(w1=0.2,w2=0.8)のうち比較結果値である2に対応するw2(0.8)を乗算器203に出力する。それから、前記乗算器203は入力値(x)にw2(0.8)を掛けた値である0.24を生成した後にこれを出力する。
図3Bを参照すれば、入力値(x)が−1である場合、前記比較器201では−1が所定の基準値の0よりも小さいという比較結果値として1を出力し、前記選択器202では2個のフィルタパラメータ(w1=0.2,w2=0.8)のうち比較結果値である1に対応するw1(0.2)を乗算器203に出力する。それから、前記乗算器203は入力値(x)にw1(0.2)を掛けた値である−0.2を生成した後にこれを出力する。
図4A及び図4BはCReLU_Conv演算の例を示して、図4CはNCReLU_Conv演算の例を示して、ここで、Nは3である。
図4A及び図4Bは図2、図3A、及び図3Bを通じて説明したCReLU_Conv(CReLU演算とコンボリューション演算の統合演算)の入力(x)と出力(y=CReLU_Conv(x))の関係を示すグラフである。前記図4A及び図4Bのグラフの形はw1及びw2の値の符号によって異なり得る。
一方、図4Cは線分セグメント個数を3個に拡張し、前記グラフが(0,0)を必ず通過しなければならない制限条件を除去したグラフである。
図4Cに示されたとおり、線分セグメント個数は2個からn個に拡張し得て、比較値(以下、区間区分の基準値)も拡張され得る。ここで、各々の区間は入力値と比較される各々の範囲に対する情報が含まれ得る。前記演算装置の前記比較器は前記入力値がどの区間に属するかに対する情報を参照にして決定された比較結果を出力し得る。
前記線分セグメント個数は図4A及び4Bのように2個から図4Cのようにn個(n=>3、例えば、3)まで増加し得て、前記比較値は図4A及び4Bのように、1から図4Cのようにn−1(例えば、2)まで増加し得る。このようになれば、piecewise linear continuous function形態のNCReLU_Conv演算器を具現し得るようになる。
かかるNCReLU_Conv演算器は下のような数式で定義され得る。
Figure 2019075114
ここで、NCReLU_ConvはN個のアクティベーションユニット(以下、N−way CReLU(N−way Concatenated Rectified Linear Units)またはNCReLUという)から構成されるCReLUの出力にコンボリューションレイヤを適用した演算結果を示して、xは入力値、wiはコンボリューションレイヤの統合ウェイトパラメータ、biはコンボリューションレイヤの修正バイアスパラメータ、viは各々の区間区分の基準値である。
一方、前記数式6でbi+1に対する条件式はNCReLU_Convが連続関数(Continuous Function)になるために必要で、b1を除いたバイアス値は付与されたb1、wi、vi値によって決定される。
図5は本発明の他の実施例にかかるCNNのNCReLU_Conv演算方法を示す。
図5に示された本発明の一実施例にかかるNCReLU_Conv演算を遂行するCNN演算装置500は、図2に示された前記演算装置200の改善されたバージョンである。前記演算装置200は2個の比較区間を用いるが、前記演算装置500はpiecewise linear continuous functionを適用して比較区間を2個からn個に拡張した装置である。
図5を参照すれば、本発明にかかるCNN演算装置500はNCReLU演算とコンボリューション演算を同時に遂行し得て、比較器501、第1選択器502、第2選択器503、乗算器504及び加算器505を含む。
本発明にかかるCNN演算装置500は入力値(例えば、以前の演算部から伝達された特徴マップ)を受信して演算された値を出力するための通信部(未図示)と前記比較器501、第1選択器502、第2選択器503、乗算器504及び加算器505で遂行するプロセスを遂行するプロセッサから構成され得る。即ち、前記比較器501、第1選択器502、第2選択器503、乗算器504及び加算器505の機能はCNN演算装置500内のプロセッサ(未図示)で遂行される各プロセスで具現され得る。
具体的に図5を参照して、CNN演算装置500がテストイメージとしての入力イメージを入力されると、比較器501は入力されたイメージの各画素値に対応する入力値(x)を所定の基準区間区分の値と比較してその比較結果に対する比較結果値を出力する。即ち、入力値(x)が前記所定の区間区分の基準値のうちどの値の間の区間に該当するかに対する比較結果値を出力する。
例えば、図4Cに示された例では、x値がv1よりも小さい場合、比較結果値として1を、x値がv1とv2の間である場合、比較結果値として2を、x値がv2よりも大きい場合、比較結果値として3を出力する。ここで、入力イメージは入力されたイメージ自体だけでなく、以前のコンボリューションレイヤから受信した特徴マップのうち少なくとも一つを含む概念であり得る。
前記第1選択器502は比較結果を参照にして、コンボリューションレイヤの多数の統合ウェイトパラメータ(w1,…,wn)のうち選択された特定統合ウェイトパラメータを出力し、前記第2選択器503は比較結果を参照にして、コンボリューションレイヤの多数の修正バイアスパラメータ(b1,…,bn)のうち選択された特定修正バイアスパラメータを出力する。一方、CNN演算装置500のプロセッサは第1選択器502のプロセスと第2選択器503のプロセスを同時に遂行し得る。
前記乗算器504は第1選択器502で選択された特定統合ウェイトパラメータを入力値(x)と掛けて出力し、加算器505は乗算器504の出力に第2選択器503で選択された特定修正バイアスパラメータを足して出力する。即ち、このように出力された値はNCReLUユニットの出力にコンボリューションレイヤの演算を適用して得た結果値としてみなされ得る。
一方、数式6での統合ウェイトパラメータ(wi)、修正バイアスパラメータ(bi)、区間区分の基準値(vi)は次の数式7で算出される。
Figure 2019075114
ここで、qi(q1ないしqn-1)は各バイアスレイヤの各々の要素バイアスパラメータで、pi(p1ないしpn)は前記コンボリューションレイヤの各々の要素ウェイトパラメータで、dは前記コンボリューションレイヤの要素バイアスパラメータであり、rank(qi)は{q1,…..qn-1}のうちqiが何番目に大きい数かを示して、rank-1(i)は{q1,…qn-1}のうちi番目に大きい数のインデックス(Index)を示す。
図5に示されたN−way CReLU_Conv(NCReLU_Conv)演算装置はすべての可能なn個のセグメントから構成されたpiecewise linear continuous functionを表現し得る。また、すべての充分にソフトな関数はxの特定範囲内でpiecewise linear continuous functionに近似することができるので、N−way CReLU_Conv演算装置がそのような関数を学習し出すことができるためである。
これに比べて、図1のように、既存のバイアスがないCReLUユニットは2個のセグメントだけから構成されて、“f(x)=0 when x=0”条件を満たすpiecewise linear continuous functionだけを表現し得る短所がある。これは図2に示された2個のセグメントから構成されるCReLU_Conv演算装置でも同様である。
図5のNCReLU_Conv演算装置500でNCReLU_Convのnが2である場合には下記のように表現し得て、これは図2のCReLU_Conv演算装置の演算内容と同一になる。
Figure 2019075114
図6A及び図6Bは図5の例示的な演算過程を示す。
図6Aを参照すれば、入力値(x)が−1.5である場合、比較器501では2個の区間区分の値(v1,v2)と入力値(x)を比較し、入力値(x=−1.5)が第1区間区分の値(v1)である−1よりも小さいので、比較結果値として1を出力して第1選択器502と第2選択器503に伝達する。前記第1選択器502では3個の統合ウェイトパラメータ(w1,w2,w3)のうち比較結果値(1)に対応される特定統合ウェイトパラメータ(w1)値である−1を選択して乗算器504に伝達し、前記第2選択器503では3個の修正バイアスパラメータ(b1,b2,b3)のうち比較結果値(1)に対応される特定修正バイアスパラメータ(b1)値である−1を選択して加算器505に伝達する。それから、乗算器504は入力値(x=−1.5)に第1選択器502の出力である選択された特定統合ウェイトパラメータ(w1=−1)を掛けた1.5を生成してこれを加算器505に伝達し、加算器505は乗算器504の出力値(1.5)に第2選択器503の出力である選択された特定修正バイアスパラメータ(b1=−1)を足した値である0.5を生成した後にこれを出力する。
図6Bを参照すれば、入力値(x)が0.5である場合、比較器501では2個の区間区分の値(v1,v2)と入力値(x)を比較し、入力値(x=0.5)が第1区間区分の値(v1)である−1と第2区間区分の値(v2)である1の間であるため比較結果値として2を出力して第1選択器502と第2選択器503に伝達する。前記第1選択器502では3個の統合ウェイトパラメータ(w1,w2,w3)のうち比較結果値(2)に対応される特定統合ウェイトパラメータ(w2)値である0.5を選択して乗算器504に伝達し、前記第2選択器503では3個の修正バイアスパラメータ(b1,b2,b3)のうち比較結果値(2)に対応される特定修正バイアスパラメータ(b2)値である0.5を選択して加算器505に伝達する。それから、乗算器504は入力値(x=0.5)に第1選択器502の出力である選択された特定統合ウェイトパラメータ(w2=0.5)を掛けた0.25を生成してこれを加算器505に伝達し、加算器505は乗算器504の出力値(0.25)に第2選択器503の出力である選択された特定修正バイアスパラメータ(b2=0.5)を足した値である0.75を生成した後にこれを出力する。
一方、数式6での統合ウェイトパラメータ(wi)、修正バイアスパラメータ(bi)及び区間区分の基準値(vi)を求めるためには数式7を利用しなければならず、数式7を利用するためには各バイアスレイヤの要素バイアスパラメータ(qi(i=1ないしn−1))、各コンボリューションレイヤの要素ウェイトパラメータ(pi(i=1ないしn))及びコンボリューションレイヤの要素バイアスパラメータ(d)を学習装置を通じて求めなければならない。
図7は本発明のまた他の実施例により図6のNCReLU_Conv演算を具現するためのCNN学習装置を示す。
本発明にかかるCNN学習装置700は図1に示された一つのアクティベーションモジュールあたりの一つのCReLUを利用するCNN学習装置100とは異なり、一つのアクティベーションモジュールでNCReLUを利用し、前記NCReLU(N−way CReLU)ではn−1個のバイアスレイヤを有して、nが増加するほどバイアスレイヤと要素アクティベーションレイヤ(ReLU)のペアが増える。一方、下で説明するが、要素アクティベーションレイヤとコンカチネーションレイヤの順序が変われば、バイアスレイヤの数だけ増えて、要素アクティベーションレイヤは1個だけでもよい。
図7を参照すれば、CNN学習装置700はコンボリューションレイヤ710、730、NCReLU720及び他のNCReLU(未図示)のような多くのNCReLUが交互に配置される構成を有する。
前記アクティベーションモジュール(NCReLU)720はn−1個のバイアスレイヤ721を含み、各々のバイアスレイヤは各々の要素バイアスパラメータ(q1ないしqn-1)を有する。好ましくは、第1バイアスレイヤの要素バイアスパラメータ(q1)を除いた第2ないし第n−1バイアスレイヤの要素バイアスパラメータ(q2,…,qn-1)の順序はq2>…>qn-1に設定し得る。
また、アクティベーションモジュール720は一つのスケールレイヤ722を含み、n個の要素アクティベーションレイヤ723を含む。一実施例で前記要素アクティベーションレイヤはReLUレイヤである。前記スケールレイヤ722はn−1個のバイアスレイヤ721のうち特定バイアスレイヤ(例えば、第1バイアスレイヤ)と連結されて、前記特定バイアスレイヤの出力値に所定のスケール値を掛けるプロセスを遂行し、前記特定要素アクティベーションレイヤ(特定ReLUレイヤ)に伝送する過程を遂行する。
そして、学習装置は、(i)前記スケールレイヤ722に連結された特定要素アクティベーションレイヤをもって前記スケールレイヤ722の出力値に非線形アクティベーション関数を適用するようにし、(ii)前記各々の要素バイアスレイヤ721に連結された残りの要素アクティベーションレイヤをもって前記各々の要素バイアスレイヤの出力値に各々の非線形関数を適用するようにする。前記非線形アクティベーション関数はReLU演算で、前記スケールレイヤのスケール値は−1であり得るが、これに限定されるものではない。
そして、学習装置は、コンカチネーションレイヤ724をもって前記特定要素アクティベーションレイヤ及び前記残りの要素アクティベーションレイヤの出力値を一つにコンカチネートするようにし、前記コンカチネートされた出力値を獲得するようにする過程を遂行する。
他の例として、前記要素アクティベーションレイヤ723とコンカチネーションレイヤ724の順序は変わっても関係ない。万一要素アクティベーションレイヤ723がコンカチネーションレイヤ722の後にくる場合は、要素アクティベーションレイヤ723はn個ではなく1個だけでもよい。
再び図7を参照すれば、アクティベーションモジュール720の出力(即ち、コンカチネーションレイヤ724の出力)が次のコンボリューションレイヤ730に伝達されると、学習装置は、次のコンボリューションレイヤ730の各々の要素ウェイトパラメータ(pi)及び各々の要素バイアスパラメータ(d)を用いてコンカチネートされた出力値にコンボリューション演算を適用するようにする。
そして、多数の反復されたコンボリューションレイヤ710、730、多数のNCReLU720及び他のNCReLU(未図示)は交互に配置され、獲得された出力はアプリケーションブロック740を通じて所望の結果値(例えば、ラベルイメージなど)を算出し、算出された結果値とこれに対応されるGT値の間を比較してロスをロスレイヤ750で獲得して、算出されたロスを利用してバックプロパゲーションを遂行して、前記各々の要素バイアスレイヤの各々の要素バイアスパラメータ(qi)、要素ウェイトパラメータ(pi)及び前記要素バイアスパラメータ(d)のうち少なくとも一部のパラメータを調節する。
図7のようにN−way CreLUを有するCNN学習装置700を通じてCNN学習が完了すると、(i)前記n−1個のバイアスレイヤが学習したバイアス値q1、…,qn-1と(ii)前記コンボリューションレイヤ730の要素ウェイトパラメータp1、…,pnと(iii)要素バイアスパラメータdが獲得される。そして、上述したように、この値が数式6及び数式7を通じてNCReLU_Conv演算装置で利用される。
一方、図7のCNN学習装置700は以前のレイヤやユニットで生成した値を受信し、当該ユニットで生成した値を伝達するための通信部(未図示)と各ユニットとレイヤで遂行する演算プロセスを遂行するプロセッサ(未図示)から構成され得る。
図7のCNN学習装置で各パラメータに対する学習が完了するとロスレイヤ750を除去し、ロスレイヤ750がないテスト装置(未図示)によってテスト過程を遂行するようになる。即ち、テストイメージはコンボリューションレイヤ710、730、NCReLU720及び他のNCReLU(未図示)を交互に配置した後、多数のコンボリューションレイヤ及び多数のNCReLUを通過して獲得された出力がアプリケーションブロック740に入力されるようにし、アプリケーションブロック740から出力された結果値が獲得され得る。例えば、アプリケーションブロック740はCNNモデルの用途に応じて、例えば客体感知ブロックや、セマンティックセグメンテーションブロックなどであり得るが、これに限定されるものではない。
図8は図7の例示的な演算過程を示す。
図8を参照すれば、図7の学習装置700で求めたコンボリューションレイヤの要素ウェイトパラメータ(p1,…,pn)と要素バイアスパラメータ(d)、バイアスレイヤの要素バイアスパラメータ(q1,…,qn-1)を数式6の代わりに図7の学習装置700と同一のCNNモデルを利用して入力値を演算した例を示す。
図6Bのように、入力値(x)として0.5が以前のコンボリューションレイヤ710でアクティベーションモジュール720に伝達されると、アクティベーションモジュール720の第1バイアスレイヤは第1バイアスパラメータ(q1=−1)を適用して−0.5をスケールレイヤと第2ReLUレイヤに伝達し、第2バイアスレイヤは第2バイアスパラメータ(q2=1)を適用して1.5を第3ReLUレイヤに伝達する。
一方、スケールレイヤ722は−0.5値を伝達されて−1を掛けて生成した0.5を第1ReLUレイヤに伝達する。結果的に、第1ないし第3ReLUレイヤは各々0.5、−0.5、1.5を入力されてReLU演算して各々0.5、0、1.5を生成して出力する。そして、前記コンカチネーションレイヤ724は前記第1ないし第3ReLUレイヤの出力をコンカチネーションし、コンカチネートされた値を後にくるコンボリューションレイヤに伝達する。
前記コンボリューションレイヤは入力された値に要素ウェイトパラメータ(1,−0.5,1.5)と要素バイアスパラメータ(−2)を利用して、出力値(y=0.5*1+0*(−0.5)+1.5*1.5+(−2))で0.75を生成して出力する。このように図7の学習装置または前記学習装置と類似する形態を有するCNNモデルを通じて、前記CNNモデルのコンボリューションレイヤ730から出力した値である0.75は図6Bの演算装置を通じた生成値と同一であることを確認することができる。
本発明の技術分野の通常の技術者に理解され得ることとして、上で説明されたイメージ、例えばinput image、training image、test imageのようなイメージデータの送受信が学習装置及びテスト装置の通信部によってなされ得て、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/または、メモリ)によって保有/維持され得て、コンボリューション演算、デコンボリューション演算、エラー値演算過程が主に学習装置、 演算装置及びテスト装置のプロセッサによって遂行され得るが、本発明がこれに限定されるものではない。
以上で説明された本発明にかかる実施例は多様なコンピュータ構成要素を通じて遂行され得るプログラム命令語の形態で具現されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独または組み合わせて含まれ得る。前記コンピュータで判読可能な記録媒体に記録されるプログラム命令語は本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を保存して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるものような機械語コードだけではなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は本発明にかかる処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成されることがあり、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定の事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野において通常の知識を有する者であればかかる記載から多様な修正及び変形が行なわれ得る。
従って、本発明の思想は前記説明された実施例に極限されて定められてはならず、後述する特許請求の範囲だけではなく、本特許請求の範囲と均等または等価的に変形されたすべてのものは本発明の思想の範疇に属するといえる。

Claims (14)

  1. コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成方法において、
    (a)前記コンピューティング装置が、CNNの演算装置にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力する段階;
    (b)前記コンピューティング装置が、前記CNNの演算装置にある選択器をもって、前記コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち前記比較結果値に対応される特定パラメータを出力する段階;及び
    (c)前記コンピューティング装置が、前記CNNの演算装置にある乗算器をもって、前記選択された特定パラメータと前記入力値を掛けた値を出力し、前記掛けた値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定する段階;を含むことを特徴とする方法。
  2. 前記アクティベーション演算はCReLU(Concatenated Rectified Linear Units)演算であることを特徴とする請求項1に記載の方法。
  3. 前記(a)段階ないし(c)段階を含む方法は次の数式で表現されて、
    Figure 2019075114

    ここで、CReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、前記w1、w2は前記コンボリューションレイヤのパラメータ、a、bは前記w1、w2を獲得するために用いられるべきコンボリューションレイヤの要素パラメータであり、前記所定の基準値は0であることを特徴とする請求項2に記載の方法。
  4. コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成方法において、
    (a)前記コンピューティング装置が、CNNの演算装置にある比較器をもって、入力イメージの各画素値に対応する入力値を所定の区間区分の基準値と比較して前記入力された値が前記所定の区間区分の基準値のうちどの値の間の区間に該当するかに対する情報を参照にして比較結果値を出力する段階;
    (b)前記コンピューティング装置が、前記CNNの演算装置にある第1選択器をもって、前記コンボリューションレイヤの多数の統合ウェイトパラメータのうち前記比較結果値に対応される特定統合ウェイトパラメータを出力するプロセス及び前記CNNの演算装置にある第2選択器をもって、前記コンボリューションレイヤの多数の修正バイアスパラメータのうち前記比較結果値に対応される特定修正バイアスパラメータを出力するプロセスを遂行する段階;
    (c)前記コンピューティング装置が、前記CNNの演算装置にある乗算器をもって、前記選択された特定統合ウェイトパラメータと前記入力値を掛けて出力する段階;及び
    (d)前記コンピューティング装置が、前記CNNの演算装置にある加算器をもって、前記乗算出力値に前記選択された特定修正バイアスパラメータを足した値を出力し、前記足した値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定する段階;を含むことを特徴とする方法。
  5. 前記アクティベーション演算はN−way CReLU(N−way Concatenated Rectified Linear Units)演算であることを特徴とする請求項4に記載の方法。
  6. 前記(a)段階ないし(d)段階を含む方法は次の数式で表現されて、
    Figure 2019075114

    ここで、NCReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、wiは前記コンボリューションレイヤの統合ウェイトパラメータ、biは前記コンボリューションレイヤの修正バイアスパラメータ、viは所定の区間区分の基準値であることを特徴とする請求項5に記載の方法。
  7. 前記統合ウェイトパラメータ(wi)、前記修正バイアスパラメータ(bi)、前記所定の区間区分の基準値(vi)は次の数式で算出されて、
    Figure 2019075114

    ここで、qi(q1ないしqn-1)は各バイアスレイヤの要素バイアスパラメータで、pi(p1ないしpn)は各コンボリューションレイヤの要素ウェイトパラメータで、dはコンボリューションレイヤの要素バイアスパラメータであり、rank(qi)は{q1,…..qn-1}のうちqiが何番目に大きい数かを示して、rank-1(i)は{q1,…qn-1}のうちi番目に大きい数のインデックス(Index)を示すことを特徴とする請求項6に記載の方法。
  8. コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成装置において、
    入力イメージの各画素値に対応する入力値を入力される通信部;
    (i)前記入力値を所定の基準値と比較してその比較結果に対する比較結果値を出力するプロセス;(ii)前記コンボリューションレイヤのコンボリューションフィルタの多数のパラメータのうち前記比較結果値に対応される特定パラメータを出力するプロセス;及び(iii)前記選択された特定パラメータと前記入力値を掛けた値を出力し、前記掛けた値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤの前記コンボリューション演算を適用した結果値に決定するプロセスを遂行するプロセッサ;を含むことを特徴とする装置。
  9. 前記アクティベーション演算はCReLU(Concatenated Rectified Linear Units)演算であることを特徴とする請求項8に記載の装置。
  10. 前記プロセッサの前記(i)ないし(iii)プロセスは次の数式で表現されて、
    Figure 2019075114

    ここで、CReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、前記w1、w2は前記コンボリューションレイヤのパラメータ、a、bは前記w1、w2を獲得するために用いられるべきコンボリューションレイヤの要素パラメータであり、
    前記所定の基準値は0であることを特徴とする請求項9に記載の装置。
  11. コンボリューションレイヤのコンボリューション演算とアクティベーションモジュールのアクティベーション演算を同時に遂行する、学習されたパラメータを有する、CNNの構成装置において、
    入力イメージの各画素値に対応する入力値を入力される通信部;
    (i)前記入力値を所定の区間区分の基準値と比較して前記入力された値が前記所定の区間区分の基準値のうちどの値の間の区間に該当するかに対する情報を参照にして比較結果値を出力するプロセス;(ii)前記コンボリューションレイヤの多数の統合ウェイトパラメータのうち前記比較結果値に対応される特定統合ウェイトパラメータを出力するプロセス;(iii)前記コンボリューションレイヤの多数の修正バイアスパラメータのうち前記比較結果値に対応される特定修正バイアスパラメータを出力するプロセス;(iv)前記選択された特定統合ウェイトパラメータと前記入力値を掛けて出力するプロセス;及び(v)前記乗算出力値に前記選択された特定修正バイアスパラメータを足した値を出力し、前記足した値を、前記アクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果値に決定するプロセス;を遂行するプロセッサ;を含むことを特徴とする装置。
  12. 前記アクティベーション演算はN−way CReLU(N−way Concatenated Rectified Linear Units)演算であることを特徴とする請求項11に記載の装置。
  13. 前記プロセッサの前記(i)ないし(v)プロセスは次の数式で表現されて、
    Figure 2019075114

    ここで、NCReLU_Convはアクティベーションモジュールの出力に前記コンボリューションレイヤのコンボリューション演算を適用した結果を示して、xは入力値、wiは前記コンボリューションレイヤの統合ウェイトパラメータ、biは前記コンボリューションレイヤの修正バイアスパラメータ、viは所定の区間区分の基準値であることを特徴とする請求項12に記載の装置。
  14. 前記統合ウェイトパラメータ(wi)、前記修正バイアスパラメータ(bi)、前記所定の区間区分の基準値(vi)は次の数式で算出されて、
    Figure 2019075114

    ここで、qi(q1ないしqn-1)は学習された各バイアスレイヤの要素バイアスパラメータで、pi(p1ないしpn)は各コンボリューションレイヤの要素ウェイトパラメータで、dはコンボリューションレイヤの要素バイアスパラメータであり、rank(qi)は{q1,…..qn-1}のうちqiが何番目に大きい数かを示して、rank-1(i)は{q1,…qn-1}のうちi番目に大きい数のインデックス(Index)を示すことを特徴とする請求項13に記載の装置。
JP2018193024A 2017-10-13 2018-10-12 アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置 Active JP6676721B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/783,280 2017-10-13
US15/783,280 US10083375B1 (en) 2017-10-13 2017-10-13 Method and device for performing activation and convolution operation at the same time and learning method and learning device for the same

Publications (2)

Publication Number Publication Date
JP2019075114A true JP2019075114A (ja) 2019-05-16
JP6676721B2 JP6676721B2 (ja) 2020-04-08

Family

ID=63517806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018193024A Active JP6676721B2 (ja) 2017-10-13 2018-10-12 アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置

Country Status (5)

Country Link
US (1) US10083375B1 (ja)
EP (1) EP3483793A1 (ja)
JP (1) JP6676721B2 (ja)
KR (1) KR102139083B1 (ja)
CN (1) CN109670574B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7240657B2 (ja) * 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US10474930B1 (en) * 2018-10-05 2019-11-12 StradVision, Inc. Learning method and testing method for monitoring blind spot of vehicle, and learning device and testing device using the same
US10372573B1 (en) * 2019-01-28 2019-08-06 StradVision, Inc. Method and device for generating test patterns and selecting optimized test patterns among the test patterns in order to verify integrity of convolution operations to enhance fault tolerance and fluctuation robustness in extreme situations
KR102420104B1 (ko) * 2019-05-16 2022-07-12 삼성전자주식회사 영상 처리 장치 및 그 동작방법
CN110533090B (zh) * 2019-08-21 2022-07-08 国网江苏省电力有限公司电力科学研究院 开关刀闸状态检测方法及装置
KR20210062485A (ko) 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
US20210200539A1 (en) * 2019-12-28 2021-07-01 Intel Corporation Generic linear unit hardware accelerator
CN113591025B (zh) * 2021-08-03 2024-06-14 深圳思谋信息科技有限公司 特征图的处理方法、装置、卷积神经网络加速器和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572824B2 (en) * 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US9836839B2 (en) * 2015-05-28 2017-12-05 Tokitae Llc Image analysis systems and related methods
CN104992167B (zh) * 2015-07-28 2018-09-11 中国科学院自动化研究所 一种基于卷积神经网络的人脸检测方法及装置
CN110688891B (zh) * 2015-08-15 2024-05-31 硕动力公司 采用3d批归一化的三维(3d)卷积
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
US10033686B2 (en) * 2016-05-23 2018-07-24 Oath Inc. Computerized system and method for automatically creating and communicating media streams of digital content
CA3038967A1 (en) * 2016-10-04 2018-04-12 Magic Leap, Inc. Efficient data layouts for convolutional neural networks
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法

Also Published As

Publication number Publication date
US10083375B1 (en) 2018-09-25
CN109670574A (zh) 2019-04-23
CN109670574B (zh) 2023-08-11
EP3483793A1 (en) 2019-05-15
KR20190041921A (ko) 2019-04-23
KR102139083B1 (ko) 2020-08-11
JP6676721B2 (ja) 2020-04-08

Similar Documents

Publication Publication Date Title
JP6676721B2 (ja) アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置
JP6676722B2 (ja) アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置
CN108073983B (zh) 在硬件中执行核心跨越
US11775804B2 (en) Progressive neural networks
US12014272B2 (en) Vector computation unit in a neural network processor
EP3761235B1 (en) Transposing neural network matrices in hardware
JP7007488B2 (ja) ハードウェアベースのプーリングのシステムおよび方法
US10740434B1 (en) Reduced dot product computation circuit
JP2019067406A (ja) Funを用いて特徴マップを生成するための方法及び装置
TW201710959A (zh) 類神經網路處理器
KR20180073118A (ko) 컨볼루션 신경망 처리 방법 및 장치
EP3186753A1 (en) Processing images using deep neural networks
CN116091942A (zh) 特征增强与融合的小目标检测方法、装置及设备
US11144790B2 (en) Deep learning model embodiments and training embodiments for faster training
US11468147B1 (en) Activation function approximation in deep neural networks using rectified-linear-unit function
US20230153066A1 (en) Method and apparatus for measuring weight of discrete entity
JP6994572B2 (ja) データ処理システムおよびデータ処理方法
CN109543837A (zh) 机器学习网络处理方法、设备、处理器和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200312

R150 Certificate of patent or registration of utility model

Ref document number: 6676721

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250