Pythonのnn.linearはどんな機能がありますか。

nn.Linear は、PyTorch内のクラスであり、線形変換(線形層)の操作を定義するために使用されます。

具体来说,nn.Linear は、入力テンソルの各要素に重み行列を乗算し、バイアスベクトルを加える線形マッピングを定義するために使用される。その機能は、入力データを線形変換することで要約される。

  1. 線形変換:入力テンソルを重み行列と乗算して、出力テンソルを得ます。 入力テンソルの形状は(batch_size、input_size)であり、重み行列の形状は(output_size、input_size)です。 出力テンソルの形状は(batch_size、output_size)です。
  2. バイアスの追加:出力テンソルにバイアスベクトルを加える。バイアスベクトルの形状は(output_size,)であり、各サンプルの出力にブロードキャストされる。
  3. nn.Linearを使用して線形層を作成すると、重み行列とバイアスベクトルが自動的に作成され、それらはモデルのパラメータリストに保存されます。
  4. PyTorchの自動微分機能により、nn.Linearは重み行列とバイアスベクトルの勾配を自動的に計算し、最適化できます。

nn.Linearは通常、ニューラルネットワークモデルにおいて、入力特徴量を出力特徴量にマッピングするために使用される全結合層(全結合ニューラルネットワーク)です。

bannerAds