(57)【要約】      （修正有）【課題】畳み込みニューラル・ネットワークからの知識抽出方法を提供する。【解決手段】入力データが畳み込みニューラル・ネットワーク（CNN）によって分類された後、入力データの分類に直接または間接に寄与したCNNのある畳み込みフィルタに関してラベル付けプロセスが実行される。ラベル付けプロセスは、畳み込みフィルタの出力およびまたは畳み込みフィルタに関連する最大プーリング・フィルタの出力をフィルタ分類器に入力することを含む。該フィルタ分類器は、入力データ分類プロセスを用いて畳み込みフィルタによって表わされる特徴にラベルを割り当てる。ラベル付けプロセスは、入力データの分類に直接または間接に寄与したCNNの個々の各畳み込みフィルタに関して繰り返される。次いで、CNNを、割り当てられたラベルに関連するニューラル記号ネットワークに変換し、CNNによる入力データの分類に関係する知識を抽出する。【選択図】図４
2018041445.tif 000002
【特許請求の範囲】
【請求項１】
入力データを分類するために使われる畳み込みニューラル・ネットワーク（CNN）と一緒に使うための方法であって：
入力データが前記CNNによって分類された後、前記入力データの分類に寄与した前記CNNのある畳み込みフィルタに関してラベル付けプロセスを実行する段階であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力をフィルタ分類器に入力することを含み、該フィルタ分類器は入力データ分類プロセスを用いて前記畳み込みフィルタによって表わされる前記入力データの特徴にラベルを割り当てる、段階と；
前記入力データの分類に寄与した前記CNNの個々の各畳み込みフィルタに関して前記ラベル付けプロセスを繰り返す段階と；
前記CNNを割り当てられたラベルに関連するニューラル記号ネットワークに変換する段階と；
知識抽出方法を使って前記ニューラル記号ネットワークから前記CNNによる前記入力データの前記分類に関係する知識を抽出する段階と；
前記入力データ、前記CNNによって割り当てられた前記入力データの前記分類および前記抽出された知識を含む要約；ならびに前記抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力する段階とを含む、
方法。
【請求項２】
前記要約または前記アラートに基づいて、前記抽出された知識を前記分類された入力データとの関連で使ってタスクまたはアクションを実行する段階をさらに含む、請求項１記載の方法。
【請求項３】
前記タスクまたはアクションは、障害検出プロセス；機械パーツ分類プロセス；視覚的メディア分類プロセス；および医療診断プロセスのうちの少なくとも一つに関係して実行される、請求項２記載の方法。
【請求項４】
前記ラベル付けプロセスは、各畳み込みフィルタについて同じフィルタ分類器を使う、請求項１ないし３のうちいずれか一項記載の方法。
【請求項５】
前記畳み込みフィルタによって表わされる特徴が前記フィルタ分類器によって分類できない場合、前記フィルタ分類器によって任意のラベルが前記入力データの該特徴に割り当てられる、請求項１ないし４のうちいずれか一項記載の方法。
【請求項６】
前記CNNをニューラル記号ネットワークに変換することは：
前記ニューラル記号ネットワークにおいて、前記CNNのそれぞれのラベル付けされた畳み込みフィルタを、そのフィルタに割り当てられたラベルに関連する単一のニューロンとして表わし；
それらの畳み込みフィルタの間の接続をそれらのニューロンの間の接続として表わすことを含む、
請求項１ないし５のうちいずれか一項記載の方法。
【請求項７】
コンピュータ上で実行されたときに該コンピュータに請求項１ないし６のうちいずれか一項記載の方法を実行させるコンピュータ・プログラム。
【請求項８】
入力データを分類するために使われる畳み込みニューラル・ネットワーク（CNN）と一緒に使うための装置であって：
入力データが前記CNNによって分類された後、前記入力データの分類に寄与した前記CNNのある畳み込みフィルタに関してラベル付けプロセスを実行するフィルタ分類器であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力に基づいて前記畳み込みフィルタによって表わされる前記入力データの特徴にラベルを割り当てるよう入力データ分類プロセスを用いることを含み、該フィルタ分類器は、前記入力データの分類に寄与した前記CNNの個々の各畳み込みフィルタに関して前記ラベル付けプロセスを繰り返すよう動作可能である、フィルタ分類器と；
前記CNNを、割り当てられたラベルに関連するニューラル記号ネットワークに変換するニューラル記号ネットワーク構築器と；
知識抽出方法を使って前記ニューラル記号ネットワークから前記CNNによる前記入力データの前記分類に関係する知識を抽出する知識抽出器と；
前記入力データ、前記CNNによって割り当てられた前記入力データの前記分類および前記抽出された知識を含む要約；ならびに前記抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力する出力装置とを有する、
装置。
【請求項９】
前記フィルタ分類器は、各畳み込みフィルタについて同じ入力データ分類プロセスを使うよう動作可能である、請求項８記載の装置。
【請求項１０】
前記畳み込みフィルタによって表わされる特徴が前記フィルタ分類器によって分類できない場合、前記フィルタ分類器は、任意のラベルを前記入力データの該特徴に割り当てるよう動作可能である、請求項８または９記載の装置。
【請求項１１】
前記ニューラル記号ネットワーク構築器は：
前記ニューラル記号ネットワークにおいて、前記CNNのそれぞれのラベル付けされた畳み込みフィルタを、そのフィルタに割り当てられたラベルに関連する単一のニューロンとして表わし；
それらの畳み込みフィルタの間の接続をそれらのニューロンの間の接続として表わすよう動作可能である、
請求項８ないし１０のうちいずれか一項記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は畳み込みニューラル・ネットワークからの知識抽出に関する。
【背景技術】
【０００２】
ニューラル・ネットワークは、ユニット間のエッジの数値的な重みに応じて（入力層における）入力ベクトルを（出力層における）出力ベクトルにマッピングする諸人工ユニットの層構造にされたネットワークである。重みはトレーニング・アルゴリズム、通例は逆方向伝搬に従って調整される。浅層ニューラル・ネットワーク（Shallow  Neural  Network）は一つまたは非常に少数の隠れ層をもつニューラル・ネットワークであり、深層ニューラル・ネットワーク（DNN:  Deep  Neural  Network）は多数の層をもつニューラル・ネットワークである。畳み込みニューラル・ネットワーク（CNN:  Convolutional  Neural  Network）は各層内のニューロンがN次元アレイ（Nは典型的には2）にグループ化されて畳み込みフィルタ（時に「カーネル」として知られる）をなす、特定の型のDNNである。各フィルタは入力データにおける種々の重なり合う特徴の存在または不在を検出する。
【０００３】
畳み込みニューラル・ネットワーク（CNN）は最も一般的には画像分類のタスクに適用される。CNNは入力層、多数の畳み込み層およびいくつかの「全接続」（fully-connected）または「密な」（dense）層からなる。各型の層の数は、アーキテクチャーの選択に依存して変わりうる。二次元画像の場合、畳み込みフィルタをなすニューロンのX×Yの四角は、そのフィルタが検出する特徴を表わすX×Yピクセル画像に対応する。より低位の層のフィルタは、入力の、より低いレベルの特徴に対応し、より高いレベルのフィルタは、より高いレベルの特徴に対応する。
【０００４】
付属の図面の図１は、動物の写真を認識するようトレーニングされたCNNを示す図である。畳み込み層における各畳み込みフィルタは、入力画像における異なる特徴の存在（または不在）を、さまざまなレベルの抽象化において検出するよう構成されている。たとえば、第一の畳み込み層は原始的な線、曲線などを検出し；第二の層はそうした線および曲線の組み合わせとして原始的な形の存在を検出し、第三の層はそれらの原始的な形の組み合わせとして動物の身体部分の存在を検出する。最後の密な層は、入力画像についての分類を出力する。図１における諸フィルタをつなぐ各線は、あるフィルタからの各ニューロンを別のフィルタからの各ニューロンにつなぐ一群の接続を表わす。ある層における各フィルタにおける各ニューロンは、直前の層におけるフィルタからのニューロンの異なる部分集合または「受容フィールド（receptive  field）」から入力を受領する。たとえば、畳み込みフィルタ間の接続を示す図である付属の図面の図２において、第二層における両方のフィルタにおける左上のニューロンはいずれも、第一層におけるニューロンの左上の3×3の四角からの入力を受領する。各畳み込みフィルタはまた、その出力を、次の畳み込み層への途上で、関連付けられた「最大プーリング（max-pooling）」フィルタ（図１や図２には示さず）に伝搬させてもよい。最大プーリング・フィルタは本質的には、それが入力を受け取るもとの畳み込みフィルタにおける情報を要約し、次いでこの要約を次の層に伝搬させる。最大プーリング・フィルタは、より少数のニューロンを含むという意味で、関連する畳み込みフィルタよりも小さい。
【０００５】
密な層については、すべてのニューロンが直前の層におけるすべてのニューロンから入力を受け取り、次の層におけるすべてのニューロンに入力を提供する。通例、最後の密な層は「ソフトマックス（softmax）」層であり、すべての活性化の和が1であり、最高の活性化をもつニューロンが入力画像の指定されたクラスに対応する。
【０００６】
ニューロン間の接続は、各層において諸特徴が活性化されるにつれてそれらの特徴の組み合わせに対応する次の層におけるフィルタを活性化させるような仕方で重み付けされる。たとえば、図１の第二の層における三角形および円の活性化は、第三の層における「あひるの頭」フィルタおよび「猫の頭」フィルタの両方を活性化させる。活性化されたフィルタの正しい組み合わせは最終的には、分類画像に対応する、出力層におけるニューロンの活性化につながる。この場合、「猫」ニューロンが活性化される。
【０００７】
トレーニングされた畳み込みニューラル・ネットワークあるいはたいていの他のニューラル・ネットワークにおいて、深層であろうとなかろうと、エンコードされている情報を理解するのは容易ではない。特に、CNNは入力データ、特に画像を分類するのに効果的であることが立証されたが、その分類の選択の背後にある理由を説明する手段は与えてくれない。分類のためのそのような説明は多くの用途、たとえば医療診断において有用であろう。研究者たちがCNNの振る舞いを理解するのにこれまでで最も近づいたのが、フィルタの出力を視覚化することである。しかしながら、これは単に、フィルタによって表現される特徴が人間の観察者によって認識可能である限りにおいて有用であるだけである。特徴は、一部の人間は認識するが他の人間は認識しない何かであることもある。あるいはたいていの人間によって認識可能であるはずだが、画像または他の入力データの品質から明瞭ではないこともある。あるいはまた、特徴は、CNNのユーザーが気づいていないがある種の入力データを分類することにおけるその有用性のためより関心をもつべき新たな概念であることがありうる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】H.Jacobsson,  A  Rule  Extraction  from  Recurrent  Neural  Networks:  A  Taxonomy  and  Review",  2005
【非特許文献２】A.S.d'Avila  Garcez  et  al.,  "Neural-Symbolic  Learning  Systems",  Springer  Science  and  Business  Media,  6  December  2012
【非特許文献３】B.Hammer  et  al.,  "Perspectives  of  Neural-Symbolic  Integration",  Springer  Science  and  Business  Media,  25  November  2010
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ニューラル記号ネットワーク〔ニューラル・シンボリック・ネットワーク〕（Neural-Symbolic  Network）は、個々のニューロンが割り当てられたラベルをもって個々の概念を表わす型のニューラル・ネットワークである。ニューロン間の接続が、それらの概念の間の関係についての知識を表わす。ニューラル記号統合〔ニューラル・シンボリック統合〕（Neural-Symbolic  Integration）はニューラル・ネットワークと記号的知識（symbolic  knowledge）、すなわち人間が読み、解釈し、理解することのできる知識との間の関係の研究分野である。ニューラル記号統合の一つの目標は、知識抽出、すなわちトレーニングされたニューラル・ネットワークから記号的知識を抽出するタスクである。「知識抽出」、すなわち標準的なトレーニングされたニューラル記号ネットワークから一組の規則を抽出して、人間がそれを理解し、なぜそのネットワークがその結果を生成するかを説明できるようにする方法が提案されている（たとえば非特許文献１、２、３に記載）。今日まで、そのような知識抽出方法は、入力層、一つの隠れ層および一つの出力層をもつ標準的な「浅い」ネットワークに対して効果的であった。加えて、単純画像分類に適用されるときの深層信頼ネットワーク（Deep  Belief  Network）（確率的モデルを生成するためのDNNの型）からの知識抽出へのアプローチが提案されている。しかしながら、CNNからの知識抽出の問題にはいまだうまくいく解決策は見出されていない。
【００１０】
最も単純な形での知識抽出プロセスは付属の図面の図３に表わされている。太い黒い線は強い接続をもつ重みを表わし、点線は弱い接続をもつ重みを表わし、斜線付きの円はアクティブなニューロンを表わす。出力ニューロンFおよびGが活性化されているが、なぜかを知りたい。知識抽出プロセスは、以前の諸層におけるどのニューロンがその活性化に導いたのかを特定するために、活性化をこれらのニューロンから逆方向にたどる。活性化をたどることによって、AおよびBがアクティブであるときにFがアクティブであることがわかり、CおよびDがアクティブであるときにGがアクティブであることがわかる。
【００１１】
まとめると、入力データを分類できることは有益であるが、なぜその分類がなされたかの説明を与えることも有益である。それによりおそらくはユーザーは、その分類が正しいといういくらかの安心感を得る、あるいはそのクラスの特徴を学習し自分でさらなる分類をするための領域専門知識を獲得する。あるいはさらなる技術的プロセスを実行できるようにするなど他の理由でもよい。
【００１２】
よって、CNNによって実行される分類についての説明が提供される方法および装置を提供することが望ましい。
【課題を解決するための手段】
【００１３】
本発明のある実施形態は、CNNをニューラル記号ネットワークに変換する。該ニューラル記号ネットワークに対しては、CNNがなぜ入力データをそのように分類したかの理由を理解するために、既存のまたは将来の知識抽出方法が適用されることができる。
【００１４】
具体的には、本発明の第一の側面のある実施形態によれば、入力データを分類するために使われるCNNと一緒に使うための方法が提供される。本方法は：入力データがCNNによって分類された後、入力データの分類に直接または間接に寄与したCNNのある畳み込みフィルタに関してラベル付けプロセスを実行する段階であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力をフィルタ分類器に入力することを含み、該フィルタ分類器は入力データ分類プロセスを用いて前記畳み込みフィルタによって表わされる特徴にラベルを割り当てる、段階と；入力データの分類に直接または間接に寄与したCNNの個々の各畳み込みフィルタに関してラベル付けプロセスを繰り返す段階と；CNNを割り当てられたラベルに関連するニューラル記号ネットワークに変換する段階と；知識抽出方法を使って前記ニューラル記号ネットワークからCNNによる入力データの分類に関係する知識を抽出する段階とを含む。本方法はさらに：入力データ、CNNによって割り当てられた入力データの分類および抽出された知識を含む要約；ならびに抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力することを含んでいてもよい。
【００１５】
前記要約または前記アラートに基づいて、抽出された知識は、分類された入力データとの関連で、タスクまたはアクションを実行するために使われてもよい。たとえば（これに限られないが）、障害検出プロセス；機械パーツ分類プロセス、視覚的メディア分類プロセス；および医療診断プロセスの少なくとも一つに関係するタスクまたはアクションである。
【００１６】
上述したように、CNNは畳み込みフィルタで構成され、各畳み込みフィルタは、分類されるべき入力データに存在しているかもしれずしていないかもしれない異なる特徴に応答する。各フィルタの出力はそれ自身、本質的には画像であり、よって各畳み込みフィルタはニューラル記号ネットワークにおける個別のニューロンに類似したものと考えることができる。
【００１７】
本発明のある実施形態では、入力データがCNNを使って分類されるとき、その入力データの分類に寄与するCNNにおける各畳み込みフィルタ（および／または最大プーリング・フィルタ）は、（そのフィルタによって認識された）特徴の出力（画像）をフィルタ分類器（別の分類器または分類器のセット）に提供し、該フィルタ分類器がそのフィルタにラベルを割り当てる。ラベル付けされたフィルタは、次いで、ニューラル記号ネットワークにおける個々のニューロンにマッピングされ、それらのフィルタの間の接続が対応するニューロン間の接続にマッピングされる。次いで、もとの入力データについてのその分類の選択の背後にある論理付けを説明するために、構築されたニューラル記号ネットワークに対して知識抽出方法が適用されることができる。
【００１８】
本発明の第二の側面のある実施形態によれば、コンピュータ上で実行されたときに、本発明の第一の側面を具現する方法をそのコンピュータに実行させるコンピュータ・プログラムが提供される。
【００１９】
本発明の第三の側面のある実施形態によれば、入力データを分類するために使われる畳み込みニューラル・ネットワーク（CNN）と一緒に使うための装置が提供される。本装置は：入力データがCNNによって分類された後、入力データの分類に直接または間接に寄与したCNNの畳み込みフィルタに関してラベル付けプロセスを実行するフィルタ分類器であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力に基づいて前記畳み込みフィルタによって表わされる特徴にラベルを割り当てるよう入力データ分類プロセスを用いることを含み、該フィルタ分類器は、入力データの分類に直接または間接に寄与したCNNの個々の各畳み込みフィルタに関してラベル付けプロセスを繰り返すよう動作可能である、フィルタ分類器と；CNNを、割り当てられたラベルに関連するニューラル記号ネットワークに変換するニューラル記号ネットワーク構築器と；知識抽出方法を使って前記ニューラル記号ネットワークからCNNによる入力データの分類に関係する知識を抽出する知識抽出器とを有する。本装置はさらに：入力データ、CNNによって割り当てられた入力データの分類および抽出された知識を含む要約；ならびに抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力する出力装置を有していてもよい。前記要約または前記アラートに基づいて、抽出された知識および分類された入力データは、タスクまたはアクションを実行するために使われてもよい。たとえば（これに限られないが）、障害検出プロセス；機械パーツ分類プロセス、視覚的メディア分類プロセス；および医療診断プロセスの少なくとも一つに関係するタスクまたはアクションである。
【００２０】
本発明の実施形態において、ラベル付けプロセスは、各畳み込みフィルタについて同じフィルタ分類器を使ってもよい。
【００２１】
畳み込みフィルタによって表わされる特徴が本発明の諸実施形態におけるフィルタ分類器によって分類できない場合には、フィルタ分類器によってその特徴に任意のラベルが割り当てられてもよい。このように、フィルタ分類器（単数または複数）によって同定されるいくつかのキーとなる特徴がフィルタ分類器によって認識されることができないとしても、そうした特徴には任意のラベルが割り当てられ、それが概念を同定するために役立つことができる。このことは重要になりうる。
【００２２】
本発明の諸実施形態において、CNNをニューラル記号ネットワークに変換することは：ニューラル記号ネットワークにおけるCNNのそれぞれのラベル付けされた畳み込みフィルタを、そのフィルタに割り当てられたラベルに関連する単一のニューロンとして表わし；それらの畳み込みフィルタの間の接続をそれらのニューロンの間の接続として表わすことを含んでいてもよい。
【図面の簡単な説明】
【００２３】
ここで例として図面を参照する。
【図１】CNNを示す図である。
【図２】畳み込みフィルタ間の接続を示す図である。
【図３】知識抽出プロセスを説明することにおいて使うための図である。
【図４】Ａは、本発明を具現する方法を含むプロセスのフローチャートである。Ｂは、本発明を具現する装置のブロック図である。
【図５】フィルタ分類プロセスを説明するための図である。
【図６】すべてのアクティブなフィルタがラベル付けされたCNNの図である。
【図７】ラベル付けされたCNNをニューラル記号ネットワークに変換するプロセスを説明するための図である。
【図８】ラベル付けされたCNNから変換されたニューラル記号ネットワークの図である。
【図９】図８のニューラル記号ネットワークからの知識抽出を説明することにおいて使う表である。
【図１０】ラベル付けされたCNNの図である。
【図１１】図１０のラベル付けされたCNNから変換されたニューラル記号ネットワークの図である。
【図１２】図１１のニューラル記号ネットワークからの知識抽出を説明することにおいて使う表である。
【図１３】本発明を具現する方法を実行するのに好適なコンピューティング装置のブロック図である。
【発明を実施するための形態】
【００２４】
図４のＡは、本発明を具現する方法を含むプロセスのフローチャートである。この例では画像の形の入力データがCNNに入力され（段階１）、ネットワークのニューロンを通じて活性化を伝搬させることによって、CNNはその画像についての分類を出力する（段階２）。次いで、本発明のある実施形態によれば、画像の分類に寄与したすべてのアクティブなフィルタがフィルタ分類器（後述）を使ってラベル付けされる（段階３）。ラベル付けされたフィルタのネットワークは、次いで、ニューラル記号ネットワークに変換され（段階４）、それに対して既存のまたは将来の知識抽出方法が適用されうる。画像の分類についての説明を生成するためである（段階５）。次いで、入力データ、CNNによって割り当てられた入力データの分類および抽出された知識を含む要約が生成され、出力されてもよい。代替的または追加的に、抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートが生成され、出力されてもよい（段階６）。
【００２５】
図４のＢは、本発明を具現する装置１００を描いている。装置１００は、フィルタ分類器１１、ニューラル記号ネットワーク構築器１２および知識抽出器１３を有する。フィルタ分類器１１は、（この例では画像データの形の）入力データがCNN  ２００によって分類された後、入力データの分類に直接または間接に寄与したCNN  ２００の畳み込みフィルタ２０に関してラベル付けプロセスを実行するよう構成されている。前記ラベル付けプロセスは、畳み込みフィルタの出力および／または畳み込みフィルタに関連する最大プーリング・フィルタの出力に基づいて畳み込みフィルタ２０によって表わされる特徴にラベル１０（１０’）を割り当てるよう入力データ分類プロセスを用いることを含む。該フィルタ分類器は、入力データの分類に直接または間接に寄与したCNN  ２００の個々の各畳み込みフィルタ２０に関してラベル付けプロセスを繰り返すよう動作可能である。ニューラル記号ネットワーク構築器１２は、CNN  ２００を、フィルタ分類器１１によって割り当てられたラベル１０（１０’）に関連するニューラル記号ネットワーク３００に変換するよう構成されている。知識抽出器１３は、知識抽出方法を使って前記ニューラル記号ネットワークから前記CNNによる入力データの分類に関係する知識を抽出するよう構成されている。本装置はまた：人間またはコンピューティング装置によって実行されるべきタスクにおいて使うために、抽出された知識および分類された入力データを出力するよう構成された出力装置１４をも有していてもよい。出力装置１４はたとえば、ディスプレイ画面、プリンターまたはデータ記憶装置に出力してもよい。出力装置１４は、入力データ、CNNによって入力データに割り当てられた分類および抽出された知識を含む要約を生成し、出力してもよい。代替的または追加的に、出力装置１４は、抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートを生成し、出力してもよい。
【００２６】
本発明を具現する装置において、CNN  ２００の各畳み込みフィルタ２０および／またはもしあればその関連する最大プーリング・フィルタ（図示せず）自身がフィルタ分類器、たとえば別の画像分類器に取り付けられ、それに対して対応するフィルタ２０が分類のための入力を提供してもよい。フィルタ分類プロセスは図５において示されている。ある種の条件（後述）のもとで、畳み込みフィルタ２０（および／またはその関連する最大プーリング・フィルタ）の、それ自身画像として表現可能な出力は、フィルタ分類器１１に供給され、フィルタ分類器１１はそのフィルタ２０によって表わされる特徴にラベルを割り当てる。その特徴がフィルタ分類器１１にとって未知であれば、フィルタ分類器１１によって任意のラベル１０’がその特徴に割り当てられる。この例では、ラベル「未知#X」が割り当てられる。ここで、Xはフィルタ分類器１１によってこれまでに発見された未認識の特徴の数である。この任意のラベル１０’は、未知であっても入力データの分類のために重要である未知の特徴を同定するはたらきをする。それによりユーザーは望むなら自分自身のラベルを割り当てることができる。
【００２７】
各畳み込みフィルタ２０はそれ自身の入力データ分類プロセスを割り当てられていてもよく、あるいは、CNN  ２００内の他の畳み込みフィルタ２０の全部または部分集合と入力データ分類プロセスを共有していてもよい。フィルタ分類器１１は別のCNNまたは他の任意の入力データ分類機構であってもよい。
【００２８】
入力データがCNN  ２００に分類のために入力され、活性化が出力層まで伝搬するとき、CNN  ２００内の畳み込みフィルタ２０は、その出力がフィルタ分類器１１に渡されるために、以下の条件を満たす必要がある：
・フィルタ２０の活性化は直接または間接にクラス・ラベルの指定に寄与しなければならない。これは、出力層における最もアクティブなニューロンから活性化を逆方向にたどることによって測定できる。
【００２９】
入力データの最終的な分類に寄与するフィルタ２０のみを分類することが望ましい。それが計算コストの目的のために有益だからである。実際には、図４のＡのフローチャートの段階３においてどのフィルタ２０が分類されるかを制約することは必要ない。知識抽出方法（図４の段階５）はネットワークにおけるどのノードが最終的な活性化に寄与するかを識別できるからである。しかしながら、入力データを分類することは、CNNが使われるか否かに関わりなく計算面で高価なプロセスであることがあり、よって、できるだけ少数の必要なもののみを分類することが有益である。
【００３０】
フィルタ２０が上述した条件を満たすとき、フィルタ２０が表わす特徴を分類するために、その活性化はフィルタ分類器１１に渡される。フィルタ分類器１１はラベル１０／１０’を生成し、それが次いで対応するフィルタ２０に割り当てられる。上述したように、フィルタ分類器がそのフィルタが表わす特徴を同定できない場合には、フィルタ分類器は任意のラベル１０’をその特徴に割り当てる。たとえば「未知#X」である。
【００３１】
図６は、フィルタ分類器を使ってすべてのアクティブなフィルタ（斜線を付した四角で表わされている）が（ラベルAないしEで）ラベル付けされたCNNを表わしている。ラベル付けされたCNNは今や、ニューラル記号ネットワークに変換されることができる。それは各フィルタを割り当てられたラベルを持つ単一のニューロンとして表わし、フィルタ間の接続をそれらのニューロン間の接続として表わすことによる。図７は、ラベル付けされた畳み込みニューラル・ネットワークがニューラル記号ネットワークに変換されるプロセスを示している。フィルタは個別のラベル付けされたニューロンに変換され、フィルタ間の接続は対応するニューロン間の個々の接続にマッピングされる。図８に示されるように、フィルタ分類プロセスによってラベルが割り当てられると、ラベル付けされたCNNは図７のプロセスに従ってニューラル記号ネットワークに変換される。次いで、入力データの前記分類のための説明を提供する規則を抽出するために、既存のまたは将来の知識抽出方法が、CNNのこのニューラル記号表現に適用されることができる。図９は、入力画像の前記分類の背後にある論理付けを理解するための、従来技術の知識抽出方法、たとえば非特許文献１によって提案される上述した方法の、図８のCNNのニューラル記号変換への適用の例を与えている。
【００３２】
ここで、本発明の実施形態について図１０を参照し、猫の画像を分類する図１からの例を使って、述べる。図１０では、猫の画像がCNNに入力され、活性化がネットワークを通じて伝搬させられ、「猫」の分類が画像に割り当てられる。
【００３３】
次に、（出力層の対応するニューロンを活性化させることによって）前記分類に寄与するアクティブなフィルタが、図５を参照して述べたフィルタ分類方法を使ってラベル付けされる。本例では、第二の畳み込み層における上から二番目の形は分類を実行するために使われるフィルタ分類器には未知であり、よって任意のラベル「未知#1」を割り当てられる。
【００３４】
図１１は、ラベル付けされたフィルタを個々のニューロンにマッピングし、それらのフィルタ間の接続を対応するニューロン間の接続にマッピングすることによって図１０のラベル付けされたCNNから得られるニューラル記号ネットワークの図である。次いで、一つまたは複数の知識抽出方法が、図１２のようにCNNに入力された画像に対してなぜ「猫」の分類が割り当てられたかを述べる規則を、ニューラル記号ネットワークから抽出するために、使われる。
【００３５】
上記で与えた例は非常に単純なものであり、単に本発明の原理を例証するために与えられている。人間なら、猫がなぜそう分類されたかを容易に理解できるであろう。しかしながら、本発明は、より複雑な領域における、より複雑な入力データに適用されることができる。
【００３６】
本発明の実施形態において、要約（入力データ、CNNによって割り当てられた入力データの分類および抽出された知識を含む）およびアラート（抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示す）の少なくとも一方が生成され、出力される。本発明のいくつかの実施形態では、要約またはアラートに基づいて、ニューラル記号ネットワークから抽出された知識が、分類された入力データとの関連で、タスクまたはアクションを実行するために使用されてもよい。タスクまたはアクションは、装置によってまたは人間によって実行されてもよい。
【００３７】
たとえば、本発明のある実施形態は、障害検出の分野で適用されることができる。その場合、たとえば、機械パーツの写真がCNNに呈示され、CNNは、そのパーツが運用のために安全であるかどうかについて肯定または否定の答えを出力する。入力画像において障害が検出されると、障害の評価が要求されることを示すアラートが発されてもよい。パーツが安全でないと見なされる場合、なぜなのかを知ることが有用である。それにより、適切な修理をすることができ、あるいは同じ障害が同じモデルの他のパーツにおいて迅速に発見されることができる。あるいはまた、パーツが「安全」と分類される場合、この分類の背後の論理付けを観察することが、有効判定のためによい。パーツが安全でないと見なされる場合、抽出された知識および分類された入力データが、そのパーツに対してどのような修理が要求されるかを判定するためおよび／または要求される修理を実行させるための装置に対して、ならびに／または同じ障害について検査されるべき同様のパーツを同定するための装置に対して出力されてもよい。
【００３８】
本発明の実施形態が適用されることのできるもう一つの分野は、たとえばパーツがカタログ化される必要がある場合の、機械パーツ分類の問題である。パーツは二つの非常に似ているクラスXおよびYの一方の要素であることができる。パーツの画像がCNNに呈示されてクラスXに分類される場合、ユーザーは単にその分類を受け入れることは気が進まないことがあり、「なぜYでなくXなのか？」と質問したいことがありうる。抽出された規則を調べることによって、論理付けが明確になるであろう。
【００３９】
本発明の実施形態のもう一つの可能な応用は、フィルムおよびビデオを異なるジャンルに分類することへの提案されるアプローチに関する。ここで、ビデオからのすべてのフレームが単一画像モザイクに再配置され、それが次いでCNNを使って分類される。フィルムのジャンルは主観的であることがあるので、ユーザーはCNN分類器の判断を問いたいことがありうる。分類の背後にある論理付けを見ることによって、これが可能となりうる。
【００４０】
本発明のもう一つの応用分野は、医療診断であろう。深層学習方法の医療応用の研究は、たとえば癌の兆候を検出することにおいて、広まっている。しかしながら、トレーニングされた深層ニューラル・ネットワークは可能性の高い診断を提案することができるだけであり、画像中のどの特徴がその診断に導いたかの説明は提案できない。本発明は、ラベル付けされたCNNから抽出された規則の形で、この問題に対する解決策を提供できる。このように、有利なことに、身体部分または身体的条件の画像に基づいてCNNによって提案された、可能性の高い診断に、なぜその診断が提案されたかの説明が伴うことができる。これは臨床担当者が提案された診断を理解することを助け、臨床担当者が正しい診断をするのを支援する。
【００４１】
上記の実施形態は画像分類を参照して論じられてきたが、本発明の実施形態は、画像分類問題に変換できる、画像分類以外の任意の問題に、あるいは畳み込みニューラル・ネットワークを使って解決されうる他の任意の問題（たとえば１次元CNNを使う時系列解析）に適用されることもできる。
【００４２】
本発明の実施形態はハードウェアにおいて、あるいは一つまたは複数のプロセッサ上で走るソフトウェア・モジュールとして、あるいはそれらの組み合わせで実装されてもよい。すなわち、当業者は、上記の機能の一部または全部を実装するために、実際上は、マイクロプロセッサまたはデジタル信号プロセッサ（DSP）が使われてもよいことを理解するであろう。
【００４３】
本発明は、本稿に記載される方法の一部または全部を実行するための一つまたは複数のデバイスまたは装置プログラム（たとえば、コンピュータ・プログラムおよびコンピュータ・プログラム・プロダクト）として具現されてもよい。本発明を具現するそのようなプログラムはコンピュータ可読媒体上に記憶されてもよく、あるいはたとえば一つまたは複数の信号の形であることができる。そのような信号は、インターネット・ウェブサイトからダウンロード可能な、あるいは搬送波信号上で提供される、あるいは他の任意の形のデータ信号であってもよい。
【００４４】
図１３は、本発明を具現する方法の段階の一部または全部を実装し、実施形態の装置のタスクの一部または全部を実行するために使用されうる、データ記憶サーバーのようなコンピューティング装置のブロック図である。たとえば、図１３のコンピューティング装置は、図４のＡに示した方法の段階の全部を実装し、図４のＢに示した装置のすべてのタスクを実行するために、あるいは図４のＡの方法の段階の一部のみを実装し、図４のＢの装置のタスクの一部のみを実行するために、使われてもよい。
【００４５】
本コンピューティング装置はプロセッサ９９３およびメモリ９９４を有する。任意的に、本コンピューティング装置は、他のそのようなコンピューティング装置との、たとえば発明実施形態の他のコンピューティング装置との通信のためのネットワーク・インターフェース９９７をも含む。
【００４６】
たとえば、ある実施形態は、そのようなコンピューティング装置のネットワークから構成されてもよい。任意的に、コンピューティング装置は、キーボードおよびマウスのような一つまたは複数の入力機構９９６と、一つまたは複数のモニタのようなディスプレイ・ユニット９９５とを含む。コンポーネントはバス９９２を介して互いに接続可能である。
【００４７】
メモリ９９４はコンピュータ可読媒体を含んでいてもよい。この用語は、単一の媒体または複数の媒体（たとえば中央集中式のまたは分散式のデータベースおよび／または関連するキャッシュおよびサーバー）であって、コンピュータ実行可能命令を担持するまたはデータ構造が記憶されているよう構成されたものを指しうる。コンピュータ実行可能命令はたとえば、汎用コンピュータ、特殊目的コンピュータまたは特殊目的処理装置（たとえば一つまたは複数のプロセッサ）によってアクセス可能であり、それに一つまたは複数の機能または動作を実行させる命令およびデータを含んでいてもよい。よって、用語「コンピュータ可読記憶媒体」は、機械による実行のための一組の命令を記憶、エンコードまたは担持することができ、機械に本開示の方法の任意の一つまたは複数を実行させるいかなる媒体をも含みうる。よって、用語「コンピュータ可読記憶媒体」は、半導体メモリ、光学式メディアおよび磁気メディアを含むがそれに限られないものと解釈されうる。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、電気的に消去可能なプログラム可能型読み出し専用メモリ（EEPROM）、コンパクトディスク読み出し専用メモリ（CD-ROM）または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス、フラッシュ・メモリ・デバイス（たとえば半導体メモリ・デバイス）を含む非一時的なコンピュータ可読記憶媒体を含みうる。
【００４８】
プロセッサ９９３はコンピューティング装置を制御し、処理動作を実行する、たとえば図４のＡ、図５、図７および／または図１０を参照して記述され、請求項において定義されている方法を実装するため、および／または図４のＢを参照して記述され、請求項において定義されている装置１００のフィルタ分類器１１、ニューラル記号ネットワーク構築器１２、知識抽出器１３および／または出力装置１４を実装するためにメモリ９９４に記憶されているコンピュータ・プログラム・コードを実行するよう構成されている。メモリ９９４は、プロセッサ９９３によって読まれ、書かれるデータを記憶する。本稿で言うところでは、プロセッサは、マイクロプロセッサ、中央処理ユニットなどといった一つまたは複数の汎用処理装置を含みうる。プロセッサは、複雑命令セット・コンピューティング（CISC）マイクロプロセッサ、縮小命令セット・コンピューティング（RISC）マイクロプロセッサ、超長命令語（VLIW:  very  long  instruction  word）マイクロプロセッサまたは他の命令セットを実装するプロセッサまたは命令セットの組み合わせを実装する諸プロセッサを含みうる。プロセッサは、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、デジタル信号プロセッサ（DSP）、ネットワーク・プロセッサなどといった一つまたは複数の特殊目的処理装置をも含みうる。一つまたは複数の実施形態では、プロセッサは、本稿で論じられる動作および段階を実行するための命令を実行するよう構成されている。
【００４９】
ディスプレイ・ユニット９９５は、コンピューティング装置によって記憶されているデータの表現を表示し、カーソルおよびダイアログ・ボックスならびにスクリーンを表示し、ユーザーとコンピューティング装置に記憶されているプログラムおよびデータとの間の対話を可能にする。入力機構９９６はユーザーがデータおよび命令をコンピューティング装置に入力できるようにしうる。
【００５０】
ネットワーク・インターフェース（ネットワークI/F）９９７はインターネットのようなネットワークに接続されてもよく、該ネットワークを介して他のそのようなコンピューティング装置に接続可能である。ネットワークI/F  ９９７はネットワークを介した他の装置との間のデータ入出力を制御しうる。マイクロフォン、スピーカー、プリンター、電源ユニット、ファン、ケース、スキャナ、トラックボールなどといった他の周辺装置がコンピューティング装置に含まれていてもよい。
【００５１】
本発明を具現する方法は、図１３に示されるようなコンピューティング装置で実行されてもよい。そのようなコンピューティング装置は図１３に示されるすべてのコンポーネントを有する必要はなく、それらのコンポーネントの部分集合から構成されていてもよい。本発明を具現する方法は、一つまたは複数のデータ記憶サーバーとネットワークを介して通信する単一のコンピューティング装置によって実行されてもよい。該コンピューティング装置は、データの少なくとも一部分を記憶しているデータ記憶自身であってもよい。
【００５２】
本発明を具現する方法は、互いと協働して動作する複数のコンピューティング装置によって実行されてもよい。前記複数のコンピューティング装置の一つまたは複数は、データの少なくとも一部分を記憶するデータ記憶サーバーであってもよい。
【００５３】
本発明の上記の実施形態は有利には、他の任意の実施形態と独立に使用されてもよく、あるいは他の一つまたは複数の実施形態との任意の現実的な組み合わせにおいて使用されてもよい。
【００５４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
入力データを分類するために使われる畳み込みニューラル・ネットワーク（CNN）と一緒に使うための方法であって：
入力データが前記CNNによって分類された後、前記入力データの分類に寄与した前記CNNのある畳み込みフィルタに関してラベル付けプロセスを実行する段階であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力をフィルタ分類器に入力することを含み、該フィルタ分類器は入力データ分類プロセスを用いて前記畳み込みフィルタによって表わされる前記入力データの特徴にラベルを割り当てる、段階と；
前記入力データの分類に寄与した前記CNNの個々の各畳み込みフィルタに関して前記ラベル付けプロセスを繰り返す段階と；
前記CNNを割り当てられたラベルに関連するニューラル記号ネットワークに変換する段階と；
知識抽出方法を使って前記ニューラル記号ネットワークから前記CNNによる前記入力データの前記分類に関係する知識を抽出する段階と；
前記入力データ、前記CNNによって割り当てられた前記入力データの前記分類および前記抽出された知識を含む要約；ならびに前記抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力する段階とを含む、
方法。
（付記２）
前記要約または前記アラートに基づいて、前記抽出された知識を前記分類された入力データとの関連で使ってタスクまたはアクションを実行する段階をさらに含む、付記１記載の方法。
（付記３）
前記タスクまたはアクションは、障害検出プロセス；機械パーツ分類プロセス；視覚的メディア分類プロセス；および医療診断プロセスのうちの少なくとも一つに関係して実行される、付記２記載の方法。
（付記４）
前記ラベル付けプロセスは、各畳み込みフィルタについて同じフィルタ分類器を使う、付記１ないし３のうちいずれか一項記載の方法。
（付記５）
前記畳み込みフィルタによって表わされる特徴が前記フィルタ分類器によって分類できない場合、前記フィルタ分類器によって任意のラベルが前記入力データの該特徴に割り当てられる、付記１ないし４のうちいずれか一項記載の方法。
（付記６）
前記CNNをニューラル記号ネットワークに変換することは：
前記ニューラル記号ネットワークにおいて、前記CNNのそれぞれのラベル付けされた畳み込みフィルタを、そのフィルタに割り当てられたラベルに関連する単一のニューロンとして表わし；
それらの畳み込みフィルタの間の接続をそれらのニューロンの間の接続として表わすことを含む、
付記１ないし５のうちいずれか一項記載の方法。
（付記７）
コンピュータ上で実行されたときに該コンピュータに付記１ないし６のうちいずれか一項記載の方法を実行させるコンピュータ・プログラム。
（付記８）
入力データを分類するために使われる畳み込みニューラル・ネットワーク（CNN）と一緒に使うための装置であって：
入力データが前記CNNによって分類された後、前記入力データの分類に寄与した前記CNNのある畳み込みフィルタに関してラベル付けプロセスを実行するフィルタ分類器であって、前記ラベル付けプロセスは前記畳み込みフィルタの出力および／または前記畳み込みフィルタに関連する最大プーリング・フィルタの出力に基づいて前記畳み込みフィルタによって表わされる前記入力データの特徴にラベルを割り当てるよう入力データ分類プロセスを用いることを含み、該フィルタ分類器は、前記入力データの分類に寄与した前記CNNの個々の各畳み込みフィルタに関して前記ラベル付けプロセスを繰り返すよう動作可能である、フィルタ分類器と；
前記CNNを、割り当てられたラベルに関連するニューラル記号ネットワークに変換するニューラル記号ネットワーク構築器と；
知識抽出方法を使って前記ニューラル記号ネットワークから前記CNNによる前記入力データの前記分類に関係する知識を抽出する知識抽出器と；
前記入力データ、前記CNNによって割り当てられた前記入力データの前記分類および前記抽出された知識を含む要約；ならびに前記抽出された知識および分類された入力データを使ったアクションまたはタスクの実行が要求されていることを示すアラートのうちの少なくとも一つを生成し、出力する出力装置とを有する、
装置。
（付記９）
前記フィルタ分類器は、各畳み込みフィルタについて同じ入力データ分類プロセスを使うよう動作可能である、付記８記載の装置。
（付記１０）
前記畳み込みフィルタによって表わされる特徴が前記フィルタ分類器によって分類できない場合、前記フィルタ分類器は、任意のラベルを前記入力データの該特徴に割り当てるよう動作可能である、付記８または９記載の装置。
（付記１１）
前記ニューラル記号ネットワーク構築器は：
前記ニューラル記号ネットワークにおいて、前記CNNのそれぞれのラベル付けされた畳み込みフィルタを、そのフィルタに割り当てられたラベルに関連する単一のニューロンとして表わし；
それらの畳み込みフィルタの間の接続をそれらのニューロンの間の接続として表わすよう動作可能である、
付記８ないし１０のうちいずれか一項記載の装置。
【符号の説明】
【００５５】
１  入力画像をCNNへ
２  CNNを通じて活性化を伝搬させて画像を分類
３  フィルタにラベル付け
４  ラベル付けされたCNNをニューラル記号ネットワークに変換
５  知識を抽出
６  要約／アラートを生成し、出力
１１  フィルタ分類器
１２  ニューラル記号ネットワーク構築器
１３  知識抽出器
１４  出力装置
９９３  プロセッサ
９９４  メモリ
９９５  ディスプレイ
９９６  入力
９９７  ネットワークI/F
【図１】
2018041445.tif 000003
【図２】
2018041445.tif 000004
【図３】
2018041445.tif 000005
【図４】
2018041445.tif 000006
【図５】
2018041445.tif 000007
【図６】
2018041445.tif 000008
【図７】
2018041445.tif 000009
【図８】
2018041445.tif 000010
【図９】
2018041445.tif 000011
【図１０】
2018041445.tif 000012
【図１１】
2018041445.tif 000013
【図１２】
2018041445.tif 000014
【図１３】
2018041445.tif 000015