ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น
ส่วนเหลือที่เอาชนะเกรเดียนต์หาย
ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น เป็นบทเรียน Deep Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Deep Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
ลึกขึ้นกลับแย่ลง
น่าประหลาดใจที่โครงข่ายธรรมดาซึ่งลึกเกินจุดหนึ่งกลับฝึกได้แย่ลงเมื่อเพิ่มความลึก ทั้งที่เลเยอร์ที่มากขึ้นไม่ควรทำให้แย่ลง แต่กลับเป็นเช่นนั้น มีบางอย่าง ผิดพลาด
ต้นเหตุที่แท้จริง
เกรเดียนต์มีขนาดเล็กลงขณะไหลย้อนกลับผ่านเลเยอร์จำนวนมาก ปัญหานี้เรียกว่า เกรเดียนต์หายไป ทำให้โครงข่ายลึกหยุดเรียนรู้
การเชื่อมต่อแบบข้าม
วิธีแก้ของ ResNets สง่างามมาก: เพิ่ม ทางลัดที่ให้ข้อมูลขาเข้าข้ามบล็อกไป แล้วนำมาบวกกับผลลัพธ์ได้โดยตรง
เรียนรู้ส่วนตกค้าง
แทนที่จะเรียนรู้การแปลงทั้งหมด แต่ละบล็อกจะเรียนรู้เพียง ส่วนตกค้าง ซึ่งคือการเปลี่ยนแปลงเล็ก ๆ ที่จะนำไปบวกเพิ่มจากข้อมูลขาเข้า
ปล่อยให้คงเดิมได้ง่าย
หากบล็อกหนึ่งไม่มีประโยชน์ บล็อกนั้นก็เรียนรู้ค่าเป็นศูนย์แล้วส่งข้อมูลขาเข้าผ่านไปตรง ๆ ได้ การ ไม่ทำอะไรจึงกลายเป็นเรื่องง่าย
ทางด่วนของเกรเดียนต์
ทางลัดสร้างเส้นทางย้อนกลับที่สะอาดสำหรับเกรเดียนต์ ทำให้แม้แต่ โครงข่ายที่ลึกมากก็ยังเรียนรู้ต่อได้
บล็อกส่วนตกค้าง
บล็อกจะคำนวณผ่านเลเยอร์บางส่วน แล้วนำข้อมูลขาเข้าเดิมกลับมาบวก การ บวกเพียงครั้งเดียวนั้นคือกลเม็ดทั้งหมด
def forward(self, x):
out = self.conv_layers(x)
return self.relu(out + x)ก้าวสู่ความลึกอย่างมาก
ด้วยทางลัด ResNet ฝึกได้ถึง 50, 101 และแม้แต่ 152 เลเยอร์ และชนะการแข่งขัน ImageNet ในปี 2015 ในที่สุด ความลึกก็ให้ผลตอบแทน
บล็อกคอขวด
ResNets ที่ลึกขึ้นใช้ คอขวดขนาด 1x1, 3x3, 1x1 เพื่อลดการคำนวณโดยยังคงความสามารถในการแทนข้อมูลไว้
เอกลักษณ์อยู่ทุกที่
แนวคิดส่วนตกค้างนี้แพร่หลายไปไกลเกินกว่างานด้านภาพ ทรานส์ฟอร์เมอร์และโครงข่ายสมัยใหม่จำนวนมากต่างใช้ทางลัดแบบ เอกลักษณ์เดียวกัน
บล็อก ResNet ขนาดเล็ก
คุณสามารถร่างแก่นของมันได้ในไม่กี่บรรทัด: ทำคอนโวลูชัน แล้วบวกข้อมูลขาเข้าเดิมกลับก่อนการกระตุ้น นี่คือ รูปแบบของมัน
out = bn(conv(x))
out = relu(out + x) # the skip connectionตรวจสอบอย่างรวดเร็ว
มุ่งความสนใจไปที่สิ่งที่การเชื่อมต่อแบบข้ามทำให้เกิดขึ้นจริง
สรุป: ทางลัดคว้าชัย
การเชื่อมต่อแบบข้ามของ ResNets ทำให้การฝึกโครงข่ายที่ลึกมากเป็นไปได้ โดยให้บล็อกเรียนรู้ส่วนตกค้าง การบวกเพียงครั้งเดียวเปลี่ยนแปลงทุกอย่าง ความก้าวหน้าที่ยอดเยี่ยม
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Deep Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น”
ส่วนเหลือที่เอาชนะเกรเดียนต์หาย คุณปฏิบัติ Deep Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Deep Learning Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Deep Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Deep Learning Academy นี้ได้ไหม
ได้ บทเรียน Deep Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- LeNet และ AlexNet: ชัยชนะครั้งแรก
- VGG: การวางตัวกรองขนาดเล็กซ้อนกัน
- ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น
- โหลดโมเดล torchvision