IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ エーエーシー テクノロジーズ ピーティーイー リミテッドの特許一覧

特開2024-56120ニューラルネットワーク変換方法、電子デバイス及び記憶媒体
<>
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図1
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図2
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図3
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図4
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図5
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図6
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図7
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図8
  • 特開-ニューラルネットワーク変換方法、電子デバイス及び記憶媒体 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056120
(43)【公開日】2024-04-22
(54)【発明の名称】ニューラルネットワーク変換方法、電子デバイス及び記憶媒体
(51)【国際特許分類】
   G06N 5/045 20230101AFI20240415BHJP
   G06N 3/02 20060101ALI20240415BHJP
【FI】
G06N5/045
G06N3/02
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023097307
(22)【出願日】2023-06-13
(11)【特許番号】
(45)【特許公報発行日】2023-11-07
(31)【優先権主張番号】17/962,559
(32)【優先日】2022-10-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】522071603
【氏名又は名称】エーエーシー テクノロジーズ ピーティーイー リミテッド
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】アイテキンカグラル
(57)【要約】      (修正有)
【課題】ニューラルネットワークの決定を説明するニューラルネットワーク変換方法、電子デバイス及び記憶媒体を提供する。
【解決手段】方法は、決定木を初期化し、決定木のルートを設定することと、ニューラルネットワークの有効フィルタを決定ルールとし、決定木のルートから葉分岐を行い、決定木がニューラルネットワークの全ての有効フィルタをカバーするまで葉分岐を行うこととを含む。ニューラルネットワークは、区分的線形活性化を有するニューラルネットワークである。
【効果】ニューラルネットワークを決定木に変換し、決定木に基づいてニューラルネットワークを解釈することで、ニューラルネットワークのブラックボックス問題を解決することができる。また、ニューラルネットワークに等価の決定木は、メモリ要求の増加によるニューラルネットワークの計算コストを有効に減少することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
ニューラルネットワークの変換方法であって、前記方法は、端末デバイスに適用され、
決定木を初期化し、前記決定木のルートを設定することと、
ニューラルネットワークの有効フィルタを決定ルールとし、前記決定木のルートから葉分岐を行い、前記決定木が前記ニューラルネットワークの全ての有効フィルタをカバーするまで前記葉分岐を行うこととを含み、
前記ニューラルネットワークは、区分的線形活性化を有するニューラルネットワークである、ことを特徴とするニューラルネットワークの変換方法。
【請求項2】
前記決定木のルートから葉分岐を行うことは、
前回分岐されたノードに対して毎回前記葉分岐を行い、各前記葉分岐は1つの有効フィルタに対応し、前記有効フィルタの対応順序は、前記ニューラルネットワークの同一層の有効フィルタの順番及び前記ニューラルネットワークの異なる層の順番に従うことを含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
全結合層において、有効行列を前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項4】
スキップ接続層において、残差有効行列を前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項5】
正規化層において、前記正規化層は、活性化前又は活性化後の正規化の後又は前の線形層にそれぞれ埋め込まれる、ことを特徴とする請求項1に記載の方法。
【請求項6】
畳み込み層において、有効畳み込みを前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項7】
前記方法は、更に、
前記決定木の違反ルール及び/又は冗長ルールに基づいて、前記決定木に対して無損失剪定を行うこと、
及び/または
前記ニューラルネットワークのトレーニング期間に実現したカテゴリに基づいて、前記決定木に対して無損失剪定を行うことを含む、ことを特徴とする請求項1~6のいずれか一項に記載のニューラルネットワークの変換方法。
【請求項8】
ニューラルネットワークの計算方法であって、前記方法は、端末デバイスに適用され、
計算に用いられるニューラルネットワークを取得することと、
請求項1~6のいずれか一項に記載の方法に基づいて、前記ニューラルネットワークを決定木に変換することと、
前記決定木を用いて計算することとを含む、ことを特徴とするニューラルネットワークの計算方法。
【請求項9】
電子デバイスであって、
前記電子デバイスは、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして請求項1~6のいずれか一項に記載の方法ステップを実行する、ことを特徴とする電子デバイス。
【請求項10】
電子デバイスであって、
前記電子デバイスは、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして請求項8に記載の方法ステップを実行する、ことを特徴とする電子デバイス。
【請求項11】
コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが格納され、コンピュータで実行されると、コンピュータが請求項1~6のいずれか一項に記載の方法を実行する、ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術分野に関し、特にニューラルネットワーク変換方法、電子デバイス及び記憶媒体に関する。
【背景技術】
【0002】
コンピュータ技術の分野では、ニューラルネットワークの利用がますます広まっている。しかし、ニューラルネットワークによる予測はブラックボックスな性質があるため、安全衛生分野など多くの産業において、より広く、より信頼性の高い応用が妨げられている。このため、解釈可能な人工知能(XAI)と呼ばれるニューラルネットワークの判断を解釈する方法の構築が求められている。ニューラルネットワークの判断を解釈するための成果は、特徴マップとニューラルネットワークを解釈可能な方法で接続することに分けられる。
【0003】
特徴マップは、ニューラルネットワークが予測に使用する入力領域を強調して表示する方法である。先行研究[8]では、入力に対するニューラルネットワーク出力の勾配を用いて、ネットワーク全体における特定の入力の線形化を可視化した。当該方法で得られた特徴マップは、通常ノイズがあり、決定されたことを明確に理解することができない。
【0004】
他のトラッキング方法では、通常は完全接続層の前に、ニューラルネットワークを利用して活性化のための導関数を出力する。このようなトラッキング方法で得られた特徴マップは、予測類に関連する領域を強調して表示する意味では、より明確である。しかし、決定のサポート領域が妥当かどうかをチェックするといった目的には役に立つが、そのような決定が下された理由についての詳細な論理の推論は依然として不足する。
【0005】
そのため、ニューラルネットワークの決定を説明する方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術におけるニューラルネットワークの決定を如何に解釈するかという問題を解決するために、本発明は、ニューラルネットワークの変換方法、電子デバイス及びコンピュータ読み取り可能な記憶媒体を提供する。
【0007】
本発明の実施例は、以下の技術策を利用する。
【0008】
第1観点では、本発明は、端末デバイスに適用されるニューラルネットワーク変換の方法であって、決定木を初期化し、前記決定木のルートを設定することと、ニューラルネットワークの有効フィルタを決定ルールとし、前記決定木のルートから葉分岐を行い、前記決定木が前記ニューラルネットワークの全ての有効フィルタをカバーするまで前記葉分岐を行うこととを含み、前記ニューラルネットワークは、区分的線形活性化を有するニューラルネットワークである、ことを特徴とするニューラルネットワークの変換方法を提供する。
【0009】
第1観点の実現形態において、前記決定木のルートから葉分岐を行うことは、
前回分岐されたノードに対して毎回前記葉分岐を行い、各前記葉分岐は1つの有効フィルタに対応し、前記有効フィルタの対応順序は、前記ニューラルネットワークの同一層の有効フィルタの順番及び前記ニューラルネットワークの異なる層の順番に従うことを含む。
【0010】
第1観点の実現形態において、全結合層において、有効行列を前記決定ルールとする。
【0011】
第1観点の実現形態において、スキップ接続層において、残差有効行列を前記決定ルールとする。
【0012】
第1観点の実現形態において、正規化層において、前記正規化層は、活性化前又は活性化後の正規化の後又は前の線形層にそれぞれ埋め込まれる。
【0013】
第1観点の実現形態において、畳み込み層において、有効畳み込みを前記決定ルールとする。
【0014】
第1観点の実現形態において、前記方法は、更に、前記決定木の違反ルール及び/又は冗長ルールに基づいて、前記決定木に対して無損失剪定を行うこと、及び/または、前記ニューラルネットワークのトレーニング期間に実現したカテゴリに基づいて、前記決定木に対して無損失剪定を行うことを含む。
【0015】
第2観点では、本発明は、端末デバイスに適用されるニューラルネットワークの計算方法であって、計算に用いられるニューラルネットワークを取得することと、第1観点の方法に基づいて、前記ニューラルネットワークを決定木に変換することと、前記決定木を用いて計算することとを含むニューラルネットワークの計算方法を提供する。
【0016】
第三観点では、本発明は、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして第1観点の方法ステップを実行する電子デバイスを提供する。
【0017】
第4観点では、本発明は、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして第2観点の方法ステップを実行する電子デバイスを提供する。
【0018】
第5観点では、本発明は、コンピュータプログラムが格納され、コンピュータで実行されると、コンピュータが第1観点又は第2観点の方法を実行するコンピュータ読み取り可能な記憶媒体を提供する。
【発明の効果】
【0019】
本発明の実施例に係る上記の技術策より、少なくとも以下の技術的効果を実現することができる。
本発明の実施例の方法によると、ニューラルネットワークを決定木に変換し、決定木に基づいてニューラルネットワークを解釈することで、ニューラルネットワークのブラックボックス問題を解決する。また、ニューラルネットワークに等価の決定木は、メモリ要求の増加によるニューラルネットワークの計算コストを有効に減少することができる。
【図面の簡単な説明】
【0020】
図1】本発明の一実施例に係る方法のフローチャートである。
図2】本発明の一実施例に係る決定木の概念図である。
図3】本発明の一実施例に係る決定木の概念図である。
図4】本発明の一実施例に係る決定木の概念図である。
図5】本発明の一実施例に係るモデル応答の概念図である。
図6】本発明の一実施例に係る決定木の概念図である。
図7】本発明の一実施例に係る決定木の概念図である。
図8】本発明の一実施例に係るニューラルネットワークの計算フローチャートである。
図9】本発明の一実施例に係る電子デバイスのハードウェア構造概念図である。
【発明を実施するための形態】
【0021】
本発明の目的、技術の解決策及び利点をより明白かつ理解しやすくするために、以下、本願の実施形態及び添付図面を参照して本発明を明確かつ詳細に説明する。明らかに、以下に説明する実施例は、すべての実施形態ではなく、本発明の実施例の一部にすぎない。本発明の実施例に基づいて、当業者が創造のな努力をすることなく得た他のすべての実施例は、本発明の保護範囲に属する。
【0022】
本発明の実施形態で使用される用語は、本発明の特定の具体的に実施例を説明するためにのみ使用され、本発明を限定することを意図するものではない。
【0023】
従来技術において、ニューラルネットワークの決定を如何に解釈するかという問題について、本発明は、ニューラルネットワークの変換方法を提供する。区分的線形活性化を有するニューラルネットワークを等価の決定木表現に変換する。誘導木の出力は、ニューラルネットワークと同一であり、神経構造を何ら制限したり変更したりする必要はない。ニューラルネットワークの各決定は、決定木により解釈される。
【0024】
本発明の一実施例では、ニューラルネットワークを決定木に変換するプロセスにおいて、ニューラルネットワークの各層の有効なフィルタ(有効フィルタ)を決定木の対応層の決定ルールとして使用する。
【0025】
具体的に、図1は、本発明の一実施例に係る方法フローチャートである。電子デバイスは、図1に示すプロセスを実行することで、区分的線形活性化のニューラルネットワークを決定木に変換する。
【0026】
S100、決定木を初期化し、決定木のルートを設定する。
【0027】
S110、決定木のルートから葉分岐を開始し、決定ルールは、ニューラルネットワークの有効フィルタである。
【0028】
具体的に、S110において、決定木のルートから分岐されたノードより、前回分岐したノードに対して毎回葉分岐を行い、各葉分岐は1つの有効フィルタに対応する。有効フィルタの対応する順序は、同一層フィルタの順序及び異なる層の順序に従う。
【0029】
例えば、決定木のルートから第1回目の葉分岐(例えば、k個のノードに分岐)を行い、決定ルールは、ニューラルネットワークの第1層の1個目の有効フィルタである。
【0030】
具体的に、kは、使用した活性化関数の区分的線形領域の数に対応する。
【0031】
1回目の葉分岐の結果(例えば、k個のノード)の各ノードに対して2回目の葉分岐を行い、決定ルールは、ニューラルネットワークの第1層の1個目の有効フィルタである。
【0032】
ニューラルネットワークの第1層の全ての有効フィルタがカバーされるまで葉分岐を継続して行う。
【0033】
葉分岐を継続して行い、決定ルールは、ニューラルネットワークの第2層の1個目の有効フィルタである。ニューラルネットワークの全ての層の全ての有効フィルタがカバーされるまで葉分岐を継続して行う。
【0034】
具体的に、一実施例において、S110は、以下のプロセスを含む。
【0035】
S111、決定木の第s層の各決定木ノードに対して葉分岐を行い、決定木の第s+1層の決定木ノード取得し、葉分岐の決定ルールは、ニューラルネットワークの第i層の第m個の有効フィルタである。
【0036】
S111において、s、i、mの初期値は1であり、決定木の第1層の決定木ノードが決定木のルートである。
【0037】
S112、ニューラルネットワークの第i層の有効フィルタが全部カバーされているか判断する。
【0038】
ニューラルネットワークの第i層の有効フィルタが全部カバーされている場合、S113を実行する。
【0039】
S113、ニューラルネットワークの全ての層が全部カバーされているか判断する。
【0040】
ニューラルネットワークの全ての層が全部カバーされている場合、S114を実行する。
【0041】
S114、決定木に戻り、葉分岐を終了する。
【0042】
ニューラルネットワークの全ての層が全部カバーされていない場合、S115を実行する。
【0043】
S115、iの値に1を加算し、mの値を1にする。
【0044】
ニューラルネットワークの第i層の有効フィルタが全部カバーされていない場合、S116を実行する。
【0045】
S116、mの値に1を加算する。
【0046】
S115又はS116の後に、S117を実行する。
【0047】
S117、sの値に1を加算する。
【0048】
S117の後に、S111に戻る。
【0049】
以下において、それぞれ異なる構造の区分的線形活性化のニューラルネットワークについて、ニューラルネットワークを等価の決定木表現に変換するプロセスについて説明する。
【0050】
【0051】
【0052】
【0053】
式2において、
【0054】
【0055】
式2は、改めて以下のように整理することができる。
【0056】
【0057】
【0058】
式3を利用し、式1を以下のように書き換えることができる
【0059】
【0060】
【0061】
【0062】
【0063】
式5から、第i層の有効行列は、前の層からの分類ベクトルのみに依存することがわかる。これは、次の分類を行うフィルタの計算は、前の分類のみに依存することを意味する。
【0064】
【0065】
そのため、層iは、kmi路分類に表示され、ここで、mは、各層iのフィルタの数であり、且つkは、活性化中の線形領域の総数である。従って、層iのこのような分類は、深さがmの木で表示可能であり、任意の深さのノードは、k個の分類に分岐される。
【0066】
以上から、本発明の一実施例によると、全結合ニューラルネットワークを決定木に変換するプロセスにおいて、全結合ニューラルネットワークの各層の有効行列をS110で用いられる有効フィルタとし、有効行列を決定木の対応層の決定ルール(分類ルール)として使用する。具体的に、式5に基づいて全結合ニューラルネットワークの有効行列を計算することで、決定木の決定ルールを確定する。
【0067】
更に、一実施例において、整流化線形ユニット(Rectified Linear Unit,ReLU)を活性化関数とし、ReLUニューラルネットワークについて、以下のアルゴリズムフローを利用して全結合ニューラルネットワークを決定木に変換することができる。
【0068】
【0069】
アルゴリズム1の第4~8行は、決定木の1つのノードに対応し、当該ノードにおいて、簡単なはい/いいえの決定をする。
【0070】
(二)スキップ接続
以下の類型の残差ニューラルネットワーク(residual neural network)を例とする。
【0071】
【0072】
【0073】
【0074】
(三)正規化層
ニューラルネットワークの正規化層は線形であるため、且つトレーニング後、これらはそれぞれ活性化前又は活性化後の正規化後又は前の線形層に埋め込まれることができる。そのため、一実施例において、ニューラルネットワークを決定木表現に変換する過程において、正規化層については、個別の変換をする必要がない。
【0075】
(四)畳み込みニューラルネットワーク(畳み込み層)
【0076】
畳み込みニューラルネットワークCNN(F)の出力及び中間特徴Fを以下のように書く。
【0077】
式1~5を参照し、活性化関数の要素ごとのスカラー倍算の性質に基づいて、以下のように書くことをできる。
【0078】
【0079】
【0080】
【0081】
【0082】
【0083】
cは、以前の各層全ての関連領域のカスケード分類結果に定義される。式11において、有効畳み込みは、活性化からの分類のみに依存するため、木等の等価が全結合ネットワーク対する分析に類似する。全結合層の場合との違いは、畳み込み層の多くの決定は、X全体ではなく一部の入力領域に対して行われるものである。
【0084】
更に、図2は、本発明の一実施例に係る決定木の概念図である。二層ReLUニューラルネットワークから変換された決定木を図2に示す。
【0085】
図1に示すフロー及び図2に示す決定木を参照すると、本発明の実施例の方法によると、ニューラルネットワークから変換された等価決定木の深さ(決定木の総層数)は、
【0086】
決定木の最終層の木の分岐の総数(決定木のカテゴリー総数)は2である。ニューラルネットワークの有効フィルタ数の増加に伴い、決定木の最終層の木の分岐の総数は、指数関数的に増加する。例えば、ニューラルネットワークの第1層が64個のフィルタを含む場合、決定木においては少なくとも264個の分岐が存在する。
【0087】
決定木のカテゴリ総数を制御するために、一実施例おいて、ニューラルネットワークの等价決定木の違反ルール及び冗長ルールに基づいて、ニューラルネットワークの等价決定木に対して無損失剪定を行う。
【0088】
例えば、ニューラルネットワークをy=x方程式に当てはめる。ニューラルネットワークは、3つの密な層を有し、第1層及び第2層はそれぞれ2つのフィルタを有し、最終層は1つのフィルタを有する。ネットワーク在之后使用leaky-ReLU活性化,除了最終層没有活性化。ネットワークは、活性化していない最終層を除いて、全結合層の後にleaky-ReLUを使用して活性化する。
【0089】
図3は、本発明の一実施例に係る決定木の概念図である。y=x回帰ニューラルネットワークが変換された決定木を図3示す。
【0090】
決定木において、301領域の各矩形ブロックは決定ルールを表し、ブロックの左サブブロックは決定ルールが成立しないことを表し、右サブブロックは決定ルールが成立することを表す。
【0091】
仮に、決定ルールは、
をxに作用する直接不等式に変換することで得られたものとする。xはスカラーであるため、決定ルールは、特定の回帰y=x2完成させるために用いられる。各葉において、これまでの決定に基づいて、領域302の矩形で表される線形関数を適用する。
【0092】
【0093】
決定木の多くのルールは、冗長であるため、決定木の一部のパスが無効になる。
【0094】
例えば、冗長ルールについて、x<-1.16ルールが成立した後にx<0.32をチェックする実現方法がある。これは当該ノードに対して無効な右サブノードを直接作成する。そのため、この場合、右サブブロックを削除し、分類ルールをより厳密なルールに合併することで木をクリーンアップすることができる:特定の場合は、x<-1.16。
【0095】
図4は、本発明の一実施例に係る決定木の概念図である。
【0096】
図3に示す決定木をクリーンアップすることで、図4に示す決定木を取得することができ、図4に示す決定木は、16個ではなく、5つのカテゴリ(401~405)を含む。
【0097】
図5は、本発明の一実施例に係るモデル応答概念図である。図4に示す決定木のモデル応答を図5に示す。
【0098】
図4に示す決定木に基づき、ニューラルネットワークは以下のように解釈される:決定木表現によって境界が決定された各領域について、ネットワークは線形方程式によって非線形非線性y=x方程式を近似する。
【0099】
決定木から明確な解釈と推論を行うことができ、その一部を以下の通りである。ニューラルネットワークは、決定境界が非対称であるという事実から明らかなように、回帰問題の対称性を把握することはできない。-1.16以下及び1以上の領域は境界がないため、xがこれらの境界を超えると、ニューラル決定の精度が失われる。
【0100】
更に、カテゴリの数がトレーニングデータよりも多い可能性があるため、ニューラルネットワークのトレーニング期間には全てのカテゴリを実現する可能性は非常に低い。そのため、これらのカテゴリも、アプリケーションに基づいて剪定することができる。ニューラルネットワークのトレーニング期間に実現されるカテゴリにより、決定木に対して無損失剪定を行う。
【0101】
具体的に、アプリケーションが許可する場合、これらのカテゴリに属するデータは無効であると見なすことができる。
【0102】
例えば、半月分類問題の場合である。最終層にsigmoid活性化を有する以外、leaky-ReLU活性化を有する3層の全結合のニューラルネットワークをトレーニングする。最終層が1つのフィルタを有する以外、各層は2つのフィルタを有する。
【0103】
図6は、本発明の一実施例に係る決定木の概念図である。図6に示す決定木は、ある半月分類ニューラルネットワークに対応する分類木である。
【0104】
図6に示すように、トレーニングされたネットワークによるクリーンアップ決定木である。決定木は、その境界が木内のルールによって確定される多くのカテゴリを見つけ、各カテゴリにはクラスが割り当てられている。
【0105】
図7は、本発明の一実施例に係る半月データセットに使用される決定木によって実行される分類の概念図である。
【0106】
図7において、異なるグレースケールで異なるカテゴリを表す。決定木からいくつかの推論を行うことができる。例えば、一部の領域は非常に明確であり、且つこれらが実行する分類トレーニングデータとは完全に一致するため、これらの領域は非常に信頼性が高い。境界がないカテゴリが存在し、これは正確な分類の境界を得るのに役立つが、トレーニングデータのコンパクトな表現を提供できず、これらはニューラル決定が行う不正確な推論に対応する可能性がある。訓練データが属していないカテゴリも表示される。
【0107】
本発明の実施例の方法によると、ニューラルネットワークを決定木に変換し、決定木に基づいてニューラルネットワークを解釈することで、ニューラルネットワークのブラックボックス問題を解決する。
【0108】
更に、本発明の実施例によるニューラルネットワーク変換方法に基づいて、本発明の一実施例は、更に、ニューラルネットワークの計算方法を提供する。
【0109】
図8は、本発明の一実施例に係るニューラルネットワークの計算フローチャートである。電子デバイスは、図8に示す以下のプロセスを実行することで、ニューラルネットワーク計算を実現する。
【0110】
S800、計算待ちデータを取得する。
【0111】
S810、計算待ちデータを計算するための第1ニューラルネットワークを取得する。
【0112】
S820、本発明の実施例によるニューラルネットワーク変換方法に基づいて、第1ニューラルネットワークを第1決定木に変換する。
【0113】
S830、第1決定木を使用して計算待ちデータを計算し、計算結果を取得する。
【0114】
決定木表現は、ニューラルネットワークよりもいくつかの計算上の利点がある。
【0115】
表1は、あるゲーム問題の計算及びメモリ分析結果のデータを示すものである。
【0116】
表1において、ニューラルネットワーク及びその木のパラメータ、浮動小数点比較及び乗算または加算演算の数を比較する。誘導木は、ニューラルネットワークの拡張であるため、全ての可能なパスをカバーし、全ての可能な有効フィルタをメモリに格納する。従って、予想の通り、ニューラルネットワークの木表現のパラメータ数がネットワークのパラメータ数よりも多い。誘導木では、各層iにおいて、最大mフィルタは直接入力に適用されるが、ニューラルネットワークにおいて、最大mフィルタは、常に前の特徴に適用され、通常特徴次元における入力よりも遥かに多い。そのため、計算上木表現はニューラルネットワークよりも利点がある。
【0117】
本発明の実施例において、プロセスの各ステップは、機能によって様々なモジュールに分割して実現することができ、各モジュールの分割は論理的な機能の分割に過ぎず、本発明の実施例を実施する時に、各モジュールの機能を同一または複数のソフトウェアおよび/またはハードウェアで実現することができる。
【0118】
具体的に、本発明の実施例により提供される装置は、実際に実現する際に、全部又は部分的に単一の物理的実体に統合してもよく、物理的に分離してもよい。且つこれらのモジュールは、全部ソフトウェアで処理素子を介して呼び出される形態で実現してもよく、全部ハードウェアの形態で実現してもよく、一部のモジュールがソフトウェアで処理素子を介して呼び出される形態で実現してもよく、一部のモジュールがハードウェアの形態で実現してもよい。例えば、検出モジュールは、独立した処理素子であってもよく、電子デバイスのあるチップに統合されて実現されてもよい。その他のモジュールの実現も同様である。そして、これらのモジュールは全部又は部分的に統合してもよいく、個別に実現してもよい。実現過程において、上記方法の各ステップ又は上記の各モジュールは、プロセッサ素子のハードウェアの集積論理回路又はソフトウェア形態の命令によって完成することができる。
【0119】
例えば、上記のモジュールは、上記の方法を実現するために配置された1つ又は複数の集積回路、例えば:1つ又は複数の特定集成回路(Application Specific Integrated Circuit,ASIC)又は1つ又は複数のデジタル信号プロセッサ(Digital Singnal Processor,DSP)又は1つ又は複数のフィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)等である。また、これらのモジュールを統合し、チップオンデバイス(System-On-a-Chip、SOC)の形態で実現することができる。
【0120】
実際の適用において、本明細書に記載されている実施例のプロセスは、電子デバイスに取り付けられた電子チップにより実現することができる。そのため、本発明の一実施例は、電子チップを提供する。例えば、電子チップは、電子デバイスに取り付けられ、電子チップは、プロセッサを含み、当該プロセッサは、メモリに格納されたコンピュータプログラム命令を実行するために用いられ、当該コンピュータプログラム命令が当該プロセッサによって実行されると、電子チップがトリガされて本発明の実施例に記載の方法ステップを実行する。
【0121】
本発明の一実施例は、電子デバイスを提供する。
【0122】
図9の本発明の一実施例に係る電子デバイスの構造概念図である。
【0123】
電子デバイス900は、コンピュータプログラム命令を記憶するためにメモリ910及びプログラム命令を実行するためのプロセッサ920を含み、当該コンピュータプログラム命令が当該プロセッサによって実行されると、電子チップがトリガされて本発明の実施例に記載の方法ステップを実行する。
【0124】
具体的に、本発明の一実施例において、上記の1つ又は複数のコンピュータプログラムは、上記のメモリに格納され、上記の1つ又は複数のコンピュータプログラムは命令を含み、上記の命令が上記のデバイスにより実行されると、上記のデバイスが本発明の実施例に記載方法ステップを実行する。
【0125】
具体的に、本発明の一実施例において、電子デバイスのプロセッサは、チップオンデバイスSOCであってもよく、当該プロセッサは、中央処理装置(Central Processing Unit、CPU)を含んでもよく、更に、その他のタイプのプロセッサを含んでもよい。具体的に、本発明の一実施例において、電子デバイスのプロセッサはPWM制御チップであってもよい。
【0126】
具体的に、本発明の一実施例において、関連するプロセッサは、例えば、CPU、DSP、マイクロコントローラ又はデジタル信号プロセッサを含んでもよく、更に、GPU、組み込みニューラルネットワークプロセッサ(Neural-network Process Units,NPU)及び画像信号プロセッサ(Image Signal Processing,ISP)を含んでよい。当該プロセッサは、更に、必要なハードウェアアクセラレータ又は論理処理ハードウェア回路(例えばASIC)又は1つ又は複数の本発明の技術的解決策のプログラムの実行のための集積回路等を含んでもよい。また、プロセッサは、1つ又は複数のソフトウェアプログラムを操作する機能を有し、ソフトウェアプログラムは、記憶媒体に格納されてもよい。
【0127】
具体的に、本発明の一実施例において、電子デバイスのメモリは、読み取り専用メモリ(read-only memory,ROM)、静的情報および命令を記憶できる他のタイプの静的記憶装置、ランダムアクセスメモリ(random access memory,RAM)又は情報および命令を格納できる他のタイプの動的記憶装置であってもよく、電気的に消去・プログラムが可能な不揮発性メモリ(electrically erasable programmable read-only memory,EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory,CD-ROM)又はその他の光ディスク記憶装置、光ディスク ストレージ(コンパクトディスク、レーザーディスク、光ディスク、デジタル多目的ディスク、ブルーレイディスク等を含む)、磁気ディスク記憶媒体又はその他の磁気ストレージデバイスであってもよく、又は命令またはデータ構造の形態で所望のプログラムコードを携帯または記憶可能であり、コンピュータでアクセスことができるいずれのコンピュータ読み取り可能な媒体であってもよい。
【0128】
具体的に、本発明の一実施例において、プロセッサとメモリを組み合わせて処理装置にしてもよく、より一般的には、これらは互いに独立した構成要素であり、プロセッサでメモリに格納されたプログラムコードを実行して本発明の実施例に記載の方法を実現する。具体的に実現する際に、当該メモリプロセッサに統合されてもよく、プロセッサとは別体であってもよい。
【0129】
更に、本発明の実施例によるデバイス、装置、モジュールは、具体的に、コンピュータチップ又は実体で実現されてもよく、又は特定機能を有する製品によって実現されてもよい。
【0130】
当業者は、本発明の実施例は、方法、装置、コンピュータプログラム製品として提供され得ることを理解すべきである。そのため、本発明は、完全ハードウェア実施例、完全ソフトウェア実施例、又はソフトウェア及びハードウェアを組み合わせた実施例の形態にすることができる。また、本発明は、その中にコンピュータ使用可能なプログラムコードを含む1つまたは複数のコンピュータ使用可能な記憶媒体上で実施されるコンピュータプログラム製品の形態をとることができる。
【0131】
本発明により提供されるいくつかの実施例において、いずれかの機能がソフトウェア機能ユニットの形態で実現され、独立した製品として販売または使用される場合、それはコンピュータ読み取り可能な記憶媒体に記憶することができる。この理解に基づいて、本発明の技術的解決策は、本質的に又は先行技術に寄与する部分又は当該技術的解決策の一部をソフトウェア製品の形態で具現化することができ、当該コンピュータソフトウェア製品は 記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイス等)に、本発明の各実施例に記載の方法における全部又は一部のステップを実行させるためのいくつかの命令を含む。
【0132】
具体的に、本発明の一実施例は、コンピュータ読み取り可能な記憶媒体を提供し、当該コンピュータ読み取り可能な記憶媒体には、コンピュータプログラムが格納され、コンピュータで実行さると、コンピュータが本発明の実施例により提供される方法を実行する。
【0133】
本発明一実施例は、更に、コンピュータプログラム製品を提供し、当該コンピュータプログラム製品は、コンピュータプログラムを含み、コンピュータで実行されると、コンピュータが本発明の実施例により提供される方法を実行する。
【0134】
本発明中の実施例は、本発明の実施例の方法、デバイス(装置)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明した。フローチャートおよび/またはブロック図における各フローおよび/またはブロック、ならびにフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実現できることを理解されたい。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込み式プロセッサ、又は他のプログラム可能なデータ処理装置のプロセッサに提供し、コンピュータまたは他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令が、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックで指定される機能を実現するためのデバイスを生成するような機器を生成してもよい。
【0135】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置を特定の方法で動作させることができるコンピュータ読み取り可能なメモリに格納されてもよく、中,当該コンピュータ読み取り可能なメモリに格納された命令が命令装置を含む製造品を生成し、当該命令装置は、フローチャートにおける1つフロー又は複数のフロー及び/又はブロックにおける1つのブロック又は複数のブロックで指定される機能を実現する。
【0136】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスにインストールされてもよく、コンピュータ又は他のプログラム可能なデータ処理デバイスにおいて一連の操作を行い、コンピュータで実行される処理を生成することで、コンピュータ又は他のプログラム可能なデータ処理デバイスで実行される命令が、フローチャートにおける1つフロー又は複数のフロー及び/又はブロック図における1つのブロック又は複数のブロックで指定される機能を実現するためのステップを提供する。
【0137】
なお、本発明の実施例において、「少なくとも1つ」は1つ以上を指し、「複数」は2つ以上を指す。「および/または」は、関連付けられたオブジェクトの関連関係を意味し、3種類の関係が存在可能であることを意味する。例えば、Aおよび/またはBは、Aが単独で存在する場合、AとBが同時に存在する場合、またはBが単独で存在する場合を表す。ここで、A、Bは単数でも複数でもよい。「/」は、通常前後関連するオブジェクトが「又は」の関係を表す。「以下の少なくとも一項」及びそれを類似する表現は、これらの項の任意の組み合わせを意味し、単一項又は複数項の任意の組み合わせを含む。例えば、a、b及びcの少なくとも一項は、a、b、c、a及びb、a及びc、b及びc又はa及びb及びcを意味することができ、a、b、cは、1つ又は複数であってもよい。
【0138】
本発明の実施例において、用語「備える」、「含む」又はその他の変形は、非排他的に含めることを意図し、一連の要素を含むプロセス、方法、物品又は装置が、それらの要素だけでなく、明示的に記載されていない他の要素を含むとともに、これらのプロセス、方法、物品又は装置が固有する要素も含む。さらなる限定が場合、「......を含む」によって定義される要素は、当該要素を含むプロセス、方法、物品又は装置における追加の同一要素の存在を排除するものではない。
【0139】
本発明は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行又は特定の抽象データ類型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。また、分散式コンピューティング環境で本発明を実現することができる。これらの分散式コンピューティング環境において、通信ネットワークを介して接続された遠隔処理装置によってタスクが実行される。分散式コンピューティング環境において、プログラムモジュールは、ストレージデバイスを含むローカルおよびリモートのコンピュータ記憶媒体に格納されていてもよい。
【0140】
本発明の各実施例は漸進的に説明され、各実施例は、各実施例が他の実施例と異なる点に着目して順次説明されており、各実施形態の同一・類似部分については、互いに参照すれば十分であることに留意されたい。製品実施形態については、方法類の実施例と類似しているため説明が簡略化されており、関連する部分は方法実施例を参照すればよい。
【0141】
当業者は、本発明の実施例で説明する各ユニットおよびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、および電子ハードウェアの組み合わせによって実現可能であることを理解することができる。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、技術的解決策の特定の用途と設計上の制約に依存する。専門技術者は、特定のアプリケーションごとに説明されている機能を実現するためにさまざまな方法を使用することができるが、そのような実現は、本発明の範囲を超えていると見なされるべきではない。
【0142】
当業者は、説明の便宜および簡潔さのために、上記のデバイスおよびユニットの具体的動作プロセスが、上記の方法および実施例における対応するプロセスを参照することができ、ここでは説明を繰り返されない。
【0143】
上記は、本発明の特定の具体的実施形態にすぎず、当業者であれば、本発明の技術的範囲内で変更または置換を容易に想到することができ、これらも本発明の保護範囲に包含されるべきである。 本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2023-10-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ニューラルネットワークの変換方法であって、前記方法は、端末デバイスに適用され、
決定木を初期化し、前記決定木のルートを設定することと、
ニューラルネットワークのフィルタを決定ルールとし、前記決定木のルートから葉分岐を行い、前記決定木が前記ニューラルネットワークの全てのフィルタをカバーするまで前記葉分岐を行うこととを含み、
前記ニューラルネットワークは、区分的線形活性化を有するニューラルネットワークである、ことを特徴とするニューラルネットワークの変換方法。
【請求項2】
前記決定木のルートから葉分岐を行うことは、
前回分岐されたノードに対して毎回前記葉分岐を行い、各前記葉分岐は1つのフィルタに対応し、前記フィルタの対応順序は、前記ニューラルネットワークの同一層のフィルタの順番及び前記ニューラルネットワークの異なる層の順番に従うことを含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
全結合層において、有効行列を前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項4】
スキップ接続層において、残差有効行列を前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項5】
正規化層において、前記正規化層は、活性化前又は活性化後の正規化の後又は前の線形層にそれぞれ埋め込まれる、ことを特徴とする請求項1に記載の方法。
【請求項6】
畳み込み層において、有効畳み込みを前記決定ルールとする、ことを特徴とする請求項1に記載の方法。
【請求項7】
前記方法は、更に、
前記決定木の違反ルール及び/又は冗長ルールに基づいて、前記決定木に対して無損失剪定を行うこと、
及び/または
前記ニューラルネットワークのトレーニング期間に実現したカテゴリに基づいて、前記決定木に対して無損失剪定を行うことを含む、ことを特徴とする請求項1~6のいずれか一項に記載のニューラルネットワークの変換方法。
【請求項8】
ニューラルネットワークの計算方法であって、前記方法は、端末デバイスに適用され、
計算に用いられるニューラルネットワークを取得することと、
請求項1~6のいずれか一項に記載の方法に基づいて、前記ニューラルネットワークを決定木に変換することと、
前記決定木を用いて計算することとを含む、ことを特徴とするニューラルネットワークの計算方法。
【請求項9】
電子デバイスであって、
前記電子デバイスは、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして請求項1~6のいずれか一項に記載の方法ステップを実行する、ことを特徴とする電子デバイス。
【請求項10】
電子デバイスであって、
前記電子デバイスは、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして請求項8に記載の方法ステップを実行する、ことを特徴とする電子デバイス。
【請求項11】
コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが格納され、コンピュータで実行されると、コンピュータが請求項1~6のいずれか一項に記載の方法を実行する、ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術分野に関し、特にニューラルネットワーク変換方法、電子デバイス及び記憶媒体に関する。
【背景技術】
【0002】
コンピュータ技術の分野では、ニューラルネットワークの利用がますます広まっている。しかし、ニューラルネットワークによる予測はブラックボックスな性質があるため、安全衛生分野など多くの産業において、より広く、より信頼性の高い応用が妨げられている。このため、解釈可能な人工知能(XAI)と呼ばれるニューラルネットワークの判断を解釈する方法の構築が求められている。ニューラルネットワークの判断を解釈するための成果は、特徴マップとニューラルネットワークを解釈可能な方法で接続することに分けられる。
【0003】
特徴マップは、ニューラルネットワークが予測に使用する入力領域を強調して表示する方法である。先行研究[8]では、入力に対するニューラルネットワーク出力の勾配を用いて、ネットワーク全体における特定の入力の線形化を可視化した。当該方法で得られた特徴マップは、通常ノイズがあり、決定されたことを明確に理解することができない。
【0004】
他のトラッキング方法では、通常は完全接続層の前に、ニューラルネットワークを利用して活性化のための導関数を出力する。このようなトラッキング方法で得られた特徴マップは、予測類に関連する領域を強調して表示する意味では、より明確である。しかし、決定のサポート領域が妥当かどうかをチェックするといった目的には役に立つが、そのような決定が下された理由についての詳細な論理の推論は依然として不足する。
【0005】
そのため、ニューラルネットワークの決定を説明する方法が必要である。
[発明の内容]
[発明が解決しようとする課題]
【0006】
従来技術におけるニューラルネットワークの決定を如何に解釈するかという問題を解決するために、本発明は、ニューラルネットワークの変換方法、電子デバイス及びコンピュータ読み取り可能な記憶媒体を提供する。
【0007】
本発明の実施例は、以下の技術策を利用する。
【0008】
第1観点では、本発明は、端末デバイスに適用されるニューラルネットワーク変換の方法であって、決定木を初期化し、前記決定木のルートを設定することと、ニューラルネットワークのフィルタを決定ルールとし、前記決定木のルートから葉分岐を行い、前記決定木が前記ニューラルネットワークの全てのフィルタをカバーするまで前記葉分岐を行うこととを含み、前記ニューラルネットワークは、区分的線形活性化を有するニューラルネットワークである、ことを特徴とするニューラルネットワークの変換方法を提供する。
【0009】
第1観点の実現形態において、前記決定木のルートから葉分岐を行うことは、
前回分岐されたノードに対して毎回前記葉分岐を行い、各前記葉分岐は1つのフィルタに対応し、前記フィルタの対応順序は、前記ニューラルネットワークの同一層のフィルタの順番及び前記ニューラルネットワークの異なる層の順番に従うことを含む。
【0010】
第1観点の実現形態において、全結合層において、有効行列を前記決定ルールとする。
【0011】
第1観点の実現形態において、スキップ接続層において、残差有効行列を前記決定ルールとする。
【0012】
第1観点の実現形態において、正規化層において、前記正規化層は、活性化前又は活性化後の正規化の後又は前の線形層にそれぞれ埋め込まれる。
【0013】
第1観点の実現形態において、畳み込み層において、有効畳み込みを前記決定ルールとする。
【0014】
第1観点の実現形態において、前記方法は、更に、前記決定木の違反ルール及び/又は冗長ルールに基づいて、前記決定木に対して無損失剪定を行うこと、及び/または、前記ニューラルネットワークのトレーニング期間に実現したカテゴリに基づいて、前記決定木に対して無損失剪定を行うことを含む。
【0015】
第2観点では、本発明は、端末デバイスに適用されるニューラルネットワークの計算方法であって、計算に用いられるニューラルネットワークを取得することと、第1観点の方法に基づいて、前記ニューラルネットワークを決定木に変換することと、前記決定木を用いて計算することとを含むニューラルネットワークの計算方法を提供する。
【0016】
第三観点では、本発明は、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして第1観点の方法ステップを実行する電子デバイスを提供する。
【0017】
第4観点では、本発明は、コンピュータプログラム命令を格納するためのメモリ及びコンピュータプログラム命令を実行するためのプロセッサを含み、
前記コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子デバイスをトリガして第2観点の方法ステップを実行する電子デバイスを提供する。
【0018】
第5観点では、本発明は、コンピュータプログラムが格納され、コンピュータで実行されると、コンピュータが第1観点又は第2観点の方法を実行するコンピュータ読み取り可能な記憶媒体を提供する。
[発明の効果]
【0019】
本発明の実施例に係る上記の技術策より、少なくとも以下の技術的効果を実現することができる。
本発明の実施例の方法によると、ニューラルネットワークを決定木に変換し、決定木に基づいてニューラルネットワークを解釈することで、ニューラルネットワークのブラックボックス問題を解決する。また、ニューラルネットワークに等価の決定木は、メモリ要求の増加によるニューラルネットワークの計算コストを有効に減少することができる。
【図面の簡単な説明】
【0020】
図1】本発明の一実施例に係る方法のフローチャートである。
図2】本発明の一実施例に係る決定木の概念図である。
図3】本発明の一実施例に係る決定木の概念図である。
図4】本発明の一実施例に係る決定木の概念図である。
図5】本発明の一実施例に係るモデル応答の概念図である。
図6】本発明の一実施例に係る決定木の概念図である。
図7】本発明の一実施例に係る決定木の概念図である。
図8】本発明の一実施例に係るニューラルネットワークの計算フローチャートである。
図9】本発明の一実施例に係る電子デバイスのハードウェア構造概念図である。
【発明を実施するための形態】
【0021】
本発明の目的、技術の解決策及び利点をより明白かつ理解しやすくするために、以下、本願の実施形態及び添付図面を参照して本発明を明確かつ詳細に説明する。明らかに、以下に説明する実施例は、すべての実施形態ではなく、本発明の実施例の一部にすぎない。本発明の実施例に基づいて、当業者が創造のな努力をすることなく得た他のすべての実施例は、本発明の保護範囲に属する。
【0022】
本発明の実施形態で使用される用語は、本発明の特定の具体的に実施例を説明するためにのみ使用され、本発明を限定することを意図するものではない。
【0023】
従来技術において、ニューラルネットワークの決定を如何に解釈するかという問題について、本発明は、ニューラルネットワークの変換方法を提供する。区分的線形活性化を有するニューラルネットワークを等価の決定木表現に変換する。誘導木の出力は、ニューラルネットワークと同一であり、神経構造を何ら制限したり変更したりする必要はない。ニューラルネットワークの各決定は、決定木により解釈される。
【0024】
本発明の一実施例では、ニューラルネットワークを決定木に変換するプロセスにおいて、ニューラルネットワークの各層の有効なフィルタ(フィルタ)を決定木の対応層の決定ルールとして使用する。
【0025】
具体的に、図1は、本発明の一実施例に係る方法フローチャートである。電子デバイスは、図1に示すプロセスを実行することで、区分的線形活性化のニューラルネットワークを決定木に変換する。
【0026】
S100、決定木を初期化し、決定木のルートを設定する。
【0027】
S110、決定木のルートから葉分岐を開始し、決定ルールは、ニューラルネットワークのフィルタである。
【0028】
具体的に、S110において、決定木のルートから分岐されたノードより、前回分岐したノードに対して毎回葉分岐を行い、各葉分岐は1つのフィルタに対応する。フィルタの対応する順序は、同一層フィルタの順序及び異なる層の順序に従う。
【0029】
例えば、決定木のルートから第1回目の葉分岐(例えば、k個のノードに分岐)を行い、決定ルールは、ニューラルネットワークの第1層の1個目のフィルタである。
【0030】
具体的に、kは、使用した活性化関数の区分的線形領域の数に対応する。
【0031】
1回目の葉分岐の結果(例えば、k個のノード)の各ノードに対して2回目の葉分岐を行い、決定ルールは、ニューラルネットワークの第1層の1個目のフィルタである。
【0032】
ニューラルネットワークの第1層の全てのフィルタがカバーされるまで葉分岐を継続して行う。
【0033】
葉分岐を継続して行い、決定ルールは、ニューラルネットワークの第2層の1個目のフィルタである。ニューラルネットワークの全ての層の全てのフィルタがカバーされるまで葉分岐を継続して行う。
【0034】
具体的に、一実施例において、S110は、以下のプロセスを含む。
【0035】
S111、決定木の第s層の各決定木ノードに対して葉分岐を行い、決定木の第s+1層の決定木ノード取得し、葉分岐の決定ルールは、ニューラルネットワークの第i層の第m個のフィルタである。
【0036】
S111において、s、i、mの初期値は1であり、決定木の第1層の決定木ノードが決定木のルートである。
【0037】
S112、ニューラルネットワークの第i層のフィルタが全部カバーされているか判断する。
【0038】
ニューラルネットワークの第i層のフィルタが全部カバーされている場合、S113を実行する。
【0039】
S113、ニューラルネットワークの全ての層が全部カバーされているか判断する。
【0040】
ニューラルネットワークの全ての層が全部カバーされている場合、S114を実行する。
【0041】
S114、決定木に戻り、葉分岐を終了する。
【0042】
ニューラルネットワークの全ての層が全部カバーされていない場合、S115を実行する。
【0043】
S115、iの値に1を加算し、mの値を1にする。
【0044】
ニューラルネットワークの第i層のフィルタが全部カバーされていない場合、S116を実行する。
【0045】
S116、mの値に1を加算する。
【0046】
S115又はS116の後に、S117を実行する。
【0047】
S117、sの値に1を加算する。
【0048】
S117の後に、S111に戻る。
【0049】
以下において、それぞれ異なる構造の区分的線形活性化のニューラルネットワークについて、ニューラルネットワークを等価の決定木表現に変換するプロセスについて説明する。
【0050】
(一)全結合ネットワーク(全結合層)
をニューラルネットワークの第i層の重み行列と仮定する。σを任意の区分的線形活性化関数とし、且つをニューラルネットワークの入力とする。その後、フィードフォワードニューラルネットワークの出力と中間特徴は、以下のように表すことができる。
【0051】
【0052】
【0053】
【0054】
【0055】
式2は、改めて以下のように整理することができる。
【0056】
【0057】
【0058】
式3を利用し、式1を以下のように書き換えることができる
【0059】
【0060】
【0061】
【0062】
【0063】
式5から、第i層の有効行列は、前の層からの分類ベクトルのみに依存することがわかる。これは、次の分類を行うフィルタの計算は、前の分類のみに依存することを意味する。
【0064】
【0065】
そのため、層iは、kmi路分類に表示され、ここで、mは、各層iのフィルタの数であり、且つkは、活性化中の線形領域の総数である。従って、層iのこのような分類は、深さがmの木で表示可能であり、任意の深さのノードは、k個の分類に分岐される。
【0066】
以上から、本発明の一実施例によると、全結合ニューラルネットワークを決定木に変換するプロセスにおいて、全結合ニューラルネットワークの各層の有効行列をS110で用いられるフィルタとし、有効行列を決定木の対応層の決定ルール(分類ルール)として使用する。具体的に、式5に基づいて全結合ニューラルネットワークの有効行列を計算することで、決定木の決定ルールを確定する。
【0067】
更に、一実施例において、整流化線形ユニット(Rectified Linear Unit,ReLU)を活性化関数とし、ReLUニューラルネットワークについて、以下のアルゴリズムフローを利用して全結合ニューラルネットワークを決定木に変換することができる。
【0068】
【0069】
アルゴリズム1の第4~8行は、決定木の1つのノードに対応し、当該ノードにおいて、簡単なはい/いいえの決定をする。
【0070】
【0071】
【0072】
【0073】
【0074】
(三)正規化層
ニューラルネットワークの正規化層は線形であるため、且つトレーニング後、これらはそれぞれ活性化前又は活性化後の正規化後又は前の線形層に埋め込まれることができる。そのため、一実施例において、ニューラルネットワークを決定木表現に変換する過程において、正規化層については、個別の変換をする必要がない。
【0075】
【0076】
【0077】
【0078】
【0079】
【0080】
【0081】
【0082】
【0083】
cは、以前の各層全ての関連領域のカスケード分類結果に定義される。式11において、有効畳み込みは、活性化からの分類のみに依存するため、木等の等価が全結合ネットワーク対する分析に類似する。全結合層の場合との違いは、畳み込み層の多くの決定は、X全体ではなく一部の入力領域に対して行われるものである。
【0084】
更に、図2は、本発明の一実施例に係る決定木の概念図である。二層ReLUニューラルネットワークから変換された決定木を図2に示す。
【0085】
【0086】
決定木の最終層の木の分岐の総数(決定木のカテゴリー総数)は2である。ニューラルネットワークのフィルタ数の増加に伴い、決定木の最終層の木の分岐の総数は、指数関数的に増加する。例えば、ニューラルネットワークの第1層が64個のフィルタを含む場合、決定木においては少なくとも264個の分岐が存在する。
【0087】
決定木のカテゴリ総数を制御するために、一実施例おいて、ニューラルネットワークの等价決定木の違反ルール及び冗長ルールに基づいて、ニューラルネットワークの等价決定木に対して無損失剪定を行う。
【0088】
例えば、ニューラルネットワークをy=x方程式に当てはめる。ニューラルネットワークは、3つの密な層を有し、第1層及び第2層はそれぞれ2つのフィルタを有し、最終層は1つのフィルタを有する。ネットワーク在之后使用leaky-ReLU活性化,除了最終層没有活性化。ネットワークは、活性化していない最終層を除いて、全結合層の後にleaky-ReLUを使用して活性化する。
【0089】
図3は、本発明の一実施例に係る決定木の概念図である。y=x回帰ニューラルネットワークが変換された決定木を図3示す。
【0090】
決定木において、301領域の各矩形ブロックは決定ルールを表し、ブロックの左サブブロックは決定ルールが成立しないことを表し、右サブブロックは決定ルールが成立することを表す。
【0091】
【0092】
【0093】
決定木の多くのルールは、冗長であるため、決定木の一部のパスが無効になる。
【0094】
例えば、冗長ルールについて、x<-1.16ルールが成立した後にx<0.32をチェックする実現方法がある。これは当該ノードに対して無効な右サブノードを直接作成する。そのため、この場合、右サブブロックを削除し、分類ルールをより厳密なルールに合併することで木をクリーンアップすることができる:特定の場合は、x<-1.16。
【0095】
図4は、本発明の一実施例に係る決定木の概念図である。
【0096】
図3に示す決定木をクリーンアップすることで、図4に示す決定木を取得することができ、図4に示す決定木は、16個ではなく、5つのカテゴリ(401~405)を含む。
【0097】
図5は、本発明の一実施例に係るモデル応答概念図である。図4に示す決定木のモデル応答を図5に示す。
【0098】
図4に示す決定木に基づき、ニューラルネットワークは以下のように解釈される:決定木表現によって境界が決定された各領域について、ネットワークは線形方程式によって非線形非線性y=x方程式を近似する。
【0099】
決定木から明確な解釈と推論を行うことができ、その一部を以下の通りである。ニューラルネットワークは、決定境界が非対称であるという事実から明らかなように、回帰問題の対称性を把握することはできない。-1.16以下及び1以上の領域は境界がないため、xがこれらの境界を超えると、ニューラル決定の精度が失われる。
【0100】
更に、カテゴリの数がトレーニングデータよりも多い可能性があるため、ニューラルネットワークのトレーニング期間には全てのカテゴリを実現する可能性は非常に低い。そのため、これらのカテゴリも、アプリケーションに基づいて剪定することができる。ニューラルネットワークのトレーニング期間に実現されるカテゴリにより、決定木に対して無損失剪定を行う。
【0101】
具体的に、アプリケーションが許可する場合、これらのカテゴリに属するデータは無効であると見なすことができる。
【0102】
例えば、半月分類問題の場合である。最終層にsigmoid活性化を有する以外、leaky-ReLU活性化を有する3層の全結合のニューラルネットワークをトレーニングする。最終層が1つのフィルタを有する以外、各層は2つのフィルタを有する。
【0103】
図6は、本発明の一実施例に係る決定木の概念図である。図6に示す決定木は、ある半月分類ニューラルネットワークに対応する分類木である。
【0104】
図6に示すように、トレーニングされたネットワークによるクリーンアップ決定木である。決定木は、その境界が木内のルールによって確定される多くのカテゴリを見つけ、各カテゴリにはクラスが割り当てられている。
【0105】
図7は、本発明の一実施例に係る半月データセットに使用される決定木によって実行される分類の概念図である。
【0106】
図7において、異なるグレースケールで異なるカテゴリを表す。決定木からいくつかの推論を行うことができる。例えば、一部の領域は非常に明確であり、且つこれらが実行する分類トレーニングデータとは完全に一致するため、これらの領域は非常に信頼性が高い。境界がないカテゴリが存在し、これは正確な分類の境界を得るのに役立つが、トレーニングデータのコンパクトな表現を提供できず、これらはニューラル決定が行う不正確な推論に対応する可能性がある。訓練データが属していないカテゴリも表示される。
【0107】
本発明の実施例の方法によると、ニューラルネットワークを決定木に変換し、決定木に基づいてニューラルネットワークを解釈することで、ニューラルネットワークのブラックボックス問題を解決する。
【0108】
更に、本発明の実施例によるニューラルネットワーク変換方法に基づいて、本発明の一実施例は、更に、ニューラルネットワークの計算方法を提供する。
【0109】
図8は、本発明の一実施例に係るニューラルネットワークの計算フローチャートである。電子デバイスは、図8に示す以下のプロセスを実行することで、ニューラルネットワーク計算を実現する。
【0110】
S800、計算待ちデータを取得する。
【0111】
S810、計算待ちデータを計算するための第1ニューラルネットワークを取得する。
【0112】
S820、本発明の実施例によるニューラルネットワーク変換方法に基づいて、第1ニューラルネットワークを第1決定木に変換する。
【0113】
S830、第1決定木を使用して計算待ちデータを計算し、計算結果を取得する。
【0114】
決定木表現は、ニューラルネットワークよりもいくつかの計算上の利点がある。
【0115】
表1は、あるゲーム問題の計算及びメモリ分析結果のデータを示すものである。
【0116】
【0117】
本発明の実施例において、プロセスの各ステップは、機能によって様々なモジュールに分割して実現することができ、各モジュールの分割は論理的な機能の分割に過ぎず、本発明の実施例を実施する時に、各モジュールの機能を同一または複数のソフトウェアおよび/またはハードウェアで実現することができる。
【0118】
具体的に、本発明の実施例により提供される装置は、実際に実現する際に、全部又は部分的に単一の物理的実体に統合してもよく、物理的に分離してもよい。且つこれらのモジュールは、全部ソフトウェアで処理素子を介して呼び出される形態で実現してもよく、全部ハードウェアの形態で実現してもよく、一部のモジュールがソフトウェアで処理素子を介して呼び出される形態で実現してもよく、一部のモジュールがハードウェアの形態で実現してもよい。例えば、検出モジュールは、独立した処理素子であってもよく、電子デバイスのあるチップに統合されて実現されてもよい。その他のモジュールの実現も同様である。そして、これらのモジュールは全部又は部分的に統合してもよいく、個別に実現してもよい。実現過程において、上記方法の各ステップ又は上記の各モジュールは、プロセッサ素子のハードウェアの集積論理回路又はソフトウェア形態の命令によって完成することができる。
【0119】
例えば、上記のモジュールは、上記の方法を実現するために配置された1つ又は複数の集積回路、例えば:1つ又は複数の特定集成回路(Application Specific Integrated Circuit,ASIC)又は1つ又は複数のデジタル信号プロセッサ(Digital Singnal Processor,DSP)又は1つ又は複数のフィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)等である。また、これらのモジュールを統合し、チップオンデバイス(System-On-a-Chip、SOC)の形態で実現することができる。
【0120】
実際の適用において、本明細書に記載されている実施例のプロセスは、電子デバイスに取り付けられた電子チップにより実現することができる。そのため、本発明の一実施例は、電子チップを提供する。例えば、電子チップは、電子デバイスに取り付けられ、電子チップは、プロセッサを含み、当該プロセッサは、メモリに格納されたコンピュータプログラム命令を実行するために用いられ、当該コンピュータプログラム命令が当該プロセッサによって実行されると、電子チップがトリガされて本発明の実施例に記載の方法ステップを実行する。
【0121】
本発明の一実施例は、電子デバイスを提供する。
【0122】
図9の本発明の一実施例に係る電子デバイスの構造概念図である。
【0123】
電子デバイス900は、コンピュータプログラム命令を記憶するためにメモリ910及びプログラム命令を実行するためのプロセッサ920を含み、当該コンピュータプログラム命令が当該プロセッサによって実行されると、電子チップがトリガされて本発明の実施例に記載の方法ステップを実行する。
【0124】
具体的に、本発明の一実施例において、上記の1つ又は複数のコンピュータプログラムは、上記のメモリに格納され、上記の1つ又は複数のコンピュータプログラムは命令を含み、上記の命令が上記のデバイスにより実行されると、上記のデバイスが本発明の実施例に記載方法ステップを実行する。
【0125】
具体的に、本発明の一実施例において、電子デバイスのプロセッサは、チップオンデバイスSOCであってもよく、当該プロセッサは、中央処理装置(Central Processing Unit、CPU)を含んでもよく、更に、その他のタイプのプロセッサを含んでもよい。具体的に、本発明の一実施例において、電子デバイスのプロセッサはPWM制御チップであってもよい。
【0126】
具体的に、本発明の一実施例において、関連するプロセッサは、例えば、CPU、DSP、マイクロコントローラ又はデジタル信号プロセッサを含んでもよく、更に、GPU、組み込みニューラルネットワークプロセッサ(Neural-network Process Units,NPU)及び画像信号プロセッサ(Image Signal Processing,ISP)を含んでよい。当該プロセッサは、更に、必要なハードウェアアクセラレータ又は論理処理ハードウェア回路(例えばASIC)又は1つ又は複数の本発明の技術的解決策のプログラムの実行のための集積回路等を含んでもよい。また、プロセッサは、1つ又は複数のソフトウェアプログラムを操作する機能を有し、ソフトウェアプログラムは、記憶媒体に格納されてもよい。
【0127】
具体的に、本発明の一実施例において、電子デバイスのメモリは、読み取り専用メモリ(read-only memory,ROM)、静的情報および命令を記憶できる他のタイプの静的記憶装置、ランダムアクセスメモリ(random access memory,RAM)又は情報および命令を格納できる他のタイプの動的記憶装置であってもよく、電気的に消去・プログラムが可能な不揮発性メモリ(electrically erasable programmable read-only memory,EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory,CD-ROM)又はその他の光ディスク記憶装置、光ディスク ストレージ(コンパクトディスク、レーザーディスク、光ディスク、デジタル多目的ディスク、ブルーレイディスク等を含む)、磁気ディスク記憶媒体又はその他の磁気ストレージデバイスであってもよく、又は命令またはデータ構造の形態で所望のプログラムコードを携帯または記憶可能であり、コンピュータでアクセスことができるいずれのコンピュータ読み取り可能な媒体であってもよい。
【0128】
具体的に、本発明の一実施例において、プロセッサとメモリを組み合わせて処理装置にしてもよく、より一般的には、これらは互いに独立した構成要素であり、プロセッサでメモリに格納されたプログラムコードを実行して本発明の実施例に記載の方法を実現する。具体的に実現する際に、当該メモリプロセッサに統合されてもよく、プロセッサとは別体であってもよい。
【0129】
更に、本発明の実施例によるデバイス、装置、モジュールは、具体的に、コンピュータチップ又は実体で実現されてもよく、又は特定機能を有する製品によって実現されてもよい。
【0130】
当業者は、本発明の実施例は、方法、装置、コンピュータプログラム製品として提供され得ることを理解すべきである。そのため、本発明は、完全ハードウェア実施例、完全ソフトウェア実施例、又はソフトウェア及びハードウェアを組み合わせた実施例の形態にすることができる。また、本発明は、その中にコンピュータ使用可能なプログラムコードを含む1つまたは複数のコンピュータ使用可能な記憶媒体上で実施されるコンピュータプログラム製品の形態をとることができる。
【0131】
本発明により提供されるいくつかの実施例において、いずれかの機能がソフトウェア機能ユニットの形態で実現され、独立した製品として販売または使用される場合、それはコンピュータ読み取り可能な記憶媒体に記憶することができる。この理解に基づいて、本発明の技術的解決策は、本質的に又は先行技術に寄与する部分又は当該技術的解決策の一部をソフトウェア製品の形態で具現化することができ、当該コンピュータソフトウェア製品は 記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイス等)に、本発明の各実施例に記載の方法における全部又は一部のステップを実行させるためのいくつかの命令を含む。
【0132】
具体的に、本発明の一実施例は、コンピュータ読み取り可能な記憶媒体を提供し、当該コンピュータ読み取り可能な記憶媒体には、コンピュータプログラムが格納され、コンピュータで実行さると、コンピュータが本発明の実施例により提供される方法を実行する。
【0133】
本発明一実施例は、更に、コンピュータプログラム製品を提供し、当該コンピュータプログラム製品は、コンピュータプログラムを含み、コンピュータで実行されると、コンピュータが本発明の実施例により提供される方法を実行する。
【0134】
本発明中の実施例は、本発明の実施例の方法、デバイス(装置)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明した。フローチャートおよび/またはブロック図における各フローおよび/またはブロック、ならびにフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実現できることを理解されたい。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込み式プロセッサ、又は他のプログラム可能なデータ処理装置のプロセッサに提供し、コンピュータまたは他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令が、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックで指定される機能を実現するためのデバイスを生成するような機器を生成してもよい。
【0135】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置を特定の方法で動作させることができるコンピュータ読み取り可能なメモリに格納されてもよく、中,当該コンピュータ読み取り可能なメモリに格納された命令が命令装置を含む製造品を生成し、当該命令装置は、フローチャートにおける1つフロー又は複数のフロー及び/又はブロックにおける1つのブロック又は複数のブロックで指定される機能を実現する。
【0136】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスにインストールされてもよく、コンピュータ又は他のプログラム可能なデータ処理デバイスにおいて一連の操作を行い、コンピュータで実行される処理を生成することで、コンピュータ又は他のプログラム可能なデータ処理デバイスで実行される命令が、フローチャートにおける1つフロー又は複数のフロー及び/又はブロック図における1つのブロック又は複数のブロックで指定される機能を実現するためのステップを提供する。
【0137】
なお、本発明の実施例において、「少なくとも1つ」は1つ以上を指し、「複数」は2つ以上を指す。「および/または」は、関連付けられたオブジェクトの関連関係を意味し、3種類の関係が存在可能であることを意味する。例えば、Aおよび/またはBは、Aが単独で存在する場合、AとBが同時に存在する場合、またはBが単独で存在する場合を表す。ここで、A、Bは単数でも複数でもよい。「/」は、通常前後関連するオブジェクトが「又は」の関係を表す。「以下の少なくとも一項」及びそれを類似する表現は、これらの項の任意の組み合わせを意味し、単一項又は複数項の任意の組み合わせを含む。例えば、a、b及びcの少なくとも一項は、a、b、c、a及びb、a及びc、b及びc又はa及びb及びcを意味することができ、a、b、cは、1つ又は複数であってもよい。
【0138】
本発明の実施例において、用語「備える」、「含む」又はその他の変形は、非排他的に含めることを意図し、一連の要素を含むプロセス、方法、物品又は装置が、それらの要素だけでなく、明示的に記載されていない他の要素を含むとともに、これらのプロセス、方法、物品又は装置が固有する要素も含む。さらなる限定が場合、「......を含む」によって定義される要素は、当該要素を含むプロセス、方法、物品又は装置における追加の同一要素の存在を排除するものではない。
【0139】
本発明は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行又は特定の抽象データ類型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。また、分散式コンピューティング環境で本発明を実現することができる。これらの分散式コンピューティング環境において、通信ネットワークを介して接続された遠隔処理装置によってタスクが実行される。分散式コンピューティング環境において、プログラムモジュールは、ストレージデバイスを含むローカルおよびリモートのコンピュータ記憶媒体に格納されていてもよい。
【0140】
本発明の各実施例は漸進的に説明され、各実施例は、各実施例が他の実施例と異なる点に着目して順次説明されており、各実施形態の同一・類似部分については、互いに参照すれば十分であることに留意されたい。製品実施形態については、方法類の実施例と類似しているため説明が簡略化されており、関連する部分は方法実施例を参照すればよい。
【0141】
当業者は、本発明の実施例で説明する各ユニットおよびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、および電子ハードウェアの組み合わせによって実現可能であることを理解することができる。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、技術的解決策の特定の用途と設計上の制約に依存する。専門技術者は、特定のアプリケーションごとに説明されている機能を実現するためにさまざまな方法を使用することができるが、そのような実現は、本発明の範囲を超えていると見なされるべきではない。
【0142】
当業者は、説明の便宜および簡潔さのために、上記のデバイスおよびユニットの具体的動作プロセスが、上記の方法および実施例における対応するプロセスを参照することができ、ここでは説明を繰り返されない。
【0143】
上記は、本発明の特定の具体的実施形態にすぎず、当業者であれば、本発明の技術的範囲内で変更または置換を容易に想到することができ、これらも本発明の保護範囲に包含されるべきである。 本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。