神经网络向量化指的是将输入数据转化为向量形式,以便于神经网络的处理。向量化的作用包括以下几点:
提高计算效率:使用向量化的输入数据可以进行并行计算,加速神经网络的训练和推断过程。
减少存储空间:向量化可以将原始数据压缩为更小的向量形式,减少内存占用,提高存储效率。
简化数据处理:向量化将复杂的输入数据转化为向量形式,简化了数据的处理方式,使得神经网络可以更好地处理和识别模式。
支持多样化的输入类型:通过向量化,可以将不同类型的输入数据转化为统一的向量格式,使得神经网络可以接受多样化的输入,如图像、文本、音频等。
提高神经网络的表达能力:向量化的方式可以提取输入数据的特征信息,增加神经网络的表达能力,提高模型的性能和准确率。
总而言之,神经网络向量化的作用是提高计算效率、减少存储空间、简化数据处理、支持多样化的输入类型,以及提高神经网络的表达能力。
让我们进入神经网络的向量化实现吧
以下内容有任何不理解可以翻看我之前的博客哦
Numpy中的矩阵乘法运算
我们先定义一个矩阵A:
A = np.array([[1, -1, 0.1],
[2, -2, 0.2]])
那么矩阵A的转置AT就为:
AT = A.T
我们再定义一个矩阵W:
W = ([[3, 5, 7, 9],
[4, 6, 8, 0]])
那么 Z = A T ⋅ W Z=A^T\cdot W Z=AT⋅W代码为:
Z = np.matmul(AT, W)
matmul()是numpy中一个负责矩阵点积运算的函数。
该函数还有另一种写法:
Z = AT @ W
前向传播向量化
还是经典煮咖啡例子,200度17分钟:
先变量初始化一下
AT = np.array([[200, 17]])
W = np.array([[1, -3, 5],
[-2, 4, 6]])
b = np.array([[-1, 1, 2]])
再定义层:
def dense(AT, W, b, g):
z = np.matmal(AT, W) + b
a_out = g(z)
return a_out#a_out==[[1, 0, 1]]
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。