เราจะสอนโครงข่ายประสาทเทียมเพื่อสร้างการเชื่อมโยงข้อมูลโดยพลการได้อย่างไร?

Aug 20 2020

สมมติว่าฉันมีคู่ของคีย์และค่าของแบบฟอร์ม $(x_1, y_1), \dots, (x_N, y_N)$. จากนั้นฉันให้คีย์และค่าสุทธิประสาท$(x_i, y_i)$. ตัวอย่างเช่น,$x_i$ อาจจะเป็น $4$ และ $y_i$ อาจจะเป็น $3$แต่ไม่จำเป็นต้องเป็นเช่นนั้น

มีวิธีสอน neural net เพื่อเอาท์พุท $y_i$ ทุกครั้งที่ได้รับตัวแปรที่เกี่ยวข้อง $x_i$เหรอ?

อย่างไรก็ตามสมองของเราทำหน้าที่นี้อย่างไร?

คำตอบ

3 16Aghnar Aug 20 2020 at 15:11

สรุป: การท่องจำไม่ใช่การเรียนรู้

ก่อนอื่นขอเตือนการใช้ตาข่ายประสาทแบบคลาสสิกในการเรียนรู้ภายใต้การดูแล :

  • คุณมีชุดไฟล์ $(x_{train}, y_{train}) \in X \times Y$ คู่และคุณต้องการแยกกฎการแมปทั่วไปออกจาก $X$ ถึง $Y$
  • คุณใช้ฟังก์ชันสุทธิประสาท $f_{\theta} : x \rightarrow f_{\theta}(x)$กับ $\theta$ น้ำหนัก (พารามิเตอร์) ของสุทธิของคุณ
  • คุณปรับให้เหมาะสม $f_{\theta}$ โดยการลดข้อผิดพลาดในการทำนายซึ่งแสดงโดยฟังก์ชันการสูญเสีย

วิธีนี้สามารถแก้ปัญหาของคุณได้หรือไม่? ฉันไม่คิดอย่างนั้น ด้วยโครงร่างนี้ตาข่ายประสาทของคุณจะเรียนรู้การทำแผนที่ที่เหมาะสมจากชุด$X$ ไปที่ชุด $Y$แต่การทำแผนที่นี้เหมาะสมตามฟังก์ชันการสูญเสียของคุณไม่ใช่ของคุณ $(x_{train}, y_{train})$ คู่

ลองนึกภาพว่าข้อมูลส่วนน้อยติดป้ายผิด เครือข่ายที่ได้รับการฝึกฝนอย่างเหมาะสมจะเรียนรู้ที่จะดึงคุณสมบัติที่เกี่ยวข้องออกมาดังนั้นจึงจะคาดเดาฉลากได้อย่างถูกต้องไม่ใช่อย่างที่คุณทำ ดังนั้นเน็ตไม่จดจำคู่ของคุณมันอนุมานกฎหมายทั่วไปจากข้อมูลและกฎหมายนี้อาจไม่เคารพแต่ละคู่$(x_{train}, y_{train})$. ดังนั้นการเรียนรู้เชิงลึกภายใต้การดูแลแบบคลาสสิกจึงไม่ควรท่องจำ$(x_{train}, y_{train})$ คู่

อย่างไรก็ตามคุณสามารถจดจำได้โดยใช้เน็ตที่มีพารามิเตอร์มากเกินไป: มันOverfitting !

  • ในกรณีนี้คุณตั้งค่าเน็ตด้วยพารามิเตอร์มากเกินไป นั่นทำให้เน็ตของคุณมีอิสระมากเกินไปและเน็ตจะใช้ DoF เหล่านี้เพื่อให้พอดีกับแต่ละตัว$(x_{train}, y_{train})$ จับคู่อาหารระหว่างการฝึก
  • อย่างไรก็ตามสำหรับการป้อนข้อมูล $x$ ที่ไม่เคยเห็นระหว่างการฝึก $f_{\theta}(x)$จะไม่มีความหมาย นั่นเป็นเหตุผลที่เรากล่าวว่าเน็ตที่ติดตั้งมากเกินไปไม่ได้เรียนรู้และผู้ปฏิบัติงาน DL หลายคนกลัว

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

แล้วสมองล่ะ?

เรื่องในการตอบคำถามนี้คือเราไม่รู้จริงๆว่าสมองทำงานอย่างไร ฉันขอแนะนำบทความนี้เกี่ยวกับโครงข่ายประสาทเทียมและสมอง

ความคิดบางอย่างที่จะเริ่ม:

  1. สมองมีพารามิเตอร์จำนวนมหาศาลอย่างไม่น่าเชื่อและมีความยืดหยุ่นสูง ในแง่นั้นเราสามารถวาดเส้นขนานกับโครงข่ายประสาทเทียมที่ติดตั้งมากเกินไปดังนั้นสมองจึงสามารถทำงานได้มากเกินไปและสามารถจดจำได้ด้วยค่าเฉลี่ยนี้
  2. สมองของเราไม่ใช่เครือข่ายฟีดฟอร์เวิร์ด แต่อย่างใดเราไม่สามารถกำหนดเลเยอร์ใด ๆ ได้เป็นเพียงโซนคร่าวๆที่เรารู้ว่ามีการประมวลผลข้อมูลบางอย่าง สิ่งนี้ทำให้การขนานกันระหว่างอวนประสาทและสมองทำได้ยาก
  3. ยังไม่ชัดเจนว่าสมองของเราอัพเดตตัวเองอย่างไร ไม่มี backpropagation เช่น เครือข่ายที่ติดตั้งมากเกินไปของเรายังมาจากกระบวนการอัปเดต (ตัวอย่างเช่นการเพิ่มการทำให้เป็นมาตรฐานเพื่อการสูญเสียจะช่วยหลีกเลี่ยงการทำงานที่ไม่เหมาะสม) แต่เราไม่รู้ว่าสิ่งนี้ทำงานอย่างไรในสมองนั่นจึงเป็นอีกอุปสรรคหนึ่งในการวาดแนว
  4. ความคิดที่เป็นส่วนตัวมากขึ้น: สมองสามารถเรียนรู้และจดจำได้ ( คำขวัญ"ข้อยกเว้นที่พิสูจน์กฎ"แสดงให้เห็นว่าฉันคิด) ในขณะที่การเรียนรู้และการจดจำเป็นคำตรงข้ามสำหรับตาข่ายประสาท ...