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

Phần này trình bày một số phương thức lấy nội dung nhúng, cũng như cách chuyển đổi nội dung nhúng tĩnh thành nội dung nhúng theo ngữ cảnh.

Kỹ thuật giảm chiều

Có nhiều kỹ thuật toán học giúp nắm bắt các 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 một phần 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ó được một tính năng nhúng được tuỳ chỉnh phù hợp với hệ thống cụ thể của mình, nhưng có thể mất nhiều thời gian hơn so với việc huấn luyện tính năng nhúng riêng biệt.

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. Bạn có thể kết hợp lớp nhúng này với bất kỳ tính năng và lớp ẩn nào 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 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 các 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 phương diện liên quan nhất của các món ăn là độ ngon của bánh sandwich, độ ngon của món tráng miệng và độ lỏng. 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 một 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 biểu tượng của món ăn mà nó đại diện (borscht, xúc xích, salad, ... và 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. Lớp nhúng dịch mã hoá một nóng 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. Như đã đề cập trước đó, các kích thước mà mô hình thực tế chọn cho các phần nhúng của mô hình đó có thể sẽ không trực quan hoặc dễ hiểu như trong ví dụ này.

Nhúng theo ngữ cảnh

Một hạn chế của vectơ nhúng tĩnh word2vec là các từ có thể có ý nghĩa khác nhau trong các ngữ cảnh khác nhau. "Yeah" có nghĩa là một điều, nhưng lại có nghĩa ngược lại trong cụm từ "Yeah, right". "Post" có thể có nghĩa là "thư," "đưa vào thư," "đế khuyên tai," "điểm đánh dấu ở cuối cuộc đua ngựa," "hậu kỳ," "trụ," "đăng thông báo," "đặt người bảo vệ hoặc binh lính" hoặc "sau", cùng với các nghĩa khác.

Tuy nhiên, với các từ được nhúng tĩnh, mỗi từ được biểu thị bằng một điểm duy nhất trong không gian vectơ, mặc dù từ đó có thể có nhiều nghĩa. Trong bài tập trước, bạn đã khám phá ra những hạn chế của tính năng nhúng tĩnh cho từ orange (cam). Từ này có thể biểu thị một màu hoặc một loại quả. Khi chỉ có một phần nhúng tĩnh, cam sẽ luôn gần với các màu khác hơn là với nước ép khi được huấn luyện trên tập dữ liệu word2vec.

Nội dung nhúng theo ngữ cảnh được phát triển để giải quyết hạn chế này. Tính năng nhúng theo ngữ cảnh cho phép một từ được biểu thị bằng nhiều phần nhúng kết hợp thông tin về các từ xung quanh cũng như chính từ đó. Orange sẽ có một phần nhúng khác nhau cho mỗi câu duy nhất chứa từ đó trong tập dữ liệu.

Một số phương thức tạo tính năng nhúng theo ngữ cảnh, chẳng hạn như ELMo, lấy tính năng nhúng tĩnh của một ví dụ, chẳng hạn như vectơ word2vec cho một từ trong câu, rồi biến đổi vectơ đó bằng một hàm kết hợp thông tin về các từ xung quanh. Thao tác này sẽ tạo ra một nội dung nhúng theo bối cảnh.

Nhấp vào đây để xem thông tin chi tiết về tính năng nhúng theo ngữ cảnh

  • Riêng đối với các mô hình ELMo, nội dung nhúng tĩnh được tổng hợp với các nội dung nhúng lấy từ các lớp khác, các lớp này mã hoá các lượt đọc từ trước ra sau và từ sau ra trước của câu.
  • Mô hình BERT che một phần của trình tự mà mô hình lấy làm dữ liệu đầu vào.
  • Mô hình Transformer sử dụng lớp tự chú ý để đánh giá mức độ liên quan của các từ khác trong một trình tự với từng từ riêng lẻ. Các lớp này cũng thêm cột có liên quan từ matrice nhúng vị trí (xem mã hoá vị trí) vào từng phần nhúng mã thông báo đã học trước đó, theo từng phần tử, để tạo phần nhúng đầu vào được đưa vào phần còn lại của mô hình để suy luận. Nội dung nhúng đầu vào này, dành riêng cho từng trình tự văn bản riêng biệt, là một nội dung nhúng theo bối cảnh.

Mặc dù các mô hình được mô tả ở trên là mô hình ngôn ngữ, nhưng các phần nhúng theo ngữ cảnh sẽ hữu ích trong các tác vụ tạo sinh khác, chẳng hạn như hình ảnh. Việc nhúng các giá trị RGB của pixel vào ảnh một con ngựa cung cấp nhiều thông tin hơn cho mô hình khi kết hợp với một ma trận vị trí đại diện cho mỗi pixel và một số mã hoá của các pixel lân cận, tạo ra các phần nhúng theo ngữ cảnh, so với việc chỉ nhúng các giá trị RGB tĩnh ban đầu.