主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

メトリクス关节を使使た深层习実験のの

この例では,メトリクス関数を使用して実験の結果を評価する方法を説明します。既定では,深層学習実験を実行すると,実験マネージャーによって,実験実験におけるにおける各试损失,精选(分析),および平方英平均二乘(回帰回帰のの合)が计算されます。その他のれますするは,自称の计算するに,独自称メトリクス关键词。たとえば,メトリクス关键をし次次行ことができことができ。

  • 学習済みネットワークの予測性能をテスト。

  • 最終エポックにおける検証損失の勾配を計算することによって学習の進行状況を評価。

  • 試行ごとに異なるネットワークアーキテクチャを使用する実験で使用されるネットワークのサイズを表示。

各各行习习すると,実験マネージャーによってメトリクス关键词され,その値がテーブルに表示れます。

この例では,手書きの数字のイメージを分類するようネットワークに学習させます。2つのメトリクス関数により,学習済みネットワークが1と7の数字のイメージをどの程度適切に識別するかを判定します。実験マネージャーを使用してイメージ分類用ネットワークに学習させる詳細については,分享ネットワークに学习させるためのハイパーパラメーターののを参照してください。

メトリクス関数の定義

メトリクス关关を実験にしします。

1.[実験]ペインの[メトリクス]で,[追加]をクリックします。

2.[メトリクスの追加)ダイアログダイアログで,メトリクス关圈名称をを力して[好的]をクリックします。既にプロジェクトに存在する関数の名前を入力した場合,実験マネージャーによってその関数が実験に追加されます。そうでない場合は,既定のテンプレートによって定義された関数が実験マネージャーによって作成されます。

3 .メトリクス関数の名前を選択して[編集]をクリックします。MATLAB® エディターでメトリクス関数が開きます。

メトリクス関数への入力は,以下の3つのフィールドをもつ结构体です。

  • trainedNetworkは,关节trainNetworkによって返されるSeriesNetworkオブジェクトまたはDAGNetworkオブジェクトオブジェクト。详细详细について,を参照してください。

  • trainingInfoは,关节trainNetworkによって返される学習情報を含む结构体です。詳細については,信息を参照してください。

  • 参数は,ハイパーパラメーターテーブルのフィールドをもつ结构体です。

カスタムメトリクス関数の出力は,スカラー数,逻辑値,または字符串でなければなりません。

実験を開く

まず,例を开き。実験マネージャーによって,検证検证実行が可な事前成済み実験を含むプロジェクト読み込ま読み込ま。(実験ブラウザー]ペインで,実験の名前(ClassificationExperiment)をダブルクリックします。

実験の定義は,説明,ハイパーパラメーターのテーブル,セットアップ関数,および実験の結果を評価するためのメトリクス関数の集合で構成されます。詳細については,深層学習実験の構成を参照してください。

[说明]ボックスには,実験を説明するテキストが表示されます。この例の説明は次のようになります。

数字分类,使用度量函数评价结果:—OnesAsSevens返回误分类为7s的1的百分比。- SevensAsOnes返回误分类为1的7s的百分比。

[ハイパーパラメーター]セクションでは,実験で使用する手法(详尽的扫描)とハイパーパラメーター値を指定します。実験を実行すると,実験マネージャーは,ハイパーパラメーターテーブルで指定されたハイパーパラメーター値のすべての組み合わせを使用してネットワークに学習させます。この例は,ハイパーパラメーターInitialLearnRateおよび动力を使用します。

[セットアップ関数)は,実験用の学習データ,ネットワークアーキテクチャ,および学習オプションを構成します。セットアップ関数を検査するには,[セットアップ関数)[編集]をクリックします。MATLABエディターでセットアップ関数が開きます。

この例では,セットアップ関数には3つのセクションがあります。

  • イメージデータの読み込みでは,学習データと検証データを含むイメージデータストアを定義します。この例では,数字データセットからイメージを読み込みます。このデータセットの詳細については,イメージデータセットを参照してください。

  • ネットワークアーキテクチャの定義では,深層学習による分類用の畳み込みニューラルネットワークのアーキテクチャを定義します。この例では,セットアップ関数テンプレートによって指定された既定の分類用ネットワークを使用します。

  • 学習オプションの指定では,実験用の培训选项オブジェクトを定義します。この例では,ハイパーパラメーターテーブルから学習オプション“InitialLearnRate”“动量”の値を読み込みます。

[メトリクス]セクションは,実験結果を評価するオプションの関数を指定します。ネットワークの学習が完了するたびに,実験マネージャーによってこれらの関数が評価されます。メトリクス関数を検査するには,メトリクス関数の名前を選択して[編集]をクリックします。MATLABエディターでメトリクス関数が開きます。

この例には2つのメトリクス关键词れれいます。

  • OnesAsSevensは,学習済みネットワークが数字1のイメージを7に誤分類した割合を返します。

  • SevensAsOnesは,学習済みネットワークが数字イメージの7を1に誤分類した割合を返します。

これらの関数はそれぞれ,学習済みネットワークを使用して数字データセット全体を分類します。その後,これらの関数は,実際のラベルと予測されたラベルが一致しないイメージの数を判定します。たとえば,関数OnesAsSevensは,実际のラベルが'1'で,予測されたラベルが“7”であるイメージの数を計算します。

功能metricOutput = SevensAsOnes (trialInfo)
实际Value=“7”;predValue ='1'
网= trialInfo.trainedNetwork;
digitDatasetPath = fullfile (matlabroot,'工具箱'“nnet”...“nndemos”“nndatasets”“DigitDataset”);imds = imageageataStore(DigitDatasetPath,...'insertumbfolders',真的,...'labelsource'“foldernames”);
YActual = imds.Labels;YPred =分类(净、imd);
K = sum(YActual == actualValue & YPred == predValue);N = sum(YActual == actualValue);
metricOutput = 100 * K / N;
结束

同様に,関数SevensAsOnesは,実际のラベルが“7”で,予測されたラベルが'1'であるイメージの数を計算します。

実験の実行

実験を実行すると,実験マネージャーはセットアップ関数で定義されたネットワークに6回学習させます。試行ごとに,ハイパーパラメーター値の異なる組み合わせが使用されます。既定では,実験マネージャーは一度に1つの試行を実行します。并行计算工具箱™がある場合は,複数の試行を同時に実行できます。最良の結果を得るには,実験を実行する前に,GPUと同じ数のワーカーで並列プールを起動します。詳細については,実験マネージャーを使用したネットワークの並列学習を参照してください。

  • 一度に1つの実験の試行を実行するには,[実験マネージャー]ツールストリップで[実行]をクリックします。

  • 复数の试行をを同行する実ははは[并列の实用][実行]の順にクリックします。現在の並列プールがない場合,実験マネージャーは既定のクラスタープロファイルを使用して並列プールを起動します。次に,実験マネージャーは,使用可能な並列ワーカーの数に応じて,複数の同時試行を実行します。

结果テーブルに,各各行の关键词値が表示されます。

結果の評価

実験で得られた最良の結果を見つけるには,結果テーブルを並べ替えます。たとえば1の誤分類の回数が最も小さい試行を見つけるには次のようにします。

  1. (OnesAsSevens)列をポイントします。

  2. 三角形のアイコンをクリックします。

  3. [昇順に並べ替え]を選択します。

同様に,7のの分のの最も小さい试行を见つけるはは(SevensAsOnes)列のドロップダウンメニューを開いて[昇順に並べ替え]を選択します。

両方向关关数が同に最はなるががメトリクスに対する顺位が良いを优先しててたとえばたとえば优先して见るとたとえば优先结果て见るとたとえば同结果を见るとと同同に対するて见ると试同同顺位てとと同同同顺位てとください同同同顺位とと同酒店をもっています。

実験を閉じる

(実験ブラウザー]ペインでプロジェクトの名前を右クリックし,[プロジェクトを闭じる]を选択します。実験実験マネージャー,プロジェクトに含まれるすべてのと结果が闭じられます。

参考

||

関連するトピック