ทำไมเราต้องทำให้อินพุตของเครือข่ายประสาทเทียมเป็นปกติ?


151

มันเป็นคำถามหลักเกี่ยวกับทฤษฎีของโครงข่ายประสาทเทียม:

ทำไมเราต้องทำให้อินพุตของเครือข่ายประสาทเป็นปกติ?

ฉันเข้าใจว่าบางครั้งเมื่อเช่นค่าที่ป้อนเข้าไม่ใช่ตัวเลขต้องทำการแปลงบางอย่าง แต่เมื่อเรามีอินพุตที่เป็นตัวเลข ทำไมตัวเลขต้องอยู่ในช่วงเวลาที่แน่นอน?

จะเกิดอะไรขึ้นหากข้อมูลไม่ได้มาตรฐาน


1
ฉันโหวตให้ปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากเป็นของ Stats SE หรือ AI SE
nbro

คำตอบ:


101

มันอธิบายได้ดีที่นี่

หากตัวแปรอินพุตถูกรวมเป็นเส้นตรงเช่นเดียวกับใน MLP [multilayer perceptron] มันก็ไม่ค่อยจำเป็นที่จะต้องสร้างมาตรฐานอินพุตอย่างน้อยก็ในทางทฤษฎี เหตุผลคือการลดขนาดของอินพุตเวกเตอร์ใด ๆ สามารถยกเลิกได้อย่างมีประสิทธิภาพโดยการเปลี่ยนน้ำหนักและอคติที่สอดคล้องกันทำให้คุณมีเอาต์พุตเหมือนเดิมเหมือนเดิม อย่างไรก็ตามมีเหตุผลหลายประการที่ใช้งานได้จริงว่าทำไมการป้อนค่ามาตรฐานให้สามารถฝึกอบรมได้เร็วขึ้นและลดโอกาสที่จะติดอยู่ใน Optima ท้องถิ่น นอกจากนี้การลดน้ำหนักและการประมาณแบบเบย์สามารถทำได้สะดวกยิ่งขึ้นด้วยอินพุตมาตรฐาน


2
สวัสดีใน MLPs ไม่สามารถสร้างมาตรฐานให้กับคุณลักษณะในขณะที่ใช้อัตราการเรียนรู้คงที่เป็นสาเหตุให้มีการชดเชยส่วนเกิน / ต่ำกว่าในการแก้ไข backpropagation สำหรับมิติที่แตกต่างกัน? ฉันสงสัยว่าจากการโพสต์ต่อไปนี้ถ้าเป็นเอกสิทธิ์ของCNN หรือ MLP
Austin

ปัญหา: ตัวเลือกไล่ระดับสี กระบวนการอาจใช้เวลานานขึ้น ทำไม? เมื่อคุณสมบัติมีขนาดแตกต่างกัน (x1 = 0-1 และ x2 = 0..1000) พื้นผิวของฟังก์ชันข้อผิดพลาดอาจยืดออก เกล็ดที่แตกต่างกันสำหรับ dims ที่แตกต่างกัน (w1, w2) แต่อัตราการเรียนรู้คือSAMEสำหรับ dims ทั้งหมด -> ขั้นตอนในสลัวยาว (w2) มีขนาดเล็กมากจนกระทั่งถึงนาทีท้องถิ่น ปัญหา: ไม่สามารถ inc LR ได้เนื่องจากจะข้ามนาทีโลคัลในสลัวอื่น (w1) ดูตัวอย่างได้ที่youtube.com/watch?reload=9&v=UIp2CMI0748
Dekel

นี่เป็นตัวอย่างเชิงเส้นที่สิ่งที่เลวร้ายมากโดยไม่ต้องปรับขนาด: stackoverflow.com/q/59319643 มีความคิดอะไรไหม
AlwaysLearning

62

ในเครือข่ายนิวรัลมันเป็นความคิดที่ดีไม่เพียง แต่จะทำให้ข้อมูลเป็นมาตรฐาน สิ่งนี้มีไว้สำหรับการเข้าใกล้ minima โลกอย่างรวดเร็วที่พื้นผิวข้อผิดพลาด ดูภาพต่อไปนี้: ข้อผิดพลาดพื้นผิวก่อนและหลังการฟื้นฟู

ข้อผิดพลาดพื้นผิวก่อนและหลังการปรับ

รูปภาพถูกถ่ายจากหลักสูตรของหลักสูตรเกี่ยวกับโครงข่ายประสาท ผู้เขียนหลักสูตรคือเจฟฟรีย์ฮินตัน


14
คงจะเป็นเรื่องดีที่คุณให้เครดิตกับผู้แต่งกราฟิกที่คุณโพสต์ กราฟิกถูกนำอย่างชัดเจนจากหลักสูตร Coursera เจฟฟรีย์ฮินตันของ
Ricardo Cruz

5
ฉันพบว่าวิดีโอนี้มีประโยชน์จริง ๆ ในการอธิบายแผนภาพด้านบนซึ่งในตัวของมันเองนั้นไม่ชัดเจนสำหรับฉัน
chris838

21

อินพุตบางตัวไปยัง NN อาจไม่มีช่วงของค่า 'กำหนดโดยธรรมชาติ' ตัวอย่างเช่นค่าเฉลี่ยอาจช้า แต่เพิ่มขึ้นอย่างต่อเนื่องเมื่อเวลาผ่านไป (ตัวอย่างเช่นจำนวนระเบียนในฐานข้อมูล)

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

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


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

11

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

พฤติกรรมที่แน่นอนของโครงข่ายประสาทในข้อโต้แย้งภายนอกโดเมนนั้นขึ้นอยู่กับการใช้งานโครงข่ายประสาท แต่โดยรวมแล้วผลลัพธ์จะไร้ประโยชน์หากข้อโต้แย้งไม่ได้อยู่ในโดเมน


16
หากคุณใช้ฟังก์ชั่นการเปิดใช้งานตามปกติ (ReLu หรือ Sigmoid) โดเมนจะเป็นพื้นที่ทั้งหมด R ^ n เสมอ ดังนั้นนี่จึงไม่ใช่เหตุผลที่ทำให้ข้อมูลเป็นปกติ
Joker123

1
สิ่งนี้ยังไม่ได้อธิบายว่าเพราะเหตุใดรูปภาพจึงถูกทำให้เป็นมาตรฐานเนื่องจากมีโดเมน 0-255
DollarAkshay

4

มี 2 ​​เหตุผลว่าทำไมเราต้องทำให้ปกติคุณสมบัติการป้อนข้อมูลก่อนส่งพวกเขาไปยังเครือข่ายประสาท:

เหตุผลที่ 1 : ถ้า a Featureอยู่ในDatasetขนาดใหญ่เมื่อเทียบกับคนอื่น ๆ คุณสมบัติการปรับขนาดใหญ่นี้มีอำนาจเหนือกว่าและจากการคาดการณ์ของ Neural Network จะไม่ถูกต้อง

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

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

ตัวอย่าง : หากเราทำการจำแนกภาพขนาดของภาพจะมีขนาดใหญ่มากเนื่องจากค่าของแต่ละพิกเซลมีค่าตั้งแต่ 0 ถึง 255 การทำให้เป็นมาตรฐานในกรณีนี้มีความสำคัญมาก

กล่าวถึงด้านล่างนี้เป็นกรณีที่การทำให้เป็นมาตรฐานมีความสำคัญมาก:

  1. K-หมายถึง
  2. K-ที่สุด-เพื่อนบ้าน
  3. การวิเคราะห์องค์ประกอบหลัก (PCA)
  4. โคตรลาด

2

ฉันเชื่อว่าคำตอบนั้นขึ้นอยู่กับสถานการณ์

พิจารณา NN (เครือข่ายประสาท) ในฐานะที่เป็นผู้ประกอบการเอฟเพื่อให้F (input) = เอาท์พุท ในกรณีที่ความสัมพันธ์นี้เป็นแบบเส้นตรงเพื่อให้F (A * input) = A * เอาต์พุตคุณอาจเลือกที่จะออกจากอินพุต / เอาต์พุตผิดปกติในรูปแบบดิบของพวกเขาหรือทำให้เป็นมาตรฐานทั้งคู่เพื่อกำจัดก. แน่นอนว่าสมมติฐานเชิงเส้นนี้ ละเมิดในงานการจัดหมวดหมู่หรือเกือบงานใด ๆ ที่ส่งออกความน่าจะเป็นโดยที่F (A * input) = 1 * เอาต์พุต

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

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

ในความหมายทางสถิติการทำให้เป็นมาตรฐานจะทำให้เกิดการเปลี่ยนแปลงที่เชื่อว่าไม่ใช่สาเหตุในการทำนายผลลัพธ์เพื่อป้องกันไม่ให้ NN เรียนรู้การเปลี่ยนแปลงนี้ในฐานะที่เป็นตัวทำนาย ( NN ไม่เห็นการเปลี่ยนแปลงนี้ดังนั้นจึงไม่สามารถใช้งานได้ )


2

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

พิจารณาคุณสมบัติ x1 และ x2 โดยมีช่วงตั้งแต่ 0 ถึง 1 และ 0 ถึง 1 ล้านตามลำดับ มันจะเปลี่ยนอัตราส่วนสำหรับพารามิเตอร์ที่สอดคล้องกัน (เช่น w1 และ w2) ก็จะมีขนาดใหญ่เช่นกัน

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


1

เหตุผลที่ต้องมีการปรับสภาพให้เป็นมาตรฐานคือถ้าคุณดูว่าขั้นตอนการปรับตัวทำได้อย่างไรในที่เดียวในโดเมนของฟังก์ชันและคุณเพียงแค่ส่งปัญหาไปยังขั้นตอนเดียวกันที่แปลโดยค่าขนาดใหญ่ในทิศทางเดียว โดเมนจากนั้นคุณจะได้รับผลลัพธ์ที่แตกต่างกัน มันเดือดลงไปที่คำถามของการปรับชิ้นส่วนเชิงเส้นเป็นจุดข้อมูล ชิ้นส่วนควรเคลื่อนที่โดยไม่มีการหมุนและควรตอบสนองต่อจุดฝึกซ้อมหนึ่งจุดเท่าไหร่ มันไม่มีเหตุผลที่จะมีขั้นตอนการปรับตัวที่เปลี่ยนแปลงในส่วนต่าง ๆ ของโดเมน! ดังนั้นการฟื้นฟูจึงจำเป็นต้องลดความแตกต่างในผลการฝึกอบรม ฉันยังไม่ได้เขียนสิ่งนี้ แต่คุณสามารถดูคณิตศาสตร์สำหรับฟังก์ชันเชิงเส้นอย่างง่ายและวิธีการฝึกโดยจุดฝึกอบรมหนึ่งจุดในสถานที่ที่แตกต่างกันสองแห่ง ปัญหานี้อาจได้รับการแก้ไขในบางสถานที่ แต่ฉันไม่คุ้นเคยกับพวกเขา ใน ALNs ปัญหาได้รับการแก้ไขแล้วและฉันสามารถส่งเอกสารให้คุณถ้าคุณเขียนถึง wwarmstrong AT shaw.ca


-9

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

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