当前位置:首页 > 神经网络 > 正文

神经网络训练模型依靠什么法则

I、深度神经网络是如何训练的?

我读过Coursera的Ng机器学习和UFLDL。 如果我没记错的话,吴老师的机器学习中直接给出了公式。 虽然你可能知道如何解决,但即使你不知道如何完成作业也不是问题。 只要按照公式写下来就可以了。 反正我当时看的时候也没看明白。 我觉得学习一下深度学习UFLDL教程-Ufldl还是不错的。 有练习。 完成它们之后,你确实会对深度学习有更深入的了解,但还是不是很清楚。 后来读了李飞飞的斯坦福大学CS231n:ConvolutionalNeuralNetworksforVisualRecognition,感觉自己对CNN的理解有了很大的提高。 静下心推一下公式后,多想一想,明白了反向传播本质上就是链式法则(虽然之前就知道,但当时还是理解模糊)。 所有的梯度实际上都是通过最终损失的求导得到的,即标量对矩阵或向量的求导。 当然,同时我也了解了很多关于CNN的知识。 而且建议你不仅完成练习,还自己写一个cnn。 这个过程可能会让您了解更多细节和您可能忽略的事情。 这样的网络可以使用中间层来构建多个抽象层,就像我们对布尔电路所做的那样。 例如,如果我们正在进行视觉模式识别,那么第一层中的神经元可能会学习识别边缘,第二层中的神经元可能会学习根据边缘识别更复杂的形状,例如三角形或矩形。 第三层将能够识别更复杂的形状。 等等等等。 这些多层抽象似乎赋予深度网络学习解决复杂模式识别问题的能力。 然后,正如在线示例中所示,理论研究结果告诉我们,深层网络本质上比浅层网络更强大。

II、神经网络——BP算法对于初学者来说,理解算法的含义往往会导致关注算法本身。 BP(BackPropagation)算法具有非凡的历史意义和重大的现实意义。
1969年,人工神经网络创始人MarrinMinsky和SeymourPapert共同出版了《感知器》一书,他们在书中表明简单的线性感知器仅具有有限的功能并解决了基本问题比如“无法解决。 “异或”(XOR),对多层网络也持悲观态度。 这些争论对神经网络研究造成了严重打击。 许多科学家逐渐离开该领域,神经网络研究跌至10年来的最低点。 [1]
哈佛大学的PaulWerbos在1974年发明BP算法时,正处于神经网络的最低​​谷,并没有得到应有的重视。 [2]
1983年,加州理工学院物理学家JohnHopfield利用神经网络解决NP完全旅行商问题取得了当时最好的结果,引起轰动[2]。 然而,霍普菲尔德的研究仍然未能指出明斯基等人论证中的缺陷。 为了推动神经网络研究的全面发展,我们需要直接消除对感知器多层网络算法的质疑。 [1]
真正打破明斯基冰封魔咒的是DavidRumelhart等科学家出版的《并行分布式处理:认知微观结构探索》一书。 书中全面提出了BP算法,系统地解决了多层网络中隐藏单元连接权值的学习问题,并提供了完整的数学推导。 这是神经网络发展史上的一个里程碑。 BP算法迅速流行起来,迎来了神经网络的第二次高峰。 [1,2]
由此可见BP算法的历史意义:它明确否定了明斯基等人的错误观点,对于神经网络的第二次巅峰至关重要。
这一点指的是BP算法在神经网络领域的地位和重要性。
BP算法是迄今为止最成功的神经网络学习算法。 当神经网络用于现实世界的任务时,大多数都是使用BP算法进行训练的[2],包括最近流行的深度学习概念。 卷积神经网络(CNN)。
BP神经网络是一种由输入层、输出层和一个或多个隐藏层组成的神经网络模型。 其激活函数使用sigmoid函数,并使用BP-Multi算法进行训练。 层前馈神经网络。
BP算法的全称叫做误差反向传播算法(errorBackPropagation,或者也叫误差反向传播算法)。 该算法的基本思想是:在2.1描述的前馈网络中,输入信号通过输入层输入,通过隐藏层计算由输出层输出。 如果发生错误,错误将被回滚并传递到输入层。 在此过程中,使用梯度下降算法来调整神经元权重。
BP算法中最重要的数学工具是分析的链式求导规则。
BP算法的第一个缺点是局部极小问题。
BP算法本质上是梯度下降,它要优化的目标函数非常复杂,这使得BP算法效率低下。
[1]、《BP算法的哲学思考》,程素梅、郝中华着
[2]、《机器学习》,周志华着
[3],DeepLearning论文笔记(四)CNN卷积神经网络的推导与实现
2016年5月13日首次发表
2016-6月4日。 重大修改、推导过程改进及文章名称变更
07/23/2016修正了公式推导错误和指令错误