Khóa học
AI lớp 10: Học sâu và AI đa phương thức
Dựng và huấn luyện mạng nơ-ron trong PyTorch cho ảnh, chữ và âm thanh.
Học các bài theo thứ tự. Cuối khóa, em tính được đầu ra của một nơ-ron, so sánh được hàm kích hoạt ReLU, sigmoid và softmax, và viết được lượt truyền thẳng của một mạng nhỏ bằng NumPy. Em chọn được hàm mất mát, giải thích được hạ gradient và lan truyền ngược, và viết được kịch bản với vòng huấn luyện và kiểm thử đủ trong PyTorch. Em huấn luyện được bộ phân loại ảnh bằng CNN, huấn luyện được bộ phân loại cảm xúc để phân biệt nhận xét tích cực với tiêu cực, giải thích được cách chú ý cân các token khác, và phân loại được các đoạn âm thanh ngắn. Em giảm được quá khớp, tinh chỉnh được mô hình đã huấn luyện sẵn trên các lớp mới, gom lỗi và tìm nguyên nhân, và trình bày được máy theo dõi động vật hoang dã thông minh đã thử trên ảnh chưa từng thấy.
Cách dùng các bài học này
- Bắt đầu ở bài học có chữ Làm việc này. Tự làm được dòng dưới tên bài thì đi tiếp.
- Chơi Trò chơi trước. Rồi làm Bài kiểm tra. Đúng 8/10 câu thì đạt. Phiếu bài tập ở trên giấy. Đáp án ở phía dưới.
- Mỗi bài xây trên bài trước. Ghi lại mỗi lần huấn luyện: các thiết lập, đường mất mát và điểm test.
- Các bài lập trình dùng Python và PyTorch trong sổ tay trực tuyến miễn phí có GPU. Mô hình nhỏ và bộ dữ liệu nhỏ là đủ. Chỉ dùng bộ dữ liệu mở mà em được phép dùng. Đừng huấn luyện bằng ảnh người khi chưa có phép.
Mỗi bài có trò chơi, bài kiểm tra và phiếu bài tập.
0/36
Nền tảng mạng nơ-ron
- 1Nơ-ronTính đầu ra của một nơ-ron từ đầu vào, trọng số và độ lệch.
- Viết tổng có trọng số cộng độ lệch.
- Tính bằng tay cho ba đầu vào.
- Tính trong mã bằng tích vô hướng.
- 2Hàm kích hoạtSo sánh các hàm kích hoạt ReLU, sigmoid và softmax.
- Vẽ mỗi hàm kích hoạt.
- Giải thích vì sao mạng cần hàm kích hoạt phi tuyến.
- Dùng softmax để đổi điểm thành xác suất.
- 3Lớp và mạngXếp các lớp thành một mạng.
- Viết một lớp như phép nhân ma trận.
- Theo dõi hình dạng dữ liệu qua mỗi lớp.
- Đếm tham số của một mạng.
- 4Một mạng nhỏViết lượt truyền thẳng của một mạng nhỏ bằng NumPy.
- Dựng mạng hai lớp trong NumPy.
- Đưa một lô đầu vào qua mạng.
- Kiểm tra hình dạng đầu ra.
Huấn luyện mạng nơ-ron
- 5Hàm mất mátChọn hàm mất mát cho một việc và tính nó.
- Dùng sai số bình phương trung bình cho hồi quy.
- Dùng cross-entropy cho phân loại.
- Nói mất mát giảm nghĩa là gì.
- 6Hạ gradientGiải thích cách hạ gradient kéo trọng số xuống dốc.
- Tìm độ dốc của đường mất mát.
- Bước với một tốc độ học.
- Xem chuyện gì xảy ra khi tốc độ quá lớn hoặc quá nhỏ.
- 7Lan truyền ngượcTheo lan truyền ngược của sai số quay lại qua mạng.
- Dùng quy tắc dây chuyền trên một mạng rất nhỏ.
- Tính một gradient bằng tay.
- Đối chiếu với vi phân tự động.
- 8Huấn luyện một mạngHuấn luyện một mạng nhỏ và vẽ hàm mất mát.
- Huấn luyện bằng mini-batch.
- Vẽ mất mát huấn luyện và mất mát xác thực.
- Dừng khi mất mát xác thực không còn tốt hơn.
Khung học sâu
- 9TensorTạo tensor PyTorch và đổi hình dạng.
- Tạo tensor và kiểm tra hình dạng cùng kiểu.
- Đổi hình, xếp chồng và cắt lát.
- Chuyển tensor sang GPU.
- 10Mô-đunDựng mô hình bằng mô-đun torch.nn.
- Tạo lớp con của nn.Module.
- Dùng lớp Linear và lớp kích hoạt.
- In mô hình và số tham số.
- 11Bộ tối ưuHuấn luyện bằng bộ tối ưu SGD và Adam.
- Dùng zero_grad, backward và step.
- So sánh SGD và Adam trên một việc.
- Dùng lịch tốc độ học.
- 12Kịch bản huấn luyệnViết kịch bản huấn luyện với vòng huấn luyện và kiểm thử đủ.
- Nạp dữ liệu bằng DataLoader.
- Huấn luyện, xác thực và kiểm thử.
- Lưu mô hình tốt nhất.
Thị giác máy tính
- 13Ảnh dưới dạng tensorNạp ảnh dưới dạng tensor và chuẩn hóa chúng.
- Nạp một ảnh thành kênh, chiều cao và chiều rộng.
- Đổi kích thước và chuẩn hóa.
- Hiện một lô thành lưới.
- 14Tích chậpGiải thích cách một bộ lọc tích chập tìm cạnh.
- Trượt bộ lọc 3×3 trên một ảnh bằng tay.
- Áp bộ lọc cạnh trong mã.
- Giải thích stride, padding và pooling.
- 15CNNDựng một mạng nơ-ron tích chập, một CNN.
- Xếp lớp tích chập, kích hoạt và pooling.
- Làm phẳng và thêm đầu phân loại.
- Theo dõi hình dạng xuyên suốt mạng.
- 16Bộ phân loại ảnhHuấn luyện bộ phân loại ảnh bằng CNN.
- Huấn luyện trên một bộ ảnh nhỏ.
- Báo độ chính xác trên tập test.
- Hiện các ảnh nó phân loại sai.
Xử lý ngôn ngữ tự nhiên
- 17Tách tokenTách token: đổi chữ thành token và ID.
- So sánh token từ và token từ con.
- Dựng một từ vựng.
- Đệm các chuỗi cho cùng độ dài.
- 18EmbeddingGiải thích cách embedding đặt các từ giống nhau gần nhau.
- Dùng một lớp embedding.
- Tìm các từ gần một từ nhất.
- Vẽ embedding trên hai chiều.
- 19Mô hình văn bảnDựng mô hình văn bản đọc một chuỗi token.
- Lấy trung bình embedding thành một vectơ.
- Dùng một lớp hồi tiếp đơn giản.
- So sánh hai cách.
- 20Bộ phân loại cảm xúcHuấn luyện bộ phân loại cảm xúc để phân biệt nhận xét tích cực với tiêu cực.
- Huấn luyện trên bộ nhận xét.
- Báo độ chính xác, độ chuẩn xác và độ phủ.
- Tìm nhận xét đánh lừa nó, như lời mỉa mai.
Transformer
- 21Chú ýGiải thích cách chú ý cân các token khác.
- Giải thích truy vấn, khóa và giá trị.
- Tính trọng số chú ý cho một câu ngắn.
- Nói vì sao chú ý giúp nghĩa ở khoảng cách xa.
- 22Khối transformerKể tên các phần của một khối transformer.
- Kể tên chú ý nhiều đầu, lớp feed-forward và các lớp chuẩn hóa.
- Giải thích kết nối phần dư.
- Giải thích mã hóa vị trí.
- 23Mô hình đã huấn luyện sẵnDùng mô hình transformer đã huấn luyện sẵn cho một việc.
- Nạp mô hình đã huấn luyện sẵn và tokenizer.
- Phân loại chữ bằng nó.
- So với mô hình cảm xúc của em.
- 24Bản đồ chú ýĐọc một bản đồ chú ý.
- Vẽ trọng số chú ý thành bản đồ nhiệt.
- Tìm token chú ý tới những từ nào.
- Nói vì sao chú ý không phải lời giải thích đầy đủ.
Âm thanh và AI đa phương thức
- 25Âm thanh dưới dạng dữ liệuĐổi âm thanh dưới dạng dữ liệu thành dạng sóng và phổ đồ.
- Nạp âm thanh và vẽ dạng sóng.
- Giải thích tốc độ lấy mẫu.
- Làm một phổ đồ.
- 26Bộ phân loại âm thanhPhân loại các đoạn âm thanh ngắn bằng bộ phân loại âm thanh.
- Xem phổ đồ như ảnh.
- Huấn luyện CNN trên các phổ đồ.
- Thử với nhiễu nền.
- 27Đầu vào đa phương thứcGiải thích cách mô hình gộp đầu vào đa phương thức từ ảnh và chữ.
- Giải thích bộ mã hóa riêng cho mỗi đầu vào.
- Giải thích không gian embedding dùng chung.
- Kể tên ba ứng dụng đa phương thức.
- 28Ảnh và chữGhép ảnh và chữ: nối ảnh với chú thích bằng mô hình đã huấn luyện sẵn.
- Lấy embedding của ảnh và chú thích.
- Xếp hạng chú thích cho mỗi ảnh.
- Tìm ảnh bằng một câu chữ.
Cải thiện mô hình
- 29Chính quy hóaGiảm quá khớp bằng chính quy hóa: dropout và suy giảm trọng số.
- Thêm dropout.
- Thêm suy giảm trọng số.
- So sánh các đường xác thực.
- 30Tăng cường dữ liệuTăng cường dữ liệu: thêm ảnh lật và ảnh cắt vào tập huấn luyện.
- Áp lật, cắt và đổi màu.
- Chỉ tăng cường tập huấn luyện.
- Đo mức đổi của độ chính xác trên tập test.
- 31Học chuyển giaoDùng học chuyển giao để tinh chỉnh mô hình đã huấn luyện sẵn trên các lớp mới.
- Đóng băng các lớp đã huấn luyện sẵn.
- Thay đầu và huấn luyện đầu đó.
- Mở băng và tinh chỉnh với tốc độ học nhỏ.
- 32Phân tích lỗiPhân tích lỗi: gom lỗi và tìm nguyên nhân.
- Đọc ma trận nhầm lẫn của nhiều lớp.
- Chia lỗi thành các nhóm.
- Chọn cách sửa cho nhóm lớn nhất.
Dự án học sâu
- 33Dữ liệu động vật hoang dãChọn và chia một bộ ảnh mở về động vật hoang dã.
- Chọn bộ dữ liệu mở về bẫy ảnh hoặc động vật hoang dã.
- Chọn từ 5 đến 10 loài.
- Chia theo địa điểm để bài test công bằng.
- 34Tinh chỉnh mô hìnhTinh chỉnh mô hình phân loại ảnh trên các lớp động vật hoang dã.
- Tinh chỉnh một mô hình đã huấn luyện sẵn.
- Theo dõi độ chính xác xác thực.
- Lưu điểm kiểm tốt nhất.
- 35Giao diện demoDựng giao diện demo hiện dự đoán trên ảnh được tải lên.
- Nhận một ảnh được tải lên.
- Hiện ba loài đứng đầu và điểm của chúng.
- Hiện “không chắc” khi độ tin cậy thấp.
- 36Máy theo dõi động vật hoang dã thông minhTrình bày máy theo dõi động vật hoang dã thông minh: độ chính xác trên ảnh chưa từng thấy và các lỗi chính.
- Báo độ chính xác trên ảnh chưa từng thấy.
- Hiện các lỗi chính và nguyên nhân.
- Nói em sẽ đổi gì tiếp theo.