深度学习算法完整简介


深度学习算法完整简介文章插图
本文的主要目标是让您对深度学习领域有一个整体了解 , 并帮助您了解每种特定情况下应使用的算法 。
神经网络:基础神经网络是一个具有相互连接的节点的计算系统 , 其节点的工作方式更像是人脑中的神经元 。 这些神经元在它们之间进行处理并传递信息 。 每个神经网络都是一系列的算法 , 这些算法试图通过一个模拟人类大脑运作的过程来识别一组数据中的潜在关系 。
深度学习算法完整简介文章插图
深度学习算法和经典神经网络之间有什么区别呢?最明显的区别是:深度学习中使用的神经网络具有更多隐藏层 。 这些层位于神经元的第一层(即输入层)和最后一层(即输出层)之间 。 另外 , 没有必要将不同层的所有神经元连接起来 。
您应该知道的9种深度学习算法
深度学习算法完整简介文章插图
#1反向传播
反向传播算法是一种非常流行的用于训练前馈神经网络的监督学习算法 。 本质上 , 反向传播计算成本函数的导数的表达式 , 它是每一层之间从左到右的导数乘积 , 而每一层之间的权重梯度是对部分乘积的简单修改(“反向传播误差”) 。
我们向网络提供数据 , 它产生一个输出 , 我们将输出与期望的输出进行比较(使用损失函数) , 然后根据差异重新调整权重 。 然后重复此过程 。 权重的调整是通过一种称为随机梯度下降的非线性优化技术来实现的 。
假设由于某种原因 , 我们想识别图像中的树 。 我们向网络提供任何种类的图像 , 并产生输出 。 由于我们知道图像是否实际上有一棵树 , 因此我们可以将输出与真实情况进行比较并调整网络 。 随着我们传递越来越多的图像 , 网络的错误就会越来越少 。 现在我们可以给它提供一个未知的图像 , 它将告诉我们该图像是否包含树 。
#2前馈神经网络(FNN)
前馈神经网络通常是全连接 , 这意味着层中的每个神经元都与下一层中的所有其他神经元相连 。 所描述的结构称为“多层感知器” , 起源于1958年 。 单层感知器只能学习线性可分离的模式 , 而多层感知器则可以学习数据之间的非线性的关系 。
前馈网络的目标是近似某个函数f 。 例如对于分类 , =(x)将输入x映射到类别y 。 前馈网络定义了一个映射y = f(x;θ) , 并学习了导致最佳函数逼近的参数θ的值 。
深度学习算法完整简介文章插图
这些模型之所以称为前馈 , 是因为从x到定义f的中间计算 , 最后到输出y , 没有反馈连接 。 没有将模型的输出反馈到自身的反馈连接 。 当前馈神经网络扩展为包括反馈连接时 , 它们称为循环神经网络 。
#3卷积神经网络(CNN)
【深度学习算法完整简介】卷积神经网络除了为机器人和自动驾驶汽车的视觉提供帮助外 , 还成功的应用于人脸识别 , 对象监测和交通标志识别等领域 。
在数学中 , 卷积是一个函数越过另一个函数时两个函数重叠多少的积分度量 。
深度学习算法完整简介文章插图
绿色曲线表示蓝色和红色曲线的卷积 , 它是t的函数 , 位置由垂直的绿色线表示 。 灰色区域表示乘积g(tau)f(t-tau)作为t的函数 , 所以它的面积作为t的函数就是卷积 。
这两个函数在x轴上每一点的重叠的乘积就是它们的卷积 。
深度学习算法完整简介文章插图
在某种程度上 , 他们尝试对前馈网络进行正则化 , 以避免过度拟合(当模型只学习预先看到的数据而不能泛化时) , 这使得他们能够很好地识别数据之间的空间关系 。
#4循环神经网络(RNN)
循环神经网络在许多NLP任务中都非常成功 。 在传统的神经网络中 , 可以理解所有输入和输出都是独立的 。 但是 , 对于许多任务 , 这是不合适的 。 如果要预测句子中的下一个单词 , 最好考虑一下它前面的单词 。
RNN之所以称为循环 , 是因为它们对序列的每个元素执行相同的任务 , 并且输出取决于先前的计算 。 RNN的另一种解释:这些网络具有“记忆” , 考虑了先前的信息 。
深度学习算法完整简介文章插图
例如 , 如果序列是5个单词的句子 , 则由5层组成 , 每个单词一层 。