メインコンテンツ

piecewiseLearnRate

区分的学習率スケジュール

R2024b 以降

    説明

    区分的学習率スケジュール オブジェクトは、指定された係数を乗算して学習率を定期的に下げます。

    ヒント

    既定のオプションで区分的学習率スケジュールを簡単に使用するには、trainingOptions 関数の LearnRateSchedule 引数を "piecewise" として指定します。

    作成

    説明

    schedule = piecewiseLearnRate は、piecewiseLearnRate オブジェクトを作成します。

    この構文は、trainingOptions 関数の LearnRateSchedule 引数を "piecewise" に設定することと等価です。

    schedule = piecewiseLearnRate(Name=Value) は、1 つ以上の名前と値の引数を使用して、オプションのプロパティを指定します。たとえば、DropFactor=0.5 は、学習率を半分にすることを指定します。

    プロパティ

    すべて展開する

    学習率を下げるために使用されるスケーリング係数。範囲 (0,1) のスカラーとして指定します。

    FrequencyUnit"epoch" である場合、ソフトウェアは Period エポックごとに学習率を更新します。FrequencyUnit"iteration" である場合、ソフトウェアは Period 回の反復ごとに学習率を更新します。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    学習率を更新するまでのステップ数。正の整数として指定します。

    FrequencyUnit"epoch" である場合、ソフトウェアは Period エポックごとに学習率を更新します。FrequencyUnit"iteration" である場合、ソフトウェアは Period 回の反復ごとに学習率を更新します。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    頻度の単位。"epoch" または "iteration" として指定します。

    FrequencyUnit"epoch" である場合、ソフトウェアは Period エポックごとに学習率を更新します。FrequencyUnit"iteration" である場合、ソフトウェアは Period 回の反復ごとに学習率を更新します。

    この プロパティ は読み取り専用です。

    学習率を下げるまでのステップ数。Inf として指定します。

    piecewiseLearnRate オブジェクトの学習率スケジュールは無期限であるため、NumStepsInf です。

    データ型: double

    すべて折りたたむ

    既定の設定で区分的学習率スケジュールを作成します。

    schedule = piecewiseLearnRate
    schedule = 
      piecewiseLearnRate with properties:
    
           DropFactor: 0.1000
               Period: 10
        FrequencyUnit: "epoch"
             NumSteps: Inf
    
    

    このスケジュールを学習オプションとして指定します。

    options = trainingOptions("adam",LearnRateSchedule=schedule);

    区分的学習率スケジュール オブジェクトを作成する代わりに、既定のオプションで区分的学習率スケジュールを簡単に使用するには、trainingOptions 関数の LearnRateSchedule 引数を "piecewise" として指定します。

    options = trainingOptions("adam",LearnRateSchedule="piecewise");

    100 回の反復ごとに学習率を半分にする区分的学習率スケジュールを作成します。

    schedule = piecewiseLearnRate( ...
        DropFactor=0.5, ...
        Period=100, ...
        FrequencyUnit="iteration")
    schedule = 
      piecewiseLearnRate with properties:
    
           DropFactor: 0.5000
               Period: 100
        FrequencyUnit: "iteration"
             NumSteps: Inf
    
    

    このスケジュールを学習オプションとして指定します。

    options = trainingOptions("adam",LearnRateSchedule=schedule);

    アルゴリズム

    すべて展開する

    バージョン履歴

    R2024b で導入