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

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

▶ 富士通株式会社の特許一覧

特許7230736ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体
<>
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図1
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図2
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図3a
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図3b
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図3c
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図4
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図5
  • 特許-ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-20
(45)【発行日】2023-03-01
(54)【発明の名称】ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体
(51)【国際特許分類】
   G06N 99/00 20190101AFI20230221BHJP
   G06N 3/04 20230101ALI20230221BHJP
【FI】
G06N99/00 180
G06N3/04
【請求項の数】 10
(21)【出願番号】P 2019146534
(22)【出願日】2019-08-08
(65)【公開番号】P2020042796
(43)【公開日】2020-03-19
【審査請求日】2022-04-07
(31)【優先権主張番号】201811052825.2
(32)【優先日】2018-09-10
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】スヌ・リ
(72)【発明者】
【氏名】汪 留安
(72)【発明者】
【氏名】孫 俊
【審査官】杉浦 孝光
(56)【参考文献】
【文献】国際公開第2019/084560(WO,A1)
【文献】国際公開第2018/219016(WO,A1)
【文献】特開2018-84982(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
G06N 3/02- 3/10
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークアーキテクチャ探索装置であって、
ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するための探索空間限定ユニット;
制御ユニットであって、前記制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するための制御ユニット;
訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失、及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うための訓練ユニット;
検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度、及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、また、各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するための奨励スコア計算ユニット;及び
前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整するための調整ユニットを含み、
前記制御ユニット、前記訓練ユニット、前記奨励スコア計算ユニット及び前記調整ユニットにおける処理が、所定の反復終了条件を満たすまで反復して実行される、探索装置。
【請求項2】
請求項1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記探索空間限定ユニットは、開集合の認識について前記探索空間を限定する、探索装置。
【請求項3】
請求項2に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記探索空間限定ユニットは、前記ニューラルネットワークアーキテクチャが、直列アレンジされる所定数量の、サンプルの特徴の変換のためのブロックユニット及び前記所定数量の、サンプルの特徴の統合のための特徴統合層を含むように限定し、各ブロックユニットの後に1つの前記特徴統合層が設けられ、また、予め、前記所定数量の特徴統合層のうちの各特徴統合層の構造を限定するように構成され、
前記制御ユニットは、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、前記所定数量のブロックユニットのうちの各ブロックユニットを形成することで、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャを生成するように構成される、探索装置。
【請求項4】
請求項1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記特徴分布スコアは、同一クラスに属するサンプルの特徴間の集合度を表す中心損失に基づいて計算され、
前記分類精度は、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失に基づいて計算される、探索装置。
【請求項5】
請求項1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記アーキテクチャパラメータの集合は、3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、及び恒等残差ノー・スキップの任意の組み合わせを含む、探索装置。
【請求項6】
請求項1に記載のニューラルネットワークアーキテクチャ探索装置であって、
反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、開集合の認識に用いられる、探索装置。
【請求項7】
請求項1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記制御ユニットは、再帰型ニューラルネットワークを含む、探索装置。
【請求項8】
ニューラルネットワークアーキテクチャ探索方法であって、
ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定する探索空間限定ステップ;
制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成する制御ステップ;
訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失、及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行う訓練ステップ;
検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度、及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算する奨励スコア計算ステップ;及び
前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整する調整ステップを含み、
前記制御ステップ、前記訓練ステップ、前記奨励スコア計算ステップ及び前記調整ステップにおける処理を、所定の反復終了条件を満たすまで反復して実行する、探索方法。
【請求項9】
請求項8に記載のニューラルネットワークアーキテクチャ探索方法であって、
前記探索空間限定ステップでは、開集合の認識について前記探索空間を限定する、探索方法。
【請求項10】
プログラムを記憶したコンピュータ可読記憶媒体であって、
前記プログラムは、コンピュータに、請求項8又は9に記載のニューラルネットワークアーキテクチャ探索方法を実行させるためのものである、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理分野に関し、特に、ニューラルネットワークアーキテクチャ探索装置と方法及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
今のところ、畳み込みニューラルネットワークが発達しているため、閉集合の認識の問題が既に解決されている。しかし、実際の応用シナリオでは、開集合の認識の問題が存在する。例えば、顔認識及びオブジェクト認識が典型的な開集合の認識の問題である。開集合の認識の問題には、複数の既知のクラスがあるが、多くの未知のクラスも存在する。開集合の認識は、正常な閉集合の認識タスクに用いるニューラルネットワークよりも汎用なニューラルネットワークを要する。よって、開集合の認識の問題のためのニューラルネットワークを簡単且つ有効に構築し得る方法が望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述の問題に鑑み、本開示の目的は、従来技術中の1つ又は複数の欠点を解決し得るニューラルネットワークアーキテクチャ探索装置と方法及び分類装置と方法を提供することにある。
【課題を解決するための手段】
【0004】
本開示の一側面によれば、ニューラルネットワークアーキテクチャ探索装置が提供され、前記装置は、
ニューラルネットワークアーキテクチャの探索空間限定ユニットであって、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するためのもの;
制御ユニットであって、前記制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するためのもの;
訓練ユニットであって、訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うためのもの;
奨励スコア計算ユニットであって、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するもの;及び
調整ユニットであって、前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整するためのものを含み、
そのうち、前記制御ユニット、前記訓練ユニット、前記奨励スコア計算ユニット及び前記調整ユニット中の処理を、所定の反復終了条件を満たすまで反復(iteration)して行う。
【0005】
本開示の他の側面によれば、ニューラルネットワークアーキテクチャ探索方法が提供され、前記方法は、
ニューラルネットワークアーキテクチャの探索空間限定ステップであって、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するもの;
制御ステップであって、制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するもの;
訓練ステップであって、訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うもの;
奨励スコア計算ステップであって、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するもの;及び
調整ステップであって、前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整するものを含み、
そのうち、前記制御ステップ、前記訓練ステップ、前記奨励スコア計算ステップ及び前記調整ステップ中の処理を、所定の反復終了条件を満たすまで反復して行う。
【0006】
本開示の他の側面によれば、プログラムを記憶したコンピュータ可読記憶媒体が提供さされ、前記プログラムは、コンピュータに、前述のニューラルネットワークアーキテクチャ探索方法を実行させるためのものである。
【0007】
本開示の他の側面によれば、さらに、前述のニューラルネットワークアーキテクチャ探索方法を実現するためのコンピュータプログラムコード及びコンピュータプログラムプロダクトが提供される。
【図面の簡単な説明】
【0008】
図1】本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置の一例の機能ブロック図である。
図2】本開示の実施例におけるニューラルネットワークアーキテクチャの一例を示す図である。
図3a】本開示の実施例において再帰型ニューラルネットワークRNNに基づく制御ユニットが探索空間中のアーキテクチャパラメータに対してサンプリングを行う一例を示す図である。
図3b】本開示の実施例において再帰型ニューラルネットワークRNNに基づく制御ユニットが探索空間中のアーキテクチャパラメータに対してサンプリングを行う一例を示す図である。
図3c】本開示の実施例において再帰型ニューラルネットワークRNNに基づく制御ユニットが探索空間中のアーキテクチャパラメータに対してサンプリングを行う一例を示す図である。
図4】本開示の実施例におけるブロックユニットの構造の一例を示す図である。
図5】本開示の実施例におけるニューラルネットワークアーキテクチャ探索方法の一例のフローチャートである。
図6】本開示の実施例に採用され得る汎用コンピュータの構造の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、添付した図面を参照しながら、本開示を実施するための好適な形態を詳細に説明する。なお、このような実施形態は、例示に過ぎず、本開示を限定するものでない。
【0010】
まず、図1を参照しながら、本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100の機能ブロック図について説明する。図1は、本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100の一例の機能ブロック図である。図1に示すように、本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100は、ニューラルネットワークアーキテクチャの探索空間限定ユニット102、制御ユニット104、訓練ユニット106、奨励スコア計算ユニット108、及び調整ユニット110を含む。
【0011】
ニューラルネットワークアーキテクチャの探索空間限定ユニット102は、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するように構成される。
【0012】
ニューラルネットワークアーキテクチャは、該ニューラルネットワークを記述するためのアーキテクチャパラメータにより表すことができる。畳み込み層のみを有する最も簡単な畳み込みニューラルネットワークを例とすれば、各畳み込み層のパラメータは、5つがあり、即ち、畳み込みカーネルの数、畳み込みカーネルの高さ、畳み込みカーネルの幅、畳み込みカーネルのストライド(stride)の高さ、及び畳み込みカーネルのstrideの幅である。この場合、各畳み込み層は、このようなクイントゥープル(Quintuple(5つの要素からなる組))により表すことができる。
【0013】
本開示の実施例におけるニューラルネットワークアーキテクチャの探索空間限定ユニット102は、探索空間を限定するように構成され、即ち、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの全体集合を限定する。アーキテクチャパラメータの全体集合が確定されてから、全体集合のうちから最適なニューラルネットワークアーキテクチャを見つけることができる。一例として、経験に基づいてニューラルネットワークアーキテクチャのアーキテクチャパラメータの全体集合を限定することができる。また、リアルな顔認識データベース、オブジェクト認識データベースなどに基づいて、ニューラルネットワークアーキテクチャのアーキテクチャパラメータの全体集合を限定しても良い。
【0014】
制御ユニット104は、制御ユニット104のパラメータに基づいて、探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するように構成されても良い。
【0015】
例えば、θで制御ユニット104の現在のパラメータを表すとすれば、制御ユニット104は、パラメータθを以て探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成する。そのうち、サンプリングにより得られたサブネットワークアーキテクチャの数が、実際の状況に応じて予め設定されても良い。
【0016】
訓練ユニット106は、訓練集合中の全てのサンプルを用いて、少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、クラス間損失及び中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うように構成されても良い。
【0017】
一例として、サンプルの特徴は、サンプルの特徴ベクトルであっても良い。この分野で良く用いられる方法によりサンプルの特徴を取得しても良いが、ここでは、その詳しい説明を省略する。
【0018】
一例として、訓練ユニット106では、訓練集合中の各サンプルの特徴に基づいて、softmax損失を、各サブニューラルネットワークアーキテクチャのクラス間損失Lsとして計算することができる。softmax損失以外に、当業者は、クラス間損失の他の計算方法を採用しても良いが、ここでは、その詳しい説明を省略する。異なるクラス間の差をできるだけ大きくするために、即ち、できるだけ異なるクラスの特徴を分けるために、サブニューラルネットワークアーキテクチャに対して訓練を行うときに、クラス間損失をできるだけ小さくする必要がある。
【0019】
顔画像認識、オブジェクト認識などのような開集合の認識の問題において、本開示の実施例では、さらに、訓練集合中の全てのサンプルに対して、各サブニューラルネットワークアーキテクチャについて、同一クラスに属するサンプルの特徴間の集合度を表す中心損失Lcを計算する。一例として、中心損失は、各サンプルの特徴と、該サンプルの属するクラスの中心特徴との間の距離に基づいて計算することができる。同一クラスに属するサンプルの特徴の差を小さくするために、即ち、同一クラスからの特徴をさらに寄せ集めるために、サブニューラルネットワークアーキテクチャに対して訓練を行うときに、中心損失をできるだけ小さくする必要がある。
【0020】
本開示の実施例における損失関数Lは、以下のように表することができる。
【0021】
L=Ls+ηLc (1)
式(1)では、ηは、ハイパーパラメータであり、それは、損失関数Lにおいてクラス間損失Ls及び中心損失Lcのうちのどれが主導するかを決定することができ、また、経験に基づいてηを確定することができる。
【0022】
訓練ユニット106は、損失関数Lを最小化することを目標として、各サブニューラルネットワークアーキテクチャに対して訓練を行うことで、各子ニューラルネットワークのアーキテクチャパラメータの値を確定することができ、即ち、訓練後の各サブニューラルネットワークアーキテクチャを得ることができる。
【0023】
訓練ユニット106は、クラス間損失及び中心損失の両方に基づいて、各サブニューラルネットワークアーキテクチャに対して訓練を行うため、異なるクラスに属するサンプルの特徴をさらに分離し得ると同時に、同一クラスに属するサンプルの特徴をさらに寄せ集めることができる。このように、開集合の認識の問題において、テスト待ち画像が既知のクラスに属するかそれとも未知のクラスに属するかをより容易に判断することができる。
【0024】
奨励スコア計算ユニット108は、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの分類精度及び特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するように構成されても良い。
【0025】
好ましくは、特徴分布スコアは、同一クラスに属するサンプルの特徴間の集合度を表す中心損失に基づいて計算され、分類精度は、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失に基づいて計算される。
【0026】
例えば、ωで訓練後の1つのサブニューラルネットワークアーキテクチャのパラメータ(即ち、該1つのサブニューラルネットワークアーキテクチャのアーキテクチャパラメータの値)を表し、該1つのサブニューラルネットワークアーキテクチャの分類精度をAcc_s(ω)と表し、また、その特徴分布スコアをFd_c(ω)と表すとする。この場合、奨励スコア計算ユニット108は、検証集合中の全てのサンプルを用いて、該1つのサブニューラルネットワークアーキテクチャについて、クラス間損失Lsを計算し、そして、計算したクラス間損失Lsに基づいて分類精度Acc_s(ω)を計算する。よって、分類精度Acc_s(ω)は、異なるクラスに属するサンプルに対して行われる分類の分類精度を表すことができる。また、奨励スコア計算ユニット108は、検証集合中の全てのサンプルを用いて、該1つのサブニューラルネットワークアーキテクチャについて、中心損失Lcを計算し、そして、計算した中心損失Lcに基づいて、特徴分布スコアFd_c(ω)を計算する。よって、特徴分布スコアFd_c(ω)は、同一クラスに属するサンプルの特徴間のコンパクトさを表すことができる。
【0027】
該1つのサブニューラルネットワークアーキテクチャの奨励スコアR(ω)は、以下のように定義することができる。
【0028】
R(ω)=Acc_s(ω)+ρFd_c(ω) (2)
式(2)では、ρは、ハイパーパラメータである。一例として、経験に基づいて、ρを、分類精度Acc_s(ω)及び特徴分布スコアFd_c(ω)が同程度の大きさになるように確定しても良く、また、ρは、奨励スコアR(ω)において分類精度Acc_s(ω)及び特徴分布スコアFd_c(ω)のうちのどれが主導するかを決定することができる。
【0029】
奨励スコア計算ユニット108は、分類精度及び特徴分布スコアの両方に基づいて奨励スコアを計算するため、奨励スコアは、分類精度を表すことができるのみならず、同一クラスに属するサンプルの特徴間のコンパクトさを表すこともできる。
【0030】
調整ユニット110は、奨励スコアを制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの奨励スコアがより大きくなる方向に向けて制御ユニットのパラメータを調整するように構成されても良い。
【0031】
制御ユニット104のパラメータがθのときに、サンプリングにより得られた少なくとも1つのサブニューラルネットワークアーキテクチャについて、各サブニューラルネットワークアーキテクチャの奨励スコアに基づいて一組の奨励スコアを取得し、該一組の奨励スコアをR’(ω)と表す。また、EP(θ)[R’(ω)]でR’(ω)の期待値を表す。ここで、その目的は、ある最適方策P(θ)の下で、制御ユニット104のパラメータθを調整して、R’(ω)の期待値が最大になるようにさせることにある。一例として、サンプリングにより1つのみのサブネットワークアーキテクチャが得られている場合、その目的は、ある最適方策P(θ)の下で、制御ユニット104のパラメータθを調整して、前記1つのサブネットワークアーキテクチャの奨励スコアが最大になるようにさせることにある。
【0032】
一例として、強化学習に良く用いられる最適方策を用いて最適化を行うことができる。例えば、近接方策最適化(Proximal Policy Optimization)又は勾配方策最適化を使用することができる。
【0033】
一例として、前記少なくとも1つのサブニューラルネットワークアーキテクチャの一組の奨励スコアの期待値がより大きい方向に向けて制御ユニット104のパラメータθを調整する。一例として、前記一組の奨励スコア及び制御ユニット104の現在のパラメータθに基づいて、制御ユニット104の調整後のパラメータを生成することができる。
【0034】
上述のように、奨励スコアは、分類精度を表すことができるだけでなく、同一クラスに属するサンプルの特徴間のコンパクトさを表すこともできる。本開示の実施例における調整ユニット110が、上述の奨励スコアに基づいて制御ユニットのパラメータを調整することで、制御ユニットは、その調整後のパラメータに基づいて、サンプリングにより、奨励スコアがより大きくなるサブニューラルネットワークアーキテクチャを取得することができるので、開集合の認識の問題において、該開集合にさらに適したニューラルネットワークアーキテクチャを探索することができる。
【0035】
本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100では、制御ユニット104、訓練ユニット106、奨励スコア計算ユニット108、及び調整ユニット110中の処理を、所定の反復終了条件を満たすまで反復して行う。
【0036】
一例として、後続の毎回の反復では、制御ユニット104は、その調整後のパラメータに基づいて、再び探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成する。訓練ユニット106は、再び生成された各サブニューラルネットワークアーキテクチャに対して訓練を行い、奨励スコア計算ユニット108は、その訓練後の各サブニューラルネットワークアーキテクチャの奨励スコアを計算し、そして、調整ユニット110は、さらに、奨励スコアを制御ユニット104にフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの一組の奨励スコアがより大きくなる方向に向けて再び制御ユニット104のパラメータを調整する。
【0037】
一例として、反復終了条件は、前記少なくとも1つのサブニューラルネットワークアーキテクチャのパフォーマンスが十分に良く(例えば、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記一組奨励スコアが所定条件を満たすこと)又は最大反復回数に達することである。
【0038】
以上のことから、本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100は、制御ユニット104、訓練ユニット106、奨励スコア計算ユニット108、及び調整ユニット110中の処理を反復して行うことで、ある実際の開集合の認識の問題において、既に存在している一部の教師データ(訓練集合中のサンプル及び検証集合のサンプル)を用いて、該開集合に適した1つのニューラルネットワークアーキテクチャを自動探索し、これにより、開集合の認識の問題のために、より強い汎用性を有するニューラルネットワークアーキテクチャを容易且つ有効に構築することができる。
【0039】
好ましくは、開集合の認識の問題をより良く解決し、該開集合にさらに適した1つのニューラルネットワークアーキテクチャを自動探索し得るために、ニューラルネットワークアーキテクチャの探索空間限定ユニット102は、開集合の認識について探索空間を限定するように構成されても良い。
【0040】
好ましくは、ニューラルネットワークアーキテクチャの探索空間限定ユニット102は、ニューラルネットワークアーキテクチャが、直列アレンジされる所定数量の、サンプルの特徴に対して変換を行うためのブロックユニット、及び前記所定数量の、サンプルの特徴に対して統合を行うための特徴統合層を含むように限定しても良く、そのうち、各ブロックユニットの後に1つの前記特徴統合層が設けられ、且つ、ニューラルネットワークアーキテクチャの探索空間限定ユニット102は、予め、前記所定数量の特徴統合層中の各特徴統合層の構造を限定しても良く、また、制御ユニット104は、探索空間中のアーキテクチャパラメータに対してサンプリングを行い、前記所定数量のブロックユニット中の各ブロックユニットを形成することで、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャを生成しても良い。
【0041】
一例として、リアルな顔認識データベース、オブジェクト認識データベースなどに基づいて、ニューラルネットワークアーキテクチャを限定しても良い。
【0042】
一例として、特徴統合層は、畳み込み層であっても良い。
【0043】
図2は、本開示の実施例におけるニューラルネットワークアーキテクチャの一例を示す図である。ニューラルネットワークアーキテクチャの探索空間限定ユニット102は、予め、N個の特徴統合層のうちの各特徴統合層の構造を畳み込み層に限定する。図2に示すように、ニューラルネットワークアーキテクチャは、1つの特徴抽出層(即ち、畳み込み層Conv 0)を有し、該特徴抽出層は、入力される画像の特徴を抽出するために用いられる。また、ニューラルネットワークアーキテクチャは、直列アレンジされるN個のブロックユニット(ブロックユニット1、…、ブロックユニットN)及びN個の特徴統合層(即ち、畳み込み層Conv 1、…、Conv N)を有し、そのうち、各ブロックユニットの後に1つの特徴統合層が設けられ、Nは、1以上の整数である。
【0044】
各ブロックユニットは、若干個の操作の任意の組み合わせからなるM個の層を含んでも良く、各ブロックユニットは、それに含まれる操作により、画像の特徴に対して変換などの処理を行うために用いられる。そのうち、Mは、処理待ちタスクの複雑度に基づいて予め確定されても良く、Mは、1以上の整数である。本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置100が行う探索(具体的には、制御ユニット104がそのパラメータに基づいて探索空間中のアーキテクチャパラメータに対して行うサンプリング)により、N個のブロックユニットの具体的な構造を確定し、即ち、N個のブロックユニットが具体的にどのような操作を含むかを確定する。探索によりN個のブロックユニットの構造を確定した後に、1つの具体的なニューラルネットワークアーキテクチャ(より具体的には、サンプリングにより得られたサブニューラルネットワークアーキテクチャ)を得ることができる。
【0045】
好ましくは、アーキテクチャパラメータの集合は、3x3畳み込みカーネル(3x3のKernel)、5x5畳み込みカーネル(5x5のKernel)、3x3深さ方向分離可能な畳み込み(3x3のDepthwise Separable Convolution)、5x5深さ方向分離可能な畳み込み(5x5のDepthwise Separable Convolution)、3x3最大プーリング(3x3のMax Pooling)、3x3平均プーリング(3x3のAverage Pooling)、恒等(Identity)残差(Residual)スキップ(Skip(Shortcut) Connection)、恒等残差ノー・スキップ(No Skip Connection)の任意の組み合わせを含む。一例として、上述の3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、恒等残差ノー・スキップの任意の組み合わせは、全て、上述のN個のブロックユニット中の各層に含まれる操作とされても良い。上述のアーキテクチャパラメータの集合は、開集合の認識の問題の解決に、より一層適したものである。
【0046】
アーキテクチャパラメータの集合は、上述の操作に限定されない。一例として、アーキテクチャパラメータの集合は、さらに、1x1畳み込みカーネル、7x7畳み込みカーネル、1x1深さ方向分離可能な畳み込み、7x7深さ方向分離可能な畳み込み、1x1最大プーリング、5x5最大プーリング、1x1平均プーリング、5x5平均プーリングなどの操作を含んでも良い。
【0047】
好ましくは、制御ユニットは、再帰型ニューラルネットワークRNNを含んでも良い。奨励スコア及び、RNNを含む制御ユニットの現在のパラメータに基づいて、RNNを含む制御ユニットの調整後のパラメータを生成しても良い。
【0048】
サンプリングにより得られたサブニューラルネットワークアーキテクチャの数は、該RNNの長さの入力の次元数に関連する。以下、明確にするために、RNNを含む制御ユニット104をRNNに基づく制御ユニット104と称する。
【0049】
図3a~3cは、本開示の実施例においてRNNに基づく制御ユニット104が探索空間中のアーキテクチャパラメータに対してサンプリングを行う一例を示す図である。
【0050】
以下、説明の便宜のため、Sep 5x5で5x5深さ方向分離可能な畳み込みを表し、skipで恒等残差スキップを表し、Conv 1x1で1x1畳み込みカーネルを表し、Conv 5x5で5x5畳み込みカーネルを表し、No skipで恒等残差ノー・スキップを表し、Max poolで最大プーリングを表すとする。
【0051】
図3aから分かるように、RNNに基づく制御ユニット104のパラメータに基づいて、第一ステップのRNNのサンプリングにより得られた操作は、sep 5x5であり、その基本的な構造は、図3bに示すようであり、図3aでは、それを“1”と記す。
【0052】
図3aから分かるように、RNNの第一ステップのサンプリングにより得られた値及びRNNの第二ステップのサンプリングのパラメータに基づいて、第二ステップの操作がskipであると確定することができ、その基本的な構造は、図3cに示すようであり、図3aでは、それを“2”と記す。
【0053】
続いて、図3aのRNNの第三ステップの操作がConv 5x5であると確定し、そのうち、Conv 5x5の入力は、図3a中の“1”及び“2”の結合である(図3aでは、小円(circle)の中の“1,2”で示される)。
【0054】
図3aにおけるRNNのサンプリングの第四ステップの操作は、no skipであり、操作が要らない。
【0055】
図3aにおけるRNNのサンプリングの第五ステップの操作は、max poolであり、図3a では、“4”と記すべきである(図3aでは、省略されている)。
【0056】
図3aに示すようなRNNに基づく制御ユニット104が探索空間中のアーキテクチャパラメータに対して行うサンプリングにより、図4に示すようなブロックユニットの具体的な構造を得ることができる。図4は、本開示の実施例におけるブロックユニットの構造の一例を示す図である。図4に示すように、ブロックユニットには、操作Conv 1x1、Sep 5x5、Conv 5x5、及びMax poolが含まれる。
【0057】
得られたブロックユニットの具体的な構造を図2に示すニューラルネットワークアーキテクチャ中のブロックユニットに入れると、1つのサブニューラルネットワークアーキテクチャを生成することができ、即ち、本開示の実施例におけるニューラルネットワークアーキテクチャの1つの具体的な構造(より具体的には、サンプリングにより得られたサブニューラルネットワークアーキテクチャ)を取得することができる。各ブロックユニットの構造は、異なっても良い。一例として、N個のブロックユニットの構造が同じであるとすれば、図4に示すようなブロックユニットの具体的な構造を図2に示すニューラルネットワークアーキテクチャ中の各ブロックユニットに入れることで、1つのサブニューラルネットワークアーキテクチャを生成することができる。
【0058】
好ましくは、反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、開集合の認識のために用いられる。一例として、反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、例えば、顔画像認識、オブジェクト認識などの開集合の認識に用いることができる。
【0059】
また、上述のニューラルネットワークアーキテクチャ探索装置の実施例に対応して、本開示は、さらに、以下のようなニューラルネットワークアーキテクチャ探索方法の実施例を提供する。
【0060】
図5は、本開示の実施例におけるニューラルネットワークアーキテクチャ探索方法500の一例のフローチャートである。
【0061】
図5に示すように、本開示の実施例におけるニューラルネットワークアーキテクチャ探索方法500は、ニューラルネットワークアーキテクチャの探索空間限定ステップS502、制御ステップS504、訓練ステップS506、奨励スコア計算ステップS508、及び調整ステップS510を含む。
【0062】
ニューラルネットワークアーキテクチャの探索空間限定ステップS502では、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定する。
【0063】
ニューラルネットワークアーキテクチャは、該ニューラルネットワークを記述するためのアーキテクチャパラメータで表すことができる。一例として、経験に基づいてニューラルネットワークアーキテクチャのアーキテクチャパラメータの全体集合を限定することができる。また、リアルな顔認識データベース、オブジェクト認識データベースなどに基づいて、ニューラルネットワークアーキテクチャのアーキテクチャパラメータの全体集合を限定しても良い。
【0064】
制御ステップS504では、制御ユニットのパラメータに基づいて、探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成する。そのうち、サンプリングにより得られたサブネットワークアーキテクチャの数が、実際の状況に応じて予め設定されても良い。
【0065】
訓練ステップS506では、訓練集合中の全てのサンプルを用いて、少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、クラス間損失及び中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行う。
【0066】
一例として、サンプルの特徴は、サンプルの特徴ベクトルであっても良い。
【0067】
クラス間損失及び中心損失の計算に関する具体例に関しては、上述の装置の実施例中の対応する部分、例えば、訓練ユニット106についての説明を参照することができるため、ここでは、その詳しい説明を省略する。
【0068】
訓練ステップS506では、クラス間損失及び中心損失の両方に基づいて、各サブニューラルネットワークアーキテクチャに対して訓練を行うため、異なるクラスに属するサンプルの特徴を更に分離すると同時に、同一クラスに属するサンプルの特徴を更に寄せ集めることができる。このように、開集合の認識の問題において、テスト待ち画像が既知のクラスに属するかそれとも未知のクラスに属するかをより容易に判断することができる。
【0069】
奨励スコア計算ステップS508では、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度、及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの分類精度及び特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算する。
【0070】
好ましくは、特徴分布スコアは、同一クラスに属するサンプルの特徴間の集合度を表す中心損失に基づいて計算されるものであり、また、分類精度は、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失に基づいて計算されるものである。
【0071】
分類精度、特徴分布スコア、及び奨励スコアの計算の具体例に関しては、上述の装置の実施例中の対応する部分、例えば、奨励スコア計算ユニット108についての説明を参照することができるため、ここでは、その詳しい説明を省略する。
【0072】
奨励スコア計算ステップS508では、分類精度及び特徴分布スコアの両方に基づいて奨励スコアを計算するため、奨励スコアは、分類精度を表すことができるだけでなく、同一クラスに属するサンプルの特徴間のコンパクトさを表すこともできる。
【0073】
調整ステップS510では、奨励スコアを制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの奨励スコアがより大きくなる方向に向けて制御ユニットのパラメータを調整する。
【0074】
前記少なくとも1つのサブニューラルネットワークアーキテクチャの奨励スコアがより大きくなる方向に向けて制御ユニットのパラメータを調整する具体例に関しては、上述の装置の実施例中の対応する部分、例えば、調整ユニット110についての説明を参照することができるから、ここでは、その説明を省略する。
【0075】
上述のように、奨励スコアは、分類精度を表すことができるのみならず、同一クラスに属するサンプルの特徴間のコンパクトさを表すこともできる。調整ステップS510では、上述の奨励スコアに基づいて制御ユニットのパラメータを調整することで、制御ユニットは、その調整後のパラメータに基づいて、奨励スコアをより大きくし得るサブニューラルネットワークアーキテクチャをサンプリングにより得ることができるので、開集合の認識の問題において、該開集合に、より一層適したニューラルネットワークアーキテクチャを探索することができる。
【0076】
本開示の実施例におけるニューラルネットワークアーキテクチャ探索方法500では、制御ステップS504、訓練ステップS506、奨励スコア計算ステップS508、及び調整ステップS510中の処理を、所定の反復終了条件を満たすまで反復して行う。
【0077】
反復処理の具体例に関しては、上述の装置の実施例中の対応する部分の説明を参照することができるため、ここでは、その詳しい説明を省略する。
【0078】
以上のことから、本開示の実施例におけるニューラルネットワークアーキテクチャ探索方法500では、制御ステップS504、訓練ステップS506、奨励スコア計算ステップS508、及び調整ステップS510の処理を反復して実行し、ある実際の開集合の認識の問題において、既に存在している一部の教師データ(訓練集合中のサンプル及び検証集合のサンプル)を用いて、該開集合に適した1つのニューラルネットワークアーキテクチャを自動探索することができ、これにより、開集合の認識の問題のために、より強い汎用性のニューラルネットワークアーキテクチャを容易且つ有効に構築することができる。
【0079】
好ましくは、開集合の認識の問題をより良く解決し、該開集合にさらに適したニューラルネットワークアーキテクチャを自動探索し得るために、ニューラルネットワークアーキテクチャの探索空間限定ステップS502では、開集合の認識について探索空間を限定する。
【0080】
好ましくは、ニューラルネットワークアーキテクチャの探索空間限定ステップS502では、ニューラルネットワークアーキテクチャが、直列アレンジされる所定数量の、サンプルの特徴の変換のためのブロックユニット及び前記所定数量の、サンプルの特徴の統合のための特徴統合層を含むように限定し、そのうち、各ブロックユニットの後に1つの前記特徴統合層が設けられ、且つニューラルネットワークアーキテクチャの探索空間限定ステップS502では、予め、前記所定数量の特徴統合層中の各特徴統合層の構造を限定し、また、制御ステップS504では、制御ユニットのパラメータに基づいて、探索空間中のアーキテクチャパラメータに対してサンプリングを行い、前記所定数量のブロックユニット中の各ブロックユニットを生成することで、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャを生成する。
【0081】
一例として、リアルな顔認識データベース、オブジェクト認識データベースなどに基づいてニューラルネットワークアーキテクチャを限定しても良い。
【0082】
ブロックユニット及びニューラルネットワークアーキテクチャの具体例に関しては、上述の装置の実施例中の対応する部分、例えば、図2及び図3a~3cの説明を参照することができるため、ここでは、その詳しい説明を省略する。
【0083】
好ましくは、アーキテクチャパラメータの集合は、3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、恒等残差ノー・スキップの任意の組み合わせを含んでも良い。一例として、上述の3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、恒等残差ノー・スキップの任意の組み合わせは、全て、ブロックユニット中の各層に含まれる操作とされても良い。
【0084】
アーキテクチャパラメータの集合は、上述の操作に限定されない。一例として、アーキテクチャパラメータの集合は、さらに、1x1畳み込みカーネル、7x7畳み込みカーネル、1x1深さ方向分離可能な畳み込み、7x7深さ方向分離可能な畳み込み、1x1最大プーリング、5x5最大プーリング、1x1平均プーリング、5x5平均プーリングなどを含んでも良い。
【0085】
好ましくは、反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、開集合の認識に用いられる。一例として、反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、例えば、顔画像認識、オブジェクト認識などの開集合の認識に用いることができる。
【0086】
なお、以上、本開示の実施例におけるニューラルネットワークアーキテクチャ探索装置の機能配置について説明したが、これは、例示に過ぎず、当業者は、本開示の原理に基づいて上述の実施例に対して変更・変形を行っても良い。例えば、各実施例中の機能ブロックに対して追加、削除又は組み合わせを行っても良いが、これらは、全て、本開示の範囲に属する。
【0087】
また、ここでの方法の実施例は、上述の装置の実施例に対応するため、方法の実施例で詳しく説明されない内容は、装置の実施例中の対応する部分の記載を参照することができ、ここでは、その詳しい記載を割愛する。
【0088】
また、本開示は、さらに、記憶媒体及びプログラムプロダクトを提供する。本開示の実施例における記憶媒体及びプログラムプロダクト中のマシン実行可能な指令は、上述のニューラルネットワークアーキテクチャ探索方法を実行するように構成されても良い。よって、ここで詳細に説明されない内容は、上述の対応する部分の記載を参照することができ、ここでは、その重複記載を省略する。
【0089】
さらに、本開示の目的は、次のような方式で実現されても良く、即ち、上述の実行可能なプログラムコードを含む記憶媒体を直接又は間接的にシステム又は機器に提供し、該システム又は機器中のコンピュータ又は中央処理ユニット(CPU)は、上述のプログラムコードを読み取って実行することである。このときに、該システム又は機器はプログラムを実行し得る機能を有すれば良い。なお、本開示の実施方式は、プログラムに限定されず、また、該プログラムは、任意の形式のものであっても良く、例えば、オブジェクトプログラム、インタプリタ実行のプログラム、又は、オペレーティングシステムに提供するスクリプトプログラムなどであっても良い。
【0090】
これらのマシン可読記憶媒体は、各種の記憶デバイス、記憶ユニット、半導体記憶装置、ディスクユニット、例えば、光、磁気、及び光磁気ディスク、並びに、記憶情報を記憶し得る他の媒体などを含んでも良いが、これに限定されない。
【0091】
また、コンピュータがインターネット上のウェブサイトにアクセスし、本開示によるコンピュータプログラムコードをダウンロードしてインストールし、その後、該プログラムを実行することにより、本開示による技術案を実現することもできる。
【0092】
なお、上述の一連の処理は、ソフトウェア及び/又はファームウェアにより実現されても良い。ソフトウェア及び/又はファームウェアにより実現される場合、記憶媒体又はネットワークから、専用ハードウェアを有するコンピュータ、例えば、図6に示す汎用コンピュータ600に、該ソフトウェアを構成するプログラムをインストールし、該コンピュータは、各種のプログラムがインストールされているときに、各種の機能を実行することができる。
【0093】
図6は、本開示の実施例における装置及び方法を実現し得る汎用コンピュータの構成図である。
【0094】
図6では、中央処理装置(CPU)601は、ROM 602に記憶されているプログラム又は記憶部608からRAM 603にロードされているプログラムに基づいて各種の処理を行う。RAM 603では、さらに、CPU 601が各種の処理などを実行するときに必要なデータを記憶しても良い。CPU 601、ROM 602、及びRAM 603は、バス604により互いに接続される。入力/出力インターフェース605もバス604に接続される。
【0095】
また、次のような部品は、入力/出力インターフェース605に接続され、即ち、入力部606(キーボード、マウスなどを含む)、出力部607(表示器、例えば、CRT、LCDなど、及びスピーカーなどを含む)、記憶部608(ハードディスクなどを含む)、及び通信部609(ネットワーク・インターフェース・カード、例えば、LANカード、モデムなどを含む)というような部品である。通信部609は、ネットワーク、例えば、インターネットを経由して通信処理を行う。なお、必要に応じて、ドライブ610を入力/出力インターフェース605に接続させても良い。取り外し可能な媒体611、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体記憶器などは、必要に応じて、ドライブ610にセットされ、その中から読み出されたコンピュータプログラムが必要に応じて記憶部608にインスタールされるようにさせることができる。
【0096】
また、本開示は、さらに、マシン可読指令コードを含むプログラムプロダクトを提供する。このような指令コードは、マシンにより読み取られて実行されるときに、上述の本開示の実施形態における方法を実行することができる。それ相応に、このようなプログラムプロダクトをキャリー(carry)する、例えば、磁気ディスク(フロッピーディスク(登録商標)を含む)、光ディスク(CD-ROM及びDVDを含む)、光磁気ディスク(MD(登録商標)を含む)、及び半導体記憶器などの各種記憶媒体も、本開示に含まれる。
【0097】
上述の記憶媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体記憶器などを含んでも良いが、これらに限定されない。
【0098】
また、本開示の上述の方法における各操作(処理)は、各種のマシン可読記憶媒体に記憶されているコンピュータ実行可能なプログラムの方式で実現することもできる。
【0099】
また、以上の実施例などに関し、さらに以下のように付記として開示する。
【0100】
(付記1)
ニューラルネットワークアーキテクチャ探索装置であって、
ニューラルネットワークアーキテクチャの探索空間限定ユニットであって、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するためのもの;
制御ユニットであって、前記制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するためのもの;
訓練ユニットであって、訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うためのもの;
奨励スコア計算ユニットであって、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度、及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するためのもの;及び
調整ユニットであって、前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整するためのものを含み、
前記制御ユニット、前記訓練ユニット、前記奨励スコア計算ユニット及び前記調整ユニット中の処理を、所定の反復終了条件を満たすまで反復して行う、装置。
【0101】
(付記2)
付記1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記ニューラルネットワークアーキテクチャの探索空間限定ユニットは、開集合の認識について前記探索空間を限定する、装置。
【0102】
(付記3)
付記2に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記ニューラルネットワークアーキテクチャの探索空間限定ユニットは、前記ニューラルネットワークアーキテクチャが、直列アレンジされる所定数量の、サンプルの特徴の変換のためのブロックユニット及び前記所定数量の、サンプルの特徴の統合のための特徴統合層を含むように限定し、各ブロックユニットの後に1つの前記特徴統合層が設けられ、また、予め、前記所定数量の特徴統合層中の各特徴統合層の構造を限定するように構成され、
前記制御ユニットは、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、前記所定数量のブロックユニット中の各ブロックユニットを形成することで、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャを生成するように構成される、装置。
【0103】
(付記4)
付記1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記特徴分布スコアは、同一クラスに属するサンプルの特徴間の集合度を表す中心損失に基づいて計算され、
前記分類精度は、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失に基づいて計算される、装置。
【0104】
(付記5)
付記1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記アーキテクチャパラメータの集合は、3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、及び恒等残差ノー・スキップの任意の組み合わせを含む、装置。
【0105】
(付記6)
付記1に記載のニューラルネットワークアーキテクチャ探索装置であって、
反復終了時に得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、開集合の認識に用いられる、装置。
【0106】
(付記7)
付記1に記載のニューラルネットワークアーキテクチャ探索装置であって、
前記制御ユニットは、再帰型ニューラルネットワークを含む、装置。
【0107】
(付記8)
ニューラルネットワークアーキテクチャ探索方法であって、
ニューラルネットワークアーキテクチャの探索空間限定ステップであって、ニューラルネットワークアーキテクチャを記述するアーキテクチャパラメータの集合としての探索空間を限定するもの;
制御ステップであって、制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、少なくとも1つのサブニューラルネットワークアーキテクチャを生成するもの;
訓練ステップであって、訓練集合中の全てのサンプルを用いて、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャについて、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失及び同一クラスに属するサンプルの特徴間の集合度を表す中心損失を計算し、前記クラス間損失及び前記中心損失を含む損失関数を最小化することで、各サブニューラルネットワークアーキテクチャに対して訓練を行うもの;
奨励スコア計算ステップであって、検証集合中の全てのサンプルを用いて、訓練後の各サブニューラルネットワークアーキテクチャについて、分類精度、及び同一クラスに属するサンプルの特徴間のコンパクトさを表す特徴分布スコアをそれぞれ計算し、且つ各サブニューラルネットワークアーキテクチャの前記分類精度及び前記特徴分布スコアに基づいて、該サブニューラルネットワークアーキテクチャの奨励スコアを計算するもの;及び
調整ステップであって、前記奨励スコアを前記制御ユニットにフィードバックし、前記少なくとも1つのサブニューラルネットワークアーキテクチャの前記奨励スコアがより大きくなる方向に向けて前記制御ユニットの前記パラメータを調整するものを含み、
前記制御ステップ、前記訓練ステップ、前記奨励スコア計算ステップ及び前記調整ステップ中の処理を、所定の反復終了条件を満たすまで反復して行う、方法。
【0108】
(付記9)
付記8に記載のニューラルネットワークアーキテクチャ探索方法であって、
前記ニューラルネットワークアーキテクチャの探索空間限定ステップでは、開集合の認識について前記探索空間を限定する、方法。
【0109】
(付記10)
付記9に記載のニューラルネットワークアーキテクチャ探索方法であって、
前記ニューラルネットワークアーキテクチャの探索空間限定ステップでは、前記ニューラルネットワークアーキテクチャが、直列アレンジされる所定数量の、サンプルの特徴の変換のためのブロックユニット及び前記所定数量の、サンプルの特徴の統合のための特徴統合層を含むように限定し、各ブロックユニットの後に1つの前記特徴統合層が設けられ、また、前記ニューラルネットワークアーキテクチャの探索空間限定ステップでは、予め、前記所定数量の特徴統合層中の各特徴統合層の構造を限定し、
前記制御ステップでは、前記制御ユニットのパラメータに基づいて、前記探索空間中のアーキテクチャパラメータに対してサンプリングを行い、前記所定数量のブロックユニット中の各ブロックユニットを生成することで、前記少なくとも1つのサブニューラルネットワークアーキテクチャのうちの各サブニューラルネットワークアーキテクチャを生成する、方法。
【0110】
(付記11)
付記8に記載のニューラルネットワークアーキテクチャ探索方法であって、
前記特徴分布スコアは、同一クラスに属するサンプルの特徴間の集合度を表す中心損失而計算に基づいて計算され、
前記分類精度は、異なるクラスのサンプルの特徴間の分離度を表すクラス間損失に基づいて計算される、方法。
【0111】
(付記12)
付記8に記載のニューラルネットワークアーキテクチャ探索方法であって、
前記アーキテクチャパラメータの集合は、3x3畳み込みカーネル、5x5畳み込みカーネル、3x3深さ方向分離可能な畳み込み、5x5深さ方向分離可能な畳み込み、3x3最大プーリング、3x3平均プーリング、恒等残差スキップ、恒等残差ノー・スキップの任意の組み合わせを含む、方法。
【0112】
(付記13)
付記8に記載のニューラルネットワークアーキテクチャ探索方法であって、
反復終了時得られた前記少なくとも1つのサブニューラルネットワークアーキテクチャは、開集合の認識に用いられる、方法。
【0113】
(付記14)
プログラムを記憶したコンピュータ可読記憶媒体であって、
前記プログラムは、コンピュータに、付記8に記載の各ステップを実行させる、記憶媒体。
【0114】
以上、本開示の好ましい実施形態を説明したが、本開示はこの実施形態に限定されず、本開示の趣旨を離脱しない限り、本開示に対するあらゆる変更は、本開示の技術的範囲に属する。
図1
図2
図3a
図3b
図3c
図4
図5
図6