手動設計は不要、検索損失関数をゼロから作成

手動設計は不要、検索損失関数をゼロから作成

[[390709]]

近年、自動機械学習(AutoML)は、モデル構造やトレーニング戦略など、多くのディープラーニング分野で進歩を遂げています。しかし、ディープラーニングモデルのトレーニングに不可欠な部分である損失関数については、まだ十分な調査がされていません。現在、ほとんどの研究では、ネットワークのトレーニングを監視するために、クロスエントロピー損失 (Cross-Entropy Loss) とノルム損失 (L1/L2 Loss) が依然として使用されています。これらの損失関数はほとんどの場合に良好な結果を達成できますが、テスト中にネットワークが使用する評価メトリックとは異なることが多く、この違いによってモデルのトレーニング効果が損なわれる可能性があります。

現在、損失関数の改善に関する作業は、次の 2 つのカテゴリに分けられます。

手作りデザイン。手動で設計された損失関数は、設計者の専門知識と特定のタスクおよび評価メトリックの理解に依存するため、さまざまなタスクに一般化することが困難です。

自動設計。損失関数を自動設計する研究は、より良い損失関数を自動的に探索しようとするものですが、現在の研究は特定のタスク(セマンティックセグメンテーションなど)や特定の評価指標(mAPなど)にのみ焦点を当てており、特定の状況向けに設計されているため、一般化可能性も疑問視されています。

さまざまなタスクに適した損失関数を設計するために必要な人件費を最小限に抑えるために、香港中文大学、SenseTime、その他の機関の研究者は、汎用損失関数検索フレームワーク AutoLoss-Zero を設計しました。普遍性を確保するために、この方法の検索空間はいくつかの基本的な数学的演算で構成されており、特定の評価指標のターゲット設計は含まれていません。このタイプの検索空間における有効な損失関数は非常にまばらであるため、研究者は検索の効率を向上させるために、効率的で一般的な拒否メカニズムと勾配同等性検出を提案しました。任意のタスクと評価メトリックが与えられた場合、AutoLoss-Zero は、妥当なコスト (48 時間で 4 つの V100 画像) でランダム初期化から始めて、手動で設計された損失関数と同等かそれ以上のパフォーマンスを発揮する損失関数を検索できます。

論文の宛先:
https://arxiv.org/abs/2103.14026

この研究の主な貢献は次のとおりです。

AutoLoss-Zero は、さまざまなタスクに適用できる最初の損失関数検索フレームワークです。その検索空間は基本的な数学演算で構成されており、事前の知識を必要としないため、損失関数の設計に必要な人手を大幅に削減できます。この研究では、AutoLoss-Zero が複数のコンピューター ビジョン タスク (ターゲット検出、セマンティック セグメンテーション、インスタンス セグメンテーション、ポーズ推定) に有効であることを検証しました。

この研究では、絶望的な損失関数の大部分を迅速に除外するための効率的な拒否メカニズムを提案しました。同時に、この研究では、等価損失関数の繰り返し評価を回避するために、勾配ベースの等価性チェックを提案しました。

実験では、この方法によって検索された損失関数は、さまざまなデータ セットやネットワーク構造に適切に移行できることが示されています。

検索スペース

この研究ではまず検索の目的を定義しました。任意のタスクに対する評価メトリック ξ が与えられると、この方法は最適な損失関数 L(y ̂,y;N_ω ) を検索しようとします。ここで、N_ω はパラメーター ω を持つネットワークを表し、y ̂ はネットワークの予測を表し、y はネットワークのトレーニング目標を表します。したがって、検索目標はネストされた最適化として表現できます。

最適化ターゲットf(L;ξ)は評価指標ξに対する損失関数Lのスコアを表し、ω^*(L)は損失関数Lを使用してトレーニングされたネットワークパラメータを表し、E(⋅)は数学的期待値を表し、S_trainとS_evalは検索プロセスで使用されるトレーニングセットと検証セットを表します。

検索空間はいくつかの基本的な数学演算で構成されており、このセットは次の表に示すように H と呼ばれます。

表1. 探索空間候補操作

この方法では、損失関数を計算グラフ G として表します。 G はルート付きツリーであり、リーフ ノードは損失関数への入力 (つまり、ネットワーク予測 y^ とトレーニング ターゲット y) を表し、ルート ノードは損失関数の出力 o を表し、その他の中間ノードはテーブル内の数学演算からサンプリングされます。さらに、この方法では、損失関数の表現力を高めるために、定数 1 を候補入力として追加します。計算グラフ全体では、すべてのテンソルが同じ形状 (N、C、H、W) を維持し、4 つの次元 (バッチ、チャネル、高さ、幅) のサイズを表します。計算グラフ G の出力 o は最終的な損失値に集約されます。

一部のタスクでは、損失関数は複数のブランチで構成されます (オブジェクト検出における分類と境界ボックス回帰ブランチなど)。この場合、各ブランチを独立した計算グラフ G として表現し、それらの損失値を合計して最終的な損失値とします。検索はすべてのブランチに対して同時に実行されます。

検索アルゴリズム

この方法では、進化アルゴリズムを使用して損失関数を検索します。図 1 は、検索アルゴリズム全体のフローチャートです。

図1. 検索アルゴリズムのフローチャート

検索の初期化フェーズでは、まず初期集団として K (デフォルト K = 20) の損失関数をランダムに生成します。その後、各更新では、現在の集団内の損失関数の T (デフォルト T = 5%) をランダムにサンプリングし、プロキシタスクで最も高いスコアを持つものを突然変異させて子孫個体を取得し、それを集団に追加します。個体群更新プロセス中は、最新の P=2500 個体のみが保持されます。

検索空間における有効な損失関数は非常にまばらであるため、プロキシ タスクは最終的なネットワーク トレーニングに比べてかなり単純化されているにもかかわらず、プロキシ タスクで各候補損失関数を評価する時間コストは依然として許容できません。この目的のために、研究者らは候補損失関数の予備スクリーニングを実施するための損失拒否プロトコルを設計しました。損失関数のランダム生成と突然変異の過程で、候補となる子孫個体がスクリーニングに合格できなかった場合、スクリーニングに合格できる損失関数が得られてプロキシタスクで評価されるまで、ランダム生成/突然変異が再度実行されます。さらに、この方法では、候補損失関数を評価する前に、それがすでに評価された損失関数と同等かどうかをまずチェックします(
勾配等価性チェック戦略) では、同等である場合はプロキシ タスクのネットワーク トレーニングをスキップし、同じ個人のスコアを再利用します。

次に、検索アルゴリズムのいくつかの重要な部分を見てみましょう。

ランダム初期化

損失関数のランダム初期化のプロセスを図 2 に示します。計算グラフはルートノードから始まり、候補操作セット H から子ノードとして演算子を再帰的にランダムにサンプリングします。各ノードの子の数は、このノードによって表される操作のオペランドの数によって決まります。このメソッドは、ランダムに初期化された計算グラフの深さを D に固定します (デフォルト D = 3)。現在のノードの深さが D に達すると、候補入力セットから子ノードをランダムにサンプリングして置き換えます。これらの子ノードは、計算グラフのリーフ ノードです。

図2. ランダムに初期化された損失関数

突然変異

この研究で提案された損失関数の表現に基づいて、研究者らは挿入、削除、置換という3つの異なるタイプの変異を定義しました。 3 種類の変異の概略図を図 3 に示します。

図3. 突然変異の種類

子孫を生み出す各プロセスにおいて、突然変異が起こらず、親個体が直接コピーされる確率は 10% です。さらに、アルゴリズムの探索を促進するために、損失関数は突然変異中にランダムに再初期化される可能性が 50% あります。

損失関数の拒否メカニズム

探索の目的は、評価指標 ξ を可能な限り最大化できる損失関数 L を見つけることです。これに基づいて、研究者らは損失関数Lと評価指標ξの間の相関スコアg(L;ξ)を提案し、損失関数が評価指標を最適化する能力を測定しました。

この研究では、トレーニングデータセットからBサンプルをランダムに選択し(実験ではB = 5が均一に使用されます)、ランダムに初期化されたネットワークN_(ω_0)を使用してこれらのBサンプルを計算し、ネットワーク予測y ^と対応するトレーニングターゲットyを{(y ^_b、y_b)}_(b=1)^Bとして記録して保存します。次に、ネットワーク予測y^を候補損失関数L(y^,y)を用いて勾配降下法で直接最適化し、最適化結果y^*の評価指標ξに対するスコアを計算する。

g(L;ξ)は初期予測に対する最適化結果の改善です。スコアが高いほど、損失関数の評価指標を最適化する能力が強くなります。したがって、この研究では閾値 η を設定します(実験ではデフォルトで η = 0.6)。相関スコア g(L;ξ) がこの閾値より低い損失関数は見込みがないとみなされ、直接拒否されます。このプロセスでは、ネットワーク計算は行われませんが、入力が直接最適化されるため、損失関数拒否メカニズムが非常に効率的になります。実験によれば、GPU では 1 分間に 500 ~ 1000 個の候補損失関数をスクリーニングできます。これにより、アルゴリズムの検索空間を探索する能力が大幅に向上します。

勾配等価性検定

相互に同等な損失関数のプロキシタスク評価が繰り返されるのを回避するために、この方法では、評価された損失関数ごとに、上記の「損失関数拒否メカニズム」で使用される B サンプルに対する勾配のバイナリノルムを記録します。これらの B サンプルの 2 つの損失関数の勾配ノルムが同じである場合 (2 つの重要な数字を取る)、2 つの損失関数は同等であると見なし、以前の損失関数のプロキシ タスク スコアを新しい損失関数に再利用します。

実験

この研究では、ランダム初期化から始めて、セマンティックセグメンテーション、オブジェクト検出、インスタンスセグメンテーション、ポーズ推定という 4 つのコンピュータービジョンタスクについて検索を実施しました。さらに、本研究では、検索から得られる損失関数の一般化を調査し、前述の検索アルゴリズムのさまざまな手法が検索効率に与える影響を分析しました。

セマンティックセグメンテーション

この研究では、PASCAL VOC データセットを使用して、セマンティックセグメンテーションタスクにおける 6 つの主流評価指標を検索し、得られた損失関数を使用して DeepLab V3+ ネットワークを再トレーニングしました。表2に本研究の実験結果を示す。この研究では、検索された損失関数を、一般的な手動で設計された損失関数および自動的に検索された損失関数 (ASL、Auto Seg-Loss) と比較しました。結果は、いくつかの主流の評価指標において、AutoLoss-Zero によって探索された損失関数が現在の最良の結果に達するか、それを上回っていることを示しています。これは、BIoU 指標におけるセマンティック セグメンテーション タスクに重点を置いた ASL 方式よりもわずかに低いだけですが、既存の手動で設計された損失関数を大幅に上回っています。

表2. セマンティックセグメンテーション実験結果

この研究では、異なるデータセットと異なるネットワーク構造における検索損失関数の一般化も検証しました。表 3 では、この研究では ResNet50-DeepLabV3+ ネットワークを使用して PASCAL VOC を検索し、結果として得られた損失関数をさまざまなデータセット (Cityscapes) とさまざまなネットワーク構造 (PSPNet) に適用しました。表3の結果は、この方法によって検索された損失関数が優れた一般化性能を持っていることを示しています。

表3. セマンティックセグメンテーションの一般化

物体検出

この研究では、Faster R-CNN を使用して COCO データセットで実験を実施しました。この方法では、Faster R-CNN の 4 つの損失関数ブランチ (RPN ネットワークの分類と回帰、Fast R-CNN サブネットワークの分類と回帰) を同時に検索します。表4は、この手法と、一般的に使用されているIoULoss、GIoULoss、および物体検出タスクの損失関数探索のための研究であるCSE-AutoLoss-Aとの比較結果を示しています。実験では、この方法によって検索された損失関数がこれらの損失関数と同様に機能することが示されています。

表4. ターゲット検出実験結果

この研究では、物体検出検索から得られた損失関数の一般化についても実験しました。表5に実験結果を示す。

表5. 物体検出の一般化

インスタンスのセグメンテーション

この研究では、Mask R-CNN を使用して COCO データセットで実験を行い、5 つの損失関数ブランチを同時に検索しました。表 6 は、この方法によって検索された損失関数が手動で設計された損失関数と同様に機能することを示しています。

表6.インスタンスセグメンテーション実験結果

姿勢推定

この研究では、COCO上での姿勢推定タスクに関する実験を行った。表7に実験結果を示す。この研究では、損失を姿勢推定で一般的に使用される平均二乗誤差損失 (MSE 損失) と比較しました。実験では、AutoLoss-Zero によってゼロから検索された損失関数が MSE 損失よりもわずかに優れたパフォーマンスを発揮することが示されました。

表7. 姿勢推定実験結果

検索効率

検索アルゴリズムは進化アルゴリズムに基づいています。探索効率を向上させるために、研究者らは損失関数拒否メカニズム(損失拒否プロトコル)と勾配等価性検出(
勾配等価性チェック戦略
。図 4 に示すように、研究者はこれらのモジュールが検索の効率を効果的に向上できることを発見しました。特に、物体検出タスクでは、4 つのブランチが同時に検索されるため、検索空間が特にまばらになり、損失関数拒否メカニズムなしでは、妥当な時間 (約 400 回の代理タスク評価) 内にスコアが 0 より大きい損失関数を見つけることは不可能になります。これは、効率的な拒否メカニズムが効果的な検索の鍵となることを示唆しています。

図4. 検索効率の比較

研究者らは、表 8 で各モジュールによってもたらされる検索効率の改善をさらに分析しました。 「本格的な」AutoLoss-Zero は、48 時間で 10^6 を超える候補損失関数を探索することができ (4 つの V100 GPU を使用)、大規模で疎な検索空間を効率的に探索できます。

表8. 物体検出タスクにおける検索効率の分析。 (「# 探索された損失」は、アルゴリズムによって 48 時間以内に探索された損失関数の数を示します。「無効な損失値のためにトレーニングを停止」は、プロキシ タスクの最初の 20 回の更新内で NaN または Inf のためにネットワークがトレーニングを停止したことを示します。)

<<:  人工知能はより安全で環境に優しい交通システムの構築に役立つ

>>:  機械学習分野における社内競争について:博士号を取得しないと就職する資格はないのでしょうか?

ブログ    
ブログ    

推薦する

大きなモデルは本当にすべてを解決できるのでしょうか?知識駆動型自動運転に関する考察

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

機械学習が医療に革命を起こす

その中で、ヘルスケア業界は強力なスポンサーであり、新しいテクノロジーを積極的に導入してきました。人工...

...

強化学習の実際の応用例 10 選

強化学習では、報酬と罰のメカニズムを使用してエージェントをトレーニングします。エージェントは正しい行...

効率的な運用分析システムを構築するために3つのステップを使用します

これは、実際の仕事でデータを扱う学生にとって最大の問題点です。今日は、オペレーションを例に、行き詰ま...

人間の動作生成を再構築し、拡散モデルと検索戦略を統合した新しいパラダイム、ReMoDiffuseが登場

人間の動作生成タスクは、エンターテインメント、仮想現実、ロボット工学などの分野のニーズを満たす、リア...

2021年の中国人工知能産業の市場状況と競争環境の分析

[[408951]]人工知能は未来をリードする戦略的な技術であり、国際競争の焦点にもなっています。わ...

...

今後の技術開発の動向はどうなると思いますか?

モバイル アプリケーション業界は長年にわたって発展しており、当社のシステムの重要な部分となっています...

...

GitHub ホットリスト 1 位: 数百万のトークン コンテキスト、動画も生成可能、カリフォルニア大学バークレー校制作

今日の GitHub ホット リストのトップは、最新のオープン ソース ワールド モデルです。コンテ...

...

OpenAIはニューヨークタイムズの声明は一方的であると不公平だと叫び、アンドリュー・ン氏もそれを擁護した。

2023年末、ニューヨーク・タイムズはマイクロソフトとOpenAIを訴えるための強力な証拠を提示し...

AGVロボットマルチエージェント経路探索の4つの主要な研究方向

マルチエージェント経路探索 (MAPF) は、人工知能、ロボット工学、理論計算機科学、実践的オペレー...

アルゴリズム問題演習 - 大規模ブラックリスト IP マッチング

多くの IT 企業では、アルゴリズムは面接で非常に重要な部分を占めていますが、実際の仕事でアルゴリズ...