NetInitialize
NetInitialize[net]
net 中の初期化されていない学習可能なすべてのパラメータに初期値が与えられたネットを与える.
NetInitialize[net,All]
学習可能なすべてのパラメータに初期値が与えられたネットを与える.
詳細とオプション
- NetInitialize[net,All]は,net 中に既存の訓練パラメータあるいは設定済みの学習可能パラメータがあれば,それを上書きする.
- NetInitializeは,重みを表すパラメータにランダムな値を,バイアスを表すパラメータに0を割り当てることが多い.
- 次の任意のパラメータを含めることができる.
-
Method "Kaiming" どの初期化メソッドを使うか RandomSeeding 1234 擬似乱数生成器のシード - 以下はMethodの可能な設定である.
-
"Kaiming" 層を介して伝播される際に,「Kaiming He et al (2015)」で導入されたメソッドを使って配列の分散を維持する重みを選ぶ "Xavier" 層を介して伝播される際に,「Xavier Glorot et al (2014)」で導入されたメソッドを使って配列の分散を維持する重みを選ぶ "Orthogonal" 直交行列になるように重みを選ぶ "Random" 指定された一変量分布から重みを選ぶ "Identity" アフィン層を通して伝播される際に,配列成分を保存する重みを選ぶ - 特定のメソッドについてのサブオプションはMethod{"method",opt1val1,…}で指定することができる.
- メソッド"Kaiming"と"Xavier"については以下のサブオプションがサポートされている.
-
"Distribution" "Normal" "Normal"または"Uniform" - メソッド"Random"については以下のサブオプションがサポートされている.
-
"Weights" NormalDistribution[0,1] 重み行列の初期化に使うランダム分布 "Biases" None バイアスベクトルの初期化に使うランダム分布 - メソッド"Identity"については以下のサブオプションがサポートされている.
-
"Distribution" NormalDistribution[0,0.01] 対称性を破るために初期恒等行列にノイズを加えるために使われるランダム分布 - 分布を期待する任意のサブオプションについて,数値 stddev を指定してNormalDistribution[0,stddev]を意味するとすることができる.
- デフォルトで,どのメソッドもバイアスベクトルを0に初期化する.
- RandomSeedingの可能な設定には以下がある.
-
Automatic 関数が呼ばれるたびに自動的にシードし直す Inherited 外部でシードされた乱数を使う seed 明示的な整数または文字列をシードとして使う
例題
すべて開くすべて閉じるオプション (1)
特性と関係 (2)
NetTrainは,訓練が始まる前に自動的にNetInitializeを呼び出す.単純な層の重みとバイアスは訓練前には初期化される:
長さ1のベクトルを長さ1のベクトルにマップするネットを作る:
"Identity"メソッドを使ってネットを初期化する.結果として線形層を通過する際に配列成分を保存しようとするネットができる:
考えられる問題 (2)
特定の層に属するパラメータには,NetInitializeのMethodオプションとは無関係に,固定された初期化メソッドがある:
デフォルトで,NetInitializeはRandomSeeding1234を使う.こうすると,NetInitializeが繰り返し呼ばれるたびに同じ乱数シードを使ってネットが初期化される:
RandomSeedingAutomaticを使って呼び出しのたびに異なる初期化がおこなわれるルようにする:
テキスト
Wolfram Research (2016), NetInitialize, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetInitialize.html (2022年に更新).
CMS
Wolfram Language. 2016. "NetInitialize." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/NetInitialize.html.
APA
Wolfram Language. (2016). NetInitialize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetInitialize.html