首页 > 其他分享 >如何学好PaddlePaddle深度学习

如何学好PaddlePaddle深度学习

时间:2025-01-05 17:30:31浏览次数:3  
标签:训练 AI 模型 PaddlePaddle 学好 更新 学习 深度

PaddlePaddle、Tensoflow、PyTorch三个框架里最熟的是PaddlePaddle,在上面花的时间也最多,回顾来看,其实也投入了不少冗余的时间。写这篇文章希望能帮助到正在学习PaddlePaddle的同学们。

1. 学习AI最冗余的时间其实在数学,8年前开始学习机器学习的时候从李航的《统计学习方法》和周志华的《机器学习》两本书开始,没有配套的代码或者环境帮助理解,非常吃力,进而认为数学功底不够,把大学的《数学分析》、《线性代数及其应用》、《概率论与数理统计》重学了一遍,花了很多的时间,厚积薄发当然有帮助,不过当下的框架已经非常好用,不需要自己去实现底层的数学逻辑,飞桨AI Studio星河社区-人工智能学习与实训社区上有一篇课程把所有需要了解的数学知识做了一个梳理,可惜翻了半天没找出来,但总之如果不是做底层的同学不需要在数学上花太多的时间。

2. PaddlePaddle的好处是拿来即用,组网、前向函数、梯度更新、反向传播,有点AI八股文的意思,不过从最朴素的编程逻辑角度了解下具体是怎么工作的非常有价值,推荐飞桨AI Studio星河社区-人工智能学习与实训社区这节课程仔细学习下,再复杂的网络也是类似的原理。百度持续在升级培训课程,目前这个链接的是百度《零基础实践深度学习》的2.3版,留意下如果有版本更新,选择最新的版本学习。

3. 八股文的好处是无论什么网络编程逻辑都是一致的,1) 模型设计-> 2)准备数据 -> 3)训练设置 -> 4)应用部署 -> 5)模型评估

5. 模型设计,关键是要选择与目标任务相关的模型,比如基于时间序列来预测(比如股价预测),最好的模型是循环神经网络RNN;计算机视觉,最好的模型是卷积神经网络CNN;自然语言处理则自然是当下最热门的Transformer(如GPT就是基于此模型),留意每种模型下面还有很多不同基于类似思路的不同子模型,如CNN下面就有LeNet、AlexNet、VGGNet、GoogLeNet、ResNet等。

6. 接着,模型设计还涉及到激活函数的选择,关键意思就是数据从网络的上个节点传到当前节点后通过什么函数计算后再传到下个节点,PaddlePaddle里最常用的是ReLu、Sigmoid、Tanh和Softmax四个函数,可以自行百度查询,都是非常简单的高中数学里会涉及到的函数。

7. 再接着,模型设计还涉及到损失函数的选择,关键意思就是模型通过整个网络基于训练数据训练一轮后和真实结果对比来判断当前训练结果的准确程度,PaddlePaddle最常用的是均方误差、平方误差、交叉熵损失等。第6、7点里不同的目标任务会有不同的激活函数和损失函数推荐,问下文心一言都可以得到答案。

8. 模型设计还涉及到优化算法的选择,关键意思是训练一轮后准确度肯定很低,这个时候就要更新网络中每个节点的参数以使得准确度能够提高。如何更新?一个是学习率,即更新的幅度有多大,另一个是更新的算法,两者相乘就是具体的更新值了。更新算法也就是优化算法主要有SGD(随机梯度下降)、Adam、Momentum等。

9. 准备数据顾名思义就是准备训练数据集、测试数据集,逻辑很简单,不过真实案例中会涉及到数据清洗、异步加载等话题,比如模型会更偏好数字类型的数据,如果原始数据是文本,就要考虑如何将其转换为数字,再比如模型会天然给更大的数字更高的重视,需要将之缩放(或者归一)到-1~1或者0~1之间等。

7. 训练设置,具体训练模型让数据沿着配置好的网络一遍遍的跑直到达到期待的结果。这里涉及到的问题是如何提高训练的效率,比如有10万条训练数据,选练完一轮再去更新参数再训练第二轮...训练的时间可能就要很长,考虑将10万条数据分成若干个批次,一个批次训练网去更新参数基于第二个批次训练第二轮效率就会提高。另一个是可以指定CPU还是GPU以及分布式训练等来提高效率。

8. 应用部署,训练完达到期待效果的模型可以保存为模型文件用于真实数据的调用(也就是推理),这里会有很多种不同的调用方式,比如通过Web API调用、服务器本地调用、手机调用等,并因此而带来如何压缩模型、优化推理效率等。

9. 模型评估,评估模型的有效性。涉及些比较有意思的话题比如准确率、召回率、F1分数、ROC曲线等,其实关键意思很简单,举个例子,100个动物里,95只是羊,5只不是,AI模型识别到91只羊,其中90只真的是羊,另外1只不是羊,那么准确率就是90/91,召回率就是90/95。

学习PaddlePaddle大致就是以上框架,当然里面每个环节都可以深度展开许多细节,不过啥学习不都是从粗到细,从整体到局部嘛!

标签:训练,AI,模型,PaddlePaddle,学好,更新,学习,深度
From: https://blog.csdn.net/m0_66899341/article/details/144942180

相关文章

  • 【深度学习系统】Lecture 4 - Automatic Differentiation
    1.Generalintroductiontodifferentdifferentiationmethods在深入介绍自动微分方法之前,我们先来认识一件事情:为什么我们要提出不同的微分方法呢?这就不得不提到微分在机器学习中所发挥作用的板块——计算当前需要优化的损失函数......
  • 动手深度学习-PyTorch(第二版)PDF、EPUB免费下载
    电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍点击原文去下载书籍信息作者:阿斯顿·张(AstonZhang)/李沐(MuLi)/[美]扎卡里·C.立顿(ZacharyC.Lipton)/[德]亚历山大·J.斯莫拉(AlexanderJ.Smola)出版社:人民邮电出版社出品方:异步图书译......
  • 面试官问:深度网络中loss除以10和学习率除以10等价吗
    面试官问:深度网络中loss除以10和学习率除以10等价吗面试题深度网络中loss除以10和学习率除以10等价吗?标准答案在讨论深度学习中,调整loss的尺度与调整学习率是否等价时,答案取决于使用的优化器类型。以下是对常见优化器的分析:第一类:传统优化器(如SGD和MomentumSGD)......
  • python基于深度学习的中文情感分析系统
    大家好我是小村学长,混迹在java圈的辛苦码农。今天要和大家聊的是一款《python基于深度学习的中文情感分析系统》毕业设计项目。项目源码以及部署相关请联系小村学长,文末附上联系信息。......
  • DeepSurv:Cox比例风险深度神经网络模型(神经网络+疾病预后模型)
    DeepSurv,一个Cox比例风险深度神经网络和先进的生存分析方法,用于模拟患者的预后变量(协变量)与治疗效果之间的相互作用。一、Cox比例风险模型当下,医学研究者使用生存模型来评估预后变量在如死亡或癌症复发等结果中的重要性。一个常用且标准的生存模型是Cox比例风险模型 (CPH......
  • 使用深度学习来实现图像超分辨率 综述!
            今天给大家介绍一篇图像超分辨率邻域的综述,这篇综述总结了图像超分辨率领域的几方面:problemsettings、数据集、performancemetrics、SR方法、特定领域应用以结构组件形式,同时,总结超分方法的优点与限制。讨论了存在的问题和挑战,以及未来的趋势和发展方向。......
  • JUC--如果简历上写了synchronized,需要掌握到什么程度?(万字图文深度解析synchronized关
    synchronized关键字(同步锁)二、synchronized关键字(同步锁)2.1是什么?有什么用?2.2如何使用synchronized?1、修饰实例方法(锁当前对象实例)2、修饰静态方法(锁当前类)3、修饰代码块(锁指定对象/类)2.3线程安全类不可变类线程安全性2.4锁原理Java对象头Monitor对象(锁原理的关......
  • Python学习(四)——配套《PyTorch深度学习实战》
    1.Python中字符串的相加和相乘在Python中,字符串可以通过加号(+)进行相加(连接),也可以通过乘号(*)进行相乘(重复)。以下是这两种操作的详细说明和示例:字符串的相加(连接)字符串的相加是通过使用加号(+)运算符来实现的。它将两个或多个字符串连接成一个单一的字符串。str1="Hello"str2=......
  • python基于深度学习的中文情感分析系统
    大家好,我是陈辰学长,一名在Java圈辛勤劳作的码农。今日要和大家分享的是一款《python基于深度学习的中文情感分析系统》毕业设计项目。项目源码以及部署相关事宜,请联系陈辰学长,文末会附上联系信息哦。......
  • Python+Django+Mysql开发个性化旅游酒店推荐系统 python在线酒店推荐系统设计开发 可
    Python+Django+Mysql开发个性化旅游酒店推荐系统python在线酒店推荐系统设计开发可视化、爬虫协同过滤推荐算法机器学习深度学习人工智能大数据开发教程文档HotelRecommendSysPy一、项目简介1、开发工具和使用技术Python3及以上版本,Django3.6及以上版本,mysql8,nav......