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

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

Introduction to Artificial Neuron Networks [ANN] & Simulated Annealing [SA] AI for Computer Game Dr.Yodthong Rodkaew.

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


งานนำเสนอเรื่อง: "Introduction to Artificial Neuron Networks [ANN] & Simulated Annealing [SA] AI for Computer Game Dr.Yodthong Rodkaew."— ใบสำเนางานนำเสนอ:

1 Introduction to Artificial Neuron Networks [ANN] & Simulated Annealing [SA] AI for Computer Game Dr.Yodthong Rodkaew

2 Introduction to Artificial Neuron Networks [ANN].

3 Neurons แนวคิดเริ่มต้นของเทคนิคนี้ได้มาจากการศึกษาโครงข่ายไฟฟ้าชีวภาพ (Bioelectric Network) ในสมอง ซึ่งประกอบด้วย เซลล์ประสาท หรือ “นิวรอน” (Neurons) และจุดประสานประสาท (Synapses) แต่ละเซลล์ประสาทประกอบด้วยปลายใน การรับกระแสประสาทเรียกว่า "เดนไดรท์" (Dendrite) ซึ่งเป็น input และปลายใน การส่งกระแสประสาทเรียกว่า "แอคซอน" (Axon) ซึ่งเป็นเหมือน output ของเซลล์ เซลล์เหล่านี้ทำงานด้วยปฏิกิริยาไฟฟ้า เคมี เมื่อมีการกระตุ้นด้วยสิ่งเร้าภายนอก หรือกระตุ้นด้วยเซลล์ด้วยกัน กระแส ประสาทจะวิ่งผ่านเดนไดรท์เข้าสู่ นิวเคลียสซึ่งจะเป็นตัวตัดสินว่าต้องกระตุ้น เซลล์อื่น ๆ ต่อหรือไม่ ถ้ากระแสประสาท แรงพอ นิวเคลียสก็จะกระตุ้นเซลล์อื่น ๆ ต่อไปผ่านทางแอคซอน Ref: ·

4 คำถาม ! ทำไมคอมพิวเตอร์ในปัจจุบันที่มีความสามารถในการคำนวณสูงมากยังไม่สามารถเทียบ กับความสามารถของสมองมนุษย์ในงานง่ายๆ ( สำหรับมนุษย์ ) บางอย่าง เช่น การจำใบหน้า การฟังและการตีความหมาย การแปลภาษา ความสามารถของสมองมนุษย์ vs คอมพิวเตอร์ เซลล์ประสาทส่งสัญญาณ ได้ในอัตราสูงสุดประมาณ 1000 Hz ความเร็วของคอมพิวเตอร์ ในปัจจุบันขึ้นไปถึง 3000 MHz ความเร็ว การคำนวณ เลขคณิต สมองคน  ซุปเปอร์คอมพิวเตอร์ปัจจุบัน > 1000 MFLOP การจดจำและแยก แยะรูปภาพ, เสียง สมองคน  คอมพิวเตอร์  Ref: 

5 Artificial Neural Networks โครงข่ายประสาทเทียม (Artificial Neural Networks - ANN) หรือ เรียกสั้น ๆ ว่าโครงข่ายประสาท (Neural Networks หรือ Neural Net หรือ NN)

6 การใช้ประโยชน์ งานการจดจำรูปแบบที่มีความไม่แน่นอน เช่น ลายมือ ลายเซนต์ ตัวอักษร รูปหน้า งานการประมาณค่าฟังก์ชันหรือการประมาณ ความสัมพันธ์ ( มี inputs และ outputs แต่ไม่ ทราบว่า inputs กับ outputs มีความสัมพันธ์กัน อย่างไร ) งานที่สิ่งแวดล้อมเปลี่ยนแปลงอยู่เสมอ ( วงจร ข่ายนิวรอลสามารถปรับตัวเองได้ ) งานจัดหมวดหมู่และแยกแยะสิ่งของ งานทำนาย เช่นพยากรณ์อากาศ พยากรณ์หุ้น

7 โครงสร้าง โครงสร้างของ neural network

8 วงจรข่ายนิวรอลเทียม Artificial Neural Networks เลียนแบบการทำงานของสมองมนุษย์ โดยใช้หน่วยประมวลผลง่ายๆ จำนวนมาก ต่อกันเป็นโครงสร้างขึ้นมา Ref:

9 ตัวอย่างโครงสร้างของวงจรข่ายนิวรอลเทียม Input nodes Hidden nodes Output nodes Connections Output ของแต่ละโหนด W i j = น้ำหนัก (weight) ของแต่ละแขน (connection)X i = input จากโหนดอื่นๆ Ref: ** จะมีอธิบายต่อใน slide ต่อๆ ไป

10 Network Architecture Feedforward network ข้อมูลที่ประมวลผลในวงจรข่ายจะถูกส่งไปในทิศทางเดียวจาก Input nodes ส่งต่อมาเรื่อยๆจนถึง output nodes โดยไม่มีการย้อนกลับของข้อมูล หรือแม้แต่ Nodes ใน layer เดียวกันก็ไม่มีการเชื่อมต่อกัน Input nodesOutput nodes Direction of data flow Ref:

11 Network Architecture (cont.) Feedback network ข้อมูลที่ประมวลผลในวงจรข่าย จะมีการป้อนกลับเข้าไปยังวงจรข่ายหลายๆครั้ง จนกระทั่งได้คำตอบออกมา ( บางทีเรียกว่า Recurrent network) Input nodes Output nodes Ref:

12 A Very Simple Neuron x1x1 x2x2 Input layer output layer w1w1 w2w2 Y1Y1  sum threshold การทำงานของ Neural networks คือเมื่อมี input เข้ามายัง network ก็เอา input (x i ) มาคูณกับ weight (w i ) ของแต่ละขา ผลที่ได้จาก input ทุก ๆ ขาของ neuron จะ เอามารวมกันแล้วก็เอามาเทียบกับ threshold ที่กำหนดไว้ ถ้าผลรวมมีค่ามากกว่า threshold แล้ว neuron ก็จะส่ง output (y i ) ออกไป output นี้ก็จะถูกส่งไปยัง input ของ neuron อื่น ๆ ที่เชื่อมกันใน network ถ้าค่าน้อยกว่า threshold ก็จะไม่เกิด output Ref: /web/320417/2548/work1/g26/Files/Report_Neural%20Network.doc -

13 Output ปี ค. ศ Warren Macculloch และ Walter Pitts ได้นำเสนอ แนวคิดเกี่ยวกับ พื้นฐานของโครงข่าย ประดิษฐ์ซึ่งได้กลาย มาเป็นต้นแบบของ โครงข่ายประดิษฐ์ใน ปัจจุบัน เซลล์ประสาทแต่ละ เซลล์จะคำนวณ น้ำหนักแต่ละอินพุท แล้วนำมารวมกัน หลังจากนั้นก็จะ เปรียบเทียบผลที่ได้ กับค่าเทรชโฮล (threshold value) หรือ  ถ้าผลรวมของ อินพุทน้อยกว่า เทรชโฮล เอาท์พุท ที่ได้คือ -1 ถ้าผลรวมของ อินพุทมากกว่า หรือเท่ากับเทรช โฮล เอาพุทจะเป็น +1 ref: Ch8 Sasalak Tongkaw Artificial Intelligence :AI 2005 Songkhla Rahabhat University

14 Activation Function X =  x i w i i=1 n Y = +1 if X ≥  -1 if X   Y = +1 if X ≥  -1 if X   เมื่อ X เป็นค่าน้ำหนัก ของอินพุทภายใน เซลล์ xi เป็นค่าอินพุทตัวที่ i wi เป็นน้ำหนักของ อินพุทตัวที่ i n เป็นจำนวนของ อินพุททั้งหมด Y เป็นเอาท์พุทของ เซลล์ประสาท ref: Ch8 Sasalak Tongkaw Artificial Intelligence :AI 2005 Songkhla Rahabhat University

15 Activation Function Activation function ขึ้นอยู่กับลักษณะข้อมูลของ Output เช่น ถ้า output ที่ต้องการเป็น “ใช่” หรือ “ไม่ใช่” เราจะต้องใช้ Threshold function หรือถ้า output เป็นค่าตัวเลขที่ต่อเนื่อง เราต้องใช้ continuous function เช่น Sigmoid function

16 Other activation function ref: Ch8 Sasalak Tongkaw Artificial Intelligence :AI 2005 Songkhla Rahabhat University

17 A Very Simple Neuron x1x1 x2x2 Input layer output layer w1w1 w2w2 Y1Y1  sum threshold sum = (x 1 * w 1 ) + ( x 2 * w 2 ) If (sum> threshold) then y i = 1; else y i = 0; Ref: /web/320417/2548/work1/g26/Files/Report_Neural%20Network.doc - if (sum(input * weight) > threshold) then output

18 A Very Simple Neuron x1x1 x2x2 Input layer output layer w1w1 w2w2 Y1Y1  sum threshold sum = (0.0*0.5 ) + ( 1.0 * 0.5 ) = 0.5 If (sum> threshold ) then y i = 1; else y i = 0; ค่า y i เป็นเท่าใด ?

19 Multilayer Neuron Network x1x1 x2x2 Input layeroutput layer w 1,1 w 2,1 Y1Y1 hidden layer Y2Y2 w 1,2 w 2,2 H1 H2 wH 1,1 wH 1,2 wH 2,1 wH 2,2 H1 = threshold[ (x1*w11) + (x2*w21) ] H2 = threshold[ (x1*w12) + (x2*w22) ] Y1 = threshold[ (H1*wh11) + (H2*wh21) ] Y2 = threshold[ (H1*wh12) + (H2*wh22) ]

20 Shape recognition with NN x1x1 x2x2 Input layeroutput layer w 1,1 w 2,1 Y1Y1 hidden layer Y2Y2 w 1,2 w 2,2 H1 H2 wH 1,1 wH 1,2 wH 2,1 wH 2,2 x9x9.. H5.. rectangle tritangle * มีทั้งหมดอย่างละ 9 เส้น * มีทั้งหมดอย่างละ 5 เส้น

21 Neural Network (NN) Classification Problem solved with Neural Network, weight tuning — i1 i2 T input weight w1 w2 output threshold train: adjust w Wi=a*(Desire_Output – Current_Output)*Ii a = learning rate start: Wi = 0.5 T = I1 * W1 + I2 * W2 (T >0) output =1 (T <=0) output = 0 Σ

22 Back propagation Algorithm Back-propagation เป็นอัลกอริทึมที่ใช้ในการเรียนรู้ของ เครือข่ายใยประสาทวิธีหนึ่งที่นิยมใช้ใน multilayer perceptron เพื่อปรับค่าน้ำหนักในเส้นเชื่อมต่อระหว่างโหนดให้เหมาะสม โดยการปรับค่านี้จะขึ้นกับความแตกต่างของค่าเอาต์พุตที่ คำนวณได้กับค่าเอาต์พุตที่ต้องการ Ref: /web/320417/2548/work1/g26/Files/Report_Neural%20Network.doc – x1x1 x2x2 Input layeroutput layer w 1,1 w 2,1 Y1Y1 hidden layer Y2Y2 w 1,2 w 2,2 H1 H2 wH 1,1 wH 1,2 wH 2,1 wH 2,2 O = neuron output จาก NN T = target ที่ต้องการ r = learning rate ~ 0.1 เพราะว่า Y1 =H1*wh11+H2*wh21 ดังนั้น ถ้าอยากให้ Y1 มีค่าตาม T wH11 = wH11+ r(T-O) wH21 = wH21+ r(T-O) เพราะว่า H1 =X1*w11+X2*w21 ดังนั้น w11 = w11+ r(T-O) w21 = w21+ r(T-O) หมายเหตุ เป็นการคำนวณอย่างง่ายเพื่อ เป็นแนวทางสำหรับการทำความเข้าใจเท่านั้น

23

24 Introduction to Simulated Annealing [SA].

25 Local Maxima Problem ปัญหา local maxima เมื่อมีการ search แล้วพบตำแหน่งที่มีค่ามากที่สุด (ในขณะนั้น) ต่อจากนั้นก็พบว่ามีค่าน้อยลง จึงไม่ทำการ search ต่อ จึงทำ ให้พลาดโอกาสที่จะค้นพบสิ่งที่ดีที่สุดจากปัญหาทั้งหมด Local maxima The best solution Start search point

26 Simulated Annealing - SA เป็นเทคนิค local search ชนิดหนึ่งที่สามารถแก้ปัญหา local maxima ได้ โดยเลียนแบบเทคนิค anneal (การอบอ่อนเพื่อให้เหนียว ไม่เปราะ) ของ โลหะ มี 2 ขั้นตอนหลัก ๆ คือ ให้ความร้อน (heating) และควบคุมการเย็นตัว (slowly cooling) ผลที่ได้รับคือผลึกโครงข่ายอะตอมโลหะมีความแข็งแรง เหนียวแน่นมากขึ้น ใช้ตัวแปรอุณหภูมิ เพื่อทำให้ยอมรับคำตอบที่ไม่ดีกว่าคำตอบปัจจุบันได้ (downhill move) และโอกาสการยอมรับคำตอบแบบนั้นจะค่อย ๆ ลดลงเมื่อ อุณหภูมิลดต่ำลง และสิ้นสุดกระบวนการเมื่ออุณหภูมิเป็นศูนย์ (T = 0) หรือ พบคำตอบที่ต้องการ Local maxima The best solution Start search point

27 Simulated Annealing starting from state s0 and continuing to a maximum of kmax steps or until a state with energy emax or less is found. The call neighbour(s) should generate a randomly chosen neighbour of a given state s; the call random() should return a random value in the range [0,1). The annealing schedule is defined by the call temp(r), which should yield the temperature to use, given the fraction r of the time budget that has been expended so far

28 2008&group=10&gblog=34 โอกาสในการหาโหนดอื่นๆ ลดลงอย่างเป็นเส้นตรง

29


ดาวน์โหลด ppt Introduction to Artificial Neuron Networks [ANN] & Simulated Annealing [SA] AI for Computer Game Dr.Yodthong Rodkaew.

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


Ads by Google