ฝึกอบรมโครงข่ายประสาทเทียม


11

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

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

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

กล่าวอีกนัยหนึ่งเนื่องจากน้ำหนักถูกแชร์ฉันจะตัดสินใจได้อย่างไรว่าต้องเปลี่ยนน้ำหนักด้วย

คำตอบ:


13

คุณต้องคำนวณการอัปเดตทั้งหมดของคุณก่อนราวกับว่ายังไม่ได้แชร์ แต่แค่เก็บไว้อย่าเพิ่งทำการอัพเดทใด ๆ

ให้เป็นน้ำหนักที่ปรากฏในตำแหน่งในเครือข่ายของคุณและโดยที่คืออัตราการเรียนรู้และเป็นฟังก์ชันวัตถุประสงค์ของคุณ โปรดทราบว่า ณ จุดนี้หากคุณไม่มีการแบ่งปันน้ำหนักคุณจะเพิ่มขึ้นเป็น เพื่อจัดการกับน้ำหนักที่ใช้ร่วมกันคุณจะต้องสรุปการอัปเดตแต่ละรายการ ดังนั้นให้ตั้งค่า จากนั้นอัปเดต wkIk={(i,j):wi,j=wk}Δwi,j=ηJwi,jηJwi,j

wi,j=wi,j+Δwi,j.
Δwk=(i,j)IkΔwi,j
wk=wk+Δwk.

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