1. 概要

進化的アルゴリズムは、何十年にもわたって機械学習の研究対象となっています。 それらは、遺伝的アルゴリズム遺伝的プログラミング進化的プログラミングなどの技術の大きなファミリーで構成されています。 それらは、可変最適化からアンテナのようなツールを構築する際の新しい設計まで、さまざまな問題に適用できます。 この記事では、際立った印象的な手法とアルゴリズムのいくつかに焦点を当てます。

2. 進化的アルゴリズム

典型的な進化的アルゴリズムには、次のワークフローがあります。

進化的アルゴリズムのコンテキストで使用される専門用語を知ることは、アイデアをより簡単に把握するのに役立ちます。 母集団はソリューションの候補のセットであり、その表現はと呼ばれます。遺伝子型世代は、集団に対して進化的操作が行われるプロセスのステップです。

新しい候補ソリューションを作成するための操作には、選択クロスオーバー、およびミューテーションが含まれます。 選択によって、次の世代に移行するために最高のパフォーマンスを発揮する個人を選択することにより、クロスオーバーは個人のさまざまな組み合わせを活用し、突然変異は新しい方向性を見つけて探索します。 最後に、結果が指定された目標にどれだけ近いかを測定する Fitness 関数(目的)があります。

3. 自動アンテナ設計

無線通信では、特定のミッションのために異常な放射パターンを持つアンテナを設計する必要がある場合があります。 ただし、試してみるパターンが非常に多いため、手動で設計することはできません。 このような場合、進化的アルゴリズムが役立ちます。

2006 NASA ST5宇宙船アンテナは、次のアルゴリズムのいずれかを使用します。

このアンテナを構築するために、プロセスはZ軸に沿った長さ0.4cmの最初の給電線から始まります。  次に、その成長を制御する4つの操作があります。 これらは、、、、およびです。 この操作により、指定された長さと半径のワイヤが現在の状態の場所に追加されます。 他の3つは、アンテナが伸びる方向を制御します。

すべてのステップ(世代)で、3つの要素の積である適応度関数がモデルのパフォーマンスを測定します。

   

ここで、 は、アンテナと接続されている伝送ラインの間のインピーダンス整合の測定値です。 要因は最小二乗誤差の修正版であり、アンテナが滑らかなゲインパターンを生成することを保証することです。 これは、各仰角のゲイン値の標準偏差の加重和です。

適応度関数を最小化すると、手作りのアンテナよりも優れた、異常な形状のアンテナが作成されます。

4. ニューラルネットワークアーキテクチャを発見するための進化的AutoML

人工知能で最近出現した分野の1つは、ニューラルアーキテクチャ検索(NAS)です。 ニューラルネットワーク設計の自動化を研究しています。 (深い)ニューラルネットワークの場合、パフォーマンスを最適化するためのハイパーパラメータが多数あります。 例としては、レイヤーの数、学習率、さまざまなアーキテクチャモジュールなどがあります。 これは、進化的アルゴリズムが専門とする領域である、探索する必要のある大きな検索スペースがあることを意味します。

最近、Google Brainチームの調査によると、進化的アルゴリズムを使用すると、画像分類器は最先端の結果を得ることができます。ランダムなアーキテクチャの母集団から始まります。 次に、特定のサイクル数内で、毎回、母集団のランダムなサンプルを均一に抽出し、検証の適合性が最も高いものを選択します。 その後、ミューテーションを使用して、選択したものに単純な変換を適用します。

最後に、彼らは新しいモデルを訓練して評価し、それを母集団に追加します。 従来の方法とは対照的に、新しいモデルが母集団に追加されるたびに、最悪のモデルではなく最も古いモデルが破棄されます。 これを行うことにより、彼らは検索空間をより探索することを好み、初期段階で優れたモデルを避けます。

それらによって採用された突然変異は3つあります:

図では、番号の付いた四角は非表示の状態を表しています。 隠れた状態の突然変異は、最初に1つのタイプのセル(または)を選択し、次に5つのペアワイズの組み合わせの1つを選択することで構成されます。 通常のセルと縮小セルは同じアーキテクチャで、通常のセルが画像サイズを維持しながら画像サイズを縮小するために、ストライドが異なります(縮小の場合は2)。 ペアワイズの組み合わせを選択した後、2つの要素のいずれかを選択し、その非表示の状態を同じセルの別の要素に置き換えます。

操作の変更は、必要な要素の点で非表示状態の変更と似ていますが、今回は非表示状態の代わりに操作が置き換えられる点が異なります。 可能な操作は、3つの異なるカーネルサイズ、平均プーリング、最大プーリング、および拡張畳み込みを使用した分離可能な畳み込みです。

3番目の突然変異も可能です。これは同一性(なし)であり、モデルの適合性の目的は、最小化する分類器の損失関数です。

5. 進化戦略vs. 深層強化学習

AIの強化学習は、アルゴリズムと環境の間に相互作用がある領域での有効性のために急速に発展しています。 ただし、バックプロパゲーションプロセスと計算の並列化が難しいため、複雑で低速になる可能性があります。

進化戦略は、フォワードパスと並列化機能のみを備えているため、これらの問題を解消します。 Open AI会社の研究チームによる調査では、進化戦略に基づくアルゴリズムが、最適化タスクの強化学習アルゴリズムに近いパフォーマンスを達成できることが示されました。

彼らの戦略は本当に単純です。 最適化するモデルにいくつかのパラメーターがあると仮定します。 次に、最適値を見つけたい報酬関数になります。 まず、パラメータベクトルにランダムな値を割り当てます。 次に、ガウスノイズを追加することにより、親ベクトルとはわずかに異なる数(たとえば、100)のベクトルを生成します。

その後、結果の各ベクトルを評価し、以前のすべてのベクトルを、組み合わせの(比例)重みとして取得した報酬と組み合わせて、新しいベクトルを作成します。 結果として、私たちはより良い報酬を生み出すものを好みます。 最後に、適応度関数はモデルの期待される報酬です。

6. 結論

このチュートリアルでは、人工知能の他の手法と比較して優れたパフォーマンスを発揮する進化的アルゴリズムのいくつかを確認しました。