JP7312906B2 - リソース制約付きニューラルネットワークアーキテクチャ検索 - Google Patents

リソース制約付きニューラルネットワークアーキテクチャ検索 Download PDF

Info

Publication number
JP7312906B2
JP7312906B2 JP2022512432A JP2022512432A JP7312906B2 JP 7312906 B2 JP7312906 B2 JP 7312906B2 JP 2022512432 A JP2022512432 A JP 2022512432A JP 2022512432 A JP2022512432 A JP 2022512432A JP 7312906 B2 JP7312906 B2 JP 7312906B2
Authority
JP
Japan
Prior art keywords
computational cell
computational
hyperparameters
cell
neural network
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
JP2022512432A
Other languages
English (en)
Other versions
JP2022545038A (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 JP2022545038A publication Critical patent/JP2022545038A/ja
Priority to JP2023112994A priority Critical patent/JP2023139057A/ja
Application granted granted Critical
Publication of JP7312906B2 publication Critical patent/JP7312906B2/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/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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/047Probabilistic or stochastic 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

技術分野
本明細書は、ニューラルネットワークのためのアーキテクチャを決定することに関する。
背景
ニューラルネットワークは、受取った入力に関する出力を予測するために非線形ユニットの1つ以上の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つ以上の隠れ層を含む。各々の隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力としてを用いられる。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って、受取った入力から出力を生成する。
概要
本明細書は、リソース制約下でのワンショット・ニューラルアーキテクチャ検索のためのエンド・ツー・エンドニューラルアーキテクチャ検索フレームワークを記載する。この場合、カスタマイズされたネットワークアーキテクチャは任意の機械学習タスクデータセットに関して学習可能で或る。
概して、本明細書で説明する主題の1つの革新的な局面は、ニューラルネットワークアーキテクチャ検索のための方法を含む。当該方法は、ニューラルネットワークの計算セルを定義するステップを含み、当該計算セルは、ノードおよびエッジの有向グラフを含み、各ノードは、それぞれのニューラルネットワーク潜在表現を表わし、各エッジは、それぞれのニューラルネットワーク潜在表現を変換するそれぞれの演算を表わしており、当該方法はさらに、それぞれのニューラルネットワーク潜在表現を変換する各々の演算を、候補演算の予め定義されたセットからの候補演算のそれぞれの線形結合と置換えるステップを含み、それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータによってパラメータ化されたそれぞれの混合重みを有しており、当該方法はさらに、1つ以上の計算リソース制約を受ける検証損失関数を最適化するために、i)当該計算セルハイパーパラメータの値、およびii)計算セル重みの値を反復的に調整するステップを含み、各反復ごとに、当該検証損失関数の制約なし最適化を実行して、前回の反復についての当該計算セルハイパーパラメータの値を更新し、当該計算セル重みの調整済み値を得るステップと、当該計算セルハイパーパラメータの更新済み値を、当該1つ以上のリソース制約によって定義される実現可能なセット内の最近点に投影して、当該計算セルハイパーパラメータの調整済み値を得るステップとを含み、当該方法はさらに、当該定義された計算セルと当該計算セルハイパーパラメータの当該調整済み値および当該計算セル重みの当該調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップを含む。
この局面の他の実施形態は、対応するコンピュータシステムと、装置と、1つ以上のコンピュータストレージデバイスに記録されたコンピュータプログラムとを含み、各々が、当該方法の動作を実行するように構成されている。1つ以上のコンピュータシステムのシステムは、当該システムにインストールされて演算時に当該システムに動作を実行させ得るソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合わせのにより、特定の演算または動作を実行するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されたときに当該装置に動作を実行させる命令を含むことによって、特定の演算または動作を実行するように構成することができる。
上述および他の実施形態は各々、任意には、以下の特徴の1つ以上を単独でまたは組合わせて含み得る。いくつかの実現例では、当該定義された計算セルと当該計算セルハイパーパラメータの当該調整済み値および当該計算セル重みの当該調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップは、候補演算の各線形結合を、1つ以上の調整済み計算セルハイパーパラメータによってパラメータ化された最大混合重みを有する単一の演算と置換えることによって、離散計算セルアーキテクチャを定義するステップと、当該定義された離散計算セルアーキテクチャおよび当該計算セル重みの当該調整済み値を用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップとを含む。
いくつかの実現例では、当該定義された計算セルと当該計算セルハイパーパラメータの当該調整済み値および当該計算セル重みの当該調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップは、当該定義された計算セルの複数のコピーを積層するステップを含み、各コピーは、当該計算セルハイパーパラメータの当該調整済み値によって定義される同じセルアーキテクチャを有する。
いくつかの実現例では、当該方法はさらに、当該定義された計算セルの複数のコピーを生成するステップと、当該定義された計算セルの生成されたコピーの各々をそれぞれのトレーニングデータ上でトレーニングするステップとを含む。
いくつかの実現例では、当該定義された計算セルの複数のコピーを積層するステップは、当該定義された計算セルの当該複数のコピー同士の間に1つ以上の追加のニューラルネットワーク層をインターリーブするステップを含む。
いくつかの実現例では、当該1つ以上の追加のニューラルネットワーク層は、1つの入力ノードおよび1つの中間ノードを含む接続計算セルを備え、当該方法はさらに、1つ以上の計算リソース制約を受ける当該検証損失関数を最適化するために、i)当該接続計算セルハイパーパラメータの値、およびii)接続計算セル重みの値を反復的に調整することによって、当該接続セルを学習するステップを含む。
いくつかの実現例では、当該検証損失関数は、定義された計算セットを通じて検証データセットを実行した後に得られる誤差の尺度を表わす。
いくつかの実現例では、検証損失関数を最適化するために、i)当該計算セルハイパーパラメータの値、およびii)計算セル重みの値を反復的に調整するステップは、当該検証損失関数と、トレーニングデータ上で得られる誤差の尺度を表わすトレーニング損失関数との2レベル最適化を実行するステップを含み、当該計算セルハイパーパラメータは上位レベルパラメータを含み、当該計算セル重みは下位レベルパラメータを含む。
いくつかの実現例では、当該1つ以上の計算リソース制約は、メモリ、浮動小数点演算の数、または推論速度のうちの1つ以上に対するユーザ定義制約を含む。
いくつかの実現例では、1つ以上の計算リソース制約を受ける検証損失関数を最適化するために、i)当該計算セルハイパーパラメータの値、および、ii)計算セル重みの値を反復的に調整するステップは、各々の計算リソース制約に関するそれぞれのコスト関数を定義するステップを含み、各々の定義されたコスト関数は、当該計算セルハイパーパラメータをそれぞれのリソースコストにマッピングする。
いくつかの実現例では、当該計算セルにおけるエッジのそれぞれのリソースコストは、演算の候補セットにおける演算のコストに対するソフトマックス(softmax)として計算される。
いくつかの実現例では、当該方法は、各々の定義されたコスト関数ごとに下限制約および上限制約を設定するステップをさらに含む。
いくつかの実現例では、当該検証損失関数の制約なし最適化を実行して、前回の反復についての計算セルハイパーパラメータの値を更新し、当該計算セル重みの調整済み値を得るステップは、当該検証損失関数の当該制約なし最適化を反復的に実行するステップを含み、各反復ごとに、当該反復に関する当該計算セルハイパーパラメータの値および当該計算セル重みの値を得るステップを含み、当該得るステップは、第1の反復のために、当該計算セルハイパーパラメータのランダムに初期化された値と、当該計算セル重みのランダムに初期化された値とを得るステップ、または、前回の反復から当該計算セルハイパーパラメータの値と当該計算セル重みの値とを得るステップを含み、各反復ごとに、さらに、予め定められた反復回数だけ、または、予め定義された収束基準が満たされるまで、反復的に、反復のために当該計算セルハイパーパラメータの当該得られた値を固定し、当該計算セル重みに対するトレーニング損失関数の勾配に基づいて、更新された計算セル重みを得るステップと、当該更新された計算セル重みを固定し、当該計算セルハイパーパラメータに対する当該検証損失関数の勾配に基づいて当該計算セルハイパーパラメータの更新済み値を得るステップとを含む。
いくつかの実現例では、当該更新された計算セル重みを固定し、当該計算セルハイパーパラメータに対する当該検証損失関数の勾配に基づいて更新済みの計算セルハイパーパラメータを得るステップは、当該計算セルハイパーパラメータと当該計算セル重みとが無関係であると仮定するステップを含む。
いくつかの実現例では、当該計算セルハイパーパラメータの更新済み値を、当該1つ以上のリソース制約によって定義される実現可能なセット内の最近点に投影するステップは、当該実現可能なセット内の要素を識別するステップを含み、当該実現可能なセット内の当該要素は、i)当該計算セルハイパーパラメータの当該更新済み値とii)当該実現可能なセット内の当該要素との間の差の2ノルムを最小化するものである。
いくつかの実現例では、当該候補演算の予め定義されたセットは、プーリング演算、畳み込み演算または接続演算を含む。
いくつかの実現例では、当該方法はさらに、当該ニューラルネットワークの複数の計算セルを定義するステップを含み、各々の定義された計算セルは、ノードおよびエッジのそれぞれの有向グラフによって表わすことができ、さらに、当該複数の定義された計算セルの各々の定義された計算セルごとに、それぞれのニューラルネットワーク潜在表現を変換する各々の演算を、候補演算の予め定義されたセットからの候補演算のそれぞれの線形結合と置換えるステップを含み、それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータによってパラメータ化されたそれぞれの混合重みを有し、さらに、1つ以上の計算リソース制約を受ける検証損失関数を最適化するために、i)当該計算セルハイパーパラメータの値、およびii)当該計算セル重みの値を反復的に調整するステップを含み、各反復ごとに、当該検証損失関数の制約なし最適化を実行して、前回の反復についての当該計算セルハイパーパラメータの値を更新し、当該計算セル重みの調整済み値を得るステップと、当該計算セルハイパーパラメータの更新済み値を、当該1つ以上のリソース制約によって定義される実現可能なセット内の最近点に投影して、当該計算セルハイパーパラメータの調整済み値を得るステップとを含み、さらに、当該定義された複数の計算セルとそれぞれの当該計算セルハイパーパラメータの当該調整済み値および当該計算セル重みの当該調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップを含む。
いくつかの実現例では、当該方法はさらに、トレーニングされたニューラルネットワークを得るために、トレーニングデータ上で当該生成されたニューラルネットワークをトレーニングするステップと、当該トレーニングされたニューラルネットワークを用いて当該機械学習タスクを実行するステップとを含む。
本明細書に記載する主題は、以下の利点のうちの1つ以上を実現するように特定の実施形態において実現することができる。
ここで説明される技術を実現するシステムは、モデルサイズおよび計算複雑性などのタスク依存型リソース制約を満たすニューラルネットワークアーキテクチャを学習することができる。たとえば、当該システムは、制約付きコンピューティングリソースでモバイルプラットフォームによって効率的に実現され得る軽量ニューラルネットワークアーキテクチャを学習することができる。
加えて、軽量ニューラルネットワークアーキテクチャは、ニューラルネットワークアーキテクチャの品質(たとえば、その精度および性能)を損なうことなくリソース制約下で学習することができる。たとえば、学習済みニューラルネットワークアーキテクチャは、精度、モデルサイズおよび複雑性に関して最先端の性能を達成することができる。ニューラルネットワークアーキテクチャ検索を実行するための本明細書で説明する技術は、ニューラルアーキテクチャ検索速度を向上させることもできる。
加えて、本明細書で説明される技術は、特定の機械学習アプリケーションに限定されず、本明細書で説明される技術を実現するシステムは、任意の特定の機械学習タスクおよびデータセットのためのカスタマイズされたニューラルネットワークアーキテクチャを学習することができる。ここで説明する技術は、ワンショット(one-shot:1回限りの)リソース制約付きニューラルアーキテクチャ検索にも適している。
本明細書の主題の1つ以上の実施形態の詳細が添付の図面および以下の説明に提供されている。当該主題の他の特徴、局面、および利点は、以下の説明、添付の図面、および添付の特許請求の範囲から明らかになるだろう。
例示的なニューラルネットワークアーキテクチャ検索システムを示す図である。 機械学習タスクを実行するためのニューラルネットワークを生成するための例示的なプロセスを示すフロー図である 反復投影法を実行するための例示的なプロセスを示すフロー図である。 離散計算セルアーキテクチャの学習を概念的に可視化した例を示す図である。
さまざまな図面中の同様の参照番号および名称は同様の要素を示す。
詳細な説明
画像認識、音声認識、言語モデリングなどの機械学習タスクを実行するためのニューラルネットワークアーキテクチャの設計および実現は時間およびコストがかかるプロセスになる可能性があり、当該分野における専門的な知識および経験を必要とする。
ニューラルネットワークアーキテクチャの設計を自動化するための例示的な一技術としてニューラルアーキテクチャ検索(Neural Architecture Search:NAS)が挙げられる。NAS技術は2つの主グループに分類することができる。NAS技術の第1のグループは、ブラックボックス最適化手法、たとえば、報酬関数を最適化するための強化学習または遺伝的アルゴリズムを用いる。このような技術は、典型的には、ニューラルネットワークアーキテクチャを学習するために何千もの深層学習モデルのトレーニングを必要とするので、計算コストが高くなる。加えて、ブラックボックス最適化を用いるNAS技術は、1回限りのNASのためには計算上あまりにも高価である。異なるタスクには異なるニューラルネットワークアーキテクチャが必要となるので、ワンショット(1回限りの)NASはリソース制約付きアプリケーションにとって重要である。たとえば、画像色の分類などの単純な問題の場合、単純なニューラルネットワークアーキテクチャ(たとえば、2層ニューラルネットワーク)が必要となり、他方で、画像から猫および犬を分類するには複雑なニューラルネットワークが必要となる。
NAS技術の第2のグループは、ニューラルアーキテクチャ検索タスクを微分可能な最適化問題として定式化し、勾配降下を利用して最適解を見出す。第2のグループにおけるNAS技術は、典型的には、第1のグループにおけるNAS技術と比べて、より計算効率が良い。
本明細書では、ワンショットNASのためのエンド・ツー・エンドのリソース制約付き微分可能アーキテクチャ検索フレームワークを説明する。微分可能なアーキテクチャ検索タスクは、リソース制約を含むことによって制約付き最適化タスクとして定式化される。この場合、リソース制約付き最適化タスクのための検索空間は、勾配降下法の適用を可能にするために連続検索空間にマッピングされる。反復投影アルゴリズムを適用して、制約付き最適化タスクを解くとともに、制約によって定義される実行可能なセット内のニューラルネットワークアーキテクチャを学習する。マルチレベル検索戦略を適用することで、さまざまな深度でニューラルネットワーク層についてさまざまなアーキテクチャを学習することができる。
本明細書で説明する技術によって学習されるニューラルネットワークアーキテクチャは、任意の種類のデジタルデータ入力を受取るとともに当該入力に基づいて任意の種類のスコア、分類、または回帰出力を生成するように構成することができる。
たとえば、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が画像であるかまたは画像から抽出された特徴である場合、所与の画像に関してニューラルネットワークによって生成される出力は、オブジェクトカテゴリのセットの各々についてのスコアであり得る。各スコアは、画像がカテゴリに属するオブジェクトの画像を含む推定尤度を表わしている。
別の例として、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が、インターネットリソース(たとえば、ウェブページ)、ドキュメント、もしくはドキュメントの部分であるか、または、インターネットリソース、ドキュメント、もしくはドキュメントの部分から抽出された特徴である場合、所与のインターネットリソース、ドキュメント、または、ドキュメントの部分に関してニューラルネットワークによって生成される出力はトピックのセットの各々に関するスコアであり得る。各スコアは、インターネットリソース、ドキュメント、またはドキュメントの部分がトピックに関するものであることの推定尤度を表わしている。
別の例として、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が特定の広告についての印象コンテキストについての特徴である場合、ニューラルネットワークによって生成される出力は、特定の広告がクリックされるであろう推定尤度を表わすスコアであり得る。
別の例として、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が、ユーザに関する個人化された推奨の特徴、たとえば、推奨に関するコンテキストを特徴付ける特徴、たとえば、ユーザが行なった以前の動作を特徴付ける特徴である場合、ニューラルネットワークによって生成される出力は、コンテンツアイテムのセットの各々に関するスコアであり得る。この場合、各スコアは、ユーザがコンテンツアイテムを推奨することに好意的に応答するであろう推定尤度を表わしている。
別の例として、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が、ある一言語における一連のテキストである場合、ニューラルネットワークによって生成される出力は、別の言語におけるテキストの断片からなるセットの各々についてのスコアであり得る。この場合、各スコアは、他の言語におけるテキストの断片が、入力テキストを他の言語に適切に翻訳したものである推定尤度を表わしている。
別の例として、ニューラルネットワークアーキテクチャによって定義されるニューラルネットワークへの入力が発話を表わすシーケンスである場合、ニューラルネットワークによって生成される出力は、テキストの断片からなるセットの各々についてのスコアであり得る。この場合、各スコアは、テキストの断片が発話についての正確なトランスクリプトである推定尤度を表わしている。
ハードウェアの例
図1は、例示的なニューラルアーキテクチャ検索システム100を示す。ニューラルアーキテクチャ検索システム100は、以下において説明されるシステム、構成要素および技術が実現され得る1つ以上の位置において1つ以上のコンピュータ上でコンピュータプログラムとして実現されるシステムの例である。
ニューラルアーキテクチャ検索システム100は、特定の機械学習タスクを実行するようにニューラルネットワークをトレーニングするためのトレーニングデータ102と、特定の機械学習タスクに対するニューラルネットワークの性能を評価するための検証セット104と、特定の機械学習タスクを実行する際にニューラルネットワークを実現する計算デバイスのリソース制約106を特定するデータと、を受取るシステムである。
ニューラルアーキテクチャ検索システム100は、トレーニングデータ102および検証セット104を用いて、特定のタスクを実行するように構成されたニューラルネットワークのためのニューラルネットワークアーキテクチャを決定する。当該アーキテクチャは、ニューラルネットワーク内の層の数、層の各々によって実行される演算、およびニューラルネットワーク内の層間の接続性、すなわち、どの層がニューラルネットワーク内の他のどの層からの入力を受取るか、を定義する。一般に、トレーニングデータ102および検証セット104はともに、1セットのニューラルネットワーク入力と、各ネットワーク入力ごとに、特定のタスクを実行するためにニューラルネットワークによって生成されるべきそれぞれのターゲット出力とを含む。たとえば、トレーニングデータのより大きなセットは、トレーニングデータ102および検証セット104を生成するためにランダムに分割されていてもよい。
ニューラルアーキテクチャ検索システム100は、特定のタスクを実行するように構成されたニューラルネットワークのためのニューラルネットワークアーキテクチャを決定する際にリソース制約を用いる。すなわち、ニューラルアーキテクチャ検索システム100は、リソース制約下でニューラルネットワークアーキテクチャを学習する。例示的なリソース制約は、利用可能なメモリの量、浮動小数点演算の数、推論速度、またはモデルサイズを含むがこれらに限定されない。リソース制約下でニューラルネットワークを学習することは、モバイルプラットフォームおよびリアルタイムのアプリケーションにとって特に有用である。
システム100は、トレーニングデータ102、検証セット104、および計算リソース制約を、さまざまな方法のいずれかで受取ることができる。たとえば、システム100は、たとえば、システム100によって利用可能にされたアプリケーションプログラミングインターフェイス(application programming interface:API)を用いて、データ通信ネットワークを介してシステムの遠隔ユーザからのアップロードとしてトレーニングデータを受取り、当該アップロードされたデータをトレーニングデータ102と検証セット104とにランダムに分割することができる。システム100はまた、たとえば、システム100によって利用可能にされたアプリケーションプログラミングインターフェイス(API)を用いて、データ通信ネットワークを介してシステムの遠隔ユーザからのアップロードとして、ユーザ定義された計算リソース制約を受取ることもできる。
別の例として、システム100は、ニューラルネットワークをトレーニングするために、システム100によってすでに維持されているどのデータを用いるべきかを特定する入力をユーザから受取り、次いで、この特定されたデータをトレーニングデータ102と検証セット104とに分割することができる。同様に、システム100は、ニューラルネットワークアーキテクチャを決定するために、システム100によって維持される複数のリソース制約のうちのどれを使用すべきかを特定する入力をユーザから受取ることができる。
ニューラルアーキテクチャ検索システム100は、計算セル生成器110と、計算セルパラメータ調整エンジン120と、ニューラルネットワークアーキテクチャ生成器130とを含む。
計算セル生成器110は、システム100によって決定されているニューラルネットワークアーキテクチャが属するニューラルネットワークの計算セルを定義するように構成される。計算セル生成器110によって定義される計算セルは、システム100によって決定されているニューラルネットワークアーキテクチャが属するニューラルネットワークのアーキテクチャ構築ブロック(たとえば、サブネットワーク)である。たとえば、それぞれの学習されたアーキテクチャおよび独立して学習された重みを有する定義済みの計算セルの複数のインスタンスを積層して、より深いニューラルネットワークを生成することができる。
計算セル生成器110によって定義される計算セルは各々、予め定められた数のノードVおよびエッジEのそれぞれの有向非巡回グラフG=(V,E)として表わすことができる。計算セルにおける各ノードx∈Vは、潜像表現、たとえば、畳み込みネットワークにおける特徴マップを表わす。各々の有向エッジ(ij)は演算Oi,jに関連付けられている。演算Oi,jはノードxを変換する。たとえば、演算は入力として潜像表現xを採用して、潜像表現xを出力する。各ノードは、その先行するノードの変換済み出力のすべてに基づいて計算することができる。たとえば、
Figure 0007312906000001
であり、ここで、
Figure 0007312906000002
はxの先行ノードのセットを表わす。例示的な計算セルは、以下において図4を参照して例示および説明される。
計算セル生成器110は、受取った入力102~106に基づいて計算セルを定義するように構成することができる。たとえば、定義された計算セルに含まれるノードおよびエッジの数は、システム100によって決定されているニューラルネットワークアーキテクチャが属するニューラルネットワークによって実行されるべき機械学習タスクと、ニューラルネットワークを実現するために利用可能な計算リソースとに依存し得る。
計算セルパラメータ更新エンジン120は、計算セル生成器110からの定義された計算セル122を表わすデータを受取るように構成される。計算セルパラメータ調整エンジン120は、リソース制約106を受ける検証損失関数を最適化するために、計算セルハイパーパラメータの値および計算セル重みの値を反復的に調整するように構成される。リソース制約106を受ける検証損失関数を最適化するために計算セルハイパーパラメータの値および計算セル重みの値を調整することは、連続緩和戦略を実現して、アーキテクチャ検索空間を候補演算Oi,jの所定の離散セットによって定義される離散検索空間から連続検索空間にマッピングすることを含んでおり、これにより、勾配降下を用いてアーキテクチャを決定することができるようになる。次いで、連続検索空間についての制約付き最適化問題を実行して、計算セルハイパーパラメータの調整済み値および計算セル重みの調整済み値を決定することで、検証損失関数を最適化する。計算セルパラメータ更新エンジン120によって実行される演算は、図2および図3を参照しつつ以下においてより詳細に記載される。
ニューラルネットワークアーキテクチャ生成器130は、調整された計算セルパラメータ値132(たとえば、ハイパーパラメータ132aおよび重み132b)を表わすデータを計算セルパラメータ調整エンジン120から受取るように構成される。ニューラルネットワークアーキテクチャ生成器130は、調整された計算セルパラメータ値(および定義された計算セル122)を用いてニューラルネットワークアーキテクチャ150を決定するように構成される。たとえば、ニューラルネットワークアーキテクチャ生成器130は、ニューラルネットワークアーキテクチャ150を、定義された計算セルの複数のコピーの積重ねに等しいものと決定することができる。この場合、計算セルの各コピーのアーキテクチャは、調整された計算セルパラメータ値132によって定義されたセルアーキテクチャを有する。場合によっては、ニューラルネットワークアーキテクチャ生成器130は、決定されたニューラルネットワークアーキテクチャ内の計算セルの積重ね同士の間に追加の層(たとえば、1つ以上のフィルタ層)を含み得る。定義された計算セルおよび学習済み計算セルパラメータを用いてニューラルネットワークアーキテクチャを決定することについて、図2を参照して以下でより詳細に説明する。
ニューラルネットワーク検索システム100は、ニューラルネットワークのアーキテクチャを特定するアーキテクチャデータ150、すなわち、ニューラルネットワークの一部である層を特定するデータ、層間の接続性、および層によって実行される演算、を出力することができる。たとえば、ニューラルネットワーク検索システム100は、トレーニングデータおよびリソース制約をサブミットしたユーザに対してアーキテクチャデータ150を出力することができる。次いで、ユーザは、リソース制約付きデバイスを用いて、決定されたアーキテクチャを有するニューラルネットワークのインスタンスをトレーニングするとともに、トレーニングされたニューラルネットワークを用いてニューラルネットワーク入力を処理することができる。
いくつかの実現例では、アーキテクチャデータ150を出力する代わりに、またはアーキテクチャデータ150を出力することに加えて、システム100は、たとえば、最初から、または、アーキテクチャを有するニューラルネットワークをトレーニングした結果として生成されたパラメータ値を微調整するために、決定されたアーキテクチャを有するニューラルネットワークのインスタンスをトレーニングし、次いで、トレーニングされたニューラルネットワークを用いて、たとえば、システムが提供するAPIを介して、ユーザによって受信された要求を処理する。すなわち、システム100は、処理されるべき入力を受取り、トレーニングされたニューラルネットワークを用いて入力を処理し、トレーニングされたニューラルネットワークによって生成された出力を提供するか、または受取った入力に応答して生成された出力から導出されたデータを提供することができる。
ハードウェアのプログラミング
図2は、機械学習タスクを実行するためのニューラルネットワーク152を生成するための例示的な方法200のフロー図である。便宜上、方法200は、1つ以上の位置に配置された1つ以上のコンピュータのシステムによって実行されるものとして説明される。たとえば、ニューラルアーキテクチャ検索システム(たとえば、本明細書に従って適切にプログラムされた図1のニューラルアーキテクチャ検索システム100)は方法200を実行することができる。
システムは、ニューラルネットワークのための計算セルを定義する(ステップ202)。計算セルは、例示的な方法200によって生成されたニューラルネットワークのアーキテクチャ構築ブロック(たとえば、サブネットワーク)と見なすことができる。たとえば、ステップ206を参照して以下でより詳細に説明されるように、同じ学習されたアーキテクチャおよび独立して学習された重みを有する定義された計算セルの複数のインスタンスは、より深いニューラルネットワークを生成するために積層することができる。
定義された計算セルは、予め定められた数のノードVおよびエッジEの有向非巡回グラフG=(V,E)として表わすことができる。計算セルにおける各ノードx∈Vは、畳み込みネットワークにおける潜像表現(たとえば、特徴マップ)を表わす。各々の有向エッジ(ij)は演算Oi,jに関連付けられている。演算Oi,jはノードxを変換する。たとえば、当該演算では入力として潜像表現xを採用して、潜像表現xを出力する。各ノードは、その先行するノードの変換済み出力のすべてに基づいて計算することができる。たとえば、
Figure 0007312906000003
であり、ここで、
Figure 0007312906000004
はxの先行ノードのセットを表わす。
定義された計算セルに含まれるノードの数およびエッジの数は、最終的な生成されたニューラルネットワークによって実行されるべき機械学習タスクと、ニューラルネットワークのアーキテクチャを検索するために利用可能な計算リソースとに依存し得る。たとえば、大規模データセット上においてニューラルネットワーク全体またはニューラルネットワークの大規模サブネットワークのアーキテクチャを検索することは計算上費用が高くなる可能性があるので、定義された計算セルのサイズは、ニューラルネットワークの最終精度を維持しながらも計算コストを低減するように選択され得る。
いくつかの実現例では、計算セルは、1つ以上の入力ノードおよび1つ以上の出力ノード(たとえば、2つの入力ノードおよび単一の出力ノード)を含み得る。入力ノードは、前の計算セルの出力を変換するノードとして定義することができる。たとえば、ニューラルネットワークアーキテクチャが畳み込みニューラルネットワークアーキテクチャである場合、計算セルは畳み込みセルであり得るとともに、入力ノードは、前の2つの層からのセル出力として定義することができる。たとえば、入力ノードは入力画像を表わす。ニューラルネットワークアーキテクチャがリカレントニューラルネットワークアーキテクチャである場合、計算セルはリカレントセルであり、入力ノードは、現時点でのステップにおける入力と、前のステップから保持されている状態とを含む。出力ノードは、計算セルの出力を与えるノードとして定義することができる。計算セルの出力は、すべてのノードに対するリダクション演算(例えば、連結)を適用することによって得ることができ、たとえば、xN-1=concat(x,…,xN-2)であり、この場合、Nは計算セルにおけるノードの総数を表わしている。
有向エッジに関連付けられた演算は、ニューラルネットワークアーキテクチャが実行できる事前定義された演算のセットを含む離散アーキテクチャ検索空間
Figure 0007312906000005
の一部である。たとえば、事前定義された演算のセットは、プーリング演算、たとえば、最大プーリングまたは平均プーリング、カーネルサイズが変動する畳み込み演算、たとえば、分離可能な畳み込みまたは拡張された分離可能な畳み込み、または接続、たとえば、ゼロ接続またはアイデンティティ接続を含み得る。
アーキテクチャ検索空間
Figure 0007312906000006
は、事前定義された演算のセット
Figure 0007312906000007
内の各候補演算を、(本明細書では混合演算
Figure 0007312906000008
とも称される)事前定義された候補演算のセットからの候補演算のそれぞれの線形結合と置換えることによって、連続検索空間に変換することができる。それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータによってパラメター化されるそれぞれの混合重みを有する。いくつかの実現例では、各々の混合演算
Figure 0007312906000009
は、
Figure 0007312906000010
におけるすべての実現可能な演算のソフトマックス加重和を出力する。例示的な混合演算が以下の式(1)により与えられる。
Figure 0007312906000011
式(1)では、1対のノード(i,j)についての演算混合重みが、ベクトル
Figure 0007312906000012
によってパラメター化される。
アーキテクチャ検索空間
Figure 0007312906000013
が連続検索空間に変換された後、機械学習タスクを実行するためにニューラルネットワークを生成するタスクは、連続変数θ={θ(i,j)}のセットを学習することを含む。連続変数のセットが学習されると、対応する離散計算セルアーキテクチャは、対応するエッジの強度に基づいてノードXについてのいくつかの最強の先行ノードを最初に決定することによって得ることができる。ここで、エッジ(i,j)の強度は以下の式(2)で定義される。
Figure 0007312906000014
たとえば、当該システムは、ノードxについての最強の先行ノードのxの先行ノード
Figure 0007312906000015
のセットのサイズに等しい数を決定することができる。次いで、エッジ(i,j)に関する混合演算は、以下の式(3)で定義されるように、混合重みが最も大きい単一の演算と置換される。
Figure 0007312906000016
当該システムは、検証損失関数を最適化することによって、i)計算セルアーキテクチャを定義する計算セルハイパーパラメータと、ii)計算セル重みとを学習する(ステップ204)。
検証損失関数
Figure 0007312906000017
は、トレーニング済みニューラルネットワークを通じて1セットの検証データを実行した後に得られる誤差の尺度を表わす。検証損失は、計算セルハイパーパラメータθおよびニューラルネットワーク重みωに依存する。すなわち、
Figure 0007312906000018
であり、検証損失関数を最適化することは、検証損失
Figure 0007312906000019
を最小化する最適な計算セルハイパーパラメータθを決定することを含む。ここで、ω=ω(θ)は、トレーニングデータ(ニューラルネットワークによって実行されるべき機械学習タスクに特有のトレーニングデータ)に関して得られる誤差の尺度を表わすトレーニング損失関数
Figure 0007312906000020
を最適化することによって得られる計算セル重みを表わすものであり、すなわち、
Figure 0007312906000021
である。言い換えれば、当該システムは2レベル最適化を実行するものであって、計算セルハイパーパラメータθは上位レベルパラメータであり、計算セル重みωは下位レベルパラメータである。
当該システムは、1つ以上のリソース制約を受ける検証損失関数を最適化する。1つ以上のリソース制約は、例示的な方法200を用いて生成されたニューラルネットワークを実現する際に利用可能な計算リソースに基づいて、ユーザによって定義され得る。たとえば、当該システムは、さまざまリソースコストの目標値を表わすデータを入力として、たとえば、利用可能なメモリ、FLOP、または推論速度などを受取り得る。
当該システムは、計算セルハイパーパラメータをそれぞれのリソースコストにマッピングする対応するコスト関数に、各々のユーザ定義リソース制約を関連付けることができる。たとえば、当該システムは、式(3)に従って計算セルハイパーパラメータθから離散化ネットワークアーキテクチャを作成し、離散化ネットワークについてのコストを計算して、計算セルアーキテクチャの正確なコストを決定することができる。離散化ネットワークアーキテクチャの目的関数は連続的ではないので、勾配降下を用いて目的関数を最適化することは困難である。したがって、当該システムは、ユーザ定義リソース制約に対して連続的な緩和戦略を実現する。この場合、定義された計算セルにおけるエッジ(i,j)のコストは、以下の式(4)によって与えられるように、すべての実現可能な演算のコストに関するソフトマックスとして計算される。
Figure 0007312906000022
式(4)において、
Figure 0007312906000023
は、
Figure 0007312906000024
におけるすべての演算のリソースコストを表わし、
Figure 0007312906000025
はソフトマックス関数を表わし、σはインジケータ関数を表わし、
Figure 0007312906000026
は、ノードjについての先行ノードのセットを表わす。
式(4)は、θから導出される離散アーキテクチャの実際のコストへの近似として、或るセルにおけるリソースコストの予測値を用いる。式(4)において関数形式を用いることには複数の利点がある。たとえば、式(4)は微分可能なw.r.t.θであるので、勾配降下を用いることで検証損失関数を最適化することが可能となる。別の例として、式(4)は簡単に実現することができる。なぜなら、エッジ(i,j)に関する各候補演算のリソースコストがθ(i,j)の値とは無関係であるからである。したがって、
Figure 0007312906000027
はトレーニング前に固定して計算することができる。特定のプラットフォーム上での推論速度などのより複雑なリソース制約が実現される場合、アーキテクチャハイパーパラメータをリソースコストにマッピングするニューラルネットワークを学習することができる。
当該システムは、モデルが過度に単純化されたアーキテクチャを学習することを防止するために、各コスト関数ごとに下限制約および上限制約を設定することができる。下限制約は、モデルが充分な表現能力を有することを確実にするように設定することができる。
要約すると、当該システムは、以下の式(5)によって与えられる制約付き最適化を実行する。
Figure 0007312906000028
式(5)において、
Figure 0007312906000029
はトレーニング損失を表わし、
Figure 0007312906000030
M個のコスト関数のセットを表わし、
Figure 0007312906000031
は、それぞれ、コスト制約のユーザ定義の下限および上限を表わす。すなわち、コストΦ(θ)は、
Figure 0007312906000032
の範囲に収まるように制約される。検証損失関数
Figure 0007312906000033
を最適化するために、当該システムは反復投影法を実行する。当該システムが反復投影法を実行するのは、θに対するコスト関数が式(4)中のソフトマックス関数のせいで非凸になるからであり、目的関数に対する閉形式解が存在しないからである。
反復投影法は、2つの交互位相における検証損失関数を最適化するものであり、2つの交互位相とは、制約なしでより大きいパラメータ空間において計算セルハイパーパラメータθを学習するために検証損失関数の制約なし最適化を実行することによって、改善されたアーキテクチャを検索する制約なしトレーニング位相と、制約なしトレーニング位相によって出力される計算セルハイパーパラメータθを、式(5)の制約によって定義される実現可能なセット内のその最近点に投影するアーキテクチャ投影位相とである。制約なしトレーニング位相およびアーキテクチャ投影位相は、図3を参照して以下においてより詳細に説明される。
当該システムは、定義された計算セルならびに学習済み計算セルハイパーパラメータおよび計算セル重みを用いて機械学習タスクを実行するためのニューラルネットワークを生成する(ステップ206)。
いくつかの実現例では、定義された計算セル、ならびに学習済み計算セルハイパーパラメータおよび計算セル重みを用いてニューラルネットワークを生成するステップは、計算セルの複数のコピーを積層するステップを含み得る。たとえば、当該システムは、計算セルの複数のコピーを生成することができる。この場合、計算セルの各コピーは、学習済みの計算セルハイパーパラメータによって定義されたのと同じセルアーキテクチャを有する。当該システムは、(ニューラルネットワークによって実行されるべき機械学習タスクに特有である)トレーニングデータのそれぞれのセット上で計算セルの各コピーをトレーニングすることができる。このようにして、計算セルの複数のコピーは計算セル重みを独立して学習したものとなっている。次いで、当該システムは、機械学習タスクを実行するためのより深いニューラルネットワークを作成するために、トレーニング済みの計算セルの複数のコピーを積層することができる。
定義された計算セルが入力ノードおよび出力ノードを含む場合、トレーニング済みの計算セルの複数のコピーを積層するステップは、計算セルの第1のコピー内の出力ノードを除去するステップと、計算セルの中間コピーの入力ノードおよび出力ノードを除去するステップと、積層前に計算セルの最後のコピーの入力ノードを除去するステップとを含み得る。定義された計算セルが入力ノードおよび出力ノードを含まない場合、トレーニング済みの計算セルの複数のコピーを積層するステップは、1つ以上の入力ノードおよび1つの出力ノードをこの積重ねに追加するステップを含み得る。いずれの場合も、当該システムはさらに、追加のノードおよび/または層を、トレーニング済みの計算セルのコピーの積重ね(たとえば、1つ以上のフィルタ層)に追加することができる。
いくつかの実現例では、当該システムは、ニューラルネットワークを生成するための例示的な方法200を実行する際にマルチレベル検索戦略を実現することができる。マルチレベル検索戦略を実現するために、当該システムは、ステップ202において複数の計算セルを定義することができる。この場合、定義された計算セルの各々は、予め定められた数のノードおよびエッジのそれぞれの有向非巡回グラフとして表わすことができる。すなわち、定義された複数の計算セルは、それぞれ異なるアーキテクチャを有し得る。次いで、当該システムは、定義された計算セルごとにステップ204を実行し、学習済み計算セルおよび/または学習済み計算セルのコピーを組合わせてニューラルネットワークを生成することができる。これはステップ206を参照して説明されるとおりである。
マルチレベル検索戦略を実現することは複数の理由から有利であり得る。たとえば、さまざまネットワーク深度におけるセルでは、リソースコスト(たとえば、パラメータの数およびFLOPの数)の変動が大きくなる可能性がある。なぜなら、入力の分解能を低下させるたびにフィルタのチャネルの数が増加するからである。この設計は、情報フローのボトルネックを回避するために深層ネットワークにおいて広く用いられている。この場合、低レベル層、すなわち入力に近い層、は高レベル層よりも大きなFLOPを有する一方で、高レベル層は低レベル層よりも多数のパラメータを有する。学習済みアーキテクチャが所与のリソース制約を満たすようにするためには、セルのアーキテクチャを層の深さに応じて変化させることが有利であり得る。別の例として、深さが異なるセルは、ネットワークの全体的な性能に対してさまざまな異なる影響を及ぼす可能性があり、たとえば、パラメータの数を減らすことで(入力に近い)低レベル層が受ける影響がより小さくなる可能性がある。
加えて、より軽量なアーキテクチャを得るために、当該システムは、たとえば、1×1convとなるように接続を予め定義するのではなく、ステップ202~204を適用して、計算セルのスタック間の接続セルまたは接続層を学習することができる。接続セルは、ステップ202を参照して上述したように定式化することができる。いくつかの実現例では、接続セルは、当該接続セル内に1つの入力ノードおよび1つのノードを含み得る。
図3は、図2を参照して上述した反復投影法を実行するための例示的なプロセス300を示すフロー図である。便宜上、プロセス300は、1つ以上の位置に配置される1つ以上のコンピュータのシステムによって実行されるものとして説明されるだろう。たとえば、本明細書に従って適切にプログラムされるニューラルアーキテクチャ検索システム(たとえば、図1のニューラルアーキテクチャ検索システム100)は、プロセス300を実行することができる。
当該システムは、計算セルハイパーパラメータの値(θ=θ)および計算セル重みの値(ω=ω)をランダムに初期化する(ステップ302)。
当該システムは、制約なしトレーニングプロセス(すなわち、以下に記載するような検証損失関数の制約なし最適化)と、アーキテクチャ投影プロセスとを、予め定められた反復回数だけ、または予め定義された収束基準が満たされるまで、反復して実行する(ステップ304)。たとえば、各々の反復は、制約なしトレーニングプロセスの実施と、その直後に続くアーキテクチャ投影プロセスの実施とを含み得る。
各反復のたびに、当該システムは、反復ごとに計算セルハイパーパラメータθおよび計算セル重みωを得る(ステップ304a)。反復が反復投影法の第1の反復である場合、システムは、ランダムに初期化された計算セルハイパーパラメータθ=θと、ランダムに初期化された計算セル重みw=wとを得ることができる。反復が反復投影法の後続の反復である場合、システムは、反復投影法の前回の反復t-1から計算セルハイパーパラメータθt-1および計算セル重みωt-1を受取ることができる。
当該システムは、図3を参照して上記で定義された検証損失
Figure 0007312906000034
を最適化する(最小化する)調整済み計算セルハイパーパラメータを決定することによって、制約なしトレーニングプロセスを実行する(ステップ304b)。上述したように、ω=ω(θ)は、トレーニング損失関数
Figure 0007312906000035
を最適化することによって得られる計算セル重みを表わす。すなわち、当該システムは、以下の式(6)で与えられる最適化問題を解く。
Figure 0007312906000036
計算セル重みωおよび計算セルハイパーパラメータθの両方について式(6)に対する正確な解を並列に得ることが困難であるので、当該システムは、座標勾配降下技術を実施して、重みωおよびハイパーパラメータθを、一方の値を固定した状態で、反復的かつ交互に更新する。
たとえば、第1のステップでは、当該システムは、受取った計算セルハイパーパラメータθの値を固定し、
Figure 0007312906000037
に沿って降下させることによって、更新された計算セル重みωt+1を得ることができる。第2のステップでは、当該システムは、第1のステップ中に得られた計算セル重みωt+1の値を固定し、
Figure 0007312906000038
に沿って降下させることによって、更新された計算セルハイパーパラメータθt+1を得る。当該システムは、予め定められた反復回数にわたり、または予め定義された収束基準が満たされるまで、第1のステップおよび第2のステップを反復的に実行することができる。第2のステップ中、ωおよびθは計算効率の増大および申し分のない性能を得るために無関係であると仮定することができる。
システムは、調整済み計算セルハイパーパラメータθt+1を用いてアーキテクチャ投影プロセスを実行する(ステップ304c)。システムは、更新済み計算セルハイパーパラメータθt+1を、式(5)で与えられるリソース制約によって定義される実現可能なセット内の最近点θに投影する。この投影の目的は以下の式(7)によって説明することができる。
Figure 0007312906000039
ここで、
Figure 0007312906000040
がθの非凸関数であるので、式(7)に対する閉形式解は存在しない。したがって、システムは、式(7)を、以下の式(8)によって与えられるそのラグランジュに変換する。
Figure 0007312906000041
システムは、勾配降下を実行して式(8)を最適化する。時間ステップt=0において、システムは、
Figure 0007312906000042
を設定する。次の時間ステップtにおいて、システムは、
Figure 0007312906000043
Figure 0007312906000044
の方向に降下させることによって、
Figure 0007312906000045
を得る。システムは、すべての制約が満たされるまで、または、予め定められた最大反復回数eに達するまで、当該更新を反復的に実行する。
いくつかの実現例では、システムは、重み付け項λおよびλを、すべての制約に関して同一のλ=λ=λとなるように設定する。収束を容易にするために、λは、トレーニング中に指数関数的に減少するように設定することができる。トレーニングの終わりには、
Figure 0007312906000046
となる。単純なリソース制約のために
Figure 0007312906000047
を計算するには高速であるので、アーキテクチャ反復投影位相(ステップ404c)は、制約なしのトレーニング位相(ステップ404b)よりも高速である。
システムは、式(8)によって与えられるラグランジュを最適化することによって得られる計算セルパラメータθを、制約なしのトレーニングプロセスおよびアーキテクチャ投影プロセスの次の反復のための入力として提供する。反復が最終反復である場合、システムは、図3を参照して上述した離散アーキテクチャを導出するためにハイパーパラメータθを与える(ステップ306)。
例示的なプロセス400を実行することで、いくつかの利点が提供される。たとえば、計算セル重みおよび計算セルハイパーパラメータを共同で最適化することによって、システムは、アーキテクチャ投影プロセスのための改善された開始点を学習することができる。別の例として、アーキテクチャ投影位相が実行された後、制約なしトレーニング位相を実行して、より広い制約なしパラメータ空間において計算セルアーキテクチャを学習する。したがって、アーキテクチャ投影位相により、結果として準最適な計算セルアーキテクチャが得られたとしても、制約なしのトレーニング位相は、依然として、改善された計算セルアーキテクチャを学習することができる。加えて、ニューラルネットワークは、初期トレーニング位相における重みに対する摂動に対して影響され易い可能性があるので、いくつかの実現例では、当該システムはウォームスタート戦略を実現することができる。このウォームスタート戦略では、反復投影法の第1の反復のための制約なしトレーニング位相は、反復投影法の後続の反復と比べて、第1のステップおよび第2のステップの反復回数がより多くなっている。これにより、アーキテクチャ投影位相における不良な局所最適点においてモデルが詰まってしまう尤度を低くすることができる。
図4は、離散計算セルアーキテクチャの学習を概念的に可視化した例を示す。
段階(a)は、例示的な方法200のステップ202に対応する。段階(a)において、初期計算セル400が定義される。初期計算セル400は、4つの中間ノード、たとえば、ノード402を、含む。初期計算セル400はさらに、1つ以上の入力ノードおよび1つの出力ノードを含み得るが、明確にするために、これら入力ノードおよび出力ノードは図4では省略している。初期計算セル400はさらに、中間ノード間の6つの有向エッジ、たとえばエッジ404、を含む。
式(1)を参照して上述したように、段階(b)において、6つのエッジの各々に対する演算は、候補演算の予め定義されたセット内のすべての候補演算の組合せに置換えられる。図4に示す例示的な視覚化では、3つの候補演算があるが、実現例の中には、より少ない候補演算があってもよく、またはより多い候補演算があってもよい。
段階(c)は、例示的な方法200のステップ204に対応する。段階(c)では、図3を参照して上述した反復投影法を適用して、式(5)によって与えられる制約付き最適化問題を解く。この場合、アーキテクチャパラメータおよびセル内の重みは、リソース制約を満たすように共同で最適化される。
段階(d)では、最終計算セルアーキテクチャ406は組合わされた演算における学習済みの重みから導出される。次いで、例示的な方法200のステップ206を参照して上述したように、計算セルを用いてニューラルネットワークを生成することができる。
本明細書に記載されている主題および機能的動作の実施形態は、デジタル電子回路で実現されてもよく、有形的に具体化されたコンピュータソフトウェアもしくはファームウェアで実現されてもよく、本明細書に開示されている構造およびそれらの構造的等価物を含むコンピュータハードウェアで実現されてもよく、またはそれらのうちの1つ以上の組合せで実現されてもよい。本明細書中に記載される主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわちデータ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的なプログラムキャリア上で符号化されるコンピュータプログラム命令の1つ以上のモジュールとして実現されてもよい。代替的または付加的には、プログラム命令は、データ処理装置によって実行されるように好適な受信機装置に送信される情報を符号化するために生成される人為的に生成された伝搬信号(たとえば機械によって生成された電気信号、光学信号または電磁気信号)で符号化することができる。コンピュータ記憶媒体は、機械読取可能なストレージデバイス、機械読取可能な記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはこれらのうちの1つ以上の組合せであってもよい。しかしながら、コンピュータ記憶媒体は伝搬信号ではない。
「データ処理装置」という語は、データを処理するためのあらゆる種類の装置、デバイスおよびマシンを包含し、一例として、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。装置はまた、専用論理回路類、たとえばフィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)、特定用途向け集積回路(application-specific integrated circuit:ASIC)を含み得る。装置はまた、ハードウェアに加えて、該当するコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステムまたはこれらのうち1つ以上の組合せを構成するコード、を含み得る。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプトまたはコードとも称され得るかまたは記載され得る)は、コンパイラ型言語もしくはインタープリタ型言語または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で書込まれてもよく、スタンドアロンのプログラムとして、またはコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチンまたは他のユニットとして任意の形態で展開されてもよい。コンピュータプログラムは、ファイルシステム内のファイルに対応していてもよいが、必ずしも対応している必要はない。プログラムは、他のプログラムもしくはデータ(たとえばマークアップ言語文書に格納された1つ以上のスクリプト)を保持するファイルの一部に格納されてもよく、当該プログラムに専用の単一のファイルに格納されてもよく、または複数の調整されたファイル(たとえば1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で、または、一箇所に位置するかもしくは複数の箇所にまたがって分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるように展開されてもよい。
本明細書で使用する「エンジン」または「ソフトウェアエンジン」は、入力と異なる出力を提供する、ソフトウェアによって実現される入出力システムのことを言う。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(software development kit:「SDK」)またはオブジェクト等の機能の符号化ブロックであってもよい。各エンジンは、適切な任意の種類のコンピューティングデバイス上で実現することができ、このコンピューティングデバイスは、たとえば、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽再生機器、電子書籍リーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または、1つ以上のプロセッサとコンピュータ読取可能媒体とを含むその他の据え置き型デバイスもしくは移動デバイスである。加えて、エンジンの2つ以上が同一のコンピューティングデバイス上で実現されてもよく、または、異なるコンピューティングデバイス上で実現されてもよい。
本明細書中に記載されているプロセスおよび論理フローは、入力データ上で演算して出力を生成することによって機能を実行するように1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行され得る。また、プロセスおよび論理フローは、特殊用途論理回路、たとえばFPGA(フィールド・プログラマブル・ゲート・アレイ)またはASIC(特殊用途向け集積回路)によって実行されてもよく、装置も、特殊用途論理回路、たとえばFPGAまたはASICとして実現されてもよい。
コンピュータプログラムの実行に適したコンピュータは、一例として、汎用マイクロプロセッサ、特殊用途マイクロプロセッサもしくはこれら両方を含むか、または、他の任意の種類の中央処理装置を含むか、またはこれらに基づいていてもよい。概して、中央処理装置は、リードオンリメモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受信するであろう。コンピュータの必須の要素は、命令を実行または実施するための中央処理装置と、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスクまたは光ディスクも含み、または、当該1つ以上の大容量記憶装置からデータを受信するもしくは当該1つ以上の大容量記憶装置にデータを転送するように、もしくは受信も転送も行なうように動作可能に結合されるであろう。しかし、コンピュータは、このようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば数例を挙げると、携帯電話、パーソナルデジタルアシスタント(personal digital assistant:PDA)、携帯型オーディオまたはビデオプレーヤ、ゲームコンソール、グローバル・ポジショニング・システム(Global Positioning System:GPS)受信機、またはポータブルストレージデバイス(たとえばユニバーサル・シリアル・バス(universal serial bus:USB)フラッシュドライブ)に組込まれてもよい。
コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能な媒体は、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、一例としてたとえばEPROM、EEPROMおよびフラッシュメモリデバイスといった半導体メモリデバイス、たとえば内蔵ハードディスクまたは取外し可能なディスクといった磁気ディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、特殊用途論理回路によって補完されてもよく、または特殊用途論理回路に組込まれてもよい。
ユーザと対話できるようにするために、この明細書中に記載される主題の実施形態は、情報をユーザに表示するための表示装置、たとえば陰極線管(CRT)または液晶表示(liquid crystal display:LCD)モニタと、ユーザがコンピュータに入力することを可能にするキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実現され得る。ユーザと対話できるようにするために他の種類のデバイスが使用されてもよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックといった形態であってもよく、ユーザからの入力は、音響入力、音声入力または触知入力を含む任意の形態で受取ることができる。また、コンピュータは、ユーザが使用するデバイスとの間で文書を送受信することによって、たとえばウェブブラウザから受取った要求に応答してユーザのクライアントデバイス上でウェブブラウザにウェブページを送ることによって、ユーザと対話し得る。
本明細書に記載の主題の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含むか、または、ミドルウェアコンポーネント、たとえばアプリケーションサーバを含むか、または、フロントエンドコンポーネント、たとえば本明細書に記載の主題の実現例とユーザがやり取りできるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータを含むか、または、1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合わせを含む、コンピューティングシステムにおいて実現することができる。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば通信ネットワークにより、相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえばインターネットを含む。
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントおよびサーバは、一般的には互いから離れており、典型的には通信ネットワークを通してやり取りする。クライアントとサーバとの関係は、各コンピュータ上で実行されるとともにクライアントとサーバとの相互の関係を有するコンピュータプログラムにより生じるものである。
本明細書は多くの具体的な実現例の詳細を含んでいるが、これらは、いずれかの発明の範囲、またはクレームされ得るものの範囲を限定するものとして解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有となり得る特徴の説明であると解釈されるべきである。別々の実施形態の文脈において本明細書に記載されている特定の特徴は、単一の実施形態において組合せて実現されてもよい。逆に、単一の実施形態の文脈において記載されているさまざまな特徴は、複数の実施形態において別々に、または任意の好適な副次的組合せで実現されてもよい。さらに、特徴は特定の組合せで作用するものとして上述され得るとともに、さらにはそのようなものとして最初にクレームされ得るが、クレームされている組合せのうちの1つ以上の特徴は、場合によっては、当該組合せから削除されてもよく、クレームされている組合せは、副次的組合せまたは副次的組合せの変形例に向けられてもよい。
同様に、動作は特定の順序で図面に示されているが、これは、このような動作が、望ましい結果を達成するために、示されている特定の順序もしくは連続的な順序で実行されなければならないと理解されるべきではなく、または、望ましい結果を達成するために、示されているすべての動作が実行されなければならないと理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利であるかもしれない。さらに、上述の実施形態におけるさまざまなシステムモジュールおよび構成要素の分離は、すべての実施形態においてこのような分離が必要であると理解されるべきではなく、記載されているプログラム構成要素およびシステムが、一般に単一のソフトウェア製品に一体化され得ること、または複数のソフトウェア製品にパッケージングされ得ることが理解されるべきである。
主題の特定の実施形態が説明されてきた。他の実施形態は添付の特許請求の範囲内である。たとえば、特許請求の範囲に記載されている動作は、異なる順序で実行されて、依然として望ましい結果を達成することができる。一例として、添付の図面に示されているプロセスは、所望の結果を達成するために、必ずしも、図示される特定の順序または連続的順序を必要とするものではない。特定の実現例では、マルチタスクおよび並列処理が有利であるかもしれない。

Claims (20)

  1. コンピュータによって実現される方法(200)であって、
    ニューラルネットワークの計算セル(122)を定義するステップを含み、前記計算セル(122)は、ノード(402)およびエッジ(404)の有向グラフを含み、各ノード(402)は、それぞれのニューラルネットワーク潜在表現を表わし、各エッジ(404)は、それぞれのニューラルネットワーク潜在表現を変換するそれぞれの演算を表わしており、前記方法(200)はさらに、
    それぞれのニューラルネットワーク潜在表現を変換する各々の演算を、候補演算の予め定義されたセットからの候補演算のそれぞれの線形結合と置換えるステップを含み、それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータ(132a)によってパラメータ化されたそれぞれの混合重みを有しており、前記方法(200)はさらに、
    1つ以上の計算リソース制約(106)を受ける検証損失関数を最適化するために、i)前記計算セルハイパーパラメータ(132a)の値、およびii)計算セル重み(132b)の値を反復的に調整するステップを含み、各反復ごとに、
    前記検証損失関数の制約なし最適化を実行して、前回の反復についての前記計算セルハイパーパラメータ(132a)の値を更新し、前記計算セル重み(132b)の調整済み値を得るステップと、
    前記計算セルハイパーパラメータ(132a)の更新済み値を、前記1つ以上のリソース制約(106)によって定義される実現可能なセット内の最近点に投影して、前記計算セルハイパーパラメータ(132a)の調整済み値を得るステップとを含み、前記方法はさらに、
    前記定義された計算セル(122)と前記計算セルハイパーパラメータ(132a)の前記調整済み値および前記計算セル重み(132b)の前記調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワーク(152)を生成するステップを含む、方法(200)。
  2. 前記定義された計算セル(122)と前記計算セルハイパーパラメータ(132a)の前記調整済み値および前記計算セル重み(132b)の前記調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワーク(152)を生成するステップは、
    候補演算の各線形結合を、1つ以上の調整済み計算セルハイパーパラメータ(132a)によってパラメータ化された最大混合重みを有する単一の演算と置換えることによって、離散(152)計算セルアーキテクチャを定義するステップと、
    前記定義された離散計算セルアーキテクチャおよび前記計算セル重み(132b)の前記調整済み値を用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップとを含む、請求項1に記載の方法(200)。
  3. 前記定義された計算セル(122)と前記計算セルハイパーパラメータ(132a)の前記調整済み値および前記計算セル重み(132b)の前記調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワーク(152)を生成するステップは、前記定義された計算セル(122)の複数のコピーを積層するステップを含み、各コピーは、前記計算セルハイパーパラメータ(132a)の前記調整済み値によって定義される同じセルアーキテクチャを有する、請求項1または2に記載の方法(200)。
  4. 前記定義された計算セル(122)の複数のコピーを生成するステップと、
    前記定義された計算セル(122)の生成されたコピーの各々をそれぞれのトレーニングデータ(102)上でトレーニングするステップとをさらに含む、請求項3に記載の方法(200)。
  5. 前記定義された計算セル(122)の複数のコピーを積層するステップは、前記定義された計算セル(122)の前記複数のコピー同士の間に1つ以上の追加のニューラルネットワーク層をインターリーブするステップを含む、請求項3または4に記載の方法(200)。
  6. 前記1つ以上の追加のニューラルネットワーク層は、1つの入力ノード(402)および1つの中間ノード(402)を含む接続計算セル(122)を備え、前記方法(200)はさらに、1つ以上の計算リソース制約(106)を受ける前記検証損失関数を最適化するために、i)接続計算セルハイパーパラメータ(132a)の値、およびii)接続計算セル重み(132b)の値を反復的に調整することによって、前記接続計算セルを学習するステップを含む、請求項5に記載の方法(200)。
  7. 前記検証損失関数は、定義された計算セットを通じて検証データセットを実行した後に得られる誤差の尺度を表わす、請求項1から6のいずれか1項に記載の方法(200)。
  8. 検証損失関数を最適化するために、i)前記計算セルハイパーパラメータ(132a)の値、およびii)計算セル重み(132b)の値を反復的に調整するステップは、前記検証損失関数と、トレーニングデータ(102)上で得られる誤差の尺度を表わすトレーニング損失関数との2レベル最適化を実行するステップを含み、前記計算セルハイパーパラメータ(132a)は上位レベルパラメータを含み、前記計算セル重み(132b)は下位レベルパラメータを含む、請求項1から7のいずれか1項に記載の方法(200)。
  9. 前記1つ以上の計算リソース制約(106)は、メモリ、浮動小数点演算の数、または推論速度のうちの1つ以上に対するユーザ定義制約を含む、請求項1から8のいずれか1項に記載の方法(200)。
  10. 1つ以上の計算リソース制約(106)を受ける検証損失関数を最適化するために、i)前記計算セルハイパーパラメータ(132a)の値、および、ii)計算セル重み(132b)の値を反復的に調整するステップは、各々の計算リソース制約に関するそれぞれのコスト関数を定義するステップを含み、各々の定義されたコスト関数は、前記計算セルハイパーパラメータ(132a)をそれぞれのリソースコストにマッピングする、請求項1から9のいずれか1項に記載の方法(200)。
  11. 前記計算セル(122)におけるエッジ(404)のそれぞれのリソースコストは、演算の候補セットにおける演算のコストに対するソフトマックス(softmax)として計算される、請求項10に記載の方法(200)。
  12. 各々の定義されたコスト関数ごとに下限制約および上限制約を設定するステップをさらに含む、請求項10または11に記載の方法(200)。
  13. 前記検証損失関数の制約なし最適化を実行して、前回の反復についての前記計算セルハイパーパラメータ(132a)の値を更新し、前記計算セル重み(132b)の調整済み値を得るステップは、前記検証損失関数の前記制約なし最適化を反復的に実行するステップを含み、各反復ごとに、
    前記反復に関する前記計算セルハイパーパラメータ(132a)の値および前記計算セル重み(132b)の値を得るステップを含み、前記得るステップは、第1の反復のために、前記計算セルハイパーパラメータ(132a)のランダムに初期化された値と、前記計算セル重み(132b)のランダムに初期化された値とを得るステップ、または、前回の反復から前記計算セルハイパーパラメータ(132a)の値と前記計算セル重み(132b)の値とを得るステップを含み、各反復ごとに、さらに、
    予め定められた反復回数だけ、または、予め定義された収束基準が満たされるまで、反復的に、
    反復のために前記計算セルハイパーパラメータ(132a)の前記得られた値を固定し、前記計算セル重み(132b)に対するトレーニング損失関数の勾配に基づいて、更新された計算セル重み(132b)を得るステップと、
    前記更新された計算セル重み(132b)を固定し、前記計算セルハイパーパラメータ(132a)に対する前記検証損失関数の勾配に基づいて前記計算セルハイパーパラメータ(132a)の更新済み値を得るステップとを含む、請求項1から12のいずれか1項に記載の方法(200)。
  14. 前記更新された計算セル重み(132b)を固定し、前記計算セルハイパーパラメータ(132a)に対する前記検証損失関数の勾配に基づいて更新済みの計算セルハイパーパラメータ(132a)を得るステップは、前記計算セルハイパーパラメータ(132a)と前記計算セル重み(132b)とが無関係であると仮定するステップを含む、請求項13に記載の方法(200)。
  15. 前記計算セルハイパーパラメータ(132a)の更新済み値を、前記1つ以上のリソース制約(106)によって定義される実現可能なセット内の最近点に投影するステップは、前記実現可能なセット内の要素を識別するステップを含み、前記実現可能なセット内の前記要素は、i)前記計算セルハイパーパラメータ(132a)の前記更新済み値とii)前記要素との間の差の2ノルムを最小化するものである、請求項1から14のいずれか1項に記載の方法(200)。
  16. 前記候補演算の予め定義されたセットは、プーリング演算、畳み込み演算または接続演算を含む、請求項1から15のいずれか1項に記載の方法(200)。
  17. 前記ニューラルネットワークの複数の計算セル(122)を定義するステップを含み、各々の定義された計算セル(122)は、ノード(402)およびエッジ(404)のそれぞれの有向グラフによって表わすことができ、さらに、
    前記複数の定義された計算セル(122)の各々の定義された計算セル(122)ごとに、
    それぞれのニューラルネットワーク潜在表現を変換する各々の演算を、候補演算の予め定義されたセットからの候補演算のそれぞれの線形結合と置換えるステップを含み、それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータ(132a)によってパラメータ化されたそれぞれの混合重みを有し、さらに、
    1つ以上の計算リソース制約(106)を受ける検証損失関数を最適化するために、i)前記計算セルハイパーパラメータ(132a)の値、およびii)前記計算セル重み(132b)の値を反復的に調整するステップを含み、各反復ごとに、
    前記検証損失関数の制約なし最適化を実行して、前回の反復についての前記計算セルハイパーパラメータ(132a)の値を更新し、前記計算セル重み(132b)の調整済み値を得るステップと、
    前記計算セルハイパーパラメータ(132a)の更新済み値を、前記1つ以上のリソース制約(106)によって定義される実現可能なセット内の最近点に投影して、前記計算セルハイパーパラメータ(132a)の調整済み値を得るステップとを含み、さらに、
    前記定義された複数の計算セル(122)と前記計算セルハイパーパラメータ(132a)の前記調整済み値および前記計算セル重み(132b)の前記調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワークを生成するステップを含む、請求項1から16のいずれか1項に記載の方法(200)。
  18. トレーニングされたニューラルネットワーク(152)を得るために、トレーニングデータ(102)上で前記生成されたニューラルネットワーク(152)をトレーニングするステップと、
    前記トレーニングされたニューラルネットワーク(152)を用いて前記機械学習タスクを実行するステップとをさらに含む、請求項1から17のいずれか1項に記載の方法(200)。
  19. 1つ以上のコンピュータと、命令を格納した1つ以上のストレージデバイスとを備えるシステム(100)であって、前記命令は、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに以下の動作を実行させ、前記以下の動作は、
    ニューラルネットワークの計算セル(122)を定義する動作を含み、前記計算セル(122)は、ノード(402)およびエッジ(404)の有向グラフを含み、各ノード(402)は、それぞれのニューラルネットワーク潜在表現を表わし、各エッジ(404)は、それぞれのニューラルネットワーク潜在表現を変換するそれぞれの演算を表わしており、前記以下の動作はさらに、
    それぞれのニューラルネットワーク潜在表現を変換する各々の演算を、候補演算の予め定義されたセットからの候補演算のそれぞれの線形結合と置換える動作を含み、それぞれの線形結合における各々の候補演算は、1つ以上の計算セルハイパーパラメータ(132a)によってパラメータ化されたそれぞれの混合重みを有しており、前記以下の動作はさらに、
    1つ以上の計算リソース制約(106)を受ける検証損失関数を最適化するために、i)前記計算セルハイパーパラメータ(132a)の値、およびii)計算セル重み(132b)の値を反復的に調整する動作を含み、各反復ごとに、
    前記検証損失関数の制約なし最適化を実行して、前回の反復についての前記計算セルハイパーパラメータ(132a)の値を更新し、前記計算セル重み(132b)の調整済み値を得る動作と、
    前記計算セルハイパーパラメータ(132a)の更新済み値を、前記1つ以上のリソース制約(106)によって定義される実現可能なセット内の最近点に投影して、前記計算セルハイパーパラメータ(132a)の調整済み値を得る動作とを含み、前記以下の動作はさらに、
    前記定義された計算セル(122)と前記計算セルハイパーパラメータ(132a)の前記調整済み値および前記計算セル重み(132b)の前記調整済み値とを用いて機械学習タスクを実行するためのニューラルネットワーク(152)を生成する動作を含む、システム(100)。
  20. コンピュータによって実行されるプログラムであって、
    前記プログラムは、前記コンピュータに、請求項1~11のいずれか1項に記載の方法を実行させる、プログラム。
JP2022512432A 2019-08-23 2020-08-19 リソース制約付きニューラルネットワークアーキテクチャ検索 Active JP7312906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023112994A JP2023139057A (ja) 2019-08-23 2023-07-10 リソース制約付きニューラルネットワークアーキテクチャ検索

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/549,715 US11443162B2 (en) 2019-08-23 2019-08-23 Resource constrained neural network architecture search
US16/549,715 2019-08-23
PCT/US2020/047073 WO2021041133A1 (en) 2019-08-23 2020-08-19 Resource constrained neural network architecture search

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023112994A Division JP2023139057A (ja) 2019-08-23 2023-07-10 リソース制約付きニューラルネットワークアーキテクチャ検索

Publications (2)

Publication Number Publication Date
JP2022545038A JP2022545038A (ja) 2022-10-24
JP7312906B2 true JP7312906B2 (ja) 2023-07-21

Family

ID=72473956

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022512432A Active JP7312906B2 (ja) 2019-08-23 2020-08-19 リソース制約付きニューラルネットワークアーキテクチャ検索
JP2023112994A Pending JP2023139057A (ja) 2019-08-23 2023-07-10 リソース制約付きニューラルネットワークアーキテクチャ検索

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023112994A Pending JP2023139057A (ja) 2019-08-23 2023-07-10 リソース制約付きニューラルネットワークアーキテクチャ検索

Country Status (6)

Country Link
US (2) US11443162B2 (ja)
EP (1) EP4018390A1 (ja)
JP (2) JP7312906B2 (ja)
KR (1) KR20220047850A (ja)
CN (1) CN114503121A (ja)
WO (1) WO2021041133A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443162B2 (en) * 2019-08-23 2022-09-13 Google Llc Resource constrained neural network architecture search
US11544558B2 (en) * 2019-08-30 2023-01-03 Nec Corporation Continual learning of artificial intelligence systems based on bi-level optimization
JP7111671B2 (ja) * 2019-09-05 2022-08-02 株式会社東芝 学習装置、学習システム、および学習方法
US11625611B2 (en) 2019-12-31 2023-04-11 X Development Llc Training artificial neural networks 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
US11593627B2 (en) 2019-12-31 2023-02-28 X Development Llc Artificial neural network architectures based on synaptic connectivity graphs
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
US11556826B2 (en) * 2020-03-20 2023-01-17 Adobe Inc. Generating hyper-parameters for machine learning models using modified Bayesian optimization based on accuracy and training efficiency
US11568249B2 (en) * 2020-04-07 2023-01-31 International Business Machines Corporation Automated decision making for neural architecture search
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
US11496610B2 (en) * 2020-06-26 2022-11-08 Verizon Patent And Licensing Inc. Network management data translation, querying, and discrepancy detection
US20220147680A1 (en) * 2020-11-12 2022-05-12 Samsung Electronics Co., Ltd. Method for co-design of hardware and neural network architectures using coarse-to-fine search, two-phased block distillation and neural hardware predictor
US11915131B2 (en) * 2020-11-23 2024-02-27 International Business Machines Corporation Initializing optimization solvers
CN113034472B (zh) * 2021-03-25 2023-02-07 中山大学 一种基于梯度网络架构搜索的空域隐写分析方法及系统
CN113111668A (zh) * 2021-04-18 2021-07-13 沈阳雅译网络技术有限公司 一种用于翻译任务的语言建模系统结构搜索方法
CN113516163B (zh) * 2021-04-26 2024-03-12 合肥市正茂科技有限公司 基于网络剪枝的车辆分类模型压缩方法、装置及存储介质
US20220398450A1 (en) * 2021-06-15 2022-12-15 Lemon Inc. Automatically and efficiently generating search spaces for neural network
CN113343390B (zh) * 2021-06-30 2024-02-20 中国科学院工程热物理研究所 基于神经网络非线性模型的发动机线性化建模方法
US20220035877A1 (en) * 2021-10-19 2022-02-03 Intel Corporation Hardware-aware machine learning model search mechanisms
CN115620147B (zh) * 2022-11-29 2023-04-07 国网山东省电力公司济南供电公司 深度卷积神经网络的可微架构搜索方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019018375A1 (en) * 2017-07-21 2019-01-24 Google Llc NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS
US11741342B2 (en) * 2018-05-18 2023-08-29 Baidu Usa Llc Resource-efficient neural architects
US11443162B2 (en) * 2019-08-23 2022-09-13 Google Llc Resource constrained neural network architecture search

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIU, Hanxiao et al.,DARTS: Differentiable Architecture Search,arXiv[online],2019年,https://doi.org/10.48550/arXiv.1806.09055
ラクシュマナン バリアッパ,スケーラブルデータサイエンス 初版,第1版,株式会社翔泳社 佐々木 幹夫,2019年06月05日,312-321頁

Also Published As

Publication number Publication date
US20210056378A1 (en) 2021-02-25
US20220414425A1 (en) 2022-12-29
US11443162B2 (en) 2022-09-13
KR20220047850A (ko) 2022-04-19
EP4018390A1 (en) 2022-06-29
JP2023139057A (ja) 2023-10-03
JP2022545038A (ja) 2022-10-24
WO2021041133A1 (en) 2021-03-04
CN114503121A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
JP7312906B2 (ja) リソース制約付きニューラルネットワークアーキテクチャ検索
JP7157154B2 (ja) 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索
EP3711000B1 (en) Regularized neural network architecture search
US20230093469A1 (en) Regularizing machine learning models
KR102302609B1 (ko) 신경망 아키텍처 최적화
KR102448389B1 (ko) 어텐션-기반의 시퀀스 변환 신경망
EP4312157A2 (en) Progressive neurale netzwerke
JP2020512639A (ja) 強化学習を用いたデバイス配置最適化
CN109478254A (zh) 使用合成梯度来训练神经网络
US20230049747A1 (en) Training machine learning models using teacher annealing
US11893491B2 (en) Compound model scaling for neural networks
US11544105B2 (en) Recommendations for scheduling jobs on distributed computing devices
WO2019106965A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20230223112A1 (en) Retrosynthesis using neural networks
CN117121016A (zh) 在低级基元上的粒度神经网络架构搜索
CN115989489A (zh) 在对话系统中自动创建新意图并分配示例的概念预测
CN111406267B (zh) 使用性能预测神经网络的神经架构搜索

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220421

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220421

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: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230710

R150 Certificate of patent or registration of utility model

Ref document number: 7312906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150