説明する単層パーセプトロンモデル

次の図に示す単純な単層パーセプトロンモデルの

すべての入力のための左入力層、 バツ バツ 、上付き文字0は層0(すなわち、入力層)を表し、添え字は、0〜N N + 1個の要素を発現しました。中間重量について ワット J W_ {IJ} 、上位階層のノード番号を表し J J 次の層のノード数を表します。密接にそれぞれの和を追いました Σ \和 、および P \シグマ 機能。Eを比較T(ターゲット)の出力値、エラーまたは損失の背後を表します

我々は単層パーセプトロン勾配式について推論次

まず、定義します E L インクルード S S = 1 2 ザ・ 0 1 - トン ) 2 E(損失)= \ FRAC {1} {2}(O_0 ^ 1-T)^ 2 、どこの追加 1 2 \ FRAC {1} {2} 値の確立が結果の単調さを変更しないので、問題ありませんが、便宜上、ここではプラスがあるだろう、スワップオフセットパラメータ導出2を容易にすることです

KaTeXパースエラー:いいえ、そのような環境:8位の整列*:\ {ALIGN *}始める\ FRAC {\ nabl ...
因为 σ ( x ) x = σ ( 1 σ ) x x \ FRAC {\ナブラ\シグマ(X)} {\ナブラX} = \シグマ*(1- \シグマ)\ FRAC {\ナブラX} {\ナブラX}

従って
KaTeX解析エラー:このような環境:
ALIGN * 8位に:\ {ALIGN *}(O ^ 1_0 - t)を開始... \ 、したがって E w j 0 = ( O 0 1 t ) O 0 1 ( 1 O 0 1 ) x j 0 \ FRAC {\ナブラE} {\ナブラW_ {J0}} =(O ^ 1_0 - T)O ^ 1_0(1-O ^ 1_0)X ^ 0_j

結果から分かります L o s s 損失 重量に w ワット 勾配のみ出力ノード O 0 1 ^ 1_0 そして、入力ノード x バツ について

import torch
import torch.nn.functional as F
x = torch.randn(1, 10) # dim=2,len=10, x为[1,10]的tensor
w = torch.randn(1, 10, requires_grad=True) # w为[1,10]的tensor
o = torch.sigmoid(x@w.t()) # o为[1,1]的tensor
# [1,10]*[1,10]T => [1,10]*[10,1] => [1,1]

print("o:",o)

loss = F.mse_loss(input=o, target=torch.ones(1, 1))
# 将shapa为[1,1]的计算结果与全为1的[1,1]矩阵进行mse计算

print('loss:', loss)
print('loss shape:', loss.shape) # 得到的loss为标量

loss.backward()
print('w.grad:', w.grad)
公開された167元の記事 ウォンの賞賛162 ビュー120 000 +

おすすめ

転載: blog.csdn.net/qq_37236745/article/details/103956028