Neural Network: สำหรับการจำแนกประเภท Binary ให้ใช้ 1 หรือ 2 เซลล์ประสาทเอาท์พุท?


26

สมมติว่าฉันต้องการจำแนกไบนารี (บางสิ่งเป็นของคลาส A หรือคลาส B) มีความเป็นไปได้ที่จะทำสิ่งนี้ในเลเยอร์การส่งออกของโครงข่ายประสาทเทียม:

  • ใช้ 1 โหนดเอาต์พุต เอาต์พุต 0 (<0.5) ถือเป็นคลาส A และ 1 (> = 0.5) ถือเป็นคลาส B (ในกรณีที่ sigmoid)

  • ใช้ 2 โหนดเอาต์พุต อินพุตเป็นของคลาสของโหนดที่มีค่า / ความน่าจะเป็นสูงสุด (argmax)

มีเอกสารใดบ้างที่เขียนเกี่ยวกับเรื่องนี้หรือไม่? คำหลักที่เฉพาะเจาะจงในการค้นหาคืออะไร

คำถามนี้ถูกถามมาก่อนในเว็บไซต์นี้เช่นดูลิงค์นี้โดยไม่มีคำตอบจริง ฉันต้องเลือก (วิทยานิพนธ์ระดับปริญญาโท) ดังนั้นฉันต้องการได้รับข้อมูลเชิงลึกเกี่ยวกับข้อดีข้อเสียของแต่ละวิธี


ฉันคิดว่า OP ของคำถามที่เชื่อมโยงมีจุดดีความแตกต่างเพียงอย่างเดียวคือทางเลือกที่ 2 มีพารามิเตอร์จำนวนมากมีความยืดหยุ่นมากขึ้น
dontloo

1
ใน Udacity ML Nanodegree ฉันได้เรียนรู้ว่ามันจะดีกว่าที่จะใช้หนึ่งโหนดเอาต์พุตถ้าผลลัพธ์นั้นไม่เกิดร่วมกันเพียงเพราะเครือข่ายมีข้อผิดพลาดน้อยกว่าที่มันสามารถทำได้ ฉันคิดว่าไม่มีข้อดีในการใช้ 2 output nodes ในกรณีนั้น แต่ฉันไม่มีหลักฐานทางวิทยาศาสตร์สำหรับเรื่องนั้น
CodingYourLife

คำตอบ:


25

ในกรณีที่สองคุณอาจกำลังเขียนเกี่ยวกับฟังก์ชั่นการเปิดใช้งาน softmax หากเป็นเรื่องจริง sigmoid นั้นเป็นเพียงฟังก์ชั่นพิเศษของ softmax นั่นเป็นเรื่องง่ายที่จะแสดง

y=11+ex=11+1ex=1ex+1ex=ex1+ex=exe0+ex

อย่างที่คุณเห็นว่า sigmoid นั้นเหมือนกับ softmax คุณสามารถคิดว่าคุณมีเอาต์พุตสองตัว แต่หนึ่งในนั้นมีน้ำหนักทั้งหมดเท่ากับศูนย์และดังนั้นเอาต์พุตของมันจะเท่ากับศูนย์เสมอ

ดังนั้นทางเลือกที่ดีกว่าสำหรับการจำแนกเลขฐานสองคือใช้หน่วยเอาต์พุตหนึ่งหน่วยกับ sigmoid แทน softmax ที่มีหน่วยเอาท์พุทสองตัวเพราะจะปรับปรุงได้เร็วขึ้น


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

มันเหมือนขีด จำกัด (ขอบเขต) ได้รับการแก้ไขในระหว่างการฝึกและชั้นเรียน เพื่อให้คุณรู้ว่าถ้ามากกว่ามันเป็นคลาสบวกและถ้ามากกว่ามันเป็นคลาสลบ ด้วย softmax คุณสามารถเรียนรู้เกณฑ์ที่แตกต่างและมีขอบเขตที่แตกต่างกัน น้ำหนักจริงด้วยศูนย์ทั้งหมดฉันหมายถึง sigmoid เหมือนกับ softmax ที่มี 2 เอาต์พุตสำหรับกรณีเมื่อคุณมีนิวตรอนออกสองตัวและหนึ่งในเอาต์พุตและอีกอันหนึ่งและอื่น ๆ เสมอไม่ว่าอินพุตจะเป็นอะไร สามารถทำได้เฉพาะเมื่อสำหรับเอาต์พุตที่สองที่เรามีน้ำหนักทั้งหมดเท่ากับศูนย์ ฉันหวังว่ามันจะช่วย x>0x<0x0
itdxer

1
โปรดสังเกตว่ามีการแก้ปัญหาของรูปแบบที่เลวร้ายexp(x+alpha) / (exp(alpha) + exp(x+alpha))จริง ๆ แล้วพวกมันมีจำนวนไม่ จำกัด - ทั้งหมดที่ให้ผลลัพธ์การจำแนกประเภทเดียวกับที่บันทึกไว้ด้วยน้ำหนักทั้งหมด 0 น้ำหนักที่น่าจะไม่ฝึกให้เป็นศูนย์ทั้งหมด แต่จะฝึกแทนให้เสื่อม ด้วยโซลูชันที่มีน้ำหนักทั้งหมด 0 หลีกเลี่ยงโซลูชันที่เสื่อมโทรม (ไม่มีจุดหมายและสิ้นเปลือง) โดยใช้เซลล์ประสาทผลลัพธ์เพียงเซลล์เดียวเท่านั้น
Dan Nissenbaum

2

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

y=softmax(a)1ieai×[ea1,ea2,...,ean]

0yi1 for all i
y1+y2+...+yn=1

นี่เปิดใช้งานของชั้นก่อนชั้น softmaxa

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

0y1 for all inputs.
สิ่งนี้สามารถมั่นใจได้ว่าหากมีการใช้การแปลงรูปแบบ (differentiable / smooth เพื่อ backpropagation) ซึ่งแมปกับดังที่ได้พบกับเงื่อนไขข้างต้น ฟังก์ชั่น sigmoid ตรงตามเกณฑ์ของเรา ไม่มีอะไรพิเศษเกี่ยวกับมันนอกเหนือจากการเป็นตัวแทนทางคณิตศาสตร์อย่างง่ายay

sigmoid(a)σ(a)11+ea

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

ข้อสรุป

ฉันไม่แน่ใจว่าเหตุผลของ @ itdxer ที่แสดง softmax และ sigmoid นั้นเทียบเท่ากันหรือไม่ แต่เขามีสิทธิ์ในการเลือก 1 เซลล์ประสาทในทางตรงกันข้ามกับ 2 เซลล์ประสาทสำหรับตัวแยกประเภทไบนารีเนื่องจากต้องการพารามิเตอร์และการคำนวณที่น้อยลง ฉันได้รับการวิพากษ์วิจารณ์จากการใช้เซลล์ประสาทสองตัวสำหรับตัวจําแนกแบบไบนารีเนื่องจาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.