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

汕头seo网站推广网站站点规划实例

汕头seo网站推广,网站站点规划实例,泰安招聘网最新招聘信息兼职招聘,百度做广告推广怎么样用 C 写一个卷积神经网络 深度学习领域最近发展很快#xff0c;前一段时间读transformer论文《Attention Is All You Need》时#xff0c;被一些神经网络和深度学习的概念搞得云里雾里#xff0c;其实也根本没读懂。发现深度学习和传统的软件开发工程领域的差别挺大#xf… 用 C 写一个卷积神经网络 深度学习领域最近发展很快前一段时间读transformer论文《Attention Is All You Need》时被一些神经网络和深度学习的概念搞得云里雾里其实也根本没读懂。发现深度学习和传统的软件开发工程领域的差别挺大光读论文可能不是一条很好了解深度学习的路径。所以我换了一个思路从开源的项目入手当时我研究了一段时间ggml项目代码(https://github.com/ggerganov/ggml) , 但实际的难度还是太过陡峭主要的困难来源于数学推导和神经网络本身的特殊性。为了更全面的了解深度学习领域最后我选择从基础的系统知识和书籍入手, 在阅读《Neural Networks and Deep Learning》这本书时正好书中是通过设计一个手写识别程序来讲解神经网络书中的例子是用python实现的其中用了不少机器学习库屏蔽了很多细节。于是萌生了自己用C写一个手写识别程序想法。 要用C不依赖第三方库写一个神经网络需要从数学推导、网络模型和工程实现三个方面着手。项目本身没有什么价值只是个人学习神经网络一个小玩具。 代码地址https://github.com/yuanrongxi/simple-neural-network.git 神经网络涉及到的数学主要是线性代数和微积分求导神经网络中的计算大部分是通过矩阵来完成的首先需要弄明白标量、向量、张量等概念掌握基本的矩阵运算例如空间转置、加减乘除、点积、reshape等线性代数推荐看《Linear Algebra an Its Applications》了解基本的向量空间和运算即可如果想更直观可以看https://github.com/kf-liu/The-Art-of-Linear-Algebra-zh-CN/blob/main/The-Art-of-Linear-Algebra-zh-CN.pdf。积分求导主要是针对神经网络的反向传播因为在神经网络推导时会用各种激活函数、softmax、卷积、pooling max、norm、flatten等数据操作反向传播的过程的梯度下降算法需要对这些操作进行反向求导所以需要清楚各个函数求导过程和代价函数概念求导更详细的可以看B站上的《跟着李沐学AI》。 网络模型涉及到神经元和感知机的概念通过编排神经元和激活函数构建网络分层这个《Neural Networks and Deep Learning》中讲的比较清楚。网络模型可以理解成一堆weight(权重)/bais(偏置)加一堆的y w.xb的函数但它分为正向传播(feedforward)和反向传播(backprop)正向传播就是推理反向传播就是求权重和偏置参数。因为反向传播过程是一个利用梯度下降求导的过程理解起来会有些困难https://builtin.com/machine-learning/backpropagation-neural-network 对反向传播总结的非常好通俗易懂。最后CNN模型选择参照了YanLeCun的LeNet图-1保留第一个卷积层去掉了中间的卷积层。 工程实现方面参照了NumPy的思路将涉及到矩阵运算、激活函数、反向求导等做成一个独立的矩阵运算模块这样做的好处是可以对专门的运算做优化后面也方便加入GPU和CUDA做尝试。其次设计了一个run state机制因为神经网络在推理和训练时会有很多的中间数据这些数据有些是临时的有些是反向传播依赖的。为了避免频繁内存分配在创建NN时将所有用到的对象统一分配中间数据的矩阵flatten也是零拷贝。关于CPU并行计算上采用了openmp进行简单的矩阵并行处理加快训练速度所以在矩阵运算代码中用了大量的数组下标寻址没有使用更快的指针后面CPU上可以尝试SSSE3/simd128采用多线程分任务优化。最后神经网络是难于调试的往往逻辑流程运行正确但训练出来的结果不达预期和传统的系统工程差别大。在实现中采用了对所有数学代码进行单元测试并逐一对照相对应的pytorch运行结果确保数学上正确这样做大大减轻了神经网络的调试难度。值得一提的是程序设计后期借助了cursor AI代码工具效率是前期的4~5倍左右。 来看一下程序的效果采用的是MNIST的数据集6万张训练图片和1万张测试图片训练和测试30轮多层感知机网络的识别准确度在95%左右CNN网络的准确度在98%左右。执行时间CNN是多层感知机的20倍左右。 整个程序的开发设计断断续续用了4个周末的时间实现难度一般过程有些简单的认识: 之所以Python成为深度学习界的标准开发语言是因为它有很多强大的库和平台像NumPy、Pytorch、Keras等写一个神经网络可能只需几十行代码简单高效其他语言无可匹及。业界正在研究基于Python语言的编译技术这可能是未来重要的方向之一。 深度学习与传统软件工程差别大传统软件工程是建立的逻辑学层面的工程体系只要逻辑性强从事软件开发不是难事所以行业内人员参差不齐。AI和深度学习领域有自己独立的知识体系而且更多是要依靠数学推导和模型设计工程实现也更偏CPU/GPU相关的编程逻辑在其中起的作用有限AI这个领域不太可能出现从培训机构出来就业的人员。传统软降工程也走到一个阶段了软件工程的需求正在从传统的工程领域快速迁移到深度学习领域。 深度学习的计算分为推理和训练随着网络模型的发展计算将越来越重。训练的计算量会因为成本越来越高会出现更高效的芯片和分布式计算网络。而推理计算由于安全和场景需要可能会越来越终端化而且推理的计算量未来是训练计算量的万倍甚至更多会催生出新的工程领域例如ggml。 AI发展很快很多面向程序员的工具像github copilot、cursor等生成的代码未必可直接使用但能够加快从概念到代码的过程合理使用AI工具可以更快的进入陌生领域。 科技正在大力向前它已不再朝我而来我唯一能做的是调整自己的位置来跟上它的步伐。
http://www.hkea.cn/news/14412715/

相关文章:

  • 常州专业网站建设呼叫中心外包
  • 怎样让客户做网站学校wordpress模版
  • 河源网站搭建费用多种语言网站
  • 中国网站备案查询系统上海公司购房政策
  • 网站没建设可以访问吗seo搜索引擎优化实战
  • 怎么建立免费的网站网站搜索功能实现
  • 深圳市网站开发公司常州网络推广平台
  • 五华建设银行网站西安十强广告公司名单
  • 莱芜做网站的商家有哪些个人网站可备案
  • 安装网站模板电商网站首页设计
  • 阿里 网站备案核验单做网站到内容填充需要多久
  • 有哪些做网游单机版的网站下载ppt模板免费的网站
  • 网站推广有哪些举措网站运营公司排名
  • 网站建设购物车招聘网站如何做运营
  • 公司网站建设方案建议wordpress 设置导航菜单
  • 广州建设网站开发网页浏览器打开
  • 企业网站优化系统wordpress虾米音乐插件
  • 做外贸网站的好处做吗查网站的流量
  • 网站建设方案书模板自己建网站做app
  • 如何利用dw建设网站手机购物网站建设
  • 网站建设带采集免费域名分发网站
  • 网站开发工程师是干嘛的企业推广费用占比多少合适
  • 内蒙古乌海建设局网站免费企业名录搜索软件
  • 有没有专门做线下活动的网站wordpress淘宝i主题
  • 怎么获取网站数据做统计给企业做免费的推广
  • ps做网站首页怎么图片制作成动态视频
  • 凡科快图在线抠图宁波seo推广外包公司
  • 网站首页没有收录怎么查网站的备案号
  • 代做毕设网站可信么湘西网站制作
  • 医院网站cms沙漠风网站建设公司