近年のImagenetデータセットに基づくPytorchの画像分類モデルについてまとめる。
アレックスネット (2012年)
AlexNetは、物体検出と画像分類のアルゴリズムを評価するImageNet Large-Scale Visual Recognition Challenge ( ILSVRV ) において、2012年にAlex Krizhevskyによって提案された。
AlexNetは全部で8つの層から構成されている
最初の5層は畳み込み層で、最後の3層は完全連結層です。
最初の2つの畳み込み層は、最大数の特徴を抽出するために、オーバーラップする最大プーリング層に接続される。
第3、4、5畳込み層は完全連結層に直接接続される。
畳み込み層と完全連結層のすべての出力は、ReLu非線形活性化関数に接続される。
最後の出力層はソフトマックス活性化層に接続され、1000個のクラスラベルの分布が生成される。
VGG(2014年)
VGGは、人気のあるニューラルネットワークのアーキテクチャです
2014年にオックスフォード大学のKaren SimonyanとAndrew Zissermanによって提唱された。
AlexNetに対するVGGの主な改良点は、大きなカーネルサイズのフィルタを使用することである
(第1畳み込み層と第2畳み込み層でそれぞれサイズ11と5)、複数(3×3)のカーネルサイズフィルタ。
グーグルネット(2014年)
2014年、22層の深層を持つアーキテクチャ「GoogleNet」が誕生しました。
27層のプーリング層を含む。合計で9つのInceptionモジュールが直線的に積み重ねられています。Inceptionモジュールの終端は、グローバル平均プーリング層に接続されています。
GoogleNetアーキテクチャの全体像の縮小画像はこちらです。
レスネット(2015年)
ディープニューラルネットワークのトレーニングは時間がかかる上にオーバーフィットしやすいため、マイクロソフトは残差学習のフレームワークを導入し、従来よりも深いネットワークのトレーニングを改善しました。
ResNetは、PyTorchの公式コードでは深さの異なる計5つの構造体を持っています
深さは18、34、50、101、152である(各種ネットワークの深さは、畳み込み層、完全接続層など、学習パラメータで更新"する必要がある層数を指す)。
インセプション v3 (2015年)
VGGNetと比較すると
Inception Networksは、次のような場合に計算効率が高いことが示されています。
Inception v3ネットワークのアーキテクチャは段階的に構築されており、アーキテクチャ図はクリックすると拡大表示されます。
スクイーズネット(2016年)
SqueezeNetはより小さなネットワーク
AlexNetに比べ、パラメータ数は50倍近く少ないが、性能は3倍速い。
上図の左端に示すように、SqueezeNetは標準的な畳み込み層から始まり、8つのFireモジュールが続き、最後にもう一つの畳み込み層で終わります。
最初の畳み込み層、4番目のFireモジュール、8番目のFireモジュール、最後の畳み込み層と、2段階のプーリングが続く。
中間ネットワーク構造は、同じ数の特徴マップチャンネルを持つFireモジュール間の残差ネットワークにジャンプ接続を導入している。
一番右のネットワーク構造は、真ん中の構造をベースに、1×1畳み込みでチャンネル数を同じになるように調整し、異なる特徴マップのチャンネル数の場合はそれらを足し合わせています。
デンスネット(2016年)
DenseNetは、従来のディープCNNと比較して大きなアドバンテージがあります。
複数の層を通過した情報は、ネットワークの末端に到達した時点で洗い流されたり失われたりすることはありません。これは、シンプルな接続モデルによって実現されている。
[...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...]
関連
-
K8sandra入門チュートリアル - Linux上のKubernetesにK8sandraをデプロイする
-
Burpsuite Intruder Moduleの詳細。
-
Win10でVScodeのリモート開発 ssh-remote(パスワード不要のログイン)を設定する
-
roolupを使ったライブラリの構築(ステップバイステップの実装)
-
TCPとUDPのプロトコルの原理と違いについての深い理解
-
ハミングコードの符号化原理の解析と検証方法
-
[解決済み】ターミナルで"-"破線のファイル名を開くには?
-
[解決済み】「collect2: error: ld returned 1 exit status」とはどういう意味ですか?
-
[解決済み】スタイルシートとして解釈されるリソースがMIMEタイプtext/htmlで転送される(Webサーバーとは関係ないようです)。
-
VScodeでfortranを使用するための設定
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Xmind無償起動方法(推奨)について
-
UTC時間、GMT時間、ローカル時間、Unixタイムスタンプの具体的な使用方法
-
Visual Studioを使ったファイル差分比較の問題点まとめ
-
Centos7でVscodeが反応しない不具合とその解決方法
-
MacでHomebrewのイメージソースを置き換える方法
-
12 バックエンド管理システム開発のためのフロントエンドフレームワーク(要約)
-
Visual Studio 2019 ネイティブで Azure Functions を実行できない場合の解決方法
-
5G帯の精緻化
-
C1ミッション01:ゲームアーカイブスの改造方法
-
NoVNCがVNCのリモート接続をWebベースで実現する方法