首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

看不懂公式或许可以这样理解神经网络

神经网络!深度学习!人工智能!

任何生活在2019年世界的人都会不止一次地听过这些话。你可能已经了解一些深度学习的作品,如图像分类,计算机视觉和语音识别。

也可能你还不知道人工神经网络是什么?虽然已经有数百篇文章解释了人工神经网络的概念,但我发现它对于不熟悉数学表达式的人来说,这仍然很难。

今天,我将用最少的数学解释人工神经网络(ANN)的基础知识。这可能是有史以来最简单,最直观的解释,本文的关键字将是前向传播,激活函数,反向传播,梯度下降和权重更新。如果阅读完有所收获,记得点个好看。

神经网络到底是什么?

您可能已经看过许多关于神经元及其结构的文章。是的,人工神经网络的“神经”来自人类大脑的神经元。1943年,Warren McCulloch和Walter Pitts首次尝试从人类神经网络创建计算模型。他们希望将大脑中的生物过程应用于数学算法,从那时起,神经研究领域分为两种方式。今天人工智能中的神经网络与真正的认知科学领域走的路径有点不同。因此,我将ANN的框架视为某种结构或图形,而不是神经元。

让我们从这张照片开始。有起点(输入层)和终点(输出层)。我们可以将每个节点看成岛屿,我们可以采取各种方式从“输入层”岛屿到“输出层”岛屿。每条路线都有不同的点,当我们接近目的地时,我们将总结所有可能的分数并确定哪个岛屿是我们正在寻找的最佳岛屿。所以这就像派遣我们的探测船队去寻找新大陆。这里有一个有趣的部分是,当船队接近输出层时,它们会回到输入层。然后我们重复这个过程,将它们发送到输出层并回调输入层。对于每个试验,每个试验都会有一个结果分数,我们将使用它们来计算预测的准确程度。就像我们在线性回归中使用RMSE或MAE一样。

前向传播和权重

我上面提到的比喻是神经网络的作用。让我们这次进行一些真正的计算来进一步理解。

假设我们的输入数据是52。所以我们将把这些值传递给输出层。让我们先从5开始。如您所见,有两种不同点的可能方式。如果5采用上路路线,则该点将为10。如果5采用下路路线,那么它将是-10。那么输入值2会是什么样的?是。上路路线得到6,下路路线得到2。因此我们可以获得最终数值。你可能知道这里发生了什么。这称为前向传播。它从左向右移动。这里的要点是将左层的结果作为输入值传输到下一个层。我们使用的乘法值称为权重。权重是数据科学中经常使用的术语。如果某个特征获得较高的权重值,那么该特征将对结果产生很大影响。通过给特征赋予不同的权重,我们可以训练我们的模型以更好地预测。

激活函数

到目前为止,您可能还没有听到过另一个新概念,即激活函数。激活功能可帮助模型捕获数据中的非线性。。为什么我们需要那个?如果我们只使用没有激活函数的线性计算,就像我们上面所做的那样,我们不能给模型提供任何“隐藏层效应”。它与其他回归模型没有太大区别。为了“激活”神经网络的真正力量,我们需要应用“激活功能”。

sigmoid函数适用于二进制分类的情况。它仅在0和1之间转换值。输入值越高,越接近1.输入值越小,越接近0.Tanh函数类似于sigmoid函数,但是这次它的下限为-1。由于它将数据中心设置为0,因此Tanh比sigmoid函数更优选。阈值函数ReLu(整流器)具有某个值,该值从该值开始变化。由于坡度,ReLu在大多数情况下使用效率很高。但为什么坡?什么是与神经网络和斜率的关系?这就是梯度下降发挥作用的地方。

梯度下降

梯度下降是找到函数的最小值。假设成本函数具有凸形,如下图所示。我们的目标是尽可能减少损失。如果第一次试验在该曲线的某处出现错误,我们将进行另一次试验。在尝试和比较多次结果时,取最接近最低点得值。(但不完全是0)

我们移动的量是由dW确定的,即损失函数的斜率。而α是我们必须选择的学习率。因此,重量的更新速度取决于dW和α的乘积值。如果学习速率太大或太小,模型将无法学习权重的正确值。因此,梯度下降需要赋予合适的步长和正则化。

反向传播和更新

好的,让我们再次回到我们的故事:这是一个激活函数和梯度下降。如果我们将reLu激活函数应用于我们的数据,则输出图层将为16。如果实际值为20,则我们预测的误差为8。

从现在开始,我们将向后移动并改变重量值。这就是所谓的反向传播。这次我们从右到左,从输出层移动到输入层。向后退是什么意思?它正在为每一步获得渐变。对于斜坡,我们将按照上面的说法更新权重。

到目前为止我们所经历的是从1到4阶段。我们输入X值并通过前向传播得到预测值ŷ。有b名词叫做偏见,但我们只是有它为0这里。如果您熟悉链规则,您将轻松获得反向传播的概念。如果没有,请不要担心。这就像咬上一个等式的尾巴。我想让你看看dW的结果是什么。它采用误差的乘积值和给定点处的激活函数的斜率和输入值。

就像前向传播将输入数据通过隐藏层并朝向输出层传递一样,反向传播从输出层获取误差并将其向后传播通过隐藏层。并且在每个步骤中,将更新权重值。

多次重复整个过程,模型找出优化的权重和最准确的预测。当指标收敛到一定水平时,我们的模型就可以做出预测了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190114A059K900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券