||
一 .机器学习之前的AI传统计算损失了数据点之间的内在连系信息
机器学习之前的AI传统计算对每个数据点(泛函意义下数据和几何点是不区分的)单独计算处理,然后综合之得出总的结果。
其缺点1是,(数据)点太多时,计算量大到不可行。
其缺点2是,按照信息论的观点,对每个数据点单独计算处理时,虽然单个点的信息还在,
但丧失了各点--比如一张人脸图片里的某两个像素点,比如鼻部和嘴部的两个点,
或脸颊上任意两点--之间的关联信息,在后续阶段也难以弥补。
其缺点3是,没有充分利用大(量)数据(比如多张人脸图片)的统计或累积信息。
机器学习算法对数据集(点集)并行处理,
可以较好地保留和利用数据点之间内在的逻辑和演变关系,从根本上改变了前述传统计算的不足。
这里的并行指对数据的并行利用处理算法,不是指计算机的软硬件的并行结构。
下面以典型例子说明【8】。
二. 机器学习主要采用回归分类聚类等并行算法
机器学习和深度学习都是对数据(点)集的并发处理,
原则上每一个数据点都并行地参与运算并影响结果。
三. 深度学习图形识别原理
深度学习是依靠神经网络模型实现机器学习的一种技术或者说一个分支。
机器学习里特征feature选取是一个相对独立的步骤,深度学习里特征一般是自动选取的,
模型运行机理更加“黑盒”。
矩阵卷积的定义:和高等数学里函数的卷积定义是不同的,矩阵(图像也可以表达为矩阵) 的卷积更简单【0】。
CNN中的卷积本质上就是利用一个共享参数的过滤器(kernel),通过计算中心像素点以及相邻像素点的加权和来构成feature map实现空间特征的提取,比如用卷积核检测对象图片中的物体边缘的方向。【1】
当然加权系数就是卷积核的权重系数,卷积核的系数是随机化初值,然后根据误差函数通过反向传播梯度下降进行迭代优化。
实际深度学习模型有多个卷积层,相当于对stream数据流用多层/模块做分层处理。
这里所谓对图像做卷积是个形象的说法,计算上上的意义,就是对图像的像素集合(点集)
并行处理。
传统的图形处理用图形学的方法,点线面,高度依赖曲线曲面函数。但是常见的图像曲面曲线比如人脸没有准确的函数,用图形学方程逐点计算效果不好而且太慢了,而采用CNN快多了,而且对研发人员的图形学要求降低了一大半。更重要的是,快速准确比对人脸或者识别其他形状不规则对象的传统算法还没有找到,尽管对人而言,识别照片是否为本人是个简单的任务。
四 .自然语言处理的传统算法和RNN算法【2】
自然语言处理(NLP)传统的方法,是20世纪50年代到70年代基于规则的确定算法;
20世纪70年代到21世纪初基于统计的方法。这些传统方法难以捕获一个序列中各个字词之间
的 关联信息。
到了2008年到2019年,是深度学习的RNN、LSTM、GRU方法,这种方法能够更好地捕捉到一个序列中各个元素之间的关联信息,显然对句子理解更加准确。
RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。
RNN对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,利用了RNN的这种能力,使深度学习模型在解决语音识别、语言模型、机器翻译以及时序分析等NLP领域的问题时有所突破。
传统上,RNN 对每个词都会建立一个表示——使用序列的方式。例如,每个时间步一个词。从直观上来说,我们可以想象,一个 RNN 层是一个传送带。词汇以自回归的方式从左到右被处理。在结束的时候,我们可以得到每个词在句子中的隐藏特征,然后将这些特征输入到下一个 RNN 层中,或者用到任务中去。这种模型由于不适合并行计算,准确性也不好,已经逐渐被Transformer模型代替。
五. Transformer模型【3,4】
NIPS 是AI领域的顶会,Google 2017 年于NIPS会议发布论文《Attention is all you need》,提出了解决sequence to sequence问题的transformer模型,该文章使用全Attention的结构代替了LSTM,抛弃了之前传统的encoder-decoder模型必须结合CNN或者RNN的固有模式。在减少计算量和提高并行效率的同时还取得了更好的结果,被评为2017年 NLP 领域的年度最佳论文。
Transformers的基本想法是self-attention机制,也就是通过矩阵计算,每个标记/词都与其他标记/词相关,找出句子中所有其他单词对上述单词的重要性。Transformer结构如下:
Encoder和Decoder框架,均由多个Transformer Block堆叠而成的。
单个的Transformer Block主要由两部分组成:多头注意力机制(Multi-Head Attention)和前馈神经网络(Feed Forward)。
Transformer一开始是用于机器翻译,比如中文序列到英文序列(sequence to sequence)的。但如果先用CNN提取图像的特征,然后把最后特征图的每个点看成word,这样特征图就变成了a sequence,可以用Transformer模型处理了。
Transformer适合高效的并行计算。
Transformer失去的位置信息其实在NLP中非常重要,而论文中在特征向量中加入Position Embedding也只是一个权宜之计,并没有改变Transformer结构的固有缺陷。
六.图神经网络GNN【5】
Transformer是图神经网络GNN的特例
为了使连接更加清晰,可以将一个句子看作一个完全连接的图,其中每个单词都连接到其他每个单词。现在,我们可以使用GNN来为图(句子)中的每个节点(单词)构建特征,然后我们可以使用它来执行NLP任务。
Transformers是以多头注意力(multi head attention)作为邻聚合函数的GNNs。标准GNNs从其局部邻域节点聚合特征,而NLP的Transformers将整个句子视为局部邻域,在每个层聚合来自每个单词的特征。
GNN 接收格式化的图形数据作为输入,并生成一个数值向量,该向量表示有关节点及其关系的相关信息。用于表示图形数据的格式类型可能因图形类型和预期应用而异,但总的来说,是将信息表示为一系列矩阵。
图神经网络的一些应用:
节点分类: GNN 的应用之一是向节点添加新信息或填补信息缺失的空白。例如,在一个社交网络,并且发现了一些机器人帐户。现在想了解的网络中是否还有其他机器人帐户。可以训练 GNN 以根据他们的图模式与已知机器人的接近程度将用户分类为“机器人”或“非机器人”。
边预测:使用 GNN 的另一种方法是找到可以为图增加价值的新边缘。回到社交网络,GNN 可以在图中找到与你关系密切但还不是朋友的用户(节点)(即,没有一条边可以将您彼此连接)。
聚类: GNN 可以从图中收集新的结构信息。例如,在社交网络中,GNN 可以在图中找到形成集群的节点。这些集群可以指向具有相似兴趣或活动特征的用户组。
七.图卷积网络GCN
借助谱图理论(Spectral Graph Theory),将空域中的拓扑图结构通过傅立叶变换映射到频域中并进行卷积,然后利用逆变换返回空域,从而完成了图卷积操作GCN【6】。GCN与CNN都是聚合邻域信息的运算,与CNN最大的区别在于处理的数据结构不同,CNN处理的图像数据中像素点(pixel)相当于排列整齐的矩阵。科学研究中还有很多Non Euclidean Structure的数据,社交网络、信息网络中有很多类似的结构,在这样的数据结构(拓扑图)上有效地提取空间特征来进行机器学习【7】。
八. 机器学习应用落地但理论只是仿真近似
回到题目,这些卷积,矩阵运算无非是对点集数据的并行变换,
或者说对大数据的并行处理,以采集数据点之间之间/数据集之间关联信息。
机器学习AI是数据驱动的,这与传统AI里算法主导有本质区别【8,9,10】。
【0】 矩阵卷积运算的具体过程
【1】CNN(卷积神经网络)介绍 - 知乎 (zhihu.com)
【2】三大特征提取器(RNN/CNN/Transformer)_
【3】transformer是GNN的特例Transformer和GNN有什么联系吗? - 知乎 (zhihu.com)
【4】Transformer模型简介_CSDN博客_transformer模型
【5】什么是图神经网络 (GNN)? - 知乎 (zhihu.com)
【6】 拉普拉斯变换应用中,以研究对象为基础,将其规划为一个时域数学模型,然后再借助于拉普拉斯变换转变为复域数学模型。如果想要结果更直观,可以使用复数图形来表示,而图形的表示方法以传递函数(复域数学模型)为基础,拉氏变换是古典控制理论中的数学基础。傅里叶变换是拉普拉斯变换的特例。
【7】贪心学院:对比CNN,GCN的核心区别点在哪里?或者创新点在哪里? - 知乎 (zhihu.com)
【8】科学网—深度学习基本原理 - 徐明昆的博文 (sciencenet.cn)
【9】科学网—人工智能转入深度学习时代的方法论原因 - 徐明昆的博文 (sciencenet.cn)
【10】科学网—机器学习不适合干什么 - 徐明昆的博文 (sciencenet.cn)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 23:22
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社