inflearn logo

Từ Embedding đến Transformer: Toán học của hệ thống đề xuất được hiểu qua tích vô hướng

Thông qua một bài toán duy nhất là dự đoán điểm đánh giá phim, chúng ta kết nối PCA, SVD, phân rã ma trận và attention dưới góc nhìn của tích vô hướng. Những người trước đây chỉ quen gọi thư viện sẽ có thể tự mình giải thích ý nghĩa của các con số trong embedding và nguyên lý tính toán của Transformer. Đây là hành trình thấu hiểu bằng một công thức duy nhất toàn bộ quá trình lấp đầy các ô trống trong hệ thống đề xuất.

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

Độ khó Trung cấp trở lên

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

attention-model
attention-model
factorization
factorization
iframes
iframes
recommender-systems
recommender-systems
transformer
transformer
attention-model
attention-model
factorization
factorization
iframes
iframes
recommender-systems
recommender-systems
transformer
transformer

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

  • Giải thích liền mạch từ giá trị riêng, vectơ riêng đến Query, Key, Value thông qua tích vô hướng duy nhất

  • Triển khai quy trình tính toán để điền các ô trống trong điểm đánh giá phim bằng trung bình, SVD, phân rã ma trận và attention

  • Hiểu nguyên lý toán học tạo ra embedding và trọng số của Transformer

H2. Vì sao embedding lại đưa ra điểm đánh giá đó?

Khi gọi embedding mà vẫn không thể giải thích vì sao lại xuất hiện mức điểm đó, khóa học này sẽ nối liền phép tính ấy trong một mạch. Bắt đầu từ phân tích thành phần chính, đi qua phân rã giá trị kỳ dị, phân rã ma trận cho đến attention của Transformer, bạn sẽ lần theo tất cả chỉ với một điểm đánh giá phim. Đây không phải là khoảng thời gian để ghi nhớ tên các thư viện, mà là lúc học cách giải thích bằng lời quá trình cùng một tích vô hướng được biến thành điểm số đề xuất.

H2. Phép tính được nối liền trong một dòng

Hãy chèn hình minh họa trình tự bài học ngay bên dưới tiêu đề này. Văn bản thay thế là trình tự bài học gồm phân tích thành phần chính, phân rã giá trị kỳ dị, phân rã ma trận và Transformer được nối với nhau bằng mũi tên. Tệp nằm trong thư mục Downloads với tên 인프런_수업순서_PCA_SVD_MF_Transformer.png.

H3. Phân tích thành phần chính, trục nơi lượng thông tin tập trung

Thành phần là các biến độc lập. Mức độ phân tán của dữ liệu là phương sai, còn sức mạnh của nó là tích vô hướng. Hiệp phương sai được tính bằng cách chuyển vị dữ liệu rồi nhân với dữ liệu. Giống như Pareto, lượng thông tin tập trung trên một hoặc hai trục. Độ dài của trục đó là trị riêng, còn tỷ lệ theo hướng là vectơ riêng. Trị riêng là lượng thông tin, còn vectơ riêng là trọng số. Chúng ta kiểm chứng điều này qua hình elip của chiều cao và cân nặng, cũng như độ dài cánh hoa của hoa diên vĩ. Vì con người chỉ có thể nhìn thấy hai trục, biểu đồ chỉ giữ lại những trục có lượng thông tin lớn. Khi các nhóm chồng lấn lên nhau, ta dùng LDA để tái cấu trúc dữ liệu. Đó là trục làm cho các giá trị trung bình cách xa nhau, đồng thời làm cho độ phân tán trong mỗi nhóm nhỏ nhất.

H3. Phân rã giá trị kỳ dị, phép tính tái tạo các ô trống

Trong điểm đánh giá phim, các ô trống là một vấn đề. Khách hàng chỉ xem một số bộ phim và để lại điểm số. SVD điền các ô trống đó bằng giá trị trung bình, sau đó lần lượt tính các giá trị riêng ở phía khách hàng và phía bộ phim. Nếu chỉ giữ lại những trục có lượng thông tin lớn, số chiều sẽ giảm xuống và các ô còn trống sẽ có điểm đánh giá mới. Nếu một bộ phim mà Hong Gil-dong chưa xem được dự đoán ở mức khoảng 4 điểm thì đề xuất, còn nếu thấp hơn mức đó thì loại ra; đó là cách đề xuất ban đầu. Nếu giá trị trung bình của chênh lệch giữa điểm đánh giá trong quá khứ và điểm dự đoán nhỏ, ta có thể tin tưởng hệ thống đó. Đây là phương pháp so sánh điểm thực tế của những bộ phim đã xem với điểm được tái tạo.

H3. Phân rã ma trận, chỉ học từ các đánh giá đã xem

Giá trị được điền bằng giá trị trung bình không phải là điểm số do người đó đưa ra. Dữ liệu ban đầu chỉ được dùng những bản ghi thực sự đã xem. Vì vậy, các ô trống sẽ bị loại khỏi quá trình học. Với những đối tượng không biết trước số chiều như phim và khách hàng, ta tùy ý gán các thuộc tính. Việc đặt những con số đó gần với trung bình 0, phương sai 1 và lấy chúng khác nhau được gọi là embedding. Lấy tích vô hướng của hai bên rồi nhân với trọng số sẽ cho ra điểm đánh giá. Nếu có sự chênh lệch so với điểm thực tế, ta chỉ điều chỉnh trọng số để giảm chênh lệch đó. Những trọng số được lưu lại chính là mô hình. Quá trình học này được gọi là phân rã ma trận factorization.

H3. Transformer và Attention

Nếu thay đổi câu hỏi, ta sẽ có phép tính cuối cùng. Câu hỏi về điểm đánh giá của những bộ phim mà Hong Gil Dong chưa xem chính là Query. Người từng để lại những điểm đánh giá tương tự trong quá khứ là Key. Lấy mức độ tương đồng bằng tích vô hướng rồi chia cho tổng của tất cả các giá trị sẽ cho ra xác suất; khi các con số lớn, ta dùng softmax để thu nhỏ chúng. Điểm đánh giá mà người đó đưa ra là Value. Nhân xác suất với điểm đánh giá rồi cộng lại, ta có được điểm kỳ vọng. Đây là attention, cũng là phép tính giống như giá trị kỳ vọng. Trong các bảng thực tế có nhiều ô trống, vì khó tạo thuộc tính chỉ từ những bộ phim đã xem nên ta sử dụng embedding. Các trọng số lần lượt được đưa vào câu hỏi, khóa và giá trị đánh giá, khiến khối lượng tính toán tăng lên. Cấu trúc này là transformer, còn phương pháp đánh giá đó là attention-model.

H2. Đề xuất qua điểm đánh giá phim

Đây là phép tính của hệ thống gợi ý điểm đánh giá phim. Trong khóa học, chúng ta sẽ theo dõi lịch sử từ việc các hệ thống gợi ý của Netflix và YouTube bắt đầu từ đây, rồi phát triển thành phân rã ma trận và Transformer. Chúng ta cũng sẽ xem nếu sai số ở quanh mức 0.4 thì gần với mức nào trên thang điểm tối đa 5, sai số giảm như thế nào khi tăng dữ liệu từ 100 người lên 1,000 người, và việc lấy trung bình nhiều sai số theo từng batch giúp tránh chỉ khớp với một điểm đánh giá duy nhất ra sao.

H2. Khóa học này phù hợp với ai

Phù hợp với những người không thể giải thích vì sao các con số embedding lại xuất hiện, những người vẫn tin vào kết quả đề xuất sau khi điền các mức đánh giá bị thiếu bằng giá trị trung bình, và những người chỉ biết tên Query, Key và Value nhưng không biết cách tính toán. Nếu biết về hàng và cột của ma trận, phép nhân và phép chuyển vị thì sẽ dễ theo dõi hơn. Nếu từng chạy tệp Python, bạn có thể thực hành cùng bài học. Mã thực hành được nhận bằng cách nhập các điều kiện đã nêu trong bài học vào ChatGPT.

H2. Trình tự tìm hiểu trong buổi học

Buổi học gồm ba phần. Thứ nhất là phân tích thành phần chính. Chúng ta sẽ tìm hiểu lý do bắt đầu với PCA, trị riêng và vectơ riêng, giảm chiều dữ liệu và LDA. Thứ hai là phân rã giá trị suy biến. Chúng ta sẽ tìm hiểu SVD để điền vào các ô trống và lý do chuyển sang phân rã ma trận sau khi xem xét sai số. Thứ ba là phân rã ma trận và Transformer. Chúng ta sẽ xem đường cong học tập, tính điểm đánh giá bằng attention, rồi tổng kết toàn bộ nội dung.

H2. Cách xem video bài học

Mỗi video bài học được liên kết bằng iframe trong ghi chú bài học và phát trong phòng học. Video này không có nội dung về đăng nhập, đăng ký thành viên hay xây dựng dịch vụ bằng dữ liệu Amazon. Đây là bước tiếp theo sau khi hiểu các phép tính.

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

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

  • Kỹ sư ML không thể giải thích các con số trong vector embedding được tạo ra như thế nào

  • Nhà phát triển AI chỉ biết Query·Key·Value trên lý thuyết mà không biết cách tính toán thực tế

  • Một nhà phân tích dữ liệu từng triển khai hệ thống đề xuất chỉ dựa trên giá trị trung bình

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

  • Hiểu biết cơ bản về phép nhân ma trận và phép chuyển vị

  • Kinh nghiệm chạy tệp Python và thử chỉnh sửa mã đơn giản

  • Ý nghĩa khái niệm của phương sai và hiệp phương sai

Xin chào
Đây là kogo14905334

Xác minh sự nghiệp

Đá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 tương tự

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

Miễn phí