目录

一、什么是前馈神经网络?

二、数学表达式是什么?

三、为什么需要“非线性函数”?

四、NumPy 实现前馈神经网络代码示例

五、 运行结果

六、代码解析

6.1 初始化部分

6.2 前向传播

6.3 计算损失(Loss)

6.4 反向传播(手动)

6.5 更新参数(梯度下降)

6.6 循环训练

七、训练过程可视化(思维图)

八、关键问题答疑

Q1:为什么需要隐藏层?

Q2:ReLU 是干嘛的?

Q3:学习率怎么选?

九、总结

学习建议


在机器学习中,神经网络就像一个“会学习的函数”,而前馈神经网络(Feedforward Neural Network)则是最基础、最核心的一种结构。本文将带你从结构原理、数学公式、实现细节一步步理解“单隐藏层”的前馈网络。


一、什么是前馈神经网络?

前馈神经网络的特点是:

信息单向流动,从输入层 → 隐藏层 → 输出层,没有循环或反馈连接。

最简单的一种结构如下图所示:

输入层          隐藏层(ReLU)      输出层
x(输入) ──► w1 ──► ReLU ──► w2 ──► y_pred(预测)

 你可以把它理解成一个两步变换:

  1. 线性变换 1x → w1

  2. 非线性激活:ReLU

  3. 线性变换 2:隐藏层输出 → w2 → 预测值


 

二、数学表达式是什么?

假设:

  • 输入特征维度是 dim_in

  • 隐藏层维度是 hidden_dim

  • 输出维度是 dim_out

我们定义:

  • 输入数据:x ∈ ℝ^(batch_size × dim_in)

  • 权重矩阵:

    • w1 ∈ ℝ^(dim_in × hidden_dim)

    • w2 ∈ ℝ^(hidden_dim × dim_out)

前向传播公式:

h = x @ w1                  # 第一步:线性变换
h_relu = ReLU(h)            # 第二步:非线性激活
y_pred = h_relu @ w2        # 第三步:输出层线性变换

 其中:

ReLU(z) = max(0, z)

 即负数变为0,正数保留。


三、为什么需要“非线性函数”?

如果没有 ReLU,两个线性变换其实可以合并成一个矩阵乘法:

x @ w1 @ w2 = x @ w3   # 等效于一个线性变换

 这样网络就失去了非线性建模能力。ReLU 等激活函数的存在,是神经网络能“拟合复杂函数”的关键!


四、NumPy 实现前馈神经网络代码示例

import numpy as np# batch size是批量大小;dim_in是输入大小
# hidden_layer是隐层的大小;dim_out是输出大小batch_size = 60
dim_in = 1000
hidden_layer = 100
dim_out = 10# 随机产生输入与输出
x = np.random.randn(batch_size, dim_in)
y = np.random.randn(batch_size, dim_out)# 随机初始化参数
w1 = np.random.randn(dim_in, hidden_layer)
w2 = np.random.randn(hidden_layer, dim_out)learning_rate = 1e-6 #学习率:e-6 = 0.000001 是一个非常小的学习率
for t in range(500):# 前向计算yh = x.dot(w1)h_relu = np.maximum(h, 0)y_pred = h_relu.dot(w2)# 计算lossloss = np.square(y_pred - y).sum()print(t, loss)# 反向计算梯度grad_y_pred = 2.0 * (y_pred - y)grad_w2 = h_relu.T.dot(grad_y_pred)grad_h_relu = grad_y_pred.dot(w2.T)grad_h = grad_h_relu.copy()grad_h[h < 0] = 0grad_w1 = x.T.dot(grad_h)# 更新参数w1 -= learning_rate * grad_w1w2 -= learning_rate * grad_w2

五、 运行结果

0 31802913.59711115
1 27862669.940934084
2 25041416.34665305
3 20640849.588396948
4 15087301.103141088
5 9844669.593496926
6 6049742.674245879
7 3699122.960253565
8 2368085.6044881023
9 1621768.9999920807
10 1188992.819770149
11 920447.5235605075
12 740807.1376283981
13 612145.3188978288
14 514705.5694336676
15 437800.75185547443
16 375550.4994679776
17 324226.0013918109
18 281414.5595043778
19 245350.51283714588
20 214781.66049475834
21 188693.01738335588
22 166331.02382850024
23 147057.66813775746
24 130372.0760115491
25 115874.92937036144
26 103236.34580226504
27 92188.65212177529
28 82497.74591004035
29 73972.29116012575
30 66453.88210675835
31 59807.95565152481
32 53922.74009309074
33 48696.468874729
34 44043.78842847229
35 39897.40938714743
36 36192.72952379745
37 32881.222911419376
38 29912.920804400706
39 27246.050159921753
40 24844.118152219373
41 22679.159706167917
42 20725.118857534137
43 18959.35709327193
44 17361.09639462803
45 15912.21380914335
46 14597.397472164323
47 13403.287174699626
48 12317.120715892159
49 11327.963654371699
50 10426.545234414367
51 9604.127200974479
52 8853.158791478138
53 8168.93280440142
54 7542.6608044879895
55 6968.996588383261
56 6443.037310604382
57 5960.506414401112
58 5517.4320262423425
59 5110.1600773415785
60 4735.513365426887
61 4390.702785605697
62 4073.2990153810606
63 3780.928637073434
64 3511.1590500742914
65 3262.262949969219
66 3032.384186569493
67 2819.991821524453
68 2623.632186407818
69 2441.9646580452236
70 2273.775854509076
71 2118.0034594937424
72 1973.665619169338
73 1839.8562544909523
74 1715.7182837748542
75 1600.5126668971034
76 1493.5527644299332
77 1394.2122471150428
78 1301.9394631174582
79 1216.335314311364
80 1136.7398485528051
81 1062.6204385473764
82 993.612450734805
83 929.362697529916
84 869.5064558211744
85 813.731637857344
86 761.7341206626454
87 713.2633382804415
88 668.0362485681171
89 625.8170105180482
90 586.4092654486831
91 549.605831661645
92 515.231047199808
93 483.1152413009638
94 453.10580613925544
95 425.0462974237418
96 398.8007080906175
97 374.2590703332922
98 351.2954947955823
99 329.80033956825855
100 309.68024900783837
101 290.8443899089443
102 273.19851756881746
103 256.6691636122595
104 241.18290361059178
105 226.6691663487253
106 213.0629310407298
107 200.30609484238812
108 188.3477701204942
109 177.125789090684
110 166.59808757657473
111 156.7191850562956
112 147.44614999869572
113 138.74131169950806
114 130.56986742407457
115 122.89772025993098
116 115.68910445368162
117 108.91918973749847
118 102.56047471033048
119 96.5831941807449
120 90.967035462952
121 85.68717817216626
122 80.7234420313078
123 76.05481952242808
124 71.66620153538615
125 67.53758167141103
126 63.65318898584177
127 59.999076378378334
128 56.56086183675922
129 53.32567418293749
130 50.28033726167378
131 47.41310908182531
132 44.70448321783478
133 42.15592621331682
134 39.75630908289999
135 37.496991338871815
136 35.36963033838846
137 33.366187599643325
138 31.479308818008846
139 29.70193936918237
140 28.027230859478365
141 26.44968186655459
142 24.963046042136426
143 23.562321730319045
144 22.241830951778866
145 20.996926430338434
146 19.823452002432568
147 18.717422228633854
148 17.67435813163915
149 16.690503204898853
150 15.76287985981186
151 14.887751449814015
152 14.062146355015631
153 13.283400194595085
154 12.548734711782961
155 11.855512164131758
156 11.201378439359555
157 10.584214540042273
158 10.001536944302227
159 9.451672893522225
160 8.932572592099003
161 8.442495850015938
162 7.979816946387869
163 7.5432524944169135
164 7.13091488538908
165 6.741437779001373
166 6.373682019776972
167 6.02633674757954
168 5.6981891638471485
169 5.388291721021924
170 5.095533368405709
171 4.818953241516447
172 4.557671920079116
173 4.310731156609181
174 4.077415972644754
175 3.8569519089727935
176 3.6486160999536157
177 3.4517155427683224
178 3.2656253398948505
179 3.089724111450937
180 2.9234344916002044
181 2.7662840969546325
182 2.6177031596891975
183 2.4772138748637946
184 2.3443674358368587
185 2.2187273280204627
186 2.0999512612521642
187 1.9876065329842025
188 1.8813550412857811
189 1.7809058053391327
190 1.6858737156368528
191 1.5959946327097854
192 1.5109725009413622
193 1.4305263016087912
194 1.3544294434067439
195 1.282451021725154
196 1.2143381087541516
197 1.1498918006151821
198 1.0889042447693447
199 1.0312009559405393
200 0.9766016358261971
201 0.9249599529392429
202 0.8760595568485051
203 0.8297721716028166
204 0.7859628943282888
205 0.7444943145777809
206 0.7052344892484222
207 0.6680832299658699
208 0.6329090217550289
209 0.5996021728664945
210 0.5680733020111599
211 0.5382190537440837
212 0.5099529880569806
213 0.48319963912815755
214 0.45785685017641214
215 0.43385896160687876
216 0.4111386240605488
217 0.3896181736878225
218 0.36923750319531146
219 0.34993519676861856
220 0.33165095707346187
221 0.314331294513814
222 0.2979289006429905
223 0.282398983029271
224 0.26768078121806854
225 0.25373798570032857
226 0.24052652880908543
227 0.22801208505468928
228 0.21615535383593443
229 0.20492378480272846
230 0.19428135659342516
231 0.18419405471680889
232 0.1746366238405904
233 0.16557937294857505
234 0.15699720057847372
235 0.14886621818196866
236 0.1411585604746986
237 0.13385390788271168
238 0.12693024876027403
239 0.12036883334445284
240 0.11415069420913446
241 0.10825794261161627
242 0.10267061968478475
243 0.09737390311441976
244 0.09235312837862564
245 0.087593740090925
246 0.0830823943436006
247 0.07880633544704217
248 0.07475172844129639
249 0.07090645829025279
250 0.06726127607186388
251 0.0638052354066526
252 0.06052801383907144
253 0.05742046861889627
254 0.05447513273019535
255 0.05168078573727829
256 0.04903164242414225
257 0.046518857040723
258 0.04413593768432386
259 0.04187597805508968
260 0.03973280482497978
261 0.037700580339928444
262 0.03577274145343304
263 0.033944260459066664
264 0.03221002883490959
265 0.030565103572368503
266 0.029005450152877622
267 0.027525690273484005
268 0.02612171439511704
269 0.024789845790938778
270 0.02352644209817506
271 0.022328112777489896
272 0.02119109957536843
273 0.02011250820948681
274 0.01908972546251681
275 0.01811878755436474
276 0.017197668026636498
277 0.016323580155296946
278 0.015494275307769744
279 0.014707626865057324
280 0.013961146888082815
281 0.013252658795015478
282 0.012580376850963828
283 0.011942380970353389
284 0.011337050786504082
285 0.010762615331565674
286 0.010217442620419497
287 0.009700048476176
288 0.009209015005295619
289 0.008743063914064007
290 0.00830079789562362
291 0.007881090049369877
292 0.007482863310689919
293 0.007104741067817669
294 0.006745881310106875
295 0.0064052229280060005
296 0.006081882464660905
297 0.00577494150311747
298 0.005483632015744061
299 0.0052070843473717
300 0.004944555914305707
301 0.004695350946217612
302 0.0044587868925615535
303 0.004234357250900503
304 0.004021170428828347
305 0.003818841664008364
306 0.003626677064852193
307 0.003444252145867361
308 0.0032710320315975693
309 0.003106565476324248
310 0.0029504249995014166
311 0.0028021967964894498
312 0.002661432790110562
313 0.0025277830326929803
314 0.002400875685370796
315 0.002280390780283942
316 0.0021659815437142424
317 0.002057352231068933
318 0.0019542125112607094
319 0.0018562506796565845
320 0.0017632234210104608
321 0.0016748767260031281
322 0.001590977878105458
323 0.001511308978229976
324 0.0014356487962760454
325 0.00136379373551704
326 0.0012955499976566886
327 0.0012307467283780987
328 0.0011691981995367463
329 0.0011107368584169276
330 0.0010552330564509874
331 0.0010025121063436781
332 0.0009524258692544249
333 0.0009048535091540999
334 0.0008597005446571409
335 0.0008167850160683086
336 0.0007760177549937489
337 0.0007372932962456634
338 0.0007005107649490502
339 0.000665576369659209
340 0.0006323891450099216
341 0.000600862492346459
342 0.0005709151467133703
343 0.0005424812175655973
344 0.0005154574422725749
345 0.0004897829025717045
346 0.00046539467401643945
347 0.0004422268054683758
348 0.0004202159139724301
349 0.0003993049959073562
350 0.0003794397872115326
351 0.0003605669705357083
352 0.0003426361366397225
353 0.0003256007160947051
354 0.0003094172208779314
355 0.0002940421756585992
356 0.00027943617403704686
357 0.00026555486739258255
358 0.00025236665992773265
359 0.00023983454825590847
360 0.00022792730770783559
361 0.00021661437081645806
362 0.00020586513100568558
363 0.00019565035974674806
364 0.00018594471270624293
365 0.000176723445208882
366 0.00016795994430273203
367 0.00015963337782530846
368 0.0001517275539276351
369 0.00014421040985711602
370 0.00013706455819106474
371 0.0001302743106607912
372 0.00012382226779548573
373 0.0001176900338359785
374 0.00011186270067889316
375 0.00010632526261202345
376 0.00010106289697884404
377 9.606168208348533e-05
378 9.130866667679243e-05
379 8.679234336241218e-05
380 8.249999456550884e-05
381 7.842067674092583e-05
382 7.45443419110057e-05
383 7.085920960332567e-05
384 6.735685124501332e-05
385 6.402830734412548e-05
386 6.086479698207039e-05
387 5.7857925365965886e-05
388 5.500000388889879e-05
389 5.2284174037321924e-05
390 4.9702453540481626e-05
391 4.7248663640145366e-05
392 4.4916904149123065e-05
393 4.2700116382073766e-05
394 4.059346916060993e-05
395 3.859090935382623e-05
396 3.6687282106802257e-05
397 3.487771412116357e-05
398 3.3157737731131725e-05
399 3.152288996584813e-05
400 2.996875794549964e-05
401 2.8491465927160866e-05
402 2.7087532687666482e-05
403 2.575352597790541e-05
404 2.448471086445722e-05
405 2.3278645685332488e-05
406 2.2132031728684212e-05
407 2.10423442694837e-05
408 2.0006229536901454e-05
409 1.9021204669995866e-05
410 1.8084776047297077e-05
411 1.719465920098826e-05
412 1.6348422880929777e-05
413 1.5543915880875718e-05
414 1.4779130685608716e-05
415 1.4052109899892033e-05
416 1.336097414947876e-05
417 1.2703878208505998e-05
418 1.2079175773983917e-05
419 1.1485267270950844e-05
420 1.0920807908278039e-05
421 1.0383995733575947e-05
422 9.873608285972606e-06
423 9.388381552669514e-06
424 8.927092497434697e-06
425 8.488473546786367e-06
426 8.071471838416779e-06
427 7.675027328261622e-06
428 7.2981227833149334e-06
429 6.939736801339232e-06
430 6.599003440153725e-06
431 6.2750170691319805e-06
432 5.967007078748734e-06
433 5.6742090296503115e-06
434 5.395719752970813e-06
435 5.130937645253952e-06
436 4.87920158901866e-06
437 4.639815906406285e-06
438 4.412213573149531e-06
439 4.195802711971161e-06
440 3.990123950961278e-06
441 3.7945252328289855e-06
442 3.608471977769138e-06
443 3.4315515007454395e-06
444 3.2633306394668312e-06
445 3.103405459620941e-06
446 2.9513181726355295e-06
447 2.8066876022389856e-06
448 2.6691538259105404e-06
449 2.5383753494089284e-06
450 2.4140235252178024e-06
451 2.2957701135496723e-06
452 2.183333776488385e-06
453 2.07641109961365e-06
454 1.974724731070076e-06
455 1.8780278346758207e-06
456 1.786082848996655e-06
457 1.698639821470484e-06
458 1.6155178969931476e-06
459 1.5364439298679826e-06
460 1.4612462682268666e-06
461 1.3897382233661123e-06
462 1.3217350417736695e-06
463 1.2570680137975212e-06
464 1.195578286864945e-06
465 1.1370905886940199e-06
466 1.0814704022876013e-06
467 1.0285784650087478e-06
468 9.7827440574436e-07
469 9.304371896482364e-07
470 8.849516701658213e-07
471 8.416914919557603e-07
472 8.005446696067948e-07
473 7.614111160484979e-07
474 7.241936240771875e-07
475 6.888036578125152e-07
476 6.551438266808347e-07
477 6.231298681746073e-07
478 5.926835268639461e-07
479 5.637450957389969e-07
480 5.362068835505084e-07
481 5.100125712310269e-07
482 4.851009928096027e-07
483 4.6141620299303607e-07
484 4.3888189005498683e-07
485 4.174501142456302e-07
486 3.97066914639174e-07
487 3.77681684529433e-07
488 3.592442323894331e-07
489 3.4170694626234404e-07
490 3.250269793717848e-07
491 3.091632431964455e-07
492 2.9407350013526166e-07
493 2.7972264887504744e-07
494 2.660725994291934e-07
495 2.530911152051592e-07
496 2.4074548883860325e-07
497 2.2899987883379698e-07
498 2.178288956329781e-07
499 2.072046279815824e-07

六、代码解析

6.1 初始化部分

batch_size = 60         # 每次训练输入的样本数(小批量)
dim_in = 1000           # 输入特征维度
hidden_layer = 100      # 隐藏层神经元数量
dim_out = 10            # 输出维度x = np.random.randn(batch_size, dim_in)  # 输入样本(模拟数据)
y = np.random.randn(batch_size, dim_out) # 目标输出(模拟标签)w1 = np.random.randn(dim_in, hidden_layer)  # 输入层到隐藏层的权重
w2 = np.random.randn(hidden_layer, dim_out) # 隐藏层到输出层的权重learning_rate = 1e-6 #学习率:e-6 = 0.000001 是一个非常小的学习率

 模拟一个形如:输入层 → ReLU → 输出层 的两层神经网络。

【参数选择策略】


batch_size(批大小)

概念:

每次用于训练的样本数,影响模型 收敛速度、稳定性、显存占用

常见设置:

  • 小批量:16, 32

  • 中等批量:64, 128

  • 大批量:256, 512+

建议:

情况建议
数据量小可以用 16~64
数据量大,显卡充足可用 128 或更大
CPU 训练建议小一些(如 16~32)
GPU 训练尽量大一点,充分利用显存
不知道怎么选试试 32 或 64,是比较平衡的起点

dim_in(输入维度)

概念:

特征的数量。比如:

  • 文本用 embedding 后可能是 300~768

  • 图像如 28×28 灰度图就是 784

  • 这里是 1000 → 模拟高维特征

建议:

这个参数 应该由实际数据决定,不要随意设置。

情况举例
文本输入(BERT等)通常为 768
图像28×28(如MNIST)784
人工生成测试数据任意(如 1000)
若仅测试网络结构500~1000 都可以

hidden_layer(隐藏层神经元数)

概念:

中间层神经元数量,影响模型表达能力与参数数量。

建议:

  • 越多的神经元 → 模型越复杂,能拟合更复杂的模式

  • 但会导致过拟合、计算慢

常见经验值:

输入维度隐藏层建议范围
100~30050~100
500~1000100~300
大型任务(如BERT)512, 768, 1024+

👉 如果你是实验性质或学习,100 是个不错的起点。


dim_out(输出维度)

概念:

模型输出的维度,取决于你的任务:

任务类型输出维度
二分类1(或 2 softmax)
多分类类别数
回归目标维度
多任务/多输出多个维度

你这里是 10,可能模拟一个 10维回归10类分类任务

建议:

  • 如果是分类任务:dim_out = 类别数

  • 如果是回归任务:dim_out = 回归目标的维度数


✅learning_rate = 1e-6 

学习率就是一步迈多远,迈得太小 → 太慢;迈得太大 → 容易摔倒(发散)。

学习率太大后果
1e-1, 1e-2模型 loss 波动剧烈、不收敛、甚至变 NaN
学习率太小训练速度极慢,loss下降很慢,甚至不动

比如用 1e-6,每一步走得非常小,要走很久才能到达最优点。

【常见选择范围】

任务常用学习率
简单手写神经网络(当前代码这个)1e-3 ~ 1e-5
深度学习框架(Adam优化器)通常是 1e-3
微调预训练模型(BERT等)1e-5 ~ 1e-6(更小)

【怎么知道学习率选得合不合适?】

可以观察训练中 loss 的变化趋势:

  • ✅ loss 稳定下降 → 学习率合适

  • ❌ loss 不降甚至变大 → 学习率太大

  • ❌ loss 下降太慢 → 学习率太小


6.2 前向传播

h = x.dot(w1)               # 线性层1:输入 × 权重1
h_relu = np.maximum(h, 0)   # ReLU 激活函数
y_pred = h_relu.dot(w2)     # 线性层2:ReLU输出 × 权重2 = 模型预测

 模拟神经网络从输入到输出的计算流程(前向传播)。

【整体网络结构】

这是一个两层神经网络,结构如下:

输入 x (batch_size × dim_in)↓  dot(w1)              ← 权重矩阵1 (dim_in × hidden_layer)
隐藏层 h↓  ReLU 激活函数        ← 非线性激活
隐藏层激活 h_relu↓  dot(w2)              ← 权重矩阵2 (hidden_layer × dim_out)
输出 y_pred

h = x.dot(w1)

说明:

  • x 是一个矩阵,形状是 (60, 1000):表示60个样本,每个样本有1000维输入特征

  • w1 是一个权重矩阵,形状是 (1000, 100):将每个输入映射到100维隐藏层空间

  • x.dot(w1) 表示矩阵乘法,结果是 h,形状是 (60, 100),也就是:

    每个样本经过第一层神经元线性组合后得到100个数,代表激活前的隐藏层值


h_relu = np.maximum(h, 0)

对每个元素做 ReLU 激活(如果小于0就置为0)

说明:

  • 这是一个 ReLU(Rectified Linear Unit)激活函数

ReLU(x) = max(x, 0)
  • 为什么用它?

    • 增加非线性能力(不然两个线性层等于一个线性层)

    • 抑制负值,保留正值

  • 作用是:让神经网络可以拟合复杂的非线性函数

举个例子:

h = [[-3, 5], [2, -1]]
np.maximum(h, 0) = [[0, 5], [2, 0]]

✅ 举个通俗的比喻:

假设你是一个学生:

  • x:是你的考试成绩、作业表现、出勤情况等(输入特征)

  • w1:是老师对每项指标的权重(重要性)

  • h = x.dot(w1):加权评分(但还没做非线性处理)

  • h_relu = max(h, 0):如果某项表现太差,干脆不加分(ReLU激活)

  • w2:是评估最终等级的转换标准

  • y_pred = h_relu.dot(w2):最终得出你的综合评价或预测等级


6.3 计算损失(Loss)

loss = np.square(y_pred - y).sum()

 使用的是 平方损失函数(L2 loss):表示预测值与真实值之间的差异。


6.4 反向传播(手动)

grad_y_pred = 2.0 * (y_pred - y)             # 对y_pred求导
grad_w2 = h_relu.T.dot(grad_y_pred)          # 权重w2的梯度
grad_h_relu = grad_y_pred.dot(w2.T)          # 反传到ReLU前
grad_h = grad_h_relu.copy()
grad_h[h < 0] = 0                             # ReLU的梯度(小于0处为0)
grad_w1 = x.T.dot(grad_h)                    # 权重w1的梯度

 手动计算每一层的梯度,过程符合链式法则的传播逻辑。


6.5 更新参数(梯度下降)

w1 -= learning_rate * grad_w1
w2 -= learning_rate * grad_w2

 使用学习率 1e-6梯度下降法 来更新模型参数。


6.6 循环训练

for t in range(500):...

循环训练 500 次,每次都进行:

  • 前向传播

  • 计算 loss

  • 反向传播

  • 更新参数


七、训练过程可视化(思维图)

输入 x --> Linear(w1) --> ReLU --> Linear(w2) --> 输出 y_pred|                   |权重1               权重2

每一轮迭代:

  • 根据当前参数前向预测 y_pred

  • 计算预测误差(loss)

  • 根据 loss 反向传播求梯度

  • 用梯度下降法更新 w1w2


八、关键问题答疑

Q1:为什么需要隐藏层?

隐藏层可以帮助模型学习输入和输出之间复杂的中间表示。没有隐藏层时,模型就是个线性回归。


Q2:ReLU 是干嘛的?

ReLU 是一个非线性函数,核心公式:

ReLU(x) = max(0, x)

它能增强模型的拟合能力,防止神经网络退化为线性模型。


Q3:学习率怎么选?

学习率太大可能训练发散,太小则训练太慢。常见值:

优化器建议范围
SGD1e-3 ~ 1e-5
Adam1e-3 是常用起点


九、总结

前馈神经网络的训练过程可以总结为:

前向传播 + 损失计算 + 反向传播 + 参数更新

在本文中,我们以 NumPy 为例,手动实现了一个具有单隐藏层的神经网络,并用最基础的数学操作训练模型。


学习建议

  • 改变隐藏层大小,观察训练效果

  • 换成 sigmoid 或 tanh 激活函数试试看

  • 用自己的数据跑一次(比如分类任务)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86813.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86813.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86813.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式系列(08):创建型模式 - 原型模式

系列导读&#xff1a;完成创建型模式的学习&#xff0c;我们来看最后一个创建型模式——原型模式。它通过复制已有对象来创建新对象&#xff0c;是一种独特的创建方式。 解决什么问题&#xff1a;通过复制现有对象来创建新对象&#xff0c;而不是重新实例化。适用于对象创建成本…

区块链到底是什么?

区块链本质上是一种去中心化的分布式账本技术&#xff0c;具有以下核心特点&#xff1a; - 去中心化&#xff1a;没有中央管理机构&#xff0c;数据由网络中的多个节点共同维护&#xff0c;比如比特币网络中各个节点都保存着完整账本。 - 分布式存储&#xff1a;数据不是存在一…

系统架构设计师论文分享-论ATAM的使用

我的软考历程 摘要 2023年2月&#xff0c;我司通过了研发纱线MES系统的立项&#xff0c;该系统为国内纱线工厂提供SAAS服务&#xff0c;旨在提高纱线工厂的数字化和智能化水平。我在本项目中担任系统架构设计师&#xff0c;负责整个项目的架构设计工作。本文结合我在该项目中…

vue-28(服务器端渲染(SSR)简介及其优势)

服务器端渲染&#xff08;SSR&#xff09;简介及其优势 服务器端渲染&#xff08;SSR&#xff09;是现代网络应用的关键技术&#xff0c;特别是使用 Vue.js 等框架构建的应用。它通过在服务器上渲染初始应用状态来弥补传统单页应用&#xff08;SPA&#xff09;的局限性&#x…

工业电子 | 什么是SerDes,为何工业和汽车应用需要它?

重点内容速览&#xff1a; 1. 什么是SerDes&#xff1f; 2. ADI&#xff1a;私有协议的GMSL将向公有协议转变 3. TI&#xff1a;工业和汽车有两套SerDes解决方案 4. Microchip&#xff1a;推出通用协议SerDes芯片 5. 罗姆&#xff1a;主要针对汽车领域 6. 国产SerDes芯…

大事件项目记录4-用户接口开发-更新用户基本信息

4&#xff09;更新用户基本信息。 UserController.java&#xff1a; UserMapper.java&#xff1a; Update("update user set nickname #{nickname},email #{email},update_time #{updateTime} where id #{id}")void update(User user); UserServiceInterface…

Transformer结构--输入编码(BPE,PE)

在Transformer结构中&#xff0c;输入编码是模型处理文本数据的关键步骤&#xff0c;其中**BPE&#xff08;Byte Pair Encoding&#xff0c;字节对编码&#xff09;和PE&#xff08;Positional Encoding&#xff0c;位置编码&#xff09;**是两种重要的编码方式&#xff0c;它们…

Confluence-测试用例设计指导方法

测试经验知识库 典型的测试场景验证点各个项目有价值的经验和测试点 测试经验知识库 - 草稿测试用例执行量化指导建议 何时需要进行全量测试和如何定义和执行测试用例量的一些建议和标准 端对端&#xff08;E2E&#xff09;测试用例设计指导方案 在测试行业中&#xff0c;端到端…

浅析JVM

一、JVM运行流程 如图&#xff1a; JVM由四个部分构成&#xff1a; 1.类加载器 加载类文件到内存2.运行时数据区 写的程序需要加载到这里才能运行3.执行引擎 负责解释命令&#xff0c;提交操作系统执行4.本地接口 融合不同编程语言为java所用&#xff0c;如Java程序驱动打印…

多个 Job 并发运行时共享配置文件导致上下文污染,固化 Jenkins Job 上下文

基于 context.py 固化 Jenkins Job 上下文的完整方案&#xff0c;适用于你当前的工作流&#xff08;Python Jenkins Pipeline&#xff09;&#xff0c;解决&#xff1a; 多个 Job 并发运行时共享配置文件导致上下文污染&#xff1b;读取环境变量或 JSON 文件时被其他 Job 修改…

简木易支付系统 功能齐全,对接接口超多

简木易支付系统&#xff0c;作为一款引领行业潮流的卓越支付解决方案&#xff0c;依托先进的 PHP MySQL 技术架构精心打造。在开发过程中&#xff0c;它巧妙运用了功能强大的 ThinkPHP8 框架&#xff0c;完美融合前端主流技术 Vue、Element 以及 Layuiadmin&#xff0c;共同铸…

【软考高项论文】信息系统项目的人力资源管理

摘要 本文围绕信息系统项目的人力资源管理展开论述。以我在2024年参与的为大型国有企业构建供应链管理系统项目为例&#xff0c;阐述了项目人力资源管理的主要流程&#xff0c;包括规划、组建、建设和管理团队四个过程&#xff0c;以及所运用的工具和理论。同时&#xff0c;分…

【EI会议征稿】东北大学主办第三届机器视觉、图像处理与影像技术国际会议(MVIPIT 2025)

一、会议信息 大会官网&#xff1a;www.mvipit.org 官方邮箱&#xff1a;mvipit163.com 会议地点&#xff1a;辽宁沈阳 主办单位&#xff1a;东北大学 会议时间&#xff1a;2025 年 9 月 27 日-9 月 29 日 二、征稿主题 集中但不限于“机器视觉、图像处理与影像技术”等其…

从零开始的云计算生活——第二十三天,稍作休息,Tomcat

目录 一.故事背景 二.Tomcat概述 1、Tomcat介绍 2、Tomcat历史 二、Tomcat原理分析 1、Http工作原理 2、Tomcat整体架构 3、Coyote连接器架构 4、Catalina容器架构 5、Jasper处理流程 6、JSP编译过程 7、Tomcat启动流程 8、Tomcat请求处理流程 三、Tomcat安装与配…

几种基于Doherty结构的GAN氮化镓功放设计方法介绍

功率放大器是现代无线通信系统中最重要的组件之一。理想情况下&#xff0c;它们能够以高线性度和高效率提供高输出功率。但通常在这三个关键的功率放大器性能参数之间需要进行权衡取舍&#xff0c;而且具有最高输出功率和线性度的放大器往往会牺牲效率。 在支持宽带宽和高数据…

前端打印计算单位 cm、mm、px

A4 纵向 宽&#xff1a;21cm&#xff0c;210mm&#xff0c;793.698px 高&#xff1a;29.7cm&#xff0c;297mm&#xff0c;1122.520px A4 横向 宽&#xff1a;29.7cm&#xff0c;297mm&#xff0c;1122.520px 高&#xff1a;21cm&#xff0c;210mm&#xff0c;793.698px …

c# sugersql 获取子表数据排序

在C#中使用Sugar ORM&#xff08;一个流行的.NET ORM框架&#xff09;获取子表数据并进行排序&#xff0c;可以通过以下几种方式实现&#xff1a; 1. 使用HasMany或HasOne配置 首先&#xff0c;确保你在配置实体时已经正确设置了HasMany或HasOne关系。例如&#xff0c;假设你…

【nRF52832】【环境搭建 3】【如何新建一个纯单片机开发的工程】

1. 前言 笨叔&#xff0c;又要开始扯淡了!!! 不感兴趣的同学&#xff0c;可以跳过了!!! 笨叔之前在大学里面&#xff0c; 刚接触单片机时。就被 windows 平台 例如 keill 5 、IAR 等一堆开会环境差点劝退。 当时也是坚持咬牙一点点摸索过来的。刚摸索明白&#xff0c;觉得单片…

Spring-loC与DI

目录 1 loC控制反转思想 2 DI依赖注入 3 loC详解 3.1 存储Bean &#xff08;1&#xff09;Controller &#xff08;2&#xff09;Service &#xff08;3&#xff09;Repository &#xff08;4&#xff09;Component &#xff08;5&#xff09;Configuration &#xf…

职业本科单片机与嵌入式技术实训室建设设想

一、引言 在当今数字化与智能化飞速发展的时代&#xff0c;单片机与嵌入式技术作为信息技术领域的关键支撑&#xff0c;广泛应用于工业控制、智能家居、物联网、汽车电子等众多行业&#xff0c;成为推动产业升级和创新发展的核心驱动力。职业本科教育旨在培养适应生产、建设、…