Powerpoint - Choopan Rattanapoka

Download Report

Transcript Powerpoint - Choopan Rattanapoka

NEURAL NETWORK
357353 – Artificial Intelligence
Choopan Rattanapoka
เครือข่ายใยประสาท (Neural Network)

การนาปั ญญาประดิษฐ์มาประยุกต์ใช้เพื่อเลียนแบบความคิด และการกระทา
ของมนุ ษย์ ไม่สามารถทาได้อย่างสมบูรณ์ เนื่ องจาก
 มีข้น
ั ตอนที่ตายตัวเกินไป
 ใช้หลักทฤษฎีทางด้านตรรกศาสตร์




จึงมีการพัฒนาปั ญญาประดิษฐ์ในรูปแบบใหม่ขึ้นมา เรียกว่า “เครือข่ายใย
ประสาท”
บางครั้งเรียกว่า “เครือข่ายใยประสาทเทียม” (Artificial neural
network : ANN)
เป็ นการจาลองการทางานของสมองมนุ ษย์ โดยใช้การประมวลผลแบบขนาน
สามารถใช้จดจาและมีการเรียนรูจ้ ากประสบการณ์
การทางานของโครงข่ายประสาทในสมอง





ในสมองจะประกอบไปด้วย
neuron จานวนมาก
แต่ละ neuron จะมีเส้นประสาท
“Dendrite” แตกแขนงออกมา
เส้นประสาทที่แยกออกมาจะไปเชื่อม
กับ neuron อันอื่น
Synapse คือส่วนของปลาย
เส้นประสาท
Axon มีหน้าที่ส่งผ่านประจุไฟฟ้ า
ไปยัง neuron อื่นๆ
การทางานของโครงข่ายประสาทในสมองเทียม
Dendrites
summation
OUTPUT
threshold
Axon
INPUT
การแบ่งชั้นของโครงข่ายประสาทเทียม
INPUT
HIDDEN
OUTPUT
องค์ประกอบของโครงข่ายใยประสาท

Node(neuron) บางครั้งจะเรียกว่า Unit ซึ่งจะเชื่อมโยงต่อกันด้วยเส้น
เชื่อมโยง (Link) ซึ่งแต่ละเส้นจะมีค่าน้ าหนักกาหนดไว้
Perceptron


เป็ นโครงข่ายใยประสาท ที่แต่ละโหนดจะเชื่อมต่อไปยังโหนดในขั้นถัดไปทุกจุด
ถ้าโหนดผลลัพธ์มีเพียงโหนดเดียวจะเรียกว่า “Single network”

สามารถแบ่งออกได้ 2 ประเภทคือ
Single Layer Perceptron (SLP)
 Multi Layer Perceptron (MLP)

Single Layer Perceptron (SLP)



เป็ น perceptron ที่มีโครงสร้างไม่ซบั ซ้อน
ซึ่งประกอบไปด้วยชั้นของผลลัพธ์เพียงชั้นเดียวเท่านั้น
โดยผลลัพธ์จะได้จากผลรวมของข้อมูลนาเข้าและค่าน้ าหนักของแต่ละจุดที่
เชื่อมโยงกัน
Multi Layer Perceptron (MLP)


เป็ น perceptron ที่มีมากกว่า 1 ชั้น
ซึ่งแต่ละชั้นจะมีการรับค่าและคานวณค่าผลรวมของข้อมูลนาเข้าและค่า
น้ าหนักของแต่ละจุดที่เชื่อมโยงกัน และส่งต่อค่าเหล่านั้นไปยังโหนดที่
เชื่อมต่อในชั้นถัดไป
INPUT
HIDDEN
OUTPUT
ตัวอย่าง

สร้าง Single Network เพื่อแทนการทางานของ AND
A
B
A&B
Summation function(x) =
0
0
0
Activation function =
0
1
0
• 0 ถ้า X <= 1
1
0
0
•
1
ถ้
า
X
>
1
1
1
1
กาหนด w1และ w2 = 1
A
w1
A&B
B
w2
Backpropagation



เป็ นโครงข่ายแบบ Perceptron หลายชั้น จะมีการคานวณค่า error ที่
เกิดจากการเปรียบเทียบผลลัพธ์ที่คานวณได้ กับ ผลลัพธ์ที่ตอ้ งการให้เป็ น
เรียกอีกอย่างว่า เป็ นการเรียนรูจ้ ากตัวอย่างที่ให้มา
การทางานของ Backpropagation มีข้นั ตอนดังนี้
link
 นาค่าข้อมูลเข้าไปในโครงข่าย
 คานวณค่าผลลัพธ์ที่ได้จากโครงข่ายและคานวณค่า error
 นาค่า error ส่งกลับไปเปลี่ยนแปลงค่าน้ าหนั กภายใน
 สุ่มค่าน้ าหนั กให้กบ
ั

การทางานแบบนี้ จะทาให้ได้ผลลัพธ์ที่น่าพอใจ แต่ไม่ถกู ต้อง 100%
EVOLUTIONARY COMPUTATION
357353 – Artificial Intelligence
Choopan Rattanapoka
การคานวณเชิงวิวฒ
ั นาการ



เป็ นการเรียนรูท้ ี่เลียนแบบมาจากวิวฒ
ั นาการของสิ่งมีชีวติ
ตัวอย่างเทคนิ คที่ใช้การคานวณเชิงวิวฒ
ั นาการ คือ Genetic Algorithm
ในปี ค.ศ. 1858 Charles Darwin ได้นาเสนอทฤษฎีเชิงวิวฒ
ั นาการ
ซึ่งกล่าวไว้วา่
 สิ่งมีชีวต
ิ บนโลกจะเกิดการเปลี่ยนแปลงตลอดเวลา เพื่อให้สามารถดารงชีวติ อยูไ่ ด้
เรียกว่า สิ่งมีชีวติ ต้องมีววิ ฒ
ั นาการ (Evolution) เพื่อปรับตัวให้เหมาะสม
(fitness) กับสภาพแวดล้อม
 สิ่งมีชีวต
ิ ที่ปรับตัวไม่ได้ จะไม่สามารถดารงเผ่าพันธุอ์ ยูไ่ ด้
 กระบวนการทางธรรมชาตินี้เรียกว่า การคัดเลือกทางธรรมชาติ (Natural
Selection)
ขั้นตอนวิธีเชิงพันธุกรรมของมนุษย์



สิ่งมีชีวติ ที่มีลกั ษณะเหมือนกัน จะมีลกั ษณะทางพันธุกรรมที่คล้ายกัน เนื่ องจาก
สิ่งมีชีวติ สามารถถ่ายทอดพันธุกรรมไปสู่รุ่นลูกรุ่นหลานได้
สิ่งจะถ่ายทอดพันธุกรรมที่เรียกว่า ยีน (Gene)
ลูกหลานที่ได้รบั พันธุกรรม (Genetic) จากพ่อแม่โดยตรง เช่น




สีผม สีผิว ความสูง etc..
ยีนเป็ นส่วนหนึ่ งของ DNA ที่ปรากฏอยูบ่ นตาแหน่ งโครงสร้างของ โครโมโซม
(Chromosome) เพื่อทาหน้าที่ถ่ายทอดและควบคุมลักษณะทางพันธุกรรม
มนุ ษย์มีโครโมโซมทั้งหมด 23 คู่ (46 แท่ง) มาจากพ่อ 23 แท่ง และมาจากแม่
23 แท่ง มาไขว้เปลี่ยนกัน (Crossover)
แต่หากกรณีที่ผไู ้ ด้รบั การถ่ายทอดมียนี ที่แตกต่างจากพ่อแม่จะเรียกว่า การกลาย
พันธุ์ (Mutation)
องค์ประกอบของขั้นตอนวิธีเชิงพันธุกรรม

ขั้นตอนวิธีเชิงพันธุกรรม สามารถแบ่งออกเป็ นวิธีดงั นี้
เริ่มต้น
สร้างประชากรต้นกาเนิ ด
หาค่าความเหมาะสม
การคัดเลือก
การไขว้เปลี่ยน
การกลายพันธุ์
เงื่อนไขการหยุด
ทางาน
เริ่มต้น
การสร้างโครโมโซม


เป็ นการสร้างทางเลือกสาหรับปั ญหาให้อยูใ่ นรูปแบบของโครโมโซม
(Chromosome Encoding) ซึ่งจะมีลกั ษณะเป็ นสาย (string) ที่มี
ขนาดจากัด
ข้อมูลภายในโครโมโซมจะเปรียบเสมือนยีนเพื่อบ่งบอกลักษณะของ
โครโมโซม
Q
Q
Q
Q
Q
Q
Q
Q
8
4
1
3
6
2
7
5
การสร้างประชากรต้นกาเนิด




ประชากรต้นกาเนิ ดเรียกว่า “Initial Population”
เกิดจากการสุ่ม (Random) กลุ่มโครโมโซมขึ้ นมาจานวนหนึ่ งเรียกว่า
ประชากร (Population)
ประชากรกลุ่มนี้ จะเป็ นจุดเริ่มต้นสาหรับถ่ายทอดพันธุกรรมให้กบั รุ่นต่อไป
การสร้างประชากรต้นกาเนิ ด จะต้องกาหนด พารามิเตอร์ขนาดของ
ประชากร ให้เหมาะสม



ขนาดของประชากร (Population Size)
อัตราการไขว้เปลี่ยน (Crossover Rate)
อัตราการกลายพันธุ์ (Mutation Rate)
ฟั งก์ชนั ความเหมาะสม

ฟั งก์ชนั ความเหมาะสม (Fitness function : f)

เป็ นฟั งก์ชนั ที่ใช้วดั ความเหมาะสมของโครโมโซมที่สามารถอยูร่ อดเพื่อนาไปขยายพันธุ์
ต่อได้
 ลักษณะของฟั งก์ชน
ั ความเหมาะสมจะมีสมการคณิตศาสตร์พนฐานหลายรู
ื้
ปแบบ
สาหรับบอกความเหมาะสมของโครโมโซม ขึ้ นอยูก่ บั แต่ละปั ญหาที่พิจารณา

ตัวอย่าง fitness function

ฟั งก์ชนั ความเหมาะสมที่บ่งบอกผลลัพธ์เป็ น 0 หรือ 1 เท่านั้น
 ฟั งก์ชน
ั ความเหมาะสมที่บ่งบอกผลลัพธ์เป็ นร้อยละ
ประชากรต้นกาเนิด
คุณภาพของโครโมโซม
ค่าความเหมาะสม (ร้อยละ)
โครโมโซม A
5
25
โครโมโซม B
7
35
โครโมโซม C
2
10
โครโมโซม D
6
30
การคัดเลือก (Selection)



การเลือกทางธรรมชาติ เป็ นกระบวนการคัดสรรสิ่งมีชีวติ ที่เหมาะกับ
สภาพแวดล้อม ซึ่งสิ่งมีชีวติ ที่ถกู คัดเลือกจะสามารถดารงชีวิต และขยายพันธุ์
ต่อไปได้
GA ได้นาหลักการนี้ มาคัดเลือกโครโมโซมที่เหมาะสมจากประชากรต้น
กาเนิ ด เพื่อนาไปเป็ นโครโมโซมพ่อ และแม่ เพื่อสร้างเป็ นโครโมโซมลูกใน
รุ่นถัดไป
หลักการคัดเลือกโครโมโซมที่เหมาะสมส่วนใหญ่จะใช้วธิ ี Roulette
wheel
การคัดเลือก (Selection)
ประชากรต้นกาเนิด
คุณภาพของโครโมโซม
ค่าความเหมาะสม (ร้อยละ)
โครโมโซม A
5
25
โครโมโซม B
7
35
โครโมโซม C
2
10
โครโมโซม D
6
30
1
2
3
4


สุ่มเลือกโครโมโซมจากวงล้อ
โครโมโซมที่มีค่าความเหมาะสมมากมี
โอกาสที่จะถูกเลือกมากกว่า
การไขว้เปลี่ยน (Crossover)



การไขว้เปลี่ยนโครโมโซมในทางพันธุศาสตร์ จะเกิดขึ้ นหลังจากสิ่งมีชีวติ ผสมพันธุก์ นั
โดยโครโมโซมพ่อจะจับตัวกับโครโมโซมแม่เพื่อรวมโครโมโซม
ใน GA จะนาเอาโครโมโซมที่ผ่านการคัดเลือก 2 ตัวมากับคู่กนั เพื่อสร้างโครโมโซมลูก
ขึ้ นมา
การไขว้เปลี่ยนโครโมโซมมี 2 แบบใหญ่ๆคือ


การไขว้เปลี่ยนแบบจุดเดียว
การไขว้เปลี่ยนแบบสองจุด
การไขว้เปลี่ยนแบบจุดเดียว

จุดเป็ นการ สุ่ม จุดตัดขึ้ นมาเพียงจุดเดียวบนโครโมโซมพ่อกับโครโมโซมแม่
เพื่อใช้เป็ นจุดไขว้เปลี่ยน
โครโมโซมพ่อ
1011
1111
โครโมโซมแม่
0001
0000
CROSSOVER
การไขว้เปลี่ยนแบบ 2 จุด

จะสุ่มจุดตัดขึ้ นมา 2 จุดบนโครโมโซมพ่อและแม่ และไขว้เปลี่ยนข้อมูลที่อยู่
ระหว่างจุดตัดทั้ง 2
10
โครโมโซมพ่อ
1111
11
โครโมโซมแม่
00
0100
00
CROSSOVER
การกลายพันธุ ์ (Mutation)




การกลายพันธุใ์ นทางพันธุศาสตร์ มักจะเกิดขึ้ นหลังจากกระบวนการไขว้
เปลี่ยนโครโมโซม แต่จะมีโอกาสเกิดขึ้ นน้อยมาก
ลักษณะของสิ่งมีชีวติ ที่เกิดการกลายพันธุ์ จะแตกต่างจากพ่อละแม่โดย
สิ้ นเชิง เนื่ องจากมียนี บางส่วนภายในโครโมโซมเกิดการกลายพันธุ์
ใน GA ได้อาศัยหลักการการกลายพันธุเ์ พื่อมาช่วยในการสร้างคาตอบใหม่
โดยจะยอมให้ค่าในโครโมโซมสามารถกลายพันธุไ์ ด้ ตาแหน่ งในโครโมโซมที่
จะกลายพันธุ์ จะมาจากการสุ่ม และจะต้องกาหนดระดับของการกลายพันธุ์
ด้วย
สาหรับ ไบนารีโครโมโซม การกลายพันธุ์ คือการเปลี่ยนจากค่า 0 เป็ น 1
และ 1 เป็ น 0
การกลายพันธุ ์
10
โครโมโซมพ่อ
1111
11
โครโมโซมแม่
00
0100
0110
00
CROSSOVER
0
1
ตัวอย่างการใช้งาน GA แก้ปัญหา 8-Queen



ตัวอย่างจะใช้เลขจานวนเต็มในข้อมูลของโครโมโซม
ใช้วธิ ีไขว้เปลี่ยนแบบจุดเดียว (single point crossover)
กาหนดค่าพารามิเตอร์ต่างๆ ดังนี้
 กาหนดขนาดของประชากรเป็ น
4
 อัตราการไขว้เปลี่ยนเป็ น 1 (หมายถึงไขว้เปลี่ยนทุกๆครั้ง)
 อัตราการกลายพันธุเ์ ป็ น 1/8 = 0.125 (จะมีอย่างมาก 1 ข้อมูลใน
โครโมโซมที่ถกู กลายพันธุ)์
ตัวอย่าง : สร้างประชากรเริ่มต้น
Q
โครโมโซม A
2
4
7
4
8
5
5
2
โครโมโซม B
3
2
7
5
2
4
1
1
โครโมโซม C
2
4
4
1
5
1
2
4
โครโมโซม D
3
2
5
4
3
2
1
3
Q
Q
Q
Q
Q
Q
Q
ตัวอย่าง : หาค่าความเหมาะสม (1)
โครโมโซม A
2
4
7
4
8
5
5
2
โครโมโซม B
3
2
7
5
2
4
1
1
โครโมโซม C
2
4
4
1
5
1
2
4
โครโมโซม D
3
2
5
4
3
2
1
3
หาจากสูตร
Q(n) = 28 – n
• 28 มาจากจานวน Queen
บนกระดานจะโจมตีกนั ได้มากสุด
28 วิธี
• n มาจากจานวนที่ Queen
ในโครโมโซมนั้นโจมตีกนั ได้
• ถ้า Q(n) = 0 หมายถึงไม่ดี
• ถ้า Q(n) = 28 หมายถึง
ผลลัพธ์ที่ตอ้ งการ
ตัวอย่าง : หาค่าความเหมาะสม (2)
โครโมโซม A
2
4
7
4
8
5
5
2
Q
Q

Q
Q
Q

Q
Q
มีท้งั หมด 4 คู่ที่โจมตีกนั ได้
QA = 28 – 4 = 24
Q
โครโมโซม B
3
2
7
5
2
4
1
1
QB = 23
โครโมโซม C
2
4
4
1
5
1
2
4
Qc = 20
โครโมโซม D
3
2
5
4
3
2
1
3
QD = 11
ตัวอย่าง : กระบวนการคัดเลือกโครโมโซม

เมื่อเรียงค่าความเหมาะสมของโครโมโซม A, B, C และ D
โครโมโซม A
2
4
7
4
8
5
5
2
QA = 24 ร้อยละ 31
โครโมโซม B
3
2
7
5
2
4
1
1
QB = 23 ร้อยละ 29
โครโมโซม C
2
4
4
1
5
1
2
4
Qc = 20 ร้อยละ 26
โครโมโซม D
3
2
5
4
3
2
1
3
QD = 11 ร้อยละ 14
โครโมโซม B
3
2
7
5
2
4
1
1
โครโมโซม A
โครโมโซม B
2
4
7
4
8
5
5
2
3
2
7
5
2
4
1
1
โครโมโซม C
2
4
4
1
5
1
2
4
ตัวอย่าง : กระบวนการไขว้เปลี่ยนโครโมโซม
3
2
7
5
2
4
1
1
3
2
7
4
8
5
5
2
2
4
7
4
8
5
5
2
2
4
7
5
2
4
1
1
3
2
7
5
2
4
1
1
3
2
7
5
2
1
2
4
2
4
4
1
5
1
2
4
2
4
4
1
5
4
1
1
ตัวอย่าง : กระบวนการกลายพันธุ ์
อัตราการกลายพันธุเ์ ป็ น 1/8 = 0.125
(จะมีอย่างมาก 1 ข้อมูลในโครโมโซมที่ถกู กลายพันธุ)์
3
2
7
4
8
5
5
2
3
2
7
4
8
1
5
2
2
4
7
5
2
4
1
1
2
4
7
5
2
4
1
1
3
2
7
5
2
1
2
4
3
2
2
5
2
1
2
4
2
4
4
1
5
4
1
1
2
4
4
1
5
4
1
7