深度学习-核对矩阵维度

在深度学习编程中,矩阵维度错误是常见的问题。本文详细介绍了如何检查和确保矩阵维度一致,特别是在五层神经网络中。对于单个训练样本,如输入层2个元素、隐藏层3个元素的情况,各层权重、偏置、激活值等的维度被明确给出。而对于多个训练样本,通过向量化处理,相关变量的维度也会相应变化。理解这些维度关系对于高效且准确的神经网络实现至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编写深度神经网络程序时,出现的很多问题都是由于矩阵的维度不对引起的,而且这个问题非常难查。而且python有时候还会改变矩阵的维度(例如之前我们学到的python广播化),所以我们需要经常核对矩阵的维度,使他们的维度与我们预料中的保持一致。
在这里插入图片描述上面是一个五层的神经网络,输入层有2个元素,所以n[0] =2,第一层有三个元素,所以n[1] =3,所以w[1]为(3,2)其他层同理。

因此单个训练样本时各变量的维度公式

w[l] --> (n[l] , n[l-1])

b[l] --> (n[l] , 1)

z[l] --> (n[l] , 1)

a[l] --> (n[l] , 1)

da[l] --> (n[l] , 1)

dz[l] --> (n[l] , 1)

db[l] --> (n[l] , 1)

dw[l] --> (n[l] , n[l-1])

根据上面的公式,下面举例列出第一层的相关变量的维度

W[1] --> (3 , 2)

b[1] --> (3 , 1)

z[1] --> (3 , 1)

a[1]–> (3 , 1)

da[1] --> (3 , 1)

dz[1]–> (3 , 1)

db[1] --> (3 , 1)

dW[1] --> (3 , 2)

那么当多个训练样本时维度公式又是怎么样的呢?多个样本时,我们会通过向量化来提升效率,例如我们会将每个样本的特征x列向量(也就是a[0])一个一个排起来,组成一个矩阵。

下面给出m个训练样本时的维度公式

W[l] --> (n[l] , n[l-1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值