Deep Learning Academy · บทเรียน

ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น

ส่วนเหลือที่เอาชนะเกรเดียนต์หาย

บทเรียน 3 จาก 413 ขั้นตอน

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. LeNet และ AlexNet: ชัยชนะครั้งแรก
  2. VGG: การวางตัวกรองขนาดเล็กซ้อนกัน
  3. ResNet: การเชื่อมข้ามทำให้โครงข่ายลึกขึ้น
  4. โหลดโมเดล torchvision
← กลับไปที่ Deep Learning Academy