From 41e57e8f0dcb9cfba14aa4ba31ce4d3443929e74 Mon Sep 17 00:00:00 2001 From: dongzhihong Date: Thu, 7 Sep 2017 14:04:29 -0700 Subject: [PATCH] polish english and graph --- paddle/framework/backward.md | 34 +++++++++--------- paddle/framework/images/duplicate_op2.graffle | Bin 2460 -> 2434 bytes paddle/framework/images/duplicate_op2.png | Bin 28971 -> 24393 bytes 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/paddle/framework/backward.md b/paddle/framework/backward.md index 8aa6728a95b..c6ca05d3100 100644 --- a/paddle/framework/backward.md +++ b/paddle/framework/backward.md @@ -2,20 +2,20 @@ ## Motivation -In Neural Network, the backpropagation algorithm follows the chain rule, so we need to compound the fundmental gradient operators/expressions together with chain rule . Every forward network need a backward network to construct the full computation graph, the operator/expression's backward pass will be generated respect to forward pass. - +In Neural Network, the backpropagation algorithm follows the chain rule, so we need to compound the gradient operators/expressions together with the chain rule. Every forward network needs a backward network to construct the full computation graph, the operator/expression's backward pass will be generated respect to forward pass. + ## Backward Operator Registry -A backward network is built up with several backward operators. Backward operators take forward operators' inputs, outputs and output gradients and then calculate its input gradients. +A backward network is built up with several backward operators. Backward operators take forward operators' inputs outputs, and output gradients and then calculate its input gradients. | | forward operator | backward operator | ---------------------- | ---------------- |------------------------- | | **Operator::inputs_** | Inputs | Inputs, Outputs, OutputGradients | | **Operator::outputs_** | Outputs | InputGradients | - In most cases, there is a one-to-one correspondence between forward and backward operators. These correspondences are recorded by a global hash map(`OpInfoMap`). To follow the philosophy of minimum core and make operators pluggable, the registry mechanism is introduced. + In most cases, there is a one-to-one correspondence between the forward and backward operators. These correspondences are recorded by a global hash map(`OpInfoMap`). To follow the philosophy of minimum core and make operators pluggable, the registry mechanism is introduced. -For example, we have got a `mul_op`, and we can register it's information and corresponding backward operator by the following macro: +For example, we have got a `mul_op`, and we can register its information and corresponding backward operator by the following macro: ```cpp REGISTER_OP(mul, MulOp, MulOpMaker, mul_grad, MulOpGrad); @@ -27,17 +27,17 @@ REGISTER_OP(mul, MulOp, MulOpMaker, mul_grad, MulOpGrad); ## Backward Opeartor Creating -Given a certain forward operator, we can get its corresponding backward opeartor by calling: +Given a certain forward operator, we can get its corresponding backward operator by calling: ```cpp OperatorBase* bwd_op = BuildGradOp(const OperatorBase* fwd_op); -``` +``` The function `BuildGradOp` will sequentially execute following processes: 1. Get the `type_` of given forward operator, and then get the corresponding backward operator's type by looking up the `OpInfoMap`. -2. Build two maps named `inputs` and `outputs` to temporary storage backward operator's inputs and outputs. Copy forward operator's `inputs_` and `outputs_` to map `inputs`, except these are not necessary for gradient computing. +2. Build two maps named `inputs` and `outputs` to temporary storage backward operator's inputs and outputs. Copy forward operator's `inputs_` and `outputs_` to map `inputs`, except these, are not necessary for gradient computing. 3. Add forward inputs' gradient variables into map `output`, adding forward outputs' gradient variables into map `input`. @@ -49,31 +49,31 @@ A backward network is a series of backward operators. The main idea of building In our design, the network itself is also a kind of operator. So the operators contained by a big network may be some small network. -given a forward network, it generates the backward network. We only care about the Gradients—`OutputGradients`,`InputGradients`. +given a forward network, it generates the backward network. We only care about the Gradients—`OutputGradients`, `InputGradients`. 1. Op - when the input forward network is a Op, return its gradient Operator Immediately. + when the input forward network is an Op, return its gradient Operator Immediately. 2. NetOp - when the input forward network is a NetOp, it need to call the sub NetOp/Operators backward function recursively. During the process, we need to collect the `OutputGradients` name according to forward NetOp. + when the input forward network is a NetOp, it needs to call the sub NetOp/Operators backward function recursively. During the process, we need to collect the `OutputGradients` name according to the forward NetOp. - **shared variable**. As illustrated in the pictures, two operator's `Output` `Gradient` will overwirte their shared input variable. + **shared variable**. As illustrated in the pictures, two operator's `Output` `Gradient` will overwrite their shared input variable.

-
+
- 1. shared variable in two operators. + 1. Shared variable in operators.

- Share variable between operators or same input variable used in multiple operators lead to a duplicate gradient variable. As demo show above, we need to rename gradient name recursively, and add a generic add operator replace the overwirte links. + Share variable between operators or same input variable used in multiple operators leads to a duplicate gradient variable. As demo show above, we need to rename gradient name recursively and add a generic add operator replace the overwrite links.

-
+
- 2. replace shared variable gradient with `Add` Operator + 2. Replace shared variable's gradient with `Add` Operator

diff --git a/paddle/framework/images/duplicate_op2.graffle b/paddle/framework/images/duplicate_op2.graffle index 2b658085d6a55d368c320051ba7f94ec2900f13c..ede3bca30ae17d5af52505fd94dc2f79b23b57e0 100644 GIT binary patch delta 2433 zcmV-{34ZpR6M_?v8h?o-zxPt^20{y63S1Ik+sVw1u$4p?W2LrIpdJ4E9@$C!nh@xv zZySce#(E?jAD#2)Skl@0{q{Q0KCvj~B7C)u8)#i)p(lJE4qmOFbzg5f>%VWWZT+o% zyxV<$vZsv#9!u@yZ0GP`S6km~Hd~`nz?#i=x2>HV9(1}Iw13fT?j5ab>q99=FPqJq zo0|qzsD>x56)~^cEo-nH}|N7CePEBXO(CaQFZfTE0z(w@-|4=5Z56e zL}EN@9K+q4h=2C`0kgK66G#q?Ew@2*5TDqVWsw|Yt2u2t6=5tz%l~s6%URbl8nfoK ze202hs>{%a?nXoI&0v#vpTHC%o|etT`0@p9Xy|@J`(hGvLo+S={=Oit!tVw&u2$`c zfM{|w12!E(VI-HOt7Qlyf~oGnIfil z*-fg!n0*l9dI@{jrQs(UA4hz^GfSANGSOsyAhQ}B{+U(qGmTg3h+upjwgNr~D>C7# zObNO(q8>Cc!$*t;+d7zDax;a(KgyQdR93_x2-};;-qf*%&6fuJ+S)%6{8Xe21UWsWqYBUa~06E%oX z9)x`{-x2cGrJf~2j*Z#a=Y62!o|$?Kr{JKIwttmyRhf5rUmyWc%{OzQ-TpXk>x}HFEH-Q*N z0s+}kT3cN#oIoraAgWy+g;b6s8uUJT>Vf2gp=4p7df?}1Z7q4(m^fO`>m#k@`}YqK z?DC#N>Ph6&-yqI{JR06LK1ki(S`5CUzZH z$BLMYG?20#(=@S#jbDSMj2f0YG-SrxFKN0XK zuesSCLe4K>+S|~Gh3`u*JS``#4Ra!~=9VLf<4xq~$iNn{Eo5zI7Erli*?$O`hD%(F zAiHcwnIzwDg??GidNS*yr56X#SMz*kZ>=aQ=xU~l*D$-WX>ndBlURTasCQSWINj5I zk&hQjQ}3Kzz>JS659W%5>IAvqz8n_N>Aqnh7^s^bR#fv%sD?b5YHYWGb(nP>!$3B$ z1zyNJHUTuuWd?Fg$F&T_Lw~wC4~6L`nP4V^e}(RCMy%fR1&v4e$UbIoJz#rt#M;r`LLR<@4reIXk$#|3x8- zPN~nwan&xIr%x~oc1&~?4ms{~94f6J#Gn5F=##d{(KlAJ{p+Z?l&tV3;(k7$Ddr$_ zhTE z=zzsb9Lqnr2H-AOon+Ax@P9Kl>WbnK`B{jWPIM}9C4TUbx_a@4HVRVY5xuUlxTG5m zSK%k{@3Nbyoq&5RUQUd2&TbxTcAmk3v|=phn_Mg8*STbed4C%xs?-Bl6YqG~&ZPp> zY^`S44ja*k7WP+bR(BG7kchb#4)UA8Q(1f=E5d{-$3lHO9I|kbi$ta!km>HG>mZ^N zVw5^e>OVq2c_T)ADSXk{K*Xzg-cxn9cXSXk`51f*-qRT}CQF7t^NM%E=lw~F*8H>< zcN5tf!7q{i(tj}O(^}Go*kkfqj)Y{(zszyOSttwYtxt`bqQO{}Zd|d_4vf%MyaZM` z@_d&$>g)(9#q~QH<+7aepJmgg`+=ac=+KjU0~eh)BdfHBeG&1`BBTMx&BKz(RXg&8 zueiLXqn(!g?C-w~-d|wE{<9N&IM^30URQQgs zX})?OWg600m^2b{uxvye2RRmeJG;e?=bBEHS)4MJLCI=t^=BBDQ?=dxoCDJpqvvS8 z$f?Od9Dj#Q`ShGv;1oWXkHg^ZVP`)TH_Ijx0(7Y?!i0~zTvmB0O?E5<4{42S8p%Wq zm7bS|TxmA$5)oHYSxw3`^w=Zoo`wA5m}OD;g10}5*isTdy|7L|4mh#i>1^6pY(qU)tVW-?=*vO$5n z9+U2z&jqgT!p$J(G#FRLVeSfMjce5J@l_w?X{bUO*)>Uk-(LG4bXTXLmp=di;tH@z literal 2460 zcmV;N31jvjiwFP!000030PS0CQ`?D3oNa>|-8-~HgdUSMrbj~AL(%Jd_ZWL-C36Cj@UTs1hY-%L( zSwN$~tIhN7>uq=Q_uY-1zqLc4EQhEAL7TbvBCVfV0V1KaqEDIPUjDV(&DjkQ^G?o{kKuK5}f^Mmfk%V=^RS zvYm&Ag1QRd3UOSm+F>Eh+ALK$Y-jkHO;O&wDXb&zLy{q98mEO)B)iEXe{6W9&;2b37+F+%=@@B{wsu{73n68;goM2ta2WINJu)p!L#} zzmE1#Ab%>_DItuP>$h1nxEj(SQ%V$Tv}rsJ@qNd~VWnB9(MWrxsY|)qYZ{X7{kT#E z%ZMmr6F+P-e=;JGD2M9YcBo>!ssF}`O=?2B=#Zrt$_0_>+FP1oCxK*ITbgMV!>BHf zvOpT*F{z8BsTo)#4x>I>90+;uQqPhuhvvNR^D$5f&&)igTL{ppY^7XP=N9F@>ddmT z#elA88V_;6Zu7ckfcl_b6xD@SD!pBo+=<0H6ic&C>~YbDJsia}`QwiV5Lu|_GoN8q zWC3&IbFVLZLtKZwKIru$DzE+!^Oy*r9gy%N5puLRCKK}8gT(qQWL$!O>v0kw%jyj{ zA(6Vd4ktuj6VyL?Ua=U`(adD$4b zTF>tTtr-Llj}h$Zkz<%>OM{-HBMV5?Z5vwBFh~UwM2-w9@E1lB6(!f0BHr(JYS3Zc zQ)kdK5+~7CM%PD_Qx{RoL!?i`a9Mz~l#>(!B!@^L*ZJZp9RS?~#UGU8hgr?RlWX#t zny`S&MQQQ=`G}!@9-FC__7qqo?f zPoOKy0J`-H6PCRutTkb+3G3G(EEAbq8Zx17B_H|VXD2A@7a%COrlU0-eJ?utep4r8 z=&lDn&jJ?oTo1X5m{2;8a$L)@ppAYJmNIKt>WD^5NGdNUCkPe=rPz~xUpjAf#mCL_ zMS?tKF%`L`upD_gvL}EGEY~&-!-T-DR6b)OSuM=3!R3_$rI#$Z(VCUlth{FBAA^;f zp(M2Xrpu1DJBGbS%%=(xm6= zj%hmpSf+e* zfc^VI#o4Cri~M|{H1sam2F&;v({Q0mpiYrX8i-*5oo*Z!CIfZD!zXETBwN6x%wxEYgv-Iq1g_atI;QT*X}jw=mIFN5f+Qjb=oUhr zX#vNu9XaB!iD*qkYa;sLh{$~k5y7VukuABw1qO?OS8~Ci1{}pC?6m%yj%`_ zL1TJdJ)&M}CK;>_h5{Z^E@?)CRrsm=ch#NLPDp(cucpQYCAW`?UF2|5TQ(7kU9K6?Q7+|S z(e8;V^<}8BcQk6}5&~-WS2Jvfj4{WBP1c$Po&+BzYVJpa{7&#pmw<_iGLg!(P+t#6 zBpT$VBC`h2Y>U%#0WuIWOARLVzd%88%f@sid@yW?N1Z6R!VNM-1_8}R1o=+?3QCD$m%b1!YPSF!Msc8Bh55gS-4`QJ=sGy z@d{WK$csbfxUxVk(B&BM$6X6J*%yuJ%>TW^-De?csnE_8F(ITrm$d8*G%Q`OK#6nPdLbS0CHWRGNBv~Jv`E=^1d^o(ltp< zNc;@lf2OwfpR@nFZ2TPJi`1QT#7RUHbu5^2oXHRKlPJ7@oKw!&?W$Re61q~#VnX{} zDysCCW>yyFC~1um<|0u;gSkMVV5+L)BMF$-kNYOEsSaES3CmU`-&AZE>>xB6F zfT-v$O@IueG+&wy%x7d!;I6qD5U{4%)fTcAWmo4@kE=U=bI1h_CzYO9xL8^f9QFH& a)kk?Es*px@P4ew`H~t5dbgE|tKmY(R48rFC diff --git a/paddle/framework/images/duplicate_op2.png b/paddle/framework/images/duplicate_op2.png index c5588015d1450fd8c1bda3580680d884494868bb..4e872dc2caf3b0cbd0d5176f11a14801b538dc86 100644 GIT binary patch literal 24393 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

j3V*$mUR7c94nkJMrLh;svrT1m{ow!`TtDk7By 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 OLj|a+OsSOVhyMXT=uKV# -- GitLab