หากแต่ละเซลล์ประสาทในเครือข่ายประสาทนั้นเป็นฟังก์ชั่นการถดถอยแบบโลจิสติกทำไมมัลติเลเยอร์ถึงดีกว่า?


13

ฉันจะผ่านหลักสูตร Deepai ของ Cousera (วิดีโอสัปดาห์ที่ 3 1 "ภาพรวมโครงข่ายใยประสาท") และ Andrew Ng อธิบายว่าแต่ละเลเยอร์ในเครือข่ายประสาทเป็นเพียงการถดถอยโลจิสติกอื่น แต่เขาไม่ได้อธิบายว่ามันแม่นยำมากขึ้นอย่างไร

ดังนั้นในเครือข่ายเลเยอร์ 2 การคำนวณโลจิสติกหลายครั้งทำให้แม่นยำยิ่งขึ้นได้อย่างไร


7
บ่อยครั้งที่จะเหมาะสมกับโมเดลการถดถอยโลจิสติกที่ดีเพียงครั้งเดียวคุณจำเป็นต้องสร้างคุณลักษณะที่สำคัญ เลเยอร์สอง nn พยายามทำบางอย่างให้คุณ
Matthew Drury

@msk คุณเคยสร้างคุณสมบัติใหม่โดยใช้คุณสมบัติดั้งเดิมของคุณเพื่อปรับปรุงการถดถอยโลจิสติกของคุณหรือไม่? นี่คือสิ่งที่เลเยอร์ที่ซ่อนอยู่ทำ
Ricardo Cruz

คำตอบ:


10

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

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

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

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


7

วิธีหนึ่งที่จะได้เห็นพลังของไม่เป็นเชิงเส้นคือการทราบทฤษฎีบทประมาณสากล

แม้ว่ามันจะไม่ได้มีความสำคัญมากในทางปฏิบัติ (มันเกี่ยวกับความสามารถของเครือข่ายชั้นเดียว) แต่มันบอกคุณว่าถ้าคุณใช้ sigmoids (ความยาวตามอำเภอใจ) คุณสามารถที่จะประมาณฟังก์ชั่นต่อเนื่องในระดับที่ต้องการ หากคุณรู้จักทฤษฎีฟูริเยร์หรือจำทฤษฎีบท Weierstrass ได้ไม่น่าแปลกใจ


3
นี่เป็นคนเดียวที่ตอบคำถามได้อย่างถูกต้องแม้ว่าจะรวบรัดเกินไปก็ตาม เลเยอร์ที่ซ่อนอยู่นั้นเพียงพอที่จะสร้างคุณลักษณะใหม่ที่ทรงพลังซึ่งรวมคุณสมบัติดั้งเดิมไว้ ปัญหาคือคุณอาจต้องการเลเยอร์ที่ซ่อนอยู่ซึ่งมีโหนดมากเกินไปและกระบวนการคอนเวอร์เจนซ์ทำงานได้ดีที่สุดกับเครือข่ายที่ลึกกว่าด้วยเลเยอร์ที่ซ่อนอยู่> 1
Ricardo Cruz

5

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

สิ่งที่ทำให้เครือข่ายประสาทเทียมเป็นรูปแบบการจำแนกแบบไม่เชิงเส้น?

โดยเฉพาะอย่างยิ่งฟังก์ชั่น sigmoid ที่ซ้อนกันจะมี "พลัง" มากกว่าการแปลงเชิงเส้นของคุณสมบัติดั้งเดิมและหนึ่งฟังก์ชัน sigmoid (การถดถอยโลจิสติก)


นี่คือตัวอย่างที่เป็นตัวเลขเพื่อแสดงความคิดเห็นของ OP

X10×37W3×7X×W10×77


ฉันแค่สงสัยว่าแล้วโหนดใดที่เลเยอร์แรกแตกต่างกันในเอาท์พุตอย่างไร Ie Node 1 ได้รับ X1, X2, X3, โหนด 2 ยังได้รับ X1, X2, X3 หากพวกเขาทั้งหมดถดถอยโลจิสติกเป็นอย่างไร ผลผลิตของพวกเขาจะแตกต่างกันอย่างไร
mskw

สมมติว่าคุณมี 3 ฟีเจอร์และ 10 ยูนิตที่ซ่อนไว้จากนั้นเอาต์พุตของเลเยอร์ที่ซ่อนจะมี 10 "ฟีเจอร์ที่ออกแบบมา"
Haitao Du

ทำไมคุณถึงเรียกมันว่า "ฟีเจอร์ที่ได้รับการออกแบบ" รวมถึงฟีเจอร์ที่คุณพูดถึง X1, X2, X3 ด้วย?
mskw

ฉันจะแก้ไขคำตอบเพื่อแสดงความคิดเห็นของคุณ
Haitao Du

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

3

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

Nyj=f(i=1Nwjixi+bj)fwjixibjมีอคติบางอย่าง น้ำหนักถูกเลือกโดยอัลกอริธึมการปรับให้เหมาะสมเพื่อเพิ่มประสิทธิภาพวัตถุประสงค์ของเราเช่นลดข้อผิดพลาดการจัดหมวดหมู่ การกำหนดค่าเริ่มต้นเป็นสิ่งสำคัญมากสำหรับอัลกอริธึมการไล่ระดับสีที่มักใช้ในการเพิ่มน้ำหนัก ดูhttps://intoli.com/blog/neural-network-initialization/ซึ่งหากน้ำหนักทั้งหมดเริ่มต้นที่ 0 เครือข่ายจะไม่สามารถเรียนรู้ได้

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