อัลกอริทึมสำหรับการฝึกอบรมโครงข่ายประสาทเทียม วิธีการฝึกอบรมโครงข่ายประสาทเทียม

พารามิเตอร์ภายในสำหรับงานเฉพาะ

อัลกอริธึมการทำงาน โครงข่ายประสาทเทียมเป็นการวนซ้ำ เรียกว่าขั้นตอนของมัน ยุคสมัยหรือรอบ

ยุค- การวนซ้ำหนึ่งครั้งในกระบวนการเรียนรู้ รวมถึงการนำเสนอตัวอย่างทั้งหมดจากชุดการฝึก และอาจรวมถึงการตรวจสอบคุณภาพของการฝึกในชุดควบคุม

กระบวนการเรียนรู้ดำเนินการตามตัวอย่างการฝึกอบรม

ชุดฝึกซ้อมรวมค่าอินพุตและค่าเอาต์พุตที่สอดคล้องกันของชุดข้อมูล ในระหว่างการฝึก โครงข่ายประสาทเทียมจะค้นหาการพึ่งพาบางอย่างระหว่างฟิลด์เอาท์พุตและฟิลด์อินพุต

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

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

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

นักวิเคราะห์จะต้องกำหนดจำนวนเลเยอร์ในเครือข่ายและจำนวนเซลล์ประสาทในแต่ละเลเยอร์

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

ข้อผิดพลาดในการฝึกอบรมสำหรับโครงข่ายประสาทเทียมที่สร้างขึ้นคำนวณโดยการเปรียบเทียบค่าเอาต์พุตและเป้าหมาย (ที่ต้องการ) ฟังก์ชันข้อผิดพลาดเกิดขึ้นจากผลต่างที่เกิดขึ้น

ฟังก์ชั่นข้อผิดพลาด- นี่คือฟังก์ชันวัตถุประสงค์ที่ต้องลดขนาดให้เหลือน้อยที่สุดในกระบวนการควบคุมการฝึกอบรมของโครงข่ายประสาทเทียม

เมื่อใช้ฟังก์ชันข้อผิดพลาด คุณสามารถประเมินคุณภาพของโครงข่ายประสาทเทียมระหว่างการฝึกได้ ตัวอย่างเช่น มักใช้ผลรวมของข้อผิดพลาดกำลังสอง

คุณภาพของการฝึกอบรมโครงข่ายประสาทเทียมจะกำหนดความสามารถในการแก้ไขงานที่ได้รับมอบหมาย

การฝึกอบรมโครงข่ายประสาทเทียม

เมื่อฝึกโครงข่ายประสาทเทียม มักจะเกิดปัญหาร้ายแรงที่เรียกว่าปัญหาการโอเวอร์ฟิต

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

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 การจำแนกประเภทของภาพ ฟังก์ชั่นการประมาณ การทำนาย การควบคุม