Multilayer Feedforward Networks

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Advertisements

การประยุกต์ Logic Gates ภาค 2
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
EEET0391 Electrical Engineering Lab.II Rev Introduction & PSPICE.
Penetration Testing – A Case Study of Khon Kaen University Networks
Presen t Senio r Projec t Part II/II. Development of Visualization for 3-Dimensional Bin packing การพัฒนาระบบแสดงผล สำหรับการบรรจุผลิตภัณฑ์ในสามมิติ
Braille OCR Mobile Application
ฟังก์ชันควบคุมจอภาพ (Screen Control Function)
โดย นาย สิริชัย นิธิอุทัย
เกตทางตรรกและพีชคณิตแบบบูล
General Purpose TV Interfacing Module
Chapter 5: Functions of Random Variables. สมมติว่าเรารู้ joint pdf ของ X 1, X 2, …, X n --> ให้หา pdf ของ Y = u (X 1, X 2, …, X n ) 3 วิธี 1. Distribution.
Data Structures and Algorithms
AVL Tree.
ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒
สมชาย ประสิทธิ์จูตระกูล
บทที่ 12 Virtual Private Networks
ผังงานโปรแกรม (Program Flowchart)
Principal Facts and Ideas Objectives 1. 1.Understand principal properties of central-force problem 2. 2.Solve problems : angular momentum of a single particle.
Copyright © 2004, Oracle. All rights reserved. Oracle Practice.
การแสดงผล และการรับข้อมูล
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
Chapter 19 Network Layer: Logical Addressing
Inference in Propositional Logic
Chapter 12 Riveted, Bolted & Welded Connections
INC341 State space representation & First-order System
INC 551 Artificial Intelligence
INC PT & BP INC341 Obtaining Transfer Functions Lecture 2.
INC341 Steady State Error Lecture 6.
Chapter 3 Solution by Series. Introduction Complementary Function Particular Integral  Chapter 2 If F(x),G(x) are constant.
ไกรฤกษ์ เชยชื่น, M.Eng. Electrical
Perceptron and Delta rule training for the NN
Back-Propagation Learning (การเรียนรู้แบบแพร่กลับ) (ต่อ)
Adaline and Delta rule training for NN
Number Representations
Arithmetic circuits Binary addition Binary Subtraction
Image Processing & Computer Vision
Image Processing & Computer Vision
น.ส.กฤติกา วงศาวณิช นายศุภชัย ตั้งบุญญะศิริ
ภาควิชาวิทยาการคอมพิวเตอร์
AI for Computer Game Dr.Yodthong Rodkaew
ตัวอย่างFUZZY. ตัวอย่าง ฐานองคความรูฟซซีสามารถแสดงไดเปน Rule 1: If feature1 is high and feature2 is low and feature3 is medium, then class is 1.
การเลือกจำนวน Hidden Node ที่เหมาะสมกับโครงข่ายประสาทเทียม
C# Operation สุพจน์ สวัตติวงศ์ Reference:
เกท (Gate) AND Gate OR Gate NOT Gate NAND Gate NOR Gate XNOR Gate
แผนผังคาร์โนห์ Kanaugh Map
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
ผลการดำเนินงานไตรมาสที่ 3-4/2556 (1 ตุลาคม 2555 – 16 มิถุนายน 2556) สำนักวิชาการและ แผนงาน.
1 Spectroscopy Introduction Lecturer: Somsak Sirichai Chemistry department, Burapha University.
หน่วยที่ 3 การวิเคราะห์การผลิต.
Artificial Intelligence (AI)
ผู้ให้สัมมนา นายธเนศ เกษศิลป์ รหัส ภาควิชานิติวิทยาศาสตร์
Chapter 3 Simple Supervised learning
21 August ดรุณี ศมาวรรตกุล 1 2. ADT List - Unsorted list ADT - list implementation - Sorted List - Circular list - Doubly linked list.
Lecture 7 Java Exceptions. Errors  Compile-time Errors  เกิดขึ้นระหว่าง compile ตรวจสอบได้ด้วย Compiler  เช่น ผิดหลักไวยากรณ์  Run-time Error  เกิดขึ้นระหว่างประมวลผล.
Fuzzy ART.
การทำเหมืองข้อมูล (Data Mining)
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
School of Information Communication Technology,
ระบบเลขฐาน.
แบบฝึกหัด จงหาคำตอบที่ดีที่สุด หรือหาค่ากำไรสูงสุด จาก
ค่าความจริงของประโยคที่มีตัวบ่งปริมาณ 2 ตัว
Week 13 Basic Algorithm 2 (Searching)
Click when ready Wang991.wordpress.com © All rights reserved Stand SW 100 Relation and function.
Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
หัวข้อในการบรรยาย 1. จำนวนบุคลากรสายสนับสนุน 2. เส้นทางความก้าวหน้า 3. องค์ประกอบของคณะกรรมการประเมินค่างาน 4. ขั้นตอนการแต่งตั้งบุคคลให้ดำรงตำแหน่งสูงขึ้น.
โมเมนตัม (Momentum).
ใบงาน Work Shop หน่วยงานสนับสนุน
ใบสำเนางานนำเสนอ:

Multilayer Feedforward Networks Chapter 3 Multilayer Feedforward Networks

Multilayer Feedforward Network Structure Layer N Output nodes Layer N-1 Layer 1 Hidden nodes Connections Layer 0 Input nodes N-layer network

Multilayer Feedforward Network Structure (cont.) Input node h = layer no. Hidden node x1 Output node i = node i of layer h x2 o1 h = layer no. x3 j = node j of layer h-1 i = node i of layer h Output ของแต่ละโหนด โดย

Superscript index ในเอกสารชุดนี้จะใช้แบบข้างล่างแทน 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

x1 x2 y Multilayer Perceptron : How it works Function XOR y1 x1 o x2 1 x1 o x2 y2 Layer 1 Layer 2 f( ) = step function

x1 x2 y1 y2 Multilayer Perceptron : How it works (cont.) Outputs at layer 1 x1 x2 (0,0) (0,1) (1,0) (1,1) x1 x2 y1 y2 1 y1 x1 x2 y2

Multilayer Perceptron : How it works (cont.) Inside layer 1 y1 y2 y1-y2 space x1 x2 (0,0) (0,1) (1,0) (1,1) Class 1 Class 0 x1-x2 space (1,1) Linearly separable ! (0,0) (1,0)

Space y1-y2 เป็น linearly separable Multilayer Perceptron : How it works (cont.) Inside output layer y1 y1 y2 (0,0) (1,0) (1,1) y1-y2 space Class 0 Class 1 o y2 Space y1-y2 เป็น linearly separable ดังนั้นเราใช้เส้นตรง L3 แบ่ง class 0 กับ class 1ได้

การทำงานของ hidden layers 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 เดียวกัน

Backpropagation Algorithm 2-Layer case Output layer Hidden layer Input layer

Backpropagation Algorithm (cont.) 2-Layer case หาอนุพันธ์ของ e2 เทียบกับ w(2)k,j หาอนุพันธ์ของ e2 เทียบกับ q (2)k

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

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

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

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

อนุพันธ์ของ e2 เทียบกับ bias (q ) ภายใน Node j ใน Layer n Backpropagation Algorithm (cont.) General case อนุพันธ์ของ e2 เทียบกับ bias (q ) ภายใน Node j ใน Layer n (current layer) Weighted input sum at Node j Error at Node j of Layer n Derivative of Node j

Backpropagation Algorithm (cont.) General case Error at Node j of Layer n Error at Node k of Layer N (Output layer)

Updating Weights : Gradient Descent Method Updating weights and bias

Updating Weights : Gradient Descent with Momentum Method 0< b <1 Momentum term Dw will converge to

Updating Weights : Newton’s Methods From Taylor’s Series where H = Hessian matrix E = Error function (e2) From Taylor’s series, we get or ( Newton’s method )

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

Levenberg-Marquardt Backpropagation Methods where J = Jacobian matrix E = All errors I = Identity matrix m = Learning rate

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

Example : Application of MLP for classification (cont.) Matlab command : Create a 2-layer network 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); 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

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

Example : Application of MLP for classification (cont.) Network structure Output node (Sigmoid) x1 Input nodes x2 Threshold unit (for binary output) Hidden nodes (sigmoid)

Example : Application of MLP for classification (cont.) Initial weights of the hidden layer nodes (10 nodes) displayed as Lines w1x1+w2x2+q = 0

Example : Application of MLP for classification (cont.) Training algorithm: Gradient descent method MSE vs training epochs

Example : Application of MLP for classification (cont.) Results obtained using the Gradient descent method Classification Error : 40/200

Example : Application of MLP for classification (cont.) Training algorithm: Gradient descent with momentum method MSE vs training epochs

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

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

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

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

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);

Example : Application of MLP for function approximation (cont.) Matlab command : Create a 2-layer network 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); 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

Example : Application of MLP for function approximation Network structure Output node (Linear) x y Input nodes Hidden nodes (sigmoid)

Example : Application of MLP for function approximation 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 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 Weighted summation of all outputs from the first layer nodes yields function approximation.

Example : Application of MLP for function approximation (cont.) Matlab command : Create a 2-layer network 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); 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

Function approximated using the network Example : Application of MLP for function approximation Network structure No. of hidden nodes is too small ! Function approximated using the network

Example : Application of MLP for function approximation (cont.) Matlab command : Create a 2-layer network 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); 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

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

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

Function approximated using the network Example : Application of MLP for function approximation Function approximated using the network

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