1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu bài toán tạo câu bình luận cho ảnh thời trang

54 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 4,5 MB

Cấu trúc

  • Chương I. Giới thiệu (13)
    • 1. Đặt vấn đề (13)
    • 2. Mục tiêu (13)
    • 3. Phạm vi đề tài (14)
  • Chương II. Tổng quan về học sâu (Deep Learning) (15)
    • 1. Giới thiệu về Deep Learning (15)
    • 2. Mạng tích chập (Convolutional Neural Network) (15)
      • 2.1. Đặc trưng (Feature) (16)
      • 2.2. Tích chập (Convolutional) (17)
      • 2.3. Pooling (18)
      • 2.4. Fully connected layers (19)
    • 3. Mạng hồi quy (Recurrent Neural Network) (20)
      • 3.1. RNN (Recurrent Neural Network) (20)
      • 3.2. GRU (Gated Recurrent Unit) (22)
  • Chương III. Phương pháp đề xuất (23)
    • 1. NFR framework (23)
    • 2. Kiến trúc của NFR framework (0)
    • 3. Encoder – Decoder Architecture (24)
    • 4. Sequence to Sequence Model (25)
    • 5. Attention Model (26)
    • 6. Transformer Architecture (30)
      • 6.1. Mô hình kiến trúc của Transformer (0)
      • 6.2. Input Embedding và Positional Embedding (32)
      • 6.3. Giai đoạn Encoder (33)
        • 6.3.1. Seft-Attention trong Transformer (34)
        • 6.3.2. Scaled Dot-Product Attention (38)
        • 6.3.3. Multi head seft attention (0)
        • 6.3.4. Position-wise Feed Forward Networks (42)
        • 6.3.5. Residual connection (42)
      • 6.4. Giai đoạn Decoder (42)
      • 6.5. Ưu điểm và nhược điểm của kiến trúc Transformer (0)
  • Chương IV. Hiện thực hóa hệ thống (0)
    • 1. Dataset (46)
    • 2. Môi trường (46)
    • 3. Hiện thực hệ thống (0)
    • 4. Kết quả (0)
  • Chương V. Tổng kết và hướng phát triển (0)
    • 1. Các công việc đã làm (49)
    • 2. Hạn chế (0)
    • 3. Hướng phát triển (49)
  • TÀI LIỆU THAM KHẢO .......................................................................................... 38 (50)

Nội dung

Giới thiệu

Đặt vấn đề

Thị lực máy tính, một nhánh quan trọng của trí tuệ nhân tạo và khoa học máy tính, cho phép máy tính có khả năng nhận diện và hiểu hình ảnh tương tự như con người Lĩnh vực này đóng vai trò quan trọng trong việc phát triển công nghệ giúp máy tính xử lý và phân tích thông tin hình ảnh hiệu quả.

Xã hội ngày càng phát triển, kéo theo nhịp sống bận rộn khiến xu hướng mua sắm online trở nên phổ biến, đặc biệt trong giới trẻ và những người bận rộn Điều này mở ra tiềm năng lớn cho lĩnh vực thương mại điện tử nhằm nâng cao chất lượng phục vụ và thu hút khách hàng Các trang mua sắm trực tuyến nổi tiếng như Amazon, Lazada, Alibaba, Tiki đã áp dụng hệ thống gợi ý sản phẩm dựa trên lịch sử tìm kiếm của người dùng, từ đó đưa ra những lựa chọn phù hợp Để cải thiện trải nghiệm mua sắm, việc tích hợp hệ thống AI/Machine learning vào website hoặc ứng dụng di động sẽ giúp người dùng chủ động hơn trong việc chọn lựa trang phục ưa thích và tiết kiệm thời gian.

Mục tiêu

Để giải quyết bài toán tạo câu bình luận cho ảnh thời trang, nhiều mô hình đã được nghiên cứu và cải tiến liên tục Gần đây, bài viết “Fashion Coordinates Recommender System using Photographs from Fashion Magazines” của Tomoharu Iwata và cộng sự cùng với “Hi, Magic Closet, Tell Me What to Wear!” của Si Liu và cộng sự đã đề xuất các giải pháp gợi ý mẫu thời trang, tuy nhiên vẫn còn hạn chế về dữ liệu và sự đa dạng trong xu hướng mua sắm của người dùng Bài viết “Explainable Fashion Recommendation with Joint Outfit Matching and Comment Generation” do Yujie thực hiện cũng góp phần vào lĩnh vực này.

Vào tháng 12 năm 2018, Yujie Lin, Pengjie Ren và cộng sự đã giới thiệu mô hình Neural Fashion Recommendation (NFR), nhằm gợi ý các mẫu trang phục phối hợp và tạo ra các câu bình luận liên quan Mô hình NFR có nhiều ưu điểm, cải thiện độ chính xác so với các nghiên cứu trước đây trong việc phối trang phục và phát sinh câu bình luận Tuy nhiên, NFR vẫn gặp hạn chế về bộ dữ liệu và hiệu quả của các câu bình luận được tạo ra.

Vậy mục tiêu của đề tài này là thực hiện lại mô hình NFR để áp dụng vào bài toán tạo câu bình luận cho ảnh thời trang.

Phạm vi đề tài

Trong bài viết này, nhóm nghiên cứu tập trung vào việc phát sinh câu bình luận cho trang phục dựa trên khung Neural Fashion Recommendation (NFR) do Yujie Lin, Pengjie Ren và cộng sự phát triển Mục tiêu là cải tiến mô hình NFR nhằm tạo ra những câu bình luận chính xác hơn cho từng bộ trang phục.

Tổng quan về học sâu (Deep Learning)

Giới thiệu về Deep Learning

Deep Learning là một lĩnh vực trong máy học, sử dụng các thuật toán phức tạp để mô hình hóa dữ liệu ở mức độ trừu tượng cao Nó hoạt động thông qua nhiều lớp xử lý và các biến đổi phi tuyến, cho phép phát hiện và học hỏi các đặc trưng ẩn trong dữ liệu.

Nghiên cứu trong lĩnh vực Deep Learning tập trung vào việc cải thiện các đại diện và phát triển mô hình để khám phá những đại diện này từ dữ liệu không dán nhãn quy mô lớn Nhiều đại diện được hình thành dựa trên những tiến bộ trong khoa học thần kinh, lấy cảm hứng từ cách thức mà hệ thống thần kinh con người xử lý và truyền thông tin.

Nhiều kiến trúc của Deep Learning, như mạng neuron sâu, mạng neuron tái phát và mạng neuron tích chập, đã được nghiên cứu và ứng dụng rộng rãi trong các lĩnh vực như thị giác máy tính, nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên và phân tích hình ảnh y tế Các ứng dụng của Deep Learning không chỉ cho kết quả tương đương mà trong một số trường hợp còn vượt trội hơn so với con người.

Mạng tích chập (Convolutional Neural Network)

Mạng nơ-ron tích chập (CNN hoặc ConvNet) là một loại mạng nơ-ron sâu, thường được sử dụng để phân tích hình ảnh thị giác Ứng dụng của CNN rất đa dạng, bao gồm nhận diện hình ảnh và video, phân loại ảnh, cũng như phân tích ảnh y tế.

Hình 1: Minh họa đơn giản nguyên lý hoặt động của CNNs [34]

Hình 2: Cách so sánh trong CNN [34]

Trong mạng nơ-ron tích chập (CNN), quá trình so sánh hình ảnh được chia thành các mảnh nhỏ gọi là đặc trưng (feature) Mỗi đặc trưng này có kích thước là một mảng hai chiều Bằng cách tìm kiếm các đặc trưng khớp nhau ở cùng vị trí trong hai hình ảnh, CNN có khả năng nhận diện sự tương đồng tốt hơn nhiều so với việc so sánh toàn bộ bức ảnh.

Hình 3: Nguyên lý tạo ra feature map [34]

Khi CNN tiếp cận một hình ảnh mới, nó không xác định chính xác vị trí các đặc trưng (features) mà sẽ thử nghiệm khắp nơi Để tính toán sự khớp của một đặc trưng trên toàn bộ hình ảnh, chúng ta sử dụng bộ lọc (filter) Quá trình này bao gồm việc nhân mỗi điểm ảnh trong đặc trưng với giá trị điểm ảnh tương ứng trong vùng hình ảnh đang so sánh, sau đó tính trung bình cộng Nếu tất cả các điểm ảnh đều khớp, tổng kết quả sẽ bằng 1 khi chia trung bình cộng.

Hình 4: Thực hiện toàn bộ quá trình tích chập cho từng feature khác [34]

Kết quả là tập hợp các hình ảnh đã được lọc (feature map), mỗi cái ứng với filter

The Rectified Linear Unit (ReLU) is an activation function utilized to adjust linear units by replacing any negative values with zero.

Pooling là một cách lấy những hình ảnh lớn và làm co chúng lại trong khi vẫn giữ các thông tin quan trọng nhất trong đó

Hình 6: Cách hoạt động của Pooling [34]

Quá trình duyệt qua từng ô vuông cửa sổ nhỏ trên hình ảnh nhằm lấy giá trị lớn nhất từ cửa sổ tại mỗi bước Sau khi thực hiện pooling, hình ảnh sẽ giảm xuống còn khoảng một phần tư số điểm ảnh so với ban đầu, do chỉ những giá trị lớn nhất từ mỗi ô cửa được chọn ra.

Hình 7: Thu gọn những feature map quan trọng sau khi qua pooling [34]

2.4 Fully connected layers Ở 2 giai đoạn trước là Convolution và Pooling đã tạo ra một tập các hình ảnh đã được lọc và thu gọn Các feature map trở nên lớn hơn và phức tạp hơn, và hình ảnh trở nên nhỏ gọn hơn Điều này giúp các layer thấp hơn đại diện cho các khía cạnh đơn giản của hình ảnh, chẳng hạn như các cạnh và các điểm sáng Các layer cao hơn có thể đại diện cho các khía cạnh tinh vi hơn của hình ảnh, chẳng hạn như các hình khối (shape) và các hình mẫu (pattern)

Hình 8: Miêu tả quy trinh các lớp của CNN [34]

Các layer được kết nối đầy đủ (Fully connected layer) chuyển đổi các hình ảnh đã được lọc ở cấp cao thành các node mang trọng số Đây là một thành phần quan trọng trong mạng nơ-ron truyền thống (ANN) Thay vì xử lý đầu vào như một mảng hai chiều, chúng được coi như một danh sách đơn và được xử lý đồng nhất Ví dụ, khi xác định hình ảnh là X hay O, quá trình này dựa trên các phiếu bầu (votes) thể hiện dưới dạng trọng số, cho thấy mức độ kết nối giữa các giá trị trong danh sách Nếu trọng số phiếu bầu cho X cao hơn, hình ảnh sẽ được dự đoán là X và ngược lại.

Mạng hồi quy (Recurrent Neural Network)

RNN (Recurrent Neural Network) là một loại mạng neural chủ yếu được sử dụng trong xử lý ngôn ngữ tự nhiên và các nhiệm vụ liên quan đến chuỗi Với khả năng tính toán tuần tự, RNN rất phù hợp cho các bài toán dự đoán dữ liệu tuần tự như nhận diện giọng nói, tạo nhạc, phân loại cảm xúc, phân tích chuỗi DNA, dịch ngôn ngữ và nhận diện hoạt động trong video.

RNN (Mạng nơ-ron hồi tiếp) hoạt động dựa trên chuỗi thông tin đầu vào, thực hiện cùng một tác vụ cho tất cả các từ trong chuỗi, với đầu ra phụ thuộc vào các phép tính trước đó Ví dụ, trong quá trình dịch một chuỗi từ ngôn ngữ này sang ngôn ngữ khác, RNN sẽ dịch từng từ từ trái sang phải, dự đoán nghĩa của từ hiện tại dựa trên các từ đã được dịch trước đó Cơ chế này cho phép RNN ghi nhớ thông tin từ các giai đoạn xử lý trước, từ đó tiếp tục xử lý cho các giai đoạn tiếp theo.

Hình 9: Kiến trúc của mô hình RNN [35]

Tại mỗi thời điểm t, chuỗi 𝑥 𝑡 được đưa vào hidden layer ký hiệu là ℎ 𝑡 để dự đoán kết quả 𝑦 𝑡 Quá trình này lặp lại cho đến khi hoàn thành việc dự đoán tất cả các từ trong câu Hidden layer hoạt động như một "bộ nhớ", lưu giữ thông tin từ các hidden layer trước để hỗ trợ cho việc dự đoán từ tiếp theo, đồng thời cập nhật thông tin hiện tại cho giai đoạn dự đoán tiếp theo Hidden layer (ℎ 𝑡) tại thời điểm t được tính toán theo một công thức cụ thể.

Trong mô hình, các ma trận trọng số 𝑊 𝑖𝑛, 𝑊 𝑜𝑢𝑡 và 𝑊 𝑟𝑒𝑐 đóng vai trò quan trọng Để tính toán, ta thực hiện tổng tích vô hướng của từ 𝑥 𝑡 với ma trận trọng số 𝑊 𝑖𝑛 và hidden layer ℎ 𝑡−1 tại thời điểm t-1 với ma trận trọng số 𝑊 𝑟𝑒𝑐 Kết quả của phép tính này sẽ được đưa qua hàm 𝑓, một hàm phi tuyến tính như tanh hoặc ReLU, nhằm điều chỉnh sự chênh lệch quá lớn giữa các trọng số trong hidden layer.

ℎ 𝑡 tại thời điểm t sau khi thực hiện phép tính về với miền từ khoảng (-1,1)

Dự đoán (𝑦 𝑡) tại thời điểm t được tính bằng cách nhân hidden layer hiện tại ℎ 𝑡 với ma trận trọng số 𝑊 𝑜𝑢𝑡, sau đó áp dụng hàm softmax để chuẩn hóa phân bổ xác suất về miền giá trị [0,1].

Tại mỗi thời điểm t, điểm mất mát giữa đầu ra thực tế và đầu ra dự đoán được tính toán và tổng hợp để cập nhật trọng số cho các ma trận 𝑊 𝑖𝑛, 𝑊 𝑜𝑢𝑡, 𝑊 𝑟𝑒𝑐 Mất mát này được lan truyền ngược lại để điều chỉnh các trọng số nhằm tối giản mất mát, và kỹ thuật này được gọi là Back propagation through time (BPTT).

Mạng neural tái phát (RNN) gặp khó khăn với vấn đề hao hụt hoặc bùng nổ đạo hàm (Vanishing or Exploding Gradient) Khi xử lý chuỗi dài, việc lặp lại phép nhân của ma trận trọng số nhiều lần để dự đoán các từ trong chuỗi dài khiến RNN dễ bị ảnh hưởng bởi hiện tượng này.

Hình 10: Gated Recurrent Unit (GRU) [37]

- Reset Gate: lượng thông tin ở những giai đoạn xử lý trước đó cần bỏ

- Update Gate: xác định bao nhiêu thông tin xử lý ở các giai đoạn trước và hiện cần được truyền qua cho giai đoạn xử lý tiếp theo

Mô hình có khả năng thu thập toàn bộ thông tin từ quá khứ và giảm thiểu nguy cơ gặp phải vấn đề hao hụt đạo hàm (vanishing gradient problem).

Phương pháp đề xuất

NFR framework

Neural Fashion Recommendation (NFR) là một khung mạng nơ-ron mới do Yujie Lin, Pengjie Ren và cộng sự phát triển, nhằm cung cấp gợi ý thời trang và tạo ra câu bình luận trừu tượng cho các bộ trang phục NFR thực hiện hai nhiệm vụ chính: phối hợp các bộ trang phục phù hợp và tạo ra câu bình luận mô tả cảm xúc đối với các bộ trang phục đó Hệ thống nhận đầu vào là hình ảnh của trang phục phần trên, như áo sơ mi hay áo thun, và gợi ý danh sách các trang phục phần dưới, chẳng hạn như váy hay quần jean, từ bộ sưu tập Đồng thời, NFR cũng phát sinh câu bình luận cho mỗi bộ trang phục phù hợp nhất, thể hiện cảm xúc đối với sự kết hợp đó.

2 Kiến trúc của NFR framework

Hình 11: Sơ đồ kiến trúc tổng quan của neural fashion recommendation (NFR) [3]

NFR gồm có 3 phần chính:

- Giai đoạn Encoder: trích xuất đặc tính (feature) của ảnh trang phục trên và dưới thành các latent vector bằng cách sử dụng convolutional neural network (CNN)

- Giai đoạn Decoder cho nhiệm vụ phối trang phục: sử dụng cơ chế Mutual Attention

To extract the representation vectors of the top and bottom clothing items, we cross-reference their characteristics These representation vectors, derived from the interrelated features, serve as the foundation for the outfit matching process conducted by the Matching Decoder.

Trong giai đoạn Decoder của nhiệm vụ phát sinh câu bình luận, các đại diện vector được sử dụng để tạo ra câu bình luận cho cặp ảnh thời trang Quá trình này áp dụng cơ chế Cross-modality Attention để kết hợp đặc tính của từ và đặc tính của cặp ảnh, từ đó nâng cao độ chính xác cho bình luận liên quan đến cặp ảnh thời trang.

Kiến trúc Encoder-Decoder bao gồm hai giai đoạn chính: mã hóa (encoder) và giải mã (decoder) Mặc dù Encoder và Decoder có thể hoạt động độc lập, nhưng chúng đảm nhận những nhiệm vụ khác nhau Mạng lưới Encoder được sử dụng để ánh xạ dữ liệu thành các đại diện đặc trưng, trong khi mạng lưới Decoder sử dụng các đại diện này làm dữ liệu đầu vào để thực hiện dự đoán và ra quyết định.

Hình 12: Sơ đồ kiến trúc Encoder – Decoder Architecture

Specifically, encoding can be achieved using Convolutional Neural Networks (CNN) or Recurrent Neural Networks (RNN) to extract features from raw data and transform them into a fixed-length representation known as a context vector representation.

The decoder utilizes a fixed-length context vector representation as input data, leveraging network models and Recurrent Neural Networks (RNN) to generate outcomes.

Mô hình Sequence to Sequence sử dụng kiến trúc Encoder-Decoder, bao gồm hai giai đoạn chính: mã hóa và giải mã Mô hình này được áp dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên, với mục tiêu chuyển đổi một câu đầu vào thành một câu mới, cho phép cả hai câu có độ dài tùy ý.

Hình 13: Encoder-decoder model, dịch câu “she is eating a green apple” sang tiếng Trung [11]

An input sentence is processed by an encoder to extract features into a fixed-length context vector representation that encapsulates the entire input The Sequence to Sequence model employs Recurrent Neural Networks for both the encoding and decoding stages.

14 mã (decoder), cụ thể là những mô hình biến thể đã được cải tiến của RNN như Long Short Term Memory networks (LSTM) [11] hoặc Gated Recurrent Unit (GRU) [12]

Mô hình sequence to sequence gặp khó khăn khi toàn bộ thông tin được nén lại trong vector đại diện, dẫn đến việc mất mát thông tin nếu dữ liệu đầu vào quá dài, gây khó khăn cho quá trình giải mã Nguyên nhân là do giai đoạn mã hóa sử dụng mạng hồi quy như RNN hoặc các biến thể cải tiến như LSTM và GRU, khiến dữ liệu ở phần đầu bị loãng sau khi mã hóa Để khắc phục nhược điểm này, cơ chế chú ý (Attention Mechanism) đã được đề xuất bởi Dzmitry Bahdanau, KyungHyun Cho và Yoshua Bengio.

Mô hình chú ý (Attention model) là một sự mở rộng của mô hình Encoder-Decoder do Dzmitry Bahdanau và cộng sự phát triển Mô hình này được thiết kế để khắc phục nhược điểm của mạng tái phát truyền thống, đặc biệt là vấn đề Vanishing Gradient Mặc dù các biến thể của RNN như LSTM và GRU đã được phát triển để giải quyết vấn đề này, mô hình chú ý vẫn mang lại những ưu điểm vượt trội trong việc cải thiện hiệu suất của các tác vụ xử lý ngôn ngữ tự nhiên.

[12] được đề xuất nhưng vẫn chưa thực sự đạt kết quả tốt khi áp dụng vào mô hình kiến trúc encoder – decoder

Cơ chế Attention, được đề xuất bởi Dzmitry Bahdanau và cộng sự, đã mở rộng mô hình Encoder-Decoder bằng cách cho phép mô hình tập trung vào những phần quan trọng trong dữ liệu đầu vào Cơ chế này giúp cải thiện khả năng liên kết giữa từ trong nguồn dữ liệu và từ cần dự đoán, từ đó nâng cao hiệu quả của quá trình xử lý ngôn ngữ.

Trong giai đoạn giải mã, mỗi khi tạo ra một từ, cơ chế chú ý (Attention Mechanism) sẽ xác định các vị trí quan trọng trong câu nguồn, nơi thông tin cần thiết được tập trung Quá trình lựa chọn này thực chất là một ma trận trọng số, giúp tối ưu hóa việc chú ý đến các phần thông tin quan trọng nhất.

The attention matrix represents the attention probability between each source token and the target word, aiming to mitigate the dilution of information in the hidden state during the decoder phase Instead of relying solely on the final layer of the encoder as a context vector representation for the entire input data, the context vector, or attention vector, is generated to highlight the significant information from the source related to the target word This context vector refines the information retained in the hidden state at the decoder stage, addressing the shortcomings of recurrent neural networks.

Hình 14: Mô hình đang tạo ra từ yt tại thời điểm t bằng cách áp dụng cơ chế

The Attention Mechanism is widely utilized in various applications, including Neural Machine Translation for text processing, generating image captions, and summarizing texts.

Với kiến trúc chú ý (Attention model) [15], xác suất để phát sinh ra từ dự đoán 𝑦 𝑖 tại thời điểm i là p (𝑦 𝑖 |𝑦 1 , , 𝑦 𝑖−1 , x) = g(𝑦 𝑖−1 , 𝑠 𝑖 , 𝑐 𝑖 ) (1)

𝑐 𝑖 ∶ 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑣𝑒𝑐𝑡𝑜𝑟 𝑡ạ𝑖 𝑡ℎờ𝑖 đ𝑖ể𝑚 𝑖 Với 𝑠 𝑖 là hidden state của RNN tại thời điểm i được tính bằng

Unlike previous models, the attention model computes the probability at each time step \( i \) based on the differences in the context vector \( c_i \) for each predicted word \( y_i \) This context vector is influenced by the sequence of hidden states \( (h_1, \ldots, h_T) \) during the encoding phase, as illustrated in Figure 5 Each hidden state \( h_t \) contains comprehensive information about the input data, focusing on the word \( x_i \) being encoded at time \( i \) Consequently, the context vector \( c_i \) comprises the weighted sums of the alignment scores \( a_{ij} \) of the hidden states at time \( j \) concerning the predicted word \( y_i \), reflecting how well the inputs around position \( j \) align with the output at position \( i \).

Encoder – Decoder Architecture

Kiến trúc Encoder-Decoder bao gồm hai giai đoạn chính: mã hóa và giải mã Mỗi mạng lưới Encoder và Decoder có thể hoạt động độc lập, nhưng chức năng của chúng khác nhau Mạng lưới Encoder chịu trách nhiệm ánh xạ dữ liệu thành các đại diện đặc trưng, trong khi mạng lưới Decoder sử dụng các đại diện này làm dữ liệu đầu vào để thực hiện dự đoán và ra quyết định.

Hình 12: Sơ đồ kiến trúc Encoder – Decoder Architecture

Encoding can be achieved using Convolutional Neural Networks (CNN) or Recurrent Neural Networks (RNN) to extract features from raw data, transforming them into a fixed-length vector known as the context vector representation.

The decoder utilizes a fixed-length context vector representation as input data, employing network models and Recurrent Neural Networks (RNNs) to generate results effectively.

Sequence to Sequence Model

Mô hình Sequence to Sequence sử dụng kiến trúc Encoder – Decoder, bao gồm hai giai đoạn: mã hóa và giải mã Mô hình này được áp dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên, với mục tiêu chuyển đổi một câu đầu vào (input source) thành một câu đầu ra mới (target source), cho phép cả hai câu có độ dài linh hoạt.

Hình 13: Encoder-decoder model, dịch câu “she is eating a green apple” sang tiếng Trung [11]

A sentence is input into the encoder process to extract features into a fixed-length context vector representation that encapsulates the entire input sentence The Sequence to Sequence model employs Recurrent Neural Networks (RNNs) for both the encoding and decoding stages.

14 mã (decoder), cụ thể là những mô hình biến thể đã được cải tiến của RNN như Long Short Term Memory networks (LSTM) [11] hoặc Gated Recurrent Unit (GRU) [12]

Mô hình Sequence to Sequence gặp khó khăn khi toàn bộ thông tin được nén vào vector đại diện, dẫn đến mất mát thông tin nếu độ dài dữ liệu đầu vào quá lớn, làm cho quá trình giải mã trở nên khó khăn Nguyên nhân là do giai đoạn mã hóa sử dụng mạng hồi quy như RNN, LSTM hoặc GRU, khiến dữ liệu đầu vào bị loãng sau khi mã hóa Để khắc phục nhược điểm này, cơ chế chú ý (Attention Mechanism) đã được đề xuất bởi Dzmitry Bahdanau, KyungHyun Cho và Yoshua Bengio.

Attention Model

Mô hình chú ý (Attention model) là một sự mở rộng cho mô hình Encoder-Decoder, được đề xuất bởi Dzmitry Bahdanau và các cộng sự Mô hình này giải quyết nhược điểm của mạng tái phát (Recurrent Neural Networks) truyền thống, đặc biệt là vấn đề Vanishing Gradient Mặc dù đã có nhiều biến thể của RNN như LSTM và GRU để khắc phục nhược điểm này, mô hình chú ý vẫn mang lại những cải tiến đáng kể trong hiệu suất xử lý.

[12] được đề xuất nhưng vẫn chưa thực sự đạt kết quả tốt khi áp dụng vào mô hình kiến trúc encoder – decoder

Cơ chế Attention (Attention Mechanism) được đề xuất bởi Dzmitry Bahdanau và cộng sự nhằm mở rộng mô hình Encoder-Decoder Cơ chế này cho phép mô hình tập trung vào các phần quan trọng, cụ thể là mức độ liên kết giữa từ trong dữ liệu đầu vào và từ cần dự đoán.

Trong giai đoạn decoder, mỗi từ được tạo ra sẽ dựa vào cơ chế chú ý (Attention Mechanism) để xác định các vị trí quan trọng trong câu nguồn Quá trình này tìm kiếm thông tin cần thiết và thực hiện việc lựa chọn thông qua một ma trận trọng số, giúp tối ưu hóa việc hiểu và chuyển đổi thông tin.

The attention matrix represents the attention probability between each source token and the target word, aiming to mitigate information loss in the hidden state during the decoder phase Instead of relying solely on the final layer of the encoder as a context vector representation for the entire input data, the context vector or attention vector is generated to highlight the crucial information from the source that relates to the target word This context vector adjusts the information retained by the hidden state at time t-1 in the decoder, addressing the shortcomings of recurrent neural networks.

Hình 14: Mô hình đang tạo ra từ yt tại thời điểm t bằng cách áp dụng cơ chế

Attention Mechanism is widely applied in various fields, including Neural Machine Translation for text processing, generating image captions, and text summarization.

Với kiến trúc chú ý (Attention model) [15], xác suất để phát sinh ra từ dự đoán 𝑦 𝑖 tại thời điểm i là p (𝑦 𝑖 |𝑦 1 , , 𝑦 𝑖−1 , x) = g(𝑦 𝑖−1 , 𝑠 𝑖 , 𝑐 𝑖 ) (1)

𝑐 𝑖 ∶ 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑣𝑒𝑐𝑡𝑜𝑟 𝑡ạ𝑖 𝑡ℎờ𝑖 đ𝑖ể𝑚 𝑖 Với 𝑠 𝑖 là hidden state của RNN tại thời điểm i được tính bằng

Unlike previous models, the attention model calculates the probability at each time step \( i \) based on the differences in the context vector \( c_i \) for each predicted word \( y_i \) This context vector is dependent on the sequence of hidden states \( (h_1, \ldots, h_T) \) during the encoding phase Each hidden state \( h_t \) encapsulates all the information from the input sequence and focuses on the word \( x_i \) being encoded at time \( i \) Consequently, the context vector \( c_i \) contains the sum of the alignment scores \( a_{ij} \) of the hidden states at time \( j \) concerning the predicted word \( y_i \), illustrating how well the inputs around position \( j \) align with the output at position \( i \).

The alignment score \( a_{ij} \) for each hidden state at time \( j \) is calculated by applying the Softmax function to the alignment model, which normalizes all generated scores This process creates a conditional probability distribution for the predicted word.

Mô hình 𝑒 𝑖𝑗 đánh giá mức độ tương quan giữa từ tại vị trí j trong giai đoạn mã hóa và từ dự đoán tại vị trí i trong giai đoạn đầu ra.

Hình 15: Mức độ tương quan (correlation) giữa dữ liệu nguồn (source) và dữ liệu dự đoán (target) [15]

Cột ngang và cột dọc thể hiện những từ trong câu nguồn (source) và những từ được dự đoán (target)

Việc áp dụng Cơ chế Chú ý (Attention Mechanism) giúp mô hình tập trung vào các phần quan trọng của dữ liệu thông qua việc tạo ra một mô hình căn chỉnh (alignment model) để tính toán các điểm số căn chỉnh (alignment score) Điểm số căn chỉnh phản ánh mức độ quan trọng của trạng thái ẩn từ giai đoạn mã hóa trong việc quyết định trạng thái ẩn tiếp theo và từ dự đoán Có nhiều phương pháp để lựa chọn mô hình căn chỉnh như Attention dựa trên nội dung, Attention cộng, Attention nhân và Dot Product Tuy nhiên, nhược điểm của mô hình chú ý là quá trình tính toán vector ngữ cảnh có thể không phản ánh đầy đủ các thông tin tương quan quan trọng giữa các câu.

Mạng nơ-ron hồi tiếp (RNN) và các biến thể của nó gặp khó khăn trong việc xử lý các trạng thái được giải mã do thông tin chú ý từ câu nguồn và câu dự đoán bị bỏ qua Hơn nữa, việc tính toán theo kiểu tuần tự dẫn đến sự phụ thuộc lẫn nhau giữa các trạng thái ẩn, làm cho việc tính toán song song trở nên khó khăn và kém hiệu quả về thời gian Cuối cùng, vấn đề về các phụ thuộc dài hạn vẫn tồn tại trong RNNs, mặc dù đã có nhiều biến thể cải tiến được đề xuất.

Transformer Architecture

The Transformer is a network architecture that relies entirely on the attention mechanism, proposed by Ashish Vaswani and his team This architecture differs from previous Sequence to Sequence Models by incorporating self-attention mechanisms and eliminating the use of Recurrent Neural Networks (RNNs).

Mục tiêu của kiến trúc Transformer là tối ưu hóa quá trình học máy bằng cách cho phép tính toán song song, từ đó rút ngắn thời gian đào tạo Transformer áp dụng cơ chế Self-Attention để chú ý đến các vị trí khác nhau trong chuỗi đầu vào, giúp tạo ra đại diện chính xác cho chuỗi đó Tiêu chí cải tiến của Transformer là khắc phục những hạn chế của mô hình Attention Model trước đó.

6.1 Mô hình kiến trúc của Transformer

Kiến trúc encoder-decoder được sử dụng để ánh xạ chuỗi đầu vào (𝑥₁, …, 𝑥ₙ) thành chuỗi đại diện (𝑧₁, …, 𝑧ₙ) Chuỗi đại diện z sau đó được đưa vào giai đoạn decoder để tạo ra chuỗi dự đoán (𝑦₁, …, 𝑦ₙ), với mỗi từ được tạo ra theo từng thời điểm Tại mỗi bước, mô hình hoạt động theo cơ chế hồi quy tự động (auto-regressive), sử dụng các từ đã được tạo ra trước đó làm đầu vào cho việc tạo ra các từ tiếp theo.

Hình 16: Kiến trúc mô hình Transformer [27]

Kiến trúc của Transformer bao gồm các mô-đun encoder và decoder được xếp chồng lên nhau nhiều lần, với số lượng khối xếp chồng ở cả hai giai đoạn này là như nhau, được biểu thị bằng ký hiệu Nx.

16 Mỗi khối encoder/decoder được cấu tạo từ 2 loại lớp con (sub-layer) gồm seft- attention và position-wise fully connected Feed Forward Neural Network (FFN)

Hình 17: Các khối encoder/decoder được xếp chồng nhau trong mô hình

6.2 Input Embedding và Positional Embedding Đây là bước quan trọng để mã hóa thông tin theo trình tự các từ của chuỗi ở dữ liệu đầu vào Trước tiên dữ liệu đầu vào sẽ được mã hóa thành các mã thông báo (token) Mã thông báo (tokenizer) mã hóa chuỗi bằng cách ngắt chuỗi thành từ khóa phụ nếu từ đó không có trong tập dữ liệu và thêm mã thông báo bắt đầu và kết thúc vào đầu vào và mục tiêu Sau đó chuyển đổi mã thông báo dữ liệu đầu vào (input tokens) và mã thông báo dữ liệu dự đoán (output tokens) của từng từ thành những vec-tơ không gian n chiều (n- dimensional space) gọi là input embedding vector

Mã hóa vị trí (positional encoding) là giai đoạn tiếp theo trong quá trình xử lý ngôn ngữ tự nhiên, nơi các từ trong câu được tích hợp vào vector nhúng đầu vào Mã hóa này sử dụng cùng một không gian để đảm bảo rằng vị trí của các từ được thể hiện một cách chính xác.

In a 21-dimensional space with input embedding, the model does not utilize recurrent neural networks (RNNs) or convolutional neural networks (CNNs) that can remember each word in the input sequence Therefore, incorporating position information into the embedding representation provides each word with knowledge about the relative position of words within the sequence This is crucial as the meaning of a sequence relies on the order of the words.

Hàm sine và cosine được đề xuất trong mô hình Transformer [27] cho việc tính toán mã hóa vị trí (positional encoding)

Với pos là vị trí và i không gian chiều (dimension).

Giai đoạn này bao gồm nhiều lớp encoder chồng nhau (stack of encoder layers), hình

The architecture of the encoder consists of 18 layers, each containing two sub-layers: Multi-Head Self-Attention and a position-wise fully connected feed-forward network.

Giữa 2 sub-layer là một lớp chuẩn hóa (layer normalization) sẽ được áp dụng residual connection trước khi chuẩn hóa Để tạo điều kiện cho các kết nối còn lại này (residual connection), tất cả các lớp con (sublayer) trong mô hình, cũng như các lớp nhúng (embedding layers), tạo ra các đầu ra có kích thước dmodel = 512 [27]

Hình 18: Một lớp của giai đoạn encoder [27]

6.3.1 Seft-attention trong Transformer Ở mức độ tổng quan, Self-attention hoặc Intra-attention [25], [26], [27] là một trường hợp khác của cơ chế chú ý (Attention Mechanism), đây là một cơ chế chú ý đến sự liên quan của các vị trí khác nhau trong cùng một chuỗi (a single sequence) để tính toán biểu diễn (representation) của chuỗi đó Để làm rõ hơn về Seft-attention, ta lấy ví dụ một câu nguồn (input senquence) “The animal didn't cross the street because it was too tired” Trong câu trên ta có thể hiểu được chữ “The animal” và “it” là những từ đồng nghĩa với nhau và được thể hiện ở những vị trí khác nhau trong câu Seft-attention cho phép nó xem xét các vị trí khác trong chuỗi đầu vào để có thể giúp mã hóa tốt hơn cho từ này

Hình 19: Mã hóa từ "it" trong encoder layer thứ 5 [31]

Sau khi mã hóa từ "it" trong lớp encoder thứ 5, cơ chế chú ý (Self-attention) chủ yếu tập trung vào "The animal" và tích hợp thông tin mã hóa vào một phần biểu diễn của nó Hàm Self-Attention được mô tả như một ánh xạ giữa truy vấn (query) và tập hợp các cặp khóa (key-value) để tạo ra giá trị đầu ra (output) Trong đó, truy vấn, khóa, giá trị và giá trị đầu ra đều là các vectơ Giá trị đầu ra được tính là tổng trọng số của các giá trị, với trọng số cho mỗi giá trị được xác định bởi hàm tương thích giữa truy vấn và khóa tương ứng.

Bước đầu tiên trong việc tính toán sự chú ý (self attention) là tạo ra ba vectơ (query, key, value) từ mỗi vectơ nhúng của từng từ Các vectơ này được hình thành bằng cách nhân vectơ nhúng với ba ma trận trọng số trong quá trình đào tạo Kích thước của các vectơ query, key, value được tạo ra là 64, nhỏ hơn kích thước của vectơ nhúng từ.

24 là 512, kích thước này không thể nhỏ hơn vì đây là kiến trúc lựa chọn để tạo thuận lợi cho việc áp dụng residual connection giữa các sublayer [27]

Hình 20: Miêu tả việc tạo ra các vector query, key, value cho một từ bằng việc nhân embedding vector với các matix trong số tương ứng [31]

Hình 21: Miêu tả việc tạo ra ma trận query, key, value cho câu dữ liệu nguồn, mỗi hàng trong ma trận X thể hiện 1 từ trong câu dữ liệu nguồn

Hình 22: Giai đoan Encoder ở layer thứ 1, miêu tả việc xử lý các vector đại diện qua từng sublayer [31]

Each input sequence undergoes input embedding and positional encoding, resulting in word representations as embedding vectors, denoted as \( x = (x_1, \ldots, x_n) \), where \( x_i \in \mathbb{R}^{d_x} \) for \( n \) words After passing through the self-attention sublayer, these embedding vectors are enhanced by incorporating compositional relationships from different positions within the same sequence, represented as \( z = (z_1, \ldots, z_n) \), maintaining the same dimensions as \( x \) with \( z_i \in \mathbb{R}^{d_z} \) At each position \( z_i \), the embedding vector is updated with attention scores calculated using a specific formula.

Với 𝑎 𝑖𝑗 là trọng số (attention score) của từ 𝑧 1 𝑣à 𝑧 𝑗 được chuẩn hóa (normalize) bằng hàm softmax và 𝑥 𝑗 𝑊 𝑉 là value của từ ở vị trí j

In the Transformer model proposed by Ashish Vaswani and collaborators, the attention score \( e_{ij} \) quantifies the relevance between positions \( i \) and \( j \) using a compatibility function This is calculated through the Scaled Dot-Product Attention method, which will be detailed in the following section.

Scaled Dot-Product Attention là một hàm chú ý quan trọng được sử dụng để tính toán độ tương thích giữa các từ trong câu Hàm này hoạt động trên một tập hợp các truy vấn được biểu diễn qua ma trận Q và các khóa được biểu diễn qua ma trận K, với kích thước không gian nhất định.

𝑑 𝑘 và giá trị (values) ma trận V với kích thước không gian là 𝑑 𝑣 được tính bằng công thức

Hiện thực hóa hệ thống

Tổng kết và hướng phát triển

Ngày đăng: 27/11/2021, 15:51

TỪ KHÓA LIÊN QUAN

w