01 知識蒸留誕生の背景
それ以来、ディープ ニューラル ネットワーク (DNN) は産業界と学術界の両方で、特に コンピューター ビジョン タスク で大きな成功を収めてきました。深層学習の成功は主に、数十億のパラメータを使用してデータをエンコードするためのスケーラブルなアーキテクチャによるものです。そのトレーニングの目標は、既存のトレーニング データセットで入力と出力の間の関係をモデル化することです。パフォーマンスはネットワークの複雑さに大きく依存し、ラベル付きトレーニング データの量と質。
コンピューター ビジョンの分野における従来のアルゴリズムと比較して、ほとんどの DNN ベースのモデルは、過剰なパラメーター化により、強力な 一般化機能を備えています。モデルへの影響は、トレーニング データ、テスト データ、問題に属する未知のデータなど、特定の問題に入力されるすべてのデータに対してモデルがより良い予測結果を与えることができるという事実に反映されています。
現在の深層学習の状況では、ビジネス アルゴリズムの予測効果を向上させるために、アルゴリズム エンジニアは 2 つの解決策を用意していることがよくあります:
パラメータ化されたより複雑なネットワークを使用します。能力は非常に強力ですが、訓練に多くのコンピューティングリソースを必要とし、推論速度が遅いです。
統合モデルは、通常、パラメーターの統合と結果の統合を含む、効果の弱い多くのモデルを統合します。
これら 2 つのソリューションは既存のアルゴリズムの効果を大幅に向上させることができますが、どちらもモデルの規模が増大し、計算負荷が増大し、大規模なコンピューティング リソースとストレージ リソースが必要になります。
仕事において、さまざまなアルゴリズム モデルの最終的な目的は、特定のアプリケーションに役立つことです。売買と同じように、収入と支出をコントロールする必要があります。産業用アプリケーションでは、モデルが適切な予測を行う必要があることに加えて、コンピューティング リソースの使用も厳密に制御する必要があり、効率を考慮せずに結果だけを考慮することはできません。入力データのエンコード量が多いコンピュータ ビジョンの分野では、コンピューティング リソースはさらに限られており、制御アルゴリズムのリソース占有がさらに重要になります。
一般に、モデルが大きいほど予測結果は向上しますが、トレーニング時間が長く推論速度が遅いため、モデルをリアルタイムでデプロイすることが困難になります。特に、ビデオ監視、自動運転車、高スループットのクラウド環境など、コンピューティング リソースが限られているデバイスでは、応答速度が明らかに十分ではありません。小さいモデルは推論速度が速くなりますが、パラメーターが不十分であるため、推論効果と汎化パフォーマンスがそれほど良くない可能性があります。大規模モデルと小規模モデルをどのように比較するかは常にホットなトピックであり、現在のソリューションのほとんどは、展開環境の端末デバイスのパフォーマンスに基づいて適切なサイズの DNN モデルを 選択することです。
高速な推論速度を維持しながら、大規模なモデルと同じまたはそれに近い効果を達成できる小規模なモデルを作成したい場合、どうすればよいでしょうか?
機械学習では、入力と出力の間に潜在的なマッピング関数の関係があると仮定することがよくありますが、新しいモデルを最初から学習することは、入力データと対応するラベルの間にほぼ未知のマッピング関数があることを前提としています。入力データが変更されないという前提では、小さなモデルを最初からトレーニングすることは、経験的な観点から大規模なモデルの効果に近づくことが困難です。小規模モデル アルゴリズムのパフォーマンスを向上させるために、一般的に最も効果的な方法は、より多くの入力データにラベルを付けること、つまりより多くの監視情報を提供することです。これにより、学習されたマッピング関数がより堅牢になり、パフォーマンスが向上します。 2 つの例を挙げると、コンピューター ビジョンの分野では、インスタンス セグメンテーション タスクは追加のマスク情報を提供することでターゲット バウンディング ボックス検出の効果を向上させることができ、転移学習タスクはより大規模な事前トレーニング済みモデルを提供することで新しいタスクを大幅に改善できます。データセットの予測効果。したがって、より多くの監視情報を提供するが、小規模モデルと大規模モデルの間のギャップを縮める鍵となる可能性があります。
前の記述によると、より多くの監視情報を取得するには、より多くのトレーニング データにラベルを付ける必要があり、多くの場合、莫大なコストが必要になります。では、監視情報を取得する低コストで効率的な方法はありますか? 2006 年の記事 [1] は、新しいモデルを元のモデルに近似するように作成できることを指摘しました (モデルは関数です)。元のモデルの機能は既知であるため、新しいモデルをトレーニングするときにより多くの監視情報が自然に追加され、これは明らかにより実現可能です。
さらに考えると、元のモデルによってもたらされる監視情報には、さまざまな次元の知識が含まれている可能性があります。これらの固有の情報は、新しいモデル自体では捕捉できない可能性があります。これは、ある程度、新しいモデルにとって重要です。モデルも一種の「クロスドメイン」学習です。
2015 年、ヒントンは論文「ニューラル ネットワークでの知識の蒸留」[2] の近似の考え方に従い、「知識の蒸留 (知識の蒸留)」という概念を提案する主導権を握りました。 、KD)」: まずトレーニングできます。大規模で強力なモデルを構築し、次にそのモデルに含まれる知識を小さなモデルに転送することで、「小規模モデルの高速推論速度を維持しながら、同等またはそれに近い効果を達成する」という目的を達成できます。大型モデル並みの性能を実現します。最初にトレーニングされる大きなモデルを教師モデル、後でトレーニングされる小さなモデルを生徒モデルと呼び、トレーニング プロセス全体を「教師と生徒の学習」に例えることができます。その後数年間で、大量の知識の蒸留と教師と生徒による学習作業が生まれ、業界にさらに新しいソリューションが提供されました。現在、KD は、モデル圧縮と知識伝達という 2 つの異なる分野で広く使用されています [3]。
02 知識の蒸留
はじめに
知識の蒸留は、「教師-学生 「ネットワーク」の考え方に基づいたモデル圧縮手法は、そのシンプルさと有効性から業界で広く使用されています。その目的は、トレーニングされた大規模モデル - Distill (蒸留) - に含まれる知識を別の小さなモデルに抽出することです。では、大規模モデルの知識や一般化能力を小規模モデルに移すにはどうすればよいでしょうか? KD 論文では、大規模モデルのサンプル出力の確率ベクトルをソフト ターゲットとして小規模モデルに提供することで、小規模モデルの出力がこのソフト ターゲットにできるだけ近づくようにしています (本来はワンホットです)エンコーディング)を使用して、大規模なモデルの学習、モデルの動作を近似します。
従来のハードラベルトレーニングプロセスでは、すべてのネガティブラベルが均一に扱われますが、この方法ではカテゴリ間の関係が分離されます。たとえば、手書きの数字を認識したい場合、「3」と同じラベルが付いたいくつかの絵は「8」に似ている場合もあれば、「2」に似ている絵もあります。ハードラベルではこの情報を区別できませんが、よく訓練された大きなモデルが出すことができます。大規模モデルのソフトマックス層の出力には、正の例に加えて、負のラベルにも多くの情報が含まれています。たとえば、一部の負のラベルに対応する確率は、他の負のラベルよりもはるかに大きくなります。近似学習の動作により、各サンプルは従来のトレーニング方法よりも多くの情報を学生ネットワークにもたらすことができます。
したがって、作成者はスチューデント ネットワークをトレーニングするときに損失関数を変更し、トレーニング データのグラウンド トゥルース ラベルをフィッティングしながら、小さなモデルが大規模モデルの出力の確率分布にフィットできるようにしました。この方法は知識蒸留トレーニング、KDトレーニングと呼ばれます。知識の蒸留プロセスで使用されるトレーニング サンプルは、大規模モデルのトレーニングに使用されるサンプルと同じである場合もあれば、独立した転送セットが見つかる場合もあります。
方法の詳細な説明
具体的には、教師-生徒モデルを使用して知識を蒸留します。教師は「知識」の出力者であり、生徒は「知識」の受け手です。知識の。知識蒸留のプロセスは 2 つの段階に分かれています:
- 教師モデルのトレーニング:
- トレーニング Net-T と呼ばれる「教師モデル」は、比較的複雑なモデルによって特徴付けられます。個別にトレーニングされた複数のモデルを統合できます。モデルを展開する必要がないため、モデル アーキテクチャ、パラメータの数、および「教師モデル」を統合するかどうかに制限はありません。唯一の要件は、入力 X に対して Y を出力できることです。ここで、Y はSoftmax によってマッピングされ、出力の値は、対応するカテゴリの確率値に対応します。 スチューデント モデルのトレーニング:
- トレーニング Net-S と呼ばれる「スチューデント モデル」は、少数のパラメーターと比較的単純なモデル構造を持つ単一のモデルです。同様に、入力 X に対して Y を出力することができ、Y はソフトマックス マッピング後の対応するカテゴリに対応する確率値を出力することもできます。 ソフトマックスを使用したネットワークの結果は、特定のクラスの信頼度が非常に高く、他のクラスの信頼度が非常に低いという極端な結果になりやすいためです。学生モデルが注目する肯定的なクラス情報 おそらく、それはまだ特定のカテゴリにのみ属している可能性があります。さらに、さまざまなカテゴリーのネガティブな情報にも相対的な重要性があるため、すべてのネガティブなスコアが類似することは好ましくなく、知識の蒸留の目的を達成できません。この問題を解決するために、温度 (Temperature) の概念が導入され、小さな確率値によってもたらされる情報を抽出するために高温が使用されます。具体的には、ソフトマックス関数を通過する前に、ロジットを温度 T で割ります。
トレーニング中、教師モデルによって学習された知識は、まず小さなモデルに抽出されます。具体的には、サンプル X については、まず大きなモデルの最後から 2 番目の層が温度 T で除算され、次にソフト ターゲットが予測されます。モデルについても同じことが言えます。最後から 2 番目の層は同じ温度 T で除算され、ソフトマックスを通じて結果を予測し、この結果とソフト ターゲットのクロス エントロピーをトレーニングの総損失の一部として使用します。次に、小規模モデルの正規出力と真の値ラベル (ハード ターゲット) のクロス エントロピーが、トレーニングの総損失の別の部分として使用されます。合計損失は、小規模モデルをトレーニングするための最終損失として 2 つの損失を合わせて重み付けします。
小規模モデルがトレーニングされ、予測する必要がある場合、温度 T は必要なくなり、従来のソフトマックスに従って直接出力できます。
03 FitNet
はじめに
FitNet の論文では、学生モデルのトレーニングをガイドするための、蒸留中の中間レベルのヒントが紹介されています。広くて浅い教師モデルを使用して、狭くて深い生徒モデルをトレーニングします。ヒント ガイダンスを実行する場合、ヒント レイヤーとガイド付きレイヤーの出力形状を一致させるレイヤーを使用することが提案されており、これは将来の世代の研究ではアダプテーション レイヤーと呼ばれることがよくあります。
一般に、知識の蒸留を行う際に、教師モデルのロジット出力だけでなく、教師モデルの中間層の特徴マップも教師情報として使用することに相当します。想像できるのは、小さなモデルが出力端で大きなモデルを直接模倣するのは非常に困難であるということです (モデルが深くなるほど、トレーニングが難しくなり、監視信号の最後の層を送信するのは非常に面倒です)モデルがトレーニング中に最も難しいマッピング関数を直接学習するのではなく、より難しいマッピング関数を層ごとに学習できるように、途中にいくつかの監視信号を追加する方が良いです。さらに、ヒント ガイダンスにより収束が加速されます。非凸問題でより適切な局所最小値を見つけると、生徒のネットワークがより深くなり、より速くトレーニングできるようになります。大学の入試問題をやらせるのが目的のような気がするので、まずは中学校の問題を教えます(まず小さいモデルにモデルの前半を使って画像の根底にある特徴を抽出する方法を学習させます)。そして、本来の目的である大学入試問題の学習に戻ります(KDを使用して小型モデルのすべてのパラメータを調整します)。
この記事は、提案された蒸留中間特徴マップの祖先であり、提案されたアルゴリズムは非常に単純ですが、アイデアは画期的です。
方法の詳細な説明
FitNets の具体的な方法は次のとおりです:
- 教師ネットワークを決定する 成熟してトレーニングし、教師ネットワークの中間特徴層からヒントを抽出します。
- 生徒のネットワークを設定します。このネットワークは通常、教師のネットワークより狭くて深いです。学生ネットワークは、学生ネットワークの中間特徴層が教師モデルのヒントと一致するようにトレーニングされます。生徒ネットワークの中間特徴層と教師のヒント サイズが異なるため、特徴の次元を強化してヒント層のサイズと一致させるために、生徒ネットワークの中間特徴層の後にリグレッサーを追加する必要があります。教師ネットワークのヒント層とリグレッサーによって変換された生徒ネットワークの中間特徴層と一致する損失関数は、平均二乗誤差損失関数です。
実際のトレーニングでは、前セクションの KD トレーニングと組み合わせて使用されることが多く、トレーニングには 2 段階の方法が使用されます。まずヒント トレーニングを使用して前半のパラメーターを事前トレーニングします。小さなモデルを作成し、KD トレーニングを使用してパラメーター全体をトレーニングします。蒸留プロセスではより多くの監視情報が使用されるため、中間特徴マップに基づく蒸留方法は、結果ロジットに基づく蒸留方法よりもパフォーマンスが高くなりますが、トレーニング時間は長くなります。
04 概要
知識の蒸留は、アンサンブルまたは高度に正規化された大規模モデルから小規模なモデルに知識を移すのに非常に効果的です。蒸留モデルのトレーニングに使用される移行データセットに 1 つ以上のクラスのデータが欠落している場合でも、蒸留は非常にうまく機能します。古典的な KD と FitNet が提案された後、さまざまな蒸留方法が登場しました。将来的には、モデル圧縮と知識伝達の分野でもさらに探求していきたいと考えています。
著者について
Ma Jialiang は、NetEase Yidun のシニア コンピュータ ビジョン アルゴリズム エンジニアであり、主にコンテンツ分野におけるコンピュータ ビジョン アルゴリズムの研究、開発、最適化、革新を担当しています。安全。
以上が大きなモデルは小さなモデルに正確にフィードバックし、知識の蒸留は AI アルゴリズムのパフォーマンスの向上に役立ちます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ai合并图层的快捷键是“Ctrl+Shift+E”,它的作用是把目前所有处在显示状态的图层合并,在隐藏状态的图层则不作变动。也可以选中要合并的图层,在菜单栏中依次点击“窗口”-“路径查找器”,点击“合并”按钮。

ai橡皮擦擦不掉东西是因为AI是矢量图软件,用橡皮擦不能擦位图的,其解决办法就是用蒙板工具以及钢笔勾好路径再建立蒙板即可实现擦掉东西。

虽然谷歌早在2020年,就在自家的数据中心上部署了当时最强的AI芯片——TPU v4。但直到今年的4月4日,谷歌才首次公布了这台AI超算的技术细节。论文地址:https://arxiv.org/abs/2304.01433相比于TPU v3,TPU v4的性能要高出2.1倍,而在整合4096个芯片之后,超算的性能更是提升了10倍。另外,谷歌还声称,自家芯片要比英伟达A100更快、更节能。与A100对打,速度快1.7倍论文中,谷歌表示,对于规模相当的系统,TPU v4可以提供比英伟达A100强1.

ai可以转成psd格式。转换方法:1、打开Adobe Illustrator软件,依次点击顶部菜单栏的“文件”-“打开”,选择所需的ai文件;2、点击右侧功能面板中的“图层”,点击三杠图标,在弹出的选项中选择“释放到图层(顺序)”;3、依次点击顶部菜单栏的“文件”-“导出”-“导出为”;4、在弹出的“导出”对话框中,将“保存类型”设置为“PSD格式”,点击“导出”即可;

ai顶部属性栏不见了的解决办法:1、开启Ai新建画布,进入绘图页面;2、在Ai顶部菜单栏中点击“窗口”;3、在系统弹出的窗口菜单页面中点击“控制”,然后开启“控制”窗口即可显示出属性栏。

Yann LeCun 这个观点的确有些大胆。 「从现在起 5 年内,没有哪个头脑正常的人会使用自回归模型。」最近,图灵奖得主 Yann LeCun 给一场辩论做了个特别的开场。而他口中的自回归,正是当前爆红的 GPT 家族模型所依赖的学习范式。当然,被 Yann LeCun 指出问题的不只是自回归模型。在他看来,当前整个的机器学习领域都面临巨大挑战。这场辩论的主题为「Do large language models need sensory grounding for meaning and u

自从ChatGPT掀起浪潮,不少人都在担心AI快要抢人类饭碗了。然鹅,现实可能更残酷QAQ......据就业服务平台Resume Builder调查统计,在1000多家受访美国企业中,用ChatGPT取代部分员工的,比例已达到惊人的48%。在这些企业中,有49%已经启用ChatGPT,还有30%正在赶来的路上。就连央视财经也为此专门发过一个报道:相关话题还曾一度冲上了知乎热榜,众网友表示,不得不承认,现在ChatGPT等AIGC工具已势不可挡——浪潮既来,不进则退。有程序员还指出:用过Copil

ai移动不了东西的解决办法:1、打开ai软件,打开空白文档;2、选择矩形工具,在文档中绘制矩形;3、点击选择工具,移动文档中的矩形;4、点击图层按钮,弹出图层面板对话框,解锁图层;5、点击选择工具,移动矩形即可。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ホットトピック



