เป้าหมายของ backpropagation คือการหาค่า partial derivative และ สำหรับ cost function (C) เทียบกับทุก weight และ bias ใน Neural Network
Cost function ถูก define ด้วย
เมื่อ
n คือ จำนวน training sample
y, y(x) คือ output ใน training sample
L คือ จำนวน Layer ใน network
หรือ คือ vector ของ activated output เมื่อ input คือ x
Assumption 1 :
เมื่อ
คือ Cost function ของแต่ละ input x (individual input x)
และ
เหตุเพราะการหาค่า partial derivative ของ Cost function นั้นต้องคำนวณไปทีละครั้งเมื่อมี x input เข้ามา และ แล้วจึงค่อยไปหาค่า Cost function ของ network จากค่าเฉลี่ยอีกที
Assumption 2 :
สมการที่เกี่ยวข้องใน backpropagation
1. สมการสำหรับ error ที่ output layer ( )
สมการนี้มีสอง Term ให้พิจารณา คือ
1) บอกถึงความเร็วในการเปลี่ยนแปลงของ C เทียบการเปลี่ยนแปลงของ หากค่าของ C ไม่ค่อยมีความสัมพันธ์กับ แล้ว จะมีค่าน้อย
2) บอกถึงอัตราเร็วของการเปลี่ยนแปลงของ activation function เทียบกับอัตราการเปลี่ยแปลงของ
หากกำหนด cost function แบบ (3) จะได้
สมการ (5) สามารถเขียนในรูปของ Matrix operation ได้ คือ
โดย คือ gradient vector ที่มี element เป็น ใช้บอกถึงการเปลี่ยนแปลงของ C เทียบกับการเปลี่ยนแปลงของ activated output และเนื่องจากการใช้สมการ quadratic สำหรับ cost function นำมาแทนค่า ด้วย แล้วจะได้ สมการที่ (6) ในรุปแบบของ matrix คือ
2 สมการสำหรับ error ที่ layer ( )
ในการดำเนินการเราจะเริ่มจากการหาค่า ตามสมการ (7) จากนั้นหาค่า ด้วยสมการที่ (8) และ ด้วยสมการที่ (8) อีกครั้งไปเรื่อย ๆจนถึง input layer
3 สมการคำนวณค่าการเปลี่ยนแปลงของ cost function เทียบกับ bias
4. สมการคำนวณค่าการเปลี่ยนแปลงของ cost function เทียบกับ weight
Algorithm
1. เตรียม training sample data set
2. แต่ละชุดของ training sample data set คำนวณหา corresponding activation ตามขั้นตอน
2.1 Feed forward : สำหรับ layer l = 2,3,4,..,L
2.2 หา Output error : ในรูปแบบ vector
2.3 หา Back-propagate the error : ของแต่ละ layer l = L-1, L-2, L-3,..,2
3. Gradient descent : แต่ละ layer l = L, L-1, L-2,...,2 ปรับค่าของ weight และ bias
Cost function ถูก define ด้วย
เมื่อ
n คือ จำนวน training sample
y, y(x) คือ output ใน training sample
L คือ จำนวน Layer ใน network
Assumption 1 :
เมื่อ
และ
เหตุเพราะการหาค่า partial derivative ของ Cost function นั้นต้องคำนวณไปทีละครั้งเมื่อมี x input เข้ามา
Assumption 2 :
สมการที่เกี่ยวข้องใน backpropagation
1. สมการสำหรับ error ที่ output layer (
สมการนี้มีสอง Term ให้พิจารณา คือ
1)
2)
หากกำหนด cost function แบบ (3) จะได้
สมการ (5) สามารถเขียนในรูปของ Matrix operation ได้ คือ
โดย
เรียกว่า "Hadamard Product" คือการการคูณ matrix ที่มีมิติเหมือนกันแบบ element ต่อ element เช่น
2 สมการสำหรับ error ที่ layer
ในการดำเนินการเราจะเริ่มจากการหาค่า
3 สมการคำนวณค่าการเปลี่ยนแปลงของ cost function เทียบกับ bias
4. สมการคำนวณค่าการเปลี่ยนแปลงของ cost function เทียบกับ weight
1. เตรียม training sample data set
2. แต่ละชุดของ training sample data set คำนวณหา corresponding activation
2.1 Feed forward : สำหรับ layer l = 2,3,4,..,L
และ
2.2 หา Output error : ในรูปแบบ vector
2.3 หา Back-propagate the error : ของแต่ละ layer l = L-1, L-2, L-3,..,2
3. Gradient descent : แต่ละ layer l = L, L-1, L-2,...,2 ปรับค่าของ weight และ bias
ความคิดเห็น
แสดงความคิดเห็น