JP6889270B2 - ニューラルネットワークアーキテクチャの最適化 - Google Patents

ニューラルネットワークアーキテクチャの最適化 Download PDF

Info

Publication number
JP6889270B2
JP6889270B2 JP2019545938A JP2019545938A JP6889270B2 JP 6889270 B2 JP6889270 B2 JP 6889270B2 JP 2019545938 A JP2019545938 A JP 2019545938A JP 2019545938 A JP2019545938 A JP 2019545938A JP 6889270 B2 JP6889270 B2 JP 6889270B2
Authority
JP
Japan
Prior art keywords
neural network
compact representation
compact
new
training
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
JP2019545938A
Other languages
English (en)
Other versions
JP2020508521A (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 JP2020508521A publication Critical patent/JP2020508521A/ja
Application granted granted Critical
Publication of JP6889270B2 publication Critical patent/JP6889270B2/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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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
    • 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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Physiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Description

本明細書は、ニューラルネットワークのトレーニングに関する。
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を使用して、受信された入力の出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って受信された入力から出力を生成する。
一般に、本明細書に記載される主題の1つの発明的態様は、最適なニューラルネットワークアーキテクチャを決定するための方法で具現化することができる。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含み、各々が方法のアクションを実行するように構成されている。1つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させ得る、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せによって特定の動作またはアクションを実行するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含めることにより、特定の動作またはアクションを実行するように構成することができる。
本明細書に記載される主題は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態で実施することができる。本明細書において説明するように、所与の機械学習タスクのトレーニングデータを使用してニューラルネットワークアーキテクチャを最適化することによって、機械学習タスクにおける最終的なトレーニング済みニューラルネットワークのパフォーマンスを向上させることができる。特に、ニューラルネットワークのアーキテクチャは、既存のアーキテクチャによって制約されることなく、タスクのトレーニングデータに合わせて調整することができ、それによって、トレーニング済みニューラルネットワークのパフォーマンスが向上する。アーキテクチャの最適化を複数のワーカーコンピューティングユニットに分散させることによって、検索でき、評価できる可能なアーキテクチャの探索スペースが大幅に増加し、その結果、最終的に最適化されたアーキテクチャでは機械学習タスクのパフォーマンスが向上する。さらに、ニューラルネットワークを直接修正する必要なく、アーキテクチャのコンパクト表現に作用することによって、最適化プロセスの効率が向上し、その結果、たとえば、より少ないメモリおよび処理能力、またはその両方など、より少ないコンピューティングリソースを使用しながら、最適化されたアーキテクチャがより迅速に決定される。
本明細書の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
例示的なニューラルネットワークアーキテクチャ最適化システムを示す図である。 ニューラルネットワークアーキテクチャを最適化するための例示的なプロセスのフローチャートである。 ポピュレーションリポジトリ(population repository)内のコンパクト表現を更新するための例示的なプロセスのフローチャートである。
図1は、例示的なニューラルネットワークアーキテクチャ最適化システム100を示す。ニューラルネットワークアーキテクチャ最適化システム100は、以下に説明するシステム、構成要素、および技法を実装することができる1つまたは複数の場所にある1つまたは複数のコンピュータにコンピュータプログラムとして実装されるシステムの一例である。
ニューラルネットワークアーキテクチャ最適化システム100は、すなわち、システムのユーザから、機械学習タスクを実行するようにニューラルネットワークをトレーニングするためのトレーニングデータ102を受信し、トレーニングデータ102を使用して、機械学習タスクを実行するための最適なニューラルネットワークアーキテクチャを決定し、最適なニューラルネットワークアーキテクチャを有するニューラルネットワークをトレーニングして、ニューラルネットワークのパラメータの訓練値(trained value)を決定するシステムである。
トレーニングデータ102は、一般に、複数のトレーニング例、および各トレーニング例のそれぞれのターゲット出力を含む。所与のトレーニング例のターゲット出力は、所与のトレーニング例を処理することによって、トレーニング済みニューラルネットワークによって生成される出力である。
システム100は、様々な方法のうちのいずれかでトレーニングデータ102を受信することができる。たとえば、システム100は、たとえばシステム100によって利用可能にされるアプリケーションプログラミングインターフェース(API)を使用して、データ通信ネットワークを介してシステムの遠隔ユーザからアップロードとしてトレーニングデータを受信することができる。別の例として、システム100は、システム100によってすでに維持されているどのデータをトレーニングデータ102として使用すべきかを指定する入力を、ユーザから受信することができる。
ニューラルネットワークアーキテクチャ最適化システム100は、トレーニングデータ102を使用してトレーニング済みニューラルネットワークを指定するデータ152を生成する。データ152は、トレーニング済みニューラルネットワークの最適なアーキテクチャ、および最適なアーキテクチャを有するトレーニング済みニューラルネットワークのパラメータの訓練値を指定する。
ニューラルネットワークアーキテクチャ最適化システム100がデータ152を生成すると、ニューラルネットワークアーキテクチャ最適化システム100は、トレーニング済みニューラルネットワークデータ152を使用してトレーニング済みニューラルネットワークをインスタンス化し、トレーニング済みニューラルネットワークを使用して、たとえばシステムによって提供されるAPIを介して機械学習タスクを実行するように新しい受信入力を処理することができる。すなわち、システム100は、処理されるべき入力を受信し、入力を処理するためにトレーニング済みニューラルネットワークを使用し、受信された入力に応答して、トレーニング済みニューラルネットワークによって生成された出力、または生成された出力から導出されたデータを提供することができる。代わりに、または加えて、システム100は、トレーニング済みニューラルネットワークをインスタンス化する際に後で使用するためにトレーニング済みニューラルネットワークデータ152を記憶することができ、または、トレーニング済みニューラルネットワークをインスタンス化する際に使用するためにトレーニング済みニューラルネットワークデータ152を別のシステムに送信する、もしくはデータ152を、トレーニングデータをサブミットしたユーザに出力することができる。
機械学習タスクは、トレーニングデータ102をシステム100にサブミットするユーザによって指定されるタスクである。
いくつかの実装形態では、ユーザは、トレーニングデータ102とともにニューラルネットワークアーキテクチャ最適化システム100にタスクを識別するデータをサブミットすることによって、タスクを明示的に定義する。たとえば、システム100は、ユーザがシステム100によってサポートされるタスクのリストからタスクを選択することを可能にするユーザインターフェースをユーザのユーザデバイス上に提示してもよい。すなわち、ニューラルネットワークアーキテクチャ最適化システム100は、たとえば、画像分類のような画像処理タスク、音声認識タスク、感情分析のような自然言語処理タスクなど、機械学習タスクのリストを維持することができる。システム100は、ユーザインターフェースにおいてタスクの1つを選択することによって、トレーニングデータが使用されるべきタスクとして、維持されたタスクのうちの1つをユーザが選択できるようにすることができる。
いくつかの他の実装形態では、ユーザによってサブミットされたトレーニングデータ102は、機械学習タスクを指定する。すなわち、ニューラルネットワークアーキテクチャ最適化システム100は、トレーニング例のターゲット出力と同じフォーマットおよび構造を有する出力を生成するために、そのタスクを、トレーニングデータ102におけるトレーニング例と同じフォーマットおよび構造を有する入力を処理するタスクとして定義する。たとえば、トレーニング例がある解像度を有する画像であり、ターゲット出力が1000次元ベクトルである場合、システム100は、そのタスクを、ある解像度を有する画像を1000次元ベクトルにマッピングするタスクとして識別することができる。たとえば、1000次元のターゲット出力ベクトルは、非ゼロ値を持つ単一の要素を有し得る。非ゼロ値の位置は、トレーニング例画像が1000クラスのどれに属するかを示す。この例では、システム100は、タスクが画像を1000次元の確率ベクトルにマッピングすることであることを識別し得る。各要素は、画像がそれぞれのクラスに属する確率を表す。1000個の可能なクラスから選択されたターゲット出力分類とペアになった50000個のトレーニング例で構成されるCIFAR-1000データセットは、そのようなトレーニングデータ102の一例である。CIFAR-10は、分類が10個の可能なクラスのうちの1つである関連データセットである。適切なトレーニングデータ102の別の例は、トレーニング例が手書き数字の画像であり、ターゲット出力が、これらが表す数字であるMNISTデータセットである。ターゲット出力は、単一の非ゼロ値を有する10次元ベクトルとして表され、非ゼロ値の位置はそれぞれの桁を示す。
ニューラルネットワークアーキテクチャ最適化システム100は、ポピュレーションリポジトリ110と、ポピュレーションリポジトリに記憶されたデータを更新するために互いに独立して動作する複数のワーカー120A〜Nとを含む。
トレーニング中の所与の時点で、ポピュレーションリポジトリ110は、1つまたは複数の物理的位置にある1つまたは複数のストレージデバイスとして実装され、ニューラルネットワークアーキテクチャ候補の現在のポピュレーションを指定するデータを記憶する。
特に、ポピュレーションリポジトリ110は、現在のポピュレーションにおける各ニューラルネットワークアーキテクチャ候補について、アーキテクチャを定義するコンパクト表現を記憶する。随意に、ポピュレーションリポジトリ110は、各アーキテクチャ候補について、アーキテクチャを有するニューラルネットワークのインスタンス、アーキテクチャを有するニューラルネットワークのパラメータの現在値、またはアーキテクチャを特徴付ける追加のメタデータを記憶することもできる。
所与のアーキテクチャのコンパクト表現は、アーキテクチャの少なくとも一部を符号化するデータ、すなわち、アーキテクチャを有するニューラルネットワーク、またはニューラルネットワークアーキテクチャ最適化システム100によって修正可能なニューラルネットワークアーキテクチャの少なくとも一部を生成するために使用できるデータである。特に、所与のアーキテクチャのコンパクト表現は、アーキテクチャ内の各層、およびアーキテクチャ内の層間の接続、すなわち、ニューラルネットワークによる入力の処理中の層間のデータの流れをコンパクトに識別する。
たとえば、コンパクト表現は、有向エッジによって接続されたノードのグラフを表すデータとすることができる。一般に、グラフにおける各ノードは、たとえば、アーキテクチャにおけるニューラルネットワーク層、ニューラルネットワークモジュール、長期短期メモリセル(LSTM)のゲート、LSTMセル、または他のニューラルネットワークコンポーネントなどのニューラルネットワークコンポーネントを表し、グラフにおける各エッジは、それぞれの発信ノードをそれぞれの着信ノードに接続し、発信ノードによって表されるコンポーネントによって生成された出力の少なくとも一部が着信ノードによって表される層への入力として提供されることを表す。ノードおよびエッジは、アーキテクチャの様々なコンポーネントによるデータの変換方法を特徴付けるラベルを有する。
畳み込みニューラルネットワークの例では、グラフにおける各ノードは、アーキテクチャにおけるニューラルネットワーク層を表し、ノードによって表される層への入力のサイズ、および、ある場合は、ノードによって表される層によって適用される活性化関数のタイプを指定するラベルを有し、各エッジのラベルは、たとえば、完全に接続された層によって適用される畳み込みまたは行列乗算など、着信ノードによって表される層によって、発信ノードによって表される層によって生成される出力に適用される変換を指定する。
別の例として、コンパクト表現は、アーキテクチャ内のコンポーネント間の接続を反映する順序で配置されたアーキテクチャ内のコンポーネントの識別子のリストとすることができる。
また別の例として、コンパクト表現は、上記のノードおよびエッジのグラフを構築するためのルールのセット、すなわち、実行時にアーキテクチャを表すノードおよびエッジのグラフの生成をもたらすルールのセットとすることができる。
いくつかの実装形態では、コンパクト表現はまた、たとえば、学習率、学習率の減衰など、符号化されたアーキテクチャを有するニューラルネットワークのトレーニングのためのハイパーパラメータを指定するデータを符号化する。
トレーニングプロセスを開始するために、ニューラルネットワークアーキテクチャ最適化システム100は、ユーザ指定の機械学習タスクを実行するための1つまたは複数の初期ニューラルネットワークアーキテクチャのコンパクト表現でポピュレーションリポジトリを事前にポピュレートする。
各初期ニューラルネットワークアーキテクチャは、機械学習タスクに適合する入力、すなわち、トレーニングデータ102内のトレーニング例のフォーマットおよび構造を有する入力を受信し、機械学習タスクに適合する出力、すなわち、トレーニングデータ102におけるターゲット出力のフォーマットおよび構造を有する出力を生成するアーキテクチャである。
特に、ニューラルネットワークアーキテクチャ最適化システム100は、複数の既存のニューラルネットワークアーキテクチャを識別するデータを維持する。
機械学習タスクがユーザによって選択可能である実装形態では、システム100は、既存のニューラルネットワークアーキテクチャの各々を、それらのアーキテクチャが実行するように構成されているタスクに関連付けるデータも維持する。次いで、システムは、ユーザ指定のタスクを実行するように構成された既存のアーキテクチャでポピュレーションリポジトリ110を事前にポピュレートすることができる。
システム100がトレーニングデータ102からタスクを決定する実装形態では、システム100は、維持されたデータにおいて識別されるどのアーキテクチャが適合する入力を受信し、適合する出力を生成するかを決定し、それらのアーキテクチャを、リポジトリ100を事前にポピュレートするために使用されるべきアーキテクチャとして選択する。
いくつかの実装形態では、既存のニューラルネットワークアーキテクチャは、特定の機械学習タスクを実行するための基本的なアーキテクチャである。他の実装形態では、既存のニューラルネットワークアーキテクチャは、トレーニング後に、特定の機械学習タスクにおいて適切に機能することがわかっているアーキテクチャである。
ワーカー120A〜120Nの各々は、それぞれのコンピューティングユニットにおいて実行されるように配置された1つまたは複数のコンピュータプログラムおよびデータとして実装される。コンピューティングユニットは、互いに独立して動作できるように構成される。いくつかの実装形態では、たとえば、ワーカーがいくつかのリソースを共有するので、動作の部分的な独立性のみが達成される。コンピューティングユニットは、たとえば、コンピュータ、複数のコアを有するコンピュータ内のコア、またはワーカーの計算を独立して実行できるコンピュータ内の他のハードウェアまたはソフトウェアであり得る。
ワーカー120A〜120Nの各々は、ポピュレーションリポジトリ102内の可能なニューラルネットワークアーキテクチャのポピュレーションを繰り返し更新して、ポピュレーションの適合性を向上させる。
特に、各反復において、所与のワーカー120A〜120Nは、ポピュレーションリポジトリから親コンパクト表現122をサンプリングし、親コンパクト表現122から子孫コンパクト表現124を生成し、子孫コンパクト表現124によって定義されるアーキテクチャを有するニューラルネットワークをトレーニングし、アーキテクチャを有するトレーニング済みニューラルネットワークの適合度(measure of fitness)に関連して子孫コンパクト表現124をポピュレーションリポジトリ110に記憶する。
トレーニングの終了基準が満たされた後、ニューラルネットワークアーキテクチャ最適化システム100は、ポピュレーションに残っているアーキテクチャから、またはいくつかの場合には、トレーニング中の任意の時点にポピュレーションにあったすべてのアーキテクチャから最適なニューラルネットワークアーキテクチャを選択する。
特に、いくつかの実装形態では、ニューラルネットワークアーキテクチャ最適化システム100は、最高の適合度を有するポピュレーション内のアーキテクチャを選択する。他の実装形態では、ニューラルネットワークアーキテクチャ最適化システム100は、それらのアーキテクチャがポピュレーションから削除された後でも、アーキテクチャの適合度を追跡し、追跡された適合度を使用して最高の適合度を有するアーキテクチャを選択する。
トレーニング済みニューラルネットワークを指定するデータ152を生成するために、ニューラルネットワークアーキテクチャ最適化システム100は、次いで、ポピュレーションリポジトリ110から最適なニューラルネットワークアーキテクチャを有するトレーニング済みニューラルネットワークのパラメータの訓練値を取得するか、ニューラルネットワークのパラメータの訓練値を決定するために最適なアーキテクチャを有するニューラルネットワークをトレーニングすることができる。
図2は、機械学習タスクを実行するための最適なニューラルネットワークアーキテクチャを決定するための例示的なプロセス200のフローチャートである。便宜上、プロセス200は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた図1のニューラルネットワークアーキテクチャ最適化システム100などのニューラルネットワークアーキテクチャ最適化システムは、プロセス200を実行することができる。
システムは、ユーザ指定の機械学習タスクを実行するためにニューラルネットワークをトレーニングする際に使用するためのトレーニングデータを取得する(ステップ202)。システムは、受信されたトレーニングデータをトレーニングサブセット、検証サブセット、および随意にテストサブセットに分割する。
システムは、1つまたは複数のデフォルトのニューラルネットワークアーキテクチャでポピュレーションリポジトリを初期化する(ステップ204)。特に、システムは、デフォルトのニューラルネットワークアーキテクチャの各々のコンパクト表現をポピュレーションリポジトリに追加することによって、ポピュレーションリポジトリを初期化する。
デフォルトのニューラルネットワークアーキテクチャは、機械学習タスクを実行するためのあらかじめ決定されたアーキテクチャ、すなわち、トレーニングデータによって指定されたものに適合する入力を受信し、トレーニングデータによって指定されたものに適合する出力を生成するアーキテクチャである。
システムは、複数のワーカーを使用して、ポピュレーションリポジトリ内のアーキテクチャを繰り返し更新する(ステップ206)。
特に、複数のワーカーの各ワーカーは、アーキテクチャ修正プロセスの複数の反復を独立して実行する。プロセスの各反復で、各ワーカーは、ポピュレーションリポジトリ内のコンパクト表現を更新して、ニューラルネットワークアーキテクチャ候補のポピュレーションを更新する。ワーカーは、新しいニューラルネットワークアーキテクチャの新しいコンパクト表現を追加するためにポピュレーションリポジトリを更新するたびに、ポピュレーションリポジトリにおける新しいコンパクト表現に関連して、ニューラルネットワークアーキテクチャを有するトレーニング済みニューラルネットワークの適合度も記憶する。アーキテクチャ修正プロセスの反復の実行について、図3を参照して以下で説明する。
システムは、機械学習タスクを実行するために使用される最適化されたニューラルネットワークアーキテクチャとして最も良く適合するニューラルネットワークアーキテクチャ候補を選択する(ステップ208)。すなわち、たとえば、しきい値を超える数の反復が実行された後、またはポピュレーションリポジトリ内の最も良く適合するニューラルネットワーク候補がしきい値を超える適合性を有した後など、ひとたびワーカーが反復の実行を完了し、終了基準が満たされると、システムは、機械学習タスクの実行に使用される最終的なニューラルネットワークアーキテクチャとして最も良く適合するニューラルネットワークアーキテクチャ候補を選択する。
システムがトレーニングデータからテストサブセットを生成する実装形態では、システムは、テストサブセットにおいて最適化されたニューラルネットワークアーキテクチャを有するトレーニング済みニューラルネットワークのパフォーマンスのテストも行って、ユーザ指定の機械学習タスクにおけるトレーニング済みニューラルネットワークの適合度を決定する。次いで、システムは、トレーニングデータをサブミットしたユーザへの提示のための適合度を提供することができ、または、トレーニング済みニューラルネットワークのパラメータの訓練値に関連して適合度を記憶することができる。
説明した方法を使用すると、得られたトレーニング済みニューラルネットワークは、ニューラルネットワーク設計者からの入力をほとんどまたはまったく必要とせずに、最先端の手設計されたモデルと競合するかそれを超える機械学習タスクにおけるパフォーマンスを達成できる。特に、説明されている方法は、得られたニューラルネットワークのハイパーパラメータを自動的に最適化する。
図3は、ポピュレーションリポジトリ内のコンパクト表現を更新するための例示的なプロセス300のフローチャートである。便宜上、プロセス300は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた図1のニューラルネットワークアーキテクチャ最適化システム100などのニューラルネットワークアーキテクチャ最適化システムは、プロセス300を実行することができる。
プロセス300は、機械学習タスクを実行するための最適なニューラルネットワークアーキテクチャを決定する一部として、複数のワーカーの各ワーカーによって繰り返し独立して実行することができる。
ワーカーは、ポピュレーションリポジトリから複数の親コンパクト表現を取得する(ステップ302)。特に、ワーカーは、ランダムに、また他のワーカーとは独立して、ポピュレーションリポジトリから2つ以上のコンパクト表現をサンプリングし、サンプリングされた各コンパクト表現は、異なるニューラルネットワークアーキテクチャ候補を符号化する。
いくつかの実装形態では、たとえば、常に2つの親コンパクト表現をサンプリングする、常に3つのコンパクト表現をサンプリングするなど、各ワーカーは、常に、あらかじめ定められた同じ数の親コンパクト表現をポピュレーションリポジトリからサンプリングする。いくつかの他の実装形態では、各ワーカーは、ポピュレーションリポジトリからそれぞれのあらかじめ定められた数の親コンパクト表現をサンプリングするが、あらかじめ定められた数はワーカーごとに異なり、たとえば、あるワーカーは常に2つの親コンパクト表現をサンプリングし、別のワーカーは常に3つのコンパクト表現をサンプリングする。また他の実装形態では、各ワーカーは、複数の可能な数の各々の尤度を定義するデータを保持し、データによって定義された尤度に従って各反復でサンプリングするコンパクト表現の数を選択する。
ワーカーは、親コンパクト表現から子孫コンパクト表現を生成する(ステップ304)。
特に、ワーカーは、親コンパクト表現によって符号化されたアーキテクチャの各々の適合性を評価し、最小適合アーキテクチャを符号化する親コンパクト表現、すなわち、最悪の適合度を有するアーキテクチャを符号化する親コンパクト表現を決定する。
すなわち、ワーカーは、ポピュレーションリポジトリ内の各親コンパクト表現に関連付けられている適合度を比較し、最悪の適合度に関連付けられている親コンパクト表現を識別する。
親コンパクト表現のうちの1つがリポジトリ内の適合度に関連付けられていない場合、ワーカーは、後述するように、親コンパクト表現によって符号化されたアーキテクチャを有するニューラルネットワークの適合性を評価する。
次いで、ワーカーは、残りの親コンパクト表現、すなわち、より良い適合度を有する表現から子孫コンパクト表現を生成する。所与の数のアイテムをサンプリングし、より良く働くものを選択することは、「トーナメント選択」と呼ばれることがある。最悪の適合度を有する親コンパクト表現は、ポピュレーションリポジトリから削除される場合がある。
ワーカーは、少なくとも以下に述べる理由のために、上記の実装形態において非同期的に動作することができる。限られた数の親コンパクト表現が各ワーカーによってサンプリングされるので、所与のワーカーは通常、ポピュレーションリポジトリに含まれる他の親コンパクト表現の修正による影響を受けない。時々、別のワーカーが、所与のワーカーが作用している親コンパクト表現を修正することがある。この場合、影響を受けるワーカーは、単にあきらめ、再試行する、すなわち、現在のポピュレーションから新しい親コンパクト表現をサンプリングすることができる。非同期で動作するワーカーは、超並列のロックフリーインフラストラクチャで動作できる。
単一の残りの親コンパクト表現がある場合、ワーカーは、親コンパクト表現を突然変異させて、子孫コンパクト表現を生成する。
いくつかの実装形態では、ワーカーは、突然変異ニューラルネットワークを介して親コンパクト表現を処理することによって、親コンパクト表現を突然変異させる。突然変異ニューラルネットワークは、1つのコンパクト表現を含む入力を受信し、入力コンパクト表現とは異なる別のコンパクト表現を定義する出力を生成するようにトレーニングされたニューラルネットワークである。
いくつかの他の実装形態では、ワーカーは、コンパクト表現に適用できる可能な突然変異のセットを識別するデータを保持する。ワーカーは、可能な突然変異のうちの1つをランダムに選択し、その突然変異を親コンパクト表現に適用できる。
可能な突然変異のセットは、ニューラルネットワークのコンポーネントの追加、削除、もしくは修正、またはニューラルネットワークのトレーニングのためのハイパーパラメータの変更を表す様々なコンパクト表現修正のいずれかを含むことができる。
たとえば、可能な突然変異のセットは、親コンパクト表現からノードを削除し、したがって、親コンパクト表現によって符号化されたアーキテクチャからコンポーネントを削除する突然変異を含むことができる。
別の例として、可能な突然変異のセットは、親コンパクト表現にノードを追加し、したがって、親コンパクト表現によって符号化されたアーキテクチャにコンポーネントを追加する突然変異を含むことができる。
別の例として、可能な突然変異のセットは、コンパクト表現内の既存のノードまたはエッジのラベルを変更し、したがって、親コンパクト表現によって符号化されたアーキテクチャ内の既存のコンポーネントによって実行される動作を修正する1つまたは複数の突然変異を含むことができる。たとえば、ある突然変異は、畳み込みニューラルネットワーク層のフィルタサイズを変更する可能性がある。別の例として、別の突然変異は、畳み込みニューラルネットワーク層の出力チャネルの数を変更する可能性がある。
別の例として、可能な突然変異のセットは、アーキテクチャを有するニューラルネットワークのトレーニングで使用される学習率を修正する、またはアーキテクチャを有するニューラルネットワークのトレーニングで使用される学習率の減衰を修正する突然変異を含むことができる。
これらの実装形態では、システムがコンパクト表現に適用されるべき突然変異を選択すると、システムは、コンパクト表現における有効な場所を決定し、有効な場所のうちの1つをランダムに選択し、次いで、ランダムに選択された有効な場所に突然変異を適用する。有効な場所とは、その場所で突然変異が適用された場合でも、コンパクト表現が有効なアーキテクチャを依然として符号化する場所である。有効なアーキテクチャとは、すなわち、適合入力を処理して適合出力を生成する、機械学習タスクを依然として実行するアーキテクチャである。
複数の残りの親コンパクト表現が存在する場合、ワーカーは、親コンパクト表現を再結合して、子孫コンパクト表現を生成する。
いくつかの実装形態では、ワーカーは、再結合のニューラルネットワークを使用して親コンパクト表現を処理することによって、親コンパクト表現を再結合する。再結合のニューラルネットワークは、親コンパクト表現を含む入力を受信し、親コンパクト表現の再結合である新しいコンパクト表現を定義する出力を生成するようにトレーニングされたニューラルネットワークである。
いくつかの他の実装形態では、システムは、親コンパクト表現をつなぎ合わせて(join)子孫コンパクト表現を生成することによって、親コンパクト表現を再結合する。たとえば、システムは、親コンパクト表現における出力ノードに着信エッジによって接続され、親コンパクト表現の出力ノードによって表されるコンポーネントの出力を結合するコンポーネントを表す子孫コンパクト表現にノードを追加することによって、コンパクト表現をつなぎ合わせることができる。別の例として、システムは、親コンパクト表現の各々から出力ノードを削除し、次いで、親コンパクト表現における出力ノードに発信エッジによって接続されていたノードに、着信エッジによって接続され、親コンパクト表現におけるそれらのノードによって表されるコンポーネントの出力を結合するコンポーネントを表す子孫コンパクト表現にノードを追加することができる。
一部の実装形態では、ワーカーは、現在のポピュレーションから最小適合アーキテクチャも削除する。たとえば、ワーカーは、コンパクト表現を非アクティブとして指定するアーキテクチャのコンパクト表現にデータを関連付けることができ、またはコンパクト表現および関連するデータをリポジトリから削除できる。
いくつかの実装形態では、システムは、任意の所与の時間にポピュレーション内にあり得る最大数のアーキテクチャを定義する最大ポピュレーションサイズパラメータ、所与の時間にポピュレーション内にあり得る最小数のアーキテクチャを定義する最小ポピュレーションサイズパラメータ、またはその両方を維持する。ポピュレーションサイズパラメータは、ユーザによって定義することができ、または、たとえばシステムにとって利用可能なストレージリソースに基づいて、システムによって自動的に決定することもできる。
ポピュレーションにおけるアーキテクチャの現在の数が最小ポピュレーションサイズパラメータを下回っている場合、ワーカーは、ポピュレーションから最小適合アーキテクチャを削除することを控えることができる。
アーキテクチャの現在の数が最大ポピュレーションサイズパラメータ以上である場合、ワーカーは、子孫コンパクト表現の生成を控えることができ、すなわち、それを新しいコンパクト表現に置き換えることなく、またプロセス300のステップ306〜312を実行することなく、ポピュレーションから最小適合アーキテクチャを削除することができる。
ワーカーは、子孫コンパクト表現を復号することによって、子孫ニューラルネットワークを生成する(ステップ306)。すなわち、ワーカーは、子孫コンパクト表現によって符号化されたアーキテクチャを有するニューラルネットワークを生成する。
いくつかの実装形態では、ワーカーは、子孫ニューラルネットワークのパラメータをランダム値または所定の初期値に初期化する。他の実装形態では、ワーカーは、子孫コンパクト表現を生成するために使用される1つまたは複数の親コンパクト表現にも含まれる子孫ニューラルネットワークのコンポーネントのパラメータの値を、対応する親ニューラルネットワークのトレーニングからのパラメータの値に初期化する。1つまたは複数の親コンパクト表現に含まれるものに基づいてコンポーネントのパラメータの値を初期化することは、「重み継承」と呼ばれる場合がある。
ワーカーは、子孫ニューラルネットワークをトレーニングして、子孫ニューラルネットワークのパラメータの訓練値を決定する(ステップ308)。子孫ニューラルネットワークが完全にトレーニングされていることが望ましい。しかしながら、プロセス300の各反復で完了するまで子孫ニューラルネットワークをトレーニングすることは、少なくともより大きいニューラルネットワークについては、不合理な時間量およびコンピューティングリソースを必要とする可能性がある。重み継承は、プロセス300の各反復で必要なトレーニングの量を制限しながら、後の反復で子孫ネットワークを、完全にまたは少なくともほぼ完全にトレーニングすることを可能にすることによって、このジレンマを解決し得る。
特に、ワーカーは、たとえば、逆伝播による確率的勾配降下、または子孫ニューラルネットワークがリカレントニューラルネットワークである場合、通時的誤差逆伝播トレーニング技法(backpropagation-through-time training technique)など、機械学習タスクに適したニューラルネットワークトレーニング技法を使用して、トレーニングデータのトレーニングサブセットにおいて子孫ニューラルネットワークをトレーニングする。トレーニング中、ワーカーは、子孫コンパクト表現によって符号化された任意のトレーニングハイパーパラメータに従ってトレーニングを実行する。
いくつかの実装形態では、ワーカーは、たとえば、トレーニングの各ラウンドの前にトレーニングサブセット内のトレーニング例をランダムに順序付けることによって、ワーカーが新しいニューラルネットワークをトレーニングするたびに、トレーニングサブセット内のトレーニング例の順序を修正する。したがって、各ワーカーは、一般に、同じであるが、他のワーカーとは異なるように順序付けられたトレーニング例においてニューラルネットワークをトレーニングする。
ワーカーは、トレーニング済み子孫ニューラルネットワークの適合性を評価する(ステップ310)。
特に、システムは、検証サブセットにおいて、すなわち、ワーカーが子孫ニューラルネットワークをトレーニングするために使用するトレーニングサブセットとは異なるサブセットにおいて、トレーニング済み子孫ニューラルネットワークの適合性を決定することができる。
ワーカーは、それらのトレーニング例のターゲット出力を使用して、検証サブセット内のトレーニング例において、トレーニング済みニューラルネットワークによって生成されたモデル出力の適合性を評価することによって、トレーニング済み子孫ニューラルネットワークの適合性を評価する。
いくつかの実装形態では、ユーザは、たとえば精度測定、リコール測定、曲線測定下面積、二乗誤差測定、困惑度測定など、トレーニング済み子孫ニューラルネットワークの適合性を評価する際に使用される適合度を指定する。
他の実装形態では、システムは、システムによってサポートされる機械学習タスクの各々とそれぞれの適合度とを関連付ける、たとえば、ユーザによって選択可能な各機械学習タスクとそれぞれの適合度とを関連付けるデータを維持する。これらの実装形態では、システムは、各ワーカーに、ユーザ指定の機械学習タスクに関連付けられている適合度を使用するよう指示する。
ワーカーは、子孫コンパクト表現およびトレーニング済み子孫ニューラルネットワークの適合度をポピュレーションリポジトリに記憶する(ステップ312)。いくつかの実装形態では、ワーカーは、子孫コンパクト表現に関連して、ポピュレーションリポジトリにトレーニング済みニューラルネットワークのパラメータの訓練値も記憶する。
本明細書に記載された主題および機能的動作の実施形態は、デジタル電子回路、有形に実施されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せに実装することができる。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するため、またはデータ処理装置の動作を制御するための有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替的に、または追加として、プログラム命令は、たとえば、データ処理装置によって実行するための適切な受信機装置への送信のために情報を符号化するために生成された機械生成電気、光学、または電磁信号などの人工的に生成された伝搬信号上で符号化することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せとすることができる。しかしながら、コンピュータ記憶媒体は、伝搬信号ではない。
「データ処理装置」という用語は、たとえば、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるまたは記述されることもある)は、コンパイルもしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしてなど、任意の形式で展開できる。コンピュータプログラムは、必ずしも必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、問題のプログラム専用の単一のファイル、またはたとえば、1つまたは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルなど、複数のコーディネートされたファイルに、たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプトなど、他のプログラムまたはデータを保持するファイルの一部に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備することができる。
本明細書で使用する「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装の入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなどの機能の符号化ブロックとすることができる。各エンジンは、1つまたは複数のプロセッサおよびコンピュータ可読媒体を含むサーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子書籍リーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または他の固定もしくは携帯型デバイスなど任意の適切なタイプのコンピューティングデバイス上に実装することができる。さらに、2つ以上のエンジンが同じコンピューティングデバイス上または異なるコンピューティングデバイス上に実装されてもよい。
本明細書に記述されたプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実行することができ、装置を専用論理回路として実装することもできる。
コンピュータプログラムの実行に適したコンピュータは、一例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、もしくはその両方、または他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実施または実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、たとえば磁気、光磁気ディスク、または光ディスクなど、データを記憶するための1つまたは複数の大容量記憶デバイスをも含み、あるいは、1つまたは複数の大容量記憶デバイスからデータを受信する、それにデータを転送する、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイス中に組み込むことができる。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、一例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補うまたはそこに組み込むことができる。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえば、マウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってなど、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、ユーザと対話することができる。
本明細書に記載される主題の実施形態は、たとえばデータサーバとしてのバックエンド構成要素を含む、またはアプリケーションサーバなどのミドルウェア構成要素を含む、またはたとえば、グラフィカルユーザインターフェースを有するクライアントコンピュータ、またはユーザが本明細書に記載された主題の実装と対話することができるウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含む、または1つもしくは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムの構成要素は、たとえば、通信ネットワークなど、任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえばインターネットがある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に、互いに遠隔であり、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、いかなる発明の範囲または特許請求の範囲に対する限定ではなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるものとする。別個の実施形態の文脈において本明細書で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態で別々にまたは任意の適切な部分組合せで実装することもできる。さらに、特徴は、いくつかの組合せで作用するものとして上述され、当初はそのように請求され得るが、いくつかの場合に請求された組合せからの1つまたは複数の特徴を、組合せから切り取ることができ、請求された組合せは、部分組合せ、または部分組合せの変形を対象とし得る。
同様に、動作が特定の順序で図面に示されているが、これは、そのような動作が、示された特定の順序で、または逐次的な順序で実行されること、あるいは望ましい結果を達成するために、図示されたすべての動作が実行されることを必要とするものとして理解されないものとする。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されないものとし、記述されたプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品に一緒に組み入れることができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。
主題の特定の実施形態が記載されている。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。
100 ニューラルネットワークアーキテクチャ最適化システム
102 トレーニングデータ
110 ポピュレーションリポジトリ
120 ワーカー
122 親コンパクト表現
124 子孫コンパクト表現
152 データ
200 プロセス
300 プロセス

Claims (15)

  1. 機械学習タスクを実行するためにニューラルネットワークをトレーニングするためのトレーニングデータを受信するステップであって、前記トレーニングデータが、複数のトレーニング例と、前記トレーニング例の各々についてのそれぞれのターゲット出力とを含む、ステップと、
    前記トレーニングデータを使用して、前記機械学習タスクを実行するための最適化されたニューラルネットワークアーキテクチャを決定するステップであって、前記決定するステップが、
    各々が他のワーカーコンピューティングユニットとは非同期に動作する複数のワーカーコンピューティングユニットの各々を使用して、以下の動作を繰り返し実行するステップを含み、前記動作が、
    前記ワーカーコンピューティングユニットによって、ポピュレーションリポジトリ内のコンパクト表現の現在のポピュレーションから複数のコンパクト表現を選択するステップであって、前記現在のポピュレーションにおける各コンパクト表現が、前記機械学習タスクを実行するための異なるニューラルネットワークアーキテクチャ候補を符号化する、ステップと、
    前記ワーカーコンピューティングユニットによって、前記選択された複数のコンパクト表現から新しいコンパクト表現を生成するステップであって、前記新しいコンパクト表現を生成するステップが、
    あらかじめ定められた突然変異のセットから突然変異を選択するステップであって、前記あらかじめ定められた突然変異のセットが、前記選択された複数のコンパクト表現の1つによって符号化された前記ニューラルネットワークアーキテクチャ候補内のコンポーネントのフィルタサイズまたは出力チャネルの数を変更する突然変異を含む、ステップと、
    前記新しいコンパクト表現を生成するために、前記選択された突然変異を前記選択された複数のコンパクト表現の1つに適用するステップと
    を含む、ステップと、
    前記ワーカーコンピューティングユニットによって、前記新しいコンパクト表現によって符号化されたアーキテクチャを有するトレーニング済みニューラルネットワークの適合度を決定するステップと、
    前記ワーカーコンピューティングユニットによって、前記ポピュレーションリポジトリ内の前記現在のポピュレーションに前記新しいコンパクト表現を追加するとともに、前記新しいコンパクト表現を前記適合度に関連付けるステップと
    を含む、ステップと、
    前記最適化されたニューラルネットワークアーキテクチャとして、最高の適合度に関連付けられた前記コンパクト表現によって符号化された前記ニューラルネットワークアーキテクチャを選択するステップと、
    前記最適化されたニューラルネットワークアーキテクチャを有するニューラルネットワークのパラメータの訓練値を決定するステップとを含む、
    方法。
  2. 前記新しいコンパクト表現によって符号化されたアーキテクチャを有するトレーニング済みニューラルネットワークの適合度を決定するステップが、
    前記新しいコンパクト表現によって符号化された前記アーキテクチャを有するニューラルネットワークをインスタンス化するステップと、
    前記新しいニューラルネットワークのパラメータの訓練値を決定するために、前記トレーニングデータのトレーニングサブセットにおいて前記新しいニューラルネットワークをトレーニングするステップと、
    前記トレーニングデータの検証サブセットにおける前記トレーニング済みの新しいニューラルネットワークのパフォーマンスを評価することによって、前記適合度を決定するステップとを含む、
    請求項1に記載の方法。
  3. 前記動作が、
    前記新しいニューラルネットワークの前記パラメータの前記訓練値を、前記ポピュレーションリポジトリ内の前記新しいコンパクト表現に関連付けるステップをさらに含む、
    請求項2に記載の方法。
  4. 前記最適化されたニューラルネットワークアーキテクチャを有するニューラルネットワークのパラメータの訓練値を決定するステップが、
    前記最適化されたニューラルネットワークアーキテクチャを有する前記ニューラルネットワークの前記パラメータの前記訓練値として、前記最高の適合度に関連付けられた前記コンパクト表現に関連付けられた訓練値を選択するステップを含む、
    請求項3に記載の方法。
  5. 前記機械学習タスクを実行するためのデフォルトのニューラルネットワークアーキテクチャを符号化する1つまたは複数のデフォルトのコンパクト表現で前記ポピュレーションリポジトリを初期化するステップをさらに含む、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記複数のコンパクト表現から新しいコンパクト表現を生成するステップが、
    最悪の適合性に関連付けられた前記複数のコンパクト表現のうちのコンパクト表現を識別するステップと、
    前記複数のコンパクト表現内の前記識別されたコンパクト表現以外の1つまたは複数のコンパクト表現から前記新しいコンパクト表現を生成するステップとを含む、
    請求項1から5のいずれか一項に記載の方法。
  7. 前記動作が、
    前記現在のポピュレーションから前記識別されたコンパクト表現を削除するステップをさらに含む、
    請求項6に記載の方法。
  8. 前記複数のコンパクト表現内の前記識別されたコンパクト表現以外に1つの残りのコンパクト表現があ
    請求項6または7に記載の方法。
  9. 前記新しいコンパクト表現を生成するステップが、
    突然変異ニューラルネットワークを使用して、前記1つの残りのコンパクト表現を処理するステップであって、前記突然変異ニューラルネットワークが、前記新しいコンパクト表現を生成するように前記1つの残りのコンパクト表現を含むネットワーク入力を処理するようにトレーニングされている、ステップを含む、
    請求項1に記載の方法。
  10. 前記複数のコンパクト表現内の前記識別されたコンパクト表現以外に複数の残りのコンパクト表現があり、
    前記新しいコンパクト表現を生成するステップが、
    前記新しいコンパクト表現を生成するために、前記複数の残りのコンパクト表現を結合するステップを含む、
    請求項6または7に記載の方法。
  11. 前記新しいコンパクト表現を生成するために、前記複数の残りのコンパクト表現を結合するステップが、
    前記新しいコンパクト表現を生成するために、前記残りのコンパクト表現をつなぎ合わせるステップを含む、
    請求項10に記載の方法。
  12. 前記新しいコンパクト表現を生成するために、前記複数の残りのコンパクト表現を結合するステップが、
    再結合ニューラルネットワークを使用して、前記残りのコンパクト表現を処理するステップであって、前記再結合ニューラルネットワークが、前記新しいコンパクト表現を生成するように前記残りのコンパクト表現を含むネットワーク入力を処理するようにトレーニングされている、ステップを含む、
    請求項10に記載の方法。
  13. 前記ニューラルネットワークの前記パラメータの前記訓練値に従って新しい入力例を処理するために、前記最適化されたニューラルネットワークアーキテクチャを有する前記ニューラルネットワークを使用するステップをさらに含む、
    請求項1から12のいずれか一項に記載の方法。
  14. 1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載の方法を実行させる命令を記憶する1つまたは複数の記憶デバイスとを備える、
    システム。
  15. 1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載の方法を実行させる命令を記憶した、
    コンピュータ可読記憶媒体。
JP2019545938A 2017-02-23 2018-02-23 ニューラルネットワークアーキテクチャの最適化 Active JP6889270B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762462846P 2017-02-23 2017-02-23
US201762462840P 2017-02-23 2017-02-23
US62/462,846 2017-02-23
US62/462,840 2017-02-23
PCT/US2018/019501 WO2018156942A1 (en) 2017-02-23 2018-02-23 Optimizing neural network architectures

Publications (2)

Publication Number Publication Date
JP2020508521A JP2020508521A (ja) 2020-03-19
JP6889270B2 true JP6889270B2 (ja) 2021-06-18

Family

ID=61768421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019545938A Active JP6889270B2 (ja) 2017-02-23 2018-02-23 ニューラルネットワークアーキテクチャの最適化

Country Status (6)

Country Link
US (1) US20190370659A1 (ja)
EP (1) EP3574453A1 (ja)
JP (1) JP6889270B2 (ja)
KR (1) KR102302609B1 (ja)
CN (1) CN110366734B (ja)
WO (1) WO2018156942A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018167885A1 (ja) * 2017-03-15 2018-09-20 楽天株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US11276071B2 (en) * 2017-08-31 2022-03-15 Paypal, Inc. Unified artificial intelligence model for multiple customer value variable prediction
KR102607880B1 (ko) * 2018-06-19 2023-11-29 삼성전자주식회사 전자 장치 및 그의 제어 방법
GB2578771A (en) * 2018-11-08 2020-05-27 Robinson Healthcare Ltd Vaginal speculum
US11630990B2 (en) 2019-03-19 2023-04-18 Cisco Technology, Inc. Systems and methods for auto machine learning and neural architecture search
CN110175671B (zh) * 2019-04-28 2022-12-27 华为技术有限公司 神经网络的构建方法、图像处理方法及装置
CN110276442B (zh) * 2019-05-24 2022-05-17 西安电子科技大学 一种神经网络架构的搜索方法及装置
CN112215332B (zh) * 2019-07-12 2024-05-14 华为技术有限公司 神经网络结构的搜索方法、图像处理方法和装置
US10685286B1 (en) * 2019-07-30 2020-06-16 SparkCognition, Inc. Automated neural network generation using fitness estimation
WO2021061401A1 (en) * 2019-09-27 2021-04-01 D5Ai Llc Selective training of deep learning modules
US12115680B2 (en) 2019-12-03 2024-10-15 Siemens Aktiengesellschaft Computerized engineering tool and methodology to develop neural skills for a robotics system
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
US11593617B2 (en) 2019-12-31 2023-02-28 X Development Llc Reservoir computing neural networks 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
US11593627B2 (en) 2019-12-31 2023-02-28 X Development Llc Artificial neural network architectures 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
US10970633B1 (en) * 2020-05-13 2021-04-06 StradVision, Inc. Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same
CN111652108B (zh) * 2020-05-28 2020-12-29 中国人民解放军32802部队 抗干扰的信号识别方法、装置、计算机设备和存储介质
US11989656B2 (en) * 2020-07-22 2024-05-21 International Business Machines Corporation Search space exploration for deep learning
KR102406540B1 (ko) * 2020-11-25 2022-06-08 인하대학교 산학협력단 새로운 태스크에 적응하며 지속 학습하기 위한 신경망 모델의 분할 및 재결합 학습 방법
JP2024514181A (ja) 2021-04-13 2024-03-28 ネイヤ・ヘルス・インコーポレイテッド 機械学習駆動型のリアルタイムデータ分析
US12033193B2 (en) * 2021-04-13 2024-07-09 Nayya Health, Inc. Machine-learning driven pricing guidance
US12056745B2 (en) 2021-04-13 2024-08-06 Nayya Health, Inc. Machine-learning driven data analysis and reminders
EP4323948A1 (en) 2021-04-13 2024-02-21 Nayya Health, Inc. Machine-learining driven data analysis based on demographics, risk and need
CN113780518B (zh) * 2021-08-10 2024-03-08 深圳大学 网络架构优化方法、终端设备及计算机可读存储介质
KR102610429B1 (ko) * 2021-09-13 2023-12-06 연세대학교 산학협력단 인공신경망과 연산 가속기 구조 통합 탐색 장치 및 방법
US20220035877A1 (en) * 2021-10-19 2022-02-03 Intel Corporation Hardware-aware machine learning model search mechanisms
CN114722751B (zh) * 2022-06-07 2022-09-02 深圳鸿芯微纳技术有限公司 运算单元的构架选择模型训练方法和构架选择方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091676A (ja) * 1996-07-25 1998-04-10 Toyota Motor Corp 安定化設計方法及び安定化設計プログラムを記録した記録媒体
JPH11353298A (ja) * 1998-06-05 1999-12-24 Yamaha Motor Co Ltd 遺伝的アルゴリズムにおける個体のオンライン評価手法
US20020059154A1 (en) * 2000-04-24 2002-05-16 Rodvold David M. Method for simultaneously optimizing artificial neural network inputs and architectures using genetic algorithms
JP2003168101A (ja) * 2001-12-03 2003-06-13 Mitsubishi Heavy Ind Ltd 遺伝的アルゴリズムを用いた学習装置、学習方法
US20040024750A1 (en) * 2002-07-31 2004-02-05 Ulyanov Sergei V. Intelligent mechatronic control suspension system based on quantum soft computing
EP1584004A4 (en) * 2003-01-17 2007-10-24 Francisco J Ayala SYSTEM AND METHOD FOR DEVELOPING ARTIFICIAL INTELLIGENCE
JP4362572B2 (ja) * 2005-04-06 2009-11-11 独立行政法人 宇宙航空研究開発機構 ロバスト最適化問題を解く問題処理方法およびその装置
US20090182693A1 (en) * 2008-01-14 2009-07-16 Halliburton Energy Services, Inc. Determining stimulation design parameters using artificial neural networks optimized with a genetic algorithm
US8065243B2 (en) * 2008-04-18 2011-11-22 Air Liquide Large Industries U.S. Lp Optimizing operations of a hydrogen pipeline system
CN105701542A (zh) * 2016-01-08 2016-06-22 浙江工业大学 一种基于多局部搜索的神经网络进化方法

Also Published As

Publication number Publication date
JP2020508521A (ja) 2020-03-19
US20190370659A1 (en) 2019-12-05
CN110366734A (zh) 2019-10-22
KR20190117713A (ko) 2019-10-16
WO2018156942A1 (en) 2018-08-30
CN110366734B (zh) 2024-01-26
EP3574453A1 (en) 2019-12-04
KR102302609B1 (ko) 2021-09-15

Similar Documents

Publication Publication Date Title
JP6889270B2 (ja) ニューラルネットワークアーキテクチャの最適化
JP7157154B2 (ja) 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索
JP7210531B2 (ja) ニューラルアーキテクチャ検索
US11669744B2 (en) Regularized neural network architecture search
US11271876B2 (en) Utilizing a graph neural network to identify supporting text phrases and generate digital query responses
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
US11544536B2 (en) Hybrid neural architecture search
JP7439151B2 (ja) ニューラルアーキテクチャ検索
GB2577584A (en) Utilizing a dynamic memory network to track digital dialog states and generate responses
US11861469B2 (en) Code generation for Auto-AI
US20190228297A1 (en) Artificial Intelligence Modelling Engine
US20230223112A1 (en) Retrosynthesis using neural networks
US11620550B2 (en) Automated data table discovery for automated machine learning
US11893480B1 (en) Reinforcement learning with scheduled auxiliary control
CN117151247B (zh) 机器学习任务建模的方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210520

R150 Certificate of patent or registration of utility model

Ref document number: 6889270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250