Main Content

googlenet

(非推奨) GoogLeNet 畳み込みニューラル ネットワーク

  • GoogLeNet network architecture

googlenet は推奨されません。代わりに関数 imagePretrainedNetwork を使用し、"googlenet" モデルを指定してください。詳細については、バージョン履歴を参照してください。

説明

GoogLeNet は、深さが 22 層の畳み込みニューラル ネットワークです。ImageNet [1]データ セットまたは Places365 [2] [3]データ セットのいずれかで学習させた事前学習済みのネットワークを読み込むことができます。ImageNet で学習させたネットワークは、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、鉛筆、多くの動物など) に分類します。Places365 で学習させたネットワークは ImageNet で学習させたネットワークと似ていますが、イメージを 365 個の異なる場所カテゴリ (野原、公園、滑走路、ロビーなど) に分類します。これらのネットワークは広範囲にわたるイメージについてのさまざまな特徴表現を学習しています。どちらの事前学習済みのネットワークもイメージ入力サイズは 224 x 224 です。MATLAB® の他の事前学習済みのネットワークについては、事前学習済みの深層ニューラル ネットワークを参照してください。

net = googlenet は、ImageNet データ セットで学習させた GoogLeNet ネットワークを返します。

この関数には、Deep Learning Toolbox™ Model for GoogLeNet Network サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

net = googlenet('Weights',weights) は、ImageNet データ セットまたは Places365 データ セットのいずれかで学習させた GoogLeNet ネットワークを返します。構文 googlenet('Weights','imagenet') (既定) は googlenet と等価です。

ImageNet で学習させたネットワークには、Deep Learning Toolbox Model for GoogLeNet Network サポート パッケージが必要です。Places365 で学習させたネットワークには、Deep Learning Toolbox Model for Places365-GoogLeNet Network サポート パッケージが必要です。必要なサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

lgraph = googlenet('Weights','none') は、未学習の GoogLeNet ネットワーク アーキテクチャを返します。未学習のモデルは、サポート パッケージを必要としません。

すべて折りたたむ

Deep Learning Toolbox Model for GoogLeNet Network サポート パッケージをダウンロードしてインストールします。

コマンド ラインで googlenet と入力します。

googlenet

Deep Learning Toolbox Model for GoogLeNet Network サポート パッケージがインストールされていない場合、関数によってアドオン エクスプローラーに必要なサポート パッケージへのリンクが表示されます。サポート パッケージをインストールするには、リンクをクリックして、[インストール] をクリックします。コマンド ラインで googlenet と入力して、インストールが正常に終了していることを確認します。必要なサポート パッケージがインストールされている場合、関数によって DAGNetwork オブジェクトが返されます。

googlenet
ans = 

  DAGNetwork with properties:

         Layers: [144×1 nnet.cnn.layer.Layer]
    Connections: [170×2 table]

ディープ ネットワーク デザイナーを使用してネットワークを可視化します。

deepNetworkDesigner(googlenet)

ディープ ネットワーク デザイナーで [新規] をクリックし、事前学習済みの他のニューラル ネットワークを探索します。

Deep Network Designer start page showing available pretrained neural networks

ニューラル ネットワークをダウンロードする必要がある場合は、目的のニューラル ネットワークで [インストール] をクリックしてアドオン エクスプローラーを開きます。

入力引数

すべて折りたたむ

ネットワーク パラメーターのソース。'imagenet''places365'、または 'none' として指定します。

  • weights'imagenet' の場合、ネットワークの重みは ImageNet データ セットで学習させた重みになります。

  • weights'places365' の場合、ネットワークの重みは Places365 データ セットで学習させた重みになります。

  • weights'none' の場合、未学習のネットワーク アーキテクチャが返されます。

例: 'places365'

出力引数

すべて折りたたむ

事前学習済みの GoogLeNet 畳み込みニューラル ネットワーク。DAGNetwork オブジェクトとして返されます。

未学習の GoogLeNet 畳み込みニューラル ネットワーク アーキテクチャ。LayerGraph オブジェクトとして返されます。

参照

[1] ImageNet. http://www.image-net.org.

[2] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba, and Aude Oliva. "Places: An image database for deep scene understanding." arXiv preprint arXiv:1610.02055 (2016).

[3] Places. http://places2.csail.mit.edu/

[4] Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. “Going Deeper with Convolutions.” In 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 1–9. Boston, MA, USA: IEEE, 2015. https://doi.org/10.1109/CVPR.2015.7298594.

拡張機能

バージョン履歴

R2017b で導入

すべて折りたたむ

R2024a: 非推奨

googlenet は推奨されません。代わりに関数 imagePretrainedNetwork を使用し、モデルとして "googlenet" を指定してください。

関数 googlenet のサポートを削除する予定はありません。ただし、関数 imagePretrainedNetwork には、転移学習ワークフローに役立つ機能が追加されています。たとえば、データに含まれるクラスの数を numClasses オプションで指定すると、この関数は、修正することなくそのまま再学習が可能なネットワークを返します。

関数 googlenet の代表的な使用法と、代わりに関数 imagePretrainedNetwork を使用するためのコードの更新方法を、次の表に示します。

非推奨推奨
net = googlenet;net = imagePretrainedNetwork("googlenet");
net = googlenet(Weights="places365");net = imagePretrainedNetwork("googlenet-places365")
net = googlenet(Weights="none");net = imagePretrainedNetwork("googlenet",Weights="none");

imagePretrainedNetworkdlnetwork オブジェクトを返します。これには次の利点もあります。

  • dlnetwork オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。

  • dlnetwork オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。

  • 関数 trainnetdlnetwork オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。

  • dlnetwork オブジェクトを使用した学習と予測は、通常、LayerGraphtrainNetwork を使用したワークフローよりも高速です。

dlnetwork オブジェクトとして指定されたニューラル ネットワークに学習させるには、関数 trainnet を使用します。