(Translated by https://www.hiragana.jp/)
反向传播算法 - 维基百科,自由的百科全书 とべ转到内容ないよう

はんこう传播算法さんぽう

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん

はんこう传播英語えいごBackpropagationため误差はんこう传播,缩写为BPたい多層たそう人工じんこうしん经网络進行しんこうはしご下降かこうてき算法さんぽう,也就よう链式ほう以网络每层的权重ため變數へんすう计算损失函数かんすうてきはしご,以更しん权重らい最小さいしょう损失函数かんすう

动机[编辑]

にんなに监督しきがく算法さんぽうてき标是找到一个能把一组输入最好地映射到其正确的输出的函数。れい如一个简单的ぶんにん务,其中输入动物てき图像,せい确的输出はた动物てき名称めいしょう。一些输入和输出模式可以很容易地通过单层神经网络(如感知かんちがく习。ただし这些单层てき感知かんちつくえただのうがく习一些比较简单的模式,れい如那些非线性可分かぶんてきえいlinearly separableしきれい如,にん以通过识别动物的ぶってき图像てきぼう些特せい进行ぶん类,れい如肢てきすうもくかわ肤的纹理(无论毛皮けがわ羽毛うもう,鳞片とう),该动物的ぶってき体型たいけい,以及种种其他とくせいただし,单层しん经网络必须仅仅使用しよう图像ちゅうてきぞう素的すてき强度きょうどらいがく习一个输出一个标签函数。よし为它きりせい为仅具有ぐゆういち个层,所以ゆえんぼつゆう办法从输にゅう中学ちゅうがく习到にんなん抽象ちゅうしょうとくせい层的网络克服こくふくりょういちげんせいいん为它以创けん内部ないぶ表示ひょうじ,并在ごと一层学习不同的特征。[1] だい一层可能负责从图像的单个像素的输入学习线条的走向。だい二层可能就会结合第一层所学并学习识别简单形状(如圆がた)。まいますだか一层就学习越来越多的抽象特征,如上じょじょうぶんひっさげいたてきようらい图像ぶん类。まい一层都是从它下方的层中找到模式,就是这种能力のうりょく创建りょう独立どくりつ于为层网络提供ていきょうのう量的りょうてき外界がいかい输入てき内部ないぶひょう达形しきはんこう传播算法さんぽうてき发展てき标和动机找到一种训练的多层神经网络的方法,于是它可以学习合适的内部ないぶひょう达来让它がく任意にんいてき输入いた输出てきうつしゃ[1]

概括がいかつ[编辑]

はんこう传播算法さんぽう(BP 算法さんぽう主要しゅようよし两个阶段组成:激励げきれい传播与权重更新こうしん

だい1阶段:激励げきれい传播[编辑]

每次まいじ迭代ちゅうてき传播环节包含ほうがん两步:

  1. ぜんこう传播阶段)はた训练输入おくにゅう网络以获あずかはか結果けっか
  2. はんこう传播阶段)たいあずかはか結果けっかどう训练标求(损失函数かんすう)。

だい2阶段:权重更新こうしん[编辑]

对于ごと个突触じょうてき权重,按照以下いか骤进ぎょう更新こうしん

  1. はた输入激励げきれい响应误差相乘そうじょう,从而获得权重てきはしご
  2. はた这个はしごじょうじょう一个比例并取反后加到权重上。

这个比例ひれい百分比ひゃくぶんひしょうかいかげ响到训练过程てき速度そくど效果こうかいん此成为「训练因子いんし」。はしごてき方向ほうこうゆびあきらりょう误差扩大てき方向ほうこういん此在更新こうしん权重てき时候需要じゅよう对其はん,从而减小权重引起てき误差。

だい 1 だい 2 阶段以反复循环迭だいちょくいた网络对输いれてき响应达到满意てき预定てき标范围为どめ

算法さんぽう[编辑]

數學すうがく推導[编辑]

假設かせつ多層たそう人工じんこうしん经网络てきだい そうゆかり线性さん げきかつ函數かんすう ところ構成こうせい,也就せつだい そうてき輸入ゆにゅう 实数むかいりょう

輸出ゆしゅつそくため 維實むこうりょう

かわはなしせつだい そうてき輸出ゆしゅつ 就是だい そうてき輸入ゆにゅう

てき具體ぐたい(以第 分量ぶんりょう表示ひょうじ)遞迴關係かんけいため

うえしき通常つうじょうかい簡寫ため

わか這個多層たそう人工じんこう神經しんけいもうそう共有きょうゆう そう,也就せつ さいいち開始かいしてき輸入ゆにゅう,而 最後さいごいちそうてき輸出ゆしゅつ损失函数かんすう 以最一層いっそう輸出ゆしゅつ てきかく分量ぶんりょう (あずか真實しんじつ值)ため變數へんすう依據いきょ上面うわつらてき遞迴關係かんけい以把 進一しんいちてき轉成てんせい以第 そうてき輸入ゆにゅう あずかけんじゅう因子いんし ため變數へんすうてき函数かんすう

,

よし此可以歸納きのういた てき情況じょうきょう(注意ちゅういいたぜんいくそうてきけんじゅう因子いんしかい消失しょうしつざいひょうたちしきちゅう)

,

這樣如果假設かせつ適當てきとうてき微分びぶん條件じょうけんゆかり链式ほうかいゆう以下いかてき遞迴關係かんけい ( わか )

這樣就可以依據いきょ這個遞迴關係かんけい進行しんこうはしご下降かこういんため計算けいさんじょうゆかり たい 损失函数かんすう てきへん微分びぶん出發しゅっぱつ,一層層向後遞推出前面各層的權重因子梯度,所以ゆえんしょうためはんこう傳播でんぱ

注意ちゅういいたしょう輸入ゆにゅうしつらえため

なみいちぎょうけんじゅう因子いんし ためへんうつり,就可以把ゆうへんうつりてき多層たそうもう納入のうにゅうつよしつよし討論とうろんてき範圍はんい內。

實際じっさいはんれい[编辑]

さん层网络算ほうただゆう一个隐藏层):

  はつはじめ网络权值(通常つうじょうしょうてきずいつくえ值)
  do
     forEach 训练样本 ex
        prediction = neural-net-output(network, ex)  // せいこう传递
        actual = teacher-output(ex)
        计算输出单元てき误差 (prediction - actual)
        计算   对于所有しょゆう隐藏层到输出层的权值                           // はんこう传递
        计算   对于所有しょゆう输入层到隐藏层的权值                           // 继续はんこう传递
        更新こうしん网络权值 // 输入层不かい误差估计あらため
  until 所有しょゆう样本せい确分类或满足其他停止ていし标准
  return 该网络

这个算法さんぽうてき名称めいしょう意味いみ误差かい从输结点はんこう传播到输入结点。严格讲,はんこう传播算法さんぽう对网络的おさむあらため权值计算りょう网络误差てきはしご[2] 这个はしご度会わたらいざい简单ずいつくえはしご下降かこうほうえいstochastic gradient descentちゅう经常ようらいもとめ最小さいしょう误差てき权重。通常つうじょうはんこう传播”这个词使ようさら一般いっぱんてき含义,ようらいゆび涵盖りょう计算はしご以及ざいずいつくえはしご下降かこうほうちゅう使用しようてきせい个过ほどざい适用はんこう传播算法さんぽうてき网络ちゅう,它通常つうじょう以快そくおさむ敛到れいじん满意てき极小值

ちょく理解りかい[编辑]

がく习作为一个优问题[编辑]

ざい给出はんこう传播算法さんぽうてき数学すうがく推导まえわが们举いち个例子来こらいつちかえ养关于神经元てき实输あずかせい确输间的ちょく感受かんじゅこう虑一个有两个输入单元、いち个输单元、ぼつゆう隐藏单元てき简单しん经网络。まい个神经元使用しよう输入てき权作为线性输出えいArtificial neuron[note 1]

具有ぐゆう2个输にゅう单元1个输单元てき一个简单的神经网络

ざい训练まえわが们将ずいつくえ分配ぶんぱい权重これきさきしん经元すえ训练实例进行がく习。ざい此例ちゅう,训练しゅう为 (, , ),其中 あずか 网络てき输入, 为正确输ざい给定しょうどうてき输入时网络最终应とう产生てき输出)。网络ざい给定 时,かい计算いち个输 ,很可能かのうあずか 不同ふどういん为权じゅう最初さいしょずいつくえてき)。为了衡量もち输出 あずか实际输出 これ间的异,一个常用的方法是采用平方误差测度:

,

其中 为误

举例らい讲,こう虑单一训练实例的网络:,输入 あずか ひとし为1,せい确输 为 0。现在わかはた实际输出 ざいx轴,误差 ざい 轴,とくてき一条抛物线。ほうもの线てき极小值对应输出 最小さいしょうりょう误差 。对于单一训练实例,极小值还かい接触せっしょくいた 轴,这意味いみ误差为零,网络以产せいあずかもち输出 完全かんぜんひきはいてき输出 よし此,输入うついた输出てき问题就化为了一个找到一个能产生最小误差的函数的さいけい問題もんだい

单一训练实例的线性神经元的误差曲面。

しか而,一个神经元的输出取决于其所有输入的加权总和:

,

其中 从输にゅう单元いた输出单元しょう连的权重。よし此,误差决于输入いた该神经元てき权重,也是网络ようがく习最终需ようあらため变的。わかまい个权じゅうざい一个水平的轴上,而误ざい垂直すいちょく轴上,とくてき就是いちほうものめんわか一个神经元有 个权じゅう,则误曲面きょくめんてき維度就会 いん而就维抛ぶつ线的 维等价)。

两个输入误差てきかみ经元てき误差曲面きょくめん

はんこう传播算法さんぽうてき目的もくてき找到一组能最大限度地减小误差的权重。寻找抛ぶつ线或任意にんい维度ちゅうてきにんなん函数かんすうてき极大值的方法ほうほうゆう若干じゃっかん种。其中一种方法是通过求解方程组,ただし这依赖于网络いちせんせい系統けいとう,而目标也需要じゅよう以训练多层せんせい网络(いん为多层线せい网络与单层网络とう价)。ざいはんこう传播ちゅう使用しようてき方法ほうほうはしご下降かこうほう

运用类比理解りかいはしご下降かこうほう[编辑]

はしご下降かこうほうきさきてきちょく感受かんじゅ以用かり设情さかい进行说明。一个被卡在山上的人正在试图下山(そく试图找到极小值)。だい雾使得能とくのう见度非常ひじょうひくよし此,下山げざんてき道路どうろ见的,所以ゆえん必须利用りよう局部きょくぶしんいきらい找到极小值。使用しようはしご下降かこうほう,该方ほうわたる及到察看ざいとうぜん位置いちやまてき陡峭程度ていどしかきさき沿着负陡そくしも坡)最大さいだいてき方向ほうこうぜん进。如果よう找到やま顶(そく极大值)てき话,需要じゅよう沿着せい陡度(そくじょう坡)最大さいだいてき方向ほうこうぜん进。使用しよう此方こちらほうかいさい终找到下山げざんてき过,ようかり设山てき陡度不能ふのうどおり过简单地观察いた,而需よう复杂てき工具こうぐ测量,而这个工此人恰好かっこうゆう需要じゅよう相当そうとう长的一段时间用仪器测量山的陡峭度,いん此如はてそう在日ざいにち落之ぜん下山げざん,就需よう最小さいしょう仪器てき使用しようりつ。问题就在于怎样选测量やまてき陡峭てき频率ざい致偏离路线。

ざい这个类比ちゅう,此人代表だいひょうはんこう传播算法さんぽう,而下山路やまじみち表示ひょうじのう使误差最小さいしょうてき权重集合しゅうごうやまてき陡度表示ひょうじ误差曲面きょくめんざい该点てきはすりつようぜんくだりてき方向ほうこう对应于误曲面きょくめんざい该点てきはしごもちいらい测量陡峭てき工具こうぐ微分びぶん(误差曲面きょくめんてきはすりつ以通过对平方へいほう误差函数かんすうざい该点もとむ导数计算出来でき)。ざい两次测量间前ぎょうてき距离(あずか测量频率なりせい算法さんぽうてきがく习速りつまいりきりせいいちちゅう对此类型“爬山”算法さんぽうてききりせいてき讨论。

きりせい[编辑]

  • 结果可能かのうかいおさむ敛到极值。如果ただゆういち个极しょう值,はしご下降かこうてき“爬山”策略さくりゃく一定いってい以起作用さようしか而,往往おうおう误差曲面きょくめんゆう许多局部きょくぶ最小さいしょう值和最大さいだい值。如果はしご下降かこうてきおこり始点してん恰好かっこうかい于局最大さいだい值和局部きょくぶ最小さいしょう值之间,则沿はしご下降かこう最大さいだいてき方向ほうこうかいいた达局最小さいしょう值。
    はしご下降かこうほう以找到局部きょくぶ最小さいしょう值,而不全局ぜんきょく最小さいしょう值。
  • 从反こう传播がく习获とくてきおさむ敛很慢。
  • ざいはんこう传播がく习的おさむ敛性不能ふのう证。
    • しか而,おさむ敛到全局ぜんきょく最小さいしょう值据说使用しよう适应终止条件じょうけんいた[3]
  • はんこう传播がく习不需要じゅよう输入こう量的りょうてき标准(normalization);しか而,标准ひさげ高性能こうせいのう[4]

历史[编辑]

どるひしげもとまい尔·かわらひろしあまかつ引用いんよう(Bryson, A.E.; W.F. Denham; S.E. Dreyfus. Optimal programming problems with inequality constraints. I: Necessary conditions for extremal solutions. AIAA J. 1, 11 (1963) 2544-2550)ざいてき书《支持しじこうりょうつくえちゅうくび发表はんこう传播算法さんぽうざい1969ねんArthur E. Brysonなに毓琦はた其描じゅつ为多级动态系统优方法ほうほう[5][6] ちょくいた1974ねん以后ざいかみ经网络的背景はいけい应用,并由Paul Werbos[7]David E. Rumelhart杰弗さと·からしRonald J. Williams[1][8]てき著作ちょさく,它才获得认可,并引发了一场人工神经网络的研究领域的“ぶん艺复兴”。ざい21せい纪初じん们对其失兴趣,ただしざい2010ねんきさきまた拥有りょう兴趣,如今以通过GPUとう大型おおがた现代运算けんよう于训练更だいてき网络。れい如在2013ねん,顶级语音识别现在使用しようはんこう传播算法さんぽう训练しん经网络。

ちゅう[编辑]

  1. ^ 注意ちゅうい层神经网络一般采用非线性的激活函数,而此れいちゅうてきげきかつ函数かんすう为线せい函数かんすうしょ以并不能ふのう给出あかり确的しめせ范。虽然层神经网络的误差表面ひょうめんよう复杂许多,ただしざいしょう范围ないわが们可以用一个抛物面来估测这样的复杂表面。わが们在这里さいよう线性てきれいいん为它们简单易懂。

まいり[编辑]

参考さんこう文献ぶんけん[编辑]

  1. ^ 1.0 1.1 1.2 Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. Learning representations by back-propagating errors. Nature. 8 October 1986, 323 (6088): 533–536. doi:10.1038/323533a0. 
  2. ^ Paul J. Werbos (1994). The Roots of Backpropagation. From Ordered Derivatives to Neural Networks and Political Forecasting. New York, NY: John Wiley & Sons, Inc.
  3. ^ Lalis, Jeremias; Gerardo, Bobby; Byun, Yung-Cheol. An Adaptive Stopping Criterion for Backpropagation Learning in Feedforward Neural Network (PDF). International Journal of Multimedia and Ubiquitous Engineering. 2014, 9 (8): 149–156 [17 March 2015]. doi:10.14257/ijmue.2014.9.8.13. (原始げんし内容ないよう (PDF)そん档于2016-03-04). 
  4. ^ ISBN 1-931841-08-X,
  5. ^ Stuart Russell; Peter Norvig. Artificial Intelligence A Modern Approach. : 578. The most popular method for learning in multilayer networks is called Back-propagation. It was first invented in 1969 by Bryson and Ho, but was largely ignored until the mid-1980s. 
  6. ^ Arthur Earl Bryson, Yu-Chi Ho. Applied optimal control: optimization, estimation, and control. Blaisdell Publishing Company or Xerox College Publishing. 1969: 481. 
  7. ^ Paul J. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974
  8. ^ Alpaydın, Ethem. Introduction to machine learning 2nd ed. Cambridge, Mass.: MIT Press. 2010: 250. ISBN 978-0-262-01243-0. ...and hence the name backpropagation was coined (Rumelhart, Hinton, and Williams 1986a). 

外部がいぶ連結れんけつ[编辑]