ホームページ  >  記事  >  テクノロジー周辺機器  >  私がトップエッセイをゼロから書いた方法

私がトップエッセイをゼロから書いた方法

WBOY
WBOY転載
2023-04-11 14:16:03970ブラウズ

私は最近、非常に満足のいく論文を完成させました。プロセス全体が楽しく思い出深いだけでなく、真に「学術的影響と産業上の成果」も達成しました。私はこの記事が差分プライバシー (DP) ディープラーニングのパラダイムを変えると信じています。

この経験は非常に「偶然」なので(プロセスは偶然に満ちており、結論は非常に巧妙です)、観察→構想→という私の経験をクラスメートと共有したいと思います。 >証拠-->理論-->大規模実験の完全なプロセス。この記事は軽量なものにし、技術的な詳細はあまり含まないようにするつもりです。

私がトップエッセイをゼロから書いた方法

論文アドレス: arxiv.org/abs/2206.07136

論文に記載されている順序とは異なり、論文では意図的に順序が異なる場合があります。結論を置く 読者を惹きつけるために結論を冒頭に置くか、単純化した定理を最初に紹介し、完全な定理を付録に置く; この記事では、私の経験を時系列に (つまり、経過報告として) 書きたいと思っています。研究の途中で遠回りしたことや予期せぬ問題が発生したことなど、理系研究の道に足を踏み入れたばかりの学生の参考のために開発状況を書き留めます。

1. 文献の読み方

問題の発端はスタンフォード大学の論文であり、現在は ICLR に記録されています:

私がトップエッセイをゼロから書いた方法

論文アドレス: https://arxiv.org/abs/2110.05679

この記事は非常によく書かれており、要約すると、主に 3 つの貢献があります:

1. NLP タスクでは、DP モデルの精度が非常に高いため、言語モデルでのプライバシーの適用が促進されます。 (対照的に、CV の DP は非常に大きな精度の低下を引き起こします。たとえば、CIFAR10 は現在、DP 制限の下で事前トレーニングなしで 80% の精度を持っていますが、DP を考慮しなくても簡単に 95% に達します。当時の ImageNet の最高の DP 精度

2. 言語モデルでは、モデルが大きいほどパフォーマンスが向上します。たとえば、GPT2 のパフォーマンスが 4 億パラメータから 8 億パラメータに向上したことは明らかであり、多くの SOTA も達成しています。 (ただし、CV および推奨システムでは、多くの場合、大規模なモデルのパフォーマンスは非常に低く、ランダムな推測に近くなります。たとえば、CIFAR10 の DP 最高精度は、以前は ResNet ではなく 4 層 CNN によって取得されていました。)

私がトップエッセイをゼロから書いた方法

NLP タスクでは、DP モデルが大きくなるほど、パフォーマンスが向上します [Xuechen et al. 2021]

3.複数のタスクに対する SOTA スーパー パラメーターは同じです。クリッピングしきい値は十分に小さく設定する必要があり、学習率はより大きくする必要があります。 (これまでのすべての記事では、タスクごとにクリッピングしきい値を調整していましたが、これには時間と手間がかかりました。この記事のように、クリッピングしきい値 = 0.1 ですべてのタスクを実行するものはありませんでした。パフォーマンスは非常に優れています。)

上記の要約 論文を読んですぐに理解できましたが、括弧内の内容はこの論文からのものではなく、これまでに多くの読書から生じた印象です。これは、長期にわたる読書の蓄積と、すぐに関連付けて比較するための高度な一般化能力に依存します。

実際、多くの学生は、1 つの記事の内容しか見ることができず、ネットワークを形成したり、分野全体の知識ポイントと関連付けたりすることができないため、記事を書き始めるのが困難です。一方で、勉強を始めたばかりの学生は読書量が足りず、十分な知識ポイントをまだ習得していません。これは、長い間教師からプロジェクトを受けていて、自分から提案しない学生に特に当てはまります。一方で、読書量は十分であるものの、その時々で要約が行われていないため、情報が知識として凝縮されなかったり、知識が繋がらなかったりすることがあります。

ここでは DP ディープラーニングの予備知識を説明しますが、読みには影響しないので、ここでは DP の定義を省略します。

アルゴリズムの観点から見た、いわゆる DP ディープ ラーニングは、実際には、サンプルごとの勾配クリッピングとガウス ノイズの追加という 2 つの追加のステップを実行することを意味します。つまり、勾配に従っている限り、これら 2 つに従って、ステップ処理が完了した後 (処理された勾配はプライベート勾配と呼ばれます)、SGD/Adam を含むオプティマイザーを自由に使用できます。

最終的なアルゴリズムがどの程度プライベートであるかについては、プライバシー会計理論と呼ばれる別のサブ分野の問題です。この分野は比較的成熟しており、強力な理論的基盤が必要ですが、この記事では最適化に焦点を当てているため、ここでは触れません。

私がトップエッセイをゼロから書いた方法

g_i はデータ ポイントの勾配 (サンプルごとの勾配)、R はクリッピングしきい値、sigma はノイズ乗数です。

Clip は通常のグラデーションクリッピングと同様にクリッピング関数と呼ばれるもので、グラデーションが R より長い場合は R までにカットされ、R 未満の場合は移動しません。

たとえば、SGD の DP バージョンは現在、プライバシー ディープ ラーニングの先駆的な研究 (Abadi、Martin ら「差分プライバシーを使用したディープ ラーニング」) のクリッピング機能を使用するすべての論文で使用されており、別名プライバシー ディープ ラーニングとも呼ばれます。アバディ氏の切り抜き:写真。

しかし、これはまったく不要です。最初の原則に従い、プライバシー会計理論から始めると、実際、クリッピング関数は、Clip(g_i)*g_i の係数が以下であることを満たせばよいだけです。 Rに等しい。つまり、アバディのクリッピングはこの条件を満たす機能の一つに過ぎず、決して唯一ではないということだ。

2. エントリーポイント

記事には輝かしい点がたくさんありますが、そのすべてを私が使用できるわけではありません。私自身のニーズと専門知識に基づいています。

この記事の最初の 2 つの貢献は、実際には非常に経験的であり、掘り下げるのが困難です。最後の貢献は非常に興味深いものです。私はハイパーパラメータのアブレーション研究を注意深く観察し、元の著者が発見しなかった点を発見しました。それは、クリッピングしきい値が十分に小さい場合、実際には、クリッピングしきい値 (つまり、クリッピング ノルム C) 、上の式で R は変数です) は効果がありません。

私がトップエッセイをゼロから書いた方法

縦方向では、C=0.1、0.4、1.6 は DP-Adam と違いがありません [Xuechen et al. 2021]。

これは私の興味を呼び起こし、その背後には何らかの原理があるに違いないと感じました。そこで私は、彼らがその理由を知るために使用した DP-Adam を手書きで書きました。実際、それは非常に簡単です:

私がトップエッセイをゼロから書いた方法

R が十分に小さい場合、クリッピングは実際には以下と同等です。正規化!単純にプライベート グラデーション (1.1) を置き換えることで、R をクリッピング部分とノイズ部分からそれぞれ抽出できます。

私がトップエッセイをゼロから書いた方法

#そして、Adam の形式により、R が次のように表示されます。同時に、勾配と適応ステップ サイズでは、分子と分母がキャンセルされると、R がなくなり、アイデアがそこにあります。

私がトップエッセイをゼロから書いた方法

m と v は両方とも勾配に依存しており、プライベート勾配に置き換えると DP-AdamW になります。

このような単純な置換は、私の最初の定理を証明します。つまり、DP-AdamW では、十分に小さいクリッピング閾値は互いに同等であり、パラメーター調整は必要ありません。

これは簡潔で興味深い観察であることは間違いありませんが、十分な意味を成していないため、この観察が実際にどのような用途があるのか​​を考える必要があります。

実際、これは、DP トレーニングによりパラメーター調整作業が 1 桁減少することを意味します。学習率と R がそれぞれ 5 つの値に調整されていると仮定すると (上記のように)、最適な Excelent ハイパーパラメータを見つけるには、25 の組み合わせをテストする必要があります。学習率を 5 つの可能性で調整するだけで済み、パラメータ調整の効率が数倍向上しました。これは業界にとって非常に貴重な問題点です。

意図は十分に高く、数学は十分に簡潔で、良いアイデアが形になり始めています。

3. 単純な拡張

Adam/AdamW のみに設定すると、この作業の限界がまだ大きすぎるため、すぐに AdamW に拡張し、 AdaGrad などの他の適応オプティマイザー。実際、すべての適応オプティマイザーについて、クリッピングしきい値がオフセットされることが証明できるため、パラメーターを調整する必要がなく、定理の内容が大幅に向上します。

ここにはもう 1 つの興味深い詳細があります。ご存知のとおり、重み減衰のある Adam は AdamW とは異なります。後者は分離された重み減衰を使用します。この違いに関する ICLR の記事があります。

私がトップエッセイをゼロから書いた方法

2 つあります。アダムの種類 重量減衰を追加します。

この違いは DP オプティマイザーにも存在します。 Adam についても同様です。分離されたウェイト減衰が使用される場合、R のスケーリングはウェイト減衰のサイズに影響しません。ただし、通常のウェイト減衰が使用される場合、R を 2 倍に拡大することは、ウェイト減衰を 2 倍に減らすことと同じです。

4. 別の世界があります

賢い学生なら、私が常に適応オプティマイザーを強調してきたことに気づいたかもしれません。なぜ SGD について話さないのですか? 答えは次のとおりです。 DP適応オプティマイザの理論を書いた後、GoogleはすぐにCVで使われているDP-SGDの記事を公開し、アブレーションの研究も行ったが、Adamのルールとは全く異なっており、斜め上の印象を残した

私がトップエッセイをゼロから書いた方法

DP-SGD の場合、R が十分に小さい場合、lr を 10 倍に増やすことは、R を 10 倍に増やすことと同じです [https://arxiv.org/abs/2201.12328]。

この記事を見たとき、私は非常に興奮しました。なぜなら、それは小さなクリッピング閾値の有効性を証明した別の論文だったからです。

科学の世界では、連続する偶然の背後に隠れたパターンが存在することがよくあります。

単純にこれを置き換えると、Adam よりも SGD の方が分析しやすいことがわかります。(1.3) は次のように近似できます:

私がトップエッセイをゼロから書いた方法

##明らかに R学習率と組み合わせて、Google の観察を理論的に証明することが提案できます。


「具体的には、クリッピングノルムが k 倍減少した場合、同様の精度を維持するには学習率を k 倍増加する必要があります。」


Google だけがそうしているのは残念です。この現象は理論のレベルに達していません。ここにも偶然があり、上の写真では 2 つのスケールのアブレーション研究を同時に描いています。対角線が見えるのは左側のスケールだけです。右側を見ただけでは結論は出ません...


適応ステップサイズがないため、SGD は Adam のように R を無視せず、R を学習率の一部として扱うため、個別に調整する必要はありません。パラメータを調整すると一緒に調整されます。


次に、SGD の理論を運動量に拡張すると、Pytorch でサポートされるすべてのオプティマイザーが分析されました。


5. 直感から厳密さへ


革新的な点はありますが、アバディのクリッピングはあくまで近似正規化であり均等化できないため、決定的な分析方法はありません。収束。


ドラえもん鉄人隊の原則に従って、私は正規化を新しいサンプルごとの勾配クリッピング関数として直接命名しました。これは、6 年間この分野全体で使用されてきた Abadi クリッピングに代わるものです。これが私の2番目の革新的な点です。

前の証明の後、新しいクリッピングは厳密には R を必要としないため、自動クリッピング (AUTO-V、バニラの場合は V) と呼ばれます。


アバディのクリッピングとはフォームが違うので精度も違いますし、私のクリッピングは不利になるかもしれません。


つまり、新しいメソッドをテストするためのコードを記述する必要がありますが、変更する必要があるのはコードを 1 行だけ変更するだけです (結局のところ、これは単なる画像です)。


実際には、DP サンプルごとの勾配クリッピングの方向には主に 3 つのクリッピング関数があります。Abadi のクリッピングに加えて、2 つは私によって提案されました。1 つはグローバル クリッピングで、もう 1 つはこの記事は自動切り抜きです。以前の作業で、さまざまな一般的なライブラリでクリッピングを変更する方法をすでに知っていたので、記事の最後の付録に変更方法を記載しました。


テストの後、スタンフォード大学の記事で、GPT2 がトレーニング プロセス全体ですべての反復とすべてのサンプルごとの勾配をクリップしていることがわかりました。言い換えれば、少なくともこの実験では、アバディのクリッピングは自動クリッピングと完全に同等です。その後の実験では SOTA に負けましたが、このことは私の新しい方法に十分な価値があることを示しました。クリッピング閾値を調整する必要がなく、場合によっては精度が犠牲にならないクリッピング関数です。


6. 抽象的思考に戻る


スタンフォード大学の論文には、2 つの主要なタイプの言語モデル実験が含まれており、1 つは GPT2 をモデルとして使用する生成タスクで、もう 1 つはモデルとして使用されます。 RoBERTa はモデル分類タスクです。自動クリッピングは生成タスクにおける Abadi のクリッピングと同等ですが、分類タスクにおける精度は常に数ポイント劣ります。


私自身の学術的な習慣のため、現時点ではデータセットを変更せず、その後、公開する主要な実験を選択するつもりはありません。ましてやトリック (データ強化やマジック モデルの修正など) を追加することはありません。のタイプ)。完全に公平な比較で、サンプルごとのグラジエント クリッピングのみを比較し、可能な限り最高の湿気のない効果を達成できることを願っています。


実際、共同研究者との議論の中で、純粋な正規化と Abadi のクリッピングでは、勾配サイズの情報が完全に破棄されることがわかりました。つまり、自動クリッピングの場合、元の勾配がどれほど大きくても、つまり、クリップ後、R は常に R と同じ大きさであり、Abadi は R より小さいグラデーションのサイズ情報を保持します。


#このアイデアに基づいて、AUTO-S クリッピング (S は安定の略) と呼ばれる、小さいながらも非常に賢い変更を加えました。

#R と学習率を統合すると、


私がトップエッセイをゼロから書いた方法

これは小さくなります (通常は 0.01 に設定されますが、実際には別の値に設定されます) 任意の正の数動作します。非常に堅牢です)、グラデーション サイズの情報を保持できます:


私がトップエッセイをゼロから書いた方法

このアルゴリズムに基づいて、1 行を変更して Stanford コードを再実行するだけで、6 つの NLP データ セットの SOTA が得られます。

私がトップエッセイをゼロから書いた方法

E2E 生成タスクでは、AUTO-S は他のすべてのクリッピング関数を上回り、また SST2/MNLI/QNLI/QQP 分類タスクでも優れています。

7. 一般的なアルゴリズムを作成する

スタンフォードの記事の 1 つの制限は、NLP のみに焦点を当てていることですが、何と偶然でしょう: Google が ImageNet をブラッシュアップした直後DP SOTA の 2 か月後、Google 子会社の DeepMind は、DP が CV でどのように優れているかに関する記事をリリースし、ImageNet の精度を 48% から 84% に直接向上させました。

私がトップエッセイをゼロから書いた方法

論文アドレス: https://arxiv.org/abs/2204.13650

この記事では、私が最初のそれです。付録のこの図に目を向けるまで、オプティマイザとクリッピングしきい値の選択を検討するのに時間がかかりました。

私がトップエッセイをゼロから書いた方法

ImageNet 上の DP-SGD の SOTA にもクリッピングが必要です。しきい値は十分に小さいです。

それでも、小さなクリッピングしきい値が最適に機能します。自動クリッピングをサポートする 3 つの高品質な記事により、私はすでに強いモチベーションを持っており、私の仕事が傑出したものになるだろうとますます確信しています。

偶然にも、DeepMind によるこの記事も理論のない純粋な実験であり、これにより彼らも理論的には R が必要ないことをほぼ認識するようになりました。実際、彼らは私のアイデアに非常に近いものでした。 、R を抽出して学習率と統合できることさえ発見しました (興味のある学生は式 (2) と (3) を見てください)。しかし、アバディのクリッピングの慣性が大きすぎた…ルールは理解したものの、それ以上は進まなかった。

私がトップエッセイをゼロから書いた方法

DeepMind は、小さなクリッピングしきい値が最適であることも発見しましたが、その理由はわかりませんでした。

この新しい研究に触発されて、私は NLP 用に 1 つのメソッド セットを使用し、CV 用に別のメソッド セットを使用するのではなく、私のアルゴリズムをすべての DP 研究者が使用できるように CV の実験を開始しました。

優れたアルゴリズムは汎用的で使いやすいものでなければなりません。事実は、自動クリッピングでも CV データ セットで SOTA を達成できることも証明しています。

私がトップエッセイをゼロから書いた方法

8. 骨としての理論と翼としての実験

上記のすべての論文を見ると、SOTA は大幅に改善され、エンジニアリングを達成しました。結果は満たされていますが、理論は完全に白紙です。

すべての実験を終えた時点で、この研究の貢献はトップカンファレンスの要件を超えています: 経験的に、小さなクリッピング閾値によって生成された DP-SGD と DP-Adam を使用します。パラメータが大幅に簡略化され、計算効率、プライバシーを犠牲にすることなく、パラメータ調整を行わない新しいクリッピング関数が提案され、小さな γ が Abadi のクリッピングと正規化によって引き起こされた勾配サイズ情報の損傷を修復します、十分な NLP および CV 実験により SOTA 精度が達成されました。

私はまだ満足していません。理論的サポートのないオプティマイザーは依然として深層学習に実質的な貢献をすることができません。毎年、数十の新しいオプティマイザーが提案されますが、それらはすべて 2 年目に破棄されます。 Pytorch によって正式にサポートされ、業界で実際に使用されているものはまだわずかです。

このため、共同研究者と私はさらに 2 か月かけて自動 DP-SGD 収束解析を行い、プロセスは困難でしたが、最終的な証明は極限まで簡素化されました。結論も非常にシンプルです。バッチ サイズ、学習率、モデル サイズ、サンプル サイズ、その他の変数が収束に及ぼす影響は定量的に表現され、既知のすべての DP トレーニング動作と一致します。

特に、DP-SGD は標準 SGD よりも収束が遅いものの、反復が無限になる傾向がある場合、収束速度は桁違いであることを証明しました。これにより、プライバシーの計算に信頼性がもたらされます。DP モデルは、遅れてはいるものの収束します。

9. 自動車事故...

7ヶ月かけて書き上げた記事がついに終わりましたが、思いがけず偶然はまだ止まりません。 NeurIPS は 5 月に論文を提出し、内部修正は 6 月 14 日に完了し、arXiv にリリースされました。その結果、6 月 27 日にマイクロソフト リサーチ アジア (MSRA) が私たちの記事と衝突する記事を公開したことを確認しました。提案されたクリッピングは次のとおりです。自動クリッピングとまったく同じです:

私がトップエッセイをゼロから書いた方法

当社の AUTO-S とまったく同じです。

よく見ると、収束の証明もほぼ同じです。そして、この二つのグループには接点がなく、太平洋を越えて偶然が生まれたとも言えます。

2 つの記事の違いについて簡単に説明しましょう。もう 1 つの記事はより理論的なもので、たとえば、Abadi DP-SGD の収束をさらに分析しています (私は自動クリッピングを証明しただけです。 DP- 記事内) NSGD、おそらく DP-SGD を調整する方法がわかりません); 使用される仮定も若干異なります; そして、私たちの実験はますます大規模になり (十数のデータセット)、さらに多くのデータセットがあります明示的に確立された Abadi のクリッピングや正規化など。定理 1 や 2 などの原子価関係は、R がパラメータ調整なしで使用できる理由を説明しています。

私たちは同時に活動しているので、コミュニティ全体が信頼できるように、お互いに同意し、補完し合ってこのアルゴリズムを共同で推進できる人々がいることをとても嬉しく思います。この結果をできるだけ早く享受してください。もちろん、私も勝手に次の記事を加速させます!と自分に言い聞かせます。

10. まとめ

この記事の創作プロセスを振り返ると、出発点から基礎的なスキルが前提条件となりますが、もう 1 つの重要な前提条件は、パラメータ調整の難しさは常に念頭に置いています。干ばつが続いているので、適切な記事を読むと蜜を見つけることができます。プロセスに関しては、中心となるのは観察を数学的に理論化する習慣であり、この作業ではコードを実装する能力は最も重要ではありません。別の本格的なコーディング作業に焦点を当てた別のコラムを書く予定ですが、最終的な収束分析も協力者と私自身の不屈の精神に依存しています。幸いなことに、美味しい食事に遅れることは心配ありませんので、そのまま続けてください。

著者について

Bu Zhiqi は、ケンブリッジ大学で学士号を取得し、ペンシルバニア大学で博士号を取得し、現在は博士号を取得しています。 Amazon AWS AI の上級研究員であり、研究の方向性は差分プライバシーと深層学習であり、最適化アルゴリズムと大規模計算に重点を置いています。

以上が私がトップエッセイをゼロから書いた方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。