JP6963627B2 - 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 - Google Patents

畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 Download PDF

Info

Publication number
JP6963627B2
JP6963627B2 JP2019553406A JP2019553406A JP6963627B2 JP 6963627 B2 JP6963627 B2 JP 6963627B2 JP 2019553406 A JP2019553406 A JP 2019553406A JP 2019553406 A JP2019553406 A JP 2019553406A JP 6963627 B2 JP6963627 B2 JP 6963627B2
Authority
JP
Japan
Prior art keywords
neural network
cell
output
convolution
child
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
JP2019553406A
Other languages
English (en)
Other versions
JP2020522035A (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 JP2020522035A publication Critical patent/JP2020522035A/ja
Application granted granted Critical
Publication of JP6963627B2 publication Critical patent/JP6963627B2/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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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]
    • 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
    • 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
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Description

関連出願の相互参照
本出願は、2017年7月21日に出願された米国仮出願第62/535,806号の優先権を主張するものである。先行出願の開示は、本出願の開示の一部とみなされ、参照により本出願の開示に組み込まれる。
本明細書は、畳み込みニューラルネットワークのためのアーキテクチャを決定することに関する。
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を利用して、受信された入力について出力を予測する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワークにおける次の層、すなわち、次の隠れ層または出力層への入力として用いられる。ネットワークの各層は、パラメータのそれぞれの組の現在値に従って、受信された入力から出力を生成する。
一部のニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、入力シーケンスを受信し、この入力シーケンスから出力シーケンスを生成するニューラルネットワークである。詳細には、再帰型ニューラルネットワークは、現在の時間ステップにおいて出力を計算する際に前の時間ステップからネットワークの内部状態の一部または全部を用いることができる。再帰型ニューラルネットワークの一例として長短期(LSTM)ニューラルネットワークがあり、これは1つまたは複数のLSTMメモリブロックを含む。各LSTMメモリブロックは1つまたは複数のセルを含んでよく、このセルは、セルに関する前の状態をセルが記憶することを可能にする入力ゲート、忘却ゲートおよび出力ゲートをそれぞれ含み、これはたとえば、現在のアクティベーションを起こす際に用いるため、またはLSTMニューラルネットワークの他の構成要素に提供されるためである。
J. Schulman、F. Wolski、P. Dhariwal、A. Radford、and O. Klimov、「Proximal policy optimization algorithms」、arXiv preprint arXiv:1707.06347、2017年 John Schulman、Sergey Levine、Philipp Moritz、Michael I. Jordan、Pieter Abbeel、「Trust Region Policy Optimization」、Proceedings of the 31st International Conference on Machine Learning、リール、フランス、2015年
本明細書は、1つまたは複数の場所にある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムについて記述し、このシステムは、ネットワークアーキテクチャ全体にわたって繰り返される畳み込みセルについてアーキテクチャを決定することによって、畳み込みニューラルネットワークのためのネットワークアーキテクチャを決定する。
本明細書中に記述される主題は、以下の利点のうちの1つまたは複数を実現するために特定の実施形態において実装され得る。1つまたは複数のタイプの畳み込みセルのアーキテクチャを予測し、次に、畳み込みニューラルネットワーク内に現れるそのタイプの各畳み込みセルに対して同一のアーキテクチャを再利用することによって、システムは、悪影響を及ぼすことなく、いくつかの場合にはさらに結果として生じるアーキテクチャの性能を向上させて、可能なアーキテクチャの検索スペースを効果的に限定する。このようにして、本明細書中に記述されるように可能なアーキテクチャの検索スペースを効果的に限定することによって、システムは、他の技術に比べてはるかに少ない計算リソースを用いながら、アーキテクチャのより大きなスペースを検索する他の技術によって見つけられるアーキテクチャの性能に匹敵し、またはこれを上回るアーキテクチャを決定することができる。加えて、システムはより小さなデータの組上で畳み込みセルのアーキテクチャを効果的に決定し、次に、さまざまな範囲のデータおよび計算基準にわたって同一セルのアーキテクチャを再利用することができる。詳細には、システムは、携帯型および埋込み型のプラットフォーム向けの合理的なアーキテクチャに匹敵するかこれより効率の良い少ない計算量で、結果として生じる学習されたアーキテクチャを効果的に利用して画像処理タスクを実行することができる。
本明細書中に記述される主題の1つまたは複数の実施形態の詳細については、添付の図面および以下の記述において説明される。主題の他の特徴、態様および利点については、記述、図面および特許請求の範囲から明らかになるであろう。
例示的なニューラルアーキテクチャ検索システムを示す図である。 第1の畳み込みセルの例示的な動作ブロックを示す図である。 出力シーケンスを生成するコントローラニューラルネットワークの一例の図である。 コントローラパラメータの現在値を更新するための例示的なプロセスのフロー図である。
さまざまな図面における同様の参照番号および表示は、同様の要素を示す。
本明細書は、1つまたは複数の場所にある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムについて記述し、このシステムは、コントローラニューラルネットワークを用いて、ネットワークアーキテクチャ全体にわたって繰り返される第1の畳み込みセルについてアーキテクチャを決定することによって、チャイルド畳み込みニューラルネットワークのためのネットワークアーキテクチャを決定する。このチャイルド畳み込みニューラルネットワーク(CNN)は、画像処理タスクを実行するように構成される。
一般に、チャイルドCNNは、入力画像を受信し、かつこの入力画像を処理して入力画像についてネットワーク出力を生成するように構成される。たとえば、所与の画像についてニューラルネットワークによって生成された出力は対象物カテゴリの組のそれぞれのスコアであり得、各スコアは画像がそのカテゴリに属する対象物の画像を含むという推定された可能性を表す。別の例では、ニューラルネットワークによって生成された出力は、入力画像の数値埋込みであり得る。さらに別の例として、ニューラルネットワークによって生成された出力は、特定のタイプの対象物が描写される入力画像中の場所を識別することができる。
図1は、例示的なニューラルアーキテクチャ検索システム100を示す。ニューラルアーキテクチャ検索システム100は、1つまたは複数の場所にある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムの一例であり、以下に記述されるシステム、構成要素および技術が実装され得る。
ニューラルアーキテクチャ検索システム100は、特定のタスクを実行するために畳み込みニューラルネットワークを訓練するための訓練データ102、および特定のタスク上での畳み込みニューラルネットワークの性能を評価する検証セット104を取得し、かつ、これらの訓練データ102および検証セット104を用いて、画像処理タスクを実行するように構成されたチャイルドCNNのためのネットワークアーキテクチャを決定するシステムである。詳細には、システム100は、コントローラニューラルネットワークを用いて、ネットワークアーキテクチャ全体にわたって繰り返される第1の畳み込みセルについてアーキテクチャを決定することによって、チャイルドCNNのためのネットワークアーキテクチャを決定する。すなわち、チャイルドCNNは第1の畳み込みセルの複数のインスタンスを含む。第1の畳み込みセルのインスタンス内の畳み込み動作のフィルタの数は、チャイルドCNN内のインスタンスの位置に基づいて異なることがある。
一般に、訓練データ102および検証セット104はいずれも、入力画像の組と、入力画像ごとに、画像処理タスクを実行するためにチャイルドCNNによって生成されるべきそれぞれの対象出力とを含む。たとえば、より多くの訓練データの組は、訓練データ102および検証セット104を生成するためにランダムに区分されていることがある。
システム100は、さまざまな方法のうちの任意の方法で訓練データ102および検証セット104を受信することができる。例として、システム100は、たとえばシステム100によって利用可能となるアプリケーションプログラミングインターフェース(API)を用いる等、データ通信ネットワーク上のシステムのリモートユーザからのアップロードとして訓練データを受信し、このアップロードされたデータを訓練データ102と検証セット104とにランダムに分割することができる。別の例を挙げると、システム100は、システム100によって既に保持されているどのデータが畳み込みニューラルネットワークを訓練するのに用いられるべきかを指定するユーザからの入力を受信し、次に、この指定されたデータを訓練データ102と検証セット104とに分割することができる。
図1に示されるように、ニューラルアーキテクチャ検索システム100は、コントローラニューラルネットワーク110、訓練エンジン120およびコントローラパラメータ更新エンジン130を含む。
コントローラニューラルネットワーク110は、本明細書において「コントローラパラメータ」と呼ばれるパラメータを有するニューラルネットワークである。詳細には、コントローラニューラルネットワークは、1つまたは複数の再帰型ニューラルネットワーク層および1つまたは複数の出力層を含む再帰型ニューラルネットワークである。出力層は、ソフトマックスニューラルネットワーク層であってよい。コントローラニューラルネットワークの例示的なアーキテクチャについては、図2Bを参照して、以下でより詳細に記述される。
コントローラニューラルネットワーク110は、コントローラパラメータに従って出力シーケンスのバッチを生成するように構成される。コントローラニューラルネットワーク110によって生成された各出力シーケンスは、第1の畳み込みセルについて、また、任意選択的にチャイルド畳み込みニューラルネットワーク全体でも繰り返される1つまたは複数の他の畳み込みセルについて、それぞれ可能なアーキテクチャを定める。第1の畳み込みセルは、セル入力を受信し、かつセル出力を生成するように構成される。このセル出力は、たとえば同じ高さ、同じ幅、同じ深さである等、セル入力と同じ大きさであってよい。たとえば、第1の畳み込みセルは、入力として特徴マップを受信し、この入力特徴マップと同じ大きさの出力特徴マップを生成することができる。第1の畳み込みセルはB個の動作ブロックのシーケンスを含み、ここで、Bは所定の正の整数である。たとえば、Bは3、5または10であり得る。第1の畳み込みセル内の各動作ブロックは、1つまたは複数の各入力隠れ状態を受信し、各出力隠れ状態を生成する。動作ブロックの例示的なアーキテクチャについては、図2Aを参照して、以下でより詳細に記述される。
各出力シーケンスは複数の時間ステップのそれぞれにおいて各出力を含み、出力シーケンス中のそれぞれの時間ステップは第1の畳み込みセルのアーキテクチャの異なるハイパーパラメータに対応する。それゆえ、各出力シーケンスは、それぞれの時間ステップにおいて、対応するハイパーパラメータの各値を含む。集合的に、所与の出力シーケンスにおけるハイパーパラメータの値は、第1の畳み込みセルについてアーキテクチャを定める。一般に、ハイパーパラメータは、第1の畳み込みセルによって実行される動作に影響を及ぼす設定である。第1の畳み込みセルのハイパーパラメータは、第1の畳み込みセルの複数のインスタンスを有するチャイルドCNNの訓練の開始より前に設定される。これらのハイパーパラメータは、チャイルドCNNの訓練の間は学習されず、すなわち、これらのハイパーパラメータは、チャイルドCNNの訓練の間は変化しない。出力シーケンスおよび可能なハイパーパラメータは、図2A、図2Bおよび図3を参照して、以下でより詳細に考察される。
いくつかの実装形態において、バッチ内の各出力シーケンスは、第2のセル入力を受信し、かつ、この第2のセル入力から、高さがより小さい、幅がより小さい、またはこれら両方がより小さい第2のセル出力を生成するように構成された第2の畳み込みセルについてアーキテクチャをさらに定める。たとえば、第2の畳み込みセルは、入力として特徴マップを受信し、特徴マップの高さおよび幅を2分の1に減じた出力特徴マップを生成することができる。第1の畳み込みセルと同様に、第2の畳み込みセルは動作ブロックのシーケンスを含み、ここで、第2の畳み込みセル内の動作ブロックの数は所定の正の整数である。第2の畳み込みセルは、第1の畳み込みセルと同数の動作ブロック(すなわちB個のブロック)を有することができる。第2の畳み込みセル内の各動作ブロックは、1つまたは複数の各入力隠れ状態を受信し、各出力隠れ状態を生成する。これらの実装形態では、出力シーケンスごとのチャイルドCNNのインスタンスはまた、出力シーケンスによって定められたアーキテクチャを有する第2の畳み込みセルの複数のインスタンスを含む。たとえば、チャイルドCNNのインスタンスは、(i)第1の畳み込みセルの3つのインスタンス、および(ii)第2の畳み込みセルの2つまたは3つのインスタンスを含んでよい。
これらの実装形態において、各出力シーケンスは複数の時間ステップのそれぞれにおいて各出力を含み、出力シーケンス中のそれぞれの時間ステップは第1の畳み込みセルおよび第2の畳み込みセルのアーキテクチャの異なるハイパーパラメータに対応する。それゆえ、各出力シーケンスは、それぞれの時間ステップにおいて、対応するハイパーパラメータの各値を含む。集合的に、所与の出力シーケンスにおけるハイパーパラメータの値は、第1の畳み込みセルおよび第2の畳み込みセルについてアーキテクチャを定める。一般に、ハイパーパラメータは、第1の畳み込みセルまたは第2の畳み込みセルによって実行される動作に影響を及ぼす設定である。第1の畳み込みセルおよび第2の畳み込みセルのハイパーパラメータは、第1の畳み込みセルの複数のインスタンスおよび第2の畳み込みセルの複数のインスタンスを有するチャイルドCNNの訓練の開始より前に設定される。これらのハイパーパラメータは、チャイルドCNNの訓練の間は学習されず、すなわち、これらのハイパーパラメータは、チャイルドCNNの訓練の間は変化しない。
一般に、システム100は、コントローラニューラルネットワーク110を訓練することによって第1の畳み込みセルについてアーキテクチャを決定して、コントローラパラメータの値を調整する。
詳細には、訓練プロシージャの反復の間、システム100は、コントローラパラメータの現在値に従って、コントローラニューラルネットワーク110を用いて出力シーケンスのバッチ112を生成する。
このバッチ112内の出力シーケンスごとに、訓練エンジン120は、出力シーケンスによって定められたアーキテクチャを有する第1の畳み込みセルの複数のインスタンスを含むチャイルドCNNのインスタンスを生成する。各インスタンスは、同一の有向グラフ内で結合される同数の構成要素を含む。詳細には、各インスタンスは、有向グラフ内の所定の位置において第1のセルの同数のインスタンスを含む。しかしながら、第1のセルのアーキテクチャは、異なるインスタンス間で異なる。出力シーケンスが第2の畳み込みセルについてのアーキテクチャも定めるとき、各インスタンスはまた、グラフ内の所定の位置において複数の第2の畳み込みセルを含む。
たとえば、チャイルドCNNのインスタンスは、その次に第2の畳み込みセル、N個の第1の畳み込みセル、第2の畳み込みセル、そしてN個の第1の畳み込みセルと続くN個の第1の畳み込みセルを含むことができる。
別の例では、チャイルドCNNのインスタンスは、その次にN個の第1の畳み込みセル、第2の畳み込みセル、N個の第1の畳み込みセル、第2の畳み込みセル、そしてN個の第1の畳み込みセルと続く1つまたは複数の第2の畳み込みセルを含むことができる。Nは2以上の整数である。
各インスタンスはまた、有向グラフ内のさまざまな所定の位置において、固定アーキテクチャを備え、かつ出力シーケンスによって定められない他の構成要素、すなわち、出力層および/または1つまたは複数の他のタイプの層を含んでよい。
訓練エンジン120は、チャイルドCNNのインスタンスを訓練して、すなわち訓練データ102上でインスタンスを訓練することによって、画像処理タスクを実行する。訓練エンジン120は、画像処理タスク上でのチャイルドCNNの訓練されたインスタンスの性能を評価して(すなわち、検証セット104上で訓練されたインスタンスの性能を評価することによって)、チャイルドCNNの訓練されたインスタンスに関して性能測定基準を決定する。
コントローラパラメータ更新エンジン130は次に、チャイルドCNNの訓練されたインスタンスに関する性能測定基準を用いて、コントローラニューラルネットワーク110のコントローラパラメータの現在値を調整する。コントローラパラメータの現在値は、画像処理タスク上でコントローラニューラルネットワーク110によって生成された出力シーケンスによって定められたアーキテクチャの期待性能を向上させるために調整される。訓練されたインスタンスの性能を評価するステップおよびコントローラパラメータの現在値を更新するステップは、図3を参照して、以下でより詳細に記述される。
システムは、出力シーケンスのバッチの生成およびコントローラパラメータの値の調整を上記の方法で繰り返し行うことができる。
この方法でコントローラパラメータの値を繰り返し更新することによって、システム100は、コントローラニューラルネットワーク110を訓練して、画像処理タスク上で向上した性能を備えるチャイルドニューラルネットワークをもたらす出力シーケンスを生成することができ、これはすなわち、コントローラニューラルネットワーク110によって提案されたアーキテクチャの検証セット104上での期待精度を最大限にすることである。
一旦コントローラパラメータの訓練された値が決定されると、すなわち一旦コントローラニューラルネットワーク110の訓練がある終了基準を満たすと、システムは、第1の畳み込みセル(およびコントローラニューラルネットワークにより生成された出力シーケンスによって定められた任意の他の畳み込みセル)について最終的なアーキテクチャを決定する。たとえば、システム100は、コントローラパラメータの訓練された値に従って最終的な出力シーケンスを生成し、この最終的な出力シーケンスによって定められたアーキテクチャを第1の畳み込みセルおよび任意の他の畳み込みセルについての最終的なアーキテクチャとして用いることができる。別の例を挙げると、システム100は、訓練の間検証セット104上で最良の性能を発揮したチャイルドCNNをもたらした出力シーケンスを選択し、この出力シーケンスによって定められたアーキテクチャを第1の畳み込みセルおよび任意の他の畳み込みセルの最終的なアーキテクチャとして用いることができる。
ニューラルアーキテクチャ検索システム100は次に、第1の畳み込みセル(および出力シーケンスによって定められた任意の他の畳み込みセル)を含む畳み込みニューラルネットワークのアーキテクチャを指定するアーキテクチャデータ150を出力することができる。たとえば、この出力されたアーキテクチャデータ150は、第1の畳み込みセルおよび任意の他の畳み込みセルの一部である動作ブロック、この動作ブロック間の接続性、この動作ブロックによって実行される動作、およびセル間の接続性を指定するデータを含む。たとえば、ニューラルアーキテクチャ検索システム100は、訓練データを提示したユーザに対してアーキテクチャデータ150を出力することができる。
いくつかの実装形態において、アーキテクチャデータ150を出力する代わりに、またはこれに加えて、システム100は、たとえば、最初から、または畳み込みセルの複数のインスタンスを有するチャイルドCNNのインスタンスの訓練の結果として生成されたパラメータ値を微調整する等、決定された畳み込みセルの複数のインスタンスを有するチャイルドCNNのインスタンスを訓練し、次に、たとえばシステムによって提供されるAPIを介する等して、訓練されたチャイルドCNNを用いてユーザによって受信されたリクエストを処理する。換言すれば、システム100は、処理されるべき入力を受信し、訓練されたチャイルドCNNを用いてこの入力を処理し、訓練されたチャイルドCNNによって生成された出力または受信された入力に応答して生成された出力から派生したデータを提供することができる。
訓練後、システムは、コントローラパラメータの調整された値を用いて、第1の畳み込みセルおよび/または第2の畳み込みセルについてアーキテクチャを生成することができる。いくつかの場合には、システムは次に、チャイルドCNNのインスタンスより少ない第1の畳み込みセルのインスタンスおよび/またはチャイルドCNNのインスタンスより少ない第2の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークの計算効率の良いアーキテクチャを生成することができ、ここで、第1の畳み込みセル(および/または第2の畳み込みセル)のインスタンスは生成されたアーキテクチャを有する。いくつかの他の場合には、システムは、より複雑な画像処理タスクにおいて用いるために、チャイルドCNNのインスタンスより多い第1の畳み込みセルのインスタンスおよび/またはチャイルドCNNのインスタンスより多い第2の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークのより大きなアーキテクチャを生成することができ、ここで、第1の畳み込みセル(および/または第2の畳み込みセル)のインスタンスは生成されたアーキテクチャを有する。
図2Aは、第1の畳み込みセルの例示的な動作ブロック200を示す。
動作ブロック200は、第1の動作206を動作ブロックに対する第1の入力隠れ状態202に適用して第1の出力を生成するように構成される。動作ブロック200は、第2の動作208を動作ブロックに対する第2の入力隠れ状態204に適用して第2の出力を生成するように構成される。動作ブロック200は次に、組合せ動作210を第1の出力および第2の出力に適用して動作ブロックについて出力隠れ状態212を生成するように構成される。第1の入力隠れ状態202、第2の入力隠れ状態204、第1の動作206、第2の動作208および組合せ動作210は、図2Bを参照して以下で詳細に記述されるように、コントローラニューラルネットワークにより生成された出力シーケンスによって定められ得る。第1の畳み込みセルは、複数の、すなわち全部でB個の順次配列された動作ブロックを有することができ、これら複数の動作ブロックそれぞれのハイパーパラメータは出力シーケンスによって定められている。
図2Bは、出力シーケンスを生成するコントローラニューラルネットワーク110の一例を示す図250である。
コントローラニューラルネットワーク110は、B個の動作ブロックを含む第1の畳み込みセルについて可能なアーキテクチャを予測するように構成される。したがって、第1の畳み込みセルについてのコントローラニューラルネットワーク110の予測はB個のグループに分類され得、各グループは、それぞれの動作ブロックを決定するためにコントローラニューラルネットワーク110によって実行される所定の数の予測ステップを有する。このことは、コントローラニューラルネットワーク110によって実行される予測ステップの総数が5×Bステップであることを意味する。
図250は、出力シーケンスを生成する間の、それぞれt、…、tn+4である5つの時間ステップにおいてコントローラニューラルネットワーク110によって実行される5つの例示的な予測ステップを表す。コントローラニューラルネットワーク110は、上記5つの予測ステップを、第1の畳み込みセル内のB個の動作ブロックに対応するB回繰り返す。以下でより詳細に記述されるように、5つの時間ステップt、…、tn+4のそれぞれは、チャイルドCNNのアーキテクチャの異なるハイパーパラメータに対応する。
一般に、ハイパーパラメータは、第1の畳み込みセルによって実行される動作に影響を及ぼす設定である。たとえば、B個の動作ブロックのシーケンスを含む第1の畳み込みセルのアーキテクチャを予測するために、コントローラニューラルネットワーク110は、B組のハイパーパラメータに関する値を含む出力シーケンスを生成する。ハイパーパラメータの各組は、B個の動作ブロックの1つに対応する。たとえば、図2Aの動作ブロック200に対応するハイパーパラメータの組は、次のハイパーパラメータを含む。すなわち、第1の入力隠れ状態としてどの隠れ状態が用いられるかを表す第1のハイパーパラメータ、第2の入力隠れ状態としてどの隠れ状態が用いられるかを表す第2のハイパーパラメータ、第1の動作としてどの動作が用いられるかを表す第3のハイパーパラメータ、第2の動作としてどの動作が用いられるかを表す第4のハイパーパラメータ、および第1の動作の出力と第2の動作の出力とを組み合せるための組合せ動作としてどの動作が用いられるかを表す第5のハイパーパラメータである。
コントローラニューラルネットワーク110は、たとえば層224等1つまたは複数の再帰型ニューラルネットワーク層を含む再帰型ニューラルネットワークであり、この層は、時間ステップごとに所与の出力シーケンス中の先行する時間ステップに対応するハイパーパラメータの値を入力として受信し、かつ、この入力を処理して再帰型ニューラルネットワークの現在の隠れ状態を更新するように構成される。たとえば、コントローラニューラルネットワーク110の再帰層は長短期メモリ(LSTM)層またはGRU(gated recurrent unit)層であってよい。図2Bの例では、時間ステップtnにおいて、層224は先行する時間ステップtn-1からハイパーパラメータの値を入力として受信し、層の隠れ状態を時間ステップtn-1から更新して、更新された隠れ状態225を出力として生成する。
コントローラニューラルネットワーク110はまた、出力シーケンス中の時間ステップごとにそれぞれの出力層を含み、たとえば、時間ステップtn、tn+1、tn+2、tn+3、tn+4について出力層214、216、218、220、222をそれぞれ含む。出力層のそれぞれは、時間ステップにおいて更新された隠れ状態を含む出力層入力を受信し、かつ、時間ステップにおけるハイパーパラメータの可能な値上でスコア分布を定める時間ステップに関する出力を生成するように構成される。たとえば、各出力層はまず、出力層入力を対応するハイパーパラメータに関する可能な値の数に適した次元数に投影し、次に投影した出力層入力にソフトマックスを適用して、時間ステップにおけるハイパーパラメータに関する複数の可能な値のそれぞれにそれぞれのスコアを生成することができる。
出力シーケンス中の所与の時間ステップについてハイパーパラメータの値を生成するために、システム100は、コントローラニューラルネットワーク110への入力として出力シーケンス中の先行する時間ステップにおけるハイパーパラメータの値を提供し、コントローラニューラルネットワーク110は、時間ステップにおけるハイパーパラメータの可能な値上でスコア分布を定める時間ステップに関する出力を生成する。出力シーケンス中の最初の時間ステップについては、先行する時間ステップがないため、システム100は代わりに所定のプレースホルダ入力を提供することができる。システム100は次に、スコア分布に従って可能な値からサンプリングして、出力シーケンス中の時間ステップにおけるハイパーパラメータの値を決定する。所与のハイパーパラメータが取ることのできる可能な値は、チャイルドCNNの訓練より前に固定され、可能な値の数はハイパーパラメータの違いによって異なっていてよい。
図250において図示されるように、時間ステップtnに関する出力層214は、隠れ状態225を含む入力を受信し、かつ、動作ブロック(たとえば、図2Aの動作ブロック200)について第1の入力隠れ状態としてどの隠れ状態が用いられるかを表すハイパーパラメータに関して複数の可能な値のそれぞれにそれぞれのスコアを生成するように構成される。動作ブロックについての第1の入力隠れ状態に関するソースは、(i)チャイルドCNNにおける畳み込みセルのシーケンス中の1つまたは複数の先行する畳み込みセルによって生成された出力、(ii)チャイルドCNNの入力画像、または(iii)第1の畳み込みセル内の動作ブロックのシーケンス中の先行する動作ブロックの出力隠れ状態、のうちの1つまたは複数から選択される。
時間ステップtn+1に関する出力層216は、隠れ状態227を含む入力を受信し、かつ、動作ブロックについて第2の入力隠れ状態としてどの隠れ状態が用いられるかを表すハイパーパラメータに関して複数の可能な値のそれぞれにそれぞれのスコアを生成するように構成される。動作ブロックについての第2の入力隠れ状態に関するソースは、(i)畳み込みセルのシーケンス中の1つまたは複数の先行する畳み込みセルによって生成された出力、(ii)入力画像、または(iii)畳み込みセル内の動作ブロックのシーケンス中の先行する動作ブロックの出力隠れ状態、のうちの1つまたは複数から選択される。
時間ステップtn+2に関する出力層218は、隠れ状態229を含む入力を受信し、かつ、第1の入力隠れ状態に適用されるべき第1の動作に関する動作タイプを表すハイパーパラメータに関して複数の可能な値のそれぞれにそれぞれのスコアを生成するように構成される。第1の動作は、畳み込みニューラルネットワーク動作の所定の組から選択されてよい。たとえば、畳み込みニューラルネットワーク動作の所定の組は次の動作、すなわち、アイデンティティ(identity)、1×7次に7×1の畳み込み(1×7 then 7×1 convolution)、3×3の平均プーリング(3×3 average pooling)、5×5の最大プーリング(5×5 max pooling)、1×1の畳み込み(1×1 convolution)、3×3の深さ方向に分離可能な畳み込み(3×3 depthwise-separable convolution)、7×7の深さ方向に分離可能な畳み込み(7×7 depthwise-separable convolution)、1×3次に3×1の畳み込み(1×3 then 3×1 convolution)、3×3の拡張畳み込み(3×3 dilated convolution)、3×3の最大プーリング(3×3 max pooling)、7×7の最大プーリング(7×7 max pooling)、3×3の畳み込み(3×3 convolution)、および5×5の深さ方向に分離可能な畳み込み(5×5 depthwise-separable convolution)、のうちの1つまたは複数を含んでよい。
時間ステップtn+3に関する出力層220は、隠れ状態231を含む入力を受信し、かつ、第2の入力隠れ状態に適用されるべき第2の動作に関する動作タイプを表すハイパーパラメータに関して複数の可能な値のそれぞれにそれぞれのスコアを生成するように構成される。第2の動作は、畳み込みニューラルネットワーク動作の上記所定の組から選択されてよい。
時間ステップtn+4に関する出力層222は、隠れ状態233を含む入力を受信し、かつ、第1の動作の出力と第2の動作の出力とを組み合せて動作ブロックについて新たな隠れ状態を生成するために用いられる組合せ動作に関する動作タイプを表すハイパーパラメータに関して複数の可能な値のそれぞれにそれぞれのスコアを生成するように構成される。組合せ動作は、組合せ動作の所定の組から選択されてよい。たとえば、組合せ動作の所定の組は、(i)2つの出力間の要素ごとの加算、および(ii)フィルタの大きさに沿った2つの出力間の連結、を含んでよい。
第1の畳み込みセルは、第1の畳み込みセル内のブロックの任意のブロックへの入力として選択されない第1の畳み込みセル内のブロックの出力隠れ状態を組み合せることによって、セル入力に関するセル出力を生成するように構成される。たとえば、第1の畳み込みセルは、すべての使用されていない出力隠れ状態を深さ方向に1つに連結させて、最終的なセル出力を生成することができる。
図3は、コントローラニューラルネットワークのコントローラパラメータの現在値を更新するための例示的なプロセスのフロー図である。便宜上、プロセス300は、1つまたは複数の場所にある1つまたは複数のコンピュータのシステムによって実行されるものとして記述される。例として、たとえば図1に示すニューラルアーキテクチャ検索システム100等適切にプログラムされたニューラルアーキテクチャ検索システムは、プロセス300を実行することができる。
システムは、プロセス300を繰り返し実行して、コントローラニューラルネットワークを訓練する、すなわち、コントローラパラメータの初期値からコントローラパラメータの訓練された値を決定することができる。
システムは、コントローラニューラルネットワークを用いて、反復の時点でのコントローラパラメータの現在値に従って、出力シーケンスのバッチを生成する(ステップ302)。バッチ内の各出力シーケンスは、セル入力を受信し、かつセル出力を生成するように構成された第1の畳み込みセルについてアーキテクチャを定める。第1の畳み込みセルのセル出力は、セル入力と同じ高さおよび幅であってよい。
詳細には、各出力シーケンスは、複数の時間ステップのそれぞれにおいてそれぞれの出力を含み、出力シーケンス中のそれぞれの時間ステップは第1の畳み込みセルのアーキテクチャの異なるハイパーパラメータに対応する。それゆえ、各出力シーケンスは、それぞれの時間ステップにおいて対応するハイパーパラメータの各値を含む。集合的に、所与の出力シーケンスにおけるハイパーパラメータの値は、第1の畳み込みセルについてアーキテクチャを定める。詳細には、前述のとおり、システムは、出力シーケンスにおける各ハイパーパラメータの値を生成するときにスコア分布からサンプリングするので、バッチ内のシーケンスは、同一のコントローラパラメータ値に従ってそれぞれ生成されたとしても異なるものになるのが一般的である。バッチは、一般に、たとえば、8、16、32または64シーケンス等、所定の数の出力シーケンスを含む。
バッチ内の出力シーケンスごとに、システムは、出力シーケンスによって定められたアーキテクチャを有する第1の畳み込みセルの複数のインスタンスを含むチャイルドCNNのインスタンスを生成する(ステップ304)。たとえば、チャイルドCNNは第1の畳み込みセルの3つのインスタンスを含んでよい。第1の畳み込みセルのインスタンス内の畳み込み動作のフィルタの数は、チャイルドCNN内のインスタンスの位置に基づいて異なっていてよい。
いくつかの実装形態において、バッチ内の各出力シーケンスは、第2のセル入力を受信し、かつ、この第2のセル入力から、高さがより小さい、幅がより小さい、またはこれら両方がより小さい第2のセル出力を生成するように構成された第2の畳み込みセルについてアーキテクチャをさらに定める。これらの実装形態では、出力シーケンスごとのチャイルドCNNのインスタンスはまた、出力シーケンスによって定められたアーキテクチャを有する第2の畳み込みセルの複数のインスタンスを含む。たとえば、チャイルドCNNのインスタンスは、(i)第1の畳み込みセルの3つのインスタンス、および(ii)第2の畳み込みセルの2つまたは3つのインスタンスを含んでよい。
システムは、画像処理タスクを実行するためにチャイルドニューラルネットワークのインスタンスを訓練する(ステップ306)。すなわち、特定のニューラルネットワークタスクを実行するために、バッチ内の出力シーケンスごとに、システムは、出力シーケンスによって定められたアーキテクチャを有する第1の畳み込みセルの複数のインスタンスを含むチャイルドCNNのインスタンスを生成し、受信された訓練データ上でチャイルドCNNのインスタンスを訓練する。システムは、たとえば誤差逆伝播法を伴う確率的勾配降下法等、タスクに適した従来の機械学習訓練技術を用いてチャイルドCNNのインスタンスを訓練する。いくつかの実装形態において、システムはチャイルドCNNのインスタンスの訓練を並列に処理して、コントローラニューラルネットワークのための全訓練時間を短縮する。システムは、チャイルドCNNの各インスタンスを一定時間にわたって訓練すること(すなわち、各インスタンスを一定時間が経過するまで訓練すること)ができ、または、一定の訓練反復回数にわたって訓練することができる。この訓練の後、チャイルドCNNの訓練されたインスタンス内の第1の畳み込みセルの異なるインスタンスは異なるパラメータ値を有してよい。
バッチ内の出力シーケンスごとに、システムは、画像処理タスク上のチャイルドCNNの対応する訓練されたインスタンスの性能を評価して、特定のニューラルネットワークタスク上の訓練されたインスタンスに関して性能測定基準を決定する(ステップ308)。たとえば、性能測定基準は、適切な精度測定によって測定されるような検証セット上の訓練されたインスタンスの精度であってよい。例として、精度は、タスクが分類タスクであるときは分類エラー率であり得、または、タスクが回帰タスクであるときはインターセクションオーバーユニオンの差異測定であり得る。別の例として、性能測定基準は、インスタンスの訓練の最後の2、5、または10エポックのそれぞれについてのインスタンスの精度の平均値または最大値であり得る。
システムは、チャイルドCNNの訓練されたインスタンスに関する性能測定基準を用いて、コントローラニューラルネットワークのコントローラパラメータの現在値を調整する(ステップ310)。
詳細には、システムは、コントローラニューラルネットワークを訓練することによって現在値を調整して、機械学習技術を用いて向上した性能測定基準を備えるチャイルドCNNをもたらす出力シーケンスを生成する。より具体的には、システムは、コントローラニューラルネットワークを訓練して、訓練されたインスタンスの性能測定基準に基づいて決定される受信された報酬を最大限にする出力シーケンスを生成する。詳細には、所与の出力シーケンスに関する報酬は訓練されたインスタンスに関する性能測定基準の関数である。たとえば、報酬は、性能測定基準、性能測定基準の二乗、性能測定基準の三乗、性能測定基準の二乗根等のうちの1つであってよい。
いくつかの場合には、システムはコントローラニューラルネットワークを訓練して、方策勾配法を用いて期待報酬を最大限にする。
たとえば、方策勾配法はREINFORCE法であり得る。たとえば、システムは、
Figure 0006963627
を満たす勾配の推定量を用いてコントローラパラメータに関して期待報酬の勾配を推定することができ、ここで、mはバッチ内のシーケンスの数、Tはバッチ内の各シーケンス中の時間ステップの数、atは所与の出力シーケンス中の時間ステップtにおける出力、Rkは出力シーケンスkに関する報酬、θcはコントローラパラメータ、bはたとえば、以前のアーキテクチャ精度の指数関数的移動平均等の基線関数である。
別の例として、方策勾配法は近傍方策最適化(PPO)法とすることができる。具体的には、システムは、コントローラニューラルネットワークによって制御されるチャイルドCNNのプールを生成するためのグローバルワークキューシステムを使用することによってPPOを用いてコントローラニューラルネットワークを訓練することができる。PPO法については、J. Schulman、F. Wolski、P. Dhariwal、A. Radford、and O. Klimov、「Proximal policy optimization algorithms」、arXiv preprint arXiv:1707.06347、2017年においてより詳細に記述される。
さらに別の例として、方策勾配法は信頼領域方策最適化(TRPO)法であってよく、これについては、John Schulman、Sergey Levine、Philipp Moritz、Michael I. Jordan、Pieter Abbeel、「Trust Region Policy Optimization」、Proceedings of the 31st International Conference on Machine Learning、リール、フランス、2015年において詳細に記述される。
いくつかの実装形態において、システムは、分散方法でコントローラニューラルネットワークを訓練する。すなわち、訓練の間、システムはコントローラニューラルネットワークの複数の複製を保持し、非同期的に複製のパラメータ値を更新する。つまり、システムは複製ごとにステップ302〜308を非同期的に実行することができ、複製のそれぞれに決定された勾配を用いてコントローラパラメータを更新することができる。
訓練後、システムは、コントロータパラメータの調整された値を用いて第1の畳み込みセルについてアーキテクチャを生成することができる。
いくつかの場合には、システムは次に、チャイルドCNNのインスタンスより少ない第1の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークの計算効率の良いアーキテクチャを生成することができ、ここで、第1の畳み込みセルのインスタンスは生成されたアーキテクチャを有する。この技術は、システムが、十分に計算効率の良い最終的なアーキテクチャをなお維持しつつ評価の間利用できるさらなる計算能力を活用することを可能にし、その結果、携帯デバイス上または他の資源制約環境において展開される。
いくつかの他の場合には、システムは、より複雑な画像処理タスクにおいて用いるために、チャイルドCNNのインスタンスより多い第1の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークのより大きなアーキテクチャを生成することができ、ここで、第1の畳み込みセルのインスタンスは生成されたアーキテクチャを有する。この技術は、プロセスの計算効率を向上させ、システムが、プロセスの間より大きなアーキテクチャを繰り返し評価することを要せずに高い性能を達成することを可能にする。
本明細書は、システムおよびコンピュータプログラム構成要素に関連して「構成される(構成された)」という用語を用いる。特定の動作または作用を実行するように構成されるべき1つまたは複数のコンピュータのシステムに関しては、システムが動作中システムにそれらの動作または作用を実行させるソフトウェア、ファームウェア、ハードウェアまたはこれらの組合せをそこに組み込んでいることを意味する。特定の動作または作用を実行するように構成されるべき1つまたは複数のコンピュータプログラムに関しては、データ処理装置によって実行されるときに、1つまたは複数のプログラムがその装置にそれらの動作または作用を実行させる命令を含むことを意味する。
本明細書において記述される主題および機能動作の実施形態は、本明細書で開示される構造およびそれらの構造的均等物を含む、デジタル電子回路、有形に実施されるコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェアにおいて、またはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書において記述される主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行するため、またはデータ処理装置の動作を制御するための有形の非一時的記憶媒体に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであってよい。別法として、または追加として、プログラム命令は、データ処理装置による実行に適した受信装置に送信するための情報を符号化するために生成される人工的に生成された伝播信号、たとえば、機械生成の電気、光または電磁信号において符号化され得る。
「データ処理装置」という用語はデータ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイスおよび機械を包含する。装置はまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)等の専用論理回路であってよく、またはこれをさらに含むこともできる。装置は、任意選択的に、ハードウェアに加えて、コンピュータプログラムのための実行環境を作出するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ(app)、モジュール、ソフトウェアモジュール、スクリプトまたはコードとも呼ばれ、または記述されることもあるコンピュータプログラムは、コンパイルされた言語もしくは解釈された言語、または宣言型言語もしくは手続き型言語を含む任意の形式のプログラミング言語で書かれてよく、独立型のプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしての形態を含む、任意の形態で展開され得る。プログラムはファイルシステムのファイルに対応することがあるが、必ずしも対応するわけではない。プログラムは、たとえば、マークアップ言語文書、当該プログラムに専用の単一ファイル、または、たとえば1つまたは複数のモジュール、サブプログラムもしくはコードの部分を記憶するファイル等複数の協調ファイルに記憶された1つまたは複数のスクリプト等、他のプログラムまたはデータを保持するファイルの一部に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置され、もしくは複数の場所に分散されデータ通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書において「データベース」という用語は任意のデータの集合を指すために広く用いられ、データは特定の方法で構築される必要はなく、または全く構築される必要がなく、1つまたは複数の場所にある記憶デバイスに記憶されてよい。それゆえ、たとえば、インデックスデータベースは複数のデータの集合を含むことができ、このそれぞれが異なって組織化され、アクセスされてよい。
同様に、本明細書において「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされたソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く用いられる。エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータに組み込まれる、1つまたは複数のソフトウェアモジュールまたは構成要素として実装されるのが一般的である。いくつかの場合には、1つまたは複数のコンピュータが特定のエンジン専用であり、他の場合には、複数のエンジンが同じ1つまたは複数のコンピュータ上に組み込まれて作動することができる。
本明細書において記述されるプロセスおよび論理の流れは、1つまたは複数のコンピュータプログラムを実行して入力データ上で動作し出力を生成することによって機能を実行する1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理の流れはまた、たとえばFPGAまたはASIC等の専用論理回路によって、または、専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによって実行されることもある。
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用のマイクロプロセッサ、またはその両方、あるいは任意の他の種類の中央処理装置に基づくことができる。中央処理装置は、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信することになるのが一般的である。コンピュータの必須要素は、命令を実行するための中央処理装置、ならびに命令およびデータを記憶するための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 ニューラルアーキテクチャ検索システム、システム
102 訓練データ
104 検証セット
110 コントローラニューラルネットワーク
112 出力シーケンスのバッチ、バッチ
120 訓練エンジン
130 コントローラパラメータ更新エンジン
150 アーキテクチャデータ
200 動作ブロック
202 第1の入力隠れ状態
204 第2の入力隠れ状態
206 第1の動作
208 第2の動作
210 組合せ動作
212 出力隠れ状態
214 出力層
216 出力層
218 出力層
220 出力層
222 出力層
224 層
225 更新された隠れ状態、隠れ状態
227 隠れ状態
229 隠れ状態
231 隠れ状態
233 隠れ状態

Claims (22)

  1. コンピュータ実施方法であって、
    複数のコントローラパラメータを有するコントローラニューラルネットワークを用い、前記コントローラパラメータの現在値に従って、出力シーケンスのバッチを生成するステップであって、
    前記バッチ内の各出力シーケンスは、セル入力を受信し、かつセル出力を生成するように構成された第1の畳み込みセルについてアーキテクチャを定め、
    前記第1の畳み込みセルは、それぞれ1つまたは複数の各入力隠れ状態を受信し、各出力隠れ状態を生成する所定の数の動作ブロックのシーケンスを含み、前記バッチ内の各出力シーケンスは、前記動作ブロックのそれぞれに、
    (i)チャイルド畳み込みニューラルネットワークの1つまたは複数の他の構成要素によって生成された出力、(ii)入力画像、または(iii)前記第1の畳み込みセル内の前記動作ブロックのシーケンス中の先行する動作ブロックの出力隠れ状態、のうちの1つまたは複数から選択された前記動作ブロックについての第1の入力隠れ状態に関するソースと、
    (i)前記第1の畳み込みセルのシーケンス中の1つまたは複数の先行する畳み込みセルによって生成された出力、(ii)前記入力画像、または(iii)前記第1の畳み込みセル内の前記動作ブロックのシーケンス中の先行する動作ブロックの出力隠れ状態、のうちの1つまたは複数から選択された前記動作ブロックについての第2の入力隠れ状態に関するソースと、
    畳み込みニューラルネットワーク動作の所定の組から選択された第1の動作に関する動作タイプと、
    前記畳み込みニューラルネットワーク動作の所定の組から選択された第2の動作に関する動作タイプと
    を定め、
    前記バッチ内の出力シーケンスごとに、
    前記出力シーケンスによって定められた前記アーキテクチャを有する前記第1の畳み込みセルの複数のインスタンスを含む前記チャイルド畳み込みニューラルネットワークのインスタンスを生成し、
    画像処理タスクを実行するために前記チャイルド畳み込みニューラルネットワークの前記インスタンスを訓練し、
    前記画像処理タスク上での前記チャイルド畳み込みニューラルネットワークの前記訓練されたインスタンスの性能を評価して、前記チャイルド畳み込みニューラルネットワークの前記訓練されたインスタンスに関して性能測定基準を決定する、ステップと、
    前記チャイルド畳み込みニューラルネットワークの前記訓練されたインスタンスに関する前記性能測定基準を用いて、前記コントローラニューラルネットワークの前記コントローラパラメータの前記現在値を調整するステップと
    前記コントローラパラメータの調整値に従って、前記コントローラニューラルネットワークを使用して、前記第1の畳み込みセルの最終的なアーキテクチャを生成するステップと、
    を含む、
    方法。
  2. 前記訓練の後、前記チャイルド畳み込みニューラルネットワークの前記訓練されたインスタンス内の前記第1の畳み込みセルの異なるインスタンスは、異なるパラメータ値を有する、
    請求項1に記載の方法。
  3. 前記第1の畳み込みセル内の各動作ブロックは、
    第1の動作を前記第1の入力隠れ状態に適用して第1の出力を生成し、
    第2の動作を前記第2の入力隠れ状態に適用して第2の出力を生成し、
    組合せ動作を前記第1の出力および前記第2の出力に適用して出力隠れ状態を生成するように構成されている、
    請求項1または2に記載の方法。
  4. 前記バッチ内の各出力シーケンスは、前記第1の畳み込みセルの動作ブロックごとに、
    組合せ動作の所定の組から選択された前記組合せ動作に関する動作タイプをさらに定める、
    請求項1に記載の方法。
  5. 前記第1の畳み込みセルは、前記第1の畳み込みセル内のブロックの任意のブロックへの入力として選択されない前記第1の畳み込みセル内の前記ブロックの出力隠れ状態を組み合せることによって前記セル出力を生成するようにさらに構成される、
    請求項1または4に記載の方法。
  6. 前記チャイルド畳み込みニューラルネットワークの前記訓練されたインスタンスに関する前記性能測定基準を用いて、前記コントローラニューラルネットワークの前記コントローラパラメータの前記現在値を調整するステップは、
    前記コントローラニューラルネットワークを訓練して、機械学習訓練技術を用いて向上した性能測定基準を有するチャイルド畳み込みニューラルネットワークをもたらす出力シーケンスを生成するステップを含む、
    請求項1から5のいずれか一項に記載の方法。
  7. 前記機械学習訓練技術は方策勾配法である、
    請求項6に記載の方法。
  8. 前記機械学習訓練技術はREINFORCE法である、
    請求項6または7に記載の方法。
  9. 前記機械学習訓練技術は近傍方策最適化(PPO)法である、
    請求項6に記載の方法。
  10. 前記画像処理タスクを実行するために、向上した性能測定基準を有する前記チャイルド畳み込みニューラルネットワークの少なくとも1つを用いるステップをさらに含む、
    請求項6から9のいずれか一項に記載の方法。
  11. 各出力シーケンスは、複数の時間ステップのそれぞれにおいて前記第1の畳み込みセルのそれぞれのハイパーパラメータの値を含む、
    請求項1から9のいずれか一項に記載の方法。
  12. 前記コントローラニューラルネットワークは、再帰型ニューラルネットワークであり、前記再帰型ニューラルネットワークは、
    所与の出力シーケンスについて、およびそれぞれの時間ステップにおいて、
    前記所与の出力シーケンス中の先行する時間ステップにおける前記ハイパーパラメータの値を入力として受信し、前記入力を処理して再帰型ニューラルネットワークの現在の隠れ状態を更新するように構成された、1つまたは複数の再帰型ニューラルネットワーク層と、
    それぞれの出力層が、前記所与の出力シーケンスについて、
    前記時間ステップにおいて前記更新された隠れ状態を含む出力層入力を受信し、前記時間ステップにおける前記ハイパーパラメータの可能な値上でスコア分布を定める前記時間ステップに関する出力を生成するように構成された、時間ステップごとの各出力層とを含む、
    請求項11に記載の方法。
  13. 複数のコントローラパラメータを有するコントローラニューラルネットワークを用い、前記コントローラパラメータの現在値に従って、出力シーケンスのバッチを生成するステップは、前記バッチ内の出力シーケンスごとに、および前記複数の時間ステップのそれぞれに、
    前記コントローラニューラルネットワークへの入力として、前記出力シーケンス中の前記先行する時間ステップにおける前記ハイパーパラメータの前記値を提供して、前記時間ステップにおける前記ハイパーパラメータの可能な値上でスコア分布を定める前記時間ステップに関する出力を生成するステップと、
    前記スコア分布に従って前記可能な値からサンプリングして、前記出力シーケンス中の前記時間ステップにおける前記ハイパーパラメータの前記値を決定するステップとを含む、
    請求項12に記載の方法。
  14. 前記第1の畳み込みセルの前記インスタンス内の畳み込み動作のフィルタの数は、前記チャイルド畳み込みニューラルネットワーク内の前記インスタンスの位置に基づいて異なる、
    請求項1から12のいずれか一項に記載の方法。
  15. 前記第1の畳み込みセルの前記セル出力は、前記セル入力と同じ高さおよび幅を有する、
    請求項1から13のいずれか一項に記載の方法。
  16. 前記バッチ内の各出力シーケンスは、第2のセル入力を受信し、前記第2のセル入力から、高さがより小さい、幅がより小さい、またはこれら両方がより小さい第2のセル出力を生成するように構成された第2の畳み込みセルについてアーキテクチャをさらに定め、
    出力シーケンスごとの前記チャイルド畳み込みニューラルネットワークの前記インスタンスは、前記出力シーケンスによって定められた前記アーキテクチャを有する前記第2の畳み込みセルの複数のインスタンスも含む、
    請求項14に記載の方法。
  17. 前記チャイルド畳み込みニューラルネットワークの各インスタンスを訓練するステップは、一定時間が経過するまで各インスタンスを訓練するステップを含む、
    請求項1から15のいずれか一項に記載の方法。
  18. 前記コントローラパラメータの前記調整された値を用いて、前記第1の畳み込みセルについてアーキテクチャを生成するステップと、
    前記チャイルド畳み込みニューラルネットワークのインスタンスより少ない前記第1の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークの計算効率の良いアーキテクチャを生成するステップであって、前記畳み込みセルの前記インスタンスは、前記生成されたアーキテクチャを有する、ステップとをさらに含む、
    請求項1から16のいずれか一項に記載の方法。
  19. 前記コントローラパラメータの前記調整された値を用いて、前記第1の畳み込みセルについてアーキテクチャを生成するステップと、
    より複雑な画像処理タスクにおいて用いるために、前記チャイルド畳み込みニューラルネットワークのインスタンスより多い前記第1の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークのより大きなアーキテクチャを生成するステップであって、前記第1の畳み込みセルの前記インスタンスは、前記生成されたアーキテクチャを有する、ステップとをさらに含む、
    請求項1から16のいずれか一項に記載の方法。
  20. 前記チャイルド畳み込みニューラルネットワークのインスタンスより多い前記第1の畳み込みセルのインスタンスを含む畳み込みニューラルネットワークを用いて、前記より複雑な画像処理タスクを実行するステップをさらに含む、
    請求項19に記載の方法。
  21. 1つまたは複数のコンピュータと、1つまたは複数の記憶デバイスとを備えるシステムであって、
    前記1つまたは複数の記憶デバイスが、前記1つまたは複数のコンピュータに、請求項1から20のいずれか一項に記載の方法を実行させる命令を記憶する、
    システム。
  22. 1つまたは複数のコンピュータに、請求項1から20のいずれか一項に記載の方法を実行させる命令を記憶する、
    1つまたは複数のコンピュータ可読記憶媒体。
JP2019553406A 2017-07-21 2018-07-17 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 Active JP6963627B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762535806P 2017-07-21 2017-07-21
US62/535,806 2017-07-21
PCT/US2018/042456 WO2019018375A1 (en) 2017-07-21 2018-07-17 NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS

Publications (2)

Publication Number Publication Date
JP2020522035A JP2020522035A (ja) 2020-07-27
JP6963627B2 true JP6963627B2 (ja) 2021-11-10

Family

ID=63104074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019553406A Active JP6963627B2 (ja) 2017-07-21 2018-07-17 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索

Country Status (5)

Country Link
US (3) US10521729B2 (ja)
EP (1) EP3583553A1 (ja)
JP (1) JP6963627B2 (ja)
CN (2) CN110476172B (ja)
WO (1) WO2019018375A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907853B2 (en) * 2017-10-27 2024-02-20 Deepmind Technologies Limited Using hierarchical representations for neural network architecture searching
WO2019096952A1 (en) * 2017-11-15 2019-05-23 NEC Laboratories Europe GmbH A system and method for single image object density estimation
CN110889487A (zh) * 2018-09-10 2020-03-17 富士通株式会社 神经网络架构搜索装置和方法及计算机可读记录介质
US11544536B2 (en) * 2018-09-27 2023-01-03 Google Llc Hybrid neural architecture search
CN113490955B (zh) * 2019-02-25 2024-09-10 谷歌有限责任公司 用于产生金字塔层的架构的系统和方法
CN110009048B (zh) * 2019-04-10 2021-08-24 苏州浪潮智能科技有限公司 一种神经网络模型的构建方法以及设备
CN110175671B (zh) * 2019-04-28 2022-12-27 华为技术有限公司 神经网络的构建方法、图像处理方法及装置
US11537664B2 (en) * 2019-05-23 2022-12-27 Google Llc Learning to select vocabularies for categorical features
CN111684472A (zh) * 2019-05-31 2020-09-18 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
WO2020237687A1 (zh) * 2019-05-31 2020-12-03 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
CN110288084A (zh) * 2019-06-06 2019-09-27 北京小米智能科技有限公司 超网络训练方法和装置
US11768912B2 (en) * 2019-07-12 2023-09-26 International Business Machines Corporation Performing multivariate time series prediction with three-dimensional transformations
WO2021007743A1 (zh) * 2019-07-15 2021-01-21 富士通株式会社 搜索神经网络架构的方法和装置
CN110674326A (zh) * 2019-08-06 2020-01-10 厦门大学 一种基于多项式分布学习的神经网络结构检索方法
US11443162B2 (en) * 2019-08-23 2022-09-13 Google Llc Resource constrained neural network architecture search
CN112445823A (zh) * 2019-09-04 2021-03-05 华为技术有限公司 神经网络结构的搜索方法、图像处理方法和装置
CN110598629B (zh) * 2019-09-11 2023-06-06 北京百度网讯科技有限公司 超网络的搜索空间构建方法、装置以及电子设备
CN110705573A (zh) * 2019-09-25 2020-01-17 苏州浪潮智能科技有限公司 一种目标检测模型的自动建模方法及装置
CN110609560A (zh) * 2019-10-29 2019-12-24 广州高新兴机器人有限公司 移动机器人避障规划方法及计算机存储介质
WO2021081809A1 (zh) * 2019-10-30 2021-05-06 深圳市大疆创新科技有限公司 网络结构搜索的方法、装置、存储介质和计算机程序产品
CN113361680B (zh) * 2020-03-05 2024-04-12 华为云计算技术有限公司 一种神经网络架构搜索方法、装置、设备及介质
US11568249B2 (en) 2020-04-07 2023-01-31 International Business Machines Corporation Automated decision making for neural architecture search
US11521028B2 (en) 2020-04-10 2022-12-06 Toyota Research Institute, Inc. Meta-learning neural architecture search via graph networks on search space lattices
CN113570029A (zh) * 2020-04-29 2021-10-29 华为技术有限公司 获取神经网络模型的方法、图像处理方法及装置
CN111516700A (zh) * 2020-05-11 2020-08-11 安徽大学 一种驾驶员分心细粒度监测方法和系统
CN111639752B (zh) * 2020-05-29 2023-09-26 北京百度网讯科技有限公司 用于训练超网络的方法、装置、设备以及存储介质
CN113837374A (zh) * 2020-06-23 2021-12-24 中兴通讯股份有限公司 神经网络的生成方法、设备及计算机可读存储介质
CN111860540B (zh) * 2020-07-20 2024-01-12 深圳大学 基于fpga的神经网络图像特征提取系统
US20220067423A1 (en) * 2020-08-26 2022-03-03 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for providing and applying a unified decoding efficiency score with focus on environmental impact
CN112101428B (zh) * 2020-08-27 2023-11-10 上海交通大学 一种基于卷积神经网络的图像分类方法及系统
CN112036512B (zh) * 2020-11-03 2021-03-26 浙江大学 基于网络裁剪的图像分类神经网络架构搜索方法和装置
US11825371B2 (en) * 2020-11-11 2023-11-21 Samsung Electronics Co., Ltd. Method and apparatus for distributing traffic load between different communication cells
CN112489012A (zh) * 2020-11-27 2021-03-12 大连东软教育科技集团有限公司 一种用于ct图像识别的神经网络架构方法
CN112465838B (zh) * 2020-12-10 2023-01-31 桂林理工大学 陶瓷晶粒图像分割方法、系统、储存介质及计算机设备
US12028188B2 (en) 2021-05-12 2024-07-02 Analog Devices, Inc. Digital predistortion with hybrid basis-function-based actuator and neural network
US12003261B2 (en) * 2021-05-12 2024-06-04 Analog Devices, Inc. Model architecture search and optimization for hardware
CN112949842B (zh) * 2021-05-13 2021-09-14 北京市商汤科技开发有限公司 神经网络结构搜索方法、装置、计算机设备以及存储介质
CN113344283B (zh) * 2021-06-23 2023-11-28 国网黑龙江省电力有限公司 基于边缘智能的能源互联网新能源消纳能力评估方法
CN113688977B (zh) * 2021-08-30 2023-12-05 浙江大学 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质
CN116151352B (zh) * 2023-04-13 2024-06-04 中浙信科技咨询有限公司 基于大脑信息通路整合机制的卷积循环神经网络诊断方法
CN116822325B (zh) * 2023-04-29 2023-12-26 中国人民解放军63963部队 一种总体构型约束下的柴油机性能优化设计方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554012A (ja) 1991-08-27 1993-03-05 Toshiba Corp エキスパートシステムを用いた神経回路網自動構築装置
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US10275719B2 (en) * 2015-01-29 2019-04-30 Qualcomm Incorporated Hyper-parameter selection for deep convolutional networks
US11080587B2 (en) * 2015-02-06 2021-08-03 Deepmind Technologies Limited Recurrent neural networks for data item generation
WO2017083777A1 (en) * 2015-11-12 2017-05-18 Google Inc. Generating larger neural networks
US11263514B2 (en) * 2016-01-13 2022-03-01 Google Llc Processing and generating sets using recurrent neural networks
US10733532B2 (en) * 2016-01-27 2020-08-04 Bonsai AI, Inc. Multiple user interfaces of an artificial intelligence system to accommodate different types of users solving different types of problems with artificial intelligence
US12014257B2 (en) * 2017-05-19 2024-06-18 Salesforce, Inc. Domain specific language for generation of recurrent neural network architectures

Also Published As

Publication number Publication date
US10521729B2 (en) 2019-12-31
CN117892774A (zh) 2024-04-16
US11651259B2 (en) 2023-05-16
US20190026639A1 (en) 2019-01-24
US20230252327A1 (en) 2023-08-10
CN110476172B (zh) 2024-01-30
CN110476172A (zh) 2019-11-19
EP3583553A1 (en) 2019-12-25
WO2019018375A1 (en) 2019-01-24
JP2020522035A (ja) 2020-07-27
US20200065689A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP6963627B2 (ja) 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索
JP6828121B2 (ja) 優先順位付けされた経験メモリを使用したニューラルネットワークの訓練
JP6817431B2 (ja) ニューラルアーキテクチャ検索
JP6926203B2 (ja) 補助タスクを伴う強化学習
KR102242516B1 (ko) 복수의 기계 학습 태스크에 대해 기계 학습 모델들을 훈련
JP7247274B2 (ja) 非同期深層強化学習
JP7043596B2 (ja) ニューラルアーキテクチャ検索
JP6827539B2 (ja) アクション選択ニューラルネットワークをトレーニングすること
CN111406267B (zh) 使用性能预测神经网络的神经架构搜索
CN110520868B (zh) 用于分布式强化学习的方法、程序产品和存储介质
JP2019517074A (ja) 疑似カウントを使用する強化学習
CN113806512B (zh) 机器人对话模型的训练方法、装置、设备及存储介质
JP2024149491A (ja) 非同期深層強化学習

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211015

R150 Certificate of patent or registration of utility model

Ref document number: 6963627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150