注意:本文引用自专业人工智能社区Venus AI
更多AI知识请参考原站 ([www.aideeplearning.cn])
引言
神经网络,作为人工智能和机器学习领域的核心技术之一,具有极其重要的意义。它们通过模拟人类大脑的工作机制,使计算机能够学习和识别复杂的模式和数据。这种能力使得神经网络在诸多领域,如图像和语音识别、自然语言处理、医学诊断以及金融预测等,都发挥着至关重要的作用。神经网络能处理和解析大量数据,提供深入见解,推动了科技和各行各业的创新与进步。它们的应用不仅改善了技术解决方案的效率和准确性,还开启了新的研究领域和技术前沿,对现代科技发展产生了深远影响。
神经网络起始于线性模型,这是一种基于属性加权和的预测方法,结合损失函数和梯度下降算法进行优化,广义线性模型则进一步扩展了其应用。在处理回归和分类问题方面,线性模型可通过调整损失函数和优化方法来适应不同的任务,涉及到预测连续值或离散标签。
线性模型是感知机模型的基础,感知机模型是构建神经网络和深度学习的基石。当多个感知机层叠形成复杂的神经网络时,我们进入了深度学习的领域。下面是神经网络的一些关键概念和组成部分:
- 输入层(Input Layer):这是神经网络的第一层,负责接收输入数据。每个节点代表输入数据的一个特征。
- 隐藏层(Hidden Layers):在输入层和输出层之间的是隐藏层。这些层可以有多个,它们负责从输入数据中提取和学习特征。隐藏层的节点数量和层数可以根据具体问题进行调整。
- 输出层(Output Layer):这是网络的最后一层,负责输出最终结果。输出层的设计取决于特定任务(如分类、回归等)。
- 权重和偏置(Weights and Biases):每个连接都有一个权重,每个节点都有一个偏置。权重和偏置是网络学习的参数,它们在训练过程中不断调整。
- 激活函数(Activation Functions):激活函数决定了节点是否应该被激活,即是否对信息做出响应。常见的激活函数包括Sigmoid、ReLU(Rectified Linear Unit)等。
- 前向传播(Forward Propagation):在这个过程中,数据从输入层通过隐藏层流向输出层。每个隐藏层的节点都会根据输入、权重、偏置和激活函数计算输出。
- 损失函数(Loss Function):损失函数用于评估模型的预测与真实值之间的差异。常见的损失函数包括均方误差(MSE)和交叉熵(Cross-Entropy)。
- 反向传播(Backpropagation):这是神经网络中的关键学习过程。通过反向传播,网络根据损失函数的梯度更新权重和偏置,以减少预测错误。
- 优化器(Optimizer):优化器决定了网络如何更新其权重和偏置。常用的优化器包括梯度下降(Gradient Descent)、Adam等。
下面,我们讲逐步进行展开的细致讲解。
1 线性模型
1.1 线性模型的定义
线性模型有一个 n **重 ω 和一个标量偏差 b :
对于给定的输入 x :
![x=\left[x_1,x_2,\cdots,x_n\right]^\mathrm{T}](https://51itzy.com/uploads/202412/23/d8d6e00325d3a7fb.jpg)
线性模型得到的输出 y 等于输入 x 与权重 ω 的加权求和, 再加上偏置 b, 即:

向量版本的写法为:

线性模型相乘求和的含义是什么? 相乘的含义是通过权重对输入信息进行重要程度的重分配; 而求和的目的是综合考虑所有信息。例如, 生活中房价。假设影响房价的关键因素是卧室的个数、卫生间的个数、居住面积, 记为
那么成交价 y 等于:

其中, ω1,ω2,ω3 通过相乘的方法决定了因素 x1,x2,x3 的权重, 而偏置 b 则是一种纠正,例如即使是同一地域条件差不多的房型, 因为卖家和买主的个人原因, 成交价也是在一个小范围内浮动的, 这就是偏置的概念。

1.2 损失函数
1.1节介绍了线性模型的计算方法,那么如何衡量线性模型的输出值是否准确呢?一般会使用数据的真实值作为衡量标准。还是之前房价的例子,当对某地域的某房型进行估值时,可以使用往年该地域的同类房型的出售价格作为真实值。
假设
是真实值,
是估计值, 则可以比较:

这就是经典的平方损失。它可作为衡量估计值和真实值之间距离的表征, 期望的是让ℓ 尽可能地小, 因为当 ℓ 足够小时, 就说明模型的输出结果无限接近于数据的真值。将 y^ 替换为 〈ω,x〉+b, 则上式变成:

实现让 ℓ 尽可能地小这个期望的方法被称作模型的训练。深度学习中常用的模型训练方法是有监督训练, 详细流程如下。
1.3 梯度下降算法
首先制作一个训练数据集,在当前房价的例子中,可以收集过去两年的房子交易记录。房子的数据(面积、地域、采光等)作为训练集,对应的房子成交价格作为真实值。这些训练数据会随着时间的积累越来越多。然后可以创建一个线性模型,先随机初始化其中的权重和偏置,再将训练数据送进模型,得到一个计算结果,即估计值。此时,由于参数是随机初始化的,这个预估值大概率不准确;接下来使用真实值与预估值进行比较,根据比较的结果反馈,来更新新的模型权重,这个更新权重的方法被称为梯度下降算法,具体解释如下:
从某种程度上,读者可以把梯度理解成某函数偏导数的集合,例如函数
的梯度为:
当某函数只有一个自变量时,梯度实际上就是导数的概念。
需要注意的是,梯度是一个向量,既有大小又有方向。梯度的方向是最大方向导数的方向,而梯度的模是最大方向导数的值。另外,梯度在几何上的含义是函数变化率最大的方向。沿着梯度向量的方向前进,更容易找到函数的最大值,反过来说,沿着梯度向量相反的方向前进是梯度减少最快的方向,也就是说更容易找到函数的最小值。
例如,维基百科上用来说明梯度的图片特别典型,说明非常形象,所以引来供读者学习。
设函数 f(x,y)=−(cos2x+cos2y)2, 则梯度 gradf(x,y) 的几何意义可以描述为在底部平面上的矢量投影。每个点的梯度是一个矢量,其长度代表了这点的变化速度,而方向表示了其函数增长速率最快的方向。通过梯度图可以很清楚地看到,在矢量长的地方,函数增长速度就快,而其方向代表了增长最快的方向,梯度图如图1所示。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/18482.html