Nhúng: Nhận các mục nhúng

Phần này tập trung vào hai kỹ thuật phổ biến để nhúng:

  • Giảm số chiều
  • Trích xuất một phần nhúng từ mô hình mạng nơron lớn hơn

Kỹ thuật giảm chiều

Có nhiều kỹ thuật toán học để nắm bắt cấu trúc quan trọng của không gian có nhiều chiều trong không gian có ít chiều. Về lý thuyết, bạn có thể sử dụng bất kỳ kỹ thuật nào trong số này để tạo một phần nhúng cho hệ thống học máy.

Ví dụ: phân tích thành phần chính (PCA) đã được dùng để tạo các từ được nhúng. Với một tập hợp các thực thể như các vectơ túi từ, PCA cố gắng tìm các phương diện có mối tương quan cao có thể được thu gọn thành một phương diện duy nhất.

Huấn luyện hoạt động nhúng trong mạng nơron

Bạn có thể tạo một phần nhúng trong khi huấn luyện mạng nơron cho tác vụ mục tiêu. Phương pháp này giúp bạn có thể tuỳ chỉnh hiệu quả cho một hệ thống nhúng cụ thể, nhưng có thể mất nhiều thời gian hơn so với việc huấn luyện riêng việc nhúng.

Nhìn chung, bạn có thể tạo một lớp ẩn có kích thước d trong mạng nơron được chỉ định là lớp nhúng, trong đó d đại diện cho cả số lượng nút trong lớp ẩn và số lượng chiều trong không gian nhúng. Lớp nhúng này có thể được kết hợp với mọi tính năng và lớp ẩn khác. Giống như mọi mạng nơron sâu, các tham số sẽ được tối ưu hoá trong quá trình huấn luyện để giảm thiểu tổn thất trên các nút trong lớp đầu ra của mạng.

Trở lại ví dụ về đề xuất món ăn, mục tiêu của chúng ta là dự đoán những bữa ăn mới mà người dùng sẽ thích dựa trên các bữa ăn yêu thích hiện tại của họ. Trước tiên, chúng ta có thể biên dịch thêm dữ liệu về 5 loại thực phẩm hàng đầu mà người dùng yêu thích. Sau đó, chúng ta có thể lập mô hình nhiệm vụ này dưới dạng một vấn đề học có giám sát. Chúng tôi đặt bốn trong số năm loại thực phẩm hàng đầu này làm dữ liệu đặc điểm, sau đó ngẫu nhiên đặt loại thực phẩm thứ năm làm nhãn dương mà mô hình của chúng tôi nhắm đến để dự đoán, tối ưu hoá dự đoán của mô hình bằng cách sử dụng hàm mất mát softmax.

Trong quá trình huấn luyện, mô hình mạng nơron sẽ tìm hiểu trọng số tối ưu cho các nút trong lớp ẩn đầu tiên, đóng vai trò là lớp nhúng. Ví dụ: nếu mô hình chứa 3 nút trong lớp ẩn đầu tiên, thì mô hình có thể xác định rằng 3 kích thước phù hợp nhất của các món ăn là độ bánh sandwich, món tráng miệng và độ thanh. Hình 12 cho thấy giá trị đầu vào được mã hoá một nóng cho "bánh mì kẹp xúc xích" được chuyển đổi thành vectơ ba chiều.

Hình 12. Mạng nơron để mã hoá một-hot của bánh mì kẹp xúc xích. Lớp đầu tiên là lớp đầu vào có 5 nút, mỗi nút được chú thích bằng một biểu tượng thức ăn mà lớp đó đại diện (borscht, xúc xích, rau trộn, ... và món shawarma). Các nút này lần lượt có giá trị [0, 1, 0, ..., 0], đại diện cho mã hoá một nóng của "bánh mì kẹp xúc xích". Lớp đầu vào được kết nối với một lớp nhúng 3 nút, trong đó các nút có giá trị lần lượt là 2,98, -0, 75 và 0. Lớp nhúng được kết nối với một lớp ẩn 5 nút, sau đó được kết nối với một lớp đầu ra 5 nút.
Hình 12. Mã hoá một nóng của hot dog được cung cấp dưới dạng dữ liệu đầu vào cho mạng nơron sâu. Một lớp nhúng sẽ dịch phương thức mã hoá một nhiệt thành vectơ nhúng ba chiều [2.98, -0.75, 0].

Trong quá trình huấn luyện, trọng số của lớp nhúng sẽ được tối ưu hoá để các vectơ nhúng cho các ví dụ tương tự gần nhau hơn. Các phương diện riêng lẻ của lớp nhúng (đại diện cho mỗi nút trong lớp nhúng) hiếm khi dễ hiểu như "dessertness" (độ ngọt) hoặc "liquidness" (độ lỏng). Đôi khi có thể suy luận được "ý nghĩa" của các biến đó, nhưng không phải lúc nào cũng đúng.

Các phần nhúng thường dành riêng cho tác vụ và sẽ khác nhau khi tác vụ khác nhau. Ví dụ: các nội dung nhúng do mô hình phân loại người ăn chay và người không ăn chay tạo ra có thể có hai phương diện: nội dung thịt và nội dung sữa. Trong khi đó, các nội dung nhúng do một thuật toán phân loại bữa sáng so với bữa tối cho ẩm thực Mỹ tạo ra có thể có các phương diện hơi khác nhau: hàm lượng calo, hàm lượng ngũ cốc và hàm lượng thịt. "Bột ngũ cốc" và "bánh mì kẹp trứng và thịt xông khói" có thể gần nhau trong không gian nhúng của bộ phân loại bữa sáng so với bữa tối, nhưng lại cách xa nhau trong không gian nhúng của bộ phân loại món chay so với món không chay.

Huấn luyện từ nhúng

Trong phần trước, bạn đã khám phá hình ảnh về các mối quan hệ ngữ nghĩa trong không gian nhúng word2vec.

Word2vec là một trong nhiều thuật toán dùng để huấn luyện các từ được nhúng. Mô hình này dựa trên giả thuyết phân phối để ánh xạ các từ tương tự về ngữ nghĩa đến các vectơ nhúng gần nhau về mặt hình học. Giả thuyết phân phối nói rằng những từ thường có cùng các từ lân cận có xu hướng tương tự nhau về mặt ngữ nghĩa. Cả "chó" và "mèo" thường xuất hiện gần giống với từ "bác sĩ thú y" và thực tế này cho thấy sự tương đồng về mặt ngữ nghĩa của chúng. Như nhà ngôn ngữ học John Firth đã nói vào năm 1957, "Bạn sẽ biết một từ qua những từ đồng hành cùng từ đó".

Video sau đây giải thích một phương pháp khác để tạo từ khoá nhúng trong quá trình huấn luyện mạng nơron, sử dụng một mô hình đơn giản hơn:

Nội dung nhúng tĩnh so với nội dung nhúng theo bối cảnh

Một hạn chế của các từ được nhúng như đã thảo luận trong video ở trên là các từ đó tĩnh. Mỗi từ được biểu thị bằng một điểm trong không gian vectơ, mặc dù từ đó có thể có nhiều ý nghĩa khác nhau, tuỳ thuộc vào cách từ đó được sử dụng trong câu. Trong bài tập cuối cùng, bạn đã khám phá ra khó khăn trong việc liên kết các điểm tương đồng ngữ nghĩa cho từ orange (cam). Từ này có thể biểu thị một màu sắc hoặc một loại trái cây.

Chúng tôi đã phát triển tính năng Nhúng theo ngữ cảnh để giải quyết những hạn chế này. Tính năng nhúng theo ngữ cảnh cho phép nhiều cách trình bày cùng một từ, mỗi cách trình bày kết hợp thông tin về ngữ cảnh sử dụng từ đó. Trong một nội dung nhúng theo ngữ cảnh, từ orange (cam) có thể có hai cách biểu thị riêng biệt: một cách thể hiện cách sử dụng từ này theo nghĩa "màu sắc", như trong các câu như "Chiếc áo len yêu thích của tôi có các sọc màu cam", và một cách thể hiện cách sử dụng từ này theo nghĩa "trái cây", như trong các câu như "Trái cam được hái từ cây trước khi chín hoàn toàn".