ในการเรียนรู้ของเครื่อง การรับรู้คืออัลกอริธึมการเรียนรู้ภายใต้การดูแลสำหรับตัวแยกประเภทไบนารี มันมักจะถูกเรียกว่าการรับรู้ ตัวแยกประเภทไบนารีเป็นฟังก์ชันที่สามารถตัดสินใจได้ว่าอินพุตซึ่งแสดงโดยเวกเตอร์ของตัวเลขนั้นเป็นของคลาสเฉพาะบางคลาสหรือไม่ นี่คือประเภทของตัวแยกประเภทเชิงเส้น นั่นคือ อัลกอริธึมการจำแนกประเภทที่ทำการคาดการณ์ตามฟังก์ชันตัวทำนายเชิงเส้นที่รวมชุดของน้ำหนักกับเวกเตอร์คุณลักษณะ
ในช่วงไม่กี่ปีที่ผ่านมา โครงข่ายประสาทเทียมได้รับความสนใจเนื่องจากความก้าวหน้าในการเรียนรู้เชิงลึก แต่โครงข่ายประสาทเทียมคืออะไรและประกอบด้วยอะไร
พบกับ Perceptron
ในบทความนี้ เราจะมาดูภาพรวมของโครงข่ายประสาทเทียมโดยทั่วไป จากนั้นดูที่เซลล์ประสาทตัวเดียว และสุดท้าย (นี่คือส่วนการเข้ารหัส) เราจะนำแบบจำลองพื้นฐานที่สุดของสิ่งประดิษฐ์ เซลล์ประสาท การรับรู้ และจำแนกจุดของมันออกเป็นเครื่องบิน
คุณเคยสงสัยไหมว่าทำไมงานต่างๆ ที่ง่ายสำหรับคนๆ หนึ่ง แต่กลับยากอย่างเหลือเชื่อสำหรับคอมพิวเตอร์? โครงข่ายประสาทเทียม (ANN สำหรับระยะสั้น) ได้รับแรงบันดาลใจจากระบบประสาทส่วนกลางของมนุษย์ เช่นเดียวกับคู่ขนานทางชีววิทยา ANN สร้างขึ้นจากองค์ประกอบการประมวลผลสัญญาณอย่างง่ายที่รวมเป็นกริดขนาดใหญ่
โครงข่ายประสาทเทียมต้องเรียนรู้
โครงข่ายประสาทเทียมไม่สามารถ "ตั้งโปรแกรม" หรือ "ปรับ" ให้ทำงานได้ตามที่ตั้งใจไว้ซึ่งต่างจากอัลกอริธึมทั่วไป เช่นเดียวกับสมองของมนุษย์ พวกเขาต้องเรียนรู้ที่จะทำภารกิจให้สำเร็จ พูดคร่าวๆ มีสามกลยุทธ์ในการเรียนรู้
วิธีที่ง่ายที่สุดสามารถใช้ได้หากมีกรณีทดสอบ (ใหญ่พอ) พร้อมผลลัพธ์ที่ทราบ จากนั้นการฝึกอบรมจะเป็นดังนี้: ประมวลผลชุดข้อมูลหนึ่งชุด เปรียบเทียบผลลัพธ์กับผลลัพธ์ที่ทราบ ตั้งค่าเครือข่ายแล้วลองอีกครั้ง นี่คือกลยุทธ์การเรียนรู้ที่เราจะใช้ที่นี่
การเรียนรู้แบบไม่มีผู้ดูแล
มีประโยชน์หากไม่มีข้อมูลการทดสอบ และหากเป็นไปได้ที่จะได้รับฟังก์ชันต้นทุนจากพฤติกรรมที่ต้องการ ฟังก์ชันต้นทุนจะบอกโครงข่ายประสาทว่าห่างจากเป้าหมายมากแค่ไหน เครือข่ายสามารถปรับพารามิเตอร์ได้ทันที โดยทำงานกับข้อมูลจริง
เสริมการเรียนรู้
วิธี "แครอทกับแท่ง" สามารถใช้ได้หากโครงข่ายประสาทเทียมสร้างการกระทำอย่างต่อเนื่อง เมื่อเวลาผ่านไป เครือข่ายเรียนรู้ที่จะชอบการกระทำที่ถูกต้องและหลีกเลี่ยงการกระทำที่ไม่ถูกต้อง
เอาล่ะ เรามารู้เรื่องกันเถอะธรรมชาติของโครงข่ายประสาทเทียม แต่มันทำมาจากอะไรกันแน่? ถ้าเราเปิดฝาดูข้างในจะดูอะไร?
เซลล์ประสาทเป็นส่วนสำคัญของโครงข่ายประสาทเทียม องค์ประกอบหลักของโครงข่ายประสาทเทียมคือเซลล์ประสาทเทียม พวกมันไม่เพียงแต่ได้รับการตั้งชื่อตามคู่หูทางชีววิทยาเท่านั้น แต่ยังถูกจำลองตามพฤติกรรมของเซลล์ประสาทในสมองของเราด้วย
ชีววิทยากับเทคโนโลยี
เช่นเดียวกับที่เซลล์ประสาทชีวภาพมีเดนไดรต์เพื่อรับสัญญาณ ร่างกายของเซลล์เพื่อประมวลผล และแอกซอนเพื่อส่งสัญญาณไปยังเซลล์ประสาทอื่น ๆ เซลล์ประสาทเทียมมีช่องสัญญาณอินพุตหลายช่อง ขั้นตอนการประมวลผล และหนึ่งเอาต์พุตที่สามารถทำได้ แตกแขนงออกไปอีกหลายๆ เซลล์ เซลล์ประสาทเทียม
เราทำอะไรที่เป็นประโยชน์กับ Perceptron ตัวเดียวได้ไหม? มีกลุ่มของปัญหาที่รับรู้เพียงคนเดียวสามารถแก้ไขได้ พิจารณาเวกเตอร์อินพุตเป็นพิกัดจุด สำหรับเวกเตอร์ที่มีองค์ประกอบ n จุดนี้จะอยู่ในปริภูมิ n เพื่อทำให้ชีวิตง่ายขึ้น (และโค้ดด้านล่าง) สมมติว่าเป็น 2D เหมือนกระดาษ
ต่อไป ลองนึกภาพว่าเราสุ่มจุดบนระนาบนี้แล้วแยกออกเป็นสองชุดโดยลากเส้นตรงข้ามกระดาษ เส้นนี้แบ่งจุดออกเป็นสองชุด ชุดหนึ่งอยู่เหนือและอีกชุดหนึ่งอยู่ใต้เส้น ทั้งสองชุดจะเรียกว่าแยกเป็นเส้นตรง
หนึ่ง perceptron ไม่ว่าจะดูธรรมดาแค่ไหน ก็สามารถรู้ว่าบรรทัดนี้อยู่ที่ไหน และเมื่อฝึกเสร็จแล้ว ก็สามารถระบุได้ว่าจุดที่กำหนดอยู่ด้านบนหรือด้านล่างบรรทัดนี้
ประวัติศาสตร์สิ่งประดิษฐ์
อัลกอริทึมสำหรับวิธีนี้ถูกประดิษฐ์ขึ้นในปี 2500 ที่ Cornell Aviation Laboratory โดย Frank Rosenblatt (มักตั้งชื่อตามเขา) ซึ่งได้รับทุนสนับสนุนจากสำนักงานวิจัยกองทัพเรือสหรัฐฯ Perceptron ตั้งใจให้เป็นเครื่องจักร ไม่ใช่โปรแกรม และแม้ว่าการใช้งานครั้งแรกจะอยู่ในซอฟต์แวร์สำหรับ IBM 704 แต่ต่อมาได้มีการใช้งาน Perceptron บนฮาร์ดแวร์ที่สร้างขึ้นเองในชื่อ "Mark 1 Perceptron" เครื่องนี้ออกแบบมาเพื่อการจดจำภาพ: มีโฟโตเซลล์ 400 เซลล์ที่สุ่มเชื่อมต่อกับเซลล์ประสาท ตุ้มน้ำหนักถูกเข้ารหัสในโพเทนชิโอมิเตอร์ และการอัปเดตน้ำหนักระหว่างการฝึกทำได้โดยมอเตอร์ไฟฟ้า
ในงานแถลงข่าวที่จัดโดยกองทัพเรือสหรัฐฯ ในปี 1958 Rosenblatt ได้แถลงเกี่ยวกับการรับรู้ที่ก่อให้เกิดการโต้เถียงกันอย่างดุเดือดในหมู่ชุมชน AI รุ่นใหม่ ตามคำกล่าวอ้างของ Rosenblatt หนังสือพิมพ์ New York Times รายงานว่า Perceptron เป็น "คอมพิวเตอร์อิเล็กทรอนิกส์ของตัวอ่อนที่กองทัพเรือคาดหวังให้เดิน พูด มองเห็น เขียน ทำซ้ำ และตระหนักถึงการมีอยู่ของมัน"
การพัฒนาต่อไป
แม้ว่าในตอนแรก Perceptron จะดูมีความหวัง แต่ก็ได้รับการพิสูจน์อย่างรวดเร็วว่าไม่สามารถฝึก Perceptron ให้จดจำรูปแบบต่างๆ ได้หลายรูปแบบ สิ่งนี้นำไปสู่ความซบเซาในด้านการวิจัยด้วยโครงข่ายประสาท perceptron เป็นเวลาหลายปีก่อนที่จะได้รับการยอมรับว่าโครงข่ายประสาทเทียมแบบ feed-forward ที่มีสองชั้นขึ้นไป (เรียกอีกอย่างว่าเพอร์เซปตรอนแบบหลายชั้น) มีพลังในการประมวลผลมากกว่าเพอร์เซปตรอนแบบชั้นเดียว (เรียกอีกอย่างว่าเพอร์เซปตรอนแบบชั้นเดียว) การรับรู้ชั้นเดียวสามารถศึกษาโครงสร้างที่แยกออกได้เชิงเส้นเท่านั้น ในปี 1969 หนังสือที่มีชื่อเสียง "Perceptrons" โดย Marvin Minsky และ Seymour Papert แสดงให้เห็นว่าเครือข่ายคลาสเหล่านี้ไม่สามารถเรียนรู้ฟังก์ชัน XOR ได้ อย่างไรก็ตาม สิ่งนี้ใช้ไม่ได้กับฟังก์ชันการจำแนกประเภทที่ไม่เป็นเชิงเส้นซึ่งใช้ใน perceptron แบบชั้นเดียวได้
การใช้ฟังก์ชันดังกล่าวขยายขีดความสามารถของ perceptron ซึ่งรวมถึงการใช้งานฟังก์ชัน XOR มักสันนิษฐาน (ไม่ถูกต้อง) ว่าพวกเขายังสันนิษฐานด้วยว่าผลลัพธ์ที่คล้ายคลึงกันจะคงอยู่สำหรับเครือข่ายเพอร์เซปตรอนแบบหลายชั้น อย่างไรก็ตาม นี่ไม่ใช่กรณี เนื่องจากทั้ง Minsky และ Papert รู้อยู่แล้วว่า Perceptron แบบหลายชั้นสามารถสร้างฟังก์ชัน XOR ได้ สามปีต่อมา Steven Grossberg ได้ตีพิมพ์ชุดเอกสารที่นำเสนอเครือข่ายที่สามารถสร้างแบบจำลองฟังก์ชันดิฟเฟอเรนเชียล ฟังก์ชันเพิ่มคอนทราสต์ และฟังก์ชัน XOR
ผลงานตีพิมพ์ในปี 2515 และ 2516 อย่างไรก็ตาม ข้อความ Minsky/Papert ที่มักถูกมองข้ามทำให้ความสนใจและเงินทุนวิจัยลดลงอย่างมีนัยสำคัญด้วยการรับรู้เครือข่ายประสาทเทียม อีกสิบปีผ่านไป ก่อนที่การวิจัยโครงข่ายประสาทจะฟื้นขึ้นมาอีกครั้งในช่วงทศวรรษ 1980
คุณสมบัติ
Perceptron Kernel Algorithm ถูกนำมาใช้ในปี 1964 โดย Yzerman et al.โมริและโรสตามิซาเดห์ (2013) ผู้ขยายผลก่อนหน้าและมอบขอบเขตใหม่ L1.
Perceptron เป็นรูปแบบที่เรียบง่ายของเซลล์ประสาททางชีววิทยา ในขณะที่ความซับซ้อนของแบบจำลองทางประสาททางชีวภาพมักจะจำเป็นต่อการทำความเข้าใจพฤติกรรมของระบบประสาทอย่างถ่องแท้ การวิจัยแสดงให้เห็นว่าแบบจำลองเชิงเส้นคล้ายการรับรู้ของเพอร์เซปตรอนสามารถกระตุ้นพฤติกรรมบางอย่างที่เห็นในเซลล์ประสาทจริง
Perceptron เป็นตัวแยกประเภทเชิงเส้น ดังนั้นมันจะไม่เข้าสู่สถานะที่มีอินพุตเวกเตอร์ทั้งหมดที่จัดประเภทอย่างถูกต้องหากชุดการฝึก D ไม่แยกเชิงเส้นตรง กล่าวคือ ถ้าตัวอย่างเชิงบวกไม่สามารถแยกออกจากตัวอย่างเชิงลบโดยไฮเปอร์เพลน ในกรณีนี้ ไม่มีวิธีแก้ปัญหาแบบ "โดยประมาณ" ทีละขั้นตอนผ่านอัลกอริทึมการเรียนรู้มาตรฐาน แต่การเรียนรู้จะล้มเหลวทั้งหมดแทน ดังนั้น หากการแยกแยะเชิงเส้นตรงของชุดการฝึกไม่ทราบถึงระดับความสำคัญ ควรใช้หนึ่งในตัวเลือกการฝึกด้านล่าง
อัลกอริทึมกระเป๋า
อัลกอริธึมกระเป๋าวงล้อช่วยแก้ปัญหาความคงทนในการเรียนรู้ของการรับรู้โดยการรักษาทางออกที่ดีที่สุดเท่าที่พบ "ในกระเป๋า" จากนั้นอัลกอริธึมพ็อกเก็ตจะส่งคืนโซลูชันในกระเป๋ามากกว่าโซลูชันสุดท้าย นอกจากนี้ยังสามารถใช้สำหรับชุดข้อมูลที่ไม่สามารถแยกออกได้ โดยมีเป้าหมายเพื่อค้นหา Perceptron ที่มีการจัดประเภทที่ไม่ถูกต้องเล็กน้อย อย่างไรก็ตาม โซลูชันเหล่านี้ดูสุ่มและด้วยเหตุนี้ อัลกอริธึมพ็อกเก็ตจึงไม่เหมาะกับโซลูชันเหล่านี้ค่อยๆ ในระหว่างการฝึกอบรม และไม่รับประกันว่าจะตรวจพบได้ในขั้นตอนการฝึกจำนวนหนึ่ง
อัลกอริธึมแม็กซ์โอเวอร์
อัลกอริธึมของ Maxover นั้น "แข็งแกร่ง" ในแง่ที่ว่ามันจะมาบรรจบกันโดยไม่คำนึงถึงความรู้เรื่องการแยกตัวเชิงเส้นของชุดข้อมูล ในกรณีของการแยกเชิงเส้น วิธีนี้จะช่วยแก้ปัญหาการเรียนรู้ สามารถเลือกได้แม้ว่าจะมีความเสถียรที่เหมาะสมที่สุด (ระยะขอบสูงสุดระหว่างชั้นเรียน) สำหรับชุดข้อมูลที่ไม่สามารถแยกออกได้ โซลูชันที่มีการจัดประเภทที่ไม่ถูกต้องจำนวนเล็กน้อยจะถูกส่งคืน ในทุกกรณี อัลกอริธึมจะค่อยๆ เข้าใกล้วิธีแก้ปัญหาในระหว่างกระบวนการเรียนรู้ โดยไม่จำสถานะก่อนหน้าและไม่มีการสุ่มข้าม การบรรจบกันอยู่ในความเหมาะสมระดับโลกสำหรับชุดข้อมูลที่ใช้ร่วมกันและความเหมาะสมในพื้นที่สำหรับชุดข้อมูลที่ไม่สามารถแยกออกได้
โหวต Perceptron
อัลกอริทึม Perceptron ที่ได้รับการโหวตเป็นตัวแปรที่ใช้ Perceptron แบบถ่วงน้ำหนักหลายตัว อัลกอริทึมจะเริ่มต้น perceptron ใหม่ทุกครั้งที่มีการจัดประเภทตัวอย่างผิด โดยเริ่มต้นเวกเตอร์น้ำหนักด้วยน้ำหนักสุดท้ายของ perceptron ล่าสุด นอกจากนี้ Perceptron แต่ละตัวจะได้รับน้ำหนักที่แตกต่างกันตามจำนวนตัวอย่างที่พวกเขาจำแนกอย่างถูกต้องก่อนที่จะจำแนกผิด และในตอนท้ายผลลัพธ์จะเป็นการให้คะแนนแบบถ่วงน้ำหนักทั่วทั้ง Perceptron
แอปพลิเคชัน
ในปัญหาที่แยกออกได้ การฝึกอบรม perceptron ยังสามารถมุ่งเป้าไปที่การค้นหาขอบเขตการแยกที่ใหญ่ที่สุดระหว่างชั้นเรียน ที่เรียกว่าสามารถกำหนด perceptron ความเสถียรที่เหมาะสมได้โดยใช้รูปแบบการฝึกซ้ำและการเพิ่มประสิทธิภาพ เช่น อัลกอริทึม Min-Over หรือ AdaTron AdaTron ใช้ประโยชน์จากข้อเท็จจริงที่ว่าปัญหาการปรับกำลังสองให้เหมาะสมนั้นมีความนูน เพอร์เซปตรอนความเสถียรที่เหมาะสมที่สุด ร่วมกับเคล็ดลับเคอร์เนล เป็นพื้นฐานแนวคิดของเครื่องเวกเตอร์สนับสนุน
ทางเลือก
อีกวิธีในการแก้ปัญหาที่ไม่เป็นเชิงเส้นโดยไม่ต้องใช้หลายเลเยอร์คือการใช้เครือข่ายที่มีลำดับสูงกว่า (บล็อก sigma-pi) ในเครือข่ายประเภทนี้ แต่ละองค์ประกอบของเวกเตอร์อินพุตจะถูกขยายด้วยการรวมอินพุตแบบทวีคูณแต่ละคู่ (ลำดับที่สอง) นี้สามารถขยายไปยังเครือข่าย n-order Perceptron เป็นสิ่งที่ยืดหยุ่นมาก
อย่างไรก็ตาม โปรดจำไว้ว่าตัวแยกประเภทที่ดีที่สุดไม่จำเป็นต้องเป็นตัวแยกประเภทข้อมูลการฝึกทั้งหมดอย่างแม่นยำ อันที่จริง หากเรามีข้อจำกัดก่อนหน้านี้ว่าข้อมูลมาจากการแจกแจงแบบเกาส์เซียนที่แปรผันเท่ากัน การแยกเชิงเส้นในพื้นที่อินพุตจะเหมาะสมที่สุด และโซลูชันที่ไม่ใช่เชิงเส้นจะถูกแทนที่
อัลกอริธึมการจัดประเภทเชิงเส้นอื่นๆ ได้แก่ Winnow เวกเตอร์สนับสนุน และการถดถอยโลจิสติก Perceptron เป็นชุดอัลกอริธึมสากล
ขอบเขตหลักสำหรับการเรียนรู้ภายใต้การดูแล
การเรียนรู้ภายใต้การดูแลเป็นงานการเรียนรู้ของเครื่องที่เรียนรู้ฟังก์ชันที่จับคู่อินพุตกับเอาต์พุตตามตัวอย่างคู่ I/O พวกเขาสรุปคุณลักษณะจากข้อมูลการฝึกอบรมที่มีป้ายกำกับซึ่งประกอบด้วยชุดตัวอย่าง ในการเรียนรู้ภายใต้การดูแล แต่ละตัวอย่างเป็นคู่ที่ประกอบด้วยวัตถุอินพุต (โดยปกติคือเวกเตอร์) และค่าเอาต์พุตที่ต้องการ (เรียกอีกอย่างว่าสัญญาณควบคุม)
อัลกอริธึมการเรียนรู้ภายใต้การดูแลจะวิเคราะห์ข้อมูลการฝึกอบรมและสร้างฟังก์ชันโดยประมาณที่สามารถใช้แสดงตัวอย่างใหม่ได้ สถานการณ์ที่เหมาะสมที่สุดจะทำให้อัลกอริธึมสามารถกำหนดป้ายกำกับคลาสสำหรับอินสแตนซ์ที่มองไม่เห็นได้อย่างถูกต้อง สิ่งนี้ต้องใช้อัลกอริธึมการเรียนรู้ในการสรุปข้อมูลการเรียนรู้ในสถานการณ์ที่มองไม่เห็นด้วยวิธีที่ "สมเหตุสมผล"
งานคู่ขนานในจิตวิทยามนุษย์และสัตว์มักเรียกว่าการเรียนรู้แนวความคิด