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