Alibaba DAMO Academyは、勾配を直接ターゲットとし、既存のオプティマイザーを1行のコードで置き換えることができる新しい最適化手法を提案しています。

Alibaba DAMO Academyは、勾配を直接ターゲットとし、既存のオプティマイザーを1行のコードで置き換えることができる新しい最適化手法を提案しています。

最適化テクニックはたくさんあります!たとえば、バッチ正規化、重み標準化などです。しかし、既存の最適化方法のほとんどは、アクティベーションまたは重み実行に基づいています。最近、Alibaba DAMO Academyの研究者は別のアプローチを採用し、勾配に直接取り組み、新しい勾配集中化方法を提案しました。たった 1 行のコードで既存の DNN オプティマイザーに組み込むことができ、事前トレーニング済みのモデルを直接微調整することもできます。

最適化技術は、ディープ ニューラル ネットワーク (DNN) を効率的にトレーニングするために不可欠です。これまでの研究では、一次統計と二次統計(平均や分散など)を使用して、ネットワークアクティベーションまたは重みベクトルに対して Z スコア正規化(バッチ正規化 BN や重み正規化 WS など)を実行すると、トレーニングのパフォーマンスが向上することが示されています。

既存の方法のほとんどは、アクティベーションまたは重み実行に基づいています。最近、Alibaba DAMO Academy の研究者は異なるアプローチを採用し、新しい最適化技術である勾配集中化 (GC) を提案しました。この方法は、勾配ベクトルを集中化して平均をゼロにし、勾配上で直接実行できるようにします。

GC 法は重み空間と出力特徴空間の正規化とみなすことができ、それによって DNN の一般化性能が向上します。さらに、GC は損失関数と勾配の Lipschitz プロパティを改善し、トレーニング プロセスをより効率的かつ安定したものにします。

GC の実装は比較的シンプルで、たった 1 行のコードで既存の勾配ベースの DNN オプティマイザーに簡単に組み込むことができます。また、事前トレーニング済みの DNN を微調整するために直接使用することもできます。研究者らは、一般的な画像分類や微調整された画像分類、検出、セグメンテーションなど、さまざまなアプリケーションで実験を行い、その結果、GC は DNN 学習パフォーマンスを一貫して向上できることが示されました。

  • 論文アドレス: https://arxiv.org/pdf/2004.01461.pdf
  • プロジェクトアドレス: https://github.com/Yonghongwei/Gradient-Centralization

本研究では、活性化ベクトルや重みベクトルを操作する手法とは異なり、重みベクトルの勾配に基づくシンプルかつ効果的な DNN 最適化手法、勾配集中化 (GC) を提案しました。

図 1(a) に示すように、GC は勾配ベクトルを単純に中心化して平均をゼロにします。たった 1 行のコードで、現在の勾配ベースの最適化アルゴリズム (SGDM、Adam など) に簡単に組み込むことができます。

GC はシンプルであるにもかかわらず、トレーニング プロセスの高速化、一般化パフォーマンスの向上、事前トレーニング済みモデルの微調整との互換性など、いくつかの望ましい効果を実現します。

図1: (a) GCの使用の概略図。 W は重み、L は損失関数、∇_WL は重み勾配、Φ_GC(∇_WL) は中心勾配を表します。図に示すように、∇_WL を Φ_​​GC(∇_WL) に置き換えて GC を既存のネットワーク最適化装置に組み込む手順は非常に簡単です。 (b) 全結合層(左)と畳み込み層(右)上の勾配行列/重みテンソルに対するGC操作。 GC は、勾配行列/テンソルの各列/スライスの平均を計算し、各列/スライスを平均がゼロになるように中心に配置します。

研究貢献

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

  • 一般的なネットワーク最適化手法である勾配集中化 (GC) が提案されています。GC は、DNN のトレーニング プロセスを円滑かつ高速化するだけでなく、モデルの一般化パフォーマンスも向上させます。
  • GC の理論的特性が分析され、GC は重みベクトルに新しい制約を導入することで損失関数を制約することが指摘されています。このプロセスにより、重み空間と出力特徴空間が正規化され、モデルの一般化パフォーマンスが向上します。さらに、制約付き損失関数は元の損失関数よりも優れた Lipschitz プロパティを備えているため、トレーニング プロセスがより安定して効率的になります。

勾配集中化

研究の動機

研究者たちは、次のような疑問を提起しました。活性化と重みの処理に加えて、勾配を直接処理して、トレーニング プロセスをより効率的かつ安定したものにすることは可能でしょうか?直感的なアイデアとしては、BN と WS がアクティベーションと重みに対して行うのと同様に、Z スコア正規化法を使用して勾配を正規化することが挙げられます。残念ながら、研究者たちは、勾配を単純に正規化してもトレーニング プロセスの安定性は向上しないことを発見しました。そこで研究者らは、勾配ベクトルの平均を計算し、勾配を平均ゼロに中心化する方法、つまり勾配集中化を提案した。この方法は優れた Lipschitz 特性を備えているため、DNN トレーニング プロセスをスムーズにし、モデルの一般化パフォーマンスを向上させることができます。

GCフォーミュラ

完全結合層または畳み込み層の場合、勾配がバックプロパゲーションによって取得されていると仮定すると、勾配∇_wi L (i = 1, 2, ..., N ) を持つ重みベクトル w_i の GC の式は次のようになります。

GC の式は簡単です。図 1(b) に示すように、重み行列の列ベクトルの平均を計算し、各列ベクトルから平均を削除するだけで済みます。

式 1 の行列表現は次のとおりです。

実際の実装では、各重みベクトルから平均値を直接削除して GC 操作を完了できます。計算プロセス全体は非常にシンプルで効率的です。

SGDM/Adam に埋め込まれた場合、GC はどのように機能しますか?

GC は、SGDM や Adam などの現在の DNN 最適化アルゴリズムに簡単に組み込むことができます。集中勾配Φ_GC(∇_wL)を取得した後、研究者はそれを直接使用して重み行列を更新します。アルゴリズム 1 とアルゴリズム 2 はそれぞれ、最も人気のある 2 つの最適化アルゴリズム SGDM と Adam に GC を埋め込むプロセスを示しています。さらに、重みの減衰を使用する場合は、

ここで、λ は重み減衰係数を表します。

ほとんどの DNN 最適化アルゴリズムに GC を埋め込むには 1 行のコードのみが必要であり、最小限の追加計算コストで GC を実行できます。たとえば、研究者は ResNet50 を使用して CIFAR100 データセットの 1 エポックをトレーニングしましたが、トレーニング時間はわずか 0.6 秒しか増加しませんでした (1 エポックに 71 秒かかりました)。

GCの特徴

汎化性能の向上

GC は、制約付き損失関数を持つ投影勾配降下法と考えることができます。制約損失関数とその勾配の Lipschitz プロパティが改善され、トレーニング プロセスがより効率的かつ安定します。

これまでの研究では、投影勾配法の特性、つまり投影された重み勾配が重み空間を超平面またはリーマン多様体に制約することが実証されています。同様に、投影勾配降下法の観点から GC の役割を検討することもできます。下の図 2 は GC 方式を使用した SGD を示しています。

図 2: GC 法の幾何学的解釈。勾配は超平面e^T(w − w^t) = 0に投影され、投影された勾配は重みを更新するために使用されます。

トレーニングプロセスをスピードアップ

最適化シーンのスムージング: これまでの研究では、BN と WS が最適化シーンをスムージングできることが示されています。 BN と WS はアクティベーションと重みの両方に対して実行されますが、重みの勾配を暗黙的に制約し、高速トレーニング中に重みの予測可能性と安定性を高めます。

同様の結論は GC 法にも当てはまります。研究者らは、元の損失関数 L(w) と式 4 の制約損失関数の Lipschitz 特性、および関数勾配の Lipschitz 特性を比較しました。

勾配爆発の抑制: DNN トレーニングにおける GC のもう 1 つの利点は、勾配爆発を回避し、トレーニングをより安定させることです。このプロパティはグラデーション クリッピングに似ています。勾配が大きすぎると、トレーニング中に重みが劇的に変化し、損失が激しく振動して収束が困難になる可能性があります。

GC が勾配クリッピングに与える影響を調べるために、研究者らは図 4 に、GC メソッドを使用する場合と使用しない場合の ResNet50 (CIFAR100 でトレーニング済み) の最初の畳み込み層と完全接続層の勾配行列の最大値と L2 ノルムを示しています。図から、トレーニング中に GC メソッドを使用すると、勾配行列の最大値と L_2 ノルムが減少することがわかります。

図 4: 反復回数の関数としての勾配行列またはテンソルの L_2 ノルム (対数スケール) と最大値 (対数スケール)。ここでは、CIFAR100 でトレーニングされた ResNet50 が DNN モデルとして使用されます。左側の 2 つの図は最初の畳み込み層の結果を示し、右側の 2 つの図は完全接続層の結果を示しています。赤い点は GC メソッドを使用しないトレーニング結果を表し、青い点はその逆を表します。

実験結果

下の図 5 は、4 つの組み合わせのトレーニング損失とテスト精度の曲線を示しています。

BN と比較すると、BN+GC のトレーニング損失はより速く減少し、テスト精度はより速く増加します。 BN および BN+WS の場合、GC によってトレーニングがさらに高速化されます。さらに、BN + GC が最高のテスト精度を達成していることがわかります。これは、GC がトレーニング プロセスを加速し、一般化パフォーマンスを向上できることを検証しています。

図 5: Mini-ImageNet データセットでは、トレーニング損失 (左) とテスト精度 (右) の曲線がトレーニング エポックによって変化します。 DNNモデルとしてResNet50を使用しました。比較される最適化方法には、BN、BN+GC、BN+WS、BN+WS+GC が含まれます。

以下の表 3 は、0、1e^-4、2e^-4、5e^-4、1e^-3 などのさまざまな重み減衰設定でのテスト精度の変化を示しています。オプティマイザーは学習率が 0.1 の SGDM です。表からわかるように、GC を通じて重み減衰のパフォーマンスは継続的に向上します。

表 3: 異なる重み減衰設定で ResNet50 を使用した CIFAR100 データセットのテスト精度。

以下の表 4 は、異なる学習率における SGDM と Adam のテスト精度の変化を示しています。

表 4: 異なる学習率の ResNet50 を使用した CIFAR100 データセットでの SGDM と Adam のテスト精度。

下の図 6 は、ResNet50 のトレーニングおよび検証エラー曲線を示しています (特徴の正規化には GN が使用されます)。 GN の助けにより、GC はトレーニング プロセスを大幅に高速化できることがわかります。

図 6: ImageNet データセットでは、トレーニング エラー (左) と検証エラー (右) の曲線がトレーニング エポックによって変化します。

下の図 7 は、4 つの細粒度画像分類データセットで最初の 40 エポックを実行したときの SGDM と SGDM+GC のトレーニングとテストの精度を示しています。

図 7: 4 つの細粒度画像分類データセットにおけるトレーニング精度 (実線) とテスト精度 (破線) の曲線は、トレーニング エポックによって変化します。

下の表8は、Faster R-CNNの平均精度(AP)を示しています。オブジェクト検出タスクでは、GC でトレーニングされたすべてのバックボーン ネットワークが約 0.3% ~ 0.6% のパフォーマンス向上を達成したことがわかります。

表 8: Faster-RCNN と FPN を使用した COCO データセット上のさまざまなバックボーン ネットワークの検出結果。

以下の表9は、バウンディングボックス(AP^b)とインスタンスセグメンテーション(AP^m)の平均精度を示しています。オブジェクト検出タスクの AP^b は 0.5% ~ 0.9% 増加し、インスタンス分割タスクの AP^m は 0.3% ~ 0.7% 増加したことがわかります。

表 9: 異なるバックボーン ネットワークで Mask-RCNN と FPN を使用した COCO データセットの検出およびセグメンテーションの結果。

使い方

研究者らは論文で提案された手法をオープンソース化し、PyTorchを使用して実装した。これには、SGD_GC、SGD_GCC、SGDW_GCC、Adam_GC、Adam_GCC、AdamW_GCC、Adagrad_GCC などの複数のオプティマイザーが含まれており、その実装は SGD.py で提供されています。サフィックスが「_GC」のオプティマイザーは、GC を使用して畳み込み層と完全接続層の両方を最適化しますが、サフィックスが「_GCC」のオプティマイザーは畳み込み層にのみ使用できます。

これらのオプティマイザーの使用は非常に簡単です。次のコマンドを使用して、対応するモジュールをインポートするだけです。

  1. SGDからSGD_GCをインポート

著者情報

論文の筆頭著者であるHongwei Yong氏は、2013年に西安交通大学で学士号、2016年に修士号を取得し、現在は香港理工大学電子計算学部の博士課程に在籍している。彼の主な研究分野には、画像モデリングとディープラーニングが含まれます。

[[321808]]

この論文の第一著者はHongwei Yong氏です。

他の 3 人の著者は、すべて Alibaba DAMO Academy に勤務しています。Jianqiang Huang 氏は DAMO Academy の上級アルゴリズム専門家、Xiansheng Hua 氏は DAMO Academy の City Brain Laboratory の責任者、Lei Zhang 氏は DAMO Academy の City Brain Laboratory の上級研究員です。

<<:  人工知能はリアルタイム分析のためのより強力なツールとなる

>>:  開始から中止まで: ディープラーニングにおけるモデル蒸留技術

ブログ    
ブログ    

推薦する

アマゾンが注文梱包ロボットを導入、数千人の従業員が職を失う可能性も

アマゾンの従業員2人によると、同社は近年、いくつかの倉庫で数々の新技術を導入し始めており、その中には...

【ビッグネーム登場、第2話】快溝タクシーの知能進化への道

インテリジェントな注文発送システムをゼロから構築するように依頼され、1 日の注文数が 40 万件だと...

自動運転の体験はクールで、将来的には多くの交通アルゴリズムが登場するだろう

[[229949]]若い観客が自動運転車「ファントム」を体験[[229950]] [[229951]...

DeepFakeはもう人々を騙せません!米国の大手テクノロジー企業7社が共同でAI生成コンテンツに透かしを追加

最近、OpenAIとGoogleが率いるアメリカのテクノロジー大手7社が共同で次のような発表を行った...

人工知能に適した9つのプログラミング言語

[[436583]] [51CTO.com クイック翻訳]人工知能という用語は、20 世紀半ばに生ま...

...

ロボットやAIが事故を起こした場合、誰が責任を負うのでしょうか?

[[348005]]自動運転車が歩行者をはねた場合、法的責任を負うのは誰でしょうか?所有者、製造者...

ジャック・マーの野望がついに暴露される!たった今、アリの無人ホテルがオープンしました!ウェイターもレジ係もいない…また混乱

[[248958]]今週末、インターネットは再び混乱に陥った。ジャック・マーが2年かけて準備してきた...

教師あり学習、教師なし学習、強化学習とは何ですか?ついに誰かが明らかにした

01 用語このセクションでは、機械学習の概要とその 3 つの分類 (教師あり学習、教師なし学習、強化...

ビッグデータ採用、アルゴリズムによって選ばれた

[[76655]]大学に通ったことのない26歳のジェド・ドミンゲスさんは、ギルデッドのアルゴリズムに...

すべてのデータ サイエンティストが知っておくべき 19 の機械学習アルゴリズム

【51CTO.com 速訳】機械学習アルゴリズム入門機械学習アルゴリズムの分野では、分類には通常次の...

T11 2019データインテリジェンステクノロジーサミット開催 AIは業界の破壊的変化をもたらす

[[283929]] 図: T11 2019 データインテリジェンステクノロジーサミット現在、データ...

機械学習と予測分析の違いは何ですか?

[[279165]]今日、認知学習はかつてないほど普及しています。一般的に言えば、認知学習と認知コ...

ディープラーニングにおける多体問題の解決方法

「多体問題」(N 体問題とも呼ばれる)は単純に見えますが、実際には今日の数学で解決するのが非常に難し...

デジタルヒューマンとは何か、そしてその将来性はどのようなものでしょうか?

今日の技術的に進歩した世界では、生きているようなデジタルヒューマンが大きな関心を集める新たな分野とな...