GoogleNetは、Imagenetデータベースから100万枚以上の画像でトレーニングされている畳み込みニューラルネットワークです。その結果、ネットワークは幅広い画像の豊富な機能表現を学習しました。ネットワークは、キーボード、マウス、鉛筆、多くの動物など、画像を1000のオブジェクトカテゴリに分類できます。
ネットワークの画像入力サイズは224 x-224 by-3です。
このリポジトリには、MATLAB(R2018B以上)とディープラーニングツールボックスが必要です。
このリポジトリは3つの機能を提供します。
訓練されていないGoogleNetネットワークを構築してゼロからトレーニングするには、MATLABコマンドラインで以下を入力してください。
lgraph = googlenetLayers ;
訓練されていないネットワークはlayerGraph
オブジェクトとして返されます。
画像分類で使用するのに適した訓練されたGoogleNetネットワークを構築するには、MATLABコマンドラインで以下を入力してください。
net = assembleGoogLeNet ;
訓練されたネットワークは、 DAGNetwork
オブジェクトとして返されます。
ネットワークで画像を分類するには:
img = imresize(imread( " peppers.png " ),[ 224 224 ]);
predLabel = classify( net , img );
imshow( img );
title(string( predLabel ));
GoogleNetの事前訓練モデルの詳細については、Matlab Deep Learning ToolboxドキュメントのGoogleNet関数ページを参照してください。
GoogleNetは残留ネットワークです。残差ネットワークは、メインネットワークレイヤーをバイパスする残留(またはショートカット)接続を持つDAGネットワークの一種です。残留接続により、パラメーター勾配が出力層からネットワークの以前のレイヤーまでより簡単に伝播できるため、より深いネットワークをトレーニングできます。このネットワークの深さの増加は、より困難なタスクのより高い精度をもたらす可能性があります。
ディープネットワークデザイナーを使用して、ネットワークアーキテクチャを探索および編集できます。
このリポジトリは、Matlabのゼロから残留深いニューラルネットワークの構築を示しています。このリポジトリのコードを、さまざまな数の残差ブロックを持つ残差ネットワークを構築するための基盤として使用できます。
また、GoogleNetネットワークサポートパッケージ用のディープラーニングツールボックスモデルをインストールすることにより、Matlab内からトレーニングを受けたGoogleNetネットワークを作成することもできます。コマンドラインでgooglenet
を入力します。 GoogleNetネットワークサポートパッケージのディープラーニングツールボックスモデルがインストールされていない場合、この関数はアドオンエクスプローラーの必要なサポートパッケージへのリンクを提供します。サポートパッケージをインストールするには、リンクをクリックし、[インストール]をクリックします。
または、GoogleNetネットワークのDeep Learning Toolboxモデルで、MathWorks File ExchangeからGoogleNet事前訓練モデルをダウンロードすることもできます。
トレーニングされたGoogleNetネットワークをDEEPネットワークデザイナーアプリにインポートし、エクスポート> [コードの生成]を選択することにより、MATLAB内から非訓練を受けていないGoogleNetネットワークを作成できます。エクスポートされたコードは、GoogleNetのネットワークアーキテクチャを使用して、訓練されていないネットワークを生成します。