(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023126106
(43)【公開日】2023-09-07
(54)【発明の名称】知識の転送
(51)【国際特許分類】
G06V 10/82 20220101AFI20230831BHJP
G06T 7/00 20170101ALI20230831BHJP
G06N 3/045 20230101ALI20230831BHJP
【FI】
G06V10/82
G06T7/00 350C
G06N3/04 154
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022174323
(22)【出願日】2022-10-31
(31)【優先権主張番号】22386008.1
(32)【優先日】2022-02-28
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】マカリウ・サヴァス
(72)【発明者】
【氏名】カシオウミス・テオドロス
(72)【発明者】
【氏名】タウンセンド・ジョゼフ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096GA51
5L096GA55
5L096HA11
5L096JA03
5L096JA11
5L096JA16
5L096KA04
(57)【要約】 (修正有)
【課題】コンピュータで実施するナレッジトランスファーのための方法、プログラム及び機器を提供する。
【解決手段】方法は、入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップS11を含む。第1CNNが入力画像内の1つ以上の特徴を識別するように構成されている。方法はさらに、入力画像に基づいて、第2CNNのフィルタの第2活性化マップを取得するステップS13を含む。第2CNNは、入力画像内の1つ以上の特徴を識別する。方法はまた、第1活性化マップと第2活性化マップの間の類似度指標を計算するステップS15と、類似度指標が閾値類似度以上の場合、第2CNNのフィルタを第1CNNのラベル付きフィルタのラベルでラベル付けするステップS19と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータにより実施される方法であって、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含むコンピュータにより実施される方法。
【請求項2】
前記類似度指標を計算するステップは、前記第1及び第2活性化マップを各々第1及び第2バイナリ行列に変換し、前記第1及び第2バイナリ行列の間の類似度指標を計算するステップを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記第1及び第2バイナリ行列の間の類似度指標を計算するステップの前に、任意的に最近傍補間を使用して、前記第1及び第2バイナリ行列を前記入力画像の次元にスケーリングするステップ、をさらに含む請求項2に記載のコンピュータにより実施される方法。
【請求項4】
前記第1及び第2活性化マップを前記第1及び第2バイナリ行列に変換するステップは、前記第1及び第2活性化マップにおいて閾値を超える絶対値を持つ各活性化値を第1値に設定し、前記閾値以下の絶対値を持つ各活性化値を第2値に設定するステップを含む、請求項3に記載のコンピュータにより実施される方法。
【請求項5】
前記類似度指標を計算するステップは、前記第1及び第2バイナリ行列の間のIoU(intersection-over-union)指標を計算するステップを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項6】
前記類似度指標を計算するステップは、前記第1及び第2活性化マップの間のコサイン距離指標を計算するステップを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項7】
自動運転車又は半自動運転車の制御に前記第2CNNを使用するステップをさらに含む請求項6のいずれかに記載のコンピュータにより実施される方法。
【請求項8】
前記方法は、前記第1CNNを再トレーニングして前記第2CNNを提供するステップを含む、請求項7のいずれかに記載のコンピュータにより実施される方法。
【請求項9】
前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数の前記ラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップのうちの1つとを含む、ステップと、
前記第2畳み込みニューラルネットワークの前記フィルタを、最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含む請求項1に記載のコンピュータにより実施される方法。
【請求項10】
前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数の前記ラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
活性化スコアが閾値活性化スコアを超えている、又は活性化スコアが最も高い、少なくとも1つの第1活性化マップを選択するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記選択された少なくとも1つの第1活性化マップのうちの1つとを含む、ステップと、
前記第2畳み込みニューラルネットワークの前記フィルタを、最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含む請求項1に記載のコンピュータにより実施される方法。
【請求項11】
前記入力画像を含む複数の入力画像の各々について、
前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数のラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
前記入力画像に基づいて、前記第2畳み込みニューラルネットワークの前記フィルタの前記第2活性化マップを取得するステップと、
複数のペアの各々について、前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップの1つとを含む、ステップと、
を含み、
前記コンピュータにより実施される方法は、
前記第2畳み込みニューラルネットワークの前記フィルタを、前記ペアの中で最も高い類似度指標を有するペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップ、又は、
前記複数の画像の各々について前記ペアの中で最も高い類似度指標を有する少なくとも1つのペアの各々に属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択されたラベルでラベル付けし、複数のラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数のラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数のラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択されたラベルでラベル付けするステップ、又は、
閾値類似度以上の前記類似度指標を有するペア又は各々のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択したラベルでラベル付けし、複数のラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数のラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数のラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択したラベルでラベル付けするステップ、
を更に含む請求項1に記載のコンピュータにより実施される方法。
【請求項12】
コンピュータにより実施される方法であって、
複数の入力画像に基づいて、第2畳み込みニューラルネットワークのフィルタの対応する複数の活性化マップを取得するステップであって、各活性化マップは活性化値を含む、ステップと、
各入力画像について、前記対応する活性化マップの前記活性化値の集計として活性化スコアを計算し、活性化スコアが閾値活性化スコアを超えているか、前記入力画像の中で最も高い活性化スコアを持つ少なくとも1つの入力画像を選択するステップと、
前記選択された少なくとも1つの入力画像を使用して、請求項1~11のいずれかに記載の方法を実施するステップと、
を含むコンピュータにより実施される方法。
【請求項13】
前記第2畳み込みニューラルネットワークの複数のフィルタに対して、請求項12に記載されているコンピュータにより実施される方法を実施するステップを含むコンピュータにより実施される方法。
【請求項14】
コンピュータプログラムであって、コンピュータで実行すると、該コンピュータに方法を実行させ、前記方法は、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含む、コンピュータプログラム。
【請求項15】
情報処理機器であって、メモリと前記メモリに結合されるプロセッサとを含み、前記プロセッサは、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得し、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得し、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算し、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、
よう構成される、情報処理機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ナレッジトランスファー(knowledge transfer、知識の転送)に関するものであり、特に、コンピュータにより実施される方法、コンピュータプログラム及び情報処理機器に関する。
【背景技術】
【0002】
人工知能(AI)がより高度になるにつれて、人間はアルゴリズム/モデルがどのように結果を生成するかを理解し、追跡することが課題となっている。このようなアルゴリズム/モデルの計算プロセス全体は、一般に解釈不可能な「ブラックボックス」と呼ばれるものと見なされることが多い。これらのブラックボックスモデルは、データから直接作成される。多くの場合、アルゴリズム/モデルを作成するエンジニアやデータサイエンティストは、アルゴリズム/モデル内で正確に何が起こっているのか、AIアルゴリズムがどのように特定の結果に到達するかを理解したり説明したりすることができない。しかし、組織にとって、AIの意思決定プロセスを十分に理解し、AIモデルを盲目的に信頼しないことが重要である。モデルのモニタリングを使用し、AIモデルの説明責任を確保する必要がある。
【0003】
説明可能な人工知能(Explainable artificial intelligence (XAI))は、機械学習アルゴリズムによって生成された結果及び出力を人間のユーザが理解(及び信頼)できるようにする一連の処理及び方法である。説明可能なAIは、AIモデル、その予想される影響、及びその潜在的なバイアスを記述するために使用される。XAIは、AIを使用した意思決定において、モデルの正確性、公平性、透明性を確保するのに役立つ。説明可能なAIは、AIモデルをアプリケーションに実装する際に、組織が信用と信頼を構築する上で重要である。
【0004】
AIの説明可能性は、組織がAI開発への責任あるアプローチを採用するのにも役立つ。つまり、説明可能なAIは、責任あるAIを実装するための重要な要件の1つであり、これは、公平性、モデルの説明可能性、説明責任を備えた実際の組織でAIメソッドを大規模に実装するための方法論である。責任を持ってAIを導入するためには、組織は信頼と透明性に基づいたAIシステムを構築することによって、AIのアプリケーションとプロセスに倫理原則を組み込む必要がある。
【0005】
説明可能なAI(XAI)には多くの利点があり、AIモデルを説明可能かつ透明性のある状態に保つことができる、規制、コンプライアンス、リスク、その他の要件を管理し、手動検査のオーバヘッドとコストのかかるエラーも最小限に抑えることができる、さらに、意図しないバイアスのリスクを軽減すると同時に、解釈可能性と説明可能性を備えたAIモデルの作成に対する信頼を構築することができる。それにもかかわらず、XAIはまだ比較的新しく、成長している。当初、AI研究の焦点は、AIモデルの機能を拡張し、説明を必要としないビジネスソリューションを提供することであった。これは現在、XAIとAIの倫理の両方で変化しつつあることである。AIの実装が飛躍的に拡大し、AIモデルが企業や日常生活で日常的に使用されるようになると、解釈可能性と倫理性が必要になってきた。
【0006】
つまり、説明可能なAIは、機械学習(ML)アルゴリズム、深層学習、ニューラルネットワークを理解し、説明するのに役立つ。そのため、XAIは特に輸送とセキュリティの分野で関心と研究の対象となっている。AIの自動運転車やセキュリティ分野への進出により、説明責任の必要性が高まっていることから、XAIの人気は高まっている。AIによる信頼性の高い自動運転車や安全なサービスが期待される中で、AIがエラーにつながる場合や、一部のAI手法が本来「ブラックボックス」であるために問題の特定が困難である場合に備えて、AIの採用に消極的になることもある。したがって、前進するにはXAIが必要である。しかし、現在のXAI手法は未開拓の可能性がある。
【0007】
さらに、深層学習の人気が高まるにつれて、そのようなモデルがどのように機能し、決定に到達するかを正確に理解する必要性が高まっている。説明責任を含め、説明可能なAIには多くの利点がある。自動運転車にAIを使用する場合、問題/エラーは人命の損失を引き起こす事故につながる可能性があるため、説明責任は特に重要である。サイバーセキュリティにAIを使用する場合も、問題/エラーは例えば金銭の損失につながる可能性があるため、説明責任は重要である。このようなシナリオが発生した場合、シナリオの原因となった問題/エラーを正しく特定するためには、透明性と説明可能性が必要である。このようなシナリオ以外でも、説明責任が求められる。
【0008】
説明可能なAIを作成するほとんどの方法は、説明可能なAIが正確であるために必要なラベルを提供するために、トレーニング段階で人間からの手動入力を必要とする。このステップはコストと時間がかかり、XAIのアプリケーションを拡張しようとする企業/ビジネスにとってマイナス要因となる。
【0009】
つまり、(説明可能性をサポートできる)ニューラルネットワークから関係情報を抽出するには、カーネル(フィルタとも呼ばれる)に手動でラベル付けする時間のかかるプロセスが必要になる。このプロセスは時間とリソースを消費するが、ニューラルネットワークを含むモデルの出力と精度を大幅に向上させる。カーネルのラベル付けは、知識の蒸留、すなわち複雑なモデルを単純な解釈可能な表現に蒸留するのにも役立つ。ルールは、アクティブカーネルを組み合わせることによって形成することができ、これらのルールは、量子化されたフィルタの活性化を論理的な原子として表すことができる、解釈可能な論理言語における例えば畳み込みニューラルネットワーク(CNN)の分類出力を説明することができる(H.Jacobsson, Rule extraction from recurrent neural networks: A taxonomy and review, Neural Computation 17(2005)1223-1263)。データ内の誤った相関関係に応答して発火する(すなわち、活性化された)カーネルは、モデルのパフォーマンスを向上させるためにプルーニングされる場合がある。さらに、ルールをトレーニングに組み込み、ニューラル記号サイクルを閉じることで、元のモデルの精度を向上させることができる。
【0010】
ルール抽出アルゴリズムは、複雑な機械学習モデルを、その決定を説明する単純で解釈可能な表現へと蒸留することを目的としている(H.Jacobsson, Rule extraction from recurrent neural networks: A taxonomy and review, Neural Computation17(2005)1223-1263; Q.Zhang, Y.Yang, H.Ma, Y.N.Wu, Interpreting CNN via decision tree, in: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR)、2019)。
【0011】
前述のように、CNNのカーネルから正確な論理ルールを抽出するには、カーネルの手作業によるラベル付けが必要である。特に、カーネルのデフォルトのラベルは通常「CX」や「LW」のようにアルファベット2文字で表され、それらを対応するラベル、例えば「Wall」や「Crowd」(カーネルが入力画像内で検出するように設定されている特徴に依存する)に変更するための手動プロセスが必要である。このラベル付けは、論理ルール、ひいては説明可能性を提供するために必要なステップである。ただし、新しいネットワークアーキテクチャが存在する場合、又はパフォーマンスを向上させるためにCNNのさらなるトレーニングが行われた場合は、これらのラベルが正確に維持されないことがある。そのため、ラベルが正しいことを確認するために、ラベルを手動でチェックしたり、ラベル付けステップをもう一度実行したりする手間がかかる。
【0012】
以上を踏まえ、知識の転送の方法が望まれる。
【発明の概要】
【0013】
第1の態様の実施形態によると、コンピュータにより実施される方法であって、
入力画像に基づいて、第1(トレーニング済み)畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含むコンピュータにより実施される方法が開示される。
【0014】
この方法には、特に次のような利点がある。
【0015】
本発明の実施形態は、ラベル付けのプロセスが以前のCNNに対して既に実施されている場合に、CNN、例えば第2CNNにラベル付けを試みる問題に関する。従来、再トレーニングが発生した場合は、新しいCNNにより若しくは以前のCNNにより、又は、以前のCNNに調整があった場合は、以前のCNNにより、ラベル付け処理を繰り返す必要があった。
【0016】
2つのネットワーク間でのこれらのフィルタの活性化の類似性に基づくカーネル/フィルタラベルの転送学習は、先行技術では開示されていない。ネットワークに手動でラベルを付けた後にその知識を使用することは非常に有益であり、実施形態は、トレーニング段階で最も時間と労力を要するステップの1つであるネットワークにラベルを付けるために必要な時間を短縮する可能性がある。実施形態は、カーネルラベル付けを必要とする新しいネットワークに適用することができる。実施形態は、ラベル付け処理に必要な時間を短縮することで、AIの説明可能性を拡張するのに役立つ。
【0017】
実施形態は、例えばネットワークからの論理的ルールを提供するために、カーネルをラベル付けするために必要な時間を短縮する信頼できる方法を提供できる。ラベル付け処理は多くの場合、時間とリソースを消費し、XAIの拡張の容易さを制限するため、ラベル付けに必要な時間を短縮する実施形態が有益である。
【0018】
抽出された情報と割り当てられたラベルは、ネットワークがどのように画像を処理し、どのように出力を決定するかについて何らかの説明を提供する可能性があり、これは、アプリケーションでAIモデルを使用する際の説明責任と顧客のセキュリティを向上させる説明可能なAIに向けて取り組む上で重要である。
【0019】
モデルがトレーニングされ、ラベルが割り当てられている場合、テスト段階で見つかったエラーやバイアスを修正するためにモデルのトレーニングが続行されると、フィルタの重みが変化する。重みが変化すると、フィルタは以前と同じ概念に応答しなくなり(つまり、フィルタが異なる特徴を検出する可能性がある)、ラベルが正しくない可能性がある。実施形態は、ラベルを第1CNNとしての前の反復から第2CNNとしての新しい反復に転送することによって、モデルの前の反復から新しい反復に知識を転送する方法を提供する。従って、ラベル付け処理を再び開始する必要はない。
【0020】
モデルがトレーニングされ、ラベルが割り当てられている場合、新しいデータが利用可能になったとき、又はテストによってモデルの隠れたバイアスが強調されたときに、CNNを最初から(ゼロから)再トレーニングする必要がある場合がある。一部のパラメータを変更してネットワークのパフォーマンスを向上させるには、CNNを最初から再トレーニングする必要がある場合もある。同じシードを使用していても、わずかな違いで各フィルタが応答する概念(すなわち、各フィルタが検出する特徴)が変わることがある。バリエーションの例としては、バッチを挿入する順序がある。これにより、ミニバッチの勾配降下が変更される可能性がある。実施形態は、第1CNNとしての以前の反復から第2CNNとして再トレーニングされたCNNにラベルを転送することによって、CNNの以前の反復から再トレーニングされたCNNに知識を転送する方法を提供する。従って、ラベル付け処理を再び開始する必要はない。
【0021】
実施形態は、ラベルを手動で割り当てる時間と労力のかかるプロセスを必要とせずに、ラベル付きCNN(第1CNN)からラベルなしで新しいCNN(第2CNN)にラベルを転送する方法を提供する。第2CNNは、第1CNNとは異なるアーキテクチャを持つ可能性があり、実施形態では、ラベルを自動的に転送することが依然として可能である。
【0022】
第1活性化マップを取得することは、入力画像を第1畳み込みニューラルネットワークに入力し、第1活性化マップを取得することを含んでよい。
【0023】
第2活性化マップを取得することは、入力画像を第2畳み込みニューラルネットワークに入力し、第2活性化マップを取得することを含んでよい。
【0024】
第1活性化マップは、ラベル付きフィルタが入力画像の領域によって活性化されるかどうか、及び/又はどの程度活性化されるかを示す活性化値(の第1テンソル)を含むことができる。
【0025】
第2活性化マップは、フィルタが入力画像の領域によって活性化されるかどうか、及び/又はどの程度活性化されるかを示す活性化値(の第2テンソル)を含むことができる。
【0026】
類似度指標の計算は、第1テンソル/活性化マップ内の活性化値及びそれらの位置を、第2テンソル/活性化マップ内の活性化値及びそれらの位置と比較することを含んでもよい。
【0027】
類似度指標を計算するステップは、第1及び第2活性化マップ/テンソルを各々第1及び第2バイナリ行列に変換し、第1及び第2バイナリ行列の間の類似度指標を計算するステップを含んでよい。
【0028】
方法は、第1及び第2バイナリ行列の間の類似度指標を計算するステップの前に、任意的に最近傍補間を使用して、第1及び第2バイナリ行列を前記入力画像の次元にスケーリングするステップ、をさらに含んでよい。
【0029】
第1及び第2活性化マップを第1及び第2バイナリ行列に変換するステップは、第1及び第2活性化マップ/テンソルにおいて閾値を超える(絶対値を持つ)各活性化値を第1値に(又は所定のゼロではない値に、又は1に)設定し、閾値以下の(絶対値を持つ)各活性化値を第2値(又はゼロ)に設定するステップを含んでよい。
【0030】
閾値は、ゼロであってよい。
【0031】
活性化値は全て負でなくてよい。
【0032】
第1及び第2活性化マップを第1及び第2バイナリ行列に変換するステップは、第1及び第2活性化マップ/テンソルの各非ゼロ活性化値を同じ値に(又は所定の値に、又は1に)設定することを含んでよい。
【0033】
類似度指標を計算するステップは、第1及び第2バイナリ行列の間のIoU(intersection-over-union)指標を計算するステップを含んでよい。
【0034】
類似度指標を計算するステップは、第1及び第2活性化マップ/テンソルの間のコサイン距離指標を計算するステップを含んでよい。
【0035】
第1及び第2活性化マップは各々、閾値を超える(絶対値を有する)(又は活性化値が閾値を超える絶対値を有する)少なくとも1つの活性化値を含む少なくとも1つの活性化領域を含んでよい。
【0036】
第1及び第2活性化マップは各々、閾値以下の(絶対値を有する)(又は活性化値が閾値以下の絶対値を有する)少なくとも1つの活性化値を含む少なくとも1つの非活性化領域を更に含んでよい。
【0037】
閾値は、ゼロであってよい。
【0038】
第1及び第2活性化マップは、各々少なくとも1つの非ゼロ活性化値を含む(又は活性化値がゼロではない)少なくとも1つの活性化領域を含んでよい。
【0039】
第1及び第2活性化マップは各々、0に等しい(又は活性化値が0に等しい)少なくとも1つの活性化値を含む少なくとも1つの非活性化領域を更に含んでよい。
【0040】
類似度指標を計算するステップは、第1活性化マップの少なくとも1つの活性化領域と第2活性化マップの少なくとも1つの活性化領域との間の類似度指標を計算するステップを含んでよい。
【0041】
第1及び第2バイナリ行列は各々、第1値を持つ(又は活性化値が第1値を持つ)少なくとも1つの活性化値を含む少なくとも1つの活性化領域を含んでよい。
【0042】
第1及び第2バイナリ行列は各々、第2値を有する(又は活性化値が第2値を有する)少なくとも1つの活性化値を含む少なくとも1つの非活性化領域を更に含んでよい。
【0043】
第1値は1であってよく、第2値は0であってよい。
【0044】
第1及び第2バイナリ行列は、各々少なくとも1つの非ゼロ活性化値を含む(又は活性化値がゼロではない)少なくとも1つ活性化領域を含んでよい。
【0045】
第1及び第2バイナリ行列は各々、0の値を有する(又は活性化値が0に等しい)少なくとも1つの活性化値を含む少なくとも1つの非活性化領域を更に含んでよい。
【0046】
類似度指標を計算するステップは、第1バイナリ行列(の少なくとも1つの活性化領域)と第2バイナリ行列(の少なくとも1つの活性化領域)との間のIoU(intersection-over-union)指標を計算するステップを含んでよい。
【0047】
第1畳み込みニューラルネットワークと第2畳み込みニューラルネットワークが同じ(又は類似の)アーキテクチャを持つ場合(例えば、第1の畳み込みニューラルネットワークと第2の畳み込みニューラルネットワークが互いに同数の各種類の層を持ち、それらの層が互いに同じ順序で並んでいる場合)、第1畳み込みニューラルネットワークのラベル付きフィルタは、第2畳み込みニューラルネットワークのフィルタが属する層と同じ、又はそれに対応する層に属することがある。
【0048】
第1及び第2CNNは、自動運転車又は半自動運転車で使用することができる。
【0049】
本方法は、自動運転車又は半自動運転車の制御に第2CNNを使用するステップをさらに含んでよい。
【0050】
本方法は、第2CNNを提供するために第1CNNを再トレーニングすることを含んでよい。
【0051】
本方法は、第2CNNを提供するために第1CNNに調整を行うことを含んでよい。
【0052】
本方法は、前記入力画像に基づいて、前記第1(トレーニング済み)畳み込みニューラルネットワークの複数の(前記)ラベル付きフィルタの複数の(前記)第1活性化マップを取得するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップのうちの1つとを含む、ステップと、
(任意で、最も高い類似度指標が閾値類似度指標を超えるとき)前記第2畳み込みニューラルネットワークの前記フィルタを、(前記ペアの中で)最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含んでよい。
【0053】
本方法は、前記入力画像に基づいて、前記(トレーニング済み)第1畳み込みニューラルネットワーク(の層)の複数の(前記)ラベル付きフィルタの複数の(前記)第1活性化マップを取得するステップと、
活性化スコアが閾値活性化スコアを超えている、又は活性化スコアが最も高い、少なくとも1つの第1活性化マップを選択するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記選択された少なくとも1つの第1活性化マップのうちの1つとを含む、ステップと、
(任意で、最も高い類似度指標が前記閾値類似度を超えるとき)前記第2畳み込みニューラルネットワークの前記フィルタを、(前記ペアの中の)最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含んでよい。
【0054】
第1の態様で言及されている閾値類似度は、例えば、ペアの中で次に高い類似度指標と考えることができる。
【0055】
本方法は、(前記)入力画像を含む複数の入力画像の各々について、
前記入力画像に基づいて、前記第1(トレーニング済み)畳み込みニューラルネットワーク(の層)の複数のラベル付きフィルタの複数の(前記)第1活性化マップを取得するステップと、
前記入力画像に基づいて、前記第2(トレーニング済み)畳み込みニューラルネットワークの前記フィルタの(前記)第2活性化マップを取得するステップと、
複数のペアの各々について、前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップの1つとを含む、ステップと、
を含み、
前記コンピュータにより実施される方法は、
(任意的に、最も高い類似度指標が前記閾値類似度以上である場合に)前記第2畳み込みニューラルネットワークの前記フィルタを、前記ペアの中で最も高い類似度指標を有するペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップ、又は、
(任意的に、最も高い類似度指標が前記閾値類似度以上である場合に)前記複数の画像の各々について前記ペアの中で最も高い類似度を有する少なくとも1つのペアの各々に属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択されたラベルでラベル付けし、複数の(異なる)ラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数の(異なる)ラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数の(異なる)ラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択されたラベルでラベル付けするステップ、又は、
閾値類似度以上の前記類似度指標を有するペア又は各々のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択したラベルでラベル付けし、複数の(異なる)ラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数の(異なる)ラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数の(異なる)ラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択したラベルでラベル付けするステップ、
を更に含んでよい。
【0056】
第1の態様で言及されている閾値類似度は、例えば、(ペアの中で)次に高い類似度指標と考えることができる。
【0057】
第2の態様の実施形態によると、コンピュータにより実施される方法であって、
入力画像に基づいて、第1(トレーニング済み)畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第2活性化マップと前記第1活性化マップのうちの1つとを含む各活性化マップペアについて、前記第1活性化マップと前記第2活性化マップとの間の類似度指標を計算するステップと、
前記第2畳み込みニューラルネットワークの前記フィルタを、各計算した類似度指標を用いて選択された前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含むコンピュータにより実施される方法が開示される。
【0058】
第3の態様の実施形態によれば、コンピュータにより実施される方法であって、複数の入力画像の各々について、
前記入力画像に基づいて、第1の(トレーニング済み)畳み込みニューラルネットワークの(層の)複数のラベル付きフィルタの複数の第1活性化マップを取得するステップであって、前記第1の畳み込みニューラルネットワークは、前記入力画像内の1つ以上の特徴を識別するように構成される、ステップと、
前記入力画像に基づいて、第2の(トレーニング済み)畳み込みニューラルネットワークのフィルタの第2活性化マップを取得するステップであって、前記第2の畳み込みニューラルネットワークは、前記入力画像内の1つ以上の特徴を識別するように構成され、前記第2活性化マップと複数の前記第1活性化マップのうちの1つとを各々含む複数のペアの各々について、前記第1活性化マップと前記第2活性化マップとの間の前記類似度指標を計算するステップと、
を含み、前記コンピュータにより実施される方法は、さらに、
(任意的に、最も高い類似度指標が閾値類似度以上の場合に)前記第2の畳み込みニューラルネットワークの前記フィルタを、前記ペアの中で最も高い類似度指標を持つペアに属する前記第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップ、又は、
(任意的に、最高類似性測定値が閾値類似性以上の場合に)複数の画像の各々について、ペアの中で最も高い類似度指標を持つ少なくとも1つのペアの各々に属する第1活性化マップに対応するラベル付きフィルタを選択し、1つのラベル付きフィルタが選択された場合は、前記第2畳み込みニューラルネットワークの前記フィルタを、前記選択されたラベル付きフィルタのラベルでラベル付けし、複数のラベル付きフィルタが選択され、選択された各ラベル付きフィルタのラベルが同じ場合は、前記第2畳み込みニューラルネットワークの前記フィルタを、前記選択されたラベル付きフィルタのラベルでラベルを付けし、複数のラベル付きフィルタが選択され、前記選択されたラベル付きフィルタの少なくとも1つのラベル付きフィルタのラベルが少なくとも1つの他の選択されたラベル付きフィルタのラベルと異なる場合は、前記第2畳み込みニューラルネットワークのフィルタを、前記選択したラベル付きフィルタの中で最も頻繁に現れるラベルでラベル付けするか、又は前記第2畳み込みニューラルネットワークのフィルタを、前記選択したラベル付きフィルタの中で最も頻繁に現れる複数のラベルの中からランダムに選択したラベルでラベル付けするか、又は閾値類似度以上の前記類似度指標を持つ各ペアに属する第1活性化マップに対応するラベル付きフィルタを選択し、1つのラベル付きフィルタが選択された場合は、前記第2畳み込みニューラルネットワークのフィルタを、前記選択されたラベル付きフィルタのラベルでラベル付けし、複数のラベル付きフィルタが選択され、選択された各ラベル付きフィルタのラベルが同じ場合は、第2畳み込みニューラルネットワークのフィルタを、前記選択されたラベル付きフィルタのラベルでラベル付けし、複数のラベル付きフィルタが選択され、前記選択されたラベル付きフィルタの少なくとも1つのラベル付きフィルタのラベルが少なくとも1つの他の選択されたラベル付きフィルタのラベルと異なる場合は、前記第2畳み込みニューラルネットワークのフィルタを、前記選択されたラベル付きフィルタの中で最も頻繁に現れるラベルでラベルを付けするステップと、を含むコンピュータにより実施される方法が開示される。
【0059】
第4の態様の実施形態によると、コンピュータにより実施される方法であって、複数の入力画像の各々について、
前記入力画像に基づいて、前記第1(トレーニング済み)畳み込みニューラルネットワーク(の層)の複数のラベル付きフィルタの複数の第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークは、前記入力画像の中の1つ以上の特徴を識別するよう構成される、ステップと、
前記入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワークのフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークは、前記入力画像の中の1つ以上の特徴を識別するよう構成される、ステップと、
複数のペアの各々について、前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップの1つとを含む、ステップと、
を含み、
前記コンピュータにより実施される方法は、
(任意的に、最も高い類似度指標が前記閾値類似度以上である場合に)前記第2畳み込みニューラルネットワークの前記フィルタを、前記ペアの中で最も高い類似度指標を有するペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップ、又は、
(任意的に、最も高い類似度指標が前記閾値類似度以上である場合に)前記複数の画像の各々について前記ペアの中で最も高い類似度を有する少なくとも1つのペアの各々に属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択されたラベルでラベル付けし、複数の(異なる)ラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数の(異なる)ラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数の(異なる)ラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択されたラベルでラベル付けするステップ、又は、
閾値類似度以上の前記類似度指標を有するペア又は各々のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択したラベルでラベル付けし、複数の(異なる)ラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数の(異なる)ラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数の(異なる)ラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択したラベルでラベル付けするステップ、
を更に含む方法が開示される。
【0060】
第4の態様の実施形態によると、コンピュータにより実施される方法であって、
複数の入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワークのフィルタの対応する複数の活性化マップを取得するステップであって、各活性化マップは活性化値(のテンソル)を含む、ステップと、
各入力画像について、前記対応する活性化マップの前記活性化値の集計として活性化スコアを計算し、活性化スコアが(前記の又は別の)閾値活性化スコアを超えているか、前記入力画像の中で最も高い活性化スコアを(各々)持つ少なくとも1つの入力画像を選択するステップと、
前記選択された少なくとも1つの入力画像を使用して、前述のいずれかの方法を実施するステップと、
を含むコンピュータにより実施される方法が開示される。
【0061】
第6の態様の実施形態によれば、コンピュータにより実施される方法であって、前記第2畳み込みニューラルネットワークの複数のフィルタに対して、前述の第1から第4の態様のいずれかのコンピュータにより実施される方法を実施するステップを含むコンピュータにより実施される方法が開示される。
【0062】
第7の態様の実施形態によれば、コンピュータプログラムであって、コンピュータで実行すると、該コンピュータに方法を実行させ、前記方法は、
入力画像に基づいて、第1(トレーニング済み)畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含む、コンピュータプログラムが開示される。
【0063】
第8の態様の実施形態によれば、情報処理機器であって、メモリと前記メモリに結合されるプロセッサとを含み、前記プロセッサは、
入力画像に基づいて、第1(トレーニング済み)畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得し、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記入力画像に基づいて、第2(トレーニング済み)畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得し、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算し、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、
よう構成される、情報処理機器が開示される。
【0064】
任意の態様/実施形態に関連する特徴は、他の任意の態様/実施形態に適用することができる。
【0065】
例として、以下の添付の図面を参照する。
【図面の簡単な説明】
【0066】
【発明を実施するための形態】
【0067】
以下の用語が説明で使用され得る。
【0068】
説明可能なAI。説明可能なAI(Explainable AI (XAI))又は解釈可能なAI(Interpretable AI)は、ソリューションの結果が人間により理解できる人工知能である。これは、AIが特定の決定に到達した理由を設計者でさえ説明できない機械学習の「ブラックボックス」の概念とは対照的である。XAIは、AIをより説明しやすくするために使用されるツール及び方法を指すこともある。(https://en.wikipedia.org/wiki/Explainable_artificial_intelligence, https://www.ibm.com/watson/explainable-ai)。
【0069】
ニューラル記号統合(Neural Symbolic Integration)。ニューラル記号統合は、人工知能における論理ベースの知識表現や推論などからの、人工ニューラルネットワーク(深層学習を含む)と記号的手法の組み合わせに関するものである(https://ieeexplore.ieee.org/document/8889997,https://arxiv.org/pdf/2010.09452.pdf,http://ceur-ws.org/Vol-2986/paper6.pdf)。
【0070】
類似度インデックス(Similarity Index)。例えば、類似度0は2つのエンティティが完全に異なることを意味し、類似度1は2つのエンティティが同一であることを意味するように、2つのエンティティ(例えば画像、画像内の領域など)の類似度を定義する指標(http://proceedings.mlr.press/v97/kornblith19a/kornblith19a.pdf,http://arno.uvt.nl/show.cgi?fid=148087)。
【0071】
カーネル(Kernel)。カーネルは、特徴検出器として機能するCNNの畳み込み層における位置不変な重みのセットである。カーネルは、フィルタ又は特徴検出器と呼ばれることがある(https://towardsdatascience.com/an-introduction-to-convolutional-neural-networks-eb0b60b58fd7)。
【0072】
活性化(Activation)。個々のニューロンの出力値、又はCNNのコンテキストでは、カーネルが個々のニューロンであるかのように扱うために、カーネルによって出力される全体的な活性化マップを表す単一の値である。この値が、何らかの事前に定義された閾値を超えると、ニューロン/カーネルはアクティブ(活性)と見なされる。
【0073】
活性化マップ(Activation map)。カーネルや層などの一連のニューロンによって出力される活性化のテンソル。特に明記されていない限り、「活性化マップ」はカーネルの出力を指すと考えてよい。「活性化行列」又は「特徴マップ」という用語は、同じものを参照するために使用されることがある。
【0074】
活性化関数(Activation Function)。人工ニューラルネットワークでは、ノードの活性化関数は、入力又は入力のセットが与えられたときのそのノードの出力を定義する(https://en.wikipedia.org/wiki/Activation_function)。
【0075】
(ニューロン又はフィルタの)受容野(Receptive field)。ネットワークの特定のユニット(つまり、ニューロン又はフィルタ)を活性化する入力空間の領域。受容野は、活性化マップの入力空間への投影として考えることもできる。したがって、活性化マップがフィルタ(又は層)の次元で定義されている場合、受容野は入力画像の次元で定義される。
【0076】
ネットワークに変更が発生したり、新しいネットワークが利用可能になったりした場合に、ラベル付けを使用して現在の技術の前述の問題を解決するために、転移学習が使用されることがある。時間のかかる(手動の)ラベル付け手順を繰り返す代わりに、以前のラベル付け処理から転送された知識を使用することができる。これを実現するために、同じデータセットを通過させたときのネットワークのフィルタ活性化のレート/頻度を比較し、ネットワークの受容野の共通部(intersection)の計算などの類似度の方法を使用して、幾つかのカーネルのラベルを取得し、それらを手動で行う必要がない。実施形態は、カーネルにラベルを正しく割り当て、活性化間の関係が多すぎたり少なすぎたりするのを避けるために、閾値類似度を含む。
【0077】
本開示は、カーネルラベル付け処理、又は少なくともその一部を自動化する方法に関する。実施形態は、カーネルが既にラベル付けされているモデルから、ラベル付けを必要とするモデルへと、知識を転送することができる。本方法は任意のCNNに適用することができ、CNNは少なくとも1つの畳み込み層を持つネットワークである。
【0078】
実施形態による方法は、ラベル付けされたCNNからラベル付けされていないCNNへの学習/知識の転送を可能にする。これを達成するために、ラベル付きCNNを介して処理された画像からのフィルタ活性化とその受容野が記録される。次に、ラベル付けされていないCNNを通じて同じ画像が処理され、フィルタ活性化とその受容野が記録される。方法は、ラベル付きCNNのフィルタとの同時活性化のレート/頻度及びそれらの受容野の共通部分(intersection)に基づいて、ラベル付けされていないCNNのフィルタをラベル付けすることを含む。それらの受容野の共通部分は、類似度インデックス/指標、例えばIoU(Intersection over Union)を使用して計算することができる。
【0079】
この方法は、
図1(後述)に示すように、次の機能を実行する。2つのネットワーク間の受容野の共通部分と、使用されるカーネルの活性化の頻度を比較して、古いラベル付きネットワークからの知識に基づいて新しいネットワークのラベル付け処理を自動化するために類似度を特定する。
【0080】
図1は、例示的な方法を示すフロー図である。
図1に示されている方法の簡単な概要として、まず、画像データセットが、事前にトレーニングされた畳み込みニューラルネットワーク(CNN)Aを通過する。その各々のフィルタのラベルは、標準的な手順と同様に、例えば人間により手動で予め提供されている。その後、CNN Aからのフィルタ活性化とそれらの受容野の記録と記憶が行われる。次に、第2ネットワークも同様であり、CNN Bと記述する。CNN Bは現在情報が存在しないネットワーク、すなわちラベルが存在しないネットワークであり、例えばこの方法がなければカーネルをラベル付けする手動の手順が必要となる。その代わり、この方法によれば、CNN BとCNN Aのフィルタからの活性化領域を比較し、類似度指標を使用して重複領域を計算する。したがって、CNN Aのフィルタのラベル付けから学習される及びそのために必要とされる知識は、CNN Bに転送され、CNN Bのフィルタにラベル付けするために使用されてよい。不正確なラベルの転送を避けるために、(例えばユーザにより)閾値類似度が定義される。閾値類似度を超える類似度を持つフィルタがCNN Aで見つからない場合、CNN AからのラベルはCNN Bに転送されず、例えば手動ラベルが必要になることがある。この方法の利点は、カーネルラベルが人間の手動入力なしでCNN AからCNN Bに転送されることである。この自動化された方法により、再トレーニング後の新しいネットワーク(CNN B)のラベル付け又はネットワークの更新にかかる時間が短縮される。
【0081】
【0082】
ステップS10で、画像データセットXi({X1、...XN}が第1トレーニング済み畳み込みニューラルネットワーク(CNN)Aに入力される。第1CNN Aがラベル付けされる。つまり、第1CNN Aのカーネルは、(すなわち、カーネルが検出した又はカーネルが「活性化された」入力画像内の特徴に従い)ラベル付けされている。ステップS11では、第1CNN Aのフィルタ活性化とその受容野を画像ごとに記録する。例えば、各画像の各フィルタの活性化マップが記録され、各フィルタについて、そのフィルタを活性化する領域(活性化領域)の各画像内の相対位置が受容野として記録される。例えば、CNN Aは既に人間の観察と入力によって手動でラベル付けされている。
【0083】
ステップS12で、同じ画像データセットXiが第2トレーニング済みCNN Bに入力される。第2CNN Bはラベル付けされていない。ステップS13では、第2CNN Bのフィルタ活性化とその受容野は、ステップS11と同様、画像ごとに記録される。
【0084】
ステップS14では、CNN Bの各フィルタについて、フィルタの中で最も高い活性化スコアを生じさせた10枚の画像が選択される。各活性化マップは活性化値のテンソルと見なされることがある(又は単に活性化値を含むと見なされることもある)。そのフィルタの対応する活性化スコアは、活性化マップの活性化値の平均として計算できる。代替として、そのフィルタに対応する活性化スコアは、活性化マップの要素(活性化値)を集約する他の任意の関数、例えばL2ノルムによって計算することもできる。
【0085】
ステップS15からS19は、CNN B内の各フィルタ(又はCNN B内の少なくとも1つ又は一部のフィルタ)に対して実行される。ステップS15からS19は、CNN B内の単一のフィルタについて説明される。
【0086】
ステップS15からS18は、10枚の画像の各々について実行される。ステップS15からS18は、単一の画像について説明される。
【0087】
ステップS15で、CNN B内の所与のフィルタについて、及び所与の画像について、CNN Bのフィルタが、CNN Aのすべてのフィルタ(又は少なくとも1つのフィルタ又は複数のフィルタ)と比較される。つまり、所与の画像について、CNN Bのフィルタの活性化領域は、CNN Aのフィルタの活性化領域と比較される。フィルタの活性化領域は、フィルタを活性化する画像の領域であり、後述される。
【0088】
ステップS15では、比較として、CNN Bのフィルタの活性化領域とCNN Aの各フィルタの活性化領域との間で、Intersection-over-Union(IoU)指標が計算される。
【0089】
ステップS16では、ステップS16で計算されたいずれかのIoUメトリックが、閾値類似度(ユーザにより定義可能である)を超えている(又はそれ以上である)かどうかを判断する。いずれのIoU指標も閾値類似度を超えていない(又は閾値類似度以上ではない)場合、方法はステップS17に進む。
【0090】
ステップS16で、ステップS15で計算したIoU指標のうちの少なくとも1つが閾値類似度を超えている(又は閾値類似度以上である)と決定された場合、方法はステップS18に進む。
【0091】
ステップS18では、CNN Bの活性化領域との活性化領域のIoUが閾値類似度よりも大きい(又は、閾値類似度以上である)CNN Aの各フィルタ(又は1つしか存在しない場合にはそのフィルタ)のラベルを格納する。
【0092】
ステップS15、S16、S18は、10枚の画像の各々について実行されるよう繰り返される。その結果、10枚の画像に渡りCNN Bの所与のフィルタに類似していると決定された、CNN Aのフィルタからの複数のラベルが記憶される。
【0093】
ステップS17で、10枚の画像のいずれかについてCNN Bのフィルタと比較したCNN Aのフィルタのラベルは、CNN Bのフィルタには使用されない。代わりに、画像注釈又は手動で割り当てられたラベルがCNN Bのフィルタをラベル付けするために使用される。
【0094】
ステップS19では、格納されているラベルの中で最も出現頻度の高いラベルがCNN Bに転送される。つまり、所与のフィルタは、格納されているラベルの中で最も頻繁に出現するラベルでラベル付けされる。格納されているラベルの中に、同じ頻度で最も頻繁に現れる複数のラベルがある場合、これらのラベルの1つが自動的にランダムに選択されてよい。
【0095】
ステップS15~S19が繰り返され、ラベル付けされるべきCNN Bのフィルタごとに実行される。
【0096】
図1に示される方法は、例である。この方法は、CNN Bの単一のフィルタに対して実行することも、CNN Bの全部ではなく一部のフィルタに対して実行することもできる。ステップS14では、異なる数の画像が選択されてよい。ステップS14で、活性化スコアが閾値活性化スコアを超える活性化マップを生成する画像を選択することができる。この方法は、データセット内のすべての画像ではなく、1つの画像又は一部の画像に対して実行できる。ステップS14を省略して、以降のステップをすべての画像(1枚の場合は1枚の画像)に対して実行してもよい。ステップS10とS11は、ステップS14の後、選択した画像に対してのみ実行することができる。この方法は、CNN Aのフィルタのうちの1つだけ、又は幾つかに基づいて実行することができる。幾つかの場合には、CNN Aの1つのフィルタだけがCNN Bのフィルタと十分に類似していると判断されることがあるため、ステップS18とS19を、そのフィルタのラベルを使用してCNN Bのフィルタをラベル付けするステップに置き換えることができる(これは、CNN Aの1つのフィルタのみを使用し、1つの画像のみを使用して方法を実施する場合であってよい)。
【0097】
この方法では、IoU指標以外の類似度指標を使用することができる。例えば、コサイン距離又はカイ二乗距離(https://towardsdatascience.com/17-types-of-similarity-and-dissimilarity-measures-used-in-data-science-3eb914d2681)。その他の類似度指標の例には、Dice係数やF1Scoreなどがあり、これは、合計のオーバーラップを2倍にし、両方の画像の合計ピクセル数で割った値を測定する。ステップS17では、画像注釈又は手動で割り当てられたラベルを利用する代わりに、CNN Bでフィルタにラベルが割り当てられない。
【0098】
CNN Aの各フィルタは、所与の入力画像に対して複数の活性化領域を出力する場合がある。フィルタによって出力される活性化マップには、入力画像のすべての(重複しない)活性化領域が含まれる。例えば、CNN Aの1つのフィルタの各活性化領域は、入力画像の異なる部分及び/又は入力画像の異なる活性化領域に基づいてよい。したがって、上記の方法は、ステップS11において、各(又は、1つのフィルタのみが考慮されている場合はその)フィルタについて複数のフィルタ活性化及び受容野を記録することを含むことができる。複数の受容野は、例えば入力画像の異なる側面で分離されていても、単一の受容野と見なされることがある。同じ考察がCNN Bのフィルタにも適用される。
【0099】
開示された方法は、事前トレーニングされたCNN Aのフィルタがすでにラベル付けされている、すなわち、その活性化パターンに概念が割り当てられていると仮定して、フィルタレベルでCNN Aから別のCNN(B)への知識の転送を可能にする。例えば、
図2(ステップS10とS12を示した図)に示すように、あるフィルタは交通標識に反応して、別のフィルタは車などに反応して発火(活性化)することがある。目標は、補助データセットDとCNN Aのフィルタ活性化を使用して、第2CNN Bのフィルタをラベル付けすることである。CNN Bは、CNN Aとはまったく異なるアーキテクチャ及び/又はフィルタ数を有してよい。
【0100】
方法のステップとバリエーションについては、以下でさらに詳細に説明する(すなわち、同じ実行例の一部として)。
【0101】
画像のデータセット{X1,...,XN}が与えられたとき、Fi
k(l)=(Fi1
k(l),Fi2
k(l),…FiJ
k(l))は、バッチ/データセット内のi番目の画像に対するCNN k∈{A,B}のi番目の層の特徴マップ(活性化マップ又は単に活性化としても知られている)を表すとする。CNN kの層lのj番目のフィルタはfj
k(l)で表される。j=1,...M、k∈{A,B}に対する各Fij
k(l)は、バッチ内のi番目の画像に対するj番目のフィルタを持つ層l-1の特徴マップの畳み込みとして定義される2D活性化行列である。つまり、Fij
k(l)=Fi
k(l-1)*fj
k(l)、ここで、*は、畳み込み演算子を表し、整流化線形活性化関数、又は活性化関数であるReLU(Rectified Linear Unit)が続く。アーキテクチャによっては、maxpoolingなど、他の活性化関数を使用することもできる。Fi
k(0)=Xiiはk∈{A,B}の入力画像である。以下の説明で想定されているように、ReLUが活性化関数として使用されるとき、各特徴マップFij
k(l)には負ではない値のみが含まれる。
【0102】
各活性化マップFij
k(l)は、非ゼロ活性化(活性化値)を1に設定することによって、バイナリ行列(量子化活性化行列とも呼ばれる)Mij
k(l)に変換される。つまり、Fij,xy
k(l)≠0ならば、Mij,xy
k(l)=1であり、Fij,xy
k(l)=0ならば、Mij,xy
k(l)=0である。インデックスx,yは活性化値の2D特徴マップにおける空間座標を示す。
【0103】
バイナリ行列への変換は、各活性化値と閾値活性化値との比較を含む。閾値を超える場合、活性化値は0である。閾値活性化値は異なる値であってよい。バイナリ行列への変換は、各活性化値の絶対値と閾値活性化値との比較を含んでよい(例えば、活性化関数が負の活性化値を導く場合)。
【0104】
ステップS10~S13では、データセット内の各画像XiにCNN A及びCNN Bを通過させ、層lにおけるCNN Aの各フィルタfj
A(l)、層mにおけるCNN Bの各フィルタfn
B(m)に対する量子化活性化行列Mij
A(l)及びMin
B(m)を格納する。前述の量子化活性化行列は、CNN Aのすべての層lとCNN Bのすべての層mに対して格納されるため、最高の活性化された受容野を比較してCNN Bのフィルタのラベルを取得できる。CNN AとCNN Bが同じ(又は類似した)アーキテクチャを持つ場合、この方法はm=lの場合に制限される。つまり、フィルタ比較は、同じ又は対応する層のCNN AとCNN Bのフィルタ間でのみ行われる。同じ又は類似のアーキテクチャは、CNN AとCNN Bが各々のタイプの層の数が互いに同じであり、それらの層が互いに同じ順序で配置されていることを意味すると考えられる(ただし、層内のフィルタ/ニューロンの数はCNN AとCNN Bで異なる可能性がある)。これは、(同じ又は対応する層内の)このようなフィルタが同じ受容野サイズを持つためである。
【0105】
各行列M
ij
k(l)、k∈{A,B}のゼロでない活性化領域は、対応するフィルタ(j番目のフィルタ)の活性化パターンを記述する入力画像X
iの活性領域/受容野に対応する。これを
図3に示し、ステップS10とS11を示す。つまり、
図3は、ラベル付きCNN Aに画像データセットを渡し、(活性化マップをバイナリ行列に変換した後で)それらをバイナリ化した後でフィルタの活性化を記録することを示している。活性化マップがバイナリ行列に変換されると、受容野は閾値に関して二値化され、シェーディング領域は1で満たされ、非シェーディング(又はより明るいシェーディング)領域は0で満たされる。上記の説明では、閾値0が使用されているため、0より大きい値を持つ活性化マップ内のすべての活性化値にはバイナリ行列内で値1が割り当てられ、活性化マップ内の他のすべての活性化値にはバイナリ行列内で値0が割り当てられる。別の閾値を使用することもできる。
【0106】
画像XiごとにCNN Aの層lの各フィルタの(最も高い)活性化領域が記録される。
【0107】
各バイナリ行列M
ij
k(l)は、最近傍補間によって入力画像X
iの次元にアップスケールされ、X
iと等しい次元を持つバイナリ行列UM
ij
k(l)を生成することができる。他の補間方法、例えば、バイリニア補間やフーリエ変換補間を使用することもできる。ただし、補間法が0から1の間などの値を出力する場合は、バイナリ行列を得るために閾値を再度適用する必要がある(つまり、二値化を再度実行する必要がある)。
図4は、バイナリ行列のアップスケーリングを示し、また、各バイナリ行列について、活性化領域が概説された入力画像X
iのバージョンを示している。
【0108】
次に、ステップS14で、CNN Bの各フィルタについて、前述のようにフィルタの最も高い活性化を有する少なくとも1つの画像(例えば上位10枚)を選択する。
【0109】
次に、ステップS15で、最も活性化の高い選択された画像について、CNN Bの層mにあるすべてのフィルタfr
B(m)及びCNN Aの層lにあるすべてのフィルタfj
A(l)のバイナリ行列UMir
B(m)及びUMij
A(l)の間でIoU指標が計算される。次に、ステップS16及びS18で、CNN B内の所与のフィルタfr
B(m)について、方法は、そのバイナリ行列UMij*
A(l)が(選択された画像に渡り)閾値類似度を超えるUMir
B(m)を持つIoU指標を持つCNN A内のフィルタfj*
A(l)を見つける。CNN Aからのそのようなフィルタが複数ある場合、それらのフィルタの中で最も頻繁に現れるラベルは、ステップS19でCNN Bの所与のフィルタへ転送される(すなわち、方法はCNN Bのフィルタを該ラベルでラベル付けする)。そのようなラベルが1つしかない場合は、もちろんステップS19でそのラベルが転送される。UMir
B(m)が(選択された画像に渡り)閾値類似度を超えるIoU指標を持ち、同じ頻度で最も頻繁に出現するフィルタが複数ある場合、これらのフィルタの1つ(及びそれに対応するラベル)がランダムに自動的に選択されてよい。
【0110】
代替として、転送すべきラベルを決定するために前述のようにフィルタを見つける代わりに(ステップS16からS19)、この方法では、選択された入力画像に渡り最も高いIoU指標に対応するCNN Aのラベル付きフィルタのラベルを使用してCNN Bのフィルタをラベル付けすることができる。この方法は、先ず、閾値類似度に対して最高のIoU指標をチェックすることを含むことができる。代替として、この場合の「閾値類似度」は、計算された2番目に高いIoUと見なされることもある。
【0111】
代替として、ステップS16からS19で、方法は、各画像の1つ以上の最高のIoU指標を決定し、対応するラベルを選択し(そして、選択する前に、各々の該IoUを閾値類似度に対してチェックしてもよい)、その後、選択されたラベルの中で最も頻繁に出現するラベルでCNN Bのフィルタをラベル付けしてよい(又は、選択されたラベルが1つしかない場合は、単に選択されたラベルを使用する)。
【0112】
図5は、ステップS12、S13、S15を説明する図である。ステップS12で、画像データセットにCNN Bを通過させ、ステップS13でフィルタ活性化を二値化(バイナリ行列に変換)して記録する。つまり、バイナリ行列が記録される。ステップS15では、CNN Bの各フィルタについて、CNN Bのフィルタを最も活性化する10枚の入力画像に対応するバイナリ行列を使用するなどして、CNN AとCNN Bのアップスケーリングされたバイナリ行列(各対応する入力画像の解像度/スケールに一致する)が類似度指標(例えばIoU)に関して比較される。各フィルタについて、CNN Bのフィルタは、閾値類似度より大きい(又は等しい)CNN Bのフィルタのバイナリ行列とのIoU指標を持つCNN Aのバイナリ行列に対応するラベルの中で最も頻繁に現れるラベルを割り当てることができる。CNN Bの所与のフィルタについて、CNN Aのバイナリ行列のいずれも、閾値類似度よりも大きい(又は等しい)CNN Bのフィルタのバイナリ行列とのIoU指標を持たない場合、CNN Bのフィルタはラベル付けされないままであるもちろん、CNN Bの所与のフィルタに割り当てるべきラベルを選択する上記の他の方法を使用することもできる。
【0113】
より詳細には、
図5の一番上の行を見ると、CNN Bの層mのフィルタ36は、バイナリ行列M
36
B(m)に変換される特徴マップを出力し、これは、入力画像の解像度/スケール/サイズに一致するようにアップスケールされ、アップスケールされたバイナリ行列(単にバイナリ行列と呼ばれてよい)UM
36
B(m)を生成する。IoU指標は、同じ入力画像に基づいて、CNN Aの層1のフィルタ17、154及び218から各々得られた各バイナリ行列UM
17
A(l)、UM
154
A(l)、及びUM
218
A(l)を使用して、バイナリ行列UM
36
B(m)に対して計算される。対応する説明は、
図5に示されている他のフィルタに適用される。
図5の右側では、層m又はlのインデックスを省略して表記を簡略化している。
【0114】
図5は、CNN Bの4つのフィルタとCNN Aの3つのフィルタの比較を示している。もちろん、ステップS15でCNN A及び/又はCNN Bのより多くの又はより少ないフィルタを比較してもよい。さらに、ステップS15において、CNN Bの各フィルタをCNN Aの同じフィルタと比較する必要はない。例えば、ステップS15において、CNN Bの各フィルタについて、CNN Bのそのフィルタについて選択された入力画像によって最も活性化されるフィルタを選択することによって、CNN Aのフィルタを比較のために選択することができる。前述のように、「最も活性化された」CNN Aのフィルタは、各フィルタについて、対応する特徴マップの活性化値の平均として計算された最高の活性化スコアを発生させるフィルタと見なすことができる。代替として又は追加で、CNN Bの各フィルタ(及び任意で、選択された各入力画像)について、活性化スコアが閾値活性化スコアを超えるCNN Aのフィルタを選択して、CNN Bのフィルタと比較することもできる。もちろん、ステップS15では、CNN Bの各フィルタをCNN Aの対応する層又はCNN Aの一部の層若しくは全部の層の全てのフィルタと比較してもよい。
【0115】
ステップS15の比較で、基準(例えば閾値類似度を超える(又は等しい)IoU)に一致するCNN Aのフィルタがない場合、ステップS17に関して前述したように、フィルタはCNN Aからのラベルを割り当てられていない。この方法は、別のCNNをCNN Aとして使用して繰り返してもよい(例えば、そのようなCNNを決定するために、注釈を含むデータセットをマイニングすることができる)。或いは、対応する受容野の最も高い活性化領域を検査した後に、(例えば手動で)ラベルを割り当てることができる。
【0116】
活性化マップのバイナリ行列への変換を省略し、バイナリ行列間ではなく活性化マップ間で適切な類似度指標(例えばコサイン距離)を計算してもよい。さらに、バイナリ行列のアップスケーリングを省略することもできる。代わりに、活性化マップを入力画像のサイズ/スケール/解像度に合わせてアップスケールすることができる。
【0117】
上記の説明では、特定の要素が「格納」されていることは必須ではない。例えば、これらの要素は、コンピュータによって使用される要素を「格納」する必要がある方法で一時的にのみ格納される場合がある。もちろん、幾つかの要素は実際にはより長期的な方法、すなわち伝統的な意味でのメモリに格納されてもよい。
【0118】
次に、既に説明した図を参照して、実際の例を説明する。
図3は、画像がCNN Aに入力されるステップS10を示している。CNN Aの3つのフィルタにはすでにラベル付けされている。つまり、フィルタf
17
A、f
154
A、及びf
218
Aには、各々、車、建物、人々のラベルが割り当てられている。
【0119】
図5は、同じ画像がCNN Bを介して処理されるステップS12を示している。CNN Bの異なるアーキテクチャのため、CNN Aと比較した異なるフィルタは、画像内の同じオブジェクト/特徴を識別する。これは
図5で分かる。同じ画像がCNN Bを介して処理される場合、異なる活性化と各々の異なるフィールドがある。CNN BのフィルタとCNN Aのフィルタを比較する。類似度の指標であるIoU指標は、CNN Bで活性化された各フィルタとCNN Aの各フィルタとの類似度を示す。特に、CNN Bのフィルタf
36
Bは、CNN Aのフィルタの中で最もフィルタf
17
Aとの類似度が高く、IoU指標0.83を有する。したがって、ラベル「cars(車)」は、CNN Bのフィルタf
36
Bに転送される。同様に、フィルタf
223
Bは、フィルタf
154
Aと最も類似度が高い(IoU指標が0.64)ため、ラベル「buildings(建物)」は、CNN Bのフィルタf
223
Bに転送される。フィルタf
319
Bは、フィルタf
218
Aと最も類似していると計算され、IoU指標が0.72であるため、ラベル「people(人々)」が割り当てられる。一方、フィルタf
387
BとCNN Aのフィルタを比較しても、閾値類似度を超えるIoU指標が得られなかったため、CNN AのフィルタからCNN Bのフィルタf
387
Bにラベルは転送されない。このフィルタのラベルは手動で割り当てることができる。
【0120】
作業例では、1つの画像を使用し、CNN BとCNN Aから選択された幾つかのフィルタを使用する。もちろん、異なる数のフィルタや画像が使用されることもあり、これらは上記のように多くの異なる方法で選択されることがある。
【0121】
図6は、画像データセット20、CNN A22、CNN B24、カーネル類似度ユニット36、及びカーネルラベラー38、を含むシステム20を示している。カーネル類似度ユニット36とカーネルラベラー38は、上記の方法ステップのいずれかを実行すると考えられる。例えば、カーネル類似度ユニット36がステップS10~S15を実行すると考えられ、カーネルラベラー38がステップS16~S19を実行すると考えられる。
【0122】
本発明は、特に以下の用途に使用することができる。
【0123】
-CNNからのデバッグ検出。オブジェクト検出を担当する場合、CNNは現在非常に優れたパフォーマンスを発揮する。CNNを使用したオブジェクト検出は非常に発展し、パフォーマンスが向上している。ただし、エラーは発生する。従来、CNNでエラーが発生した場合、研究者はエラーが発生した理由や、問題を修正するためにCNNをどのように変更すべきかについて、明確な根拠を持たない。実施形態による方法は、CNN用のカーネルにラベル付けするのに必要な時間を短縮できるため、XAIのより高速な拡張と実装の方法を提供することができる。したがって、CNNのデバッグ中に研究者がエラーを修正しようとするときには、フィルタ/カーネルラベルの支援を得て、CNNの「ブラックボックス」結果を調べるだけでよい。つまり、ラベルを提供することは、正確に何が間違っていたのかをより明確に見ることでデバッグプロセスを支援することができ、本発明はラベルのより迅速で労力のかからない提供を可能にする。
【0124】
-自動運転車の交通標識識別。自動運転車の人気が高まっている。世界の幾つかの地域ですでに導入が可能であるため、安全性と説明責任に関して疑問が提起されている。自動運転車は人間のすべての意思決定を引き継ぎ、正しい意思決定を行わなければならない。しかし、自動運転車による意思決定は必ずしも正しいとは限らず、なぜか(すなわち、自動運転車のエラー/問題の原因は何か)を理解するためにはXAIが必要である。自動運転車の重要なタスクの1つは、カメラビューで交通標識を正しく識別し、対応する必要な指示に従うことである。本発明は、交通標識を識別し、それに応じて分類するように構成されたCNNのフィルタをラベル付けすることによって実施することができる。このようなCNNのフィルタはラベル付けされるため、自動運転車でミスが発生した場合、ミスの原因を見つけやすくなる可能性がある。例えば、停止標識に基づく決定の過程で間違いが発生した場合、すべてのフィルタと活性化を調べて間違いの原因を突き止めるのではなく、関連するラベル(例えば「停止標識」)を有するCNNのフィルタを調べることができる。
【0125】
-サイバーセキュリティとAIモデル。AIモデルの利用が拡張し日常生活にまで拡大するにつれて、AIモデルが、例えばハッカー自身の利益のために操作されるリスクも増大する。これらのモデルにより多くのセキュリティを提供するために、より高度なAIモデルを使用してサイバーセキュリティ対策を実施することができる。XAIは、そのようなモデルがどのように機能するかについての洞察を提供し、説明責任と、モデルがどのようにセキュリティを提供するかを理解する能力を提供することができる。本発明は、フィルタをラベル付けする方法を提供し、したがって、これらのモデルがどのように機能するかを理解し、短縮された時間枠内でサイバーセキュリティにおける実装の拡大を可能にする。
【0126】
本発明は、説明可能なAIへの道を開くフィルタ活性化に基づいてカーネルをラベル付けする際のナレッジトランスファーのための新しい方法を提供する。実施形態は、自動化された手順を提供し、以前のCNNトレーニング段階で実施された学習、及び以前に実施されたラベル付けによって記録された知識を活用することによって、ラベル付けに必要な時間を(例えば、手動ラベル付け処理と比較して)短縮することができる。この迅速で労力のかからないラベル付け処理により、XAIの効率が向上し、より短い期間でアプリケーションがより広く展開される可能性がある。
【0127】
言い換えれば、本発明は、ニューラル記号学習に必要なカーネルのラベル付けを自動化する方法を提供する。ラベル付けされたネットワークと新しい(ラベル付けされていない)ネットワークの間では、2つのネットワーク間のフィルタの活性化(及びその頻度)を比較し、類似度を計算することによって、知識が転送される。実施形態は、あるネットワークから別のネットワークへカーネルラベルを転送するための類似度インデックスの使用を含む。
【0128】
図7は、本発明を具体化し、本発明を具体化する方法の動作の一部又は全部を実施し、実施形態の装置のタスクの一部又は全部を実施するために使用され得る、データ記憶サーバなどの情報処理機器10又はコンピューティング装置10のブロック図である。コンピューティング装置10は、上記の方法ステップのいずれか、例えば
図1のS10~S19のいずれかを実装するために使用することができる。
【0129】
コンピューティング装置10は、プロセッサ993とメモリ994を含む。任意に、コンピューティング装置はまた、他のこのようなコンピューティング装置、例えば、本発明の実施形態の他のコンピューティング装置と通信するためのネットワークインタフェース997を含む。任意で、コンピューティング装置は、キーボード及びマウス996のような1つ以上の入力メカニズム、及び1つ以上のモニタ995のような表示ユニットも含む。これらの要素は、ユーザの操作を容易にする場合がある。構成要素は、バス992を介して互いに接続可能である。
【0130】
メモリ994は、コンピュータ可読媒体を含んでもよく、この用語は、コンピュータ実行可能命令を運ぶように構成された、単一の媒体又は複数の媒体(例えば、集中型又は分散型のデータベース及び/又は関連するキャッシュ及びサーバ)を参照してもよい。コンピュータ実行可能命令は、例えば、汎用コンピュータ、特殊目的コンピュータ、又は特殊目的処理装置(例えば、1つ以上のプロセッサ)によってアクセス可能であり、1つ以上の機能又は操作を実行させる命令及びデータを含んでもよい。例えば、コンピュータ実行可能命令は、ここに開示されている方法を実装するための命令、又はここに開示されている任意の方法ステップ、例えば
図1に示されている方法又は任意の方法ステップ(ステップS10からS19のいずれか)を含むことができる。用語「コンピュータ可読記憶媒体」は、機械による実行のための命令セットを記憶、符号化、又は保持することが可能であり、機械に本開示の方法ステップのいずれか1つ以上を実行させる任意の媒体を含んでもよく、したがって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光媒体及び磁気媒体を含むが、これらに限定されない。例えば、限定するものではないが、用語「コンピュータ可読記憶媒体」は、固体メモリ、光学媒体、及び磁気媒体を含んでもよい。例として、限定ではなく、このようなコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能なプログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)、又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、フラッシュメモリ素子(例えば、個体メモリ装置)、を含む非一時的コンピュータ可読媒体を含んでよい。
【0131】
プロセッサ993は、コンピューティング装置を制御し、例えば、ここに記載された方法ステップのいずれかを実施するために、メモリ994に記憶されたコンピュータプログラムコードを実行するなどの処理動作を実行するように構成される。メモリ994は、プロセッサ993によって読み書きされるデータを格納し、少なくとも1つのCNN(例えばCNN A又はCNN B)及び/又はフィルタの活性化及び/又は受容野及び/又はラベル及び/又は活性化マップ及び/又はバイナリ行列及び/又は活性化値/スコア及び/又は類似度指標及び/又はフィルタのランキング情報を格納してもよい。本明細書で言及するように、プロセッサは、マイクロプロセッサ、中央処理装置などの1つ以上の汎用処理装置を含んでもよい。プロセッサは、複雑命令セット計算(CISC)マイクロプロセッサ、縮小命令セット計算(RISC)マイクロプロセッサ、超長命令ワード(VLIW)マイクロプロセッサ、又は命令セットの組み合わせを実施する他の命令セット又はプロセッサを実施するプロセッサを含んでもよい。また、プロセッサは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の特殊目的の処理デバイスを含んでもよい。1つ以上の実施形態では、プロセッサは、本明細書で議論される操作及び操作を実行するための命令を実行するように構成される。プロセッサはカーネル類似度ユニット36とカーネルラベラー38に対応してもよい。
【0132】
表示ユニット995は、CNN(A及び/又はB)及び/又はフィルタ活性化及び/又は受容野及び/又はラベル及び/又は活性化マップ及び/又はバイナリ行列及び/又は活性化値/スコア及び/又は類似度指標及び/又はフィルタのランキング情報及び/又はインタラクティブな表示など、コンピューティング装置によって格納されたデータの表現を表示して、ユーザが上記の方法で使用するCNNを選択できるようにしたり、及び/又は上記のその他の出力を表示したりすることができ、また、カーソル及びダイアログボックスと画面を表示して、ユーザとコンピューティング装置に格納されたプログラム及びデータとの間の相互作用を可能にしたりすることもできる。入力機構996は、ユーザが上記の方法で使用するCNNを選択できるようにするなど、ユーザがコンピューティング装置にデータと命令を入力できるようにすることができる。
【0133】
ネットワークインタフェース(ネットワークI/F)997は、インターネットのようなネットワークに接続することができ、ネットワークを介して他のこのような計算装置に接続することができる。ネットワークI/F997は、ネットワークを介して他の装置との入出力データを制御することができる。
【0134】
マイクロフォン、スピーカ、プリンタ、電源ユニット、ファン、ケース、スキャナ、トラッカーボール等の他の周辺装置が、計算装置に含まれてもよい。
【0135】
本発明を具体化する方法は、
図7に示すようなコンピューティング装置/機器10で実行することができる。このようなコンピューティング装置は、
図7に示すすべての構成要素を有する必要はなく、これらの構成要素のサブセットで構成することができる。例えば、機器10はプロセッサ993とプロセッサ993に結合されたメモリ994とを含む。或いは、機器10は、プロセッサ993と、プロセッサ993に結合されたメモリ994と、ディスプレイ995とを含む。本発明を具体化する方法は、ネットワークを介して1つ以上のデータ記憶サーバと通信する単一のコンピューティング装置によって実行することができる。コンピューティング装置は、データの少なくとも一部を記憶するデータ記憶装置であってもよい。
【0136】
本発明を具体化する方法は、互いに協働して動作する複数のコンピューティング装置によって実行することができる。複数のコンピューティング装置のうちの1つ以上は、データの少なくとも一部を記憶するデータ記憶サーバであってもよい。
【0137】
本発明は、デジタル電子回路で実装することもできるし、コンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実装することもできる。本発明は、コンピュータプログラム又はコンピュータプログラムプロダクト、すなわち、1つ以上のハードウェアモジュールによる実行、又はその動作を制御するために、非一時的情報キャリア、例えば、機械可読記憶装置、又は伝播される信号に具体化されたコンピュータプログラムとして実装することができる。
【0138】
コンピュータプログラムは、スタンドアロンプログラム、コンピュータプログラム部分、又は複数のコンピュータプログラムの形式であってよく、コンパイル言語又はインタープリタ言語を含む任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして又はモジュール、コンポーネント、サブルーチン、又はデータ処理環境での使用に適する他のユニットとしてなど、任意の形式で展開することができる。コンピュータプログラムは、1つの場所に置かれた若しくは複数の場所に分散されて通信ネットワークにより相互接続される1つのモジュール又は複数のモジュール上で、実行されるよう展開されてよい。
【0139】
本発明の方法のステップは、入力データに作用し及び出力を生成することにより本発明の機能を実行するためにコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサにより実行できる。本発明の機器は、プログラムされたハードウェアとして、又はFPGA(Field Programmable Gate Array)やASIC(Application-Specific Integrated Circuit)などを含む専用の論理回路として実装することができる。
【0140】
コンピュータプログラムの実行に適するプロセッサは、例えば、汎用及び特定用途向けマイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。通常、プロセッサは、命令及びデータを読み出し専用メモリ又はランダムアクセスメモリ又は両者から受信する。コンピュータの基本的要素は、命令及びデータを格納する1つ以上のメモリに結合された、命令を実行するプロセッサである。
【0141】
本発明の上述の実施形態は、有利には、実施形態のいずれかの他の実施形態から独立して、又は実施形態の1つ以上の他の実施形態と任意の実現可能な組み合わせで使用され得る。
【0142】
以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) コンピュータにより実施される方法であって、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含むコンピュータにより実施される方法。
(付記2) 前記類似度指標を計算するステップは、前記第1及び第2活性化マップを各々第1及び第2バイナリ行列に変換し、前記第1及び第2バイナリ行列の間の類似度指標を計算するステップを含む、付記1に記載のコンピュータにより実施される方法。
(付記3) 前記第1及び第2バイナリ行列の間の類似度指標を計算するステップの前に、任意的に最近傍補間を使用して、前記第1及び第2バイナリ行列を前記入力画像の次元にスケーリングするステップ、をさらに含む付記2に記載のコンピュータにより実施される方法。
(付記4) 前記第1及び第2活性化マップを前記第1及び第2バイナリ行列に変換するステップは、前記第1及び第2活性化マップにおいて閾値を超える絶対値を持つ各活性化値を第1値に設定し、前記閾値以下の絶対値を持つ各活性化値を第2値に設定するステップを含む、付記2又は3に記載のコンピュータにより実施される方法。
(付記5) 前記類似度指標を計算するステップは、前記第1及び第2バイナリ行列の間のIoU(intersection-over-union)指標を計算するステップを含む、付記2~4のいずれかに記載のコンピュータにより実施される方法。
(付記6) 前記類似度指標を計算するステップは、前記第1及び第2活性化マップの間のコサイン距離指標を計算するステップを含む、付記1に記載のコンピュータにより実施される方法。
(付記7) 自動運転車又は半自動運転車の制御に前記第2CNNを使用するステップをさらに含む付記1~6のいずれかに記載のコンピュータにより実施される方法。
(付記8) 前記方法は、前記第1CNNを再トレーニングして前記第2CNNを提供するステップを含む、付記1~7のいずれかに記載のコンピュータにより実施される方法。
(付記9) 前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数の前記ラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップのうちの1つとを含む、ステップと、
前記第2畳み込みニューラルネットワークの前記フィルタを、最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含む付記1~8のいずれかに記載のコンピュータにより実施される方法。
(付記10) 前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数の前記ラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
活性化スコアが閾値活性化スコアを超えている、又は活性化スコアが最も高い、少なくとも1つの第1活性化マップを選択するステップと、
複数のペアの各々について前記類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記選択された少なくとも1つの第1活性化マップのうちの1つとを含む、ステップと、
前記第2畳み込みニューラルネットワークの前記フィルタを、最も高い類似度指標のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップと、
を含む付記1~8のいずれかに記載のコンピュータにより実施される方法。
(付記11) 前記入力画像を含む複数の入力画像の各々について、
前記入力画像に基づいて、前記第1畳み込みニューラルネットワークの複数のラベル付きフィルタの複数の前記第1活性化マップを取得するステップと、
前記入力画像に基づいて、前記第2畳み込みニューラルネットワークの前記フィルタの前記第2活性化マップを取得するステップと、
複数のペアの各々について、前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップであって、各ペアは、前記第2活性化マップと前記複数の第1活性化マップの1つとを含む、ステップと、
を含み、
前記コンピュータにより実施される方法は、
前記第2畳み込みニューラルネットワークの前記フィルタを、前記ペアの中で最も高い類似度指標を有するペアに属する第1活性化マップに対応するラベル付きフィルタのラベルでラベル付けするステップ、又は、
前記複数の画像の各々について前記ペアの中で最も高い類似度指標を有する少なくとも1つのペアの各々に属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択されたラベルでラベル付けし、複数のラベルが選択されている場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数のラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択された複数のラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択されたラベルでラベル付けするステップ、又は、
閾値類似度以上の前記類似度指標を有するペア又は各々のペアに属する第1活性化マップに対応するラベル付きフィルタのラベルを選択し、1つのラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択したラベルでラベル付けし、複数のラベルを選択した場合は、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数のラベルの中で最も頻繁に出現するラベルでラベル付けするか、前記第2畳み込みニューラルネットワークの前記フィルタを前記選択した複数のラベルの中で最も頻繁に出現する複数のラベルの中からランダムに選択したラベルでラベル付けするステップ、
を更に含む付記1~8のいずれかに記載のコンピュータにより実施される方法。
(付記12) コンピュータにより実施される方法であって、
複数の入力画像に基づいて、第2畳み込みニューラルネットワークのフィルタの対応する複数の活性化マップを取得するステップであって、各活性化マップは活性化値を含む、ステップと、
各入力画像について、前記対応する活性化マップの前記活性化値の集計として活性化スコアを計算し、活性化スコアが閾値活性化スコアを超えているか、前記入力画像の中で最も高い活性化スコアを持つ少なくとも1つの入力画像を選択するステップと、
前記選択された少なくとも1つの入力画像を使用して、付記1~11のいずれかに記載の方法を実施するステップと、
を含むコンピュータにより実施される方法。
(付記13) 前記第2畳み込みニューラルネットワークの複数のフィルタに対して、付記1~12のいずれかに記載されているコンピュータにより実施される方法を実施するステップを含むコンピュータにより実施される方法。
(付記14) コンピュータプログラムであって、コンピュータで実行すると、該コンピュータに方法を実行させ、前記方法は、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得するステップであって、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得するステップであって、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されている、ステップと、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算するステップと、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、ステップと、
を含む、コンピュータプログラム。
(付記15) 情報処理機器であって、メモリと前記メモリに結合されるプロセッサとを含み、前記プロセッサは、
入力画像に基づいて、第1畳み込みニューラルネットワーク(CNN)のラベル付きフィルタの第1活性化マップを取得し、前記第1畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記入力画像に基づいて、第2畳み込みニューラルネットワーク(CNN)のフィルタの第2活性化マップを取得し、前記第2畳み込みニューラルネットワークが前記入力画像内の1つ以上の特徴を識別するように構成されており、
前記第1活性化マップと前記第2活性化マップの間の類似度指標を計算し、
前記類似度指標が閾値類似度以上の場合、前記第2畳み込みニューラルネットワークの前記フィルタを前記第1畳み込みニューラルネットワークの前記ラベル付きフィルタのラベルでラベル付けする、
よう構成される、情報処理機器。
【符号の説明】
【0143】
20 画像データセット
22 CNN A(ラベル付けされた)
24 CNN B(ラベル付けされていない)
36 カーネル類似度ユニット
38 カーネルラベラー