งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ISAN-DSP GROUP 1 Chapter 3 Multilayer Feedforward Networks.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ISAN-DSP GROUP 1 Chapter 3 Multilayer Feedforward Networks."— ใบสำเนางานนำเสนอ:

1

2 ISAN-DSP GROUP 1 Chapter 3 Multilayer Feedforward Networks

3 ISAN-DSP GROUP 2 Input nodes Hidden nodes Output nodes Connections Multilayer Feedforward Network Structure Layer 0 Layer 1 Layer N Layer N-1 N-layer network

4 ISAN-DSP GROUP 3 Output ของแต่ละโหนด Multilayer Feedforward Network Structure (cont.) Hidden node Input node Output node h = layer no. j = node j of layer h-1 i = node i of layer h x1x1 x2x2 x3x3 o1o1 h = layer no. i = node i of layer h โดย

5 ISAN-DSP GROUP 4 Multilayer Feedforward Network Structure (cont.) หมายเหตุ : การเขียน superscript index ในหนังสือส่วนใหญ่จะใช้ในความหมายนี้ h = Pattern No. i = node i of layer h Superscript index ในเอกสารชุดนี้จะใช้แบบข้างล่างแทน h = layer no. i = node i of layer h

6 ISAN-DSP GROUP 5 Multilayer Perceptron : How it works x1x1 x2x2 y Function XOR y2y2 o x1x1 x2x2 y1y1 Layer 1 Layer 2 f( ) = step function

7 ISAN-DSP GROUP 6 x1x1 x2x2 (0,0) (0,1) (1,0) (1,1) Multilayer Perceptron : How it works (cont.) x1x1 x2x2 y1y1 y2y Outputs at layer 1 y2y2 x1x1 x2x2 y1y1

8 ISAN-DSP GROUP 7 Multilayer Perceptron : How it works (cont.) (0,0)(1,0) (1,1) y1y1 y2y2 y 1 -y 2 space x1x1 x2x2 (0,0) (0,1) (1,0) (1,1) Class 1 Class 0 x 1 -x 2 space Linearly separable ! Inside layer 1

9 ISAN-DSP GROUP 8 Multilayer Perceptron : How it works (cont.) Inside output layer y1y1 y2y2 (0,0)(1,0) (1,1) y 1 -y 2 space Class 0 Class 1 Space y 1 -y 2 เป็น linearly separable ดังนั้นเราใช้เส้นตรง L 3 แบ่ง class 0 กับ class 1 ได้ o y1y1 y2y2

10 ISAN-DSP GROUP 9 Multilayer Perceptron : How it works (cont.) การทำงานของ hidden layers - พยายามจะแปลงข้อมูลที่เข้ามาที่ layer นั้นๆให้เป็น linearly separable ก่อนที่ข้อมูลจะถูกส่งไปถึง output layer - ในขั้นตอนสุดท้ายที่ Hidden layer, ข้อมูลต้องเป็น linearly separable - อาจจะต้องใช้ hidden layer มากกว่า 1 layer ในการแปลงข้อมูลให้อยู่ใน รูป linearly separable - โดยทั่วไป Activation function ของแต่ละ layer ไม่จำเป็นต้องเป็น Thresholding function และไม่จำเป็นต้องเป็น function เดียวกัน

11 ISAN-DSP GROUP 10 Backpropagation Algorithm Output layer Input layer Hidden layer 2-Layer case

12 ISAN-DSP GROUP 11 Backpropagation Algorithm (cont.) 2-Layer case หาอนุพันธ์ของ  2 เทียบกับ w (2) k,j หาอนุพันธ์ของ  2 เทียบกับ  (2) k

13 ISAN-DSP GROUP 12 Backpropagation Algorithm (cont.) 2-Layer case หาอนุพันธ์ของ  2 เทียบกับ w (1) j,i

14 ISAN-DSP GROUP 13 Backpropagation Algorithm (cont.) ตอนนี้เราหาอนุพันธ์ของ  2 เทียบกับ w (1) j,i เพื่อใช้ในการปรับ weight ที่เชื่อมระหว่าง Node j ของ current layer (Layer 1) กับ Node i ของ Lower Layer (Layer 0) Error from upper Node k Derivative of upper Node k Weight between upper Node k and Node j of current layer Derivative of Node j of current layer Input from lower Node i ส่วนนี้คือ Error ที่ส่งผ่านกลับ (back propagation) มายัง Node j ที่ current layer

15 ISAN-DSP GROUP 14 Backpropagation Algorithm (cont.) เปรียบเทียบ อนุพันธ์ของ  2 เทียบกับ w (2) k,j อนุพันธ์ของ  2 เทียบกับ w (1) j,i Error at current node Input from lower node Derivative of current node โดยทั่วไป อนุพันธ์ของ error เทียบกับ weight ที่เชื่อมระหว่าง 2 layer ที่ติดกัน จะมีรูปแบบเหมือนกัน คือเป็นผลคูณระหว่าง error, derivative และ input

16 ISAN-DSP GROUP 15 Backpropagation Algorithm (cont.) General case อนุพันธ์ของ  2 เทียบกับ weight ที่เชื่อมระหว่าง Node j ใน Layer n (current layer) กับ Node i ใน Layer n-1 (lower layer) Error at Node j of Layer n Derivative of Node j Weighted input sum at Node j Input from Node i of lower layer

17 ISAN-DSP GROUP 16 อนุพันธ์ของ  2 เทียบกับ bias (  ) ภายใน Node j ใน Layer n (current layer) Backpropagation Algorithm (cont.) General case Error at Node j of Layer n Derivative of Node j Weighted input sum at Node j

18 ISAN-DSP GROUP 17 Error at Node j of Layer n Backpropagation Algorithm (cont.) General case Error at Node k of Layer N (Output layer)

19 ISAN-DSP GROUP 18 Updating Weights : Gradient Descent Method Updating weights and bias

20 ISAN-DSP GROUP 19 Updating Weights : Gradient Descent with Momentum Method 0<  <1 Momentum term  w will converge to

21 ISAN-DSP GROUP 20 Updating Weights : Newton’s Methods From Taylor’s Series where H = Hessian matrix E = Error function (  2 ) From Taylor’s series, we get or ( Newton’s method )

22 ISAN-DSP GROUP 21 Updating Weights : Newton’s Methods Advantages:  Fast (quadratic convergence) Disadvantages:  Computationally expensive (requires the computation of inverse matrix operation at each iteration time).  Hessian matrix is difficult to be computed.

23 ISAN-DSP GROUP 22 Levenberg-Marquardt Backpropagation Methods where J = Jacobian matrix E = All errors I = Identity matrix  = Learning rate

24 ISAN-DSP GROUP 23 Example : Application of MLP for classification x = randn([2 200]); o = (x(1,:).^2+x(2,:).^2)<1; Matlab command : Create training data Input pattern x 1 and x 2 generated from random numbers Desired output o: if (x 1,x 2 ) lies in a circle of radius 1 centered at the origin then o = 1 else o = 0 x2x2 x1x1

25 ISAN-DSP GROUP 24 PR = [min(x(1,:)) max(x(1,:)); min(x(2,:)) max(x(2,:))]; S1 = 10; S2 = 1; TF1 = 'logsig'; TF2 = 'logsig'; BTF = 'traingd'; BLF = 'learngd'; PF = 'mse'; net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); Matlab command : Create a 2-layer network Example : Application of MLP for classification (cont.) Range of inputs No. of nodes in Layers 1 and 2 Activation functions of Layers 1 and 2 Training function Learning function Cost function Command for creating the network

26 ISAN-DSP GROUP 25 Matlab command : Train the network Example : Application of MLP for classification (cont.) net.trainParam.epochs = 2000; net.trainParam.goal = 0.002; net = train(net,x,o); y = sim(net,x); netout = y>0.5; No. of training rounds Maximum desired error Training command Compute network outputs (continuous) Convert to binary outputs

27 ISAN-DSP GROUP 26 Example : Application of MLP for classification (cont.) Network structure x2x2 x1x1 Hidden nodes (sigmoid) Output node (Sigmoid) Input nodes Threshold unit (for binary output)

28 ISAN-DSP GROUP 27 Example : Application of MLP for classification (cont.) Initial weights of the hidden layer nodes (10 nodes) displayed as Lines w 1 x 1 +w 2 x 2 +  = 0

29 ISAN-DSP GROUP 28 Example : Application of MLP for classification (cont.) MSE vs training epochs Training algorithm: Gradient descent method

30 ISAN-DSP GROUP 29 Example : Application of MLP for classification (cont.) Results obtained using the Gradient descent method Classification Error : 40/200

31 ISAN-DSP GROUP 30 Example : Application of MLP for classification (cont.) Training algorithm: Gradient descent with momentum method MSE vs training epochs

32 ISAN-DSP GROUP 31 Example : Application of MLP for classification (cont.) Results obtained using the Gradient descent with momentum method Classification Error : 40/200

33 ISAN-DSP GROUP 32 Example : Application of MLP for classification (cont.) MSE vs training epochs (success with in only 10 epochs!) Training algorithm: Levenberg-Marquardt Backpropagation

34 ISAN-DSP GROUP 33 Example : Application of MLP for classification (cont.) Results obtained using the Levenberg-Marquardt Backpropagation Classification Error : 0/200 Unused node Only 6 hidden nodes are adequate !

35 ISAN-DSP GROUP 34 Example : Application of MLP for classification (cont.) สรุปการทำงานของ วงจรข่ายนิวรอลในการแยกแยะข้อมูล - ในงานด้าน Classification นิวรอลใน Node ในชั้นต้นๆ จะทำหน้าที่สร้างเส้นแบ่ง พรมแดน (boundary) ของ Class ต่างชนิดกันในเฉพาะช่วงสั้นๆในระดับท้องถิ่น (Local) - ในขณะที่นิวรอลในชั้นสูงๆจะทำหน้าที่รวบรวม เส้นแบ่งพรมแดนแต่ละเส้น จาก Node ล่างๆเข้าประกอบเป็น Global boundary ที่ใช้แบ่งแยกข้อมูลทั้งหมด

36 ISAN-DSP GROUP 35 Example : Application of MLP for function approximation Function to be approximated x = 0:0.01:4; y = (sin(2*pi*x)+1).*exp(-x.^2);

37 ISAN-DSP GROUP 36 Example : Application of MLP for function approximation (cont.) PR = [min(x) max(x)] S1 = 6; S2 = 1; TF1 = 'logsig'; TF2 = 'purelin'; BTF = 'trainlm'; BLF = 'learngd'; PF = 'mse'; net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); Matlab command : Create a 2-layer network Range of inputs No. of nodes in Layers 1 and 2 Activation functions of Layers 1 and 2 Training function Learning function Cost function Command for creating the network

38 ISAN-DSP GROUP 37 Network structure Hidden nodes (sigmoid) Output node (Linear) Input nodes xy Example : Application of MLP for function approximation

39 ISAN-DSP GROUP 38 Initial weights of the hidden nodes displayed in terms of the activation function of each node (sigmoid function). Example : Application of MLP for function approximation

40 ISAN-DSP GROUP 39 Final weights of the hidden nodes after training displayed in terms of the activation function of each node (sigmoid function). Example : Application of MLP for function approximation

41 ISAN-DSP GROUP 40 Weighted summation of all outputs from the first layer nodes yields function approximation. Example : Application of MLP for function approximation

42 ISAN-DSP GROUP 41 Example : Application of MLP for function approximation (cont.) PR = [min(x) max(x)] S1 = 3; S2 = 1; TF1 = 'logsig'; TF2 = 'purelin'; BTF = 'trainlm'; BLF = 'learngd'; PF = 'mse'; net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); Matlab command : Create a 2-layer network Range of inputs No. of nodes in Layers 1 and 2 Activation functions of Layers 1 and 2 Training function Learning function Cost function Command for creating the network

43 ISAN-DSP GROUP 42 Network structure No. of hidden nodes is too small ! Function approximated using the network Example : Application of MLP for function approximation

44 ISAN-DSP GROUP 43 Example : Application of MLP for function approximation (cont.) PR = [min(x) max(x)] S1 = 5; S2 = 1; TF1 = 'radbas'; TF2 = 'purelin'; BTF = 'trainlm'; BLF = 'learngd'; PF = 'mse'; net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); Matlab command : Create a 2-layer network Range of inputs No. of nodes in Layers 1 and 2 Activation functions of Layers 1 and 2 Training function Learning function Cost function Command for creating the network

45 ISAN-DSP GROUP 44 Initial weights of the hidden nodes displayed in terms of the activation function of each node (radial basis function). Radiasl Basis Func. Example : Application of MLP for function approximation

46 ISAN-DSP GROUP 45 Final weights of the hidden nodes after training displayed in terms of the activation function of each node (Radial Basis function). Example : Application of MLP for function approximation

47 ISAN-DSP GROUP 46 Function approximated using the network Example : Application of MLP for function approximation

48 ISAN-DSP GROUP 47 สรุปการทำงานของ วงจรข่ายนิวรอลในการประมาณค่าฟังก์ชัน - ในงานด้าน Function approximation นิวรอลใน Node ในชั้นต้นๆ จะทำหน้าที่ ประมาณค่าในเฉพาะช่วงสั้นๆในระดับท้องถิ่น (Local) กล่าวคือ นิวรอลใน Node ในชั้นต้นๆ จะตื่นตัว (Active) เฉพาะกับ Input ในช่วงสั้นๆ - ในขณะที่นิวรอลในชั้นสูงๆจะทำหน้าที่รวบรวม output จาก Node ล่างๆเข้า ประกอบเป็น Global function ที่ครอบคลุม input range ทั้งหมด Example : Application of MLP for function approximation


ดาวน์โหลด ppt ISAN-DSP GROUP 1 Chapter 3 Multilayer Feedforward Networks.

งานนำเสนอที่คล้ายกัน


Ads by Google