飞桨深度学习学院零基础深度学习7日入门-CV疫情特辑学习笔记(一)预习课程

一.预习课程

一直很想系统的学习一下深度学习相关的入门知识,上周五在CSDN APP上看到百度飞浆深度学习的免费课程,特别开心,马上报名参加。之前因为工作原因接触过TensorFlow框架,在一个水资源监控预警平台中,不过当时并不负责该模块,只是稍微了解一些,但从未深入的学习和使用,但是很感兴趣,也一直在阅读相关的资料,同时也在B站学习吴恩达大神的理论入门课程。在学习中遇到很多困惑问题,特别是概念理解和数学原理,本人大学是英语专业,所以对于高数相关概念知识特别陌生,一时半会也很难搞懂,不过还是找到高中数学有关函数,极限,微积分,统计等方面的教程学习了一下。

闲话莫说,开始正事。

学习目标:

从一个完全不懂深度学习的小白,通过学习本课程后,能够了解基本的深度学习概念,熟悉必备的数序基础知识,学会常见的编程工具Python,并掌握实用的深度学习框架PaddlePaddle

重点笔记:

1. 理解概念  

机器学习:机器学习(machine learning)是从数据中提取知识。它是统计学、人工智能和计算机科学交叉的研究领域,也被称为预测分析(predictive analytics)或统计学习(statisticallearning)

深度学习:深度学习是机器学习的一种,而机器学习是实现人工智能的必经路径。深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。

人工智能:人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等

机器学习是指计算机使用大数据集而不是硬编码规则来学习的能力。

机器学习允许计算机自己学习。这种学习方式利用了现代计算机的处理能力,可以轻松地处理大型数据集。

基本上,机器学习是人工智能的一个子集;更为具体地说,它只是一种实现AI的技术,一种训练算法的模型,这种算法使得计算机能够学习如何做出决策。

从某种意义上来说,机器学习程序根据计算机所接触的数据来进行自我调整。

监督学习:监督式学习需要使用有输入和预期输出标记的数据集。监督式学习的一个例子是天气预报人工智能。它学会利用历史数据来预测天气。训练数据包含输入(过去天气的压力、湿度、风速)和输出(过去天气的温度)。

监督机器学习问题主要有两种,分别叫作分类(classification)与回归(regression)。

 

非监督学习:非监督式学习是利用既不分类也不标记的信息进行机器学习,并允许算法在没有指导的情况下对这些信息进行操作。

2.深度学习如何工作

深度学习是一种机器学习方法 , 它允许我们训练人工智能来预测输出,给定一组输入(指传入或传出计算机的信息)。监督学习和非监督学习都可以用来训练人工智能。

 

神经网络是一组粗略模仿人类大脑,用于模式识别的算法。神经网络这个术语来源于这些系统架构设计背后的灵感,这些系统是用于模拟生物大脑自身神经网络的基本结构,以便计算机能够执行特定的任务。

神经元,权重

通过训练可以改进神经网络

模型训练的目标是使成本函数等于零,即当AI的输出结果与数据集的输出结果一致时(成本函数等于0)

梯度下降法是一种求函数最小值的方法。在这种情况下,目标是取得成本函数的最小值。 它通过每次数据集迭代之后优化模型的权重来训练模型。通过计算某一权重集下代价函数的梯度,可以看出最小值的梯度方向。

 

案例学习:使用 PaddlePaddle来学习手写数字分类(这里就不拷贝原始教案和代码了,直接记录自己的操作要点)

本地是Windows 10 64位 python 3.7 anaconda 最新版

1.首先安装anaconda,推荐使用清华大学镜像源下载安装,配置好channel

2.安装paddlepaddle,参考官方安装教程,不要再虚拟机里面安装吗,会出现奇奇怪怪的问题。

https://www.paddlepaddle.org.cn/install/quick

3.测试是否安装成功
 

#进入Python交互界面
CMD里面输入python

import paddlepaddle.fluid

paddle.fluid.install_check.run_check()

#如果出现 Your Paddle Fluid is installed successfully!,说明您已成功安装。

4.如果单独创建了paddle环境,因为paddle里面已经自带了jupyter 系列模块,所以如果再次安装提示无法安装,但默认base环境启动jupyter notebook无法导入paddle模块,如果想正常使用jupyter notebook,需要进行如下配置。

首先激活对应的conda环境

source activate 环境名称

将环境写入notebook的kernel中

python -m ipykernel install --user --name 环境名称 --display-name "Python (环境名称)"

【如果失败的话先 conda install ipykernel】

然后打开notebook

jupyter notebook

浏览器打开对应地址,新建python,就会有对应的环境提示了。

5.直接在百度AI Studio中阅读案例代码,并运行,查看结果。

案例中的相关概念比较多,不必着急,先试着理解,关运行代码看看结果,重要的是理解和掌握使用paddle处理该类问题的流程步骤。

Step1:准备数据   使用的是MINIST数据集,原始图像已通过paddle.dataset.mnist.train()和test()接口进行灰度处理,归一化,居中处理。这些处理是为了保证输入数据质量,大小控制在[-1,1]之间。

Step2:配置网络  定义三层感知器,两个隐层,一个输出层。最后输出层的激活函数是Softmax。

多层感知器的结构是:输入层-->>隐层-->>隐层-->>输出层。

 

Step3:模型训练 STEP4:模型评估

Step5:模型预测
在预测之前,要对图像进行预处理,处理方式要跟训练的时候一样。首先进行灰度化,然后压缩图像大小为28*28,接着将图像转换成一维向量,最后再对一维向量进行归一化处理。

6.本地启动jupter notebook,新建项目,选择paddle环境,把案例代码依次COPY&PASTE在本地cell中运行,查看结果。

本地调试,1.要更改相关的图像路径,以免出现找不到文件错误

2.更改模型保存路径

#保存模型
    #model_save_dir = "/home/aistudio/data/hand.inference.model"
    model_save_dir = "data/hand.inference.model"

思考和排错:

1.在Jupyter 中Run菜单选择Restart Kernel and  Run all Cells,但未发现报错

2.仔细检查代码,发现模型保存路径是绝对路径,在本地找不到该路径,所以模型未起作用,更改为相对路径data目录

粗心大意要不得啊,浪费精力,资源!!!排除错误,重新运行,得到理想结果。

7.进行部分参数调整,思考会有何变化,查看结果。

换个图片试试,百度下一个图片

(原始图片)

(加载后图片)

(预测结果)

此外还可以对损失函数,精确函数,优化方法等进行调整替换,todo mark!

 

配套参考资料:1.百度深度学院课程课件   2.B站吴恩达斯坦福深度学习教程  3.Python机器学习教程

https://aistudio.baidu.com/aistudio/projectdetail/350434

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值