aaJamesJones 2019-06-27
关于神经网络的基础理解在知乎下面两个回答已经说的很好了
如何简单形象又有趣地讲解神经网络是什么? --王小龙
如何简单形象又有趣地讲解神经网络是什么? --YJango
这里就只把谷歌教程上面的知识补充一下吧,也差不多是最后一趴了。
要对非线性问题进行建模,我们可以直接引入非线性函数。我们可以用非线性函数将每个隐藏层节点像管道一样连接起来。在下图所示的模型中,在隐藏层 1 中的各个节点的值传递到下一层进行加权求和之前,我们采用一个非线性函数对其进行了转换。这种非线性函数称为激活函数。
常见激活函数:
相较于 S 型函数等平滑函数,以下修正线性单元激活函数(简称为 ReLU)的效果通常要好一点,同时还非常易于计算。ReLU: F(x)=max(0,x)
ReLU 的优势在于它基于实证发现(可能由 ReLU 驱动),拥有更实用的响应范围。S 型函数的响应性在两端相对较快地减少。
实际上,所有数学函数均可作为激活函数。假设 表示我们的激活函数(ReLU、S 型函数等等)。因此,网络中节点的值由以下公式指定:
反向传播演示
反向传播算法是最常见的一种神经网络训练算法。借助这种算法,梯度下降法在多层神经网络中将成为可行方法。首先,反向传播确实依赖于梯度这一概念, 事物必须是可微的,这样我们才能够进行学习。
反向传播算法的一些要点:
前面您已经了解了二元分类模型,该模型可从两个可能的选项中选择其一,例如:
在本单元中,我们将研究多类别分类,这种模型可从多种可能的情况中进行选择。例如
当类别总数较少时,这种方法比较合理,但随着类别数量的增加,其效率会变得越来越低下。
我们已经知道,逻辑回归可生成介于 0 和 1.0 之间的小数。例如,某电子邮件分类器的逻辑回归输出值为 0.8,表明电子邮件是垃圾邮件的概率为 80%,不是垃圾邮件的概率为 20%。很明显,一封电子邮件是垃圾邮件或非垃圾邮件的概率之和为 1.0
Softmax本质上就是对我们所使用的这种逻辑回归的泛化, 只不过泛化成了多个类别。在遇到单一标签的多类别分类问题时,我们使用会Softmax。也就是说,在多类别问题中,Softmax 会为每个类别分配一个用小数表示的概率。这些用小数表示的概率相加之和必须是 1.0。与其他方式相比,这种附加限制有助于让训练过程更快速地收敛。
例如,Softmax 可能会得出图片属于某一特定类别的以下概率:
Softmax 层是紧挨着输出层之前的神经网络层。Softmax 层必须和输出层拥有一样的节点数。
关于Softmax:
详解softmax函数以及相关求导过程 - 忆臻的文章 - 知乎
https://zhuanlan.zhihu.com/p/...
Softmax 函数的特点和作用是什么? - 杨思达zzzz的回答 - 知乎
https://www.zhihu.com/questio...
在训练多类别分类时,我们有几个选项可以选择。
类别数量较少时,完整 Softmax 代价很小,但随着类别数量的增加,它的代价会变得极其高昂。候选采样可以提高处理具有大量类别的问题的效率。
候选采样:
一种训练时进行的优化,会使用某种函数(例如 softmax)针对所有正类别标签计算概率,但对于负类别标签,则仅针对其随机样本计算概率。例如,如果某个样本的标签为“小猎犬”和“狗”,则候选采样将针对“小猎犬”和“狗”类别输出计算预测概率和相应的损失项,但不必针对每个非狗狗样本提供概率。这种采样基于的想法是,只要正类别始终得到适当的正增强,负类别就可以从频率较低的负增强中进行学习,这确实是在实际中观察到的情况。候选采样的目的是,通过不针对所有负类别计算预测结果来提高计算效率。
Softmax 假设每个样本只是一个类别的成员。但是,一些样本可以同时是多个类别的成员。对于此类示例:
例如,假设您的样本是只包含一项内容(一块水果)的图片。Softmax 可以确定该内容是梨、橙子、苹果等的概率。如果您的样本是包含各种各样内容(几种不同种类的水果)的图片,您必须改用多个逻辑回归。