วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2552

สถาปัตยกรรมโครงข่ายประสาทเทียม

การเชื่อมโยงเซลล์ประสาทเทียมจำนวนหนึ่งเข้าด้วยกันเป็นโครงข่ายประสาทเทียมนั้นสามารถเชื่อมโยงแบบใดก็ได้อย่างไม่มีขอบเขตจำกัด อย่างไรก็ตาม ในทางปฏิบัติแล้ว เทคนิคการเรียนรู้ของโครงข่ายประสาทเทียมมักจะถูกออกแบบมาให้ใช้งานได้กับสถาปัตยกรรมโครงข่ายประสาทเทียมที่มีลักษณะเฉพาะเท่านั้นสถาปัตยกรรมโครงข่ายประสาทเทียมที่พบทั่วไปจะมีลักษณะหลักๆ คือ มีการจัดเซลล์ประสาทเทียมเป็นชั้นๆ (layer) ชั้นที่รับข้อมูลเข้าเรียกว่าชั้นอินพุต (input layer) ชั้นที่ผลิตผลตอบของโครงข่ายเรียกว่า ชั้นเอาต์พุต (output layer)ส่วนชั้นอื่นๆ ที่มีส่วนในการช่วยทำการประมวลผลอยู่ภายในเรียกว่า ชั้นซ่อน (hidden layer) ในโครงข่ายประสาทเทียมอาจมีชั้นซ่อนได้หลายชั้นโครงสร้างพื้นฐานจะมีลักษณะเป็นการประกอบกันของรูปแบบ ดังต่อไปนี้
แบบป้อนไปข้างหน้า (feedforward)อาจจัดได้เป็นสองแบบย่อยคือ แบบมีชั้นของเซลล์ประสาทชั้นเดียว และแบบมีชั้นของเซลล์ประสาทหลายชั้น โดยปกติแล้ว การเชื่อมโยงจะถูกกำหนดขึ้นระหว่างชั้นที่ติดกัน โดยจะมีการเชื่อมโยงระหว่างเซลล์ประสาทเทียมทุกตัว จากชั้นหนึ่งๆ ไปยังเซลล์ประสาทเทียมทุกตัวในชั้นต่อไป ในบางสถาปัตยกรรมอาจมีการเชื่อมโยงข้ามชั้นก็ได้









แบบมีการป้อนไปเวียนกลับ (recurrent)

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

















๑. โครงข่ายประสาทเทียมแบบป้อนไปข้างหน้าหลายชั้น (Multilayer feedforward) ที่ใช้การเรียนรู้แบบแพร่ย้อนกลับ (Backpropagation)การเรียนรู้แบบแพร่ย้อนกลับถูกนำไปประยุกต์ใช้มากที่สุดในการใช้งานโครงข่ายประสาทเทียม โดยลักษณะของการเรียนรู้แล้ว การเรียนรู้แบบแพร่ย้อนกลับไม่จำเป็นต้องใช้เฉพาะโครง-ข่ายที่มีสถาปัตยกรรมแบบป้อนไปข้างหน้าหลายชั้นเพียงแบบเดียว แต่การจับคู่ดังกล่าวได้รับความนิยมนำไปใช้งานมากที่สุด การเรียนรู้แบบแพร่ย้อนกลับนี้เป็นการเรียนรู้แบบมีผู้สอน ขั้นตอนในการเรียนรู้แบบแพร่ย้อนกลับจะเริ่มด้วยการส่งข้อมูลที่จะใช้สอนเข้าไปในโครงข่ายทางชั้นอินพุต ชั้นอินพุตซึ่งโดยปกติจะไม่มีการประมวลผล จะทำหน้าที่ส่งกระจายข้อมูลนั้นไปยังเซลล์ประสาทเทียมต่างๆ ในชั้นซ่อน จากนั้น เซลล์ประสาทเทียมทุกตัวในชั้นซ่อน จะทำการประมวลผลตามวิธีการของแบบจำลองเซลล์ประสาทเทียม ซึ่งจะคล้ายคลึงกับแบบจำลองของแม็กคัลลอชและพิตส์ แต่มีการสร้างผลตอบด้วยสมการคณิตศาสตร์ที่มีคุณลักษณะเฉพาะบางประการ การประมวลผลเกิดจากชั้นซ่อนชั้นแรกผ่านไปตามชั้นซ่อนชั้นต่างๆจนสร้างผลตอบที่ชั้นเอาต์พุต

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


















๒. โครงข่ายประสาทเทียมชนิดแผนภูมิ
โครงข่ายประสาทเทียมชนิดแผนภูมิคุณลักษณะที่จัดตัวเองของโคโฮเนน (Kohonen'sSelf-Organizing Feature Map)
สถาปัตยกรรมโครงข่ายประสาทเทียมของโคโฮเนนนี้มีลักษณะที่เป็นพิเศษบางประการและการเรียนรู้สำหรับโครงข่ายประสาทเทียมชนิดนี้ก็ถูกออกแบบมาคู่กัน โดยเป็นการเรียนรู้แบบไม่มีผู้สอน (unsupervised Learning) โครงข่ายประ-สาทเทียมชนิดนี้เป็นชนิดชั้นเดียว (single-layer)ทั้งนี้ ไม่นับชั้นอินพุตซึ่งเป็นชั้นที่ทำการกระจายสัญญาณเข้าไปยังชั้นเอาต์พุตเท่านั้น อย่างไรก็ตามสถาปัตยกรรมโครงข่ายชนิดนี้มีการระบุว่า ในบรรดาเซลล์ประสาทเทียมที่ชั้นเอาต์พุตนั้น เซลล์หนึ่งๆ มี "เพื่อนบ้าน" (neighbors) เป็นเซลล์ใดบ้างในแบบง่ายๆ "ความเป็นเพื่อนบ้าน" (neighbor-hood) ของเซลล์ประสาทเทียมเหล่านี้อาจถูกจัดเป็นเชิงเส้น (linear) ตัวอย่างเช่น ถ้าเราใส่หมายเลขให้แก่เซลล์ประสาทเทียมแต่ละเซลล์ ก็จะระบุว่า เพื่อนบ้านของเซลล์ที่ i คือ เซลล์ที่มีลำดับก่อนหน้านั้น และเซลล์ที่มีลำดับตามมาซึ่งก็คือ เซลล์ที่ i - 1 และ i + 1 นั่นเอง เช่นเพื่อนบ้านของเซลล์ที่ ๕ คือ เซลล์ที่ ๔ และเซลล์ที่ ๖ เป็นต้น ความสัมพันธ์เชิงเพื่อนบ้านของเซลล์ประสาทเทียมเหล่านี้อาจเป็นแบบสองมิติ สามมิติ หรือเป็นรูปแบบโครงสร้างเฉพาะบางอย่างแล้วแต่ผู้ออกแบบโครงข่ายในการนำไปประยุกต์ใช้ นอกเหนือจากการที่มีสัญญาณส่งมาจากชั้นอินพุตไปยังชั้นเอาต์พุตแล้ว ในโครงข่ายประสาทเทียมของโคโฮเนนนี้ ยังมีการส่งสัญญาณระหว่างเซลล์ประสาทเทียมในชั้นเอาต์พุตกันเองด้วย โดยสัญญาณออกจากเซลล์ประสาทเทียมตัวหนึ่งๆ ถูกส่งไปยังเซลล์ประสาทเทียมในชั้นเอาต์พุตตัวอื่นๆ ทุกตัว ทั้งนี้ ค่าน้ำหนักของการเชื่อมโยงดังกล่าวจะเป็นลบทั้งหมด นั่นคือ การที่เซลล์ประสาทเทียมตัวหนึ่งๆ ทำการยิงสัญญาณออกไปจะส่งผลกดให้เซลล์ประสาทเทียมตัวอื่นๆ มีผลรวมของสัญญาณเข้าลดลง
ขั้นตอนในการเรียนรู้ในโครงข่ายประสาทเทียมของโคโฮเนน เริ่มต้นด้วยการส่งข้อมูลตัวอย่างเข้าไปทางชั้นอินพุต จากนั้น สัญญาณอินพุตทั้งหมดจะถูกส่งไปยังเซลล์ประสาทเทียมในชั้นเอาต์พุตทุกตัว เซลล์ประสาทเทียมในโครงข่ายประสาทเทียมของโคโฮเนนนี้ จะดำเนิน-การชั้นแรกในลักษณะเดียวกับเซลล์ประสาทเทียมแบบแม็กคัลลอชและพิตส์ นั่นคือ รวมสัญญาณเข้าที่วิ่งผ่านค่าน้ำหนักที่ขั้วเข้าต่างๆ เข้าด้วยกันในเซลล์ประสาทเทียมชนิดนี้จะไม่มีการเปรียบ-เทียบผลรวมนี้กับค่าระดับ เพื่อปรับความแรงของสัญญาณออกเป็นระดับ ๐ หรือ ๑ แต่จะส่งผลรวมของสัญญาณออกไปทางขั้วสัญญาณออกเลยหากผลรวมนั้นมีค่ามากกว่า ๐
จากการที่เซลล์ประสาทเทียมตัวหนึ่งยิงสัญญาณออกไป จะทำให้ผลรวมของสัญญาณเข้าของเซลล์ประสาทเทียมตัวอื่นๆ ลดลง ในที่สุดจะมีเซลล์ประสาทเทียมที่ยิงสัญญาณออกได้อยู่เพียงตัวเดียว ซึ่งจะเป็นเซลล์ที่มีความแรงของสัญญาณออกในตอนแรกมากที่สุดนั่นเอง หากวิเคราะห์ทางคณิตศาสตร์ก็จะพบว่า เวกเตอร์ของค่าน้ำหนักที่ขั้วเข้าทุกขั้วของเซลล์ประสาทเทียมตัวนี้ จะมีความคล้ายคลึงกับเวกเตอร์ของสัญญาณเข้ามากที่สุดนั่นคือ ในขั้นตอนนี้ เซลล์ประสาทเทียมทุกตัวในชั้นเอาต์พุตจะแข่งขันกันว่า เซลล์ใดจะมีตัวแทนความรู้ (เวกเตอร์ของค่าน้ำหนัก) ใกล้เคียงกับข้อมูลตัวอย่างมากที่สุด เซลล์ที่เป็นผู้ชนะในการแข่งขันจะได้รับสิทธิในการปรับค่าน้ำหนัก เพื่อทำการเรียนรู้ข้อมูลตัวอย่างเพิ่มเติมเข้าไปกับความรู้เดิม นอกจากนั้น บรรดาเพื่อนบ้านของเซลล์ที่เป็นผู้ชนะนี้ก็จะพลอยได้รับสิทธิในการเรียนรู้ไปด้วยเช่นกัน
เมื่อป้อนข้อมูลตัวอย่างเข้าไปมากๆ และหลายๆ รอบผ่านกระบวนการเรียนรู้ดังกล่าว จะพบว่า เซลล์ประสาทเทียมแต่ละตัวในชั้นเอาต์พุตจะค่อยๆ ทำการเรียนรู้ข้อมูลเฉพาะกลุ่ม โดยข้อมูลที่มีลักษณะคล้ายคลึงกันจะถูกเรียนรู้ด้วย เซลล์ประสาทเทียมตัวเดียวกัน ผลของการเรียนรู้ซึ่งก็คือค่าน้ำหนักต่างๆ ของเซลล์ประสาทเทียมตัวนั้นๆ จะเป็นค่าตัวแทนของข้อมูลทุกๆ ตัว ในกลุ่มที่เซลล์ประสาทเทียมตัวนั้นๆ เรียนรู้ไป
สมมติว่ามีการจัดหนังสือจำนวนหนึ่งที่ประกอบด้วยหนังสือนิยาย แบบเรียน การ์ตูนและวารสารต่างๆ ขึ้นเก็บบนชั้นวางหนังสือ ๔ ชั้นในสายตาของคนคนหนึ่งอาจมองว่า จะจัดแยกหนังสือ ๔ ประเภทดังกล่าวเก็บไว้ประเภทละชั้นโดยดูจากความคล้ายคลึงของลักษณะเนื้อหาในหนังสือ ภายหลังการจัดดังกล่าว หากมีหนังสือการ์ตูนเล่มใหม่เข้ามา ก็จะถูกนำไปเก็บที่ชั้นของหนังสือการ์ตูน จะเห็นได้ว่า ในระหว่างการดำเนินการจัดนั้นไม่มีผู้สอน แต่สมองมนุษย์สามารถเรียนรู้ลักษณะความคล้ายคลึงต่างๆของหนังสือ แล้วแผนภูมิของลักษณะเหล่านั้นออกเป็นชั้นๆ ได้เอง โครงข่ายประสาทเทียมของโคโฮเนนก็จะดำเนินการจัดแผนภูมิของลักษณะข้อมูลต่างๆ ได้เองในทำนองเดียวกัน ประโยชน์ของโครงข่ายประสาทเทียมแบบโคโฮเนนนั้นอาจเป็นการนำไปประยุกต์ใช้กับการสร้างแผนภูมิคุณลักษณะ ซึ่งสามารถใช้อธิบายความสัมพันธ์ระหว่างข้อมูลดิบได้อย่างชัดเจน













ความแตกต่างระหว่างระบบคอมพิวเตอร์ แบบที่รู้จักกันทั่วไปกับโครงข่ายประสาทเทียม

คอมพิวเตอร์ที่ใช้กันในปัจจุบันนั้น มีการประมวลผลเป็นลำดับขั้น (sequential) และถึงแม้ว่าในปัจจุบันจะมีคอมพิวเตอร์แบบที่มีหน่วยประมวลผลหลายตัว (multiprocessor) ก็ตาม รูป-แบบการทำงานก็ยังคงเป็นลำดับของการดำเนินการตามคำสั่ง เพียงแต่ในแบบที่มีหน่วยประมวลผลหลายตัวนั้น จะสามารถระบุได้ว่า ขั้นตอนใดสามารถทำงานตามที่ถูกกำหนดได้หลายๆ ขั้นตอนพร้อมๆ กันส่วนในคอมพิวเตอร์แบบโครงข่ายประสาทเทียมนั้น การประมวลผลจะเกิดขึ้นแบบขนาน(parallel) โดยเซลล์ประสาทเทียมต่างๆ จะทำการประมวลผลไปพร้อมๆ กัน ทั้งนี้ในทางปฏิบัติแล้วเราอาจกำหนดให้การยิงสัญญาณออกจากเซลล์ประสาทเทียมแต่ละตัว เป็นไปตามจังหวะพร้อมๆกัน (synchronous) หรือไม่ขึ้นกับจังหวะใดๆ(asynchronous) ก็ได้ และการประมวลผลจะเกิดขึ้นจากการมีสัญญาณกระตุ้นเข้ามายังเซลล์ประสาทเทียมต่างๆ ไม่ใช่เกิดจากการถูกดำเนินการตามคำสั่ง ดังนั้น ในทางหลักการแล้วกระบวนการประมวลผลในโครงข่ายประสาทเทียมจะใช้ลำดับการทำงานที่สั้นกว่า
ในระบบคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบันความรู้ของคอมพิวเตอร์จะถูกกำหนดโดยตัวโปรแกรม ซึ่งเป็นการกำหนดโดยผู้ใช้ แม้บางครั้งมนุษย์อาจรู้สึกว่า การประมวลผลบางประการน่าจะเป็นสิ่งที่สามารถสั่งให้คอมพิวเตอร์ทำงานได้ แต่กลับไม่สามารถกำหนดการดำเนินการเป็นลำดับขั้นตอน เพื่อใช้เขียนโปแกรมให้คอมพิวเตอร์ทำงานได้ ตัวอย่างเช่น การที่คนไทยสามารถอ่านตัวหนังสือไทย ที่อาจจะพิมพ์ (หรือแม้แต่เขียน) มาอย่างไม่สมบูรณ์ร้อยเปอร์เซ็นต์ได้อย่างถูกต้อง ในขณะที่การเขียนโปรแกรมคอมพิวเตอร์เพื่อกำหนดวิธีอ่านตัวหนังสือไทยจากกระดาษ โดยการสแกนเป็นภาพเข้าไปนั้น ยังไม่มีความสมบูรณ์แบบ
โครงข่ายประสาทเทียมจะมีความเหมาะสมกับปัญหาลักษณะดังกล่าว โดยการให้โครงข่ายประสาทเทียมเรียนตัวอย่างของหนังสือต่างๆเข้าไป จนเกิดเป็นความรู้เกี่ยวกับลักษณะของตัวหนังสือขึ้นมาเอง วิธีดังกล่าวถูกนำมาใช้ในโครงการสร้างระบบรู้จำอักขระภาษาไทยชื่อ ไทยโอซีอาร์ (Thai OCR : Thai Optical CharacterRecognition) ของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติในปัจจุบัน นั่นคือโครงข่ายประสาทเทียมมีความสามารถในการ สังเคราะห์กระบวนการขึ้นมาได้เอง ซึ่งสามารถช่วยให้เกิดระบบการการแก้ปัญหาที่อาจมีความยากจนมนุษย์ไม่สามารถกำหนดขั้นตอนการแก้ไขด้วยโปรแกรมคอมพิวเตอร์ได้
ในแง่หนึ่งของการประยุกต์ใช้นั้น จะพบว่าโครงข่ายประสาทเทียมสามารถช่วยเปลี่ยนข้อมูลดิบให้เป็นความรู้ระดับสูงขึ้น เพื่อให้สามารถจัดเก็บลงบนหน่วยความจำได้ โดยใช้ความจุของหน่วยความจำน้อยๆ เช่น การเก็บหนังสือเล่มหนึ่งเข้าคอมพิวเตอร์ ในปัจจุบันจะทำได้เพียง๒ วิธีหลักๆ เท่านั้นคือ การให้มนุษย์อ่านแล้วพิมพ์เข้าไป ซึ่งต้องสิ้นเปลืองแรงงานมนุษย์ในการดำเนินการหรือโดยการสแกน (scan) แต่ละหน้าของหนังสือ เพื่อเก็บเป็นภาพของหน้านั้นๆซึ่งจะสิ้นเปลืองหน่วยความจำอย่างมาก เนื่องจากต้องเก็บแต่ละจุดในภาพของแต่ละหน้าไว้ทั้งหมดแม้ว่าบริเวณดังกล่าวจะเป็นเพียงพื้นกระดาษขาวๆ ก็ตาม แม้แต่ตัวหนังสือหนึ่งตัวนั้นก็ต้องเก็บเป็นจุดย่อยๆ ในแบบของ "ภาพลักษณ์" ของตัวหนังสือนั้นแทน โครงข่ายประสาทเทียมสามารถช่วย "อ่าน" หนังสือดังกล่าว โดยการ "อ่าน" ภาพของแต่ละหน้าของหนังสือ แล้วรู้จักตัวหนังสือแต่ละตัว เพื่อเก็บข้อมูลในลักษณะของรหัสของตัวหนังสือแต่ละตัวแทน ซึ่งนอกจากจะช่วยประหยัดหน่วยความจำแล้ว ยังสามารถดัดแปลงแก้ไขเนื้อความได้อย่างมีประสิทธิภาพมาก

แหล่งที่มา http://guru.sanook.com/enc_preview.php?id=2214&title=สถาปัตยกรรมโครงข่ายประสาทเทียม#สารานุกรมไทยสำหรับเยาวชนฯ%20เล่มที่%2025



พีรพันธ์(ดิว)

3 ความคิดเห็น:

  1. ลองเข้าไปศึกศศ เพิ่มเติมที่ www.bartlab.org นะคะ แล้วเข้าไปที่ publication จะเห็นตัวอย่างที่สามารถจับต้องได้เกี่ยวกับ AI (Artificial Intelligence) มากขึ้น คะ

    ตอบลบ
  2. ซับซ้อนอะไร ขนาดนั้น

    แต่มันคือความรู้ที่ดี

    จิรยุทธ(หยก)

    ตอบลบ
  3. ถ้าสามารถพัฒนาได้เหมือนกับในหนัง A.I.ละก็

    แหล่มเลย

    อาทิตย์(หมี)

    ตอบลบ