Softmax สำหรับความน่าจะเป็น
เปลี่ยนคะแนนดิบให้เป็นการกระจายของคลาส
Softmax สำหรับความน่าจะเป็น เป็นบทเรียน Deep Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Deep Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
จากคะแนนสู่ตัวเลือก
ชั้นสุดท้ายของตัวจำแนกจะแสดงคะแนนดิบออกมา หนึ่งค่าต่อหนึ่งคลาส ตัวเลขที่ไม่มีขอบเขตเหล่านี้เรียกว่า ลอจิตส์ และอ่านทำความเข้าใจโดยตรงได้ยาก 🔢
เข้าสู่ซอฟต์แมกซ์
ซอฟต์แมกซ์แปลงเวกเตอร์ของลอจิตส์ให้เป็นการแจกแจงความน่าจะเป็นที่ชัดเจนครบทุกคลาส ตอนนี้คะแนนแต่ละค่าจึงกลายเป็นโอกาส
import torch.nn.functional as F
probs = F.softmax(logits, dim=-1)คำรับรองสองข้อ
ซอฟต์แมกซ์รับรองสองอย่าง: เอาต์พุตทุกค่าจะอยู่ระหว่าง 0 ถึง 1 และเอาต์พุตทั้งหมดจะรวมกันได้หนึ่ง ซึ่งตรงกับสิ่งที่การแจกแจงต้องการพอดี
หลักการทำงาน
ซอฟต์แมกซ์ยกกำลังลอจิตส์แต่ละค่า แล้วหารด้วยผลรวมทั้งหมด การยกกำลังทำให้ลอจิตส์ที่มีค่ามากกว่าครองสัดส่วนมากขึ้น จึงทำให้ผู้ชนะเด่นชัดขึ้น
exp = logits.exp()
probs = exp / exp.sum()สัมพัทธ์ ไม่ใช่ค่าสัมบูรณ์
ซอฟต์แมกซ์สนใจช่องว่างระหว่างลอจิตส์ ไม่ใช่ขนาดดิบของลอจิตส์ การบวกค่าคงที่เดียวกันให้ลอจิตส์ทุกค่าจะไม่เปลี่ยนความน่าจะเป็น
ซิกมอยด์เทียบกับซอฟต์แมกซ์
ใช้ซิกมอยด์สำหรับเอาต์พุตแบบใช่หรือไม่ใช่เพียงค่าเดียว ใช้ซอฟต์แมกซ์เมื่อคลาสต่าง ๆ แข่งขันกันและต้องมีเพียงหนึ่งคลาสจากหลายคลาสเป็นผู้ชนะ
เลือกผู้ชนะ
หากต้องการคลาสที่ทำนายได้ ให้หา argmax ของเอาต์พุตซอฟต์แมกซ์ ดัชนีนั้นคือคลาสที่มีความน่าจะเป็นสูงสุด
pred = probs.argmax(dim=-1)ระวังมิติ
กำหนด มิติ ให้ถูกต้องเสมอ เพื่อให้ซอฟต์แมกซ์ปรับมาตรฐานข้ามคลาส ไม่ใช่ข้ามชุดข้อมูล การเลือกแกนผิดจะทำให้ความน่าจะเป็นเสียหายโดยไม่แสดงข้อผิดพลาดอย่างชัดเจน
ข้ามขั้นตอนนี้ระหว่างการฝึก
ระหว่างการฝึก โดยทั่วไปคุณไม่ต้องใช้ซอฟต์แมกซ์ด้วยตนเอง ฟังก์ชันการสูญเสียแบบครอสเอนโทรปีต้องการ ลอจิตส์ ดิบและจะจัดการขั้นตอนนี้ภายใน
loss = F.cross_entropy(logits, target) # logits, not probsเหตุผลที่ปลอดภัยกว่า
การรวมซอฟต์แมกซ์กับลอการิทึมไว้ในฟังก์ชันเดียวมีความเสถียรทางตัวเลขมากกว่า การทำทั้งสองขั้นตอนด้วยตนเองอาจทำให้ค่าเกินขอบเขตหรือสูญเสียความแม่นยำ
อุณหภูมิปรับความคมชัด
การหารลอจิตส์ด้วยอุณหภูมิก่อนใช้ซอฟต์แมกซ์จะควบคุมระดับความมั่นใจ ค่าต่ำทำให้จุดสูงสุดคมชัดขึ้น ส่วนค่าสูงทำให้เส้นโค้งแบนลง
ตรวจสอบอย่างรวดเร็ว
ลองนึกดูว่าการสูญเสียแบบครอสเอนโทรปีต้องการอะไรเป็นอินพุต
ทบทวน
ซอฟต์แมกซ์แปลงลอจิตส์เป็นความน่าจะเป็นที่รวมกันได้หนึ่ง จึงเหมาะอย่างยิ่งกับเอาต์พุตแบบหลายคลาส แต่ระหว่างการฝึก ควรปล่อยให้การสูญเสียแบบครอสเอนโทรปีจัดการขั้นตอนนี้ 🏁
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “Softmax สำหรับความน่าจะเป็น” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Softmax สำหรับความน่าจะเป็น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Deep Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Softmax สำหรับความน่าจะเป็น”
เปลี่ยนคะแนนดิบให้เป็นการกระจายของคลาส คุณปฏิบัติ Deep Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Deep Learning Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Deep Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “Softmax สำหรับความน่าจะเป็น” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Deep Learning Academy นี้ได้ไหม
ได้ บทเรียน Deep Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใดความไม่เป็นเชิงเส้นจึงปลดล็อกพลังที่แท้จริง
- ReLU และญาติอย่าง Leaky กับ GELU
- Sigmoid และ Tanh: บีบค่าให้อยู่ในช่วง
- Softmax สำหรับความน่าจะเป็น