บทเรียนทั้งหมด

คอร์ส

AI ม.4: การเรียนรู้เชิงลึกและ AI หลายรูปแบบ

สร้างและฝึกโครงข่ายประสาทใน PyTorch สำหรับรูป ข้อความ และเสียง

เรียนบทตามลำดับ เมื่อจบแล้ว หนูคำนวณเอาต์พุตของนิวรอนได้ เปรียบเทียบฟังก์ชันกระตุ้น ReLU, sigmoid และ softmax ได้ และเขียนการส่งไปข้างหน้าของโครงข่ายเล็กด้วย NumPy ได้ หนูเลือกค่าความสูญเสียได้ อธิบายการเคลื่อนลงตามเกรเดียนต์และการแพร่ย้อนกลับได้ และเขียนสคริปต์ที่มีวงรอบฝึกและทดสอบครบใน PyTorch ได้ หนูฝึกตัวจำแนกรูปด้วย CNN ได้ ฝึกตัวจำแนกความรู้สึกให้แยกบทวิจารณ์ด้านบวกกับด้านลบได้ อธิบายว่าความสนใจถ่วงน้ำหนักโทเคนอื่นอย่างไรได้ และจำแนกคลิปเสียงสั้นได้ หนูลดการท่องจำได้ ปรับจูนโมเดลที่ฝึกมาแล้วบนคลาสใหม่ได้ จัดกลุ่มความผิดพลาดและหาสาเหตุได้ และนำเสนอเครื่องเฝ้าดูสัตว์ป่าอัจฉริยะที่ทดสอบกับรูปที่ไม่เคยเห็น

ใช้บทเรียนเหล่านี้ยังไง

  • เริ่มที่บทที่เขียนว่า ทำอันนี้ ทำบรรทัดใต้ชื่อได้เองแล้ว ค่อยไปต่อ
  • เล่นเกมก่อน แล้วทำแบบทดสอบ ผ่านเมื่อถูก 8/10 ข้อ ใบงานอยู่บนกระดาษ เฉลยอยู่ด้านล่าง
  • แต่ละบทต่อจากบทก่อน จดทุกรอบที่ฝึก: ค่าที่ตั้ง เส้นกราฟความสูญเสีย และคะแนนทดสอบ
  • บทเขียนโค้ดใช้ Python และ PyTorch ในสมุดออนไลน์ฟรีที่มี GPU โมเดลเล็กและชุดข้อมูลเล็กก็พอ ใช้เฉพาะชุดข้อมูลเปิดที่หนูใช้ได้ อย่าฝึกด้วยรูปคนถ้าไม่ได้รับอนุญาต

แต่ละบทมีเกม แบบทดสอบ และใบงาน

0/36

พื้นฐานโครงข่ายประสาท

  1. 1นิวรอนคำนวณเอาต์พุตของนิวรอนจากอินพุต น้ำหนัก และไบแอส
    • เขียนผลรวมถ่วงน้ำหนักบวกไบแอส
    • คำนวณด้วยมือสำหรับอินพุตสามตัว
    • คำนวณในโค้ดด้วยผลคูณจุด
  2. 2ฟังก์ชันกระตุ้นเปรียบเทียบฟังก์ชันกระตุ้น ReLU, sigmoid และ softmax
    • วาดกราฟของแต่ละฟังก์ชันกระตุ้น
    • อธิบายว่าทำไมโครงข่ายต้องมีฟังก์ชันกระตุ้นไม่เชิงเส้น
    • ใช้ softmax เปลี่ยนคะแนนเป็นความน่าจะเป็น
  3. 3ชั้นและโครงข่ายซ้อนชั้นเป็นโครงข่าย
    • เขียนชั้นเป็นการคูณเมทริกซ์
    • ติดตามรูปร่างของข้อมูลในแต่ละชั้น
    • นับพารามิเตอร์ของโครงข่าย
  4. 4โครงข่ายเล็กเขียนการส่งไปข้างหน้าของโครงข่ายเล็กด้วย NumPy
    • สร้างโครงข่ายสองชั้นใน NumPy
    • ส่งแบตช์ของอินพุตผ่านมัน
    • ตรวจรูปร่างของเอาต์พุต

การฝึกโครงข่ายประสาท

  1. 5ค่าความสูญเสียเลือกค่าความสูญเสียให้งาน แล้วคำนวณมัน
    • ใช้ค่าคลาดเคลื่อนกำลังสองเฉลี่ยสำหรับการถดถอย
    • ใช้ครอสเอนโทรปีสำหรับการจำแนก
    • บอกว่าค่าความสูญเสียที่ลดลงหมายถึงอะไร
  2. 6การเคลื่อนลงตามเกรเดียนต์อธิบายว่าการเคลื่อนลงตามเกรเดียนต์ขยับน้ำหนักลงเขาอย่างไร
    • หาความชันของเส้นกราฟความสูญเสีย
    • ก้าวด้วยอัตราการเรียนรู้
    • ดูว่าเกิดอะไรเมื่ออัตราใหญ่ไปหรือเล็กไป
  3. 7การแพร่ย้อนกลับตามการแพร่ย้อนกลับของความผิดพลาดย้อนผ่านโครงข่าย
    • ใช้กฎลูกโซ่กับโครงข่ายจิ๋ว
    • คำนวณเกรเดียนต์หนึ่งตัวด้วยมือ
    • เทียบกับอนุพันธ์อัตโนมัติ
  4. 8ฝึกโครงข่ายฝึกโครงข่ายเล็ก แล้ววาดกราฟค่าความสูญเสีย
    • ฝึกด้วยมินิแบตช์
    • วาดค่าความสูญเสียของชุดฝึกและชุดตรวจสอบ
    • หยุดเมื่อค่าความสูญเสียของชุดตรวจสอบไม่ดีขึ้น

เฟรมเวิร์กการเรียนรู้เชิงลึก

  1. 9เทนเซอร์สร้างเทนเซอร์ PyTorch และเปลี่ยนรูปร่าง
    • สร้างเทนเซอร์ แล้วตรวจรูปร่างและชนิด
    • เปลี่ยนรูปร่าง ซ้อน และตัดส่วน
    • ย้ายเทนเซอร์ไป GPU
  2. 10มอดูลสร้างโมเดลด้วยมอดูลของ torch.nn
    • สร้างคลาสลูกของ nn.Module
    • ใช้ชั้น Linear และชั้นฟังก์ชันกระตุ้น
    • พิมพ์โมเดลและจำนวนพารามิเตอร์
  3. 11ตัวปรับเหมาะฝึกด้วยตัวปรับเหมาะ SGD และ Adam
    • ใช้ zero_grad, backward และ step
    • เปรียบเทียบ SGD กับ Adam ในงานเดียว
    • ใช้ตารางอัตราการเรียนรู้
  4. 12สคริปต์ฝึกเขียนสคริปต์ที่มีวงรอบฝึกและทดสอบครบ
    • โหลดข้อมูลด้วย DataLoader
    • ฝึก ตรวจสอบ และทดสอบ
    • บันทึกโมเดลที่ดีที่สุด

คอมพิวเตอร์วิทัศน์

  1. 13รูปเป็นเทนเซอร์โหลดรูปเป็นเทนเซอร์ แล้วทำให้เป็นมาตรฐาน
    • โหลดรูปเป็นช่อง ความสูง และความกว้าง
    • ปรับขนาด แล้วทำให้เป็นมาตรฐาน
    • แสดงแบตช์เป็นตาราง
  2. 14คอนโวลูชันอธิบายว่าตัวกรองคอนโวลูชันหาขอบอย่างไร
    • เลื่อนตัวกรอง 3×3 บนรูปด้วยมือ
    • ใช้ตัวกรองขอบในโค้ด
    • อธิบาย stride, padding และ pooling
  3. 15CNNสร้างโครงข่ายประสาทแบบคอนโวลูชัน คือ CNN
    • ซ้อนชั้นคอนโวลูชัน ฟังก์ชันกระตุ้น และ pooling
    • คลี่ออก แล้วใส่หัวตัวจำแนก
    • ติดตามรูปร่างตลอดโครงข่าย
  4. 16ตัวจำแนกรูปฝึกตัวจำแนกรูปด้วย CNN
    • ฝึกบนชุดรูปเล็ก
    • รายงานความถูกต้องบนชุดทดสอบ
    • แสดงรูปที่มันจำแนกผิด

การประมวลผลภาษาธรรมชาติ

  1. 17การตัดเป็นโทเคนตัดเป็นโทเคน: เปลี่ยนข้อความเป็นโทเคนและ ID
    • เปรียบเทียบโทเคนคำกับโทเคนส่วนของคำ
    • สร้างคลังคำ
    • เติมลำดับให้ยาวเท่ากัน
  2. 18เอ็มเบดดิงอธิบายว่าเอ็มเบดดิงวางคำที่คล้ายกันไว้ใกล้กันอย่างไร
    • ใช้ชั้นเอ็มเบดดิง
    • หาคำที่ใกล้คำหนึ่งที่สุด
    • วาดเอ็มเบดดิงในสองมิติ
  3. 19โมเดลข้อความสร้างโมเดลข้อความที่อ่านลำดับของโทเคน
    • เฉลี่ยเอ็มเบดดิงเป็นเวกเตอร์เดียว
    • ใช้ชั้นวนซ้ำอย่างง่าย
    • เปรียบเทียบทั้งสองแบบ
  4. 20ตัวจำแนกความรู้สึกฝึกตัวจำแนกความรู้สึกให้แยกบทวิจารณ์ด้านบวกกับด้านลบ
    • ฝึกบนชุดบทวิจารณ์
    • รายงานความถูกต้อง ความแม่นยำ และความครอบคลุม
    • หาบทวิจารณ์ที่หลอกมัน เช่น การเสียดสี

ทรานส์ฟอร์เมอร์

  1. 21ความสนใจอธิบายว่าความสนใจถ่วงน้ำหนักโทเคนอื่นอย่างไร
    • อธิบายคำถาม คีย์ และค่า
    • คำนวณน้ำหนักความสนใจของประโยคสั้น
    • บอกว่าทำไมความสนใจช่วยความหมายระยะไกล
  2. 22บล็อกทรานส์ฟอร์เมอร์บอกชื่อส่วนของบล็อกทรานส์ฟอร์เมอร์
    • บอกชื่อความสนใจหลายหัว ชั้น feed-forward และชั้นนอร์มัลไลเซชัน
    • อธิบายการเชื่อมแบบตกค้าง
    • อธิบายการเข้ารหัสตำแหน่ง
  3. 23โมเดลที่ฝึกมาแล้วใช้โมเดลทรานส์ฟอร์เมอร์ที่ฝึกมาแล้วกับงานหนึ่ง
    • โหลดโมเดลที่ฝึกมาแล้วและตัวตัดโทเคน
    • จำแนกข้อความด้วยมัน
    • เทียบกับโมเดลความรู้สึกของหนูเอง
  4. 24แผนที่ความสนใจอ่านแผนที่ความสนใจ
    • วาดน้ำหนักความสนใจเป็นแผนที่ความร้อน
    • หาว่าโทเคนสนใจคำไหน
    • บอกว่าทำไมความสนใจไม่ใช่คำอธิบายทั้งหมด

เสียงและ AI หลายรูปแบบ

  1. 25เสียงเป็นข้อมูลเปลี่ยนเสียงที่เป็นข้อมูลเป็นรูปคลื่นและสเปกโตรแกรม
    • โหลดเสียง แล้ววาดรูปคลื่น
    • อธิบายอัตราการสุ่ม
    • ทำสเปกโตรแกรม
  2. 26ตัวจำแนกเสียงจำแนกคลิปเสียงสั้นด้วยตัวจำแนกเสียง
    • มองสเปกโตรแกรมเป็นรูป
    • ฝึก CNN บนสเปกโตรแกรม
    • ทดสอบด้วยเสียงรบกวนพื้นหลัง
  3. 27อินพุตหลายรูปแบบอธิบายว่าโมเดลรวมอินพุตหลายรูปแบบของรูปและข้อความอย่างไร
    • อธิบายตัวเข้ารหัสแยกสำหรับแต่ละอินพุต
    • อธิบายพื้นที่เอ็มเบดดิงที่ใช้ร่วมกัน
    • บอกชื่อแอปหลายรูปแบบสามแอป
  4. 28รูปและข้อความจับคู่รูปและข้อความ: จับรูปกับคำบรรยายด้วยโมเดลที่ฝึกมาแล้ว
    • ทำเอ็มเบดดิงของรูปและคำบรรยาย
    • จัดอันดับคำบรรยายของแต่ละรูป
    • ค้นรูปด้วยข้อความ

การปรับปรุงโมเดล

  1. 29การปรับเรกูลาร์ลดการท่องจำด้วยการปรับเรกูลาร์: dropout และการลดน้ำหนัก
    • ใส่ dropout
    • ใส่การลดน้ำหนัก
    • เปรียบเทียบเส้นกราฟชุดตรวจสอบ
  2. 30การเสริมข้อมูลทำการเสริมข้อมูล: เพิ่มรูปที่พลิกและที่ตัดเข้าชุดฝึก
    • ใช้การพลิก การตัด และเปลี่ยนสี
    • เสริมเฉพาะชุดฝึก
    • วัดการเปลี่ยนของความถูกต้องบนชุดทดสอบ
  3. 31การถ่ายโอนการเรียนรู้ใช้การถ่ายโอนการเรียนรู้เพื่อปรับจูนโมเดลที่ฝึกมาแล้วบนคลาสใหม่
    • แช่แข็งชั้นที่ฝึกมาแล้ว
    • เปลี่ยนหัว แล้วฝึกหัว
    • ละลาย แล้วปรับจูนด้วยอัตราการเรียนรู้เล็ก
  4. 32การวิเคราะห์ความผิดพลาดทำการวิเคราะห์ความผิดพลาด: จัดกลุ่มความผิดพลาดและหาสาเหตุ
    • อ่านเมทริกซ์ความสับสนของหลายคลาส
    • แยกความผิดพลาดเป็นกลุ่ม
    • เลือกทางแก้ของกลุ่มที่ใหญ่สุด

โครงงานการเรียนรู้เชิงลึก

  1. 33ข้อมูลสัตว์ป่าเลือกและแบ่งชุดข้อมูลรูปเปิดของสัตว์ป่า
    • เลือกชุดข้อมูลเปิดของกล้องดักถ่ายหรือสัตว์ป่า
    • เลือกชนิด 5 ถึง 10 ชนิด
    • แบ่งตามสถานที่ เพื่อให้การทดสอบยุติธรรม
  2. 34ปรับจูนโมเดลปรับจูนโมเดลตัวจำแนกรูปบนคลาสสัตว์ป่า
    • ปรับจูนโมเดลที่ฝึกมาแล้ว
    • ติดตามความถูกต้องของชุดตรวจสอบ
    • บันทึกจุดตรวจที่ดีที่สุด
  3. 35หน้าเดโมสร้างหน้าเดโมที่แสดงคำทำนายของรูปที่อัปโหลด
    • รับรูปที่อัปโหลด
    • แสดงสามชนิดอันดับแรกและคะแนน
    • แสดง «ไม่แน่ใจ» เมื่อความมั่นใจต่ำ
  4. 36เครื่องเฝ้าดูสัตว์ป่าอัจฉริยะนำเสนอเครื่องเฝ้าดูสัตว์ป่าอัจฉริยะ: ความถูกต้องบนรูปที่ไม่เคยเห็น และความผิดพลาดหลัก
    • รายงานความถูกต้องบนรูปที่ไม่เคยเห็น
    • แสดงความผิดพลาดหลักและสาเหตุ
    • บอกว่าจะเปลี่ยนอะไรต่อ