(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-09
(54)【発明の名称】マルチ・レベル多目的自動機械学習
(51)【国際特許分類】
G06N 3/0464 20230101AFI20231226BHJP
【FI】
G06N3/0464
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023538007
(86)(22)【出願日】2021-11-12
(85)【翻訳文提出日】2023-06-21
(86)【国際出願番号】 CN2021130346
(87)【国際公開番号】W WO2022134926
(87)【国際公開日】2022-06-30
(32)【優先日】2020-12-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】シュエ、チャオ
(72)【発明者】
【氏名】ドン、リン
(72)【発明者】
【氏名】シア、シー
(72)【発明者】
【氏名】ワン、ジーフー
(57)【要約】
マルチ・レベル目的が、多目的自動機械学習の効率を改善する。下位レベル目的の評価に基づくサーチ空間を縮小させるために、ハイパーバンド・フレームワークがカーネル密度推定量を用いて確立される。ガウス・プライア仮定が、主要目的を見つけるためにサーチ空間を直接的に縮小させる。
【特許請求の範囲】
【請求項1】
畳み込みニューラルネットワーク(CNN)をデザインするための方法であって、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
を含む、方法。
【請求項2】
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
をさらに含む、請求項1に記載の方法。
【請求項3】
各候補CNNモデルのパレート最適解を決定すること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項1に記載の方法。
【請求項5】
モバイル・デバイスによって前記候補CNNモデルを導入すること
をさらに含む、請求項1に記載の方法。
【請求項6】
コンピュータ・プログラム製品であって、プロセッサによって実行されると、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
によって畳み込みニューラルネットワーク(CNN)を前記プロセッサにデザインさせる命令のセットを格納したコンピュータ可読ストレージ媒体を備える、コンピュータ・プログラム製品。
【請求項7】
前記命令のセットが、前記プロセッサによって実行されると、
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
によって畳み込みニューラルネットワーク(CNN)を前記プロセッサにさらにデザインさせる、請求項6に記載のコンピュータ・プログラム製品。
【請求項8】
前記命令のセットが、前記プロセッサによって実行されると、
各候補CNNモデルのパレート最適解を決定すること
によって畳み込みニューラルネットワーク(CNN)を前記プロセッサにさらにデザインさせる、請求項6に記載のコンピュータ・プログラム製品。
【請求項9】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項6に記載のコンピュータ・プログラム製品。
【請求項10】
前記命令のセットが、前記プロセッサによって実行されると、
モバイル・デバイスによって前記候補CNNモデルを導入すること
によって畳み込みニューラルネットワーク(CNN)を前記プロセッサにさらにデザインさせる、請求項6に記載のコンピュータ・プログラム製品。
【請求項11】
畳み込みニューラルネットワーク(CNN)をデザインするためのコンピュータ・システムであって、
プロセッサ・セットと、
プログラム命令を格納したコンピュータ可読ストレージ媒体と
を備え、
前記プロセッサ・セットが、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
による方法を前記プロセッサ・セットに実施させる前記プログラム命令を実行する、コンピュータ・システム。
【請求項12】
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11に記載のコンピュータ・システム。
【請求項13】
各候補CNNモデルのパレート最適解を決定すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11に記載のコンピュータ・システム。
【請求項14】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項11に記載のコンピュータ・システム。
【請求項15】
モバイル・デバイスによって前記候補CNNモデルを導入すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、機械学習の分野に関し、より詳細には、ニューラル・インフォメーション・プロセッシング・システムに関する。
【背景技術】
【0002】
機械学習は、経験を通じて自動的に改善するコンピュータ・アルゴリズムの研究に焦点を合わせた拡張知能のサブセットである。機械学習で使用されるコンピュータ・アルゴリズムは、そうするように明示的にプログラムされることなく、予測または判定あるいはその両方を行うために、「訓練データ」として知られるサンプル・データに基づく数学モデルを構築する。
【0003】
ニューラル・アーキテクチャ・サーチ(NAS:neural architecture search)は、(i)画像およびビデオ認識、(ii)推奨システム、(iii)画像分類、(iv)医療画像分析、(v)自然言語処理、または(vi)金融時系列、あるいはその組合せを含む特定の用途に適するようにニューラル・ネットワーク・アーキテクチャを組み立てるために開発されたアルゴリズムである。典型的には、NASアルゴリズムは、「ビルディング・ブロック」のセットを定義することから始め、「ビルディング・ブロック」のセットは、次いで、コントローラ回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)によってサンプリングされ、カスタマイズされたニューラル・アーキテクチャに組み立てられる。カスタマイズされたアーキテクチャは、訓練検証データセットの指定の正確度を取得するために収束へと訓練される。完了すると、RNNは、別のカスタマイズされたニューラル・アーキテクチャを生成するときのRNNによる使用のために、結果として生じた正確度でアップデートされる。
【0004】
自動機械学習は、機械学習を実世界の問題に適用するプロセスを自動化するプロセスである。プロセスは、未加工データセットから導入可能な機械学習モデルへの機械学習を考える。開発者が利用可能な高度な自動化は、機械学習モデルおよび技法を非専門家が使用することを可能にする。自動機械学習の市販の例は、AutoMLおよびAutoKerasである。(注:「AUTOML」および「AUTOKERAS」という用語は、世界中の様々な管轄区域における商標権に従っている場合があり、このような商標権が存在し得る限り、標識で適切に表示された製品またはサービスに関してのみ、ここで使用される。)
【0005】
確率論および統計学によれば、ガウス過程は、時間または空間によってインデックスを付けられたランダム変数のコレクションである。ランダム変数のあらゆる有限コレクションは、多変量正規分布を有する。これは、変数のあらゆる有限線形結合が正規分布されることを仮定する。ガウス過程の分布は、すべてのランダム変数の接合分布である。本質的に、ガウス過程の分布は、時間および空間などの連続ドメインを有する関数上の分布である。
【0006】
ガウス過程を伴う機械学習アルゴリズムは、典型的には、ポイント間の類似性の測定とともに緩慢学習を使用して、訓練データから見えないポイントの値を予測する。予測は、見えないポイントの推定であるだけでなく、不確実性情報も含むので、1次元ガウス分布である。多出力予測のために、多変量ガウス分布が各ポイントにおける周辺分布である、多変量ガウス過程が使用される。
【0007】
ガウス過程はまた、正規分布から継承されたプロパティから利益を得る、統計モデリングにおいて使用される。ランダム過程がガウス過程としてモデル化された場合、様々な導出された量の分布は、明示的に取得されることが可能である。取得された量は、(i)時間の範囲にわたる過程の平均値、および(ii)時間の小さいセットにおけるサンプル値を使用して平均を推定する際の誤差を含むことができる。計算時間を劇的に低減させながら良い正確度を保持する近似方法が開発されてきた。
【0008】
パレート効率は、少なくとも1つの優先尺度を悪化させることなく、優先尺度をより良くすることができない状況を伴う。所与のシステムに対して、パレート・フロンティア(パレート・セットおよびパレート・フロントとしても知られる)は、すべてがパレート効率的な(Pareto efficient)パラメータ化または配分のセットである。パレート・フロントが潜在的最適解のすべてを生ずることによって、設計者は、パラメータの全範囲を考えるのではなく、パレート・フロントで表されたパラメータの制限セット内で焦点を合わせたトレードオフを行うことができる。
【発明の概要】
【0009】
本発明の1つの態様では、方法、コンピュータ・プログラム製品、およびシステムは、(i)CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、(ii)ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための上位レベル目的と下位レベル目的のセットとのハイパーパラメータ構成を決定することと、(iii)NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、(iv)訓練データセットを使用して候補CNNモデルのセットを訓練することと、(v)上位レベル目的と下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、(vi)最大パレート最適解を有する候補CNNモデルを選択することと、(vii)検証データセットの収束へと候補CNNモデルを訓練することとを含む。
【0010】
本発明の別の態様は、第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用することを含む。
【0011】
本発明の別の態様は、各候補CNNモデルのパレート最適解を決定することを含む。
【0012】
本発明の別の態様は、モバイル・デバイスによって候補CNNモデルを導入することを含む。
【0013】
本発明の別の態様は、条件付き確率密度分布を推定するために、Parzenカーネル密度推定量を使用して密度を計算することを含む。
【図面の簡単な説明】
【0014】
【
図1】本発明によるシステムの第1の実施形態の概略図である。
【
図2】第1の実施形態システムによって少なくとも部分的に実施される方法を示す流れ図である。
【
図3】第1の実施形態システムの機械ロジック(例えば、ソフトウェア)部分の概略図である。
【
図4】本発明によるシステムの第2の実施形態のブロック図である。
【発明を実施するための形態】
【0015】
マルチ・レベル目的は、多目的自動機械学習の効率を改善する。ハイパーバンド・フレームワークは、下位レベル目的の評価に基づいてサーチ空間を縮小させるためにカーネル密度推定量で確立される。ガウス・プライア仮定(Gaussian prior assumption)は、主要目的を見つけるためにサーチ空間を直接的に縮小させる。
【0016】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0017】
コンピュータ可読ストレージ媒体は、命令実行デバイスで使用するための命令を保持し、記憶できる有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック(登録商標)、フロッピー(登録商標)・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、本質的に、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの、一過性の信号であると解釈されるべきではない。
【0018】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといった、ネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてもよい。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれの計算/処理デバイス内のコンピュータ可読ストレージ媒体への格納のためにコンピュータ可読プログラム命令を転送する。
【0019】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(登録商標)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語、もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータおよび部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で、実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態では、例えば、プログラム可能論理回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行することができる。
【0020】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行できることが理解されよう。
【0021】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または機械を生み出すための他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、命令を格納したコンピュータ可読ストレージ媒体が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、特定の様式で機能するようにコンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに指図することができる。
【0022】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行処理を生み出すためにコンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップが実施されるように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0023】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、流れ図またはブロック図の各ブロックは、命令のモジュール、セグメント、または部分を表すことができ、命令は、指定の論理機能を実行するための1つまたは複数の実行可能命令を備える。いくつかの代替実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、または、ブロックは、時には、含まれる機能に応じて逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方のブロックの組合せは、指定の機能または行為を実施する特殊用途のハードウェアベースのシステムによって実行されること、または、特殊用途のハードウェアとコンピュータ命令との組合せを実行することが可能であることも指摘される。
【0024】
本発明は、図を参照しながら、これから詳細に説明される。
図1は、ニューラル・アーキテクチャ・サーチ(NAS)サブシステム102、クライアント・サブシステム104、106、108、110、112、通信ネットワーク114、NASコンピュータ200、通信ユニット202、プロセッサ・セット204、入出力(I/O)インターフェース・セット206、メモリ・デバイス208、永続ストレージ・デバイス210、ディスプレイ・デバイス212、外部デバイス・セット214、ランダム・アクセス・メモリ(RAM)デバイス230、キャッシュ・メモリ・デバイス232、マルチ・レベル目的プログラム300、および訓練/検証データセット・ストア302を含む、本発明の1つの実施形態によるネットワーク化コンピュータ・システム100の様々な部分を示す機能ブロック図である。
【0025】
サブシステム102は、多くの点で、本発明における様々なコンピュータ・サブシステムを表すものである。したがって、サブシステム102のいくつかの部分が、これから、以下の段落で論じられる。
【0026】
サブシステム102は、ラップトップ・コンピュータ、タブレット型コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、パーソナル・デジタル・アシスタント(PDA)、スマート・フォン、または、ネットワーク114を介してクライアント・サブシステムと通信する能力がある任意のプログラム可能な電子デバイスでもよい。プログラム300は、下記で詳細に論じられることになる特定のソフトウェア機能を作成、管理、および制御するために使用される機械可読命令またはデータあるいはその両方の集合体である。
【0027】
サブシステム102は、ネットワーク114を介して他のコンピュータ・サブシステムと通信する能力がある。ネットワーク114は、例えば、ローカル・エリア・ネットワーク(LAN)、インターネットなどのワイド・エリア・ネットワーク(WAN)、または2つの組合せであることが可能であり、有線、ワイヤレス、または光ファイバ接続を含むことができる。一般に、ネットワーク114は、サーバとクライアント・サブシステムとの間の通信をサポートすることになる接続およびプロトコルの任意の組合せであることが可能である。
【0028】
サブシステム102は、多くの両方向矢印を有するブロック図として示されている。(別個の参照番号のない)これらの両方向矢印は、サブシステム102の様々な構成要素間の通信を提供する通信ファブリックを表す。この通信ファブリックは、プロセッサ(マイクロプロセッサ、通信、およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、ならびに、システム内の任意の他のハードウェア構成要素の間のデータまたは制御情報あるいはその両方を伝えるためにデザインされた任意のアーキテクチャで実現されることが可能である。例えば、通信ファブリックは、少なくとも部分的に、1つまたは複数のバスで実現されることが可能である。
【0029】
メモリ208および永続ストレージ210は、コンピュータ可読ストレージ媒体である。一般に、メモリ208は、任意の適切な揮発性または不揮発性のコンピュータ可読ストレージ媒体を含むことができる。現在または近い将来あるいはその両方では、(i)外部デバイス214が、いくつかもしくはすべてのメモリをサブシステム102に供給する能力があり得る、または(ii)サブシステム102の外部のデバイスが、メモリをサブシステム102に提供する能力があり得る、あるいはその両方がさらに指摘される。
【0030】
プログラム300は、通常、メモリ208の1つまたは複数のメモリを通じて、それぞれのコンピュータ・プロセッサ204のうちの1つまたは複数によるアクセスまたは実行あるいはその両方のために、永続ストレージ210に格納される。永続ストレージ210は、(i)通過中の信号より少なくとも永続的である、(ii)有形媒体(磁気または光学ドメインなど)にプログラム(そのソフト・ロジックまたはデータあるいはその両方を含む)を格納する、および、(iii)永久ストレージより実質的に永続的ではない。代替として、データ・ストレージは、永続ストレージ210によって提供されるタイプのストレージより永続的または永久的あるいはその両方でもよい。
【0031】
プログラム300は、機械可読命令と実施可能命令両方、または実在のデータ(すなわち、データベースに格納されるタイプのデータ)、あるいはその両方を含んでもよい。この特定の実施形態では、永続ストレージ210は、磁気ハードディスク・ドライブを含む。いくつかの可能な変形形態を挙げると、永続ストレージ210は、ソリッド・ステート・ハード・ドライブ、半導体ストレージ・デバイス、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、フラッシュ・メモリ、または、プログラム命令もしくはデジタル情報を格納する能力がある任意の他のコンピュータ可読ストレージ媒体を含んでもよい。
【0032】
永続ストレージ210によって使用される媒体はまた、取外し可能でもよい。例えば、取外し可能ハード・ドライブが永続ストレージ210のために使用されてもよい。他の例は、永続ストレージ210の一部でもある別のコンピュータ可読ストレージ媒体に転送するためにドライブに挿入される、光および磁気ディスク、サム・ドライブ、ならびにスマート・カードを含む。
【0033】
通信ユニット202は、これらの例では、サブシステム102の外部の他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット202は、1つまたは複数のネットワーク・インターフェース・カードを含む。通信ユニット202は、物理およびワイヤレス通信リンクのどちらかまたは両方の使用を通じて通信を行うことができる。本明細書で論じられる任意のソフトウェア・モジュールは、通信ユニット(通信ユニット202など)を通じて、永続ストレージ・デバイス(永続ストレージ・デバイス210など)にダウンロードされてもよい。
【0034】
I/Oインターフェース・セット206は、コンピュータ200とデータ通信時にローカルに接続され得る他のデバイスとのデータの入力および出力を可能にする。例えば、I/Oインターフェース・セット206は、外部デバイス・セット214への接続を提供する。外部デバイス・セット214は、典型的には、キーボード、キーパッド、タッチ・スクリーン、または他のいくつかの適切な入力デバイス、あるいはその組合せなどのデバイスを含むことになる。外部デバイス・セット214はまた、例えば、サム・ドライブ、ポータブル光または磁気ディスク、およびメモリ・カードなどの、ポータブル・コンピュータ可読ストレージ媒体を含むことができる。例えばプログラム300といった、本発明の実施形態を実践するために使用されるソフトウェアおよびデータは、このようなポータブル・コンピュータ可読ストレージ媒体に格納されることが可能である。これらの実施形態では、関連ソフトウェアは、I/Oインターフェース・セット206を介して永続ストレージ・デバイス210に、全体的または部分的にロードされてもよい(またはされなくてもよい)。I/Oインターフェース・セット206はまた、ディスプレイ・デバイス212とデータ通信時に接続する。
【0035】
ディスプレイ・デバイス212は、データをユーザに表示するためのメカニズムを提供し、例えば、コンピュータ・モニタまたはスマート・フォンのディスプレイ・スクリーンでもよい。
【0036】
本明細書で説明されるプログラムは、これらが本発明の固有の実施形態において実施されるアプリケーションに基づいて識別される。それでも、本明細書の任意の特定のプログラム専門語は、便宜上使用されるにすぎず、したがって、本発明は、このような専門語によって識別または示唆あるいはその両方が行われる任意の固有のアプリケーションにおいて単に使用することに限定されるべきではないことを理解されたい。
【0037】
特に、正確度だけでなく、サイズおよびスピードが重大なモバイル・デバイスのために、マルチ・レベル目的プログラム300は、畳み込みニューラルネットワーク(CNN:convolutional neural network)モデルをデザインするように動作する。ニューラル・アーキテクチャ・サーチ(NAS)は、様々な条件または制限あるいはその両方に関するハイパーパラメータに基づいて、マルチ・レベル階層における複数の目的によって定義された特定の問題に合うようにCNNモデルを構築するために実施される。条件付き確率密度分布は、下位レベル目的の評価に基づいてサーチ空間を直接的に縮小させるためにガウス・プライア仮定と組み合わされたランダム生成技法を用いて、ハイパーバンド・フレームワーク内で推定される。
【0038】
モデル・ハイパーパラメータが単にパラメータと呼ばれることが多いCNNモデルのためのNASアルゴリズム・サーチは、訓練、検証、およびテスト・フェーズにおいて使用される。ハイパーパラメータは、手動でセットされ、調整されなければならない機械学習の部品である。グリッド・アーキテクチャ・サーチまたはランダム・アーキテクチャ・サーチを使用するときなど、機械学習アルゴリズムが固有の問題に対して調整されるとき、ハイパーパラメータは、どのハイパーパラメータが最も卓越した予測になるかを発見するように調整される。ハイパーパラメータ最適化は、ニューラル・アーキテクチャ・サーチにとって演算的に非常に高価である。ハイパーバンド調整は、ランダム・サーチ調整に依存する。(注:「ハイパーバンド」という用語は、世界中の様々な管轄区域における商標権に従っている場合があり、このような商標権が存在し得る限り、標識で適切に表示された製品またはサービスに関してのみ、ここで使用される。)
【0039】
NASで使用されるサーチ戦略または調整戦略は、(i)遺伝的アルゴリズム、(ii)グリッド・サーチ、(iii)ランダム・サーチ、(iv)ベイジアン最適化、(v)強化学習、(vi)DARTS、(vii)パレート指向方法、(viii)差動法、(ix)ハイパーバンド、(x)木構造型パレート推定量(TPE)、(xi)連続モデルベースの最適化(SMAC)、および(xii)ネットワーク形態を含む。
【0040】
本発明のいくつかの実施形態は、現況技術に対する改善のために、以下の事実、潜在的問題、または潜在的エリア、あるいはその組合せを認識している。(i)適切なニューラル・ネットワーク・アーキテクチャを選ぶこと、およびパラメータの良いセットを識別することが非常に重大であり、専門家の経験および人間の労働を必要とする、(ii)サーチ空間探索のエリアで行われている作業がほとんどない、(iii)モバイル・デバイス用の畳み込みニューラルネットワーク(CNN)モデルは、小型かつ高速であること、さらに正確であることが必要である、(iv)小型CNNモデルは、小さいモデル・サイズを有するものである、(v)高速CNNモデルは、短い推察レイテンシで達成される、(vi)正確なCNNモデルは、良いモデル性能で達成される、または(vii)多目的自動機械学習を扱うNAS方法がない、あるいはその組合せ。
【0041】
以下の等式は、複数のパレート最適解を提供し、ここで、x1およびx2は、最適化された解である。
【数1】
【0042】
条件付き確率密度分布を決定するために上記の等式を適用すると、以下の等式になる。
【数2】
【0043】
密度
【数3】
は、
図4のKDE404などの、密度推定量によって計算されることが可能である。したがって、以下の等式が生成される。
【数4】
【0044】
本発明のいくつかの実施形態によれば、時には他の目的のいくつかの制限を追加することが、主要目的に達するのを改善することになる。これは、ガウス・プライア仮定でサーチ空間を縮小させた後、信頼できる主要目的を見つける見込みが大きくなるので、可能である。
【0045】
図2は、本発明による第1の方法を描写する流れ
図250を示す。
図3は、流れ
図250の方法ステップのうちの少なくともいくつかを実施するためのプログラム300を示す。この方法および関連付けられたソフトウェアは、(方法ステップ・ブロックについて)
図2、および(ソフトウェア・ブロックについて)
図3を大規模に参照しながら、以下の段落にわたって、これから論じられる。
【0046】
処理は、ステップS255で始まり、ここでは、目的モジュール(「mod」)355が、畳み込みニューラルネットワーク(CNN)を使用するときの、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定する。所与のマルチ・レベル問題に対して、上位レベル目的は、1つまたは複数の下位レベル目的とともに決定される。この例では、2目的問題があり、この場合、上位レベル目的内に下位レベル目的がネストされるか、または埋め込まれる。代替として、対処されている問題は、2レベル問題であり、この場合、上位レベル目的は、下位レベル目的のセットを考慮して最適化されることになる主要な目的である。各目的に対して、ターゲット状態について解かれることになる少なくとも1つの変数がある。
【0047】
処理は、ステップS260に進み、ここでは、変数mod360が、上位および下位目的のためのハイパーパラメータ構成を確立する。例では、ハイパーパラメータ構成は、サーチ空間を直接的に縮小させるために、ガウス・プライア仮定によって決定される。代替として、進化アルゴリズムがハイパーパラメータを決定する。ハイパーパラメータ構成は、実施することになるハイパーバンド・フレームワークによって使用するために開発される。サーチ空間は、上位レベル目的の最善値に達するように、他の下位レベル目的の評価に基づいて縮小する。本発明のいくつかの実施形態は、ネットワーク機能を保存するように、ネットワーク形態を介してサーチ空間を縮小させる。
【0048】
処理は、ステップS265に進み、ここでは、制限mod365が、追加の制限を下位レベル目的に適用する。追加されることになる制限は、確率密度分布によって解釈されてもよい。下位レベル制限は、サーチ空間を直接的に縮小させるために評価されてもよく、これは、多目的ニューラル・アーキテクチャ・サーチのコンテキストをより良くサポートする。
【0049】
処理は、ステップS270に進み、ここでは、密度mod370が、ニューラル・アーキテクチャ・サーチ(NAS)のために、上位レベルおよび下位レベル目的の解の値の条件付き確率密度分布を推定する。上記に列挙された等式に記載されたように、条件付き確率密度分布を推定するための密度を近似するために、Parzenカーネル密度推定量(KDE)が採用される。各目的は、ハイパーパラメータがセットされる少なくとも1つの変数を有する。この例では、パレート・フロンティア全体を近似する代わりに、サーチ空間を縮小させるためのガウス・プライアに基づく目的のためのハイパーパラメータ構成によって、子畳み込みニューラルネットワーク(CNN)モデルが生成される。代替として、子モデルは、進化アルゴリズムを使用して生成される。
【0050】
子CNNモデルは、訓練データセットを使用して訓練される。訓練中の動作が記録される。解の値の条件付き確率密度分布に従って、特定の子CNNモデルが、候補CNNモデルとして、さらに処理される。
【0051】
処理は、ステップS275に進み、ここでは、子モデルmod375が、子CNNモデルのセットを選択する。子CNNモデルは、NASプロセスを介して生成され、訓練データセットを介して訓練された。選択された子CNNモデルは、個々の動作に応じた検証テストのために投入されてもよい。選択された子モデルは、NASで見つけた先頭k個のモデルの中にある。選択された子CNNモデルは、候補CNNモデルとして識別される。
【0052】
処理は、ステップS280に進み、ここでは、パレート最適mod380が、各候補CNNモデルのパレート最適解を決定する。各候補CNNモデルのために、パレート最適解を決定するために訓練データセットが導入される。最大パレート最適解は、検証およびテストされることになる1つまたは複数の候補CNNモデルの選択の基礎である。
【0053】
処理は、ステップS285に進み、ここでは、CNNモデルmod385が、最大パレート最適値を有するCNNモデルを選択する。最大パレート最適値が識別され、対応する候補CNNモデルが選択される。代替として、パレート最適解に基づいて2つのCNNモデルが選択される。
【0054】
処理は、ステップS290で終わり、ここでは、検証mod390が、検証データセットの収束へと、選択されたCNNモデルを訓練する。検証データセットは、検証時の使用のために訓練データセットを使わずに取っておかれる。この検証ステップは、いくつかの実施形態では、ガウス・プライア仮定に基づく、モデル・ハイパーパラメータの調整をサポートする。さらに、本発明のいくつかの実施形態は、テストのために、追加の取っておいたデータセットを使用してテストを実施する。
【0055】
図4を参照しながら、および以下の段落で、本発明のさらなる実施形態が論じられる。
【0056】
図4は、本発明のいくつかの実施形態による、ハイパーバンド・フレームワーク400を示す。ハイパーバンド・フレームワークは、Parzenカーネル密度推定量(KDE)404を使用して密度
【数5】
を計算する。最適化解x1は、コントローラ回帰型ニューラルネットワーク(RNN)406に導入される。畳み込みニューラルネットワーク(CNN)モデルのランダム生成は、さらなる訓練のために子モデルを選択するための基礎を提供する。本発明のいくつかの実施形態は、上位k個の選択プロセスに基づいて子モデルを識別する。子モデル・モジュール408は、最適化解x2を導入することによってモデルの検証を実施する。最大値モジュール410は、最大パレート最適化値を生み出す子モデルを識別する。識別された子モデルは、指名されたモバイル・デバイス・アプリケーションで使用するためのCNNモデルとして選択される。
【0057】
本発明のいくつかの実施形態は、主要目的が、ほとんどの評価リソースを伴う目的によって選ばれること、他の下位レベル目的の制限を追加することが、主要または上位レベル目的を改善するように動作すること、および、有効なまたは信頼できるあるいはその両方の主要目的を見つけるために、他の目的の評価に基づいてサーチ空間を縮小させることという、評価努力に基づいてマルチ・レベル目的が異なるステップを含む方法を対象とする。
【0058】
本発明のいくつかの実施形態は、良い主要目的を見つけるために他の目的の評価に基づいてサーチ空間を縮小させることによるマルチ・レベル多目的AutoMLを対象とする。さらに、いくつかの実施形態では、マルチ・レベル目的は、評価努力に応じて変更される。
【0059】
本発明のいくつかの実施形態は、低レベル目的を使用して、高レベル目的を推定する。いくつかの実施形態では、推定された低レベル目的は、ガウス・プライア仮定を介して到達される。
【0060】
本発明のいくつかの実施形態は、良い主要目的を見つけるために、ガウス・プライア仮定を使用して、下位レベル目的の評価に基づくサーチ空間に直接的に縮小させる。
【0061】
本発明のいくつかの実施形態は、以下の特徴、特性、または利点、あるいはその組合せのうちの1つまたは複数を含んでもよい。(i)自動機械学習が、実質的な人間の介入のない、最善のモデルのサーチを自動的に可能にする、(ii)マルチ・レベル目的処理を利用して、効率的な多目的ニューラル・アーキテクチャ・サーチ・プロセスを動かす、(iii)マルチ・レベル目的を利用する、または、(iv)多目的ニューラル・アーキテクチャ・サーチ・プロセスをスピード・アップする、あるいはその組合せ。
【0062】
いくつかの有益な定義が以下に続く。
【0063】
本発明:「本発明」という用語で記述される主題が、特許請求の範囲が提出されたときに特許請求の範囲いずれかによって、または、特許審査後に最後に発行し得る特許請求の範囲によってカバーされるという絶対的な指示として受け取られるべきではないが、「本発明」という用語は、「本発明」という用語の使用によって指示されるような、新しいこの理解であるとおそらく信じられている本明細書の開示が、不確定かつ暫定的なものであり、関係情報が開発されたとき、および特許請求の範囲が潜在的に修正されたときの特許審査の間に変更されるという、一般的な感覚を読者が得るのを助けるために使用される。
【0064】
実施形態:上記の「本発明」の定義を参照し、類似の注意が「実施形態」という用語に適用される。
【0065】
および/または:包括的なまたは。例えば、A、B「および/または」Cは、AまたはBまたはCのうちの少なくとも1つが、真であり適用可能であることを意味する。
【0066】
ユーザ/加入者:以下を含むが必ずしもこれらに限定されない。(i)単一の個々の人間、(ii)ユーザもしくは加入者として振る舞うのに十分な知能がある人工知能エンティティ、または(iii)関係のあるユーザもしくは加入者のグループ、あるいはその組合せ。
【0067】
モジュール/サブモジュール:モジュールが、(i)単一の局所的な近接にあるか、(ii)広域にわたって分散されるか、(iii)より大きいソフトウェア・コード内の単一の近接にあるか、(iv)単一のソフトウェア・コード内にあるか、(v)単一のストレージ・デバイス、メモリ、または媒体内にあるか、(vi)機械的に接続されるか、(vii)電気的に接続されるか、または(viii)データ通信で接続されるか、あるいはその組合せであるかに関わらず、いくつかの種類の機能を行うように動作可能なように機能するハードウェア、ファームウェア、またはソフトウェア、あるいはその組合せの任意のセット。
【0068】
コンピュータ:デスクトップ・コンピュータ、メインフレーム・コンピュータ、ラップトップ・コンピュータ、フィールド・プログラマブル・ゲート・アレイ(FPGA)ベースのデバイス、スマート・フォン、パーソナル・デジタル・アシスタント(PDA)、ボディ・マウントまたは挿入型コンピュータ、組込型デバイス・スタイル・コンピュータ、特定用途向け集積回路(ASIC)ベースのデバイスを含むがこれらに限定されない、著しいデータ処理能力または機械可読命令読取り能力あるいはその両方を有する任意のデバイス。
【手続補正書】
【提出日】2023-06-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
畳み込みニューラルネットワーク(CNN)をデザインするための方法であって、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
を含む、方法。
【請求項2】
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
をさらに含む、請求項1に記載の方法。
【請求項3】
各候補CNNモデルのパレート最適解を決定すること
をさらに含む、請求項1
または2に記載の方法。
【請求項4】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項1
~3のいずれか1項に記載の方法。
【請求項5】
モバイル・デバイスによって前記候補CNNモデルを導入すること
をさらに含む、請求項1
~4のいずれか1項に記載の方法。
【請求項6】
畳み込みニューラルネットワーク(CNN)をプロセッサにデザインさせるコンピュータ・プログラ
ムであって、
前記プロセッサに
、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
を実行させる、コンピュータ・プログラ
ム。
【請求項7】
前記プロセッサに、
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
をさらに実行させる、請求項6に記載のコンピュータ・プログラ
ム。
【請求項8】
前記プロセッサに、
各候補CNNモデルのパレート最適解を決定すること
をさらに実行させる、請求項6
または7に記載のコンピュータ・プログラ
ム。
【請求項9】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項6
~8のいずれか1項に記載のコンピュータ・プログラ
ム。
【請求項10】
前記プロセッサに、
モバイル・デバイスによって前記候補CNNモデルを導入すること
をさらに実行させる、請求項6
~9のいずれか1項に記載のコンピュータ・プログラ
ム。
【請求項11】
畳み込みニューラルネットワーク(CNN)をデザインするためのコンピュータ・システムであって、
プロセッサ・セットと、
プログラム命令を格納したコンピュータ可読ストレージ媒体と
を備え、
前記プロセッサ・セットが、
CNNモデルを使用して、最適化された解のための上位レベル目的と下位レベル目的のセットとを決定することと、
ニューラル・アーキテクチャ・サーチ(NAS)を実施するために、ハイパーバンド・フレームワークによる使用のための前記上位レベル目的と前記下位レベル目的のセットとのハイパーパラメータ構成を決定することと、
前記NASを実施しながら、第1のサーチ空間内で候補CNNモデルのセットを見つけることと、
訓練データセットを使用して前記候補CNNモデルのセットを訓練することと、
前記上位レベル目的と前記下位レベル目的のセットとの解の値の条件付き確率密度分布を推定することと、
最大パレート最適解を有する候補CNNモデルを選択することと、
検証データセットの収束へと前記候補CNNモデルを訓練することと
による方法を前記プロセッサ・セットに実施させる前記プログラム命令を実行する、コンピュータ・システム。
【請求項12】
前記第1のサーチ空間を縮小させるために、追加の制限を第1の下位レベル目的に適用すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11に記載のコンピュータ・システム。
【請求項13】
各候補CNNモデルのパレート最適解を決定すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11
または12に記載のコンピュータ・システム。
【請求項14】
前記条件付き確率密度分布を前記推定することが、
Parzenカーネル密度推定量を使用して密度を計算すること
を含む、請求項11
~13のいずれか1項に記載のコンピュータ・システム。
【請求項15】
モバイル・デバイスによって前記候補CNNモデルを導入すること
による方法を前記プロセッサ・セットにさらに実施させる、請求項11
~14のいずれか1項に記載のコンピュータ・システム。
【国際調査報告】