JP7157154B2 - 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索 - Google Patents

性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索 Download PDF

Info

Publication number
JP7157154B2
JP7157154B2 JP2020529555A JP2020529555A JP7157154B2 JP 7157154 B2 JP7157154 B2 JP 7157154B2 JP 2020529555 A JP2020529555 A JP 2020529555A JP 2020529555 A JP2020529555 A JP 2020529555A JP 7157154 B2 JP7157154 B2 JP 7157154B2
Authority
JP
Japan
Prior art keywords
candidate
architecture
neural network
task
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020529555A
Other languages
English (en)
Other versions
JP2021504844A (ja
Inventor
ウェイ・フア
バレット・ゾフ
ジョナサン・シュレンズ
チェンシ・リュウ
ジョナサン・フアン
ジア・リ
フェイ-フェイ・リ
ケヴィン・パトリック・マーフィー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2021504844A publication Critical patent/JP2021504844A/ja
Application granted granted Critical
Publication of JP7157154B2 publication Critical patent/JP7157154B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれている、2017年11月30日に出願した、米国仮特許出願第62/593,213号の非仮出願であり、それに対する優先権を主張するものである。
本明細書は、ニューラルネットワークのためのアーキテクチャを決定することに関する。
ニューラルネットワークは、非線形ユニットの1つまたは複数のレイヤを用いて、受信入力に対する出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力レイヤに加えて、1つまたは複数の隠れレイヤを含む。各隠れレイヤの出力は、ネットワーク内の次のレイヤ、すなわち、次の隠れレイヤまたは出力レイヤに対する入力として使用される。ネットワークの各レイヤは、パラメータのそれぞれのセットの現在の値に従って、受信入力から出力を生成する。
いくつかのニューラルネットワークは、回帰ニューラルネットワークである。回帰ニューラルネットワークは、入力シーケンスを受信し、その入力シーケンスから出力シーケンスを生成するニューラルネットワークである。具体的には、回帰ニューラルネットワークは、現在の時間ステップにおいて出力を計算する際に、前の時間ステップからのネットワークの内部状態のうちのいくつかまたはすべてを使用することができる。回帰ニューラルネットワークの一例は、1つまたは複数の長短期記憶(LSTM:long short-term memory)メモリブロックを含むLSTMニューラルネットワークである。各LSTMメモリブロックは、各々が、セルが、たとえば、現在のアクティブ化をもたらす際に使用するための、またはLSTMニューラルネットワークの他の構成要素に提供されるべき、そのセルに対する前の状態を記憶することを可能にする、入力ゲート、忘却ゲート、および出力ゲートを含む、1つまたは複数のセルを含み得る。
本明細書は、特定の機械学習タスクを実行するように構成されたタスクニューラルネットワークのためのネットワークアーキテクチャを決定する、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて説明する。
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するために、特定の実施形態で実装され得る。本明細書で説明する技法を使用してタスクニューラルネットワークのアーキテクチャを決定することによって、システムは、様々な機械学習タスクのうちのいずれか、たとえば、画像分類または別の画像処理タスクに対する最新性能を達成するかまたはそれをさらに超えるネットワークアーキテクチャを決定し得る。加えて、システムは、既存の技法よりも計算効率がはるかに高く、すなわち、消費する計算リソースが既存の技法よりもはるかに少ない特定の様式でタスクニューラルネットワークのアーキテクチャを決定し(たとえば、タスクニューラルネットワークのアーキテクチャにわたって繰り返される出力セルを決定し)得る。具体的には、多くの既存の技法は、候補アーキテクチャを有するネットワークをトレーニングすることによって、多数の候補アーキテクチャの性能を評価することに依拠する。このトレーニングは、時間がかかるとともに、計算集約的である。説明する技法は、代わりに、候補アーキテクチャを有する、トレーニングされたネットワークの性能を効果的に予測する性能予測ニューラルネットワークを用いることによって、すなわち、候補アーキテクチャを有するネットワークを実際にトレーニングする必要なしに、トレーニングされる必要があるタスクニューラルネットワークのインスタンス量を大きく削減する。いくつかの説明する実装形態では、この手法は、他のリソース節約手法、すなわち、さらに大きな計算効率を達成するために、出力アーキテクチャの複数のインスタンスを含む、生じるタスクニューラルネットワークの性能に悪影響を及ぼさずに最終的な出力アーキテクチャの考えられるアーキテクチャの探索空間を効果的に制限する、また場合によっては、その性能をさらに改善する、技法と組み合わせられる。たとえば、他のリソース節約手法は、畳み込みセル、または複数の動作ブロックを含む他のタイプのセルのアーキテクチャを学習し、次いで、事前決定されたテンプレートに従って、学習されたセルを繰り返して、タスクニューラルネットワークのアーキテクチャを生成することを含み得る。
本明細書で説明する主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の明細書に記載される。本主題の他の特徴、態様、および利点は、明細書、図面、および特許請求の範囲から明らかになるであろう。
例示的なニューラルアーキテクチャ探索(NAS)システムのアーキテクチャを示す図である。 タスクニューラルネットワークの例示的なセルのアーキテクチャを示す図である。 例示的なタスクニューラルネットワークのアーキテクチャを示す図である。 出力セルのアーキテクチャを決定するための例示的なプロセスの流れ図である。
様々な図面における同様の参照番号および表示は、同様の要素を示す。
本明細書は、タスクニューラルネットワークのためのネットワークアーキテクチャを決定する、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるニューラルアーキテクチャ探索システムについて説明する。タスクニューラルネットワークは、特定の機械学習タスクを実行するように構成される。
概して、タスクニューラルネットワークは、ネットワーク入力を受信し、その入力に対するネットワーク出力を生成するために、そのネットワーク入力を処理するように構成される。
場合によっては、タスクニューラルネットワークは、入力画像を受信し、その入力画像に対するネットワーク出力を生成するために、すなわち、何らかの種類の画像処理タスクを実行するために、その入力画像を処理するように構成された畳み込みニューラルネットワークである。
たとえば、タスクは画像分類であり得、所与の画像に対してニューラルネットワークによって生成される出力は、オブジェクトカテゴリーのセットの各々に対するスコアであり得、各スコアは、その画像がそのカテゴリーに属するオブジェクトの画像を含む推定尤度を表す。
別の例として、タスクは、画像埋め込み生成であり得、ニューラルネットワークによって生成される出力は、入力画像の数値埋め込みであり得る。
さらに別の例として、タスクはオブジェクト検出であり得、ニューラルネットワークによって生成される出力は、特定のタイプのオブジェクトが示される入力画像内のロケーションを識別し得る。
いくつかの他の場合には、タスクはビデオ分類であり得、タスクニューラルネットワークは、ビデオまたはビデオの一部分を入力として受信し、その入力ビデオまたはビデオ部分が何の1つまたは複数のトピックに関係するかを決定する出力を生成するように構成される。
いくつかの他の場合には、タスクは音声認識であり得、タスクニューラルネットワークは、入力としてオーディオデータを受信し、発せられた所与の発話に対して、その発話が表す1つまたは複数の用語を決定する出力を生成するように構成される。
いくつかの他の場合には、タスクはテキスト分類であり得、タスクニューラルネットワークは、入力テキストセグメントを受信し、入力テキストセグメントが何の1つまたは複数のトピックに関係するかを決定する出力を生成するように構成される。
図1は、例示的なニューラルアーキテクチャ探索(NAS)システム100を示す。ニューラルアーキテクチャ探索システム100は、以下で説明するシステム、構成要素、および技法が実装され得る、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムの一例である。
いくつかの実装形態では、NASシステム100は、ネットワークアーキテクチャにわたって繰り返される出力セル150のためのアーキテクチャを決定することによって、タスクニューラルネットワークのためのネットワークアーキテクチャを決定するように構成される。すなわち、タスクニューラルネットワークは、出力セル150の複数のインスタンスを含む。出力セル150のインスタンス内の畳み込み動作のフィルタの数は、タスクニューラルネットワーク内のインスタンスの位置に基づいて異なり得る。場合によっては、タスクニューラルネットワークは、出力セル150の複数のインスタンスのスタックを含む。場合によっては、出力セルのスタックに加えて、タスクニューラルネットワークは、1つまたは複数の他のニューラルネットワークレイヤ、たとえば、出力レイヤおよび/または1つまたは複数の他のタイプのレイヤを含む。たとえば、タスクニューラルネットワークは、畳み込みニューラルネットワークレイヤと、続いて出力セルの複数のインスタンスのスタックと、続いてグローバルプーリング(global pooling)ニューラルネットワークレイヤと、続いてsoftmax分類ニューラルネットワークレイヤとを含み得る。タスクニューラルネットワークの例示的なアーキテクチャについては、図3を参照しながら以下でより詳細に説明する。
概して、セルは、セル入力を受信し、セル出力を生成するように構成された全畳み込みニューラルネットワークである。いくつかの実装形態では、セル出力は、セル入力と同じ寸法、たとえば、同じ高さ(H)、幅(W)、および深さ(F)を有し得る。たとえば、セルは、特徴マップを入力として受信し、入力特徴マップと同じ寸法を有する出力特徴マップを生成し得る。いくつかの他の実装形態では、セル出力は、セル入力の寸法とは異なる寸法を有し得る。たとえば、セルが、ストライド2を有する全畳み込みニューラルネットワークであるとき、セル入力はH×W×Fテンソルであると考えると、セル出力は、H'×W'×F'テンソルであり得、ここで、H'=H/2、W'=W/2、およびF'=2Fである。
場合によっては、セルはB個の動作ブロックを含み、ここで、Bは、所定の正の整数である。たとえば、Bは、3、5、または10であり得る。セル内の各動作ブロックは、1つまたは複数のそれぞれの入力隠れ状態を受信し、1つまたは複数の動作を入力隠れ状態に適用して、それぞれの出力隠れ状態を生成する。
いくつかの実装形態では、B個の動作ブロックの各々は、動作ブロックに対する第1の入力隠れ状態に第1の動作を適用して、第1の出力を生成するように構成される。動作ブロックは、動作ブロックに対する第2の入力隠れ状態に第2の動作を適用して、第2の出力を生成するように構成される。動作ブロックは、次いで、第1および第2の出力に対して組合せ動作を適用して、動作ブロックに対する出力隠れ状態を生成するように構成される。第1の入力隠れ状態、第2の入力隠れ状態、第1の動作、第2の動作、および組合せ動作は、動作ブロックに関連するハイパーパラメータのセットによって定義され得る。たとえば、動作ブロックに対応するハイパーパラメータのセットは、以下のハイパーパラメータを含む、すなわち、どの隠れ状態が第1の入力隠れ状態として使用されるかを表す第1のハイパーパラメータ、どの隠れ状態が第2の入力隠れ状態として使用されるかを表す第2のハイパーパラメータ、どの動作が第1の動作として使用されるかを表す第3のハイパーパラメータ、どの動作が第2の動作として使用されるかを表す第4のハイパーパラメータ、およびどの動作が第1の動作と第2の動作の出力を組み合わせるための組合せ動作として使用されるかを表す第5のハイパーパラメータである。
セルの例示的なアーキテクチャについては、図2を参照しながら以下でより詳細に説明する。
出力セル150のアーキテクチャを決定するために、NASシステム100は、複数の性能予測パラメータ(本明細書において「予測パラメータ」とも呼ばれる)を有する性能予測ニューラルネットワーク110(「予測器110」とも呼ばれる)を含む。予測器110は、1つまたは複数の回帰ニューラルネットワークレイヤを含む回帰ニューラルネットワークである。たとえば、予測器110は、長短期メモリ(LSTM)ニューラルネットワークまたはゲート回帰ユニット(GRU:gated recurrent unit)ニューラルネットワークであり得る。
概して、予測器110は、候補セルを指定するデータを受信し、予測パラメータに従ってそのデータを処理して、候補セルを有するニューラルネットワークが、特定の機械学習タスクに対してトレーニングされた後で、どの程度良好に機能することになるかを特徴付ける性能予測を生成するように構成される。候補セルを指定するデータは、候補セルを定義する埋め込み(たとえば、ハイパーパラメータの各セットが候補セル内に含まれるそれぞれの動作ブロックを定義する、ハイパーパラメータの複数のセットの埋め込み)のシーケンスである。本明細書で使用される埋め込みは、ハイパーパラメータの数値表現、たとえば、ベクトル、または数値の他の順序付けられた集合である。埋め込みは、事前決定されてよいか、または予測器をトレーニングする一環として学習されてもよい。
性能予測は、たとえば、トレーニングされたニューラルネットワークの精度の予測であり得る。別の例として、性能予測は、予測平均精度と精度に対する予測標準偏差または差異の両方を含み得る。
具体的には、タスクニューラルネットワークのネットワークアーキテクチャにわたって繰り返される出力セル150のためのアーキテクチャを決定する一環として、NASシステム100は、出力セル150に対する候補セルの現在のセットを指定するデータ102を取得する。場合によっては、候補セルの現在のセットは、候補セルの初期セットである。いくつかの他の場合には、NASシステム100は、前の反復からセルを取得し、次いで、前のセルの各々を拡張することによって、たとえば、前のセルの各々にそれぞれの1つまたは複数の動作ブロックを追加することによって、候補セルの現在のセットを生成する。
現在のセット内の候補セルの各々に対して、予測器110は、候補セルを指定するデータを受信し、各候補セルに対する性能予測を生成するために、性能予測パラメータの現在の値に従って、性能予測ニューラルネットワーク110を使用してそのデータを処理する。
NASシステム100は、次いで、現在のセット内の候補セルに対する性能予測に基づいて、現在のセット内の候補セルのうちの1つまたは複数を選択することによって、候補セルの更新されたセット112を生成する。すなわち、NASシステム100は、性能予測ニューラルネットワーク110によって生成された予測に基づいて、現在のセットをプルーニング(prune)して、更新されたセットを生成する。たとえば、NASシステム100は、更新されたセット112内に含まれるべき最良の性能予測を有するK個の候補セルを現在のセットから選択し、ここで、Kは、事前決定された整数である。
予測器110の性能予測パラメータの値を更新するために、NASシステム100は、トレーニングエンジン120と予測パラメータ更新エンジン130とを含む。概して、トレーニングエンジン120および予測パラメータ更新エンジン130は、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたはソフトウェア構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータは、特定のエンジン専用になり、他の場合には、複数のエンジンがインストールされ、同じ1つまたは複数のコンピュータ上で実行してもよい。
更新されたセット内の各候補セルに対して、トレーニングエンジン120は、候補セルを有するタスクニューラルネットワークのインスタンスを生成し、特定の機械学習タスクを実行するためにそのインスタンスをトレーニングするように構成される。たとえば、トレーニングエンジン120は、タスクニューラルネットワークの所定のテンプレートアーキテクチャに従って、タスクニューラルネットワークのインスタンスを生成する。たとえば、タスクニューラルネットワークのテンプレートアーキテクチャは、第1のニューラルネットワークレイヤ(たとえば、畳み込みレイヤ)と、続いてセルのN個のインスタンスのスタックと、続いて出力サブネットワーク(たとえば、softmaxニューラルネットワークレイヤを含む出力サブネットワーク)とを含む。
タスクニューラルネットワークのインスタンスをトレーニングするために、トレーニングエンジン120は、特定の機械学習タスクに対してインスタンスをトレーニングするためのトレーニングデータ、およびその特定の機械学習タスクに対して、タスクニューラルネットワークのトレーニングされたインスタンスの性能を評価するための検証セットを取得する。
トレーニングエンジン120は、様々な様式のうちのいずれかでインスタンスをトレーニングするためのデータを受信し得る。たとえば、いくつかの実装形態では、トレーニングエンジン120は、たとえば、NASシステム100によって利用可能にされたアプリケーションプログラミングインターフェース(API)を使用して、データ通信ネットワークを介してNASシステム100の遠隔ユーザからのアップロードとしてトレーニングデータを受信する。
トレーニングエンジン120は、トレーニングされたインスタンスの実際の性能122を決定するために、特定の機械学習タスクに対してトレーニングされた各インスタンスの性能を評価する。たとえば、実際の性能は、適切な精度測定によって測定された検証セットに対するトレーニングされたインスタンスの精度であり得る。たとえば、この精度は、タスクが分類タスクであるときには分類誤り率であってよく、またはタスクが回帰タスクであるときにはIoU(Intersection over Union)差異尺度であってよい。別の例として、実際の性能はインスタンスのトレーニングの最後の2個、5個、または10個のエポックの各々に対するインスタンスの平均精度または最大精度であってよい。
予測パラメータ更新エンジン130は、性能予測ニューラルネットワーク110の性能予測パラメータの値を調整するために、トレーニングされたインスタンスに対する実際の性能を使用する。具体的には、予測パラメータ更新エンジン130は、予測器110をトレーニングすることによって予測パラメータの値を調整して、従来の教師あり学習(supervised learning)技法、たとえば、確率的勾配降下(SGD:stochastic gradient descent)技法を使用して、候補セルの実際の性能を正確に予測する。
予測器110を使用して、現在のセット内の候補セルの各々に対する性能予測を生成することによって、NASシステム100は、現在のセット内のすべての候補セルを考慮した。しかしながら、NASシステム100は、少数の候補セル、すなわち、更新されたセット内に含めるために予測器110によって生成された性能予測に基づいて選択された候補セルを実際にトレーニングすることのみが必要であった。したがって、NASシステム100は候補セルを有するネットワークを実際にトレーニングすることによって、多数の候補セルの性能の評価に依拠する既存のシステムよりも計算効率がはるかに高く、(すなわち、消費する計算リソースがはるかに少ない)特定の技術的実装形態を定義する。これは、タスクニューラルネットワークのインスタンスをトレーニングすることは、予測器110を使用してそれらの実際の性能を単に予測するよりも計算的にさらに一層費用がかかるためである。その上、いくつかの実装形態では、更新されたセット内に含めるために予測器によって選択された候補セルは、並行してトレーニングおよび評価されることが可能であり、それにより、NASシステム100が従来のシステムよりも高速で出力セルを決定することを可能にする。
予測器110の予測パラメータを更新した後、NASシステム100は、更新されたセット内の候補セルを拡張して、複数の新しい候補セルを含む新しいセットを生成する。具体的には、NASシステム100は、更新されたセット内の候補セルの各々に対して、ハイパーパラメータのそれぞれのセットを有するそれぞれの新しい動作ブロックを候補セルに追加することによって、更新されたセット内の候補セルを拡張する。
概して、更新されたセットが、各々がb個の動作ブロックを有する、N個の候補セルを有すると考えると、NASシステム100は、更新されたセット内のそれぞれの特定の候補セルに対して、(すなわち、新しい第(b+1)の動作ブロックを特定の候補セルに追加することによって)b+1個の動作ブロックを有するそれぞれの考えられるセルを有するすべての考えられるセルのサブセットを生成する。新しいセットは、b+1個の動作ブロックを有するすべての考えられるセルのサブセットの組合せである。
いくつかの実装形態では、新しい第(b+1)の動作ブロックは、5個のハイパーパラメータ(I1,I2,O1,O2,C)によって指定され得、ここで、I1,I2∈Ib+1は、新しい動作ブロックに対する入力を指定し、Ib+1は、新しい動作ブロックに対する考えられる入力のセットであり、O1,O2∈Oは、それぞれ、入力I1およびI2に適用するための動作を指定し、ここで、Oは、所定の動作空間であり、C∈eは、新しい動作ブロックに対するブロック出力
Figure 0007157154000001
を生成するために、O1およびO2をどのように組み合わせるかを指定し、ここで、eは、考えられる組合せ演算子(combination operator)のセットである。
これらの実装形態では、第(b+1)の動作ブロックに対して考えられる構造の探索空間は、サイズ|Bb+1|=|Ib+1|2×|O|2×|e|2を有するBb+1であり、ここで、|Ib+1|=2+(b+1)-1の場合、|O|は、動作空間内の動作の数であり、|e|は、セットe内の組合せ演算子の数である。したがって、新しいセット内の候補セルの数は、N×|Bb+1|個のセルである。
NASシステム100は、次いで、候補セルの新しいセットを候補セルの現在のセットとして設定し、候補セルが所定の最大数の動作ブロックを有するまで、上記のプロセスを繰り返す。
候補セルの各々の中の動作ブロック数が動作ブロックの所定の最大数と等しくなるとき、NASシステム100は、最良の実際の性能を有する、トレーニングされたインスタンスに対応する新しい候補セルをタスクニューラルネットワークのための出力セル150として選択する。
いくつかの実装形態では、システム100は、出力セル150が決定されると、出力セルのアーキテクチャを指定するデータを、たとえば、ネットワークを介してユーザデバイスに提供する。アーキテクチャを指定するデータを提供する代わりに、またはそれに加えて、システム100は、決定された出力セル150を有するニューラルネットワークを、たとえば、最初からトレーニングするか、またはより大きなニューラルネットワークをトレーニングする結果として生成されたパラメータ値を微調整するためにトレーニングし、次いで、トレーニングされたニューラルネットワークを使用して、たとえば、NASシステム100によって提供されたAPIを通して、ユーザが受信した要求を処理する。
本明細書は、タスクニューラルネットワークにわたって複数回繰り返されるセルに対して考えられるアーキテクチャの空間を探索することについて説明するが、いくつかの他の実装形態では、NASシステム100は、たとえば、1つまたは複数の所定の出力レイヤ、および、随意に、1つまたは複数の所定の入力レイヤ以外のタスクニューラルネットワーク全体に対して考えられるアーキテクチャを通して、繰り返されていないアーキテクチャの部分を探索する。
図2は、タスクニューラルネットワークを構築するために使用され得る例示的なセル200のアーキテクチャを示す。
セル200は、セル入力(たとえば、H×W×Fテンソル)を処理して、セル出力(たとえば、H'×W'×F'テンソル)を生成するように構成された全畳み込みニューラルネットワークである。
いくつかの実装形態では、たとえば、セル200が、ストライド1を有する全畳み込みニューラルネットワークであるとき、セル出力は、セル入力と同じ寸法を有し得る(たとえば、H'=H、W'=W、およびF'=F)。いくつかの他の実装形態では、セル出力は、セル入力の寸法とは異なる寸法を有し得る。たとえば、セルが、ストライド2を有する全畳み込みニューラルネットワークであるとき、セル入力がH×W×Fテンソルであると考えると、セル出力は、H'×W'×F'テンソルであり得、式中、H'=H/2、W'=W/2、およびF'=2Fである。
セル200は、複数の動作ブロック(B個のブロック)を含む。たとえば、図2に示すように、セル200は、5個のブロック、すなわち、ブロック202、204、206、208、および210を含む。
セル200内の各ブロックbは、5個のハイパーパラメータ(I1,I2,O1,O2,C)によって指定することができ、ここで、I1,I2∈Ibは、ブロックbに対する入力を指定し、O1,O2∈Oは、それぞれ、入力I1、I2に適用するための動作を指定し、ここで、Oは動作空間であり、C∈eは、ブロックbに対するブロック出力
Figure 0007157154000002
を生成するために、O1およびO2をどのように組み合わせるかを指定し、ここで、eは、考えられる組合せ演算子のセットである。
考えられる入力のセットIbは、セル200内のすべての前のブロックのセット
Figure 0007157154000003
に、前のセルの出力
Figure 0007157154000004
を加え、それに前のセルに先行するセルの出力
Figure 0007157154000005
を加えたものである。
動作空間Oは、限定はしないが、以下の動作を含み得る:すなわち、3×3深さ方向分離可能な畳み込み(depthwise-separable convolution)、5×5深さ方向分離可能畳み込み、7×7深さ方向分離可能畳み込み、1×7とその後に7×1が続く畳み込み(1x7 followed by 7x1 convolution)、恒等式、3×3平均プーリング、3×3最大プーリング、および3×3拡張畳み込み(dilated convolution)、である。
いくつかの実装形態では、考えられる組合せ演算子のセットeは、追加動作および連結動作を含む。
いくつかの実装形態では、考えられる組合せ演算子のセットeは、追加動作のみを含む。これらの実装形態では、セル200の各ブロックbは、4個のハイパーパラメータ(I1,I2,O1,O2)によって指定され得る。
各ブロックbがブロック出力を生成した後、すべてのブロックのブロック出力が組み合わされ、たとえば、連結されるか、加算されるか、または平均されて、セル200に対するセル出力Hcを生成する。
図3は、例示的なタスクニューラルネットワーク300のアーキテクチャを示す。タスクニューラルネットワーク300は、ネットワーク入力302を受信し、入力302に対するネットワーク出力320を生成するように構成される。
タスクニューラルネットワーク300は、セルインスタンスのスタック306を含む。スタック306は、次々にスタックされるセルの複数のインスタンスを含む。スタック306内のセルインスタンスは、同じ構造を有し得るが、異なるパラメータ値を有する。スタック306内のセルインスタンスの中の畳み込み動作のフィルタ数は、そのスタック内のインスタンスの位置に基づいて異なり得る。たとえば、一実装形態では、セルインスタンス308は、ストライド2セルであり、セルインスタンス310は、ストライド1セルである。そのような実装形態では、セルインスタンス308は、セルインスタンス310が有する2倍のフィルタを有する。
スタック306内の第1のセルインスタンス308は、第1のセル入力を受信し、第1のセル出力を生成するために第1のセル入力を処理するように構成される。
場合によっては、第1のセル入力は、タスクニューラルネットワークのネットワーク入力302である。
いくつかの他の場合には、ネットワーク入力302は画像であり、タスクニューラルネットワーク300は、画像の処理に関連する計算コストを低減させるために、セルのスタック306に先行して、畳み込みニューラルネットワークレイヤ304を含み得る。たとえば、畳み込みニューラルネットワークレイヤ304は、ストライド2を有する3×3畳み込みフィルタレイヤである。これらの場合には、畳み込みニューラルネットワークレイヤ304は、第1のセル入力としてセルインスタンス308に提供されるべき中間出力を生成するために、ネットワーク入力302を処理するように構成される。
第1のセルインスタンスに続く各セルインスタンス(たとえば、セルインスタンス310~312)は、前のセルインスタンスのセル出力を入力として受信し、入力として次のセルインスタンスに供給されるそれぞれのセル出力を生成するように構成される。スタック306の出力は、最後のセルインスタンス314のセル出力である。
タスクニューラルネットワーク300は、サブネットワーク316と、続いてセルインスタンスのスタック306とを含む。サブネットワーク316は、入力としてセルインスタンスのスタック306の出力を受信し、ネットワーク出力320を生成するためにスタック306の出力を処理するように構成される。一例として、サブネットワーク316は、グローバルプーリングニューラルネットワークレイヤと、続いてsoftmax分類ニューラルネットワークレイヤとを含む。
図4は、タスクニューラルネットワークにわたって繰り返されるセルのアーキテクチャを決定するための例示的なプロセス400の流れ図である。便宜上、プロセス400は、1つまたは複数のロケーション内に位置する1つまたは複数のコンピュータのシステムによって実行されるとして説明される。たとえば、ニューラルアーキテクチャ探索システム、たとえば、本明細書に従って適切にプログラムされた、図1のニューラルアーキテクチャ探索システム100がプロセス400を実行し得る。
システムは、タスクニューラルネットワークを構築するために使用される出力セルに対する候補セルの現在のセットを指定するデータを取得する(ステップ402)。
場合によっては、候補セルの現在のセットは、候補セルの初期セットである。いくつかの他の場合には、システムは、前の反復からセルを取得し、次いで、前のセルの各々を拡張することによって、たとえば、それぞれの1つまたは複数の動作ブロックを前のセルの各々に追加することによって、候補セルの現在のセットを生成する。
システムは、複数の性能予測パラメータを有する性能予測ニューラルネットワークを使用して、候補セルを指定するデータを処理する(ステップ404)。性能予測ニューラルネットワークは、候補セルを有するニューラルネットワークが、特定の機械学習スタックに対してトレーニングされた後で、どの程度良好に機能することになるかを特徴付ける性能予測を生成するために、性能予測パラメータの現在の値に従って、候補セルを指定するデータを処理するように構成される。
システムは、現在のセット内の候補セルに対する性能予測に基づいて、現在のセット内の候補セルのうちの1つまたは複数を選択することによって、候補セルの更新されたセットを生成する(ステップ406)。すなわち、システムは、性能予測ニューラルネットワークによって生成される予測に基づいて、現在のセットをプルーニングして、更新されたセットを生成する。たとえば、システムは、更新されたセット内に含まれるべき最良の性能予測を有するK個の候補セルを現在のセットから選択し、ここで、Kは、所定の整数である。
システムは、以下のように、現在のセット内の候補セルの各々に対してステップ408~412を反復的に実行する。
システムは、候補セルを有するタスクニューラルネットワークのインスタンスを生成する(ステップ408)。たとえば、システムは、タスクニューラルネットワークの所定のテンプレートアーキテクチャに従って、タスクニューラルネットワークのインスタンスを生成する。たとえば、タスクニューラルネットワークのテンプレートアーキテクチャは、第1のニューラルネットワークレイヤ(たとえば、畳み込みレイヤ)と、続いてセルのN個のインスタンスのスタックと、続いて出力サブネットワーク(たとえば、softmaxニューラルネットワークレイヤを含む出力サブネットワーク)とを含む。
システムは、特定の機械学習タスクを実行するようにインスタンスをトレーニングする(ステップ410)。
タスクニューラルネットワークのインスタンスをトレーニングするために、システムは、特定の機械学習タスクに対してインスタンスをトレーニングするためのトレーニングデータ、および特定の機械学習タスクに対して、タスクニューラルネットワークのトレーニングされたインスタンスの性能を評価するための検証セットを取得する。システムは、次いで、従来の機械学習トレーニング技法を使用して、トレーニングデータに対してインスタンスをトレーニングする。
システムは、次いで、たとえば、検証データセットに対してトレーニングされたインスタンスの精度を測定することによって、トレーニングされたインスタンスの実際の性能を決定するために、特定の機械学習タスクに対してトレーニングされた各インスタンスの性能を評価する(ステップ412)。
システムが現在のセット内のすべての候補セルに対してステップ408~412を繰り返すと、システムは、性能予測ニューラルネットワークの性能予測パラメータの値を調整するために、トレーニングされたインスタンスに対する実際の性能を使用する(ステップ414)。
具体的には、システムは、性能予測ニューラルネットワークをトレーニングすることによって、予測パラメータの値を調整して、従来の教師あり学習技法、たとえば、確率的勾配降下(SGD)技法を使用して、候補セルの実際の性能を正確に予測する。
システムは、次いで、更新されたセット内の候補セルの各々の中の動作ブロック数がセル内で許可される所定の最大動作ブロック数未満であるかどうかを決定する(ステップ416)。
新しいセット内の新しい候補セルの各々の中の動作ブロック数がセル内で許可される所定の最大動作ブロック数未満であるとき、システムは、更新されたセット内の候補セルを拡張して、候補セルの新しいセットを生成する。具体的には、システムは、更新されたセット内の候補セルの各々に対して、ハイパーパラメータのそれぞれのセットを有するそれぞれの新しい動作ブロックをその候補セルに追加することによって、更新されたセット内の候補セルを拡張する。システムは、次いで、候補セルのこの新しいセットを候補セルの現在のセットとして設定し、各候補セル内の動作ブロック数が最大動作ブロック数に等しくなるまで、ステップ402~416を繰り返す。
更新されたセット内の候補セルの各々の中の動作ブロック数が所定の最大動作ブロック数に等しいとき、システムは、タスクニューラルネットワークのアーキテクチャにわたって繰り返される出力セルとして、最良の実際の性能を有するトレーニングされたインスタンスに対応する新しい候補セルを選択する(ステップ418)。
この明細書は、システムおよびコンピュータプログラム構成要素に関して「構成された」という用語を使用する。特定の動作または活動を実行するように構成されるべき1つまたは複数のコンピュータのシステムは、そのシステムが、動作中、そのシステムにそれらの動作または活動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをその上にインストールしていることを意味する。特定の動作または活動を実行するように構成されるべき1つまたは複数のコンピュータプログラムは、その1つまたは複数のプログラムが、データ処理装置によって実行されると、その装置にそれらの動作または活動を実行させる命令を含むことを意味する。
本明細書で説明した主題および機能的動作の実施形態は、デジタル電子回路で、有形に具現化されたコンピュータソフトウェアまたはファームウェアで、本明細書で開示した構造およびそれらの構造的均等物を含めて、コンピュータハードウェアで、またはそれらのうちの1つまたは複数の組合せで実装され得る。本明細書で説明した主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するための、またはデータ処理装置の動作を制御するための、有形の非一時的記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであってよい。代替または追加として、プログラム命令は、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成電気信号、光信号、または電磁信号上で符号化され得る。
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。これらの装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であってもよいか、またはそれらをさらに含んでよい。これらの装置は、随意に、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含み得る。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあるか、またはそのように説明されてもよいコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含めて、任意の形態のプログラミング言語で書き込まれてよく、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境で使用するのに適した他のユニットとして、を含めて、任意の形態で展開され得る。プログラムは、必ずしもその必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書内、当該プログラム専用の単一のファイル内、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル内に記憶された1つまたは複数のスクリプトを保持するファイルの一部分の中に記憶され得る。コンピュータプログラムは、1つの場所に位置するか、または複数の場所にわたって分散され、データ通信ネットワークによって相互接続された、1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され得る。
本明細書において、「データベース」という用語は、データの任意のコレクションを指すように広く使用され、データは、任意の特定の様式で構成される必要はなく、またはまったく構成されなくてもよく、データは、1つまたは複数のロケーション内の記憶デバイス上に記憶されてよい。したがって、たとえば、インデックスデータベースは、データの複数のコレクションを含んでよく、その各々は、異なって編成されアクセスされ得る。
同様に、本明細書において、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされた、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すように広く使用される。概して、エンジンは、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたはソフトウェア構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータは、特定のエンジン専用になり、他の場合には、複数のエンジンが同じ1つまたは複数のコンピュータ上にインストールされ実行され得る。
本明細書で説明したプロセスおよび論理フローは、入力データを動作させ、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGAもしくはASICによって、または専用論理回路と1つまたは複数のプログラムされたコンピュータの組合せによって実行されてもよい。
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたは両方、あるいは任意の他の種類の中央処理装置に基づき得る。概して、中央処理装置は、読取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行(perform)または実行(execute)するための中央処理装置、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補完されてよいか、またはその中に組み込まれてもよい。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになるか、あるいはそこからデータを受信するか、もしくはそこにデータを転送するか、または両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有さなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつかを挙げれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレイヤーもしくはモバイルビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ内に埋め込まれてもよい。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMディスクおよびDVD-ROMディスクを含めて、すべての形態の不揮発性のメモリ、媒体デバイスおよびメモリデバイスを含む。
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタと、それによりユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスを使用して、ユーザとの対話を実現することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そこから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応じて、ウェブページをユーザのデバイス上のウェブブラウザに送ることによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送り、返しに、ユーザから応答メッセージを受信することによって、ユーザと対話し得る。
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習トレーニングまたは機械学習製造の共通のコンピュータ集約的な部分、すなわち、推論、作業負荷を処理するために、専用ハードウェア加速ユニットを含んでもよい。
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して、実装および展開され得る。
本明細書で説明した主題の実施形態は、たとえば、データサーバなどのバックエンド構成要素を含むか、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、それを通してユーザが本明細書で説明した主題の実装形態と対話することができる、グラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータを含むコンピューティングシステムで、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意組合せで実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して、互いから遠隔にあり、典型的には、通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行し、互いとクライアント/サーバ関係を有するコンピュータプログラムにより生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、そこからユーザ入力を受信するために、データ、たとえば、HTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果は、サーバにおいてデバイスから受信され得る。
本明細書は多くの特定の実装形態詳細を含むが、これらは、本発明の範囲に対する、または特許請求され得る範囲に対する制限と解釈されるべきではなく、特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈で、本明細書で説明したいくつかの特徴は、単一の実施形態において組み合わせて実装されてもよい。逆に、単一の実施形態の文脈で説明した様々な特徴は、複数の実施形態で別々に、または任意の適切なサブコンビネーションで実装されてもよい。その上、特徴は上記でいくつかの組合せで動作するとして説明される場合があり、当初、そのようなものとして特許請求される場合すらあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されてよく、特許請求される組合せは、サブコンビネーションまたはサブコンビネーションの変種に関する場合がある。
同様に、動作は、特定の順序で、図面において示され、請求項において列挙されるが、これは、そのような動作が、示される特定の順序で、または連続的な順序で実行されるべきであるとして、または所望の結果を達成するために、示したすべての動作が実行されるべきであるとして理解されるべきではない。状況によっては、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態内の様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解すべきではなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内に一緒に統合されてよいか、または複数のソフトウェア製品内に梱包されてよいことを理解されたい。
本主題の特定の実施形態について説明されてきた。他の実施形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲において列挙する活動は、異なる順序で実行され、依然として所望の結果を達成し得る。一例として、添付の図面に示したプロセスは、所望の結果を達成するために、必ずしも示した特定の順序、または連続的な順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
100 ニューラルアーキテクチャ探索(NAS)システム
102 データ
110 性能予測ニューラルネットワーク、予測器
112 更新されたセット
120 トレーニングエンジン
122 実際の性能
130 予測パラメータ更新エンジン
150 出力セル
200 セル
202 ブロック
204 ブロック
206 ブロック
208 ブロック
210 ブロック
300 タスクニューラルネットワーク
302 ネットワーク入力、入力
304 畳み込みニューラルネットワークレイヤ
306 セルインスタンスのスタック、スタック
308 セルインスタンス、第1のセルインスタンス
310 セルインスタンス
312 セルインスタンス
314 最後のセルインスタンス
316 サブネットワーク
320 ネットワーク出力
400 プロセス

Claims (15)

1つまたは複数のコンピュータによって実行される方法であって、
特定の機械学習タスクを実行するように構成されたタスクニューラルネットワークのためのアーキテクチャを決定するステップを含み、前記決定するステップが、
前記タスクニューラルネットワークに対する候補アーキテクチャの現在のセットを指定するデータを取得するステップであって、候補アーキテクチャの前記現在のセットが、複数の前の候補アーキテクチャの候補セルを拡張することによって決定され、複数の前の候補アーキテクチャの候補セルを拡張することは、前記複数の前の候補アーキテクチャの候補セルの各々にそれぞれの1つまたは複数の動作ブロックを追加することを含む、ステップと、
前記現在のセット内の各候補アーキテクチャに対して、
複数の性能予測パラメータを有する性能予測ニューラルネットワークを使用して、前記候補アーキテクチャを指定する前記データを処理するステップであって、前記性能予測ニューラルネットワークは、前記候補アーキテクチャを有するニューラルネットワークが前記特定の機械学習タスクに対してトレーニングされた後で、どの程度良好に機能することになるかを特徴付ける性能予測を生成するために、前記性能予測パラメータの現在の値に従って、前記候補アーキテクチャを指定する前記データを処理するように構成される、処理するステップと、
前記現在のセット内の前記候補アーキテクチャに対する前記性能予測に基づいて、前記現在のセット内の前記候補アーキテクチャのうちの複数を選択することによって、候補アーキテクチャの更新されたセットを生成するステップであって、生成するステップが、それぞれの性能予測に基づいて候補アーキテクチャの前記現在のセットをプルーニングするステップを含む、ステップと
を含む、方法。
前記特定の機械学習タスクが画像処理を含む、請求項1に記載の方法。
前記特定の機械学習タスクが、画像分類またはビデオ分類を含む、請求項1または2に記載の方法。
前記特定の機械学習タスクが音声認識を含む、請求項1に記載の方法。
前記決定されたアーキテクチャを有するタスクニューラルネットワークをトレーニングするステップと、
受信されたネットワーク入力に対して前記特定の機械学習タスクを実行するために、前記決定されたアーキテクチャを有する前記トレーニングされたタスクニューラルネットワークを使用するステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
前記更新されたセット内の各候補アーキテクチャに対して、
前記候補アーキテクチャを有する前記タスクニューラルネットワークのインスタンスを生成し、
前記特定の機械学習タスクを実行するために前記インスタンスをトレーニングし、
前記トレーニングされたインスタンスの実際の性能を決定するために、前記特定の機械学習タスクに対して前記トレーニングされたインスタンスの性能を評価するステップと、
前記性能予測ニューラルネットワークの前記性能予測パラメータの前記現在の値を調整するために、前記トレーニングされたインスタンスに関する前記実際の性能を使用するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。
前記更新されたセット内の各候補アーキテクチャに対して、
各新しい候補アーキテクチャに対して、1つまたは複数の動作のそれぞれのセットを前記候補アーキテクチャに追加することによって、前記候補アーキテクチャから複数の新しい候補アーキテクチャを生成するステップと、
各新しい候補アーキテクチャに対して、
前記新しい候補アーキテクチャに対する性能予測を生成するために、前記性能予測ニューラルネットワークを使用して、前記性能予測パラメータの前記更新された値に従って、前記新しい候補アーキテクチャを指定するデータを処理するステップと、
前記新しい候補アーキテクチャに対する前記性能予測に基づいて、前記新しい候補アーキテクチャのうちの複数を選択することによって、候補アーキテクチャの新しいセットを生成するステップと
をさらに含む、請求項6に記載の方法。
前記タスクニューラルネットワークのための前記アーキテクチャとして、前記新しいセット内の前記新しい候補アーキテクチャのうちの1つを選択するステップ
をさらに含む、請求項7に記載の方法。
前記選択するステップが、
前記新しいセット内の各新しい候補アーキテクチャに対して、
前記新しい候補アーキテクチャを有する前記タスクニューラルネットワークのインスタンスを生成し、
前記特定の機械学習タスクを実行するために前記インスタンスをトレーニングし、
前記トレーニングされたインスタンスの実際の性能を決定するために、前記特定の機械学習タスクに対して前記トレーニングされたインスタンスの性能を評価するステップと、
前記タスクニューラルネットワークのための前記アーキテクチャとして、最良の実際の性能を有する前記トレーニングされたインスタンスに対応する新しい候補アーキテクチャを選択するステップと
を含む、請求項8に記載の方法。
前記タスクニューラルネットワークのための前記アーキテクチャが、各々が1つまたは複数のハイパーパラメータを共有する複数の畳み込みセルを含み、各畳み込みセルが、1つまたは複数の動作ブロックであって、各々が1つまたは複数のそれぞれの入力隠れ状態を受信し、それぞれの出力隠れ状態を生成する、1つまたは複数の動作ブロックを含み、各候補アーキテクチャおよび各新しい候補アーキテクチャが、各畳み込みセルによって共有される前記ハイパーパラメータの値を定義する、請求項7から9のいずれか一項に記載の方法。
各候補アーキテクチャが、第1の数の動作ブロックを有する畳み込みセルのためのアーキテクチャを定義し、各新しい候補アーキテクチャに対して、1つまたは複数の動作のそれぞれのセットを前記候補アーキテクチャに追加することによって、前記候補アーキテクチャから複数の新しい候補アーキテクチャを生成するステップが、
各新しい候補セルに対して、それぞれのハイパーパラメータを有する新しい動作ブロックを前記候補アーキテクチャに追加するステップ
を含む、請求項10に記載の方法。
前記候補アーキテクチャを指定する前記データが、前記候補アーキテクチャを定義する埋め込みのシーケンスであり、前記性能予測ニューラルネットワークが回帰ニューラルネットワークである、請求項1から11のいずれか一項に記載の方法。
前記性能予測が、前記シーケンス内の最後の埋め込みを処理した後の前記回帰ニューラルネットワークの出力である、請求項12に記載の方法。
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から13のいずれか一項に記載のそれぞれの方法の動作を実行させる、システム。
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を記憶する、1つまたは複数のコンピュータ記憶媒体。
JP2020529555A 2017-11-30 2018-11-30 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索 Active JP7157154B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762593213P 2017-11-30 2017-11-30
US62/593,213 2017-11-30
PCT/US2018/063293 WO2019108923A1 (en) 2017-11-30 2018-11-30 Neural architecture search using a performance prediction neural network

Publications (2)

Publication Number Publication Date
JP2021504844A JP2021504844A (ja) 2021-02-15
JP7157154B2 true JP7157154B2 (ja) 2022-10-19

Family

ID=64734190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020529555A Active JP7157154B2 (ja) 2017-11-30 2018-11-30 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索

Country Status (5)

Country Link
US (2) US11087201B2 (ja)
EP (1) EP3718057A1 (ja)
JP (1) JP7157154B2 (ja)
CN (1) CN111406267B (ja)
WO (1) WO2019108923A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127240B2 (en) 2014-10-17 2018-11-13 Zestfinance, Inc. API for implementing scoring functions
WO2019028179A1 (en) 2017-08-02 2019-02-07 Zestfinance, Inc. SYSTEMS AND METHODS FOR PROVIDING DISAPPEARED IMPACT INFORMATION OF AUTOMATIC LEARNING MODEL
EP3762869A4 (en) 2018-03-09 2022-07-27 Zestfinance, Inc. SYSTEMS AND METHODS FOR PROVIDING ASSESSMENT OF A MACHINE LEARNING MODEL THROUGH DECOMPOSITION
US11847574B2 (en) 2018-05-04 2023-12-19 Zestfinance, Inc. Systems and methods for enriching modeling tools and infrastructure with semantics
US11429824B2 (en) * 2018-09-11 2022-08-30 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
US11816541B2 (en) 2019-02-15 2023-11-14 Zestfinance, Inc. Systems and methods for decomposition of differentiable and non-differentiable models
EP3871088A1 (en) * 2019-02-26 2021-09-01 Google LLC Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
CA3134043A1 (en) 2019-03-18 2020-09-24 Sean Javad Kamkar Systems and methods for model fairness
US20210019599A1 (en) * 2019-07-19 2021-01-21 Google Llc Adaptive neural architecture search
KR20210045845A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 그 동작방법
CN111123232B (zh) * 2019-11-11 2022-03-18 浙江大学 一种具有任务适应性的雷达个体识别***
US11593617B2 (en) 2019-12-31 2023-02-28 X Development Llc Reservoir computing neural networks based on synaptic connectivity graphs
US11631000B2 (en) 2019-12-31 2023-04-18 X Development Llc Training artificial neural networks based on synaptic connectivity graphs
US11593627B2 (en) 2019-12-31 2023-02-28 X Development Llc Artificial neural network architectures based on synaptic connectivity graphs
US11620487B2 (en) * 2019-12-31 2023-04-04 X Development Llc Neural architecture search based on synaptic connectivity graphs
US11568201B2 (en) 2019-12-31 2023-01-31 X Development Llc Predicting neuron types based on synaptic connectivity graphs
US11625611B2 (en) 2019-12-31 2023-04-11 X Development Llc Training artificial neural networks based on synaptic connectivity graphs
CN111340221B (zh) * 2020-02-25 2023-09-12 北京百度网讯科技有限公司 神经网络结构的采样方法和装置
US11394799B2 (en) 2020-05-07 2022-07-19 Freeman Augustus Jackson Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data
US11544561B2 (en) * 2020-05-15 2023-01-03 Microsoft Technology Licensing, Llc Task-aware recommendation of hyperparameter configurations
CN111797983A (zh) * 2020-05-25 2020-10-20 华为技术有限公司 一种神经网络构建方法以及装置
CN111882042B (zh) * 2020-08-03 2024-04-05 中国人民解放军国防科技大学 用于液体状态机的神经网络架构自动搜索方法、***及介质
KR20220032861A (ko) * 2020-09-08 2022-03-15 삼성전자주식회사 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
DE112020007372T5 (de) * 2020-10-15 2023-05-25 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen
KR102535007B1 (ko) * 2020-11-13 2023-05-19 숭실대학교 산학협력단 Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치
US11720962B2 (en) 2020-11-24 2023-08-08 Zestfinance, Inc. Systems and methods for generating gradient-boosted models with improved fairness
CN112685623B (zh) * 2020-12-30 2024-06-14 京东科技控股股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN112819138A (zh) * 2021-01-26 2021-05-18 上海依图网络科技有限公司 一种图像神经网络结构的优化方法及装置
JP7376717B2 (ja) 2021-03-26 2023-11-08 グーグル エルエルシー ブースティングおよび行列因数分解
CN113033784A (zh) * 2021-04-18 2021-06-25 沈阳雅译网络技术有限公司 一种针对cpu和gpu设备搜索神经网络结构的方法
CN113963175A (zh) * 2021-05-13 2022-01-21 北京市商汤科技开发有限公司 一种图像处理方法、装置、计算机设备以及存储介质
CN113255770B (zh) * 2021-05-26 2023-10-27 北京百度网讯科技有限公司 化合物属性预测模型训练方法和化合物属性预测方法
CN113705628B (zh) * 2021-08-06 2024-02-06 北京百度网讯科技有限公司 预训练模型的确定方法、装置、电子设备以及存储介质
CN116151319A (zh) * 2021-11-22 2023-05-23 华为技术有限公司 搜索神经网络集成模型的方法、装置和电子设备
US20230252292A1 (en) * 2022-02-10 2023-08-10 Nota, Inc. Method of providing information on neural network model and electronic apparatus for performing the same
KR102572828B1 (ko) 2022-02-10 2023-08-31 주식회사 노타 신경망 모델을 획득하는 방법 및 이를 수행하는 전자 장치
KR20230135781A (ko) * 2022-03-17 2023-09-26 서울대학교산학협력단 데이터 형식에 따른 인공 신경망 성능 예측 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192584A (ja) 2002-12-13 2004-07-08 Adoin Kenkyusho:Kk 遺伝的アルゴリズムを用いた、ネットワーク型情報処理システムとその学習装置、学習方法及び学習方法のプログラムを記録した記録媒体
JP2018195314A (ja) 2017-05-19 2018-12-06 セールスフォース ドット コム インコーポレイティッド 再帰型ニューラルネットワークアーキテクチャの生成のためのドメイン固有言語

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5904227A (en) 1997-12-30 1999-05-18 Otis Elevator Company Method for continuously adjusting the architecture of a neural network used in elevator dispatching
EP1417643A2 (en) * 2001-01-31 2004-05-12 Prediction Dynamics Limited Neural network training
US9524450B2 (en) * 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
US9336483B1 (en) * 2015-04-03 2016-05-10 Pearson Education, Inc. Dynamically updated neural network structures for content distribution networks
US10628733B2 (en) * 2015-04-06 2020-04-21 Deepmind Technologies Limited Selecting reinforcement learning actions using goals and observations
CN108885712B (zh) * 2015-11-12 2022-06-10 渊慧科技有限公司 神经编程
US11263514B2 (en) * 2016-01-13 2022-03-01 Google Llc Processing and generating sets using recurrent neural networks
US11443169B2 (en) * 2016-02-19 2022-09-13 International Business Machines Corporation Adaptation of model for recognition processing
US10402740B2 (en) * 2016-07-29 2019-09-03 Sap Se Natural interactive user interface using artificial intelligence and freeform input
US20190138901A1 (en) * 2017-11-06 2019-05-09 The Royal Institution For The Advancement Of Learning/Mcgill University Techniques for designing artificial neural networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192584A (ja) 2002-12-13 2004-07-08 Adoin Kenkyusho:Kk 遺伝的アルゴリズムを用いた、ネットワーク型情報処理システムとその学習装置、学習方法及び学習方法のプログラムを記録した記録媒体
JP2018195314A (ja) 2017-05-19 2018-12-06 セールスフォース ドット コム インコーポレイティッド 再帰型ニューラルネットワークアーキテクチャの生成のためのドメイン固有言語

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BROCK, Andrew ほか,SMASH: One-Shot Model Architecture Search through HyperNetworks,arXiv[online],arXiv,2017年08月17日,pp.1-21,[retrieved on 2021.06.11], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1708.05344v1.pdf>

Also Published As

Publication number Publication date
EP3718057A1 (en) 2020-10-07
US11087201B2 (en) 2021-08-10
CN111406267B (zh) 2024-06-04
CN111406267A (zh) 2020-07-10
JP2021504844A (ja) 2021-02-15
US20200257961A1 (en) 2020-08-13
US20210334624A1 (en) 2021-10-28
WO2019108923A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
JP7157154B2 (ja) 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索
US11669744B2 (en) Regularized neural network architecture search
JP7210531B2 (ja) ニューラルアーキテクチャ検索
US11651259B2 (en) Neural architecture search for convolutional neural networks
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
JP6889270B2 (ja) ニューラルネットワークアーキテクチャの最適化
US20200380372A1 (en) Multi-task neural networks with task-specific paths
US11544536B2 (en) Hybrid neural architecture search
JP7439151B2 (ja) ニューラルアーキテクチャ検索
JP2021518939A (ja) データ拡張方策の学習
US11797839B2 (en) Training neural networks using priority queues
CN111133458B (zh) 增强神经网络
KR20220134627A (ko) 하드웨어-최적화된 신경 아키텍처 검색
US20240152809A1 (en) Efficient machine learning model architecture selection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221006

R150 Certificate of patent or registration of utility model

Ref document number: 7157154

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150