โครงข่ายประสาทเทียม

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก ข่ายงานประสาทเทียม)
ข่ายงานประสาทเทียมมีการเชื่อมต่อกันผ่านกลุ่มโนด
ปัญญาประดิษฐ์

ศัพท์ปัญญาประดิษฐ์

GOFAI
การค้นหาในปริภูมิสถานะ
การวางแผนอัตโนมัติ
การค้นหาเชิงการจัด
ระบบผู้เชี่ยวชาญ
การแทนความรู้
ระบบอิงความรู้
Connectionism
ข่ายงานประสาทเทียม
ชีวิตประดิษฐ์
ปัญญาประดิษฐ์แบบกระจาย
การเขียนโปรแกรมเชิงพันธุกรรม
ขั้นตอนวิธีเชิงพันธุกรรม
ปัญญากลุ่ม
Artificial beings
Bayesian methods
เครือข่ายแบบเบย์
การเรียนรู้ของเครื่อง
การรู้จำแบบ
ระบบฟัซซี
ตรรกศาสตร์คลุมเครือ
ฟัซซีอิเล็กทรอนิกส์
Philosophy
ปัญญาประดิษฐ์แบบเข้ม
สำนึกประดิษฐ์
การทดสอบทัวริง

โครงข่ายประสาทเทียม หรือ ข่ายงานประสาทเทียม (อังกฤษ: artificial neural network) คือ โมเดลทางคณิตศาสตร์หรือโมเดลทางคอมพิวเตอร์สำหรับประมวลผลสารสนเทศด้วยการคำนวณแบบคอนเนคชันนิสต์ (connectionist) แนวคิดเริ่มต้นของเทคนิคนี้ได้มาจากการศึกษาโครงข่ายไฟฟ้าชีวภาพ (bioelectric network) ในสมอง ซึ่งประกอบด้วย เซลล์ประสาท (neurons) และ จุดประสานประสาท (synapses) ตามโมเดลนี้ ข่ายงานประสาทเกิดจากการเชื่อมต่อระหว่างเซลล์ประสาท จนเป็นเครือข่ายที่ทำงานร่วมกัน

โครงสร้าง[แก้]

นักวิจัยส่วนใหญ่ในปัจจุบันเห็นตรงกันว่าข่ายงานประสาทเทียมมีโครงสร้างแตกต่างจากข่ายงานในสมอง แต่ก็ยังเหมือนสมอง ในแง่ที่ว่าข่ายงานประสาทเทียม คือการรวมกลุ่มแบบขนานของหน่วยประมวลผลย่อยๆ และการเชื่อมต่อนี้เป็นส่วนสำคัญที่ทำให้เกิดสติปัญญาของข่ายงาน เมื่อพิจารณาขนาดแล้ว สมองมีขนาดใหญ่กว่าข่ายงานประสาทเทียมอย่างมาก รวมทั้งเซลล์ประสาทยังมีความซับซ้อนกว่าหน่วยย่อยของข่ายงาน อย่างไรก็ดีหน้าที่สำคัญของสมอง เช่นการเรียนรู้ ยังคงสามารถถูกจำลองขึ้นอย่างง่ายด้วยข่ายงานประสาทนี้

โมเดล[แก้]

ข่ายงานประสาทแบบป้อนไปหน้า (feedforward) ประกอบด้วยเซตของบัพ (node) ซึ่งอาจจะถูกกำหนดให้เป็นบัพอินพุต (input nodes) บัพเอาต์พุต (output nodes) หรือ บัพอยู่ระหว่างกลางซึ่งเรียกว่า บัพฮินเดน (hidden nodes) มีการเชื่อมต่อระหว่างบัพ (หรือนิวรอน) โดยกำหนดค่าน้ำหนัก (weight) กำกับอยู่ที่เส้นเชื่อมทุกเส้น เมื่อข่ายงานเริ่มทำงาน จะมีการกำหนดค่าให้แก่บัพอินพุต โดยค่าเหล่านี้ อาจจะได้มาจากการกำหนดโดยมนุษย์ จากเซนเซอร์ที่วัดค่าต่างๆ หรือผลจากโปรแกรมอื่นๆ จากนั้นบัพอินพุต จะส่งค่าที่ได้รับ ไปตามเส้นเชื่อมขาออก โดยที่ค่าที่ส่งออกไปจะถูกคูณกับค่าน้ำหนักของเส้นเชื่อม บัพในชั้นถัดไปจะรับค่า ซึ่งเป็นผลรวมจากบัพต่างๆ แล้วจึงคำนวณผลอย่างง่าย โดยทั่วไปจะใช้ฟังก์ชันซิกมอยด์ (sigmoid function) แล้วส่งค่าไปยังชั้นถัดไป การคำนวณเช่นนี้จะเกิดขึ้นไปเรื่อยๆ ทีละชั้น จนถึงบัพเอาต์พุต โดยในยุคแรก (ราว ค.ศ. 1970) จำนวนชั้นจะถูกกำหนดไว้เป็นค่าคงที่ แต่ในปัจจุบันมีการนำขั้นตอนวิธีเชิงพันธุกรรม มาช่วยออกแบบโครงสร้างของข่ายงาน ดู นิวโรอีโวลูชัน (Neuroevolution)

ประเภทของข่ายงานประสาทเทียม[แก้]

เพอร์เซ็ปตรอนหลายชั้น (multi-layer perceptron)[แก้]

โครงข่ายประสาทเทียมแบบ MLP เป็นรูปแบบหนึ่งของโครงข่ายประสาทเทียมที่มีโครงสร้างเป็นแบบหลายๆชั้น ใช้สำหรับงานที่มีความซับซ้อนได้ผลเป็นอย่างดี โดยมีกระบวนการฝึกฝนเป็นแบบมีผู้สอน (Supervise) และใช้ขั้นตอนการส่งค่าย้อนกลับ (Backpropagation) สำหรับการฝึกฝนกระบวนการส่งค่าย้อนกลับ ประกอบด้วย 2 ส่วนย่อยคือ การส่งผ่านไปข้างหน้า (Forward Pass) การส่งผ่านย้อนกลับ (Backward Pass) สำหรับการส่งผ่านไปข้างหน้า ข้อมูลจะผ่านเข้าโครงข่ายประสาทเทียมที่ชั้นข้อ มูลเข้า และจะส่งผ่าน จากอีกชั้นหนึ่งไปสู่อีกชั้นหนึ่งจนกระทั่งถึงชั้นข้อมูลออก ส่วนการส่งผ่านย้อนกลับค่าน้ำหนักการเชื่อมต่อจะถูกปรับเปลี่ยนให้สอดคล้องกับกฎการแก้ข้อผิดพลาด (Error-Correction) คือผลต่างของผลตอบที่แท้จริง (Actual Response) กับผลตอบเป้าหมาย (Target Response) เกิดเป็นสัญญาณผิดพลาด (Error Signal) ซึ่งสัญญาณผิดพลาดนี้จะถูกส่งย้อนกลับเข้าสู่โครงข่ายประสาทเทียมในทิศทางตรงกันข้ามกับการเชื่อมต่อ และค่าน้ำหนักของการเชื่อมต่อจะถูกปรับจนกระทั่งผลตอบที่แท้จริงเข้าใกล้ผลตอบเป้าหมาย

สัญญาณที่มีโครงข่ายประสาทเทียมแบบ MLP มี 2 ประเภทคือ Function Signal และ Error Signal 1.2.1. Function Signal เป็นสัญญาณเข้าที่มาจากโหนดในชั้นก่อนหน้า และจะส่งผ่านไปข้างหน้าจากโหนดหนึ่งไปสู่อีกโหนดหนึ่ง 1.2.2. Error Signal เป็นสัญญาณย้อนกลับที่เกิดขึ้นที่โหนดในชั้นข้อมูลออกของโครงข่ายประสาทเทียม และถูกส่งผ่านย้อนกลับจากชั้นหนึ่งไปสู่อีกชั้นหนึ่ง

หลักการทำงานของ MLP คือในแต่ละชั้นของชั้นซ่อนตัว (Hidden Layer) จะมีฟังก์ชันสำหรับคำนวณเมื่อได้รับสัญญาณ (Output) จากโหนดในชั้นก่อนหน้านี้ เรียกว่า Activation Function โดยในแต่ละชั้นไม่จำเป็นต้องเป็นฟังก์ชันเดียวกันก็ได้ ชั้นซ่อนตัวนั้นมีหน้าที่สำคัญคือ จะพยายามแปลงข้อมูลที่เข้ามาในชั้น (Layer) นั้นๆให้สามารถแยกแยะความแตกต่างโดยใช้เส้นตรงเส้นเดียว (Linearly Separable) และก่อนที่ข้อมูลจะถูกส่งไปถึงชั้นข้อมูลออก (Output Layer) ในบางครั้งอาจจำเป็นต้องใช้ชั้นซ่อนตัวมากกว่า 1 ชั้นในการแปลงข้อมูลให้อยู่ในรูป Linearly Separable

ในการคำนวณหา Output ในปัญหาการจำแนกทำได้โดยการใส่ข้อมูล Input เข้าไปในโครงข่ายประสาทเทียมที่เราได้ทำการหาไว้แล้ว จากนั้นให้ทำการเปรียบเทียบค่าของ Output ใน Output Layer และให้ทำการเลือกค่าของ Output ที่มีค่าสูงกว่า (Neuron ที่มีค่าสูงกว่า) และทำการรับค่าของพยากรณ์ที่ตรงกับ Neuron ที่เลือก และให้นำค่าของ มาเปรียบเทียบกับค่าที่ยอมรับได้ หากค่าของ อยู่ในช่วงที่รับได้ (Error น้อยกว่า Error ที่เรากำหนด) ก็ให้ทำการรับข้อมูลชุดถัดไป แต่หากค่าของ มากกว่าค่าที่ยอมรับได้ ให้ทำการปรับค่าน้ำหนักและ Biased ตามขั้นตอนที่ได้กล่าวไว้ข้างต้น เมื่อทำการปรับน้ำหนักเรียบร้อยแล้ว ให้ทำการรับข้อมูลชุดถัดไปและทำตามขั้นตอนซ้ำอีกรอบจนกระทั่งถึงข้อมูลชุดสุดท้าย และเมื่อทำข้อมูลชุดสุดท้ายเสร็จจะนับเป็น 1 รอบของการคำนวณ (1 Epoch) จากนั้นจะทำการหาค่าผิดพลาดรวมเฉลี่ย จากค่าเฉลี่ยของ ที่ได้เก็บค่าเอาไว้ เพื่อใช้ในการตรวจสอบว่าค่า โดยเฉลี่ยในการจำแนกนั้น มีค่าน้อยกว่าค่าผิดพลาดที่ยอมรับได้หรือไม่ ถ้าใช่แสดงว่าโครงข่ายประสาทเทียมที่สร้างขึ้นนั้นสามารถให้ผลลัพธ์ที่ถูกต้องของทุกๆข้อมูลแล้ว จึงทำการจบการเรียนรู้ได้ แต่ถ้าไม่ใช่ ให้กลับไปทำตามขั้นตอนแรก โดยเริ่มรับข้อมูลชุดที่ 1 ใหม่


ข่ายงานฮอปฟิลด์ (Hopfield network)[แก้]

ข่ายงานฮอปฟิลด์ บางครั้งเรียกว่า Hebb’s Rule เป็นวิธีการหรือทฤษฏีที่เกี่ยวข้องของกับการจัดกลุ่มของข้อมูลโดยอาศัยต้นแบบมาจากระบบประสาท คือ เซลล์ใดๆที่อยู่ใกล้กันและสามารถกระตุ้นเซลล์ที่อยู่ใกล้เคียงแบบซ้ำๆ ต่อเนื่องกันจนเกิดการเปลี่ยนแปลงขึ้นกับเซลล์ตนเองและเซลล์ใกล้เคียงจะถือว่า เซลล์ทั้งสองมีปฏิสัมพันธ์ที่สนับสนุนกัน ส่งผลให้ทั้งคู่สามารถจะเจริญเติบโตไปด้วยกันได้ Hebb’s Rule จะเกี่ยวของกับความสัมพันธ์ของชุดข้อมูล 2 ชุดที่สนับสนุนกันจนทำให้น้ำหนักของข้อมูลมีความน่าเชื่อถือมากขึ้น ช่วยให้เกิดความมั่นใจว่าค่าน้ำหนักดังกล่าวสามารถนำมาใช้งานได้อย่างมีประสิทธิภาพใน Hebb’s Rule แต่ละ Node ของชั้น Input Layer จะเชื่อมโยงกับทุก Node ของชั้น Output Layer อย่างสมบูรณ์ดังนั้นการทำงานของวิธีนี้จึงอาศัยรูปแบบจาก Input เป็นหลักโดยการ Mapping ระหว่าง Input Pattern กับ Recalled Pattern (Output Pattern ที่สามารถกลับสู่ Input Pattern ได้) ซึ่งได้จากการพิจารณาข้อมูลที่อยู่ใกล้เคียงแต่การ Mapping มีข้อเสียคือสามารถ Mapping ได้เฉพาะข้อมูลที่สัมพันธ์กันในแบบ Orthogonal (แบบตั้งฉาก) ผลลัพธ์ในการ Mapping ด้วย Hebb’s Rule

ประเภทอื่น[แก้]

  • เพอร์เซ็ปตรอนชั้นเดียว (single-layer perceptron)
  • ข่ายงานแบบวนซ้ำ (recurrent network)
  • แผนผังจัดระเบียบเองได้ (self-organizing map)
  • เครื่องจักรโบลทซ์แมน (Boltzmann machine)
  • กลไกแบบคณะกรรมการ (committee of machines)
  • ข่ายงานความสัมพันธ์ (associative Neural Network-ASNN)
  • ข่ายงานกึ่งสำเร็จรูป (instantaneously trained networks)
  • ข่ายงานแบบยิงกระตุ้น (spiking neural networks)

อ้างอิง[แก้]

แหล่งข้อมูลอื่น[แก้]