Python深度学习实践-基于PyTorch

目录

深度学习简介

1.1计算机视觉 

1.1.1定义

1.1.2计算机视觉基本任务 

1.1.3计算机视觉传统方法

1.1.4现代深度学习

 1.2自然语言处理

1.2.2传统方法与神经网络方法的比较 

1.3强化学习

1.3.1什么是强化学习

 1.监督学习

 2.无监督学习

3.强化学习的四个因素

4.强化学习的目标 

 5.强化学习的特征

 1.3.2强化学习算法简介

1.Model-Based VS Model-Free

2.基于概率 VS 基于价值

1.3.3强化学习算法的应用 

 1. 交互性检索

2. 新闻推荐


深度学习简介

深度学习是机器学习领域中的一个研究方向,它通过学习样本数据的内在规律和表示层次,使机器具有分析学习能力。

深度学习的核心在于使用深层神经网络来模拟人脑处理信息的方式,这些网络能够自动学习和提取数据的高层次特征。

1.1计算机视觉 

1.1.1定义

计算机视觉是一门研究如何使机器“看”的科学,它涉及到使用摄像机和电脑代替人眼对目标进行识别、跟踪和测量等任务

计算机视觉是人工智能领域的一个重要分支,它的核心目标是让机器能够通过图像或视频数据来理解和解释现实世界

1.1.2计算机视觉基本任务 

计算机视觉的基本任务主要可以概括为:

  • 图像分类(Image Classification):这是计算机视觉中最基础的任务之一,它的目的是识别出图像中的主要物体属于哪个类别。这通常涉及到对整个图像的全局描述和特征学习,然后使用分类器来确定图像中是否存在某个特定的物体或场景。
  • 目标定位(Object Localization):与图像分类不同,目标定位不仅要识别出图像中的物体是什么,还要确定其在图像中的具体位置。这通常需要更精细的特征描述和定位算法。
  • 目标检测(Object Detection):目标检测的任务是在图像中识别并定位多个目标。这比单一的目标定位更加复杂,因为它需要在一幅图像中同时识别和定位多个物体。
  • 目标跟踪(Object Tracking):在视频序列中追踪一个或多个目标物体的移动轨迹。这要求系统能够持续地识别同一目标,即使在目标被遮挡或光线变化的情况下也是如此。
  • 语义分割(Semantic Segmentation):将图像中的每个像素点分配到一个类别中,用于理解图像中各个部分的含义。这与实例分割不同的是,语义分割不考虑同一类别的不同实例之间的区分。
  • 实例分割(Instance Segmentation):结合了目标检测和语义分割的任务,它不仅需要识别图像中的各个物体,并且还需要区分同一类别中不同的个体实例,并对其进行精确的像素级分割。

1.1.3计算机视觉传统方法

在深度学习算法出现之前,视觉算法大致可以分为以下5个步骤:特征感知图像预处理特征提取特征筛选推理预测与识别

缺点
1.缺乏对特征的重视
2.图像特征提取需要人力
3.依赖特征算子

成功例子
1.指纹识别算法
2.基于Haar的人脸检测算法
3.基于HOG特征的物体检测

1.1.4现代深度学习

计算机视觉里经常使用的卷积神经网络(Conventional Neural Network,CNN),是一种比较精准的对人脑的模拟。人脑在识别图片的过程中,并不是同时对整张图片进行识别,而是先感知图片的局部特征,之后将局部特征综合起来再得到图片的全局信息。卷积神经网络模拟了这一过程,其卷积层(Convolution,Conv)通常是堆叠的。低层的卷积层可以提取到图片的局部特征,例如角、边缘、线条等;高层的卷积层能够从低层的卷积层中学到更复杂的特征,从而实现图片的分类和识别。
卷积就是指两个函数之间的相互关系。在计算机视觉里面,可以把卷积当作一个抽象的过程,就是把小区域内的信息统计、抽象出来。
池化过程在一般卷积过程后。池化(pooling) 的本质,其实就是采样。Pooling 对于输入的 Feature Map,选择某种方式对其进行降维压缩,以加快运算速度。

池化层用于降低特征图的空间分辨率,并增强模型对输入图像的平移不变性和鲁棒性。常用的池化方式包括最大池化和平均池化。最大池化的操作是在一个滑动窗口中取最大值作为输出,平均池化的操作是在一个滑动窗口中取平均值作为输出。

池化的作用:

(1)保留主要特征的同时减少参数和计算量,防止过拟合。

(2)invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)。

 LeNe网络

 输入:大小为224X224像素的图片。

特征:第一层,都是一些填充的块状物和边界等特征中间的层开始学习一些纹理特征;而在接近分类器的高层,则可以明显看到的物体形状的特征。最后的一层,即分类层,不同物体的主要特征已经被完全提取出来。

 1.2自然语言处理

1.2.2传统方法与神经网络方法的比较 

  1. 传统方法适用于特征工程比较成熟、数据较少或易解释性要求高的场景;
  2. 神经网络方法适用于数据较大、特征难以手动设计或对模型性能要求较高的场景。 在实际应用中,可以根据问题的特点和数据的性质选择合适的方法。

1.3强化学习

1.3.1什么是强化学习

强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的3类主要学习方法。

 1.监督学习

监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有输入映射为相应输出,以实现分类

 2.无监督学习

无监督学习是在样本的标签未知的情况下,根据样本之间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器

3.强化学习的四个因素

强化学习主要包含4个元素:

智能体(agent):智能体是执行任务的客体,只能通过与环境互动来提升策略。

环境状态(state):在每一个时间节点,智能体所处的环境的表示即为环境状态。

行动(action):在每一个环境状态中,智能体可以采取的动作即为行动。

反馈(reward ):每到一个环境状态,智能体就有可能会收到一个反馈。

 智能体在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些反馈(观测),并且必须选择一个行动(动作),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。

4.强化学习的目标 

 强化学习算法的目标就是获得最多的累计奖励(正反馈)。以“幼童学习走路”为例:幼童需要自主学习走路,没有人指导他应该如何完成“走路”,他需要通过不断的尝试和外界对他的反馈来学习走路。

 5.强化学习的特征

没有明确的标签:强化学习没有明确的标签来告诉智能体什么是正确的动作。必须通过与环境的交互来学习。

延迟回报:奖励信号可能在未来的时间点才会到达,因此代理需要考虑长期回报而不只是当前的奖励。

动态环境:环境可能是动态变化的,智能体必须能够适应环境的变化并调整策略。 

 1.3.2强化学习算法简介

1.Model-Based VS Model-Free

Model-Based算法 

agent可以根据模型预测下一步的结果,并提前规划行动路径。但真实模型和学习到的模型是有误差的,这种误差会导致agent虽然在模型中表现很好,但是在真实环境中可能打不到预期结果。 

Model-Free算法 

 Model-Free的算法看似随意,但这恰好更易于研究者们去实现和调整。比如:Q-learning和SARSA

2.基于概率 VS 基于价值

基于概率的算法 

基于概率的算法直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。每种动作都有可能被选中, 只是可能性不同。基于概率的算法的代表算法为policy-gradient。

基于价值的算法

基于价值的算法输出的则是所有动作的价值, 然后根据最高价值来选择动作, 相比基于概率的方法, 基于价值的决策部分更为死板——只选价值最高的,而基于概率的, 即使某个动作的概率最高, 但是还是不一定会选到它。基于价值的算法的代表算法为Q-Learning。

1.3.3强化学习算法的应用 

 1. 交互性检索

交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。

2. 新闻推荐

新闻推荐需要:获取用户请求,召回候选新闻,对候选新闻进行排序,最终给用户推出新闻。        将用户持续浏览新闻的推荐过程看成一个决策过程,通过强化学习学习每一次推荐的最佳策略,提高用户的点击率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值