当前位置: 首页 > article >正文

机器学习—神经网络如何高效实现

深度学习研究人员能够扩展神经网络的原因之一,在过去的十年里建立了非常大的神经网络,是因为神经网络可以向量化,它们可以使用矩阵乘法非常有效的实现,事实证明,并行计算硬件,包括gpus,但也有一些cpu函数非常擅长做非常大的矩阵乘法。

神经网络的矢量化实现是如何工作的

图片左边是之前所看到的代码,将如何向前推进单层中的支撑或正向传播,输入W,第一个的重量,第二和第三神经元,假设参数b,这与之前的代码是一样的,这将输出三个数字。可以开发这个函数的矢量化实现,x=np.array([[200,17]]),注意有两个方括号,所以这是一个2D数组,像在张量流中W和以前一样,用大写W,B,也是一个二维数组,结果发现所有这些步骤,内部的for循环可以用几行代码替换,Z=np.matmul(A_in,w)+B,matmul是如何进行矩阵乘法的?现在x和w都是矩阵,所以只要把它们相乘,结果是这个for循环所有这些代码行都可以用几行代码替换,它给出了这个函数的矢量化实现,所以计算Z,它现在又是一个矩阵,就像A和W之间的np.matmul,这里的A_in,W都是矩阵,Matt Mole是Numpy如何进行矩阵乘法,它将两个矩阵相乘,然后把矩阵B加进去,这里A_out等于激活函数g(Z),这是一个Z状结肠函数,应用于矩阵z的元素,然后return A_out,这就是代码的样子,注意在向量化实现中,所有这些量x都被输入A_in以及w,b,z和A_out,所有这些现在都是两个D数组,所有这些都是矩阵,这是一个非常有效的向前传播一步的实现,穿过神经网络中的密集层。


http://www.kler.cn/a/386317.html

相关文章:

  • 【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)
  • 30天开发操作系统 第 17 天 -- 命令行窗口
  • 重生之我在异世界学编程之C语言:深入指针篇(上)
  • WordPress果果对象存储插件
  • c++模板进阶
  • 白玉微瑕:闲谈 SwiftUI 过渡(Transition)动画的“口是心非”(下)
  • 数据采集器与物联网网关的区别
  • 基于Springboot+Vue的游乐园管理系统 (含源码数据库)
  • C#(asp.net)民宿客房管理系统-计算机设计毕业源码76233
  • SCI论文数据可视化的在线网址
  • udp丢包问题
  • 服务器数据恢复—EVA存储故障导致上层应用不可用的数据恢复案例
  • 基于大语言模型智能体的自主机器学习
  • 数据分析-38-时间序列分解之时变滤波器经验模态分解TVFEMD
  • 解决 “Error: listen EACCES: permission denied 0.0.0.0:80“ 错误
  • Linux·进程控制(system V)
  • 【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
  • 使用PHP上传程序配置网页上的文件上传功能
  • 计算机图形学 实验二 三维模型读取与控制
  • 桥接IC lt7911d linux 驱动
  • UML统一建模语言,学习笔记
  • 【C#】用水平滚动条来设定参与运算的序列的长度
  • java 面向对象高级
  • sql之count()函数解析
  • 实战| 使用深度学习分割和计算水体和农田面积【Pytorch附源码】
  • Turtlebot3 buger 硬件与操作平台详细介绍