公司网站百度排名没有了,网站开发的现状研究,写公众号怎么挣钱,南海专业网站建设公司在本文中#xff0c;我们回顾了深度学习的概念和技术#xff0c;这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始#xff0c;介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函…在本文中我们回顾了深度学习的概念和技术这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函数4. 梯度下降4.1 对于SGD的一些概念 5. 如何获得目标函数5.1 反向传播5.2 非线性变换5.3 MLP 6. 总结 1. 大纲 这篇我们主要讲第一部分深度学习的基础。
2. 优化问题
我们将机器学习问题、监督学习问题看作是优化问题 我们需要学习这样一个映射函数将输入 x x x映射为输出的预测标签 y y y。
将这样的函数学习表述为一个优化过程。 有两件重要的是
通过优化参数 Θ \Theta Θ最小化损失函数 L \mathcal{L} L。损失函数用来测量真实值与预测值之间的差距。
2.1 举例损失函数
交叉熵损失函数 讨论多分类问题
比如5分类问题表示5种颜色我们用one-hot编码表示。
我们要在某种意义上对它进行建模使用 f ( x ) f(x) f(x)这是将某个函数 g ( x ) g(x) g(x)经过 S o f t m a x ( ) Softmax() Softmax()函数得到一个预测5分类的概率这些概率之和为1。
现在要衡量这个预测的质量。
通过单点的交叉熵损失函数 C E ( y , f ( x ) ) CE(y,f(x)) CE(y,f(x))得到的值越小就表示预测值与真实的one-hot值越接近。
然后将所有单点的损失相加就得到了总的损失 L ∑ ( x , y ) ∈ T CE ( y , f ( x ) ) \mathcal{L}\sum_{(x,y)\in\mathcal{T}}\operatorname{CE}(y,f(x)) L∑(x,y)∈TCE(y,f(x))这是所有训练样本的真实值与预测值之间的总差异。
而我们想要的就是找到一个合适的函数 f ( x ) f(x) f(x)去最小化真实值与预测值之间的总差异。
3. 如何优化目标函数 经典的优化目标函数是通过梯度下降所以梯度的概念很重要
某个定点的梯度是一个方向该方向是函数的最快增长速率。
现在我们可以对损失函数进行“询问”关于我的参数 Θ \Theta Θ我应该朝着哪个方向梯度相反的方向改变我的参数 Θ \Theta Θ使损失 L \mathcal{L} L减少最多。
4. 梯度下降 上面是最基础的梯度下降版本重复更新模型参数直至收敛。
最基础的梯度下降有一些问题所以后续提出了随机梯度下降SGD 传统的梯度下降每一轮迭代都需要计算所有点的梯度计算量太大而SGD只计算一部分。
4.1 对于SGD的一些概念 首先是batch_size的概念它是我们评估梯度数据的子集不是在整个训练数据集上评估梯度——GD而是在训练集的一小部分——SGDbatch_size的大小是每一批次数据点的数量通常我们喜欢更大的batch_size但更大的batch_size会使优化变慢。其次是iteration的概念SGD的一个迭代iteration是SGD的一个步骤我们在给定的batch_size的数据点上评估梯度。迭代次数是数据集大小/batch_size。最后是epoch的概念它是对数据集的全面遍历。
这种小批量训练的思想是深度学习的核心。
5. 如何获得目标函数
对于简单的模型 5.1 反向传播 反向传播的概念使用链式法则来传播中间步骤的梯度最终获得关于模型参数损失的梯度。
举例 5.2 非线性变换
目前为止只使用了简单的两层神经网络而 W 2 W 1 W_2W_1 W2W1可以表示为另一个矩阵它依然可以表示为一层的线性变换。 这意味着我们通过两侧的线性变换依然得到的是一个线性模型没有获得更多的表达能力。
而如果我们引入非线性变换实际上增加了模型的表示能力。这将我们引向多层感知机的概念MLP。
5.3 MLP 6. 总结