ฟังก์ชั่นการคูณโดยประมาณของโครงข่ายใยประสาทเทียมโดยที่ไม่สามารถทำให้เป็นมาตรฐานได้หรือไม่?


27

สมมติว่าเราต้องการถดถอยอย่างง่ายf = x * yโดยใช้เครือข่ายโครงข่ายประสาทในระดับลึก

ฉันจำได้ว่ามี reseraches ที่บอกว่า NN ที่มีหนึ่ง hiden layer สามารถ apoximate ฟังก์ชั่นใด ๆ ได้ แต่ฉันได้ลองและไม่มี normalization NN ก็ไม่สามารถประมาณได้แม้แต่การคูณง่าย ๆ นี้ บันทึกการทำข้อมูลให้เป็นมาตรฐานเท่านั้นช่วยm = x*y => ln(m) = ln(x) + ln(y). แต่ดูเหมือนว่าโกง NN สามารถทำสิ่งนี้โดยไม่ใช้บันทึกการทำให้เป็นมาตรฐานได้หรือไม่? เห็นได้ชัดว่า unswer (สำหรับฉัน) - ใช่แล้วดังนั้นคำถามคือสิ่งที่ควรเป็นประเภท / การกำหนดค่า / รูปแบบของ NN เช่นนั้น?

คำตอบ:


13

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

  1. หารด้วยค่าคงที่ เราแค่หารทุกอย่างก่อนการเรียนรู้และคูณด้วย
  2. ใช้บันทึกมาตรฐาน มันทำให้การคูณเป็นการเพิ่มเติม:

    ม.=xYLN(ม.)=LN(x)+LN(Y)


5

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

นี้ชนิดของการตอบมันแม้ว่ามันจะเป็นคำอธิบายยาว บทสรุปของฉันอาจเป็นได้ว่าแบบจำลองของ NN มีพื้นผิวของฟังก์ชันมากกว่าฟังก์ชันนั้น สิ่งที่ชัดเจนในการหวนกลับ ...


5

NN พร้อมฟังก์ชั่นการเปิดใช้งาน relu สามารถประมาณการคูณได้เมื่อช่วงของอินพุตถูก จำกัด relu(x) = max(x, 0)จำได้ว่า

มันเป็นพอถ้า NN ใกล้เคียงกับตารางการทำงานเพราะg(z) = z^2 x*y = ((x-y)^2 - x^2 - y^2)/(-2)ด้านขวามีเพียงการผสมเชิงเส้นและกำลังสอง

NN สามารถประมาณค่าได้z^2ด้วยฟังก์ชันเชิงเส้นแบบต่อเนื่อง ตัวอย่างเช่นในช่วง[0, 2]การรวมกันของxและrelu(2(x-1))ไม่เลว รูปด้านล่างแสดงภาพนี้ ไม่มีความคิดว่าสิ่งนี้มีประโยชน์นอกเหนือจากทฤษฎี :-) ป้อนคำอธิบายรูปภาพที่นี่


0

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


0

ฉันไม่สามารถแสดงความคิดเห็นเนื่องจากเป็นผู้ใช้ที่เพิ่งเปิดใช้งานใหม่ใน StackExchange แต่ฉันคิดว่านี่เป็นคำถามที่สำคัญเพราะ friggin ง่ายต่อการเข้าใจ แต่ยากที่จะอธิบาย ด้วยความเคารพฉันไม่คิดว่าคำตอบที่ยอมรับนั้นเพียงพอ หากคุณคิดเกี่ยวกับการดำเนินการหลักของ NN มาตรฐานการส่งต่อด้วยการเปิดใช้งานแบบฟอร์มs(W*x+b)สำหรับฟังก์ชั่นการเปิดใช้งานแบบไม่เชิงเส้นบางอย่างsแท้จริงแล้วมันไม่ชัดเจนว่าจะ "รับ" การคูณจากสิ่งนี้ได้อย่างไร การปรับขนาด (กระสุนแรกในคำตอบที่ยอมรับได้) ดูเหมือนจะไม่สามารถตอบคำถามได้เลย ... อินพุตxและyอาจแตกต่างกันสำหรับทุกตัวอย่าง และการบันทึกเป็นเรื่องปกติตราบใดที่คุณรู้นั่นคือสิ่งที่คุณต้องทำและดูแลปัญหาการลงชื่อในการประมวลผลล่วงหน้า (เนื่องจากบันทึกไม่ได้ถูกกำหนดไว้อย่างชัดเจนสำหรับอินพุตเชิงลบ) แต่พื้นฐานนี้ไม่ได้หลอกลวงด้วยความคิดที่ว่าเครือข่ายประสาทสามารถ "เรียนรู้" (มันให้ความรู้สึกเหมือนการโกงตามที่ OP กล่าว) ฉันไม่คิดว่าคำถามควรได้รับการพิจารณาตอบจนกว่าจะมีใครฉลาดกว่าฉันจริง ๆ !

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