速度が2倍に向上、超強力なCPUレベルのバックボーンネットワークPP-LCNetが誕生

速度が2倍に向上、超強力なCPUレベルのバックボーンネットワークPP-LCNetが誕生

[[431006]]

アルゴリズムの速度最適化でボトルネックが発生し、要件を満たすことができませんか?アプリケーション環境に高性能なハードウェアはなく、CPU のみですか?

それはすべての開発者の悩みを直接的に解決するのではないでしょうか?慌てないでください。今日は何千人もの開発者が問題を解決するのを手伝います。

画期的なのは、CPUデバイス向けにカスタマイズされたバックボーンネットワークPP-LCNetとアクセラレーションライブラリMKLDNNです。

言葉だけでは足りません。上の写真が証拠です!

上の図から、 PP-LCNet は、同じ精度を持つ現在のすべてのスケルトン ネットワークよりもはるかに高速であり、最大 2 倍のパフォーマンスの利点があることがわかります。ターゲット検出やセマンティックセグメンテーションなどのタスクアルゴリズムに適用され、元のネットワークのパフォーマンスを大幅に向上させることもできます。

PP-LCNet の論文が発表され、コードがオープンソース化された後、多くの業界開発者の注目を集めました。各分野の専門家が PP-LCNet を YOLO シリーズのアルゴリズムに適用し、非常に大きなパフォーマンス上のメリットをもたらしました。

現時点で、待ちきれず、直接試してみたいというお友達はいますか? !

編集者は巧みにオープンソース コードへのポータルを送信しました。誰もがスターを付けて収集し、失われないようにする必要があります。また、オープンソース コミュニティに認識と励ましを与える必要があります。

アドレス: https://github.com/PaddlePaddle/PaddleClas

PP-LCNet はどのようにしてこのような優れたパフォーマンスを実現するように設計されているのでしょうか?以下でご案内します:

PP-LCNetコア技術の解釈

近年、軽量バックボーンネットワークが多数立ち上げられており、各種NASで検索したネットワークは特に印象的です。ただし、これらのアルゴリズムの最適化は、業界で最も一般的に使用されている Intel CPU デバイス環境の範囲外であり、加速機能が期待どおりにならないことがよくあります。このような業界状況を踏まえ、Baidu の PaddleClas 画像分類スイートは、Intel CPU とそのアクセラレーション ライブラリ MKLDNN 向けに独自の高性能バックボーン ネットワーク PP-LCNet をカスタマイズしました。このバックボーン ネットワークは、他の軽量 SOTA モデルと比較して、推論時間を増やすことなくモデルのパフォーマンスをさらに向上させ、最終的には既存の SOTA モデルを大幅に上回ることができます。

PP-LCNet の全体的なネットワーク構造を上図に示します。多くの実験を行った結果、Intel CPU ベースのデバイスでは、特に MKLDNN アクセラレーション ライブラリが有効になっている場合、要素ごとの加算操作や分割連結構造など、時間がかからないと思われる多くの操作でレイテンシが増加することがわかりました。そのため、最終的に、最も単純な構造と最速の速度を持つブロックを選択して、BaseNet (MobileNetV1 に類似) を形成しました。 BaseNet をベースに、レイテンシを増加させずにモデルの精度を向上できる 4 つの方法を実験を通じてまとめました。以下は、これら 4 つの戦略の詳細な紹介です。

より優れた活性化関数

畳み込みニューラル ネットワークで ReLU 活性化関数が使用されるようになったため、ネットワーク パフォーマンスが大幅に向上しました。近年では、Leaky-ReLU、P-ReLU、ELU など、ReLU 活性化関数のバリエーションも登場しています。 2017 年、Google Brain チームは検索を通じて、軽量ネットワークで優れたパフォーマンスを発揮する swish アクティベーション関数を取得しました。 2019 年に、MobileNetV3 の作成者はアクティベーション関数を H-Swish にさらに最適化しました。これにより、指数演算が削除され、より高速になり、ネットワークの精度への影響がほとんどなくなりました。また、多くの実験を実施した結果、この活性化関数は軽量ネットワーク上で優れたパフォーマンスを発揮することがわかりました。したがって、PP-LCNet では、この活性化関数を選択しました。

適切な場所にSEモジュールを追加する

SE モジュールは SENet によって提案されたチャネル アテンション メカニズムであり、モデルの精度を効果的に向上させることができます。しかし、Intel CPU 側では、このモジュールも大きな遅延をもたらします。精度と速度のバランスをどう取るかが、解決すべき問題です。 SE モジュールの場所は MobileNetV3 などの NAS 検索ベースのネットワークで検索されていますが、一般的な結論は出ていません。実験を通じて、SE モジュールがネットワークの末端に近いほど、モデルの精度が向上することがわかりました。次の表には、いくつかの実験結果も示されています。

最後に、PP-LCNet の SE モジュールの位置は、表の 3 行目のソリューションを採用します。

より大きな畳み込みカーネル

MixNet の論文では、著者は畳み込みカーネルのサイズがモデルのパフォーマンスに与える影響を分析し、一定の範囲内では大きな畳み込みカーネルでモデルのパフォーマンスを向上できるが、この範囲を超えるとモデルのパフォーマンスが損なわれるという結論を出しました。そこで著者は、MixConv の分割連結パラダイムを組み合わせました。この組み合わせはモデルのパフォーマンスを向上させることができますが、推論には役立ちません。実験を通じて、いくつかの大きな畳み込みカーネルをさまざまな位置に配置した場合の効果をまとめました。SE モジュールの位置と同様に、大きな畳み込みカーネルはネットワークの中央と後方でより顕著な効果を発揮します。次の表は、5x5 畳み込みカーネルの位置が精度に与える影響を示しています。

実験では、より大きな畳み込みカーネルをネットワークの中央と後方に配置すると、すべての位置に配置するのと同じ精度を達成しながら、推論速度を速めることができることが示されています。 PP-LCNet は最終的に表の 3 行目のソリューションを選択しました。

GAPの後に、より大きな1x1畳み込み層を使用する

GoogLeNet 以降では、GAP (Global-Average-Pooling) が分類層に直接接続されることが多くなりますが、軽量ネットワークでは、GAP 後に抽出された特徴がさらに融合および処理されなくなります。その後に、より大きな 1x1 畳み込み層 (FC 層に相当) を使用すると、GAP 後の特徴は分類層を直接通過せず、最初に融合され、融合された特徴が分類されます。これにより、モデルの推論速度に影響を与えることなく、精度を大幅に向上させることができます。

BaseNet に上記の 4 つの改良を加えた結果、PP-LCNet が得られました。次の表は、各オプションが結果にどのように影響するかをさらに示しています。

下流タスクのパフォーマンスが驚くほど向上

画像分類

画像分類には ImageNet データセットを使用しました。現在主流の軽量ネットワークと比較すると、PP-LCNet は同じ精度でより高速な推論速度を実現できます。 Baidu が独自に開発した SSLD 蒸留戦略を使用すると、精度がさらに向上します。Intel CPU 側で約 5ms の推論速度で、ImageNet の Top-1 Acc は 80% を超えます。素晴らしい! ! !

物体検出

ターゲット検出方法としては、軽量なターゲット検出シナリオに重点を置いた、Baidu が開発した PicoDet を選択しました。次の表は、COCO データセットで PP-LCNet と MobileNetV3 をバックボーンとして使用した結果の比較を示しています。精度や速度のいずれの点でも、 PP-LCNet の利点は非常に明白です

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

セマンティックセグメンテーション手法としてDeeplabV3+を選択しました。次の表は、Cityscapes データセットにおける PP-LCNet と MobileNetV3 の比較を示しています。精度と速度の面でも、PP-LCNet の利点は明らかです。

実際の拡張アプリケーションの結果の説明

PP-LCNet はダウンストリームのコンピューター ビジョン タスクでは非常に優れたパフォーマンスを発揮しますが、実際の使用シナリオではどのようなパフォーマンスを発揮するのでしょうか。このセクションでは、PP-OCR v2 および PP-ShiTu でのパフォーマンスについて簡単に説明します。

PP-OCR v2では、認識モデルのバックボーンをMobileNetV3からPP-LCNetに置き換えるだけで、速度が向上し、精度がさらに向上します。

PP-ShiTuではBackboneのResNet50_vdをPP-LCNet-2.5xに置き換えたところ、Intel-CPU側では速度が3倍速くなり、recall@1はResNet50_vdと基本的に同じになりました。

PP-LCNet は極端な FLOP や Params を追求するのではなく、詳細な技術的詳細に焦点を当て、Intel CPU に適したモジュールを追加してモデルのパフォーマンスを向上させ、精度と推論時間のバランスを改善する方法を辛抱強く分析します。実験の結論は、他のネットワーク構造設計の研究者にも非常に適しており、NAS 検索の研究者に、より小さな検索空間と一般的な結論も提供します。

論文が発表されて以来、PP-LCNetは国内外の学界や産業界から幅広い注目を集めています。さまざまなバージョンの複製、あるいは大きな探究的意義と実用的価値を持つさまざまな視覚タスクアプリケーションや技術分析記事の登場など、シンプルなモデルの実用的な最適化ソリューションが再びすべての人の視野に入り、まさに「生活」をより良くするというテクノロジーの本来の意図を実践しています。PP-LCNetの実際の実装と応用におけるさらなるパフォーマンスに期待しています。

上記の論文へのリンクは次のとおりです: https://arxiv.org/pdf/2109.15099.pdf

この論文の全体的な研究アイデアは、Baidu PaddleClas チームによって提案され、実装されました。 PaddleClas は世界初のオープンソース汎用画像認識システムを提供し、業界と学術界に効率的で便利な開発ツールを提供することを目指しており、開発者によりスムーズで高品質なユーザーエクスペリエンスをもたらし、より優れた PaddlePaddle ビジョンモデルをトレーニングし、業界のシナリオで実用的なアプリケーションを実現します。

PaddleClas の詳細情報とチュートリアルについては、GitHub をご覧ください: https://github.com/PaddlePaddle/PaddleClas

<<:  フロントエンドではアルゴリズムを理解する必要はないと思いますか?実際の例を見てみましょう。

>>:  人工知能がサイバー防御を強化

ブログ    
ブログ    

推薦する

ChatGPTネットワーキング機能が正式に開始され、Plusメンバーが利用可能になりました

10月19日、チャットボットChatGPTはリリース以来、インターネットにアクセスできず、2021年...

清華大学、DeepMindなどは、既存の小サンプル学習法は安定的かつ効果的ではないと指摘し、評価フレームワークを提案した。

評価基準の違いにより、統一基準に基づく既存の小規模学習法の公平な比較が大きく妨げられており、この分野...

動的プログラミングアルゴリズムのルーチンをマスターするにはどうすればいいですか?

[[358211]] DP と呼ばれる動的プログラミングは、非常に洗練された複雑なアルゴリズムとい...

...

LK-99は今もメロンを生産中:元のサンプルは韓国エネルギー技術研究所に届けられ、薄膜プロセスは最後の懸案

中国科学院物理研究所とプリンストン大学による2本の否定的な論文の発表により、LK-99に対する人々の...

文字列マッチングのためのKMPアルゴリズム

文字列の照合は、コンピューターの基本的なタスクの 1 つです。たとえば、「BBC ABCDAB AB...

メーター読み取りシステムにおける無線データ伝送モジュールの応用

周知のとおり、従来の手動メーター読み取り方法は時間がかかり、労働集約的であり、その正確性と適時性は保...

IDCは、年平均成長率31.4%で、世界のAIソフトウェアの収益は2027年に2,790億ドルに達すると予測している。

11月2日、市場調査会社IDCが発表した最新の予測レポートによると、世界のAIソフトウェア市場規模...

教育を強化するための人工知能の新たな方向性とは?

AlphaGoが数年前にプロの囲碁プレイヤーに勝利して以来、人工知能はメディアで最もよく使われる言...

AI で非構造化データの力を引き出す方法

ほぼすべての業界がデジタル化しており、「データは新たな石油である」とよく言われます。しかし、十分に認...

中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?外国人は信じられないと言う

写真は人工知能中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?多くの中国人は...

...

...

AIロボットが大規模に導入されると、私たちはより良くなるのでしょうか?

人工知能の波が大きな変化を引き起こすには、4年という時間は十分あります。 2016年に北京の大学の講...

...