吴恩达2022机器学习专项课程C2W1:(选修)2.13 如何高效实施神经网络 & 2.14 矩阵乘法 & 2.15 矩阵乘法规则 & 矩阵乘法代码

这里写目录标题

本节内容

向量化的神经网络是如何工作的。

神经网络规模扩大的原因

神经网络可以向量化,并行计算硬件(包括GPU以及一些CPU功能)非常擅长进行大规模矩阵乘法。

如何向量化代码(引言)

1.原始代码

计算第一层的激活值,使用for循环计算每个神经元的激活值,最终输出3个激活值。

2.向量化代码

首先把X,W,B都转化成二维数组,然后for循环的内容用nump的matmul矩阵乘法表示,最终激活值也是一个1行3列的二维数组。

向量乘法和矩阵乘法

1.向量与向量乘法

1.1 一般形式

两个向量对应元素的乘积之和,结果是一个标量。

1.2 转置形式

  • 向量的转置是将行向量转换为列向量,或将列向量转换为行向量。
  • 可以把行向量当成1行2列的二维数组,列向量当成2行1列的二维数组,有助于理解矩阵乘法。
  • 转置的目的是为了一个二维数组的行数匹配另一个二维数组的列数,从而可以进行矩阵乘法。

    1.3 小结
    列向量的点积与行向量和列向量的矩阵乘法是等效的。

2.向量与矩阵乘法

2.1 a的转置乘矩阵

2.2 计算过程

a的转置乘W第一列,作为Z的第一个元素。a的转置乘W的第二列,作为Z的第二个元素

3.矩阵与矩阵乘法

3.1 矩阵的转置

列转换为行,一次一列,直到所有列转换完毕。

3.2 看待矩阵的方式

看到矩阵,就想想列。看到矩阵的转置,就想想行。
3.3 计算过程

  • A转置第一行与W第一列乘积:13+24=11,放入新二维数组的第一行第一列。
  • A转置第一行与W第二列乘积:14+2 6=17,放入新二维数组的第一行第二列
  • A转置第二行与W第一列乘积:-13±24=-11,放入新二维数组的第二行第一列。
  • A转置第二行与W第二列乘积:-14±2 6=-17,放入新二维数组的第二行第二列。

矩阵乘法的规则

1.标记矩阵

新矩阵的行数对应第一个矩阵的行数。新矩阵的列数对应第二个矩阵的列数。

2.计算矩阵

矩阵Z的第一行第一列的点,对应A转置第一行与W第一列的点积,11。

矩阵Z的最终结果

3.矩阵可以相乘的条件

第一个矩阵的列数等于第二个矩阵的行数。

如何向量化代码(具体实现)

1.Numpy实现二维数组转置

二维数组调用.T,即可实现转置。

2.Numpy矩阵相乘

两个方法是相同含义。

3.整体过程

矩阵对应二维数组的写法。

神经网络(前向传播)的向量化

相关推荐
AI完全体几秒前
【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)
人工智能·深度学习·神经网络·机器学习·过拟合·模型复杂度·偏差-方差
sp_fyf_202413 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
小小洋洋38 分钟前
BLE MESH学习1-基于沁恒CH582学习
学习
羊小猪~~2 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
我是哈哈hh2 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
Ace'2 小时前
每日一题&&学习笔记
笔记·学习
Tisfy2 小时前
LeetCode 2187.完成旅途的最少时间:二分查找
算法·leetcode·二分查找·题解·二分
IM_DALLA2 小时前
【Verilog学习日常】—牛客网刷题—Verilog进阶挑战—VL25
学习·fpga开发·verilog学习
Mephisto.java2 小时前
【力扣 | SQL题 | 每日四题】力扣2082, 2084, 2072, 2112, 180
sql·算法·leetcode
robin_suli2 小时前
滑动窗口->dd爱框框
算法