คอร์ส
AI ม.4: การเรียนรู้เชิงลึกและ AI หลายรูปแบบ
สร้างและฝึกโครงข่ายประสาทใน PyTorch สำหรับรูป ข้อความ และเสียง
เรียนบทตามลำดับ เมื่อจบแล้ว หนูคำนวณเอาต์พุตของนิวรอนได้ เปรียบเทียบฟังก์ชันกระตุ้น ReLU, sigmoid และ softmax ได้ และเขียนการส่งไปข้างหน้าของโครงข่ายเล็กด้วย NumPy ได้ หนูเลือกค่าความสูญเสียได้ อธิบายการเคลื่อนลงตามเกรเดียนต์และการแพร่ย้อนกลับได้ และเขียนสคริปต์ที่มีวงรอบฝึกและทดสอบครบใน PyTorch ได้ หนูฝึกตัวจำแนกรูปด้วย CNN ได้ ฝึกตัวจำแนกความรู้สึกให้แยกบทวิจารณ์ด้านบวกกับด้านลบได้ อธิบายว่าความสนใจถ่วงน้ำหนักโทเคนอื่นอย่างไรได้ และจำแนกคลิปเสียงสั้นได้ หนูลดการท่องจำได้ ปรับจูนโมเดลที่ฝึกมาแล้วบนคลาสใหม่ได้ จัดกลุ่มความผิดพลาดและหาสาเหตุได้ และนำเสนอเครื่องเฝ้าดูสัตว์ป่าอัจฉริยะที่ทดสอบกับรูปที่ไม่เคยเห็น
ใช้บทเรียนเหล่านี้ยังไง
- เริ่มที่บทที่เขียนว่า ทำอันนี้ ทำบรรทัดใต้ชื่อได้เองแล้ว ค่อยไปต่อ
- เล่นเกมก่อน แล้วทำแบบทดสอบ ผ่านเมื่อถูก 8/10 ข้อ ใบงานอยู่บนกระดาษ เฉลยอยู่ด้านล่าง
- แต่ละบทต่อจากบทก่อน จดทุกรอบที่ฝึก: ค่าที่ตั้ง เส้นกราฟความสูญเสีย และคะแนนทดสอบ
- บทเขียนโค้ดใช้ Python และ PyTorch ในสมุดออนไลน์ฟรีที่มี GPU โมเดลเล็กและชุดข้อมูลเล็กก็พอ ใช้เฉพาะชุดข้อมูลเปิดที่หนูใช้ได้ อย่าฝึกด้วยรูปคนถ้าไม่ได้รับอนุญาต
แต่ละบทมีเกม แบบทดสอบ และใบงาน
0/36
พื้นฐานโครงข่ายประสาท
- 1นิวรอนคำนวณเอาต์พุตของนิวรอนจากอินพุต น้ำหนัก และไบแอส
- เขียนผลรวมถ่วงน้ำหนักบวกไบแอส
- คำนวณด้วยมือสำหรับอินพุตสามตัว
- คำนวณในโค้ดด้วยผลคูณจุด
- 2ฟังก์ชันกระตุ้นเปรียบเทียบฟังก์ชันกระตุ้น ReLU, sigmoid และ softmax
- วาดกราฟของแต่ละฟังก์ชันกระตุ้น
- อธิบายว่าทำไมโครงข่ายต้องมีฟังก์ชันกระตุ้นไม่เชิงเส้น
- ใช้ softmax เปลี่ยนคะแนนเป็นความน่าจะเป็น
- 3ชั้นและโครงข่ายซ้อนชั้นเป็นโครงข่าย
- เขียนชั้นเป็นการคูณเมทริกซ์
- ติดตามรูปร่างของข้อมูลในแต่ละชั้น
- นับพารามิเตอร์ของโครงข่าย
- 4โครงข่ายเล็กเขียนการส่งไปข้างหน้าของโครงข่ายเล็กด้วย NumPy
- สร้างโครงข่ายสองชั้นใน NumPy
- ส่งแบตช์ของอินพุตผ่านมัน
- ตรวจรูปร่างของเอาต์พุต
การฝึกโครงข่ายประสาท
- 5ค่าความสูญเสียเลือกค่าความสูญเสียให้งาน แล้วคำนวณมัน
- ใช้ค่าคลาดเคลื่อนกำลังสองเฉลี่ยสำหรับการถดถอย
- ใช้ครอสเอนโทรปีสำหรับการจำแนก
- บอกว่าค่าความสูญเสียที่ลดลงหมายถึงอะไร
- 6การเคลื่อนลงตามเกรเดียนต์อธิบายว่าการเคลื่อนลงตามเกรเดียนต์ขยับน้ำหนักลงเขาอย่างไร
- หาความชันของเส้นกราฟความสูญเสีย
- ก้าวด้วยอัตราการเรียนรู้
- ดูว่าเกิดอะไรเมื่ออัตราใหญ่ไปหรือเล็กไป
- 7การแพร่ย้อนกลับตามการแพร่ย้อนกลับของความผิดพลาดย้อนผ่านโครงข่าย
- ใช้กฎลูกโซ่กับโครงข่ายจิ๋ว
- คำนวณเกรเดียนต์หนึ่งตัวด้วยมือ
- เทียบกับอนุพันธ์อัตโนมัติ
- 8ฝึกโครงข่ายฝึกโครงข่ายเล็ก แล้ววาดกราฟค่าความสูญเสีย
- ฝึกด้วยมินิแบตช์
- วาดค่าความสูญเสียของชุดฝึกและชุดตรวจสอบ
- หยุดเมื่อค่าความสูญเสียของชุดตรวจสอบไม่ดีขึ้น
เฟรมเวิร์กการเรียนรู้เชิงลึก
- 9เทนเซอร์สร้างเทนเซอร์ PyTorch และเปลี่ยนรูปร่าง
- สร้างเทนเซอร์ แล้วตรวจรูปร่างและชนิด
- เปลี่ยนรูปร่าง ซ้อน และตัดส่วน
- ย้ายเทนเซอร์ไป GPU
- 10มอดูลสร้างโมเดลด้วยมอดูลของ torch.nn
- สร้างคลาสลูกของ nn.Module
- ใช้ชั้น Linear และชั้นฟังก์ชันกระตุ้น
- พิมพ์โมเดลและจำนวนพารามิเตอร์
- 11ตัวปรับเหมาะฝึกด้วยตัวปรับเหมาะ SGD และ Adam
- ใช้ zero_grad, backward และ step
- เปรียบเทียบ SGD กับ Adam ในงานเดียว
- ใช้ตารางอัตราการเรียนรู้
- 12สคริปต์ฝึกเขียนสคริปต์ที่มีวงรอบฝึกและทดสอบครบ
- โหลดข้อมูลด้วย DataLoader
- ฝึก ตรวจสอบ และทดสอบ
- บันทึกโมเดลที่ดีที่สุด
คอมพิวเตอร์วิทัศน์
- 13รูปเป็นเทนเซอร์โหลดรูปเป็นเทนเซอร์ แล้วทำให้เป็นมาตรฐาน
- โหลดรูปเป็นช่อง ความสูง และความกว้าง
- ปรับขนาด แล้วทำให้เป็นมาตรฐาน
- แสดงแบตช์เป็นตาราง
- 14คอนโวลูชันอธิบายว่าตัวกรองคอนโวลูชันหาขอบอย่างไร
- เลื่อนตัวกรอง 3×3 บนรูปด้วยมือ
- ใช้ตัวกรองขอบในโค้ด
- อธิบาย stride, padding และ pooling
- 15CNNสร้างโครงข่ายประสาทแบบคอนโวลูชัน คือ CNN
- ซ้อนชั้นคอนโวลูชัน ฟังก์ชันกระตุ้น และ pooling
- คลี่ออก แล้วใส่หัวตัวจำแนก
- ติดตามรูปร่างตลอดโครงข่าย
- 16ตัวจำแนกรูปฝึกตัวจำแนกรูปด้วย CNN
- ฝึกบนชุดรูปเล็ก
- รายงานความถูกต้องบนชุดทดสอบ
- แสดงรูปที่มันจำแนกผิด
การประมวลผลภาษาธรรมชาติ
- 17การตัดเป็นโทเคนตัดเป็นโทเคน: เปลี่ยนข้อความเป็นโทเคนและ ID
- เปรียบเทียบโทเคนคำกับโทเคนส่วนของคำ
- สร้างคลังคำ
- เติมลำดับให้ยาวเท่ากัน
- 18เอ็มเบดดิงอธิบายว่าเอ็มเบดดิงวางคำที่คล้ายกันไว้ใกล้กันอย่างไร
- ใช้ชั้นเอ็มเบดดิง
- หาคำที่ใกล้คำหนึ่งที่สุด
- วาดเอ็มเบดดิงในสองมิติ
- 19โมเดลข้อความสร้างโมเดลข้อความที่อ่านลำดับของโทเคน
- เฉลี่ยเอ็มเบดดิงเป็นเวกเตอร์เดียว
- ใช้ชั้นวนซ้ำอย่างง่าย
- เปรียบเทียบทั้งสองแบบ
- 20ตัวจำแนกความรู้สึกฝึกตัวจำแนกความรู้สึกให้แยกบทวิจารณ์ด้านบวกกับด้านลบ
- ฝึกบนชุดบทวิจารณ์
- รายงานความถูกต้อง ความแม่นยำ และความครอบคลุม
- หาบทวิจารณ์ที่หลอกมัน เช่น การเสียดสี
ทรานส์ฟอร์เมอร์
- 21ความสนใจอธิบายว่าความสนใจถ่วงน้ำหนักโทเคนอื่นอย่างไร
- อธิบายคำถาม คีย์ และค่า
- คำนวณน้ำหนักความสนใจของประโยคสั้น
- บอกว่าทำไมความสนใจช่วยความหมายระยะไกล
- 22บล็อกทรานส์ฟอร์เมอร์บอกชื่อส่วนของบล็อกทรานส์ฟอร์เมอร์
- บอกชื่อความสนใจหลายหัว ชั้น feed-forward และชั้นนอร์มัลไลเซชัน
- อธิบายการเชื่อมแบบตกค้าง
- อธิบายการเข้ารหัสตำแหน่ง
- 23โมเดลที่ฝึกมาแล้วใช้โมเดลทรานส์ฟอร์เมอร์ที่ฝึกมาแล้วกับงานหนึ่ง
- โหลดโมเดลที่ฝึกมาแล้วและตัวตัดโทเคน
- จำแนกข้อความด้วยมัน
- เทียบกับโมเดลความรู้สึกของหนูเอง
- 24แผนที่ความสนใจอ่านแผนที่ความสนใจ
- วาดน้ำหนักความสนใจเป็นแผนที่ความร้อน
- หาว่าโทเคนสนใจคำไหน
- บอกว่าทำไมความสนใจไม่ใช่คำอธิบายทั้งหมด
เสียงและ AI หลายรูปแบบ
- 25เสียงเป็นข้อมูลเปลี่ยนเสียงที่เป็นข้อมูลเป็นรูปคลื่นและสเปกโตรแกรม
- โหลดเสียง แล้ววาดรูปคลื่น
- อธิบายอัตราการสุ่ม
- ทำสเปกโตรแกรม
- 26ตัวจำแนกเสียงจำแนกคลิปเสียงสั้นด้วยตัวจำแนกเสียง
- มองสเปกโตรแกรมเป็นรูป
- ฝึก CNN บนสเปกโตรแกรม
- ทดสอบด้วยเสียงรบกวนพื้นหลัง
- 27อินพุตหลายรูปแบบอธิบายว่าโมเดลรวมอินพุตหลายรูปแบบของรูปและข้อความอย่างไร
- อธิบายตัวเข้ารหัสแยกสำหรับแต่ละอินพุต
- อธิบายพื้นที่เอ็มเบดดิงที่ใช้ร่วมกัน
- บอกชื่อแอปหลายรูปแบบสามแอป
- 28รูปและข้อความจับคู่รูปและข้อความ: จับรูปกับคำบรรยายด้วยโมเดลที่ฝึกมาแล้ว
- ทำเอ็มเบดดิงของรูปและคำบรรยาย
- จัดอันดับคำบรรยายของแต่ละรูป
- ค้นรูปด้วยข้อความ
การปรับปรุงโมเดล
- 29การปรับเรกูลาร์ลดการท่องจำด้วยการปรับเรกูลาร์: dropout และการลดน้ำหนัก
- ใส่ dropout
- ใส่การลดน้ำหนัก
- เปรียบเทียบเส้นกราฟชุดตรวจสอบ
- 30การเสริมข้อมูลทำการเสริมข้อมูล: เพิ่มรูปที่พลิกและที่ตัดเข้าชุดฝึก
- ใช้การพลิก การตัด และเปลี่ยนสี
- เสริมเฉพาะชุดฝึก
- วัดการเปลี่ยนของความถูกต้องบนชุดทดสอบ
- 31การถ่ายโอนการเรียนรู้ใช้การถ่ายโอนการเรียนรู้เพื่อปรับจูนโมเดลที่ฝึกมาแล้วบนคลาสใหม่
- แช่แข็งชั้นที่ฝึกมาแล้ว
- เปลี่ยนหัว แล้วฝึกหัว
- ละลาย แล้วปรับจูนด้วยอัตราการเรียนรู้เล็ก
- 32การวิเคราะห์ความผิดพลาดทำการวิเคราะห์ความผิดพลาด: จัดกลุ่มความผิดพลาดและหาสาเหตุ
- อ่านเมทริกซ์ความสับสนของหลายคลาส
- แยกความผิดพลาดเป็นกลุ่ม
- เลือกทางแก้ของกลุ่มที่ใหญ่สุด
โครงงานการเรียนรู้เชิงลึก
- 33ข้อมูลสัตว์ป่าเลือกและแบ่งชุดข้อมูลรูปเปิดของสัตว์ป่า
- เลือกชุดข้อมูลเปิดของกล้องดักถ่ายหรือสัตว์ป่า
- เลือกชนิด 5 ถึง 10 ชนิด
- แบ่งตามสถานที่ เพื่อให้การทดสอบยุติธรรม
- 34ปรับจูนโมเดลปรับจูนโมเดลตัวจำแนกรูปบนคลาสสัตว์ป่า
- ปรับจูนโมเดลที่ฝึกมาแล้ว
- ติดตามความถูกต้องของชุดตรวจสอบ
- บันทึกจุดตรวจที่ดีที่สุด
- 35หน้าเดโมสร้างหน้าเดโมที่แสดงคำทำนายของรูปที่อัปโหลด
- รับรูปที่อัปโหลด
- แสดงสามชนิดอันดับแรกและคะแนน
- แสดง «ไม่แน่ใจ» เมื่อความมั่นใจต่ำ
- 36เครื่องเฝ้าดูสัตว์ป่าอัจฉริยะนำเสนอเครื่องเฝ้าดูสัตว์ป่าอัจฉริยะ: ความถูกต้องบนรูปที่ไม่เคยเห็น และความผิดพลาดหลัก
- รายงานความถูกต้องบนรูปที่ไม่เคยเห็น
- แสดงความผิดพลาดหลักและสาเหตุ
- บอกว่าจะเปลี่ยนอะไรต่อ