课程快看完了,王乐业老师讲的真不错,准备看完数据分析后,接着再买爬虫来好好看看。
还是把老师的笔记记下来,以后复习用。
神经网络
定义:
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
原理:
所谓神经网络就是将许多个单一“神经元”联结在一起,这样,一个“神经元”的输出就可以是另一个“神经元”的输入。例如,下图就是一个简单的神经网络:
我们使用圆圈来表示神经网络的输入,标上“ +1”的圆圈被称为偏置节点,也就是截距项。神经网络最左边的一层叫做输入层(input layer),最右的一层叫做输出层(output layer)。中间所有节点组成的一层叫做隐藏层(hidden layer)。以上神经网络的例子中有3个输入单元$x_{1},x_{2},x_{3}$(偏置单元不计在内),3个隐藏单元$a_{1},a_{2},a_{3}$及一个输出单元$h_{w,b}(x)$。
本例神经网络的计算步骤如下:
深度学习
定义:
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习之卷积神经网络
定义:
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络。卷积神经网络由三部分构成。第一部分是输入层。第二部分由n个卷积层和池化层的组合组成。第三部分由一个全连结的多层感知机分类器构成。
原理:
卷积神经网络判断一个图片是否包含目标的过程,包括四个步骤:图像输入(Input Image)→卷积(Convolution)→最大池化(Max Pooling)→全连接神经网络(Fully-Connected Neural Network)计算。
卷积神经网络—图像处理
当图片通过输入层进入卷积层,首先初始化一个卷积核,用卷积核(也叫滤波器)和图片局部连接(与图片局部进行点乘,得到feature map),以横滑的方式,遍历整张图片。
下面展示了一个3×3的卷积核在5×5的图像上做卷积的过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来
深度学习之循环神经网络
定义:
RNN(Recurrent Neuron Network)是一种对序列数据建模的神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
原理:
RNNs包含输入单元(Input units),输入集标记为{$x_{0},x_{1},x_{2},...,x_{t},x_{t+1},...$},而输出单元{$y_{0},y_{1},y_{2},...,y_{t},y_{t+1},...$}(Output units)的输出集则被标记为{}。RNNs还包含隐藏单元(Hidden units),我们将其输出集标记为{$s_{0},s_{1},s_{2},...,s_{t},s_{t+1},...$},这些隐藏单元完成了最为主要的工作。在RNNs中,在$t$时刻,经过运算得到隐藏层输出$h_t$,然后将$h_t$与$x_{t+1}$一同作为输入进入隐藏层,得到输出$h_{t+1}$,一直迭代,直到循环结束。
深度学习之应用
1. 图像处理
2012 年以来,深度学习极大的推动了图像识别的研究进展,突出体现在ImageNet ILSVRC 和人脸识别,而且正在快速推广到与图像识别相关的各个问题。深度学习的本质是通过多层非线性变换,从大数据中自动学习特征,从而替代手工设计的特征。深层的结构使其具有极强的表达能力和学习能力,尤其擅长提取复杂的全局特征和上下文信息,而这是浅层模型难以做到的。一幅图像中,各种隐含的因素往往以复杂的非线性的方式关联在一起,而深度学习可以使这些因素分级开,在其最高隐含层不同神经元代表了不同的因素,从而使分类变得简单。
2. 机器翻译
机器翻译研究60多年来的发展趋势是不断降低人在翻译过程中的主导作用;基于深度学习的方法可以直接用神经网络描述整个翻译过程。在深度学习中,因为RNN具有记忆功能,能够记住处理过的每个词,所以它计算的最终编码表示句子中的所有词,第一个RNN可以给句子生成编码。然后,第二RNN遵循相反的逻辑,解码得到原始句子。
TensorFlow框架
TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。它可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow完全开源,任何人都可以用。
强化学习
定义:
强化学习(reinforcement learning),就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。
原理:
强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。
迁移学习
定义:
迁移学习(Transfer Learning)可以从现有的数据中迁移知识,用来帮助将来的学习。迁移学习的目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。
深度迁移学习示例
在这个框架中对三个部分进行训练:一个是feature extractor,这个是用于提取特征的,一般由卷积层与pooling层组成;另一个是label classifier,使用全连接层+逻辑斯蒂分类器;第三个在一般的分类器中不会出现,也就是和feature extractor构成对抗网络框架的分类器domain classifier,它也是一个分类器,由全连接层+交叉熵分类器构成。其中全连接层的激活函数都是relu函数。对抗体现在对于domain classifier损失在训练阶段两个相反的要求。具体而言:对于domain adaptation应用,我们希望网络学到的特征表示具有领域不变(domain invariant)的特征,那么就要求domain classifier不能正确进行领域分类,也就是要求domain classifier的分类损失最大;另一方面在对domain classifier训练时,我们肯定要求分类器能尽可能的正确分类,也就是domain classifier的分类损失最小。