การเรียนรู้เชิงลึก

เสร็จสมบูรณ์เมื่อ

หมายเหตุ

ดูแท็บ ข้อความและรูปภาพ สําหรับรายละเอียดเพิ่มเติม!

การเรียนรู้เชิงลึก เป็นรูปแบบขั้นสูงของการเรียนรู้ของเครื่องที่พยายามเลียนแบบวิธีที่สมองมนุษย์เรียนรู้ กุญแจสําคัญในการเรียนรู้เชิงลึกคือการสร้าง เครือข่ายประสาท เทียมที่จําลองกิจกรรมทางเคมีไฟฟ้าในเซลล์ประสาทชีวภาพโดยใช้ฟังก์ชั่นทางคณิตศาสตร์ดังที่แสดงไว้ที่นี่

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

เครือข่ายประสาทเทียมสร้างขึ้นจากเซลล์ประสาทหลาย ชั้น - โดยพื้นฐานแล้วจะกําหนดฟังก์ชั่นที่ซ้อนกันลึก สถาปัตยกรรมนี้เป็นเหตุผลที่จะเรียกว่า เทคนิคการเรียนรู้เชิงลึก และแบบจําลองที่ผลิตโดยมักจะเรียกว่า เครือข่ายประสาทลึก (DNNs) คุณสามารถใช้เครือข่ายประสาทลึกสําหรับปัญหาการเรียนรู้ของเครื่องหลายชนิด รวมถึงการถดถอยและการจําแนกประเภทตลอดจนแบบจําลองพิเศษเพิ่มเติมสําหรับการประมวลผลภาษาธรรมชาติและวิสัยทัศน์คอมพิวเตอร์

เช่นเดียวกับเทคนิคการเรียนรู้ของเครื่องอื่น ๆ ที่กล่าวถึงในโมดูลนี้ การเรียนรู้เชิงลึกเกี่ยวข้องกับการปรับข้อมูลการฝึกให้เหมาะกับฟังก์ชันที่สามารถคาดการณ์ป้ายชื่อ (y) ตามค่าของคุณลักษณะอย่างน้อยหนึ่งอย่าง (x) ฟังก์ชัน (f(x)) เป็นชั้นนอกของฟังก์ชันที่ซ้อนกันซึ่งแต่ละเลเยอร์ของเครือข่ายประสาทห่อหุ้มฟังก์ชันที่ทํางานบน x และค่าน้ําหนัก (w) ที่เกี่ยวข้อง อัลกอริทึมที่ใช้ในการฝึกแบบจําลองเกี่ยวข้องกับการป้อนค่าคุณลักษณะ (x) อย่างต่อเนื่องในข้อมูลการฝึกไปข้างหน้าผ่านเลเยอร์เพื่อคํานวณค่าเอาต์พุตสําหรับ ŷ การตรวจสอบความถูกต้องของแบบจําลองเพื่อประเมินว่าค่า ŷ ที่คํานวณมาจากค่า y ที่รู้จักหรือไม่ (ซึ่งกําหนดระดับของข้อผิดพลาดหรือ การสูญเสียในแบบจําลอง) และจากนั้นแก้ไขน้ําหนัก (w) เพื่อลดการสูญเสีย แบบจําลองที่ได้รับการฝึกนั้นมีค่าน้ําหนักสุดท้ายที่ส่งผลให้เกิดการคาดการณ์ที่ถูกต้องที่สุด

ตัวอย่าง - การใช้การเรียนรู้เชิงลึกสําหรับการจัดประเภท

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

แผนภาพเครือข่ายประสาทที่ใช้ในการจําแนกสายพันธุ์นกเพนกวิน

ข้อมูลคุณลักษณะ (x) ประกอบด้วยการวัดบางอย่างของนกเพนกวิน โดยเฉพาะการวัดคือ:

  • ความยาวของปากนกเพนกวิน
  • ความลึกของจะงอยปากนกเพนกวิน
  • ความยาวของครีบนกเพนกวิน
  • น้ําหนักของนกเพนกวิน

ในกรณีนี้ x เป็นเวกเตอร์ของสี่ค่าหรือทางคณิตศาสตร์ x=[x1,x2,x3,x4]

ป้ายชื่อที่เราพยายามทํานาย (y) คือสายพันธุ์ของนกเพนกวินและอาจมีสามชนิดที่เป็นไปได้ซึ่งอาจเป็น:

  • Adelie
  • เกนทู
  • ชินสเตรป

นี่คือตัวอย่างของปัญหาการจัดประเภทซึ่งแบบจําลองการเรียนรู้ของเครื่องจะต้องคาดการณ์คลาสที่น่าจะเป็นไปได้มากที่สุดที่เป็นส่วนสังเกตการณ์ แบบจําลองการจัดประเภททําสิ่งนี้โดยการคาดการณ์ป้ายชื่อที่ประกอบด้วยความน่าจะเป็นสําหรับแต่ละคลาส กล่าวอีกนัยหนึ่ง y คือเวกเตอร์ของค่าความน่าจะเป็นสามค่า หนึ่งคลาสสําหรับแต่ละคลาสที่เป็นไปได้: [P(y=0|x), P(y=1|x), P(y=2|x)]

กระบวนการสําหรับการอนุมานคลาสนกเพนกวินที่คาดการณ์ไว้โดยใช้เครือข่ายนี้คือ:

  1. เวกเตอร์คุณลักษณะสําหรับการสังเกตนกเพนกวินถูกป้อนลงในชั้นอินพุตของเครือข่ายประสาทซึ่งประกอบด้วยเซลล์ประสาทสําหรับแต่ละค่า x ในตัวอย่างนี้ x เวกเตอร์ต่อไปนี้ถูกใช้เป็นข้อมูลป้อนเข้า: [37.3, 16.8, 19.2, 30.0]
  2. ฟังก์ชันสําหรับชั้นแรกของเซลล์ประสาทแต่ละชั้นคํานวณผลรวมถ่วงน้ําหนักโดยการรวมค่า x และ น้ําหนักและ ส่งผ่านไปยังฟังก์ชันการเปิดใช้งานที่กําหนดว่าเป็นไปตามเกณฑ์ที่จะส่งผ่านไปยังเลเยอร์ถัดไปหรือไม่
  3. เซลล์ประสาทแต่ละรายการในเลเยอร์เชื่อมต่อกับเซลล์ประสาททั้งหมดในชั้นถัดไป (บางครั้งสถาปัตยกรรมเรียกว่า เครือข่ายที่เชื่อมต่ออย่างสมบูรณ์) ดังนั้นผลลัพธ์ของแต่ละชั้นจะถูกป้อนไปข้างหน้าผ่านทางเครือข่ายจนกว่าจะถึงชั้นเอาต์พุต
  4. ชั้นเอาต์พุตสร้างเวกเตอร์ของค่า ในกรณีนี้ การใช้ softmax หรือฟังก์ชันที่คล้ายกันเพื่อคํานวณการแจกแจงความน่าจะเป็นสําหรับนกเพนกวินทั้งสามชั้นที่เป็นไปได้ ในตัวอย่างนี้ เวกเตอร์ผลลัพธ์คือ: [0.2, 0.7, 0.1]
  5. องค์ประกอบของเวกเตอร์แสดงถึงความน่าจะเป็นสําหรับคลาส 0, 1 และ 2 ค่าที่สองคือค่าสูงสุดดังนั้นแบบจําลองทํานายว่าสายพันธุ์ของนกเพนกวินเป็น 1 (เกนทู)

เครือข่ายประสาทเรียนรู้อย่างไร

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

แผนภาพของเครือข่ายประสาทที่ได้รับการฝึก ประเมิน และปรับให้เหมาะสมแล้ว

  1. ชุดข้อมูลการฝึกอบรมและการตรวจสอบความถูกต้องถูกกําหนดและคุณลักษณะการฝึกอบรมจะถูกป้อนลงในเลเยอร์อินพุต
  2. เซลล์ประสาทในแต่ละชั้นของเครือข่ายใช้น้ําหนักของพวกเขา (ซึ่งในขั้นต้นจะถูกกําหนดแบบสุ่ม) และให้ข้อมูลผ่านเครือข่าย
  3. ชั้นเอาต์พุตสร้างเวกเตอร์ที่ประกอบด้วยค่าที่คํานวณสําหรับ ŷ ตัวอย่างเช่น ผลลัพธ์สําหรับการคาดการณ์คลาสนกเพนกวินอาจเป็น [0.3 0.1. 0.6]
  4. ฟังก์ชัน Loss ใช้เพื่อเปรียบเทียบค่า ŷ ที่ทํานายกับค่า y ที่รู้จักและรวมความแตกต่าง (ซึ่งเรียกว่าการสูญเสีย) ตัวอย่างเช่น ถ้าคลาสที่ทราบสําหรับกรณีที่ส่งกลับผลลัพธ์ในขั้นตอนก่อนหน้าคือ Chinstrap ค่า y ควรเป็น [0.0, 0.0, 1.0] ความแตกต่างอย่างแน่นอนระหว่างสิ่งนี้และ ŷ เวกเตอร์คือ [0.3, 0.1, 0.4] ในความเป็นจริง ฟังก์ชัน Loss จะคํานวณค่าความแปรปรวนรวมสําหรับหลายกรณี และสรุปเป็นค่า การสูญเสีย เดียว
  5. เนื่องจากเครือข่ายทั้งหมดเป็นฟังก์ชั่นที่ซ้อนกันขนาดใหญ่ฟังก์ชั่นการเพิ่มประสิทธิภาพสามารถใช้ calculus ที่แตกต่างกันในการประเมินอิทธิพลของน้ําหนักแต่ละรายการในเครือข่ายในการสูญเสียและกําหนดวิธีการปรับปรุง (ขึ้นหรือลง) เพื่อลดจํานวนการสูญเสียโดยรวม เทคนิคการปรับให้เหมาะสมเฉพาะอาจแตกต่างกัน แต่โดยปกติแล้วจะเกี่ยวข้องกับวิธีการไล่ ระดับความชัน ที่ซึ่งน้ำหนักแต่ละตัวจะเพิ่มขึ้นหรือลดลงเพื่อให้การสูญเสียลดลง
  6. การเปลี่ยนแปลงของน้ําหนักจะถูก ส่งกลับ ไปยังเลเยอร์ในเครือข่ายแทนที่ค่าที่ใช้ก่อนหน้านี้
  7. กระบวนการนี้จะถูกทำซ้ำในหลายรอบการฝึก (เรียกว่า epochs) จนกว่าค่าความสูญเสียจะลดลงและแบบจำลองสามารถทำนายได้อย่างถูกต้องตามที่ยอมรับได้

หมายเหตุ

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