อัลกอริธึมการทำงาน โครงข่ายประสาทเทียมเป็นการวนซ้ำ เรียกว่าขั้นตอนของมัน ยุคสมัยหรือรอบ
ยุค- การวนซ้ำหนึ่งครั้งในกระบวนการเรียนรู้ รวมถึงการนำเสนอตัวอย่างทั้งหมดจากชุดการฝึก และอาจรวมถึงการตรวจสอบคุณภาพของการฝึกในชุดควบคุม
กระบวนการเรียนรู้ดำเนินการตามตัวอย่างการฝึกอบรม
ชุดฝึกซ้อมรวมค่าอินพุตและค่าเอาต์พุตที่สอดคล้องกันของชุดข้อมูล ในระหว่างการฝึก โครงข่ายประสาทเทียมจะค้นหาการพึ่งพาบางอย่างระหว่างฟิลด์เอาท์พุตและฟิลด์อินพุต
ดังนั้นเราจึงต้องเผชิญกับคำถามว่าเราจำเป็นต้องใช้ช่องป้อนข้อมูล (คุณสมบัติ) ใด ในขั้นต้น การเลือกจะดำเนินการตามหลักสำนึก จากนั้นจำนวนอินพุตสามารถเปลี่ยนแปลงได้
ปัญหาที่อาจเกิดขึ้นคือจำนวนข้อสังเกตในชุดข้อมูล และแม้ว่าจะมีกฎบางอย่างที่อธิบายความสัมพันธ์ระหว่างจำนวนการสังเกตที่ต้องการกับขนาดของเครือข่าย แต่ความถูกต้องยังไม่ได้รับการพิสูจน์
จำนวนข้อสังเกตที่ต้องการขึ้นอยู่กับความซับซ้อนของปัญหาที่กำลังแก้ไข เมื่อจำนวนคุณลักษณะเพิ่มขึ้น จำนวนการสังเกตก็เพิ่มขึ้นแบบไม่เชิงเส้น ปัญหานี้เรียกว่า "คำสาปแห่งมิติ" ที่ ปริมาณไม่เพียงพอข้อมูล ขอแนะนำให้ใช้แบบจำลองเชิงเส้น
นักวิเคราะห์จะต้องกำหนดจำนวนเลเยอร์ในเครือข่ายและจำนวนเซลล์ประสาทในแต่ละเลเยอร์
ถัดไป คุณต้องกำหนดค่าน้ำหนักและอคติดังกล่าวซึ่งสามารถลดข้อผิดพลาดในการแก้ปัญหาได้ น้ำหนักและอคติจะถูกปรับโดยอัตโนมัติเพื่อลดความแตกต่างระหว่างสัญญาณเอาท์พุตที่ต้องการและที่ได้รับ ซึ่งเรียกว่า ข้อผิดพลาดในการเรียนรู้.
ข้อผิดพลาดในการฝึกอบรมสำหรับโครงข่ายประสาทเทียมที่สร้างขึ้นคำนวณโดยการเปรียบเทียบค่าเอาต์พุตและเป้าหมาย (ที่ต้องการ) ฟังก์ชันข้อผิดพลาดเกิดขึ้นจากผลต่างที่เกิดขึ้น
ฟังก์ชั่นข้อผิดพลาด- นี่คือฟังก์ชันวัตถุประสงค์ที่ต้องลดขนาดให้เหลือน้อยที่สุดในกระบวนการควบคุมการฝึกอบรมของโครงข่ายประสาทเทียม
เมื่อใช้ฟังก์ชันข้อผิดพลาด คุณสามารถประเมินคุณภาพของโครงข่ายประสาทเทียมระหว่างการฝึกได้ ตัวอย่างเช่น มักใช้ผลรวมของข้อผิดพลาดกำลังสอง
คุณภาพของการฝึกอบรมโครงข่ายประสาทเทียมจะกำหนดความสามารถในการแก้ไขงานที่ได้รับมอบหมาย
การฝึกอบรมโครงข่ายประสาทเทียม
เมื่อฝึกโครงข่ายประสาทเทียม มักจะเกิดปัญหาร้ายแรงที่เรียกว่าปัญหาการโอเวอร์ฟิต
การฝึกอบรมขึ้นใหม่หรือการโอเวอร์ฟิต - การจับคู่โครงข่ายประสาทเทียมที่แม่นยำเกินไปกับชุดตัวอย่างการฝึกอบรมเฉพาะ ซึ่งเครือข่ายสูญเสียความสามารถในการสรุป
Overfitting เกิดขึ้นเมื่อการฝึกใช้เวลานานเกินไป มีตัวอย่างการฝึกไม่เพียงพอ หรือโครงสร้างของโครงข่ายประสาทเทียมมีความซับซ้อนมากเกินไป
การมีอุปกรณ์มากเกินไปเกิดจากการเลือกชุดฝึกซ้อมแบบสุ่ม ตั้งแต่ก้าวแรกของการเรียนรู้ ข้อผิดพลาดก็ลดลง ในขั้นตอนต่อๆ ไป เพื่อลดข้อผิดพลาด ( ฟังก์ชั่นวัตถุประสงค์) พารามิเตอร์จะถูกปรับตามคุณลักษณะของชุดการฝึก อย่างไรก็ตามในกรณีนี้ "การปรับเปลี่ยน" ไม่ได้เกิดขึ้นกับรูปแบบทั่วไปของซีรีส์ แต่เกิดขึ้นกับลักษณะของส่วนนั้น - ชุดย่อยการฝึกอบรม ในเวลาเดียวกัน ความแม่นยำในการพยากรณ์ลดลง
หนึ่งในทางเลือกในการต่อสู้กับการฝึกมากเกินไปของเครือข่ายคือการแบ่งตัวอย่างการฝึกออกเป็นสองชุด (การฝึกและการทดสอบ)
โครงข่ายประสาทเทียมได้รับการฝึกฝนในชุดฝึกอบรม มีการตรวจสอบแบบจำลองที่สร้างขึ้นบนชุดทดสอบ เหล่านี้
ตอนนี้เป็นที่ชัดเจนแล้วว่าเราต้องการสร้างอะไรกันแน่ เราสามารถไปยังคำถามที่ว่า “จะสร้างโครงข่ายประสาทเทียมดังกล่าวได้อย่างไร” ปัญหานี้ได้รับการแก้ไขในสองขั้นตอน: 1. การเลือกประเภท (สถาปัตยกรรม) ของโครงข่ายประสาทเทียม 2. การเลือกน้ำหนัก (การฝึกอบรม) ของโครงข่ายประสาทเทียม ในขั้นแรกเราควรเลือกสิ่งต่อไปนี้: * เซลล์ประสาทใดที่เราต้องการใช้ (จำนวนอินพุต, ฟังก์ชั่นการถ่ายโอน- * วิธีเชื่อมต่อเข้าด้วยกัน * สิ่งที่ต้องใช้เป็นอินพุตและเอาต์พุตของโครงข่ายประสาทเทียม เมื่อมองแวบแรกงานนี้ดูเหมือนจะยิ่งใหญ่ แต่โชคดีที่เราไม่จำเป็นต้องสร้างโครงข่ายประสาทเทียมตั้งแต่เริ่มต้น - มีสถาปัตยกรรมโครงข่ายประสาทเทียมที่แตกต่างกันหลายสิบแบบ และประสิทธิภาพของหลาย ๆ โครงข่ายประสาทเทียมได้รับการพิสูจน์ทางคณิตศาสตร์แล้ว สถาปัตยกรรมที่ได้รับความนิยมและได้รับการศึกษามากที่สุด ได้แก่ เพอร์เซปตรอนหลายชั้น โครงข่ายประสาทเทียมการถดถอยทั่วไป โครงข่ายประสาทเทียมโคโฮเน็น และอื่นๆ คุณสามารถอ่านเกี่ยวกับสถาปัตยกรรมทั้งหมดนี้ได้ในเร็วๆ นี้ ส่วนพิเศษหนังสือเรียนเล่มนี้
ในขั้นตอนที่สองเราควร "ฝึก" โครงข่ายประสาทเทียมที่เลือกนั่นคือเลือกค่าน้ำหนักของมันเพื่อให้ทำงานได้ ในทางที่ถูกต้อง- โครงข่ายประสาทเทียมที่ไม่ได้รับการฝึกฝนก็เหมือนกับเด็ก - สามารถสอนอะไรก็ได้ ในโครงข่ายประสาทเทียมที่ใช้ในทางปฏิบัติ จำนวนตุ้มน้ำหนักอาจมีได้หลายหมื่น ดังนั้นการฝึกอบรมจึงเป็นกระบวนการที่ซับซ้อนอย่างแท้จริง สำหรับสถาปัตยกรรมจำนวนมาก อัลกอริธึมการเรียนรู้พิเศษได้รับการพัฒนาที่ช่วยให้คุณสามารถกำหนดค่าน้ำหนักของโครงข่ายประสาทเทียมได้ด้วยวิธีใดวิธีหนึ่ง อัลกอริธึมที่ได้รับความนิยมมากที่สุดคือวิธีการ การขยายพันธุ์กลับ Error Back Propagation ใช้เพื่อฝึกการรับรู้
การฝึกอบรมโครงข่ายประสาทเทียม
การฝึกโครงข่ายประสาทเทียมหมายถึงการบอกว่าเราต้องการอะไรจากโครงข่ายประสาทเทียม กระบวนการนี้คล้ายกับการสอนตัวอักษรให้เด็กมาก หลังจากแสดงรูปตัวอักษร "A" ให้เด็กดู เราก็ถามเขาว่า "นี่คือตัวอักษรอะไร" หากคำตอบไม่ถูกต้อง เราจะบอกคำตอบที่เราอยากให้เด็กตอบ: “นี่คือตัวอักษร A” เด็กจำตัวอย่างนี้พร้อมกับคำตอบที่ถูกต้องนั่นคือการเปลี่ยนแปลงบางอย่างเกิดขึ้นในความทรงจำของเขา ในทิศทางที่ถูกต้อง- เราจะทำซ้ำขั้นตอนการนำเสนอตัวอักษรซ้ำแล้วซ้ำอีกจนจำได้ครบทั้ง 33 ตัวอักษร กระบวนการนี้เรียกว่า “การเรียนรู้แบบมีผู้สอน”
เมื่อฝึกโครงข่ายประสาทเทียม เราก็ดำเนินการในลักษณะเดียวกันทุกประการ เรามีฐานข้อมูลบางส่วนที่มีตัวอย่าง (ชุดรูปภาพตัวอักษรที่เขียนด้วยลายมือ) ด้วยการนำเสนอภาพของตัวอักษร "A" ไปยังอินพุตของโครงข่ายประสาทเทียม เราได้รับคำตอบบางอย่างซึ่งไม่จำเป็นต้องถูกต้องเสมอไป เรายังรู้คำตอบที่ถูกต้อง (ที่ต้องการ) ด้วย ในกรณีนี้เราต้องการให้ระดับสัญญาณสูงสุดที่เอาต์พุตของโครงข่ายประสาทเทียมที่มีป้ายกำกับว่า "A" โดยทั่วไป เอาต์พุตที่ต้องการในปัญหาการจำแนกประเภทคือเซต (1, 0, 0, ...) โดยที่ 1 อยู่ที่เอาต์พุตที่มีป้ายกำกับ “A” และ 0 อยู่ที่เอาต์พุตอื่นๆ ทั้งหมด เมื่อคำนวณความแตกต่างระหว่างการตอบสนองที่ต้องการและการตอบสนองที่แท้จริงของเครือข่าย เราจะได้ตัวเลข 33 ตัว - เวกเตอร์ข้อผิดพลาด อัลกอริธึม backpropagation ข้อผิดพลาดคือชุดของสูตรที่ช่วยให้สามารถคำนวณการแก้ไขที่จำเป็นสำหรับน้ำหนักของโครงข่ายประสาทเทียมโดยใช้เวกเตอร์ข้อผิดพลาด เราสามารถนำเสนอตัวอักษรเดียวกัน (รวมถึงรูปภาพที่แตกต่างกันของตัวอักษรเดียวกัน) ไปยังโครงข่ายประสาทเทียมได้หลายครั้ง ในแง่นี้ การเรียนรู้ก็เหมือนกับการออกกำลังกายซ้ำๆ ในกีฬา - การฝึก
ปรากฎว่าหลังจากนำเสนอตัวอย่างซ้ำแล้วซ้ำอีก น้ำหนักของโครงข่ายประสาทเทียมจะมีเสถียรภาพ และโครงข่ายประสาทเทียมจะให้คำตอบที่ถูกต้องสำหรับตัวอย่างทั้งหมด (หรือเกือบทั้งหมด) จากฐานข้อมูล ในกรณีนี้ พวกเขากล่าวว่า "โครงข่ายประสาทเทียมได้เรียนรู้ตัวอย่างทั้งหมดแล้ว" "โครงข่ายประสาทเทียมได้รับการฝึกฝน" หรือ "โครงข่ายประสาทเทียมได้รับการฝึกฝน" ใน การใช้งานซอฟต์แวร์คุณจะเห็นว่าในระหว่างกระบวนการเรียนรู้ ขนาดของข้อผิดพลาด (ผลรวมของข้อผิดพลาดกำลังสองของเอาต์พุตทั้งหมด) จะค่อยๆ ลดลง เมื่อข้อผิดพลาดถึงศูนย์หรือระดับเล็กน้อยที่ยอมรับได้ การฝึกอบรมจะหยุดลง และโครงข่ายประสาทเทียมที่ได้จะถือว่าได้รับการฝึกอบรมและพร้อมใช้งานกับข้อมูลใหม่ สิ่งสำคัญคือต้องทราบว่าข้อมูลทั้งหมดที่โครงข่ายประสาทเทียมมีเกี่ยวกับปัญหามีอยู่ในชุดตัวอย่าง ดังนั้นคุณภาพของการฝึกอบรมโครงข่ายประสาทเทียมโดยตรงจึงขึ้นอยู่กับจำนวนตัวอย่างในชุดการฝึกอบรม รวมถึงความสมบูรณ์ของตัวอย่างเหล่านี้ในการอธิบายงานที่ได้รับ
ตัวอย่างเช่น การใช้โครงข่ายประสาทเทียมเพื่อทำนายวิกฤตการณ์ทางการเงินนั้นไม่มีประโยชน์ หากไม่มีการแสดงวิกฤตการณ์ในชุดการฝึกอบรม เชื่อกันว่าในการฝึกโครงข่ายประสาทเทียมอย่างเต็มที่อย่างน้อยหลายโหล (และ ดีกว่าหลายร้อย) ตัวอย่าง ขอย้ำอีกครั้งว่าการฝึกอบรมโครงข่ายประสาทเทียมเป็นกระบวนการที่ซับซ้อนและเน้นความรู้ อัลกอริธึมการฝึกอบรมโครงข่ายประสาทเทียมมี พารามิเตอร์ต่างๆและการตั้งค่าที่ต้องมีความเข้าใจถึงผลกระทบจึงจะจัดการได้
เมื่อโครงข่ายประสาทเทียมได้รับการฝึกฝนแล้ว เราสามารถใช้เพื่อแก้ไขปัญหาที่เป็นประโยชน์ได้ คุณสมบัติที่สำคัญ สมองของมนุษย์คือเมื่อได้เรียนรู้กระบวนการบางอย่างแล้ว เขาก็จะสามารถกระทำได้อย่างถูกต้องในสถานการณ์ที่ไม่ถูกเปิดเผยในระหว่างกระบวนการเรียนรู้ ตัวอย่างเช่น เราสามารถอ่านลายมือได้เกือบทุกชนิด แม้ว่าเราจะเห็นมันเป็นครั้งแรกในชีวิตก็ตาม ในทำนองเดียวกัน โครงข่ายประสาทเทียมที่ได้รับการฝึกอบรมอย่างเหมาะสมสามารถตอบสนองต่อข้อมูลใหม่ที่ไม่เคยมีการนำเสนอมาก่อนได้อย่างถูกต้อง มีความเป็นไปได้สูง ตัวอย่างเช่น เราสามารถวาดตัวอักษร "A" ด้วยลายมือที่แตกต่างกัน จากนั้นขอให้โครงข่ายประสาทเทียมของเราจัดประเภทรูปภาพใหม่ น้ำหนักของโครงข่ายประสาทเทียมที่ผ่านการฝึกอบรมจะเก็บข้อมูลค่อนข้างมากเกี่ยวกับความเหมือนและความแตกต่างของตัวอักษร ดังนั้นคุณจึงสามารถไว้วางใจคำตอบที่ถูกต้องสำหรับรูปภาพเวอร์ชันใหม่ได้ ตัวอย่างของโครงข่ายประสาทเทียมสำเร็จรูป
กระบวนการเรียนรู้และการประยุกต์ใช้โครงข่ายประสาทเทียมที่อธิบายไว้ข้างต้นสามารถเห็นได้จริงในขณะนี้ Ward Systems Group ได้เตรียมการไว้หลายอย่าง โปรแกรมง่ายๆซึ่งเขียนขึ้นจากไลบรารี NeuroWindows แต่ละโปรแกรมอนุญาตให้ผู้ใช้ระบุชุดตัวอย่างได้อย่างอิสระและฝึกอบรมโครงข่ายประสาทเทียมเฉพาะในชุดนี้ จากนั้นคุณสามารถเสนอตัวอย่างใหม่ของโครงข่ายประสาทเทียมนี้และสังเกตการทำงานของมัน
ดังนั้นวันนี้เราจะมาพูดคุยกันในหัวข้อนี้ต่อไป โครงข่ายประสาทเทียมบนเว็บไซต์ของเราและตามที่ฉันสัญญาไว้ในบทความแรก () เราจะพูดถึง การฝึกอบรมเครือข่าย- หัวข้อนี้มีความสำคัญมาก เนื่องจากหนึ่งในคุณสมบัติหลักของโครงข่ายประสาทเทียมคือไม่เพียงแต่ทำหน้าที่ตามอัลกอริทึมที่กำหนดไว้อย่างชัดเจนเท่านั้น แต่ยังปรับปรุง (เรียนรู้) ตามประสบการณ์ที่ผ่านมาอีกด้วย และในบทความนี้เราจะดูการฝึกอบรมบางรูปแบบรวมถึงตัวอย่างเชิงปฏิบัติเล็กๆ น้อยๆ
เรามาทำความเข้าใจกันก่อนว่าจุดประสงค์ของการเรียนรู้คืออะไร และทุกอย่างก็ง่ายดาย - ในการปรับค่าสัมประสิทธิ์การถ่วงน้ำหนักของการเชื่อมต่อเครือข่าย วิธีหนึ่งที่พบบ่อยที่สุดคือ การเรียนรู้แบบมีไกด์- เพื่อดำเนินการดังกล่าว เราจำเป็นต้องมีชุดข้อมูลอินพุต รวมถึงข้อมูลเอาต์พุตที่เกี่ยวข้อง เราตั้งค่าสัมประสิทธิ์การถ่วงน้ำหนักให้เท่ากับค่าเล็กๆ บางค่า จากนั้นกระบวนการก็ดำเนินไปดังนี้...
เราป้อนข้อมูลไปยังอินพุตเครือข่าย หลังจากนั้นเครือข่ายจะคำนวณค่าเอาต์พุต เราเปรียบเทียบค่านี้กับค่าที่เรามี (ฉันเตือนคุณว่าสำหรับการฝึกอบรมเราใช้ชุดข้อมูลอินพุตสำเร็จรูปที่ทราบสัญญาณเอาท์พุต) และตามความแตกต่างระหว่างค่าเหล่านี้เราจะปรับค่าสัมประสิทธิ์การถ่วงน้ำหนัก ของโครงข่ายประสาทเทียม และการดำเนินการนี้จะทำซ้ำเป็นวงกลมหลายครั้ง เป็นผลให้เราได้รับเครือข่ายที่ผ่านการฝึกอบรมพร้อมค่าสัมประสิทธิ์การถ่วงน้ำหนักใหม่
ดูเหมือนว่าทุกอย่างชัดเจนยกเว้นว่าจำเป็นต้องเปลี่ยนค่าของสัมประสิทธิ์น้ำหนักเฉพาะแต่ละค่าอย่างไรและโดยอัลกอริธึมใด และในบทความเกี่ยวกับการแก้ไขน้ำหนักของวันนี้เราจะมาดูกันเป็นตัวอย่างที่ชัดเจน กฎของแม่ม่าย-ฮอฟฟ์ซึ่งเรียกอีกอย่างว่า กฎเดลต้า.
กฎเดลต้า (กฎแม่ม่าย-ฮอฟฟ์)
มากำหนดข้อผิดพลาดกัน:
ที่นี่เรามี - นี่คือเอาต์พุตที่คาดหวัง (จริง) ของเครือข่าย และ - นี่คือเอาต์พุตจริง (กิจกรรม) ขององค์ประกอบเอาต์พุต นอกจากองค์ประกอบเอาต์พุตแล้วยังสามารถกำหนดข้อผิดพลาดสำหรับองค์ประกอบทั้งหมดของเลเยอร์ที่ซ่อนอยู่ของโครงข่ายประสาทเทียมได้เราจะพูดถึงเรื่องนี้ในภายหลัง
กฎเดลต้ามีดังนี้ - การเปลี่ยนแปลงค่าของสัมประสิทธิ์การถ่วงน้ำหนักควรเท่ากับ:
มาตรฐานการเรียนรู้อยู่ที่ไหน เรากำหนดตัวเลขนี้ด้วยตัวเองก่อนเริ่มการฝึก – นี่คือสัญญาณที่มาถึงองค์ประกอบ เคจากองค์ประกอบ เจ- เอ – ข้อผิดพลาดขององค์ประกอบ เค.
ดังนั้นในระหว่างกระบวนการฝึกอบรม เราป้อนตัวอย่างแล้วตัวอย่างไปยังอินพุตเครือข่าย และด้วยเหตุนี้ เราจึงได้รับค่าใหม่ของสัมประสิทธิ์การถ่วงน้ำหนัก โดยทั่วไป การฝึกจะสิ้นสุดลงเมื่อค่าความผิดพลาดสำหรับตัวอย่างอินพุตทั้งหมดน้อยกว่าค่าที่กำหนด หลังจากนั้น เครือข่ายจะได้รับการทดสอบโดยใช้ข้อมูลใหม่ที่ไม่ได้เข้าร่วมการฝึกอบรม และจากผลการทดสอบนี้ มีความเป็นไปได้ที่จะสรุปได้ว่าเครือข่ายสามารถรับมือกับงานของตนได้ดีหรือไม่
ทุกอย่างชัดเจนด้วยการปรับน้ำหนัก มันยังคงอยู่เพื่อกำหนดว่าการคำนวณจะเกิดขึ้นอย่างไรและอย่างไรเมื่อฝึกเครือข่าย มาดูการฝึกอบรมโดยใช้อัลกอริธึมการเผยแพร่กลับกัน
อัลกอริธึมการถ่ายทอดกลับ
อัลกอริธึมนี้กำหนด "โฟลว์" สองรายการในเครือข่าย สัญญาณอินพุตเคลื่อนที่ไปในทิศทางไปข้างหน้าส่งผลให้สัญญาณเอาท์พุตซึ่งเราได้รับค่าความผิดพลาด ขนาดของข้อผิดพลาดจะย้ายไปที่ ทิศทางย้อนกลับส่งผลให้มีการปรับค่าสัมประสิทธิ์การถ่วงน้ำหนักของการเชื่อมต่อเครือข่าย ในตอนท้ายของบทความ เราจะดูตัวอย่างที่แสดงให้เห็นกระบวนการเหล่านี้อย่างชัดเจน
ดังนั้น ในการปรับน้ำหนัก เราจะใช้กฎเดลต้าที่เราได้พูดคุยไปแล้ว จำเป็นต้องกำหนดกฎสากลสำหรับการคำนวณข้อผิดพลาดของแต่ละองค์ประกอบเครือข่ายหลังจากนั้นในความเป็นจริงผ่านองค์ประกอบ (ระหว่างการแพร่กระจายข้อผิดพลาดด้านหลัง)
ฉันอาจจะไม่ให้ข้อสรุปและการคำนวณทางคณิตศาสตร์ (แม้ว่าฉันจะชอบคณิตศาสตร์ก็ตาม🙂) เพื่อไม่ให้บทความมากเกินไปเราจะ จำกัด ตัวเองอยู่เฉพาะผลลัพธ์สุดท้ายเท่านั้น:
ฟังก์ชั่นคือฟังก์ชั่นของกิจกรรมขององค์ประกอบ ลองใช้ฟังก์ชันลอจิสติกสำหรับสิ่งนี้:
เราแทนที่มันลงในสูตรก่อนหน้าและรับค่าความผิดพลาด:
ในสูตรนี้:
แน่นอนว่าตอนนี้ทั้งหมดนี้ดูเหมือนจะไม่ชัดเจนนัก แต่อย่ากังวลเมื่อคุณพิจารณา ตัวอย่างการปฏิบัติทุกอย่างจะเข้าที่ 😉
จริงๆแล้วเรามาดูกันดีกว่า
ก่อนที่จะฝึกเครือข่ายจำเป็นต้องตั้งค่าเริ่มต้นของน้ำหนัก - โดยปกติแล้วจะเริ่มต้นในขนาดที่เล็ก ค่าสุ่มเช่น จากช่วงเวลา (-0.5, 0.5) แต่สำหรับตัวอย่างของเรา ลองใช้จำนวนเต็มเพื่อความสะดวก
ลองพิจารณาโครงข่ายประสาทเทียมและคำนวณ "กระแส" ไปข้างหน้าและย้อนกลับในเครือข่ายด้วยตนเอง
ที่ทางเข้าเราต้องจัดเตรียมตัวอย่างไว้ (0.2, 0.5) - เอาต์พุตเครือข่ายที่คาดหวัง – 0.4 - ให้อัตราการเรียนรู้เท่ากัน 0.85 - ดำเนินการคำนวณทั้งหมดทีละขั้นตอน ฉันลืมไปเลยว่าเราจะใช้ฟังก์ชันลอจิสติกเป็นฟังก์ชันกิจกรรม:
มาเริ่มกันเลย...
มาคำนวณอินพุตรวมขององค์ประกอบกัน 2 , 3 และ 4 :
กิจกรรมขององค์ประกอบเหล่านี้คือ:
อินพุตรวมขององค์ประกอบที่ห้า:
กิจกรรมขององค์ประกอบที่ห้าและในเวลาเดียวกันเอาต์พุตของโครงข่ายประสาทเทียมจะเท่ากับ:
เราได้จัดการกับ "กระแส" ข้างหน้าแล้ว ตอนนี้เรามาดู "กระแส" ย้อนกลับกันดีกว่า เราจะทำการคำนวณทั้งหมดตามสูตรที่เราได้พูดคุยไปแล้ว ลองคำนวณข้อผิดพลาดขององค์ประกอบเอาต์พุต:
จากนั้นข้อผิดพลาดสำหรับองค์ประกอบ 2 , 3 และ 4 เท่ากันตามลำดับ:
นี่คือค่าต่างๆ -0.014, -0.028 และ -0.056 ได้มาจากการส่งผ่านข้อผิดพลาดขององค์ประกอบเอาต์พุต - 0.014 พร้อมการเชื่อมต่อแบบถ่วงน้ำหนักไปยังองค์ประกอบต่างๆ 2 , 3 และ 4 ตามลำดับ
และสุดท้ายเราคำนวณจำนวนเงินที่ต้องเปลี่ยนค่าของสัมประสิทธิ์การถ่วงน้ำหนัก เช่น จำนวนการปรับความสัมพันธ์ระหว่างองค์ประกอบต่างๆ 0 และ 2 เท่ากับผลคูณของขนาดของสัญญาณที่มาถึงองค์ประกอบ 2 จากองค์ประกอบ 0 , ข้อผิดพลาดองค์ประกอบ 2 และบรรทัดฐานการเรียนรู้ (ทั้งหมดเป็นไปตามกฎเดลต้าซึ่งเราพูดคุยกันในตอนต้นของบทความ):
เราทำการคำนวณในลักษณะเดียวกันสำหรับองค์ประกอบที่เหลือ:
ตอนนี้ค่าสัมประสิทธิ์การถ่วงน้ำหนักใหม่จะเท่ากับผลรวมของค่าก่อนหน้าและค่าแก้ไข
ณ จุดนี้ การย้อนกลับผ่านเครือข่ายเสร็จสมบูรณ์ บรรลุเป้าหมายแล้ว 😉 นี่คือวิธีที่กระบวนการเรียนรู้ดำเนินไปโดยใช้อัลกอริธึมการเผยแพร่กลับ เราดูกระบวนการนี้สำหรับชุดข้อมูลหนึ่งชุด และแน่นอนว่าเพื่อให้ได้เครือข่ายที่ได้รับการฝึกอบรมอย่างเต็มที่ จะต้องมีชุดดังกล่าวมากกว่านี้มาก แต่อัลกอริทึมยังคงไม่เปลี่ยนแปลง เพียงทำซ้ำในวงกลมหลายครั้งสำหรับข้อมูลที่แตกต่างกัน)
ตามคำร้องขอของผู้อ่านบล็อก ฉันตัดสินใจเพิ่มตัวอย่างสั้น ๆ ของการฝึกอบรมเครือข่ายที่มีการซ่อนสองชั้น:
ดังนั้นเราจึงเพิ่มองค์ประกอบใหม่สองรายการ (X และ Y) ให้กับเครือข่ายของเรา ซึ่งจะทำหน้าที่เป็นอินพุต เรายังจัดเตรียมตัวอย่างไว้ที่ทางเข้าด้วย (0.2, 0.5) - พิจารณาอัลกอริทึมในกรณีนี้:
1. ผ่านเครือข่ายโดยตรง ที่นี่ทุกอย่างเหมือนกันทุกประการกับเครือข่ายที่มีเลเยอร์ซ่อนอยู่หนึ่งเลเยอร์ ผลลัพธ์ที่ได้จะเป็นค่า
2. คำนวณข้อผิดพลาดขององค์ประกอบเอาต์พุต:
3. ตอนนี้เราต้องคำนวณข้อผิดพลาดขององค์ประกอบ 2, 3 และ 4
เทคโนโลยีสารสนเทศสมัยใหม่/2. วิทยาการคอมพิวเตอร์และการเขียนโปรแกรม
Zolotukhina Irina Andreevna นักศึกษาปริญญาโท
คอสตาเนย์สกี้ มหาวิทยาลัยของรัฐตั้งชื่อตาม A. Baitursynov คาซัคสถาน
วิธีการและอัลกอริธึมสำหรับการฝึกอบรมโครงข่ายประสาทเทียม
คำอธิบายประกอบ:บทความนี้วิเคราะห์โครงข่ายประสาทเทียมว่าทำไมเครือข่ายจึงมีความเกี่ยวข้อง พิจารณาประเภทของอัลกอริธึมโครงข่ายประสาทเทียม และขอบเขตการใช้งานเครือข่าย
คำสำคัญ:เซลล์ประสาท เพอร์เซปตรอน วิธีโรเซนแบลตต์ วิธีเฮบบ์ ข้อผิดพลาดทั่วไป ข้อผิดพลาดในการเรียนรู้ อัลกอริธึมการเรียนรู้
โครงข่ายประสาทเทียม(หรือโครงข่ายประสาทเทียม) เป็นหนึ่งในงานวิจัยที่น่าสนใจที่สุดในสาขานี้ ปัญญาประดิษฐ์ขึ้นอยู่กับการสร้างแบบจำลองและการสืบพันธุ์ของระบบประสาทของมนุษย์ นักวิทยาศาสตร์มีความสนใจเป็นพิเศษในกระบวนการต่างๆ เช่น ความสามารถของระบบประสาทในการเรียนรู้ แก้ไขข้อผิดพลาด และตัดสินใจ ซึ่งน่าจะช่วยให้เราจำลองการทำงานของสมองมนุษย์ได้
โครงข่ายประสาทเทียมเรียนรู้โดยการวิเคราะห์อิทธิพลเชิงบวกและเชิงลบ ประกอบด้วยเซลล์ประสาท ซึ่งตั้งชื่อโดยการเปรียบเทียบกับต้นแบบทางชีววิทยาของพวกมัน
แบบจำลองของเซลล์ประสาทเทียมถูกเสนอครั้งแรกโดยนักวิทยาศาสตร์ชาวอเมริกัน Warren McCulloch และนักเรียนของเขา Walter Pitts ในปี 1943
ขึ้นอยู่กับฟังก์ชันที่ทำโดยเซลล์ประสาทในเครือข่าย สามารถแยกแยะได้สามประเภท:
· เซลล์ประสาทอินพุตซึ่งมีการเข้ารหัสเวกเตอร์เอฟเฟกต์อินพุตหรือภาพของสภาพแวดล้อมภายนอก พวกเขามักจะไม่ดำเนินการตามขั้นตอนการคำนวณ
· เซลล์ประสาทระดับกลางที่สร้างพื้นฐานของโครงข่ายประสาทเทียม การเปลี่ยนแปลงที่ดำเนินการตามนิพจน์ (1) และ (1.1)
· เซลล์ประสาทเอาต์พุตซึ่งค่าเอาต์พุตแสดงถึงเอาต์พุตของโครงข่ายประสาทเทียม การเปลี่ยนแปลงในสิ่งเหล่านี้ยังดำเนินการตามนิพจน์ (1) และ (1.1)
รูปที่ 1 โครงสร้างของโครงข่ายประสาทเทียมที่เป็นทางการ
(1)
y = f(s)(1.1)
ที่ไหน
· ฉัน, – น้ำหนักของไซแนปส์ ฉัน = 1...น;
· ข– ค่าชดเชย;
· ส– ผลการสรุป;
· x, – องค์ประกอบของเวกเตอร์อินพุต ( สัญญาณอินพุต),
· x ฉัน = 1...น;
· ที่– สัญญาณเอาท์พุตของเซลล์ประสาท;
· n– จำนวนอินพุตของเซลล์ประสาท
· ฉ– การแปลงแบบไม่เชิงเส้น (ฟังก์ชันการเปิดใช้งาน)
เพื่อป้อนสัญญาณ (s)ตัวแปลงแบบไม่เชิงเส้นตอบสนองกับสัญญาณเอาท์พุต ฉซึ่งแสดงถึงเอาท์พุตของเซลล์ประสาท
ข้อดีของแนวทางโครงข่ายประสาทเทียมเมื่อแก้ไขปัญหา เทคโนโลยีสารสนเทศไม่เหมือนที่อื่น (เช่น สถาปัตยกรรม von Neumann):
· ความเท่าเทียมของการประมวลผลข้อมูล
· หลักการสอนที่สม่ำเสมอและมีประสิทธิภาพ
· ความน่าเชื่อถือของการดำเนินงาน
· ความสามารถในการแก้ไขปัญหาที่ไม่เป็นทางการ
แอปพลิเคชันและปัญหาแก้ไขได้ด้วยโครงข่ายประสาทเทียม
โครงข่ายประสาทเทียมได้พบการประยุกต์ใช้ในเทคโนโลยีสาขาต่างๆ ประสิทธิภาพคอมพิวเตอร์ที่เพิ่มขึ้นเพิ่มเติมนั้นมีความเกี่ยวข้องมากขึ้นกับการพัฒนาเครือข่ายเหล่านี้ โดยเฉพาะอย่างยิ่งกับนิวโรคอมพิวเตอร์ซึ่งมีพื้นฐานอยู่บนโครงข่ายประสาทเทียม
ช่วงของปัญหาที่แก้ไขได้ด้วยโครงข่ายประสาทเทียม:
· การจดจำรูปแบบ
· การรู้จำและการสังเคราะห์เสียงพูด
· การรู้จำภาพการบินและอวกาศ
· การประมวลผลสัญญาณเมื่อมีสัญญาณรบกวนสูง
· การพยากรณ์;
· การเพิ่มประสิทธิภาพ;
· การพยากรณ์ราคาหลักทรัพย์และอัตราแลกเปลี่ยน
· การป้องกันการฉ้อโกงบัตรเครดิต
· เกมในตลาดหลักทรัพย์
· การกรองสแปม
· การประเมินมูลค่าอสังหาริมทรัพย์
· การประเมินสถานะทางการเงินขององค์กรและความเสี่ยงของการไม่ชำระคืนเงินกู้
· การประมวลผลสัญญาณเรดาร์
· ระบบรักษาความปลอดภัยและกล้องวงจรปิด
· การควบคุมการจราจรบนทางด่วนและทางรถไฟ
· การวินิจฉัยทางการแพทย์
· การจัดการวัตถุที่ซับซ้อน
· เป็นการดึงความรู้มาจาก ปริมาณมากข้อมูลในการวิจัยทางธุรกิจ การเงิน และวิทยาศาสตร์
· การควบคุมแบบเรียลไทม์และนั่นไม่ใช่ทั้งหมด
การศึกษา
การฝึกอบรมหมายถึงการปรับปรุงประสิทธิภาพของระบบโดยการวิเคราะห์ข้อมูลอินพุต นอกจากนี้การฝึกอบรมยังเกิดขึ้นตามกฎบางประการ
การเรียนรู้มีสองแนวทางหลัก: “กับครู” และ “ไม่มีครู” (การเรียนรู้ด้วยตนเอง) ที่ การฝึกอบรมกับอาจารย์โครงข่ายประสาทเทียมมีคำตอบที่ถูกต้อง (เอาต์พุตเครือข่าย) สำหรับแต่ละรายการ ตัวอย่างอินพุต- พวกเขารวมกันเรียกว่าคู่ฝึกซ้อม น้ำหนักจะถูกปรับเพื่อให้เครือข่ายสร้างคำตอบที่ใกล้เคียงกับคำตอบที่ถูกต้องที่สุดเท่าที่จะเป็นไปได้ และลดข้อผิดพลาดให้เหลือน้อยที่สุด เวกเตอร์ของชุดการฝึกจะถูกนำเสนอตามลำดับ ข้อผิดพลาดจะถูกคำนวณ และน้ำหนักจะถูกปรับสำหรับแต่ละเวกเตอร์จนกว่าข้อผิดพลาดของชุดการฝึกทั้งหมดจะถึงระดับที่ยอมรับได้ การเรียนรู้แบบไม่มีผู้ดูแลไม่จำเป็นต้องมีความรู้คำตอบที่ถูกต้องสำหรับตัวอย่างการฝึกอบรมแต่ละตัวอย่าง ในกรณีนี้มันถูกเปิดเผย โครงสร้างภายในข้อมูลหรือการพึ่งพาระหว่างรูปแบบในระบบข้อมูลที่ช่วยให้สามารถจัดหมวดหมู่รูปแบบได้
อบรมสั่งสอน
เซลล์ประสาทอินพุตจำนวนมากถูกส่งไปยังอินพุตของโครงข่ายประสาทเทียมเอ็กซ์- เวกเตอร์อินพุตสำหรับโครงข่ายประสาทเทียมที่ได้รับการฝึกอบรม
ลองกำหนดฟังก์ชันข้อผิดพลาดกัน อี- โดยปกติแล้ว นี่คือค่าคลาดเคลื่อนกำลังสองเฉลี่ย
,
ที่ไหน
· ป- จำนวนตัวอย่างที่ประมวลผลโดยโครงข่ายประสาทเทียม
· ใช่แล้ว-ออก;
· ฉัน- เอาต์พุตที่ต้องการ (ในอุดมคติ) ของโครงข่ายประสาทเทียม
ขั้นตอนการฝึกโครงข่ายประสาทเทียมจะลดลงเป็นขั้นตอนการแก้ไขน้ำหนักการเชื่อมต่อ วัตถุประสงค์ของขั้นตอนการแก้ไขน้ำหนักคือเพื่อลดฟังก์ชันข้อผิดพลาดให้เหลือน้อยที่สุด อี.
รูปแบบการฝึกอบรมทั่วไปกับครู:
1 ก่อนเริ่มการฝึก ค่าสัมประสิทธิ์น้ำหนักจะถูกตั้งค่าด้วยวิธีใดวิธีหนึ่ง เช่น - แบบสุ่ม
2 ในขั้นตอนแรก ตัวอย่างการฝึกอบรมจะถูกส่งไปยังอินพุตตามลำดับที่แน่นอน ในการวนซ้ำแต่ละครั้ง จะมีการคำนวณข้อผิดพลาดสำหรับตัวอย่างการฝึก เอล แอล(ข้อผิดพลาดในการเรียนรู้) และน้ำหนักได้รับการแก้ไขโดยใช้อัลกอริธึมบางอย่าง วัตถุประสงค์ของขั้นตอนการแก้ไขน้ำหนักคือเพื่อลดข้อผิดพลาดให้เหลือน้อยที่สุด เอล แอล.
3 ในขั้นตอนที่สองของการฝึก จะมีการตรวจสอบการทำงานที่ถูกต้อง ที่ทางเข้าจะเสิร์ฟตามลำดับที่กำหนด กรณีทดสอบ- ในการวนซ้ำแต่ละครั้ง จะมีการคำนวณข้อผิดพลาดสำหรับกรณีทดสอบ อีจี(ข้อผิดพลาดทั่วไปคือข้อผิดพลาดที่โมเดลที่ได้รับการฝึกอบรมแสดงในตัวอย่างที่ไม่ได้มีส่วนร่วมในกระบวนการฝึกอบรม) หากผลลัพธ์ไม่เป็นที่น่าพอใจ ตัวอย่างการฝึกจำนวนมากจะได้รับการแก้ไขและรอบการฝึกซ้ำ
หากหลังจากทำซ้ำอัลกอริทึมการเรียนรู้หลายครั้งแล้วเกิดข้อผิดพลาดในการเรียนรู้ เอล แอลลดลงจนเกือบเป็นศูนย์ ในขณะที่เกิดข้อผิดพลาดทั่วไป อีจีในตอนแรกลดลงแล้วเริ่มเพิ่มขึ้นนี่เป็นสัญญาณของผลการฝึกขึ้นใหม่ ในกรณีนี้ จะต้องหยุดการฝึก
รูปที่ 2 เอฟเฟกต์โอเวอร์ฟิตติ้ง
ตามอัลกอริธึมนี้ การฝึกอบรมโครงข่ายประสาทเทียมจะขึ้นอยู่กับวิธี Rosenblatt
วิธีโรเซนแบลตต์
วิธีนี้เสนอโดย F. Rosenblatt ในยุค 60 XX ศตวรรษ สำหรับโครงข่ายประสาทเทียมที่เรียกว่าเพอร์เซปตรอน Perceptron มีฟังก์ชันการเปิดใช้งานขีดจำกัด แผนภาพแสดงอยู่ในรูปที่ 1
รูปที่ 3 เพอร์เซปตรอนชั้นเดียว
ขั้นตอนการฝึก Rosenblatt สำหรับเพอร์เซพตรอนชั้นเดียวสามารถแสดงได้ดังต่อไปนี้:
,
ที่ไหน
· x ฉัน- ฉัน-อินพุตของโครงข่ายประสาทเทียม
· ดีเจ- ต้องการ (อุดมคติ) เจ- เอาต์พุตของโครงข่ายประสาทเทียม
· ก - ค่าสัมประสิทธิ์ (ความเร็วการเรียนรู้) 0< ก≤1
ค่าสัมประสิทธิ์การถ่วงน้ำหนักจะเปลี่ยนไปก็ต่อเมื่อค่าเอาท์พุตจริงไม่ตรงกับค่าเอาท์พุตในอุดมคติ ด้านล่างนี้เป็นคำอธิบายของอัลกอริธึมการฝึกเพอร์เซปตรอน
1. เราตั้งค่าน้ำหนักทั้งหมดให้เท่ากับศูนย์
2. เราดำเนินวงจรการนำเสนอตัวอย่าง สำหรับแต่ละตัวอย่าง จะมีการดำเนินการตามขั้นตอนต่อไปนี้
2.1. หากเครือข่ายให้คำตอบที่ถูกต้อง ให้ไปที่ขั้นตอน 2.4
2.2. หากคาดว่าจะมีหน่วยอยู่ที่เอาท์พุตของเพอร์เซปตรอน แต่ได้รับค่าศูนย์ น้ำหนักของการเชื่อมต่อที่สัญญาณหน่วยส่งผ่านจะลดลงหนึ่ง
2.3. หากคาดว่าจะมีค่าศูนย์ที่เอาต์พุตของเพอร์เซปตรอน แต่ได้รับหน่วย น้ำหนักของการเชื่อมต่อที่สัญญาณเดียวที่ส่งผ่านจะเพิ่มขึ้นหนึ่งรายการ
2.4. เรามาดูตัวอย่างถัดไปกันดีกว่า หากถึงจุดสิ้นสุดของชุดการฝึกให้ไปที่ขั้นตอนที่ 3 ไม่เช่นนั้นเราจะกลับไปที่ขั้นตอนที่ 2.1
3. หากในระหว่างการดำเนินการขั้นตอนที่สองของอัลกอริทึม มีการดำเนินการขั้นตอน 2.2 หรือ 2.3 อย่างน้อยหนึ่งครั้งและไม่มีการวนซ้ำ ให้ดำเนินการในขั้นตอนที่ 2 มิฉะนั้น การฝึกอบรมจะเสร็จสิ้น
อัลกอริทึมนี้ไม่มีกลไกการติดตามลูปการเรียนรู้ กลไกนี้สามารถนำไปใช้ได้หลายวิธี ความประหยัดที่สุดในเรื่องของการใช้หน่วยความจำเพิ่มเติมมีดังนี้
4. เค=1; ม=0. เราจำน้ำหนักของการเชื่อมต่อได้
5. หลังจากวงจรของการนำเสนอภาพ เราจะเปรียบเทียบน้ำหนักของการเชื่อมโยงกับน้ำหนักที่จำได้ หากน้ำหนักปัจจุบันตรงกับน้ำหนักที่จดจำ จะเกิดการวนซ้ำ มิฉะนั้นให้ไปที่ขั้นตอนที่ 3
6. ม=ม+1. ถ้า ม<เคจากนั้นไปยังขั้นตอนที่สอง
7. เค=2เค; ม=0. จำน้ำหนักของการเชื่อมต่อและไปยังขั้นตอนที่ 2
เนื่องจากความยาวของวงจรมีจำกัด ดังนั้น จึงมีขนาดใหญ่พอสมควร เคจะถูกตรวจจับการวนซ้ำ
การเรียนรู้โดยไม่มีครู
คุณลักษณะหลักที่ทำให้การเรียนรู้โดยไม่ต้องมีครูมีเสน่ห์คือ "ความเป็นอิสระ" กระบวนการเรียนรู้ เช่นเดียวกับในกรณีของการเรียนรู้แบบมีผู้สอน ประกอบด้วยการปรับน้ำหนักของไซแนปส์ อย่างไรก็ตาม อัลกอริธึมบางตัวเปลี่ยนโครงสร้างของเครือข่าย กล่าวคือ จำนวนเซลล์ประสาทและความสัมพันธ์ของพวกมัน แต่การเปลี่ยนแปลงดังกล่าวจะเรียกว่าถูกต้องกว่าในคำที่กว้างกว่า นั่นคือ การจัดองค์กรด้วยตนเอง และจะไม่ได้รับการพิจารณาภายในขอบเขตนี้ บทความ. เห็นได้ชัดว่าการปรับไซแนปส์สามารถทำได้บนพื้นฐานของข้อมูลที่มีอยู่ในเซลล์ประสาทเท่านั้นนั่นคือสถานะและค่าสัมประสิทธิ์น้ำหนักที่มีอยู่แล้ว จากการพิจารณานี้และที่สำคัญกว่านั้นคือการเปรียบเทียบกับหลักการที่รู้จักกันดีในการจัดระเบียบเซลล์ประสาทด้วยตนเอง อัลกอริธึมการเรียนรู้แบบ Hebbian จึงถูกสร้างขึ้น
โดยพื้นฐานแล้ว Hebb เสนอว่าการเชื่อมต่อซินแนปติกระหว่างเซลล์ประสาททั้งสองมีความเข้มแข็งขึ้นหากเซลล์ประสาททั้งสองตื่นเต้น สิ่งนี้ถือได้ว่าเป็นการเสริมสร้างความเข้มแข็งของไซแนปส์ตามความสัมพันธ์ของระดับของเซลล์ประสาทที่ถูกกระตุ้นซึ่งเชื่อมต่อกันด้วยไซแนปส์ที่กำหนด ด้วยเหตุนี้ บางครั้งอัลกอริทึมการเรียนรู้ของ Hebb จึงถูกเรียกว่าอัลกอริธึมสหสัมพันธ์
แนวคิดของอัลกอริทึมแสดงออกมาด้วยความเท่าเทียมกันดังต่อไปนี้:
,
ที่ไหน
· ยี่(n-1)– ค่าเอาท์พุตของเซลล์ประสาท ฉันชั้น (n-1),
· คุณ(n)– ค่าเอาท์พุตของเซลล์ประสาท เจชั้น n;
· วิเศษ(t)และว ฉัน(ที-1) คือสัมประสิทธิ์การถ่วงน้ำหนักของไซแนปส์ที่เชื่อมต่อเซลล์ประสาทเหล่านี้ในการวนซ้ำ ทีและ ที-1ตามลำดับ;
· ก– สัมประสิทธิ์อัตราการเรียนรู้
นอกจากนี้ยังมีวิธีการเรียนรู้แบบฮิบเบียนแบบดิฟเฟอเรนเชียลซึ่งแสดงโดยสูตร
,(2)
ที่นี่ ใช่ ฉัน (n-1) (t)และ ใช่ ฉัน (n-1) (t-1)– ค่าเอาท์พุตของเซลล์ประสาท i ของเลเยอร์ n-1 ตามลำดับ ที่การวนซ้ำ t และ t-1
ใช่ เจ (n) (t)และ ใช่ เจ (n) (t-1)– เช่นเดียวกับเซลล์ประสาท เจชั้น n.
ดังที่เห็นได้จากสูตร (2) ไซแนปส์ที่เชื่อมต่อเซลล์ประสาทซึ่งเอาท์พุตมีการเปลี่ยนแปลงแบบไดนามิกมากที่สุดไปสู่การเพิ่มขึ้นจะเรียนรู้ได้ดีที่สุด
อัลกอริธึมการเรียนรู้ที่สมบูรณ์โดยใช้สูตรข้างต้นจะมีลักษณะดังนี้:
1. ในขั้นเริ่มต้น ค่าสัมประสิทธิ์การถ่วงน้ำหนักทั้งหมดจะถูกกำหนดค่าสุ่มจำนวนเล็กน้อย
2. ภาพอินพุตจะถูกส่งไปยังอินพุตของเครือข่าย และสัญญาณกระตุ้นจะถูกกระจายไปทั่วทุกเลเยอร์ตามหลักการของเครือข่ายฟีดฟอร์เวิร์ดแบบคลาสสิก นั่นคือ สำหรับเซลล์ประสาทแต่ละอัน จะมีการคำนวณผลรวมถ่วงน้ำหนักของอินพุต ซึ่งการเปิดใช้งาน ( ถ่ายโอน) จากนั้นจึงใช้ฟังก์ชันของเซลล์ประสาท ส่งผลให้ได้ค่าเอาต์พุต ยี่(n), ฉัน=0...ม ฉัน-1 ที่ไหน ม ฉัน– จำนวนเซลล์ประสาทในหนึ่งชั้น ฉัน; n=0...เอ็น-1,ก เอ็น– จำนวนเลเยอร์ในเครือข่าย
3. ขึ้นอยู่กับค่าเอาต์พุตที่ได้รับของเซลล์ประสาทตามสูตร (1) หรือ (2) ค่าสัมประสิทธิ์น้ำหนักจะเปลี่ยนไป
4. วนซ้ำตั้งแต่ขั้นตอนที่ 2 จนกระทั่งค่าเอาต์พุตเครือข่ายคงที่ตามความแม่นยำที่ระบุ การใช้วิธีใหม่ในการพิจารณาความสมบูรณ์ของการฝึกอบรมซึ่งแตกต่างจากที่ใช้สำหรับเครือข่าย backpropagation เกิดจากการที่ค่าไซแนปส์ที่สามารถปรับค่าได้นั้นไม่จำกัด
ในขั้นตอนที่สองของวงจร รูปภาพทั้งหมดจากชุดอินพุตจะถูกนำเสนอสลับกัน
ควรสังเกตว่าประเภทของการตอบสนองต่อรูปภาพอินพุตแต่ละคลาสไม่เป็นที่รู้จักล่วงหน้า และจะเป็นการรวมสถานะของเซลล์ประสาทในเลเยอร์เอาท์พุตโดยพลการ เนื่องจากการกระจายน้ำหนักแบบสุ่มในขั้นตอนการเริ่มต้น ในเวลาเดียวกัน เครือข่ายสามารถสรุปภาพที่คล้ายคลึงกันและจัดประเภทให้อยู่ในประเภทเดียวกันได้ การทดสอบเครือข่ายที่ได้รับการฝึกอบรมทำให้คุณสามารถกำหนดโทโพโลยีของคลาสในเลเยอร์เอาท์พุตได้ ในการนำการตอบสนองของเครือข่ายที่ได้รับการฝึกมาสู่การแสดงที่สะดวก คุณสามารถเสริมเครือข่ายด้วยเลเยอร์เดียวได้ ซึ่งจะต้องถูกบังคับให้แมปปฏิกิริยาเอาต์พุตของเครือข่ายตามอัลกอริทึมการฝึกอบรมของเพอร์เซปตรอนชั้นเดียว ลงในรูปภาพที่ต้องการ
ควรสังเกตว่าการเรียนรู้แบบไม่มีผู้ดูแลมีความอ่อนไหวต่อการเลือกพารามิเตอร์ที่เหมาะสมมากกว่าการเรียนรู้แบบมีผู้สอน ประการแรกคุณภาพของมันขึ้นอยู่กับค่าเริ่มต้นของไซแนปส์อย่างมาก ประการที่สอง การเรียนรู้มีความสำคัญต่อการเลือกขอบเขตการเรียนรู้และอัตราการเปลี่ยนแปลง และท้ายที่สุด ธรรมชาติของการเปลี่ยนแปลงของสัมประสิทธิ์การเรียนรู้นั้นมีความสำคัญมาก ในเรื่องนี้ ผู้ใช้มักจะต้องดำเนินการเบื้องต้นเพื่อเลือกพารามิเตอร์การฝึกอบรมเครือข่ายที่เหมาะสมที่สุด
แม้จะมีปัญหาในการใช้งานบ้าง แต่อัลกอริธึมการเรียนรู้แบบไม่มีผู้ดูแลก็พบการใช้งานที่แพร่หลายและประสบความสำเร็จ ในความเป็นจริง โครงข่ายประสาทเทียมที่ซับซ้อนที่สุดที่รู้จักในปัจจุบัน ได้แก่ cognitron และ neocognitron ยังทำงานตามอัลกอริธึมการเรียนรู้แบบไม่มีผู้ดูแลอีกด้วย พวกเขารับมือกับงานการรับรู้ภาพที่มีการเปลี่ยนแปลงตำแหน่ง สัญญาณรบกวน และการบิดเบือนรูปร่างได้เป็นอย่างดี อย่างไรก็ตาม นีโอคอกไนตรอนไม่สามารถรับมือกับงานนี้ได้เมื่อภาพถูกหมุนไปในมุมหนึ่ง
โดยสรุป เราสามารถพูดได้ว่าขณะนี้นักวิทยาศาสตร์กำลังค้นคว้าโครงข่ายประสาทเทียมและความเสถียรของการกำหนดค่าบางอย่าง แต่โครงข่ายประสาทเทียมไม่สามารถแก้ไขได้ทุกปัญหา แม้ว่าเซลล์ประสาทเทียมจะเป็นแบบจำลองของเซลล์ประสาทชีวภาพ แต่ก็ยังห่างไกลจากความสมบูรณ์แบบ และต้องอาศัยการทำงานที่สำคัญและการค้นพบใหม่ๆ ในสาขาปัญญาประดิษฐ์ โครงข่ายประสาทเทียมไม่สามารถเรียนรู้ได้เหมือนมนุษย์อย่างไรก็ตาม จากเนื้อหาข้างต้น คุณสามารถสร้างระบบในชีวิตจริงสำหรับการจดจำรูปแบบ การบีบอัดข้อมูล การควบคุมอัตโนมัติ การประเมินโดยผู้เชี่ยวชาญ และอื่นๆ อีกมากมาย
วรรณกรรม:
1. V.V. Kruglov, V.V. Borisov “ โครงข่ายประสาทเทียม”, 2545
2. Rumelhart D. E., Hinton G.E., Williams R.D. การเรียนรู้การทำซ้ำภายในโดยการแพร่กระจายข้อผิดพลาดในการประมวลผลแบบกระจายแบบขนาน – เคมบริจ: MA: สำนักพิมพ์ MIT, 1986. – 91 น.
การฝึกอบรมโครงข่ายประสาทเทียม
โครงข่ายประสาทเทียมถูกใช้เพื่อแสดงความรู้ แตกต่างจากการคำนวณทั่วไป การแสดงความรู้ในโครงข่ายประสาทเทียมจะค้นหาตามเนื้อหามากกว่าตามที่อยู่ของข้อมูลที่เก็บไว้ นอกจากนี้ การเป็นตัวแทนความรู้ในโครงข่ายประสาทเทียมจะดำเนินการผ่านการประมาณมากกว่าการโต้ตอบที่แน่นอน การแสดงความรู้ในโครงข่ายประสาทเทียมประกอบด้วยเครือข่าย น้ำหนักการเชื่อมต่อ และการตีความความหมายที่แนบมากับการเปิดใช้งานโหนด ตัวอย่างเช่น ในบริบทของการจำแนกประเภทการจัดการ โดยใช้โครงข่ายประสาทเทียมที่ได้รับการฝึกอบรม มีความเป็นไปได้ที่จะคาดการณ์ว่าลูกค้าจะเลือกผลิตภัณฑ์ใหม่โดยอิงตามข้อมูลตัวเลขเกี่ยวกับลูกค้า เช่น แบรนด์สุดท้ายที่ซื้อ ความสนใจในผลิตภัณฑ์ก่อนการสัมผัส โอกาสในการเปิดเผยเพิ่มเติมและความสนใจในสิ่งนั้น ตัวระบุปริมาณแอตทริบิวต์เหล่านี้เป็นอินพุตไปยังโครงข่ายประสาทเทียมที่ได้รับการฝึกอบรม การเปิดใช้งาน "+1" ที่ได้รับจากโครงข่ายประสาทเทียมอาจบ่งบอกว่าลูกค้าจะเลือกผลิตภัณฑ์ใหม่และ "-1" - ในทางกลับกัน
ความรู้ทั่วไปเกี่ยวกับโครงข่ายประสาทเทียมทำได้โดยการฝึกอบรม กระบวนการเรียนรู้ในโครงข่ายประสาทเทียมช่วยกระตุ้นรูปแบบการเปิดใช้งานที่ต้องการและบล็อกรูปแบบที่ไม่ต้องการตามข้อมูลที่มีอยู่ เพื่อให้บรรลุถึงความรู้ทั่วไปในโครงข่ายประสาทเทียมจึงมีการพัฒนาอัลกอริธึมการเรียนรู้ ฟังก์ชั่นข้อผิดพลาดที่กำหนดที่เอาต์พุตของโครงข่ายประสาทเทียมหรือฟังก์ชันพลังงานที่กำหนดเมื่อเปิดใช้งานองค์ประกอบเครือข่ายจะกำหนดลักษณะของโครงข่ายประสาทเทียมในการสรุปความรู้ทั่วไป ชุดข้อมูลการฝึกอบรมในกรณีนี้ควรประกอบด้วยตัวอย่างการนำเสนอความรู้ที่ควรได้รับการฝึกอบรมบนโครงข่ายประสาทเทียม อัลกอริธึมการเรียนรู้ทำงานโดยการเปลี่ยนแปลงน้ำหนัก (เช่น ความแรงของการเชื่อมต่อระหว่างโหนด) เอาต์พุตของโครงข่ายประสาทเทียม หรือโครงสร้างของโครงข่ายประสาทเทียม โดยมีเป้าหมายเพื่อให้เกิดข้อผิดพลาดหรือพลังงานน้อยที่สุดตามข้อมูลการฝึก
มีกระบวนทัศน์การเรียนรู้จำนวนมากในระบบโครงข่ายประสาทเทียม การเรียนรู้แบบมีผู้สอน (การเรียนรู้แบบมีผู้สอน) และการเรียนรู้แบบไม่มีผู้ดูแล (การเรียนรู้แบบไม่มีผู้ดูแลหรือการเรียนรู้ด้วยตนเอง) เป็นสองกระบวนทัศน์หลักที่ใช้กันทั่วไปในการออกแบบอัลกอริทึมการเรียนรู้ นอกจากนี้ยังมีกระบวนทัศน์แบบผสมผสาน
ในกระบวนทัศน์การเรียนรู้ กับอาจารย์โครงข่ายประสาทเทียมมีคำตอบที่ถูกต้อง (เอาต์พุตเครือข่าย) สำหรับแต่ละตัวอย่างอินพุต กระบวนการฝึกอบรมพยายามลด "ระยะห่าง" ระหว่างเอาต์พุตจริงและเอาต์พุตที่ต้องการของโครงข่ายประสาทเทียม น้ำหนักจะถูกปรับเพื่อให้เครือข่ายสร้างคำตอบที่ใกล้เคียงกับคำตอบที่ถูกต้องที่สุดเท่าที่จะเป็นไปได้ การเรียนรู้แบบมีผู้สอนเวอร์ชันปรับปรุงจะถือว่ามีเพียงการประเมินความถูกต้องของเอาต์พุตโครงข่ายประสาทเทียมที่สำคัญเท่านั้นที่ทราบ แต่ไม่ใช่ค่าเอาต์พุตที่ถูกต้องด้วยตนเอง
สิ่งที่ตรงกันข้ามกับการเรียนรู้แบบมีผู้สอนคือการสอน โดยไม่มีครู- ต่างจากการเรียนรู้แบบมีผู้สอนไม่มีชุดนิรนัยของค่าผลลัพธ์ที่ต้องการและไม่จำเป็นต้องมีความรู้เกี่ยวกับคำตอบที่ถูกต้องสำหรับตัวอย่างของชุดการฝึกอบรมแต่ละชุด เมื่อใช้กระบวนทัศน์ดังกล่าว จะมีการใช้รูปแบบการป้อนข้อมูลหลายรูปแบบ สันนิษฐานว่าในระหว่างกระบวนการฝึกอบรม โครงข่ายประสาทเทียมจะตรวจจับคุณสมบัติที่สำคัญของอินพุต (โครงสร้างภายในของข้อมูลหรือความสัมพันธ์ระหว่างตัวอย่างในระบบข้อมูลถูกเปิดเผย ซึ่งทำให้สามารถกระจายตัวอย่างเป็นหมวดหมู่ได้) โครงข่ายประสาทเทียมจะต้องพัฒนาการนำเสนอสิ่งเร้าอินพุตของตนเองโดยไม่ได้รับความช่วยเหลือจากครู
ที่ ผสมในการฝึกอบรม น้ำหนักส่วนหนึ่งถูกกำหนดโดยการเรียนรู้แบบมีผู้สอน ในขณะที่ส่วนที่เหลือได้มาจากการเรียนรู้ด้วยตนเอง
ทฤษฎีการเรียนรู้พิจารณาคุณสมบัติพื้นฐานสามประการที่เกี่ยวข้องกับการเรียนรู้ตามตัวอย่าง: ความจุ ความซับซ้อนของตัวอย่าง และความซับซ้อนในการคำนวณ.
ความจุหมายถึงจำนวนตัวอย่างที่เครือข่ายสามารถจดจำได้ และฟังก์ชันและขอบเขตการตัดสินใจใดบ้างที่สามารถสร้างได้
ความซับซ้อนของตัวอย่างจะกำหนดจำนวนตัวอย่างการฝึกอบรมที่จำเป็นเพื่อให้บรรลุความสามารถในการวางนัยทั่วไปของเครือข่าย ตัวอย่างที่น้อยเกินไปอาจทำให้เครือข่าย "ถูกฝึกมากเกินไป" ซึ่งทำงานได้ดีกับตัวอย่างจากชุดการฝึก แต่ทำได้ไม่ดีในตัวอย่างการทดสอบที่มีการกระจายทางสถิติเดียวกัน
กฎการเรียนรู้มี 4 ประเภทหลัก: การแก้ไขข้อผิดพลาด, เครื่อง Boltzmann, กฎของ Hebb และการเรียนรู้แบบแข่งขัน
กฎการแก้ไขข้อผิดพลาดในการเรียนรู้แบบมีผู้สอน แต่ละตัวอย่างอินพุตจะได้รับเอาต์พุตที่ต้องการ d เอาต์พุตเครือข่ายจริง y อาจไม่ตรงกับที่ต้องการ หลักการแก้ไขข้อผิดพลาดระหว่างการฝึกคือการใช้สัญญาณ (d-y) เพื่อปรับเปลี่ยนตุ้มน้ำหนัก เพื่อให้แน่ใจว่าข้อผิดพลาดจะค่อยๆ ลดลง การเรียนรู้เกิดขึ้นเมื่อเพอร์เซปตรอนทำผิดพลาดเท่านั้น ทราบการปรับเปลี่ยนอัลกอริธึมการเรียนรู้หลายอย่าง
การฝึกซ้อมของโบลทซ์มันน์แสดงถึงกฎการเรียนรู้แบบสุ่มที่ตามมาจากหลักการทางทฤษฎีสารสนเทศและอุณหพลศาสตร์ เป้าหมายของการฝึกอบรม Boltzmann คือการปรับน้ำหนักเพื่อให้สถานะของเซลล์ประสาทที่มองเห็นเป็นไปตามการกระจายความน่าจะเป็นที่ต้องการ การเรียนรู้ของ Boltzmann ถือได้ว่าเป็นกรณีพิเศษของการแก้ไขข้อผิดพลาด ซึ่งข้อผิดพลาดถูกเข้าใจว่าเป็นความแตกต่างของความสัมพันธ์ของรัฐในทั้งสองโหมด
กฎของเฮบบ์กฎการเรียนรู้ที่เก่าแก่ที่สุดคือหลักการเรียนรู้แบบฮิบเบียน Hebb อาศัยการสังเกตทางสรีรวิทยาต่อไปนี้: หากเซลล์ประสาททั้งสองด้านของไซแนปส์ส่งสัญญาณพร้อมกันและสม่ำเสมอ ความแรงของการเชื่อมต่อไซแนปส์จะเพิ่มขึ้น คุณลักษณะที่สำคัญของกฎข้อนี้คือการเปลี่ยนแปลงน้ำหนักซินแนปติกขึ้นอยู่กับกิจกรรมของเซลล์ประสาทที่เชื่อมต่อกันด้วยไซแนปส์ที่กำหนดเท่านั้น สิ่งนี้ช่วยลดความยุ่งยากในห่วงโซ่การเรียนรู้ในการใช้งาน VLSI อย่างมาก
การฝึกซ้อมผ่านการแข่งขันต่างจากการเรียนรู้แบบ Hebbian ซึ่งนิวรอนเอาท์พุตจำนวนมากสามารถยิงพร้อมกันได้ ในการเรียนรู้แบบแข่งขัน นิวรอนเอาท์พุตจะแข่งขันกันเพื่อยิง ปรากฏการณ์นี้เรียกว่ากฎผู้ชนะ-รับทั้งหมด การเรียนรู้ที่คล้ายกันเกิดขึ้นในโครงข่ายประสาทเทียมทางชีววิทยา การเรียนรู้ผ่านการแข่งขันช่วยให้สามารถจัดกลุ่มข้อมูลอินพุตได้ ตัวอย่างที่คล้ายกันจะถูกจัดกลุ่มตามเครือข่ายตามความสัมพันธ์และแสดงเป็นองค์ประกอบเดียว
ในระหว่างการฝึก จะมีการปรับเปลี่ยนเฉพาะน้ำหนักของเซลล์ประสาทที่ "ชนะ" เท่านั้น ผลของกฎนี้ทำได้โดยการเปลี่ยนตัวอย่างที่เก็บไว้ในเครือข่าย (เวกเตอร์ของน้ำหนักการเชื่อมต่อของเซลล์ประสาทที่ชนะ) ซึ่งมันจะเข้าใกล้ตัวอย่างอินพุตมากขึ้นเล็กน้อย ในรูป รูปที่ 3 แสดงภาพเรขาคณิตของการฝึกซ้อมโดยใช้วิธีการแข่งขัน เวกเตอร์อินพุตจะถูกทำให้เป็นมาตรฐานและแสดงด้วยจุดบนพื้นผิวของทรงกลม เวกเตอร์น้ำหนักสำหรับเซลล์ประสาททั้งสามนั้นเริ่มต้นด้วยค่าสุ่ม ค่าเริ่มต้นและค่าสุดท้ายหลังการฝึกจะมีเครื่องหมาย X ในรูป 3a และ 3b ตามลำดับ ตัวอย่างแต่ละกลุ่มจากทั้งสามกลุ่มถูกตรวจพบโดยเซลล์ประสาทเอาท์พุตตัวใดตัวหนึ่ง ซึ่งมีเวกเตอร์น้ำหนักถูกปรับไปที่จุดศูนย์ถ่วงของกลุ่มที่ตรวจพบ
ข้าว. เอ็น.ตัวอย่างการฝึกแบบแข่งขัน: (ก) ก่อนการฝึก; (ข) หลังการฝึกอบรม
สังเกตได้ว่าเครือข่ายไม่เคยหยุดการเรียนรู้ เว้นแต่พารามิเตอร์อัตราการเรียนรู้จะเป็น 0 ตัวอย่างอินพุตบางส่วนอาจเปิดใช้งานเซลล์ประสาทเอาท์พุตอื่นในการวนซ้ำครั้งต่อๆ ไปในกระบวนการเรียนรู้ สิ่งนี้ทำให้เกิดคำถามเกี่ยวกับความยั่งยืนของระบบการฝึกอบรม ระบบจะถือว่ามีเสถียรภาพ หากไม่มีตัวอย่างใดในตัวอย่างการฝึกอบรมที่เปลี่ยนแปลงความเป็นสมาชิกหมวดหมู่หลังจากทำซ้ำกระบวนการฝึกอบรมในจำนวนที่จำกัด วิธีหนึ่งในการบรรลุความมั่นคงคือการค่อยๆ ลดพารามิเตอร์อัตราการเรียนรู้ลงเป็น 0 อย่างไรก็ตาม การยับยั้งการเรียนรู้แบบประดิษฐ์นี้ทำให้เกิดปัญหาอีกอย่างหนึ่งที่เรียกว่าความเป็นพลาสติก ซึ่งเกี่ยวข้องกับความสามารถในการปรับตัวเข้ากับข้อมูลใหม่ คุณลักษณะของการเรียนรู้แบบแข่งขันเหล่านี้เรียกว่าภาวะที่กลืนไม่เข้าคายไม่ออกด้านเสถียรภาพและพลาสติกของกรอสเบิร์ก
ตารางที่ 2 นำเสนออัลกอริธึมการเรียนรู้ต่างๆ และสถาปัตยกรรมเครือข่ายที่เกี่ยวข้อง (รายการไม่ครบถ้วนสมบูรณ์) คอลัมน์สุดท้ายแสดงรายการงานที่แต่ละอัลกอริทึมสามารถใช้ได้ อัลกอริธึมการเรียนรู้แต่ละรายการมุ่งเน้นไปที่เครือข่ายของสถาปัตยกรรมเฉพาะและมีไว้สำหรับงานที่มีระดับจำกัด นอกเหนือจากที่กล่าวถึงแล้ว ควรกล่าวถึงอัลกอริธึมอื่นๆ บ้าง:
อดาลีน และมาดาลีน
การวิเคราะห์จำแนกเชิงเส้น], การฉายภาพแซมมอน,
วิธีการ/การวิเคราะห์องค์ประกอบหลัก
ตารางที่ 2. อัลกอริธึมการเรียนรู้ที่รู้จัก
กระบวนทัศน์ | กฎการเรียนรู้ | สถาปัตยกรรม | อัลกอริทึมการเรียนรู้ | งาน |
กับอาจารย์ | การแก้ไขข้อผิดพลาด | เพอร์เซปตรอนชั้นเดียวและหลายชั้น | อัลกอริธึมการฝึกอบรม Perceptron Backpropagation Adaline และ Madaline | |
โบลต์ซมันน์ | กำเริบ | อัลกอริธึมการเรียนรู้ของ Boltzmann | การจำแนกประเภทของภาพ | |
เฮบบ์ | การวิเคราะห์จำแนกเชิงเส้น | การจำแนกรูปแบบการวิเคราะห์ข้อมูล | ||
การแข่งขัน | การแข่งขัน | การหาปริมาณเวกเตอร์ | การจัดหมวดหมู่ภายในคลาสการบีบอัดข้อมูล | |
เครือข่ายศิลปะ | ARTแผนที่ | การจำแนกประเภทของภาพ | ||
โดยไม่มีครู | การแก้ไขข้อผิดพลาด | การขยายพันธุ์โดยตรงหลายชั้น | การฉายภาพของแซมมอน | การจัดหมวดหมู่ภายในคลาสการวิเคราะห์ข้อมูล |
เฮบบ์ | การจำหน่ายหรือการแข่งขันโดยตรง | การวิเคราะห์องค์ประกอบหลัก | การวิเคราะห์ข้อมูล การบีบอัดข้อมูล | |
เครือข่ายฮอปฟิลด์ | การฝึกความจำแบบเชื่อมโยง | หน่วยความจำเชื่อมโยง | ||
การแข่งขัน | การแข่งขัน | การหาปริมาณเวกเตอร์ | การจัดหมวดหมู่การบีบอัดข้อมูล | |
ซอม โคโฮเนน | ซอม โคโฮเนน | การวิเคราะห์ข้อมูลการจัดหมวดหมู่ | ||
เครือข่ายศิลปะ | ART1, ART2 | การจัดหมวดหมู่ | ||
ผสม | การแก้ไขข้อผิดพลาดและการแข่งขัน | เครือข่ายอาร์บีเอฟ | อัลกอริทึมการเรียนรู้ RBF | การจำแนกประเภทของภาพ ฟังก์ชั่นการประมาณ การทำนาย การควบคุม |