강의

챌린지

멘토링

로드맵

커뮤니티

Học lại deep learning với PyTorch – Hiểu nguyên lý và tự triển khai

Khóa học này gồm 47 bài, kéo dài khoảng 39 giờ, hướng dẫn xây dựng deep learning từ đầu với PyTorch. Có rất nhiều khóa học deep learning, nhưng phần lớn được chia thành hai kiểu. Một là chỉ lướt qua cách sử dụng thư viện, khiến người học không hiểu tại sao mã nguồn lại được viết như vậy; hai là bắt đầu ngay từ các công thức, khiến người học bỏ cuộc giữa chừng. Khóa học này chọn một trình tự khác. Trước tiên, bạn sẽ tạo ra kết quả, sau đó đào sâu để tìm hiểu bên trong đã xảy ra những gì. Khóa học bắt đầu với các mô hình được huấn luyện trước. Bạn sẽ chạy thử bài toán phân loại ảnh, thực hành inpainting bằng Stable Diffusion và thậm chí tạo chú thích cho ảnh bằng BLIP. Vì có thể tạo ra sản phẩm ngay từ buổi đầu tiên, bạn sẽ có thêm động lực để học phần lý thuyết về sau. Tiếp theo là nội dung cốt lõi của khóa học. Tensor được tìm hiểu trong suốt bảy bài học. Không chỉ có indexing và broadcasting, khóa học còn đi sâu vào cấu trúc bộ nhớ như storage và stride, quản lý tính liên tục của bộ nhớ, phép tính trên GPU cũng như việc chuyển đổi qua lại với NumPy. Rất hiếm có khóa học tiếng Hàn nào đi sâu về tensor đến mức này. Khi hiểu được phần này, bạn sẽ đọc mọi đoạn mã về sau theo một cách hoàn toàn khác. Sau đó, khóa học đề cập đến việc tiền xử lý để chuyển dữ liệu thực tế thành tensor. Bạn sẽ lần lượt tìm hiểu các loại dữ liệu khác nhau, từ các kênh màu của ảnh, dữ liệu dạng bảng và one-hot encoding, đến chuỗi thời gian và embedding văn bản. Tiếp theo, khóa học chuyển sang nguyên lý huấn luyện: trước hết tự triển khai hàm mất mát và gradient descent bằng vi phân số, rồi kiểm tra cách Autograd tự động hóa những việc đó. Chỉ những ai từng tự mình xây dựng mới thực sự hiểu được sự tiện lợi của auto differentiation. Nửa sau của khóa học tập trung vào cấu trúc mạng nơ-ron. Bạn sẽ xây dựng mạng nơ-ron sâu bằng nn.Module và thực hiện phân loại CIFAR-10, từ đó đối mặt với giới hạn của mạng nơ-ron fully connected và tự nhiên đi đến lý do CNN là cần thiết. Cuối cùng, khóa học chuyển sang sinh văn bản, lần lượt tìm hiểu từ mô hình bigram, embedding, mô hình sinh dựa trên MLP cho đến nguyên lý Query·Key·Value của Attention. Nếu bạn biết sử dụng Python và muốn hiểu deep learning một cách bài bản, sau khi hoàn thành khóa học này, thứ còn lại không chỉ là những đoạn mã ví dụ, mà là khả năng nhìn ra cấu trúc của bất kỳ mô hình nào.

1 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian Không giới hạn

Deep Learning(DL)
Deep Learning(DL)
deep-neural-network
deep-neural-network
Tensorflow
Tensorflow
NLP
NLP
Computer Vision(CV)
Computer Vision(CV)
Deep Learning(DL)
Deep Learning(DL)
deep-neural-network
deep-neural-network
Tensorflow
Tensorflow
NLP
NLP
Computer Vision(CV)
Computer Vision(CV)

Bạn sẽ nhận được điều này sau khi học.

  • Toàn bộ quy trình PyTorch - Có thể xây dựng quy trình huấn luyện deep learning bằng cách sử dụng Dataset và DataLoader

  • Hiểu cấu trúc bên trong của tensor – có thể hiểu và xử lý việc lập chỉ mục, broadcasting, bộ nhớ lưu trữ, stride và tính liên tục của bộ nhớ.

  • Chuyển đổi tensor theo từng loại dữ liệu - Có thể tiền xử lý dữ liệu hình ảnh, bảng, chuỗi thời gian và văn bản thành tensor dùng cho việc huấn luyện.

  • Xây dựng mạng nơ-ron sâu - Có thể thiết kế mạng nơ-ron bằng nn.Module và Sequential, đồng thời hoàn thiện vòng lặp huấn luyện và kiểm chứng.

  • Mô hình sinh và Attention - Có thể triển khai mô hình sinh văn bản và giải thích nguyên lý Attention dựa trên Query·Key·Value.

  • Ứng dụng mô hình được huấn luyện trước và AI tạo sinh - có thể trực tiếp thực hành phân loại hình ảnh, inpainting bằng Stable Diffusion và tạo chú thích bằng BLIP.

  • Liên kết tính toán GPU và NumPy - Có thể áp dụng tính toán tăng tốc GPU, chuyển đổi qua lại với NumPy, cũng như lưu và khôi phục tensor.

  • Nguyên lý học và Autograd - Có thể tự triển khai hàm mất mát và phương pháp hạ dốc, đồng thời áp dụng phép vi phân tự động bằng Autograd.

  • Thiết kế và tối ưu hóa CNN - Có thể hiểu nguyên lý của phép tích chập và phép gộp, đồng thời thiết kế và đánh giá mô hình phân loại hình ảnh.

Học deep learning với PyTorch: từ tensor đến CNN và Attention

Đây là khóa học thiên về thực hành, giúp bạn từng bước học các nguyên lý cốt lõi của deep learning từ cơ bản bằng cách sử dụng PyTorch.

Trong khóa học này, bạn sẽ học thông qua việc trực tiếp triển khai bằng mã nguồn từ xây dựng pipeline huấn luyện bằng Dataset và DataLoader, cấu trúc bộ nhớ và phép toán của tensor, tăng tốc GPU và tích hợp NumPy, tiền xử lý dữ liệu, hàm mất mát và phương pháp hạ gradient, Autograd và lan truyền ngược, thiết kế và huấn luyện mạng nơ-ron, phân loại hình ảnh dựa trên CNN cho đến việc tạo văn bản và nguyên lý Query·Key·Value của Attention.

Ngoài ra, khóa học còn đề cập đến cách ứng dụng thực tế của AI tạo sinh và AI đa phương thức, chẳng hạn như phân loại hình ảnh bằng mô hình được huấn luyện trước, inpainting bằng Stable Diffusion và tạo chú thích hình ảnh bằng BLIP.

Các kỹ thuật đã học có thể được ứng dụng trong lĩnh vực trí tuệ nhân tạo (AI), học sâu, thị giác máy tính, xử lý ngôn ngữ tự nhiên (NLP), AI tạo sinh, khoa học dữ liệu và kỹ thuật AI.

Trong khóa học, chúng ta không chỉ dừng lại ở việc giải thích khái niệm mà còn kiểm tra cách từng kỹ thuật hoạt động thông qua mã nguồn thực tế và kết quả thực thi. Đặc biệt, bằng cách trực tiếp làm việc với việc lập chỉ mục tensor, broadcasting, Storage, Stride, tính liên tục của bộ nhớ và các nội dung khác, khóa học tập trung phát triển khả năng hiểu cấu trúc bên trong của mô hình và các phép toán tensor, thay vì chỉ đơn giản sử dụng mã PyTorch.

Bạn sẽ học được gì

Section : Nội dung học tập cốt lõi

Trong khóa học này, bạn sẽ từng bước học các khái niệm cốt lõi của học sâu và phương pháp triển khai thực tế dựa trên PyTorch.

1. Quy trình deep learning bằng PyTorch

  • Thiết lập môi trường phát triển PyTorch

  • Cấu trúc và cách sử dụng Dataset và DataLoader

  • Hiểu toàn bộ quy trình đưa dữ liệu vào mô hình và huấn luyện mô hình

  • Phân loại hình ảnh bằng mô hình được huấn luyện trước

  • Inpainting bằng Stable Diffusion

  • Tạo chú thích hình ảnh bằng BLIP

2. Cấu trúc và phép toán của Tensor

  • Hiểu các khái niệm cơ bản và số chiều của Tensor

  • Lập chỉ mục và cắt lát

  • Phép toán sử dụng Broadcasting

  • Named Tensor và chuyển đổi kiểu dữ liệu

  • Lưu trữ Tensor và cấu trúc bộ nhớ

  • Stride và tính liên tục của bộ nhớ

  • Thực hiện phép toán Tensor trên GPU

  • Chuyển đổi giữa NumPy và Tensor của PyTorch

  • Lưu trữ và khôi phục Tensor

3. Chuyển đổi nhiều loại dữ liệu khác nhau thành Tensor

  • Biểu diễn và tiền xử lý dữ liệu hình ảnh dưới dạng Tensor

  • Thay đổi chiều và chuẩn hóa

  • Xử lý dữ liệu 3D

  • Dữ liệu dạng bảng và One-Hot Encoding

  • Phân tích thống kê và Boolean Indexing

  • Tiền xử lý và chuyển đổi chiều dữ liệu chuỗi thời gian

  • Chuẩn hóa văn bản và nhúng từ vựng

4. Nguyên lý học sâu

  • Khái niệm về mô hình tuyến tính và tham số

  • Vai trò của hàm Loss

  • Nguyên lý của Gradient Descent

  • Hiểu về đạo hàm và Chain Rule

  • Tự triển khai Training Loop

  • Các phương pháp ổn định quá trình học tập

  • Tự động vi phân bằng Autograd

  • Nguyên lý và triển khai Backpropagation

  • Áp dụng Optimizer

  • Xác thực mô hình và đánh giá hiệu năng

5. Xây dựng mạng nơ-ron sâu

  • Hiểu được những hạn chế của mô hình tuyến tính

  • Vai trò của hàm kích hoạt

  • Ứng dụng nn.Module và Linear Layer

  • Cấu hình lớp ẩn

  • Thiết kế mô hình bằng Sequential

  • Phân loại hình ảnh bằng bộ dữ liệu CIFAR-10

  • Chuẩn hóa và Softmax

  • Học theo từng batch và NLLLoss

  • GPU를 활용한 학습

  • Kiểm tra hiện tượng quá khớp và tính toán số lượng tham số

  • Hiểu được những hạn chế của mạng Fully Connected

6. CNN và phân loại hình ảnh

  • Lý do CNN cần thiết và bối cảnh ra đời

  • Nguyên lý của phép tích chập

  • Vai trò của Pooling

  • Thiết kế cấu trúc mạng CNN

  • Sự khác biệt giữa Module API và Functional API

  • Triển khai vòng lặp huấn luyện CNN

  • Đánh giá độ chính xác

  • Cấu trúc và tối ưu hóa hiệu suất mô hình CNN

7. Tạo văn bản và Attention

  • Khái niệm về sinh văn bản và học tự giám sát

  • Phân tích chuỗi ký tự bằng mô hình Bigram

  • Cấu tạo subsequence

  • Nguyên lý của Embedding

  • Triển khai mô hình tạo văn bản dựa trên MLP

  • Nguyên lý cơ bản của Attention

  • Hiểu vai trò của Query, Key và Value

Mục tiêu học tập

Sau khi hoàn thành khóa học, bạn không chỉ sử dụng API của PyTorch mà còn có thể hiểu ở cấp độ mã nguồn và tự mình triển khai Tensor được cấu thành và thực hiện phép toán trong bộ nhớ như thế nào, mô hình được huấn luyện và quá trình lan truyền ngược diễn ra như thế nào, cũng như CNN và Attention hoạt động theo nguyên lý nào.

Trước khi đăng ký

Điều kiện tiên quyết & Lưu ý

Khóa học này là khóa học học sâu ở trình độ trung cấp, yêu cầu hiểu biết cơ bản về Python và NumPy.

Kiến thức nền tảng

  • Bạn cần biết cú pháp cơ bản của Python.

  • Cần có kiến thức cơ bản về cách sử dụng Python, chẳng hạn như hàm, lớp, danh sách và từ điển.

  • Khuyến nghị bạn đã có trải nghiệm với các phép toán mảng cơ bản trong NumPy.

  • Nên biết toán học ở trình độ trung học phổ thông và các khái niệm cơ bản về đạo hàm.

  • Các khái niệm toán học cần thiết cho phép tính vi phân và học sâu cũng sẽ được giải thích lại trong bài giảng.

  • Bạn cần có môi trường phát triển Python 3 hoặc có thể sử dụng Google Colab.

  • Nếu có GPU, bạn có thể tiến hành học tập và thực hành nhanh hơn, nhưng hầu hết các bài thực hành đều có thể thực hiện trên CPU.

Phương pháp học

Khuyến khích bạn xem từng bài giảng theo thứ tự, đồng thời tự viết và chạy thử đoạn mã được giải thích. Thay vì chỉ đơn thuần xem video, việc trực tiếp chỉnh sửa và chạy mã ví dụ được cung cấp trong bài giảng để kiểm tra hoạt động của Tensor, Autograd, Neural Network, CNN sẽ hiệu quả hơn.

Đặc biệt, sau khi học từng khái niệm, bạn nên tự mình tạo các bài thực hành nhỏ, kiểm tra kết quả thực thi và lỗi để học hiệu quả hơn.

chất lượng khóa học

Bài giảng được thiết kế để bạn có thể dễ dàng theo dõi mã nguồn và phần giải thích khái niệm, đồng thời học bằng cách thực hành theo các bài tập Python và PyTorch. Khuyến nghị bạn học trong môi trường máy tính có màn hình lớn, trực tiếp chạy mã trong quá trình học.

Hỏi đáp và hỗ trợ học tập

Nếu gặp phần khó hiểu trong quá trình học hoặc vấn đề khi chạy mã, bạn có thể sử dụng tính năng hỏi đáp và thảo luận của bài giảng để đặt câu hỏi.

Khi đặt câu hỏi, bạn nên ghi rõ đoạn mã phát sinh vấn đề, thông báo lỗi và cả cách bạn đã thử để có thể nhận được sự hỗ trợ chính xác hơn.

Tùy theo sự thay đổi của nội dung bài giảng và môi trường thực hành, nội dung bài giảng có thể được cập nhật khi cần thiết.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển đã học khóa nhập môn học sâu nhưng cảm thấy bế tắc vì không hiểu được nguyên lý

  • Kỹ sư đang chuyển đổi từ TensorFlow sang PyTorch

  • Các nhà nghiên cứu và học viên cao học gặp khó khăn với việc thao tác tensor khi đọc mã triển khai của các bài báo khoa học

  • Những người làm thực tế chỉ biết mang mô hình được huấn luyện trước ra sử dụng mà không hiểu bên trong.

  • Những người muốn hiểu nguyên lý hoạt động của AI tạo sinh ở cấp độ mã nguồn

  • Người học từng bỏ cuộc vì học sâu khó nhưng muốn bắt đầu lại.

  • Dành cho những ai đang chuẩn bị tìm việc hoặc chuyển việc liên quan đến AI và muốn xây dựng nền tảng vững chắc, chuyên sâu.

Cần biết trước khi bắt đầu?

  • Thiết kế và tối ưu hóa CNN - Hiểu nguyên lý của phép tích chập và phép gộp, có thể thiết kế và đánh giá mô hình phân loại hình ảnh.

  • Kinh nghiệm sử dụng NumPy cơ bản

  • Toán học ở trình độ trung học phổ thông (chỉ cần đã từng làm quen với khái niệm đạo hàm là đủ, và nội dung này sẽ được giảng lại trong khóa học)

  • Môi trường phát triển Python 3 hoặc tài khoản Google Colab

  • Khuyến nghị môi trường GPU (ngay cả khi không có GPU, hầu hết các bài thực hành vẫn có thể thực hiện bằng CPU và có thể sử dụng GPU miễn phí của Colab)

  • Cần XMind hoặc trình xem miễn phí để xem giáo án

Xin chào
Đây là it learner

Chương trình đào tạo IT do các chuyên gia thực tiễn và đội ngũ giảng viên chuyên nghiệp trong từng lĩnh vực IT giảng dạy, cung cấp các khóa học thực tiễn trong nhiều lĩnh vực như lập trình, phát triển phần mềm, phân tích dữ liệu, trí tuệ nhân tạo, mạng và công nghệ thông tin. Thông qua nội dung đào tạo phản ánh các công nghệ IT mới nhất và xu hướng của ngành, chương trình hỗ trợ học viên đồng thời tiếp thu kiến thức lý thuyết và năng lực thực tiễn, cũng như thích ứng với môi trường IT thay đổi nhanh chóng.

Thêm

Chương trình giảng dạy

Tất cả

47 bài giảng ∙ (37giờ 47phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của it learner

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

1.642.954 ₫

20%

2.053.693 ₫