AI学习笔记-深度学习

一:深度学习的概念

深度学习是归属与机器学习的范畴之内,属于表征学习,是借助于深层神经网络的启发的机器学习方式,

神经网络运行机制原理:一个神经网络由非常多个神经元构成,每个神经元只会处理一些简单的运算,并将运算的结果传递至下一个神经元,下一个神经元处理不同的另一个运算,再传递给下一个,最终输出一个结果。神经网络最重要的作用是分类。

二:深度学习的基本模型

卷积神经网络(CNN)和递归神经网络(RNN)。前者主要用于计算机视觉(CV),后者主要用于自然语言处理(NLP)。

1. 卷积神经网络(CNN)convolutionalneural network

CNN的模型通常建立在前馈神经网络模型之上,它的结构你也应该不陌生。不同是的,“隐藏层”将被以下这些层取代:

卷积层(ConvolutionalLayers)

激活函数

池化层(Pooling Layers)

全连接层(稠密层,Dense Layers)

1)卷积层的作用和原理

卷积层的作用是通过一个卷积核提取局部特征,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;

针对一个100*100像素在使用一个滑动窗口(或称过滤器10*10)平滑处理(步幅也是参数之一),将信号的特征值提取出来,并且一般会使用多个不同的窗口进行卷积,输出多个通道(一个窗口对应一个通道)的处理结果,

卷积层还有一个特性就是权值共享原则。如下图:


如没有这个原则,则特征图由10个32*32*1的特征图组成,即每个特征图上有1024个神经元,每个神经元对应输入图像上一块5*5*3的区域,即一个神经元和输入图像的这块区域有75个连接,即75个权值参数,则共有75*1024*10=768000个权值参数,这是非常复杂的,因此卷积神经网络引入“权值”共享原则,即一个特征图上每个神经元对应的75个权值参数被每个神经元共享,这样则只需75*10=750个权值参数,而每个特征图的阈值也共享,即需要10个阈值,则总共需要750+10=760个参数。

所谓的权值共享就是说,给一张输入图片,用一个filter去扫这张图,filter里面的数就叫权重,这张图每个位置就是被同样的filter扫的,所以权重是一样的,也就是共享。

 

2)池化层的作用和原理

池化层在卷积层之后,是取出每个滑动窗口的最大值/最小值/平均值,把很多数据用最大值或者平均值代替。对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征,还可以增加灵活度,避免过拟合。

例子:举个例子,一个班学生成绩的池化,假如看教室的俯视图,若教室里学生座位是9*9的,那么可以这样池化,从左上角,每3*3区域的学生,选出一个最高分代表整个区域,以此类推,整个教室池化完剩下9个区域的最大值成绩,这就是所谓的“最大值池化”,当然,还有平均值池化,最小值池化。(卷积层每次作用在一个窗口,它对位置很敏感。池化层可以缓解这个问题,池化层会找出窗口中的最大值,至于最大值在窗口中的什么位置,它不管)

同样地采用一个2*2的filter,max pooling是在每一个区域中寻找最大值,这里的stride=2,最终在原特征图中提取主要特征得到右图。 
(Avy pooling现在不怎么用了,方法是对每一个2*2的区域元素求和,再除以4,得到主要特征),而一般的filter取2*2,最大取3*3,stride取2,压缩为原来的1/4. 
注意:这里的pooling操作是特征图缩小,有可能影响网络的准确度,因此可以通过增加特征图的深度来弥补(这里的深度变为原来的2倍)。

 

3)全连接层的作用和原理

全连接运算:输入信号经过多次卷积核池化运算后,输出为多组信号,经过全连接运算,将多组信号依次组合为一组信号,将输出值送给分类器(如softmax分类器)。

 

4)激活函数的作用和原理

convolution layer(卷积层)需要激活函数 pooling layer(池化层)需要激活函数 normalizationlayer(归一化层)不需要激活函数 fully-connected layer(全连接层)需要激活函数 cost layer不需要激活函数

 

首先,激活函数不是真的要去激活什么。在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。

比如在下面的这个问题中:

如上图(图片来源),在最简单的情况下,数据是线性可分的,只需要一条直线就已经能够对样本进行很好地分类。

但如果情况变得复杂了一点呢?在上图中(图片来源),数据就变成了线性不可分的情况。在这种情况下,简单的一条直线就已经不能够对样本进行很好地分类了。

于是我们尝试引入非线性的因素,对样本进行分类。

在神经网络中也类似,我们需要引入一些非线性的因素,来更好地解决复杂的问题。而激活函数恰好能够帮助我们引入非线性因素,它使得我们的神经网络能够更好地解决较为复杂的问题。

2. 递归神经网络(RNN)

RNN神经网络为什么广泛应用于自然语言处理?因为它是依靠时间序列具有记忆功能的——这一刻的输出,除了考虑这一刻的输入外,还有一部分是来自上一刻的输出记忆。同时这一刻的输出也会有一部分做为“记忆”传给下一刻。LSTM用来解决梯度消失梯度爆炸问题,对于长距离的句子的学习效果不好的问题,里面加了一些参数,加了门单元来选择忘记和记住一些信息。

 

RNN的原理

上图是RNN神经网络的结构示意图。上左图是简化过程,介绍从上右图说起:

上右图包含t-1、t、t+1三个时刻的输入与输出;

t时刻的输入Xt经权值U、t-1时刻的状态记忆经权值W共同作用构成t时刻的状态St;

t时刻的状态St作为一部分记忆经权值W传入下一时刻,也作为t时刻的输出经权值V作用后输出Ot。

形象的比喻——横向的传播就是游戏的主线,游戏过程中不断有纵向的分线任务X传入,每一个分线任务都对主线任务构成影响且都能生成一个预测结果O,最后一个输出O就是游戏的最终结果;通俗的说就是:这样就成了一个循环神经网络RNN。除了简单的接收一张图片返回一个活动标记之外,RNN会通过给信息分配不同的权重,从而在内部保留了对世界的记忆,以便更好的执行分类任务。

 

 

LSTM网络:长短期记忆网络。一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

LSTM网络在RNN基础上有以下几点优化;

增加遗忘机制。例如当一个场景结束是,模型应该重置场景的相关信息,例如位置、时间等。而一个角色死亡,模型也应该记住这一点。所以,我们希望模型学会一个独立的忘记/记忆机制,当有新的输入时,模型应该知道哪些信息应该丢掉。

增加保存机制。当模型看到一副新图的时候,需要学会其中是否有值得使用和保存的信息。

所以当有一个新的输入时,模型首先忘掉哪些用不上的长期记忆信息,然后学习新输入有什么值得使用的信息,然后存入长期记忆中。

把长期记忆聚焦到工作记忆中。最后,模型需要学会长期记忆的哪些部分立即能派上用场。不要一直使用完整的长期记忆,而要知道哪些部分是重点。

这样就成了一个长短期记忆网络(LSTM)。

RNN会以相当不受控制的方式在每个时间步长内重写自己的记忆。而LSTM则会以非常精确的方式改变记忆,应用专门的学习机制来记住、更新、聚焦于信息。这有助于在更长的时期内跟踪信息。

 本文较多来源于量子位公众号文章,仅做学习笔记用。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习笔记v5是一本关于深度学习学习资料,下面我将用300字来回答有关这本笔记的内容。 深度学习是机器学习领域的一个重要分支,它主要研究模拟人脑神经网络的算法和模型,用于实现复杂的学习任务。深度学习在图像识别、语音识别和自然语言处理等领域取得了很多重要的突破,成为了人工智能领域的热点研究方向。 深度学习笔记v5中,首先介绍了深度学习的基本概念和原理。笔记详细解释了神经网络结构、前向传播、反向传播以及梯度下降等基本概念和算法。这些内容帮助读者理解深度学习的基本原理和工作机制。 接着,笔记介绍了常用的深度学习框架,如TensorFlow和PyTorch。这些框架提供了丰富的工具和函数,使得深度学习的开发变得更加简单和高效。笔记详细介绍了如何使用这些框架进行模型训练和评估。 此外,笔记还包含了一些深度学习的经典应用案例。这些案例涵盖了图像分类、目标检测、语音识别等多个领域。通过这些案例,读者可以深入了解深度学习在实际问题中的应用,并学习如何利用深度学习解决现实世界中的复杂任务。 最后,笔记还提供了大量的代码示例和练习题,帮助读者巩固所学的知识。通过实践,读者可以更好地理解深度学习的原理和应用。 总而言之,深度学习笔记v5是一本系统而全面的学习资料,适合对深度学习感兴趣的读者。通过阅读这本笔记,读者可以了解深度学习的基本概念和原理,掌握常用的深度学习框架,以及应用深度学习解决实际问题的方法。希望这本笔记能够对读者在深度学习领域的学习和研究有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值