零基础实践深度学习
文章平均质量分 92
绿洲213
springboot3只支持jdk17
展开
-
6.1 文本情感倾向性分析
在讲解卷积神经网络的的章节,**我们详细列出了每一种神经网络使用基础算子拼装的详细网络配置,但实际上对于一些常用的网络结构,飞桨框架提供了现成的中高层函数支持。**下面用于情感分析的长短时记忆模型就使用API实现。如果读者对使用基础算子拼装LSTM的内容感兴趣,可以查阅类的源代码。原创 2022-12-24 18:31:12 · 1673 阅读 · 0 评论 -
5.2 词向量Word Embedding
定义skip-gram的网络结构,用于模型训练。**在飞桨动态图中,对于任意网络,都需要定义一个继承自的类来搭建网络结构、参数等数据的声明。**同时需要在forward函数中定义网络的计算逻辑。值得注意的是,我们仅需要定义网络的前向计算逻辑,飞桨会自动完成神经网络的后向计算。在skip-gram的网络结构中,使用的最关键的API是函数,可以用其实现Embedding的网络层。原创 2022-12-16 17:40:58 · 1519 阅读 · 0 评论 -
5.1 自然语言处理综述
*自然语言处理(Natural Language Processing,简称NLP)被誉为人工智能皇冠上的明珠,是计算机科学和人工智能领域的一个重要方向。**它主要研究人与计算机之间,使用自然语言进行有效通信的各种理论和方法。简单来说,计算机以用户的自然语言数据作为输入,在其内部通过定义的算法进行加工、计算等系列操作后(用以模拟人类对自然语言的理解),再返回用户所期望的结果,如所示。自然语言处理是一门融合语言学、计算机科学和数学于一体的科学。它不仅限于研究语言学,还是研究。原创 2022-12-16 17:40:29 · 832 阅读 · 1 评论 -
4.3 AI识虫比赛
为了演示计算过程,下面使用的是验证集下的图片./insects/val/images,在提交比赛结果的时候,请使用测试集图片./insects/test/images。同学们训练完之后,可以在val数据集上计算mAP查看结果,所以下面用到的是val标注数据./insects/val/annotations/xmls。3、修改anchor参数的设置,教案中的anchor参数设置直接使用原作者在coco数据集上的设置,针对此模型是否要调整 (难度系数3)原创 2022-12-16 17:39:34 · 212 阅读 · 0 评论 -
4.2 YOLOv3算法
在本课程中,将使用百度与林业大学合作开发的林业病虫害防治项目中用到昆虫数据集。AI识虫数据集结构如下:将数据解压之后,可以看到insects目录下的结构如下所示。insects包含train、val和test三个文件夹。train/annotations/xmls目录下存放着图片的标注。每个xml文件是对一张图片的说明,包括图片尺寸、包含的昆虫名称、在图片上出现的位置等信息。上面列出的xml文件中的主要参数说明如下:size:图片尺寸。object:图片中包含的物体,一张图片可能中包含多个物体。– n原创 2022-12-16 17:37:46 · 449 阅读 · 0 评论 -
4.1 目标检测基础
对计算机而言,能够“看到”的是图像被编码之后的数字,但它很难理解高层语义概念,比如图像或者视频帧中出现的目标是人还是物体,更无法定位目标出现在图像中哪个区域。,如所示。原创 2022-12-16 17:35:33 · 339 阅读 · 0 评论 -
3.3 CNN经典网络实现
【代码】3.3 CNN经典网络实现。原创 2022-12-16 17:34:19 · 186 阅读 · 0 评论 -
3.2 图像分类
上一节主要介绍了卷积神经网络常用的一些基本模块,**本节将基于眼疾分类数据集iChallenge-PM,对图像分类领域的经典卷积神经网络进行剖析,介绍如何应用这些基础模块构建卷积神经网络,解决图像分类问题。**按照被提出的时间顺序,涵盖如下卷积神经网络:LeNet:Yan LeCun等人于1998年第一次将卷积神经网络应用到图像分类任务上[1],在手写数字识别任务上取得了巨大成功。AlexNet:Alex Krizhevsky等人在2012年提出了AlexNet[2], 并应用在大尺寸图片数据集ImageN原创 2022-12-16 17:29:23 · 927 阅读 · 0 评论 -
3.1 卷积神经网络基础
计算机视觉技术经过几十年的发展,已经在交通(车牌识别、道路违章抓拍)、安防(人脸闸机、小区监控)、金融(刷脸支付、柜台的自动票据识别)、医疗(医疗影像诊断)、工业生产(产品缺陷自动检测)等多个领域应用,影响或正在改变人们的日常生活和工业生产方式。未来,随着技术的不断演进,必将涌现出更多的产品和应用,为我们的生活创造更大的便利和更广阔的机会。**飞桨为计算机视觉任务提供了丰富的API,并通过底层优化和加速保证了这些API的性能。**同时,飞桨还提供了丰富的模型库,覆盖图像分类、检测、分割、文字识别和视频理解等原创 2022-12-16 17:27:40 · 762 阅读 · 0 评论 -
1.3.8 手写数字识别之动转静部署
本章节中,介绍了飞桨动转静的功能和基本原理,并以一个例子介绍了如何将一个动态图模型转换到静态图模式下训练,并将训练好的模型转换成更易于部署的inference模型,有关更多动转静的功能介绍,可以参考官方文档。原创 2022-10-17 15:00:04 · 456 阅读 · 0 评论 -
1.3.7 手写数字识别之恢复训练
即从epoch 0结束时保存的模型参数和优化器状态恢复训练,校验其后训练的损失变化(epoch 1)是否和不中断时的训练相差不多。从恢复训练的损失变化来看,加载模型参数继续训练的损失函数值和正常训练损失函数值是相差不多的,可见使用飞桨实现恢复训练是极其简单的。在开始介绍使用飞桨恢复训练前,先正常训练一个模型,优化器使用Adam,使用动态变化的学习率,学习率从0.01衰减到0.001。理想的恢复训练是模型状态回到训练中断的时刻,恢复训练之后的梯度更新走向是和恢复训练前的梯度走向完全相同的。原创 2022-10-17 14:58:50 · 759 阅读 · 0 评论 -
1.3.6 手写数字识别之训练调试与优化.md
上一节我们研究了资源部署优化的方法,通过使用单GPU和分布式部署,提升模型训练的效率。本节我们依旧横向展开"横纵式",如图1所示,探讨在手写数字识别任务中,为了保证模型的真实效果,在模型训练部分,对模型进行一些调试和优化的方法。图1:“横纵式”教学法 — 训练过程1. 计算分类准确率,观测模型训练效果。交叉熵损失函数只能作为优化目标,无法直接准确衡量模型的训练效果。准确率可以直接衡量训练效果,但由于其离散性质,不适合做为损失函数优化神经网络。2. 检查模型训练过程,识别潜在问题。原创 2022-10-17 14:57:30 · 443 阅读 · 0 评论 -
1.3.5 手写数字识别之资源配置
从前几节的训练看,**无论是房价预测任务还是MNIST手写字数字识别任务,训练好一个模型不会超过10分钟,主要原因是我们所使用的神经网络比较简单。**但实际应用时,常会遇到更加复杂的机器学习或深度学习任务,需要运算速度更高的硬件(如GPU、NPU),甚至同时使用多个机器共同训练一个任务(多卡训练和多机训练)。本节我们依旧横向展开"横纵式"教学方法,如图1所示,探讨在手写数字识别任务中,通过资源配置的优化,提升模型训练效率的方法。图1:“横纵式”教学法 — 资源配置。原创 2022-10-17 14:54:39 · 549 阅读 · 0 评论 -
1.3.4 手写数字识别之优化算法
上一节我们明确了分类任务的损失函数(优化目标)的相关概念和实现方法,本节我们依旧横向展开"横纵式"教学法,如图1所示,本节主要探讨在手写数字识别任务中,使得损失达到最小的参数取值的实现方法。图1:“横纵式”教学法 — 优化算法。原创 2022-10-17 14:37:25 · 236 阅读 · 0 评论 -
1.3.3 手写数字识别之损失函数
上一节我们尝试通过更复杂的模型(经典的全连接神经网络和卷积神经网络),提升手写数字识别模型训练的准确性。本节我们继续将“横纵式”教学法从横向展开,如图1所示,探讨损失函数的优化对模型训练效果的影响。图1:“横纵式”教学法 — 损失函数优化损失函数是模型优化的目标,用于在众多的参数取值中,识别最理想的取值。先根据输入数据正向计算预测输出。再根据预测值和真实值计算损失。最后根据损失反向传播梯度并更新参数。原创 2022-10-17 14:36:17 · 657 阅读 · 0 评论 -
1.3.2 手写数字识别之网络结构
前几节我们尝试使用与房价预测相同的简单神经网络解决手写数字识别问题,但是效果并不理想。原因是手写数字识别的输入是28 × 28的像素值,输出是0-9的数字标签,而线性回归模型无法捕捉二维图像数据中蕴含的复杂信息,如图1所示。无论是牛顿第二定律任务,还是房价预测任务,输入特征和输出预测值之间的关系均可以使用“直线”刻画(使用线性方程来表达)。但手写数字识别任务的输入像素和输出数字标签之间的关系显然不是线性的,甚至这个关系复杂到我们靠人脑难以直观理解的程度。图1:数字识别任务的输入和输出不是线性关系。原创 2022-10-17 14:34:56 · 835 阅读 · 0 评论 -
1.3.1 手写数字识别之数据处理
上一节我们使用“横纵式”教学法中的纵向极简方案快速完成手写数字识别任务的建模,但模型测试效果并未达成预期。我们换个思路,从横向展开,如图1所示,逐个环节优化,以达到最优训练效果。本节主要介绍手写数字识别模型中,数据处理的优化方法。图1:“横纵式”教学法 — 数据处理优化上一节,我们通过调用飞桨提供的API加载MNIST数据集。读入数据划分数据集生成批次数据训练样本集乱序校验数据有效性。原创 2022-10-17 14:33:27 · 334 阅读 · 0 评论 -
1.3 手写数字识别任务
在模型设计环节,除了在极简版本使用的单层神经网络(与房价预测模型一样)外,还可以尝试更复杂的网络结构,如多层神经网络、加入非线性的激活函数,甚至专门针对视觉任务优化的卷积神经网络。原创 2022-10-17 14:28:29 · 916 阅读 · 0 评论 -
1.2 波士顿房价预测(飞桨版)
开发者仅需添加一个装饰器( to_static ),飞桨会自动将动态图的程序转换为静态图的program,并使用该program训练并可保存静态模型以实现推理部署。原创 2022-10-12 23:13:24 · 1293 阅读 · 0 评论 -
1.1 波士顿房价预测
模型结构三要素对于预测问题,可以根据预测输出的类型是连续的实数值,还是离散的标签,区分为回归任务和分类任务。因为房价是一个连续值,所以房价预测显然是一个回归任务。下面我们尝试用最简单的多元线性回归模型解决这个问题,并用神经网络来实现这个模型。假设房价和各影响因素之间能够用线性关系来描述:y=∑j=1Mxjwj+b(公式1)y = {\sum_{j=1}^Mx_j w_j} + b (公式1)y=j=1∑Mxjwj+b(公式1)模型的求解即是通过数据拟合出每个wjw_jwj和bbb。其中,wj原创 2022-10-12 23:12:11 · 3560 阅读 · 0 评论