Main Content

alexnet

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

  • AlexNet network architecture

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

説明

AlexNet は、深さが 8 層の畳み込みニューラル ネットワークです。100 万個を超えるイメージで学習させた事前学習済みのネットワークを、ImageNet データベース[1]から読み込むことができます。この事前学習済みのネットワークは、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、鉛筆、多くの動物など) に分類できます。結果として、このネットワークは広範囲のイメージに対する豊富な特徴表現を学習しています。ネットワークのイメージ入力サイズは 227 x 227 です。MATLAB® の他の事前学習済みのネットワークについては、事前学習済みの深層ニューラル ネットワークを参照してください。

実際の深層学習の各種手法を無料でお試しいただくには、ディープ ラーニング入門をご覧ください。

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

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

MATLAB の他の事前学習済みのネットワークについては、事前学習済みの深層ニューラル ネットワークを参照してください。

net = alexnet('Weights','imagenet') は、ImageNet データセットで学習させた AlexNet ネットワークを返します。この構文は、net = alexnet と等価です。

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

すべて折りたたむ

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

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

alexnet

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

alexnet
ans = 

  SeriesNetwork with properties:

    Layers: [25×1 nnet.cnn.layer.Layer]

必要なサポート パッケージがインストールされている場合、関数によって SeriesNetwork オブジェクトが返されます。

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

deepNetworkDesigner(alexnet)

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

Deep Network Designer start page showing available pretrained neural networks

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

出力引数

すべて折りたたむ

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

未学習の AlexNet 畳み込みニューラル ネットワーク アーキテクチャ。配列 Layer として返されます。

ヒント

参照

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

[2] Russakovsky, O., Deng, J., Su, H., et al. "ImageNet Large Scale Visual Recognition Challenge." International Journal of Computer Vision (IJCV). Vol 115, Issue 3, 2015, pp. 211–252

[3] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "ImageNet Classification with Deep Convolutional Neural Networks." Communications of the ACM 60, no. 6 (May 24, 2017): 84–90. https://doi.org/10.1145/3065386

[4] BVLC AlexNet Model. https://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet

拡張機能

バージョン履歴

R2017a で導入

すべて折りたたむ

R2024a: 非推奨

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

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

関数 imagePretrainedNetwork は、ネットワークを dlnetwork オブジェクトとして返しますが、このオブジェクトにはクラス名が格納されていません。事前学習済みのネットワークのクラス名を取得するには、関数 imagePretrainedNetwork の 2 番目の出力引数を使用します。

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

非推奨推奨
net = alexnet;[net,classNames] = imagePretrainedNetwork("alexnet");
net = alexnet(Weights="none");net = imagePretrainedNetwork("alexnet",Weights="none");

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

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

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

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

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

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