pretraining คืออะไรและคุณจะฝึกฝนเครือข่ายประสาทเทียมอย่างไร


10

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

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


2
หากคุณไม่อยู่ในการตั้งค่าที่มีตัวอย่างเพียงไม่กี่ป้ายและตัวอย่างที่ไม่มีป้ายกำกับจำนวนมากการพิจารณาล่วงหน้าจะถือว่าล้าสมัย หากไม่ใช่กรณีนี้ให้ใช้ฟังก์ชันการถ่ายโอน rectifierและเครื่องมือเพิ่มประสิทธิภาพขั้นสูง (rmsprop, adadelta, adam) ทำงานได้ดีเท่ากันสำหรับเครือข่ายประสาทลึก f(x)=max(x,0)
bayerj

ใช่ฉันทำงานภายใต้ข้อสันนิษฐานว่ามีตัวอย่างที่ไม่มีป้ายกำกับจำนวนมากและตัวอย่างที่ไม่มีป้ายกำกับจำนวนน้อย
Michael Yousef

คำตอบ:


2

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

สมมติว่าคุณมี 3 RBMs คุณฝึก RBM1 กับข้อมูลของคุณ (เช่นรูปภาพจำนวนมาก) RBM2 ได้รับการฝึกฝนด้วยเอาต์พุตของ RBM1 RBM3 ได้รับการฝึกฝนด้วยเอาต์พุตของ RBM2 แนวคิดก็คือว่า RBM แต่ละรุ่นมีคุณสมบัติเป็นตัวแทนของรูปภาพและน้ำหนักที่พวกเขาเรียนรู้ในการทำเช่นนั้นมีประโยชน์ในงานการเลือกปฏิบัติอื่น ๆ เช่นการจำแนกประเภท


0

การเตรียม RBM แบบเรียงซ้อนไว้ล่วงหน้าเพื่อลดความหนาของพลังงานที่กำหนดไว้อย่างเหนียวแน่นคือเพิ่มความน่าจะเป็น G. Hinton เสนออัลกอริทึม CD-k ซึ่งสามารถดูเป็นการสุ่มซ้ำของการสุ่มตัวอย่างกิ๊บส์


ดังนั้นการเตรียม RBM แบบเรียงซ้อนไว้ล่วงหน้าจึงช่วยให้เราลดพลังงานที่กำหนดไว้และได้ผลลัพธ์ที่ดีขึ้น และอัลกอริทึม Contrastive Divergence ของ Hinton คือวิธีที่เราจะฝึกฝน pretraining ปัจจัยในการเรียนรู้คุณสมบัติพิเศษอย่างไร? ฉันคิดว่าสำหรับปัญหาความเร็วอัลกอริทึมซีดีเร็วกว่า backpropagation
Michael Yousef
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.