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)