吴恩达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.整体过程

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

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

相关推荐
老师我太想进步了20262 小时前
【数据结构-3】算法美学之降复杂度
数据结构·算法
机器人零零壹7 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
ZhengEnCi10 小时前
大模型的分类到底怎么分:从基础模型到推理模型、从通用到专用的完整图谱
算法
前进的李工11 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
取名真是11 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想11 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
罗西的思考11 小时前
【轻量化复刻大模型 / KIMI K3】KDA 模块交互式演示
人工智能·算法·机器学习
正在走向自律12 小时前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
nm_zfyjt13 小时前
信息流广告投放优化实践:线索成本评估模型与转化链路重构(家装建材案例)
算法·重构·内蒙古朋友圈广告服务商·内蒙古朋友圈获客
CCIE-Yasuo14 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql