[1] ตอบคำถาม:
ก่อนอื่นไม่ควรตั้งค่าตุ้มน้ำหนักให้เป็นศูนย์เพื่อให้สมมาตรแตกหักเมื่อทำการ backprogragating:
โดยทั่วไปอคติสามารถเริ่มต้นได้ที่ศูนย์ แต่น้ำหนักจะต้องเริ่มต้นใหม่อย่างระมัดระวังเพื่อแยกสมมาตรระหว่างหน่วยที่ซ่อนอยู่ในชั้นเดียวกัน เนื่องจากหน่วยเอาท์พุทที่แตกต่างกันได้รับสัญญาณการไล่ระดับสีที่แตกต่างกันปัญหาการแตกหักแบบสมมาตรนี้ไม่เกี่ยวข้องกับตุ้มน้ำหนักเอาต์พุต (เป็นหน่วยเอาต์พุต) ซึ่งสามารถตั้งค่าเป็นศูนย์ได้เช่นกัน
กลยุทธ์การเริ่มต้นบางอย่าง:
- [2] และ [3] แนะนำการปรับสเกลโดยอินเวอร์สของสแควร์รูทของพัดลมอิน
- Glorot และ Bengio (2010) และบทเรียนการเรียนรู้แบบลึกใช้การผสมผสานระหว่าง fan-in และ fan-out:
- สำหรับหน่วยไฮเพอร์โบลิกแทนเจนต์: ตัวอย่างชุด (-r, r) ด้วยr=6fan-in+fan-out−−−−−−−−−√
- r=46fan-in+fan-out−−−−−−−−−√
- ในกรณีของ RBMs, Gaussian แบบ zero-Mean ที่มีค่าเบี่ยงเบนมาตรฐานขนาดเล็กประมาณ 0.1 หรือ 0.01 ทำงานได้ดี (Hinton, 2010) เพื่อเริ่มต้นน้ำหนัก
- การกำหนดค่าเริ่มต้นแบบสุ่มเมทริกซ์แบบมุมฉากเช่น
W = np.random.randn(ndim, ndim); u, s, v = np.linalg.svd(W)
นั้นใช้u
เป็นเมทริกซ์การเริ่มต้นของคุณ
นอกจากนี้การฝึกอบรมล่วงหน้าที่ไม่มีผู้ดูแลอาจช่วยในบางสถานการณ์:
ทางเลือกที่สำคัญคือควรใช้การฝึกอบรมล่วงหน้าแบบไม่สำรอง (และอัลกอริทึมการเรียนรู้คุณลักษณะที่ไม่ได้รับอนุญาตให้ใช้) เพื่อเริ่มต้นพารามิเตอร์ ในการตั้งค่าส่วนใหญ่เราพบว่าไม่มีการฝึกอบรมล่วงหน้าเพื่อช่วยเหลือและไม่ค่อยจะเจ็บปวด แต่แน่นอนว่ามันหมายถึงเวลาการฝึกอบรมเพิ่มเติมและพารามิเตอร์ไฮเปอร์เพิ่มเติม
ห้องสมุด ANN บางแห่งมีรายการที่น่าสนใจเช่นLasagne :
Constant([val]) Initialize weights with constant value.
Normal([std, mean]) Sample initial weights from the Gaussian distribution.
Uniform([range, std, mean]) Sample initial weights from the uniform distribution.
Glorot(initializer[, gain, c01b]) Glorot weight initialization.
GlorotNormal([gain, c01b]) Glorot with weights sampled from the Normal distribution.
GlorotUniform([gain, c01b]) Glorot with weights sampled from the Uniform distribution.
He(initializer[, gain, c01b]) He weight initialization.
HeNormal([gain, c01b]) He initializer with weights sampled from the Normal distribution.
HeUniform([gain, c01b]) He initializer with weights sampled from the Uniform distribution.
Orthogonal([gain]) Intialize weights as Orthogonal matrix.
Sparse([sparsity, std]) Initialize weights as sparse matrix.
[1] Bengio, Yoshua " คำแนะนำการปฏิบัติสำหรับการฝึกอบรมสถาปัตยกรรมเชิงลึกแบบไล่โทนสี " Neural Networks: Tricks of the Trade Springer Berlin Heidelberg, 2012 437-478
[2] LeCun, Y. , Bottou, L. , Orr, GB และ Muller, K. (1998a) backprop ที่มีประสิทธิภาพ ในโครงข่ายประสาท, เทคนิคของการค้า
[3] Glorot, Xavier และ Yoshua Bengio " ทำความเข้าใจกับความยากลำบากของการฝึกอบรมเครือข่ายนิวรัลไปข้างหน้าอย่างลึกซึ้ง " การประชุมระหว่างประเทศเกี่ยวกับปัญญาประดิษฐ์และสถิติ 2010