bey*_*ran 14 classification machine-learning neural-network softmax activation-function
我见过的用于分类任务的神经网络的大多数例子都使用softmax层作为输出激活函数.通常,其他隐藏单元使用sigmoid,tanh或ReLu函数作为激活函数.据我所知,在这里使用softmax函数也可以用数学方法计算出来.
Mar*_*jko 15
我没有找到任何关于为什么使用softmax作为隐藏层中的激活不是最好的想法(除了你可能已经读过的Quora问题)的出版物,但我会试着解释为什么它不是最好的想法来使用它在这种情况下 :
1.变量独立性:为了保持变量独立,不相关和相当稀疏,需要进行大量的正则化和努力.如果使用softmax图层作为隐藏图层 - 那么您将保持所有节点(隐藏变量)线性相关,这可能会导致许多问题和不良概括.
2.培训问题:试着想象一下,为了让您的网络更好地工作,您必须将隐藏层的激活部分降低一点.然后 - 自动地让你剩下的人在更高的水平上进行平均激活,这实际上可能会增加错误并损害你的训练阶段.
3.数学问题:通过创建模型激活的约束,可以降低模型的表达能力,而无需任何逻辑解释.在我看来,努力让所有激活都相同是不值得的.
4.批量标准化做得更好:人们可以考虑这样一个事实,即网络的恒定平均输出可能对训练有用.但另一方面,已经证明一种称为批量标准化的技术可以更好地工作,而据报道,将softmax设置为隐藏层中的激活函数可能会降低学习的准确性和速度.
Softmax层可用于神经网络,例如神经图灵机(NTM)和改进那些可微分神经计算机(DNC).
总而言之,这些体系结构是RNN/LSTM,它们已被修改为包含可区分(神经)存储矩阵,可通过时间步骤进行写入和访问.
快速解释一下,softmax函数可以实现内存提取和其他类似怪癖的规范化,以实现内存的基于内容的寻址.关于这一点,我真的很喜欢这篇文章,它说明了NTM和其他最近使用交互式数字的RNN架构中的操作.
此外,Softmax用于机器翻译等注意机制,例如本文.在那里,Softmax能够将注意力分散的地方标准化,以便"轻柔地"保留最大的注意位置:也就是说,也要以柔和的方式对其他地方进行一点点关注.然而,正如本文所解释的那样,这可以被认为是一个迷你神经网络,可以处理大的注意力.因此,可以讨论Softmax是否仅用于神经网络的末端.
希望能帮助到你!
编辑 - 最近,甚至可以看到神经机器翻译(NMT)模型,其中只使用注意力(使用softmax),没有任何RNN或CNN:http://nlp.seas.harvard.edu/2018/04/03 /attention.html
| 归档时间: |
|
| 查看次数: |
8440 次 |
| 最近记录: |