实现一个两层全连接网络的前向传播和反向传播。
网络结构:输入 x(1×din)→ 第一层 W1(din×dh)+b1 → ReLU → 第二层 W2(dh×dout)+b2 → 输出 y^(1×dout)。
损失函数:均方误差 L=dout1∑j(y^j−yj)2。
给定输入 x、权重 W1,b1,W2,b2 和目标 y,计算:
第一行包含三个整数 din,dh,dout(1≤din,dh,dout≤8)。
第二行 din 个浮点数,表示输入 x。
接下来 din 行,每行 dh 个浮点数,表示 W1。
一行 dh 个浮点数,表示 b1。
接下来 dh 行,每行 dout 个浮点数,表示 W2。
一行 dout 个浮点数,表示 b2。
一行 dout 个浮点数,表示目标 y。
第一行:dout 个浮点数,表示预测值 y^,保留 4 位小数。
第二行:损失值 L,保留 4 位小数。
接下来 din 行,每行 dh 个浮点数,表示 ∂W1∂L,保留 4 位小数。
一行 dh 个浮点数,表示 ∂b1∂L,保留 4 位小数。
接下来 dh 行,每行 dout 个浮点数,表示 ∂W2∂L,保留 4 位小数。
一行 dout 个浮点数,表示 ∂b2∂L,保留 4 位小数。
输入
2 3 1
1.0 2.0
0.5 0.3 0.1
0.2 0.4 0.6
0.0 0.0 0.0
0.5
0.3
0.1
0.0
0.0
1.0
输出
0.2800
0.5184
0.0720 0.0432 0.0144
0.1440 0.0864 0.0288
0.0720 0.0432 0.0144
0.6480 0.2160 0.0720
-0.7200 -0.2400 -0.0880
-1.4400
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册