gpt4 book ai didi

python - 在 3 层神经网络中初始化权重

转载 作者:太空宇宙 更新时间:2023-11-04 04:37:25 26 4
gpt4 key购买 nike

所以我正在学习编写神经网络代码的最简单方法,这种方法可以根据您的需要以多种方式进行修改,基本上就像一个模板。我发现我是 trask 的 11 行神经网络代码,权重初始化非常有意义:

syn0 = 2*np.random.random((3,1)) - 1

但是,当我看他扩展的 3 层网络时,它看起来像这样:

syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1

如果 syn1 有点不同我会理解,但现在两者都不同了!他没有解释,只是评论说,“随机初始化我们的权重均值为 0。”

有人可以向我解释这背后的数学推理吗?如果你愿意,可以尽情发挥,我从 5 岁起就是数学爱好者。

最佳答案

如果不同,您指的是 np.random.random() 的参数,那是因为您正在创建具有不同形状/尺寸的权重。在此示例中(忽略偏差),您尝试从维度 3 的输入转到维度 1 的输出。对于一层,您需要形状 (3,1)。对于两层,您需要形状 (3,n)(n,1),其中 n 是任意整数。这只是为了确保矩阵乘法有效。这里选择 n = 4 作为隐藏层维度。

关于python - 在 3 层神经网络中初始化权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51382920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com