ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

到底什么是深度学习?(一)

到底什么是深度学习?(一) 这里写自定义目录标题人工神经网络ANNMLPPointNet(2017 CVPR)PointNetPointMLP人工神经网络ANN人工神经网络可以说是一个仿生学的概念。人类发现神经元之间相互协作可以完成信息的处理和传递于是提出了人工神经网络的概念用于进行信息处理。传统的BP神经网络一般指三层的全连接神经网络而大于三层就成了DNN深度神经网络。神经网络是一个优秀的函数近似者假设每个行为和每个系统最终都可以用一个数学函数来表示有的可能是非常复杂的函数如果能找到这样一个函数我们就可以了解系统的一切但寻找这一个函数是非常困难的所以我们需要对神经网络进行评估。激活函数Activation Function就是在人工神经网络的神经元上运行的函数负责将神经元的输入映射到输出端旨在帮助网络学习数据中的复杂模式。为什么使用激活函数如果不用激活函数每一层输出都是上层输入的线性函数无论神经网络有多少层输出都是输入的线性组合这种情况就是最原始的感知机Perceptron。使用激活函数能够给神经元引入非线性因素使得神经网络可以任意逼近任何非线性函数使深层神经网络表达能力更加强大这样神经网络就可以应用到众多的非线性模型中。激活函数需要具备以下几点性质:1 连续并可导允许少数点上不可导的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参 数。2.激活函数及其导函数要尽可能的简单有利于提高网络计算效率。3.激活函数的导函数的值域要在一个合适的区间内不能太大也不能太小否则会影响训练的效率和稳定性。激活函数可以分为两大类饱和激活函数 sigmoid、 tanh…非饱和激活函数: ReLU 、Leaky Relu 、ELU、PReLU、RReLU…神经网络通过大量的数据以及反向传播这样一个迭代算法来学习到目标函数。我们将数据传入网络中然后它输出结果接着我们将输出的结果和预期结果通过一个损失函数进行比较然后根据两者的差异来调整权重。不断重复这个过程。调整权重的办法是通过一个非线性优化技术–随机梯度下降来实现的。梯度下降的一个直观理解就是想象一条源自山顶的河流。这条河流会沿着山势的方向流向山麓的最低点而这也正是梯度下降法的目标。我们所期望的最理想的情况就是河流在到达最终目的地最低点之前不会停下。在机器学习中这等价于我们已经找到了从初始点山顶开始行走的全局最小值或最优值。然而可能由于地形原因河流的路径中会出现很多坑洼而这会使得河流停滞不前。在机器学习术语中这种坑洼称为局部最优解而这不是我们想要的结果。有很多方法可以解决局部最优问题。因此由于地形即函数性质的限制梯度下降算法很容易卡在局部最小值。但是如果能够找到一个特殊的山地形状比如碗状术语称作凸函数那么算法总是能够找到最优点。在进行最优化时遇到这些特殊的地形凸函数自然是最好的。另外山顶初始位置即函数的初始值不同最终到达山底的路径也完全不同。同样不同的流速即梯度下降算法的学习速率或步长也会导致到达目的地的方式有差异。是否会陷入或避开一个坑洼局部最小值都会受到这两个因素的影响。当网络可以输出非常好的结果时训练结束也就是说这时我们得到了一个近似的函数当给网络一个未知结果的输入数据网络会根据学习到的近似函数输出结果。这里举个例子来更好说明这个过程。比如我们现在有个任务是需要识别带有树的图片。我们将任意类别的图片也就是训练图片都传给网络然后网络会输出一个结果因为我们已经知道图片中是否有树所以我们只需要将网络的结果和该图片的真实类别是否有树进行比较然后调整网络。随着训练图片的增加网络犯的错误会越来越少。现在我们可以传给网络一张未知的图片非训练图片然后网络会告诉我们这张图片是否包含了树。深度学习算法打破了传统神经网络对层数的限制可根据设计者需要选择网络层数。它的训练方法与传统的神经网络相比有很大区别传统神经网络随机设定参数初始值采用BP算法利用梯度下降算法训练网络直至收敛。但深度结构训练很困难传统对浅层有效的方法对于深度结构并无太大作用随机初始化权值极易使目标函数收敛到局部极小值且由于层数较多残差向前传播会丢失严重导致梯度扩散因此深度学习过程中采用贪婪无监督逐层训练方法。即在一个深度学习设计中每层被分开对待并以一种贪婪方式进行训练当前一层训练完后新的一层将前一层的输出作为输入并编码以用于训练最后每层参数训练完后在整个网络中利用有监督学习进行参数微调。MLPPointNet(2017 CVPR)第一篇使用深度学习处理点云数据的工作。核心贡献使用最大值池化使网络对点云顺序不敏感。支持的下游任务点云物体分类点云物体局部分割点云场景语义分割。感觉可以用图神经网络吧另外数据无序性其实就是点云数据满足置换不变形关于这个问题处理在图神经网络领域好像有挺多的up这里介绍的各种pooling 和GNN的readout本质上是一样的。对于无顺序的数据的处理方法还有Set2Set, TopK甚至transformer天然就对顺序不敏感。resnetPointNetPointMLP
返回列表