【菜菜的CV进阶之路-神经网络的深入理解-九】反向传播算法工作原理

目录

简介

第一章-使用神经网络识别手写数字

            第一节-感知机

            第二节-sigmoid神经元

            第三节-神经网络的结构

            第四节-用简单的神经网络识别手写数字

            第五节-通过梯度下降法学习参数

            第六节-实现我们的手写体数字分类神经网络

            第七节-向深度学习进发!

第二章-反向传播算法工作原理

            第一节-热身:一个基于矩阵的快速计算神                            经网络输出的方法

            第二节-关于代价函数的两个假设

            第三节-Hadamard积--s⊙t

            第四节-反向传播背后的四个基本等式

            第五节-四个基本方程的证明(自选章节)

            第六节-反向传播算法

            第七节-反向传播算法代码

            第八节-为什么说反向传播算法很高效?

            第九节-反向传播:整体描述

注:

                哈工大原版翻译地址:https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/

                文章原版地址:《Neural Networks and Deep Learning》http://neuralnetworksanddeeplearning.com/


在上一章中我们学习了神经网络是如何利用梯度下降算法来学习权重(weights)和偏置(biases)的。然而,在我们的解释中跳过了一个细节:我们没有讨论如何计算代价函数的梯度。这真是一个巨大的跳跃!在本章中我会介绍一个快速计算梯度的算法,就是广为人知的反向传播算法(backpropagation)。

反向传播算法最早于上世纪70年代被提出,但是直到1986年,由David Rumelhart, Geoffrey Hinton, 和Ronald Williams联合发表了一篇著名论文之后,人们才完全认识到这个算法的重要性。这篇论文介绍了几种神经网络,在这些网络的学习中,反向传播算法比之前提出的方法都要快。这使得以前用神经网络不可解的一些问题,现在可以通过神经网络来解决。今天,反向传播算法是神经网络学习过程中的关键(workhorse)所在。

比起其他章节,本章涉及到更多的数学内容。如果你对数学不那么感兴趣,你可以选择跳过本章,把反向传播当做一个黑盒,忽略其中的细节。为什么要花时间来学习那些细节呢?

因为,如果你想要理解神经网络,你必须了解其中的细节。反向传播算法的核心是一个偏微分表达式∂C/∂w∂C/∂w,表示代价函数CC对网络中的权重ww(或者偏置bb)求偏导。这个式子告诉我们,当我们改变权重和偏置的时候,代价函数的值变化地有多快。尽管这个式子有点复杂,这个式子也是很漂亮的,它的每一个部分都有自然的,直觉上的解释。因此,反向传播不仅仅是一种快速的学习算法,它能够让我们详细深入地了解改变权重和偏置的值是如何改变整个网络的行为的。这是非常值得深入学习的。

尽管如此,你依然可以略读本章节,或者直接跳到下一章节。就算你把反向传播当做一个黑盒,本书的其它内容也是能够容易理解的。当然,在本书后续部分中我会提到本章的一些结论。但是,尽管在那些地方你不能跟上所有的推导,你依然能够理解主要的结论。

你可能感兴趣的:(计算机视觉)