LinearLayer
LinearLayer[n]
サイズ n の出力ベクトルで を計算する,訓練可能で完全に結合されたネット層を表す.
LinearLayer[{n1,n2,…}]
次元 n1×n2×…の配列を出力する層を表す.
出力配列の次元がコンテキストから推測されるようにする.
LinearLayer[n,opts]
初期重みやその他のパラメータについてのオプションを含む.
詳細とオプション
- 次の任意のパラメータを含むことができる.
-
"Biases" Automatic バイアス(w.x+b の b)の初期ベクトル "Weights" Automatic 重み(w.x+b の w)の初期行列 LearningRateMultipliers Automatic 重みおよび/またはバイアスに適用する学習率乗数 - 重みとバイアスは,明示的に指定されていないあるいはAutomaticとして与えらえている場合は,NetInitializeあるいはNetTrainが使われたときに自動的に加えられる.
- 設定"Biases"->Noneは,バイアスを使用しないように指定する.
- 重みとバイアスが加えられると,LinearLayer[…][input]は層を適用した結果を明示的に計算する.
- LinearLayer[…][{input1,input2,…}]は,各 inputiについて明示的に出力を計算する.
- NumericArrayが入力として与えられると,出力はNumericArrayになる.
- NetExtractを使ってLinearLayerオブジェクトから重みとバイアスを抽出することができる.
- LinearLayerはNetChainやNetGraph等の中で使われることが多い.
- LinearLayerはNetGraph等で使うために次のポートを開放する.
-
"Input" 配列 "Output" サイズ n1×n2×…の配列 - LinearLayer[{}]は,LinearLayerが単一の実数を生成するように指定する.
- LinearLayer[n,"Input"->m]はLinearLayerの最も一般的な使い方で,長さ m のベクトルを取って長さ n のベクトルを生成するLinearLayerを表す
- より大きいネットのそれ以前の層から推測できない場合は,オプション"Input"shape を使ってLinearLayerの入力を固定することができる.次は,使用可能な shape の形である.
-
"Real" 単一の実数 m 長さ m のベクトル {m1,m2,…} 次元 m1×m2×…の配列 NetEncoder[…] エンコーダ - Options[LinearLayer]は層を構築する際のデフォルトオプションのリストを与える.Options[LinearLayer[…]]はデータについて層を評価する際のデフォルトオプションのリストを与える.
- Information[LinearLayer[…]]は層についてのレポートを与える.
- Information[LinearLayer[…],prop]はLinearLayer[…]の特性 prop の値を与える.使用可能な特性はNetGraphと同じである.
例題
すべて開くすべて閉じる例 (2)
スコープ (11)
引数 (2)
ポート (6)
層の"Input"ポートが長さ3のベクトルを取ると指定する:
"Input"ポートと"Output"ポートを明示的に指定する:
完全に定義された"Input"ポートと"Output"ポートを持つLinearLayerは初期化できる:
クラスを取ってそのワンホットエンコーディングベクトルを生成するNetEncoderを定義する:
画像を取って28×28行列を生成するNetEncoderを定義する:
パラメータ (3)
"バイアス" (1)
LinearLayerをバイアスなしで定義して初期化する:
これはDotに等しい:
オプション (2)
LearningRateMultipliers (2)
凍結した重みとバイアスがあるLinearLayerを作る:
重みは凍結しているがバイアスは層ではないLinearLayerを作る:
アプリケーション (1)
特性と関係 (2)
考えられる問題 (3)
LinearLayerは,すべての入出力次元が分かるまで初期化できない:
LinearLayerは記号入力を取れない:
出力サイズが n で入力サイズが m のLinearLayerは,n×m 次元の重み行列を持つ:
n と m が大きすぎる場合は,そのようなLinearLayerを含むネットの初期化あるいは訓練には,システムメモリあるいはGPUメモリが足りないかもしれない:
テキスト
Wolfram Research (2016), LinearLayer, Wolfram言語関数, https://reference.wolfram.com/language/ref/LinearLayer.html (2020年に更新).
CMS
Wolfram Language. 2016. "LinearLayer." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/LinearLayer.html.
APA
Wolfram Language. (2016). LinearLayer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LinearLayer.html