RandomProperty

SAMACTの学習可能パラメータの初期値が従う分布を指定するためのクラスです。

このオブジェクトは、下記のクラスのパラメータとして利用します。

クラス定義

class RandomProperty(initializer=None, dist='uniform')

import記述例

from samact import RandomProperty

クラス要素

Parameters

本クラスは、重み初期化の手法(initializer)と分布(dist)を指定します。 現在サポートされる値は以下の通りです。

initializerOptional[str], default=None

重み初期化の手法を指定します。

  • None: 既定の初期化(呼び出し側のデフォルトやフレームワーク既定を使用)

  • ‘xavier’: Xavier初期化を使用(層の入出力ユニット数に基づくスケーリングを行う一般的な初期化)

  • ‘kaiming’: He Kaimingの初期化を使用(ReLU 系活性化関数での分散維持を考慮し、入力ユニット数に基づいてスケーリングを行う初期化)

Note

SAMACTにおける活性化関数はStep関数のため、より最適な手法が存在する可能性があります。

diststr, default=’uniform’

初期値を生成する際の乱数分布を指定します。

  • ‘uniform’: 一様分布

  • ‘normal’ : 正規分布

Examples

Xavier 初期化 + 一様分布を重みの初期値に使う場合の例です。

rp = RandomProperty(initializer='xavier', dist='uniform')
layer = SAMLayer((省略), weightDist=rp)