Main Content

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

ベイズ最適化を使用した実験ハイパーパラメーターの調整

この例で,実験マネージャーベイズ最をし,畳み込みニューラルネットワークに最适なパーパーパラメーターパラメーターとと学习学习学习オプションオプションを方法方法をを说明说明しします。。ベイズ最适最适化化化化,実験実験実験実験ハイハイハイパーパーパーパーパーパーパーの范囲を指定し,最适化するする选択选択ししますますます。。。するするする,选択选択ししたたたメトリクスメトリクスメトリクスをを最适化化化化するするするハイハイハイハイパーのパラメーター组み合わせ组み合わせ组み合わせ组み合わせをををををををををををををををを実験実験実験実験実験™が必要。。

cifar-10データデータデータデータセットイメージ分类するよう学习学习させせますますますこの実験では,,ベイズベイズ适化化をを使用,,,关数关数关数关数关数关数ををを最小は学习のに加えネットワークアーキテクチャ自体のパラメーターもますます。。カスタムカスタムメトリクスメトリクスメトリクス关数关数は,ランダムランダムにに选択选択さされれたたテストテストセットセットのののの分类误差求めますますますます,メトリクス関数を使用した深層学習実験の評価を参照しください。

あるいは、関数贝叶斯を呼び出すことで、最適なハイパーパラメーター値をプログラムによって見つけることもできます。詳細については、ベイズ最化をした深层学习を参照しください。

実験を开く

まず、例を開きます。実験マネージャーによって、検証と実行が可能な事前構成済みの実験を含むプロジェクトが読み込まれます。実験を開くには、[実験]ペインで実験の(贝叶斯特色)をダブルします。

組み込みの学習実験は、説明、ハイパーパラメーターのテーブル、セットアップ関数、および実験の結果を評価するためのメトリクス関数の集合で構成されます。ベイズ最適化を使用する実験には、実験の期間を制限する追加のオプションが含まれます。詳細については、深层学习実験构成を参照しください。

[説明]フィールドに実験说明するテキスト表示れます。例例の说明は次次ののますますます

Find optimal hyperparameters and training options for convolutional neural network. Hyperparamters determine the network section depth, initial learning rate, stochastic gradient descent momentum, and L2 regularization strength.

[ハイパー]セクションで,実験使用する(Bayesian Optimization) とハイパーパラメーターのオプションを指定します。各ハイパーパラメーターについて、次のオプションを指定します。

  • 範囲- 実数値値のハイパーパラメーター下限と上限上限ををををををを要素要素ベクトルベクトルベクトルベクトルベクトル,,,,,またはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたはまたは

  • -real(実数値ハイパラメーター),integer(整数値ハイパラメーター),またはcategorical(分类ハイパラメーター)を选択ます。

  • 変換-没有任何(変换なし)またはlog(対数変換) を選択します。logの場合、ハイパーパラメーターはrealまたはintegerで正なりん。パーが検索さ,対数スケールででモデル化化され

実験実行,実験マネージャーはパーパーの最适な组み合わせししますます。。実験実験の试行试行ではは,,のの试行の结果结果てててパラメーターパラメーターパラメーターパラメーターパラメーターパラメーターパラメーター値値値ハイパーを使用し。。

  • SectionDepth- このパラメーターのさをしますネットワーク内层の合计数は9*SectionDepth+7です。実験セットアップ関数において、各層の畳み込みフィルターの数は1/sqrt(pectionDepth)に比例,数と反复必要计算は,,セクション深さがが异なる场合场合でもほぼほぼ同じ同じ

  • InitialLearnRate-最適な学習率は、学習させるネットワークにもよりますが、データにも左右されます。

  • 势头-確率的勾配降下モーメンタムは、前の反復での更新に比例する寄与を現在の更新に含めることによって、パラメーター更新に慣性を追加します。慣性効果により、パラメーター更新がより円滑に行われるようになり、確率的勾配降下に固有のノイズが低減されます。

  • L2Regularization- l2正则をし过适合をし。正の空间空间を検索検索して,适切适切な値値をを。。。データ拡张

[ベイズ最適化オプション],最大时间(秒単位)ととと回数入力ことで,,実験実験のの期间を指定できできます。。ベイズ最适最适化化のの能力能力以上行うがあります。

[セットアップ関数]は,のデータ,ネットワーク,学习オプションをしします。セットアップ关数关数ををははは[セットアップ関数][编集]をクリックし。MATLAB® エディターでセットアップ関数が開きます。

この例はセットアップ关数にはははつのつのがあり。。

  • 学習データの読み込みでは、CIFAR-10 データ セットからイメージとラベルをダウンロードして抽出します。このデータセットは約 175 MB です。インターネット接続の速度によっては、ダウンロード プロセスに時間がかかることがあります。学習データについて、この例では、ランダムな平行移動と水平方向の反転を適用することにより、增生模构达塔斯塔尔を作成します。データ拡張は、ネットワークで過適合が発生したり、学習イメージの正確な詳細が記憶されたりすることを防止するのに役立ちます。ネットワーク検証を有効にするために、この例では 5000 枚のイメージを拡張なしで使用します。このデータセットの詳細については、イメージ データセットを参照しください。

  • ネットワーク アーキテクチャの定義では,による用の畳み込みニューラルネットワークアーキテクチャ定义ますます。このこのこの例ででででは,学习対象対象対象のののににににににににににににににににつのSectionDepthの同一层があり。各畳み込み层の后にバッチバッチ正规正规正规正规化层とととととととと层层层层が続きますます。。空间空间空间の出力出力サイズサイズサイズがが入力入力入力入力サイズ同じ同じセクション间は最大プーリング层层系数系数系数はでで次元次元次元ますます。。。各各畳み込み畳み込み畳み込み畳み込み层层でで必要な计算计算计算量量量がががが确実にほぼほぼほぼ同じ同じ同じと2倍ずつ倍ずつ倍ずつし。各畳み込みのフィルターのはは1/sqrt(pectionDepth)に比例。により,深さのネットワークパラメーター数がほぼ同じ同じにになりなり,反复ごとに必要必要ととなるなるなる计算计算

  • 学習オプションの指定では、ベイズ最適化アルゴリズムによって生成された学習オプション“初始删除”“动量”“ l2reginalization”の値使用し,ののtrainingOptionsオブジェクトを定義します。この例では、ネットワークの学習を一定のエポック数行い、最後の方のエポックでは、エポックごとに検証を行い、学習率を 10 分の 1 に下げます。これにより、パラメーター更新のノイズが減少し、ネットワーク パラメーターが安定して損失関数が最小値に近づくようになります。

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

この例は,カスタム关数关数ErrorRate5000枚,,ますます。この,枚枚テストラベルラベルををランダムランダムにに选択选択し,学习学习ししたたネットワークネットワークをそれらののイメージで评価评価评価,がががが

functionmetRicOutput = errorrate(air ininfo)
datadir = tempdir;[〜,〜,xtest,ytest] = loadCifardata(datadir);
idx = randperm(numel(ytest),5000);Xtest = XTest(:,:,:,:,IDX);ytest = ytest(idx);
YPredicted = classify(trialInfo.trainedNetwork,XTest); metricOutput = 1 - mean(YPredicted == YTest);
结尾

[最適化]フィールドと[方向]フィールドはアルゴリズムが目的としてするメトリクスをます。このこの実験のの场合,,実験,ErrorRateメトリクスのを化しとします。

実験の実行

実験を実行すると、実験マネージャーは、選択されたメトリクスについて、ハイパーパラメーターの最適な組み合わせを検索します。実験の各試行では、前の試行の結果に基づいてハイパーパラメーター値の新しい組み合わせが使用されます。既定では、実験マネージャーは一度に 1 つの試行を実行します。Parallel Computing Toolbox™ がある場合は、複数の試行を同時に実行できます。最良の結果を得るには、実験を実行する前に、GPU と同じ数のワーカーで並列プールを起動します。詳細については、実験マネージャー使用しネットワークの并列学习リリース別の GPU サポート(并行计算工具箱)を参照しください。

  • 一度度つののを実行するは,[実験マネージャー]ツールツール[実行]をクリックし。

  • 複数の試行を同時に実行するには、[並列の使用][実行]のにし。现在并列プールがない场合,はは既定既定ののクラスタークラスタークラスタープロファイルプロファイルを使用ししてて并列并列プールプールをを起动起动ししますます。。。。次に実験マネージャーマネージャーマネージャーマネージャー复数の试行を実行。。

テーブルに试行のメトリクスの値が表示されます実験実験マネージャーマネージャーははは,,,选択选択さされたたたメトリクスメトリクスががが最最最适値适値であるであるである试行试行试行をををを示し示し示し示し示し示し示し示しますなってい。

実験は选択れたが最适なる试行决定するために,,基准基准基准“最小观察”を使用ます。详细,,ベイズ最適化のアルゴリズム(统计和机器学习工具箱)最佳点(统计和机器学习工具箱)を参照しください。

结果の评価

実験内で最適な試行をテストするには、まず、結果テーブル内で誤差率が最も低い行を選択します。

选択し试行混同行列表示するには,[混同]をクリックし。

追加の実行には,学习のをワークスペースにします。

  1. [実験]ツールストリップで,[エクスポート]をクリックし。

  2. ダイアログでエクスポートたネットワークワークスペースの名前入力します。既定既定ははは训练的网络です。

  3. エクスポートしネットワークを补助关数testSummaryへの使用します。たとえば,,コマンドコマンドウィンドウのように入力しますます。。

Testsummary(Trainednetwork)

この关数,か方法でネットワーク评価します。

  • テストセットラベル予测予测,テスト误差计算します実験マネージャーははネットワークネットワークにににテストテストセット全体全体当てる当てることなくなくなく最适最适なネットワークネットワークErrorRateの値もなる可能があります。

  • 標準誤差 (TestErrorse) と、汎化誤差率の近似した 95% 信頼区間 (testError95CI)を计算。计算で,テストののイメージをを特定特定のの成功成功成功确率をもつ独立独立事象としてとして扱い扱いますます。この仮定仮定仮定ををを使用することに従い。この方法,,“ wald法”と呼ばれ。

  • この方法,かのテストを予测されたクラスおよびそのクラスクラスである确率ととますますに

matlabコマンドコマンドコマンドウィンドウ,の量の概要を表示し。。

************************************************
Test error rate: 0.1801 Standard error: 0.0038 95% confidence interval: [0.1726, 0.1876]
************************************************

実験结果観测を记录するに注釈を追加し。。

  1. 結果テーブルで、最適な結果が得られた試行の[ErrorRate]セルをクリックします。

  2. [注釈の]を选択し。

  3. [注釈]ペインでテキストに観测を入力します。

詳細については、実験结果并べ替えと处理处理を参照しください。

実験を閉じる

[実験]ペインでの名前右クリックし,[プロジェクトを閉じる]を选択し。実験マネージャーによって、プロジェクトに含まれるすべての実験と結果が閉じられます。

参考

アプリ

关数

関連するトピック