PyTorch深度学习实践-(一)介绍

课程链接 《PyTorch深度学习实践》完结合集
PyTorch版本:0.4,目前最新1.5,跟着课程可以用1.0,1.2,1.5的应该也行(重点:要会看文档)
大学学的课程为何普遍与企业脱轨
PyTorch深度学习实践-(一)介绍_第1张图片如上图,一门技术需要经历发展期,下降期,冰河期,应用期,一门技术的出现在使用过程中,会出现个各种各样的问题和缺陷,就会陷入下降期,冰河期,很多技术在冰河期就会死掉,而熬过了冰河期,就是一门成熟的技术,达到了应用期,我们在大学所学的技术都是处于应用期的技术,已经非常稳定,实用,如果去学处于发展期的技术,这门技术如果在冰河期就死掉,这样学的东西就会真的没用。进入应用期的技术变化会非常平缓

预测:把视觉上接收到的信息转化为抽象概念的过程
人工智能:把做推理的大脑变成算法,用算法进行推理(外卖软件根据用户订餐习惯推送)
穷举法:把所有的选择都列出来,看哪个符合条件
贪心算法:每一步只选择从当前看来最好的选择(梯度下降就是用的贪心算法)
分治算法:一分为二,快速排序就是用的分治算法
动态规划:

在机器学习里面,算法不是人为设计出来的,是首先有了数据集,我们要做的是从数据集里面把我们想要的算法找出来(机器学习算法来自于数据)
①建立模型②用数据验证,如果好用,就可以部署这个模型了
PyTorch深度学习实践-(一)介绍_第2张图片人工智能包括机器学习、机器视觉、自然语言处理、、、、
深度学习仅仅是人工智能领域非常小的一个部分,深度学习从12年开始变得越来越热门
PyTorch深度学习实践-(一)介绍_第3张图片

基于规则的系统:获得输入,手工编写规则,获得输出(Ex:求导)
经典机器学习算法:获得输入-手工提取特征(不管输入是什么,声音,文字,图片,我们把输入变成一个向量或者是张量)- -然后把这个向量和输出之间建立一个映射的关系(线性模型,感知机,神经网络实际上都是在做这个工作)
表示学习算法:提取特征也有学习得到
维度诅咒(维度灾难):如果输入的每一个样本的特征越多,对整个样本的数量需求越多,假如数据只有一个feature,在对数据进行采样时(采样越多,和数据的真实分布越贴近),就是在一个一维空间采样,假设采10个样本,相当于采10个点,如果数据有2个特征,就是在二维空间采样,这时采10个样本就需要采100个点…
PyTorch深度学习实践-(一)介绍_第4张图片维度(特征)越多,对数据的需求越大,但是数据集的成本是很高的,尤其是打了标签的数据集,于是我们想到降低这个维度,但是我们想要在降低维度的同时保持高维空间的度量信息。比如把3维曲面的点投影到二维平面,降维最主要的原因是学习器面临着维度的诅咒,维度(特征)越多,对数据的需求越大,数据量越大,花钱越多

深度学习系统:直接把原始性的特征拿进来,比如输入是一张图片,那就把图片的像素值变成张量拿进来,如果输入是一段语音,那就把语音波形的序列拿进来,然后设计一层额外的层用于提取特征,然后接入学习器(多层神经网络),最后输出
PyTorch深度学习实践-(一)介绍_第5张图片

传统的方法里面feature和学习器是分开训练的,深度学习里面训练过程是统一的,所系深度学习的过程也叫做EndToEnd(端到端)的训练过程(从输入到输出构建一个非常大的模型,然后对整个模型进行训练)

PyTorch深度学习实践-(一)介绍_第6张图片无结构数据:图像声音文本(对于这些无结构数据想要用SVM还得先做特征提取器)
在这里插入图片描述
ILSVRC:大规模视觉识别竞赛
PyTorch深度学习实践-(一)介绍_第7张图片2012年也是深度学习神经网络绽放异彩的头一年,ResNet的3.57的错误率是什么概念呢,就是首次超过了人类的识别率,人类的识别错误率啊5%。后来这个大赛不再举办了,因为这个问题被视为已经解决的问题

神经网络的历史发展

Cambrain period寒武纪
寒武纪之前都是浮游生物,寒武纪的时候大部分生物进化出了类似眼睛的结构,具有了趋光性或者避光性,在物种进化中拥有更好的优势,激发了物种爆发
PyTorch深度学习实践-(一)介绍_第8张图片
把神经元连起来,就得到了人工神经网络
PyTorch深度学习实践-(一)介绍_第9张图片
对于神经网络最重要的一个算法,让神经网络工作起来的算法:反向传播
反向传播实际上是求偏导数,随着网络层数的增加,写解析式是很麻烦的,所以用反向传播求导数
反向传播的核心是:计算图(前向计算),a.b是输入,在前向计算的时候就可以先求出一些偏导

PyTorch深度学习实践-(一)介绍_第10张图片
PyTorch深度学习实践-(一)介绍_第11张图片
神经网络模型非常多,关键不是要把所有的模型都学会,关键是学会构造模型的套路,然后构造自己的模型,学会基本快的实现,然后针对你的任务把他们组装起来,就像写代码一样,if语句,for循环

深度学习的进展原因

①算法:深度学习算法越来越多
②数据:数据集越来越丰富,数据量越来越大
③计算力提升:主要算力是英伟达的显卡

为什么用PyTorch讲解

PyTorch出现的时候主打动态图,动态图就是计算的售后把图计算出来,计算完就把图释放,所以每一次可以构造出不同的图,对于写神经网络非常方便
PyTorch深度学习实践-(一)介绍_第12张图片学术界主打PyTorch,工业界用TensorFlow比较多
TensorFlow最新的版本现在也是动态图了
PyTorch深度学习实践-(一)介绍_第13张图片

PyTorch官网地址

https://pytorch.org/
安装的时候没有显卡就装CPU版本
PyTorch深度学习实践-(一)介绍_第14张图片如果有显卡,就先装CUDA,去英伟达的官网看该显卡支持的CUDA版本
如果安装CUDA之前装过visual studio,可能安装会出错,安装CUDA要选择自定义模板,同时要把visual studio支持去掉

安装完成之后检查版本
PyTorch深度学习实践-(一)介绍_第15张图片

一定要注意是双下划线
在这里插入图片描述

你可能感兴趣的:(深度学习)