ก่อนหน้านี้คุณเคยพบ การจัดประเภทแบบไบนารี รูปแบบที่มีตัวเลือกที่เป็นไปได้จาก 2 ตัวเลือก เช่น
- อีเมลที่ระบุเป็นจดหมายขยะหรือไม่ใช่จดหมายขยะ
- เนื้องอกที่เป็นมะเร็งหรือไม่เป็นอันตราย
ในส่วนนี้ เราจะตรวจสอบ การแยกประเภทแบบหลายคลาส ซึ่งสามารถเลือกได้จาก หลาย รูปแบบ เช่น
- สุนัขตัวนี้เป็นสุนัขพันธุ์บีเกิล สุนัขบาสเซ็ตฮาวด์ หรือสุนัขพันธุ์บลูฮาวด์
- ดอกไม้นี้คือไอริสไซบีเรีย ดัทช์ไอริส บลูแฟลกไอริสใช่ไหม หรือ Dwarf Bearded Iris
- เครื่องบิน Boeing 747, Airbus 320, Boeing 777 หรือ Embraer 190 นะ
- นี่คือรูปภาพแอปเปิ้ล หมี ลูกอม สุนัข หรือไข่
ปัญหาในหลายคลาสในชีวิตจริงนำไปสู่การเลือกจากนับล้าน ในชั้นเรียนที่แยกจากกัน เช่น ลองพิจารณาการจัดหมวดหมู่แบบหลายชั้นเรียน โมเดลที่สามารถระบุภาพของอะไรก็ได้
ส่วนนี้จะให้รายละเอียด 2 รูปแบบหลักๆ ของการแยกประเภทแบบหลายคลาส
- หนึ่งเทียบกับทั้งหมด
- one-vs.-one ซึ่งมักเรียกว่า ซอฟต์แมกซ์
หนึ่งเทียบกับทั้งหมด
หนึ่งเทียบกับทั้งหมดมอบวิธีใช้การจัดประเภทแบบไบนารี สำหรับชุดการคาดการณ์ใช่หรือไม่ ในป้ายกำกับที่เป็นไปได้หลายป้าย
เมื่อพิจารณาจากปัญหาการจัดประเภทที่มีคำตอบที่เป็นไปได้ N รายการ คำตอบคือ 1 ต่อ ทั้งหมด โซลูชันประกอบด้วยตัวแยกประเภทไบนารี N ที่แยกกัน นั่นคือไบนารี 1 รายการ สำหรับผลลัพธ์ที่เป็นไปได้แต่ละรายการ ในระหว่างการฝึก โมเดลจะทํางาน ผ่านลำดับของตัวแยกประเภทแบบไบนารี โดยฝึกให้แต่ละแยกคำตอบ คำถามเพื่อการจัดหมวดหมู่
เช่น ให้ภาพผลไม้ 1 ชิ้น โปรแกรมจดจำต่างๆ อาจได้รับการฝึกโดยแต่ละคนตอบว่า "ใช่/ไม่ใช่" ที่แตกต่างกัน คำถาม:
- รูปนี้คือรูปแอปเปิลใช่ไหม
- รูปภาพนี้เป็นสีส้มใช่ไหม
- รูปภาพนี้คือกล้วยใช่ไหม
- รูปภาพนี้คือองุ่นใช่ไหม
รูปภาพต่อไปนี้แสดงวิธีการทำงานจริง
![รูปที่ 7 ภาพลูกแพร์ถูกส่งผ่านเข้าไปในพื้นที่ 4 ทิศทาง
แบบไบนารีของตัวแยกประเภท รูปแบบแรกคาดการณ์ 'apple' หรือ "not"
apple' และการคาดคะเนของแอปคือ 'ไม่ใช่ apple' รูปแบบที่ 2 จะคาดการณ์
"ส้ม" หรือ "ไม่ใช่สีส้ม" และการคาดคะเนจะเป็น "ไม่ใช่สีส้ม"
รูปแบบที่ 3 คาดคะเน 'ลูกแพร์' หรือ "ไม่ใช่ลูกแพร์" และการคาดการณ์ของ
"ลูกแพร์" โมเดลที่ 4 คาดการณ์ว่า "องุ่น" หรือ "ไม่องุ่น" และ
การคาดคะเนนั้น "ไม่ใช่องุ่น"](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_binary_classifiers.png?authuser=8&hl=th)
วิธีนี้ค่อนข้างสมเหตุสมผลเมื่อจำนวนชั้นเรียนทั้งหมด นั้นมีน้อย แต่มีประสิทธิภาพน้อยลงตามจำนวนชั้นเรียน ขึ้น
เราสามารถสร้างโมเดลเดียวเทียบกับทั้งหมดที่มีประสิทธิภาพมากขึ้นได้ ด้วยโครงข่ายระบบประสาทเทียมระดับลึกซึ่งโหนดเอาต์พุตแต่ละโหนดแสดง รูปภาพต่อไปนี้จะแสดงวิธีการนี้
![รูปที่ 8 โครงข่ายระบบประสาทเทียมที่มีสถาปัตยกรรมต่อไปนี้: เลเยอร์อินพุตที่มี
1 โหนด, เลเยอร์ที่ซ่อนอยู่ที่มี 3 โหนด, เลเยอร์ที่ซ่อนอยู่ที่มี 4 โหนด
เลเยอร์เอาต์พุตที่มี 4 โหนด โหนดอินพุตได้รับภาพลูกแพร์
ฟังก์ชันการเปิดใช้งาน Sigmoid ใช้กับเลเยอร์เอาต์พุตแล้ว ชิ้น
โหนดเอาต์พุตแสดงความน่าจะเป็นที่รูปภาพจะระบุ
ผลไม้ โหนดเอาต์พุต 1 แสดง "เป็น apple?" และมีค่า 0.34
โหนดเอาต์พุต 2 แสดง "เป็นสีส้มหรือไม่" และมีค่า 0.18
โหนดเอาต์พุต 3 แสดง "เป็นลูกแพร์หรือไม่" และมีค่า 0.84
โหนดเอาต์พุต 4 แสดง "Is grape?" และมีค่า 0.07](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_neural_net.png?authuser=8&hl=th)
1 เทียบกับ 1 (softmax)
คุณอาจสังเกตเห็นว่าค่าความน่าจะเป็นในเลเยอร์เอาต์พุตของรูปที่ 8 ไม่รวมเป็น 1.0 (หรือ 100%) (ซึ่งผลรวมคือ 1.43) เนื้อหาแบบหนึ่งต่อหนึ่ง แนวทาง ความน่าจะเป็นของชุดผลลัพธ์ไบนารีแต่ละชุด โดยไม่ขึ้นอยู่กับชุดอื่นๆ ทั้งหมด กล่าวคือ เรากำลังพิจารณาความน่าจะเป็น ของ "apple" เทียบกับ "ไม่ใช่แอปเปิล" โดยไม่พิจารณาแนวโน้มของ ตัวเลือกผลไม้ ได้แก่ "ส้ม" "ลูกแพร์" หรือ "องุ่น"
แต่ถ้าต้องการคาดการณ์ ความน่าจะเป็นของผลไม้แต่ละชิ้น ที่เกี่ยวข้องกันได้อย่างไร ในกรณีนี้ แทนที่จะคาดการณ์ "apple" กับ "ไม่" แอปเปิ้ล" เราต้องการคาดคะเนว่า "แอปเปิล" กับ "ส้ม" เทียบกับ "ลูกแพร์" กับ "องุ่น" การจัดประเภทแบบหลายคลาสประเภทนี้เรียกว่าการจัดประเภทแบบ 1 ต่อ 1
เราสามารถใช้การแยกประเภทแบบหนึ่งต่อหนึ่งโดยใช้ระบบประสาทเทียมประเภทเดียวกัน สถาปัตยกรรมเครือข่ายที่ใช้สำหรับการจัดประเภทแบบ 1 เทียบกับทั้งหมด โดยมีการเปลี่ยนแปลงที่สำคัญ 1 ครั้ง เราจำเป็นต้องใช้การเปลี่ยนรูปแบบอื่นกับเลเยอร์เอาต์พุต
เราใช้ฟังก์ชันการเปิดใช้งาน sigmoid กับแต่ละเอาต์พุตสำหรับโหมดหนึ่งกับทั้งหมด โหนดแยกกัน จึงทำให้แต่ละโหนดมีค่าเอาต์พุตระหว่าง 0 ถึง 1 แต่ไม่ได้รับประกันว่าค่าเหล่านี้จะรวมเป็น 1 พอดี
สำหรับวัน-หนึ่ง เราสามารถใช้ฟังก์ชันที่เรียกว่า softmax แทน ซึ่ง กำหนดความน่าจะเป็นแบบทศนิยมให้กับแต่ละคลาสในโจทย์แบบหลายคลาส เช่น ความน่าจะเป็นทั้งหมดรวมกันได้ 1.0 ข้อจำกัดเพิ่มเติมนี้ ช่วยให้การฝึกหลอมรวมกันได้อย่างรวดเร็วกว่าปกติ
รูปภาพต่อไปนี้นำการจัดประเภทแบบหลายคลาสแบบ 1 เทียบกับทั้งหมดไปใช้ใหม่ งานเป็นงานเดียว โปรดทราบว่าในการดำเนินการแบบ Softmax องค์ประกอบที่ซ่อน ที่อยู่หน้าเลเยอร์เอาต์พุตโดยตรง (เรียกว่าเลเยอร์ softmax) จะต้องมี จำนวนโหนดเท่ากับเลเยอร์เอาต์พุต
![รูปที่ 9 โครงข่ายระบบประสาทเทียมที่มีสถาปัตยกรรมต่อไปนี้: อินพุต
เลเยอร์ที่มี 1 โหนด, เลเยอร์ที่ซ่อนอยู่ซึ่งมี 3 โหนด, เลเยอร์ที่ซ่อนอยู่ที่มี 4 โหนด
เลเยอร์เอาต์พุตที่มี 4 โหนด โหนดอินพุตได้รับภาพลูกแพร์
ใช้ฟังก์ชันการเปิดใช้งาน Softmax กับเลเยอร์เอาต์พุต ชิ้น
โหนดเอาต์พุตแสดงความน่าจะเป็นที่รูปภาพจะระบุ
ผลไม้ โหนดเอาต์พุต 1 แสดง "เป็น apple?" และมีค่า 0.19
โหนดเอาต์พุต 2 แสดง "เป็นสีส้มหรือไม่" และมีค่า 0.12
โหนดเอาต์พุต 3 แสดง "เป็นลูกแพร์หรือไม่" และมีค่า 0.63
โหนดเอาต์พุต 4 แสดง "Is grape?" และมีค่า 0.06](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_one_neural_net.png?authuser=8&hl=th)
ตัวเลือก Softmax
พิจารณาตัวแปรต่อไปนี้ของ softmax
Full Soft คือ Softmax ที่เราได้พูดคุยกันไปแล้ว ซึ่งก็คือ softmax คำนวณความน่าจะเป็นสำหรับคลาสที่เป็นไปได้ทุกคลาส
การสุ่มตัวอย่างผู้สมัครหมายความว่า Softmax คำนวณความน่าจะเป็น สำหรับป้ายกำกับเชิงบวกทั้งหมด แต่เฉพาะกับตัวอย่างแบบสุ่มของ ป้ายกำกับเชิงลบ ตัวอย่างเช่น หากเราต้องการพิจารณาว่า ภาพที่ป้อนจะเป็นรูปสุนัขพันธุ์บีเกิลหรือสุนัขพันธุ์โลดโผน เราก็ไม่ต้อง ให้ความน่าจะเป็นสำหรับตัวอย่างทั้งหมดที่ไม่ใช่สุนัข
ซอฟต์แมกซ์แบบเต็มจะมีราคาถูกเมื่อจำนวนคลาสมีน้อย แต่จะมีราคาแพงอย่างเห็นได้ชัดเมื่อมีคลาสเพิ่มขึ้น การสุ่มตัวอย่างผู้สมัคร จะช่วยเพิ่มประสิทธิภาพในการเกิดปัญหา จำนวนชั้นเรียน
ป้ายกำกับเดียวเทียบกับหลายป้ายกำกับ
Softmax จะถือว่าแต่ละตัวอย่างเป็นสมาชิกของ 1 คลาส อย่างไรก็ตาม บางตัวอย่างอาจเป็นสมาชิกของหลายชั้นเรียนได้ในเวลาเดียวกัน สำหรับตัวอย่างดังกล่าว
- คุณใช้ softmax ไม่ได้
- คุณต้องใช้การถดถอยด้านโลจิสติกส์หลายรายการ
ตัวอย่างเช่น รูปแบบหนึ่งเทียบกับหนึ่งในรูปที่ 9 ด้านบนจะถือว่าอินพุตแต่ละรายการ รูปภาพจะสื่อถึงผลไม้เพียงประเภทเดียว ได้แก่ แอปเปิ้ล ส้ม ลูกแพร์ หรือ องุ่น แต่ถ้ารูปภาพอินพุตอาจมีผลไม้หลายประเภท เช่น ใส่ทั้งแอปเปิ้ลและส้มลงไป คุณต้องใช้ระบบโลจิสติกส์หลายแบบ การถดถอยแทน