BÀI TOÁN MÔ TẢ HÌNH ẢNH THỜI TRANG
Giới thiệu bài toán
Tạo câu mô tả hình ảnh thời trang là một ứng dụng của bài toán mô tả hình ảnh trong lĩnh vực Trí tuệ nhân tạo, yêu cầu máy tính hiểu nội dung hình ảnh và chuyển tải lại bằng ngôn ngữ tự nhiên Để giải quyết vấn đề này, cần xây dựng một mô hình máy tính có khả năng nắm bắt ngữ cảnh, vị trí và các đối tượng chính trong bức ảnh, từ đó tạo ra câu mô tả hợp lý và đầy đủ ý nghĩa Hơn nữa, để đạt được câu mô tả tối ưu, mô hình cũng cần có hiểu biết về ngữ pháp của ngôn ngữ đích.
Một trong những nhiệm vụ quan trọng quyết định hiệu quả của mô hình là trích xuất thông tin từ hình ảnh thô sang định dạng mà mô hình có thể học và sử dụng Các thông tin này, được gọi là features, thường được biểu diễn dưới dạng vector Để thực hiện việc trích xuất dữ liệu, chúng ta áp dụng các kỹ thuật Học sâu, cho phép học các feature từ dữ liệu huấn luyện và xử lý số lượng lớn hình ảnh Mạng nơ-ron tích chập (CNN) là công cụ phổ biến trong việc trích xuất và học các feature, trong khi mạng nơ-ron hồi quy (RNN) được sử dụng để tạo ra các câu mô tả hình ảnh phù hợp.
Giải pháp cho bài toán
Các phương pháp để giải quyết bài toán mô tả ảnh thời trang có thể được chia làm ba nhóm chính sau đây
Phương pháp tiếp cận dựa trên mẫu sử dụng các ô trống cố định tương ứng với từ trong câu mô tả Các đối tượng, thuộc tính và hành động được xác định để lấp đầy các ô trống này Mặc dù các phương pháp này có thể tạo ra câu chính xác về ngữ pháp, nhưng chúng gặp hạn chế do các mẫu đã được xác định trước, không cho phép tạo ra câu mô tả với độ dài thay đổi.
Các phương pháp truy hồi dựa trên hình ảnh cho phép lấy các câu mô tả từ không gian ảnh và không gian đa phương thức Trong các phương pháp này, câu mô tả được chọn từ tập hợp các câu mô tả hiện có, bắt đầu bằng việc tìm kiếm những hình ảnh tương tự về mặt hình ảnh cùng với câu mô tả tương ứng từ cơ sở dữ liệu.
Chương 2: Bài toán mô tả ảnh thời trang
Các liệu huấn luyện được sử dụng để tạo ra câu mô tả ứng viên cho hình ảnh, giúp chọn lựa câu mô tả phù hợp nhất trong nhóm Những phương pháp này đảm bảo tính khái quát và cú pháp chính xác Tuy nhiên, chúng vẫn gặp khó khăn trong việc tạo ra câu mô tả cụ thể và chính xác về mặt ngữ nghĩa cho từng hình ảnh.
Phương pháp phiên dịch trong tạo câu mô tả sử dụng cả không gian ảnh và không gian đa phương thức, với cách tiếp cận là phân tích nội dung hình ảnh trước khi tạo câu mô tả từ nội dung đã phân tích bằng mô hình ngôn ngữ Phương pháp này cho phép tạo ra các câu mô tả mới cho từng hình ảnh với độ chính xác ngữ nghĩa cao hơn so với các phương pháp trước đây Hầu hết các phương pháp dựa trên học sâu hiện nay đều áp dụng phương pháp Translation-based.
Các phương pháp mô tả ảnh thời trang dựa trên deep learning có thể được phân loại theo các kỹ thuật học như học có giám sát, học tăng cường và học không giám sát Thông thường, mô tả được tạo cho toàn bộ khung cảnh trong hình ảnh, nhưng cũng có thể tạo cho các vùng cụ thể (Dense captioning) Các mô hình mô tả ảnh thường sử dụng kiến trúc bộ mã hóa-giải mã hoặc kiến trúc thành phần Ngoài ra, có các phương pháp áp dụng cơ chế chú ý, dựa trên các khái niệm ngữ nghĩa, và các phương pháp khác nhau trong việc mô tả hình ảnh Một số phương pháp còn có khả năng tạo ra câu mô tả cho các đối tượng không có trong tập huấn luyện.
HỌC SÂU
Giới thiệu về Học sâu (Deep learning)
Học sâu, một nhánh của học máy, sử dụng các thuật toán để mô hình hóa dữ liệu ở mức độ trừu tượng cao thông qua nhiều lớp xử lý phức tạp.
Học sâu là một kỹ thuật trong học máy, dựa trên các thuật toán lấy cảm hứng từ cấu trúc và cơ chế hoạt động của bộ não, được gọi là mạng thần kinh nhân tạo (ANN) Quan sát có thể được biểu diễn dưới nhiều hình thức, như vector giá trị cường độ cho từng điểm ảnh hoặc dưới dạng trừu tượng như tập hợp các cạnh và khu vực có hình dạng cụ thể, ví dụ như nhận dạng khuôn mặt và quần áo.
Có nhiều kiến trúc học sâu như mạng nơ-ron tích chập (CNN), mạng nơ-ron hồi quy (RNN) và deep belief network (DBN) được ứng dụng trong các lĩnh vực như thị giác máy tính, nhận diện giọng nói và xử lý ngôn ngữ tự nhiên Deep learning đã chứng minh hiệu quả vượt trội trong việc giải quyết nhiều nhiệm vụ khác nhau.
Mạng nơ-ron nhân tạo (Artificial Neural Network)
Mạng nơ-ron nhân tạo (ANN) là mô hình toán học được phát triển dựa trên cấu trúc của nơ-ron sinh học, tương tự như não động vật Hệ thống này có khả năng học hỏi để thực hiện các nhiệm vụ mà không cần lập trình chi tiết cho từng loại nhiệm vụ Chẳng hạn, trong nhận diện hình ảnh, mạng nơ-ron nhân tạo có thể xác định sự hiện diện của xe trong bức ảnh bằng cách phân tích các hình ảnh mẫu đã được gán nhãn “car” và “not car”, từ đó áp dụng kết quả để nhận diện xe trong các hình ảnh khác.
Mạng nơ-ron nhân tạo bao gồm các nơ-ron nhân tạo được liên kết với nhau, tương tự như các khớp thần kinh trong bộ não sinh học Mỗi liên kết này có khả năng truyền tín hiệu giữa các nơ-ron, cho phép chúng nhận và xử lý thông tin Sau khi xử lý, tín hiệu sẽ được gửi đến các nơ-ron nhân tạo mà chúng liên kết, tạo nên một mạng lưới thông minh.
Trong những năm gần đây, mạng nơ-ron nhân tạo đã được ứng dụng rộng rãi trong nhiều lĩnh vực như thị giác máy tính, nhận diện giọng nói và dịch văn bản.
3.2.1.1 Mạng nơ-ron sinh học (Biological Neural Networks)
Bộ não sinh học được cấu tạo từ 100 tỷ nơ-ron, tạo thành mạng lưới thần kinh sinh học thông qua sự liên kết giữa các nơ-ron Các nơ-ron tương tác qua sợi trục (Axon) và sợi nhánh (Dendrite) của nơ-ron khác Khi não bộ phản ứng, xung thần kinh được gửi qua sợi nhánh và được tổng hợp tại Nucleus Mỗi nơ-ron có một ngưỡng kích thích, và khi xung thần kinh vượt qua ngưỡng này, chúng sẽ được truyền qua nơ-ron khác qua sợi trục.
Hình 3.1: Cấu trúc nơ-ron sinh học
3.2.1.2 Mạng nơ-ron nhân tạo Để máy tính có thể học thì con người đã phải mô phỏng 1 bộ phận quan trọng của con người – bộ não, thứ giúp chúng ta có nhận thức, suy nghĩ, phân biệt mọi vật thể xung quanh và ghi nhớ nó, cũng bao gồm nhiều nơ-ron tương tác với nhau, gọi là mạng thần kinh nhân tạo
Cấu tạo của của một nơ-ron nhân tạo
Hình 3.2: Cấu tạo của một nơ-ron nhân tạo
Nơ-ron nhân tạo nhận thông tin qua các liên kết, mỗi liên kết có một trọng số
Trọng số (𝑤 1, 𝑤 2, 𝑤 3) xác định mức độ quan trọng của dữ liệu đầu vào (𝑥 1, 𝑥 2, 𝑥 3) đối với kết quả đầu ra Các dữ liệu đầu vào được nhân với trọng số và tổng hợp lại; nếu tổng giá trị vượt ngưỡng quy định (threshold), nơ-ron sẽ được kích hoạt, dẫn đến giá trị đầu ra là 1 Ngược lại, nếu không vượt ngưỡng, giá trị đầu ra sẽ là 0 Việc phân phối độ quan trọng của dữ liệu đầu vào thông qua trọng số quyết định kết quả đầu ra dựa trên ngưỡng đã được thiết lập.
1 𝑖𝑓 ∑ 𝑥 𝑖 𝑤 𝑖 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 Để thuận tiện trong việc tính toán ta đặt 𝑏 = −𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 và (1) có thể viết lại thành
Kết quả đầu ra nhị phân 0 và 1 có nhược điểm là một thay đổi nhỏ trong dữ liệu đầu vào có thể làm đảo ngược kết quả, dẫn đến những biến động lớn trong toàn bộ hệ thống mạng Để khắc phục vấn đề này, kết quả đầu ra được xác định thông qua hàm sigmoid 𝜎(𝑥 𝑖 𝑤 𝑖 + 𝑏).
Ta có công thức của hàm sigmoid như sau:
8 Đặt 𝑧 = 𝑥 𝑖 𝑤 𝑖 + 𝑏 thì công thức lúc này sẽ có dạng:
Hàm sigmoid là một hàm số có giá trị nằm trong khoảng từ 0 đến 1 Khi nhận giá trị đầu vào nhỏ, hàm sẽ cho kết quả gần 0, trong khi khi nhận giá trị đầu vào lớn, kết quả sẽ tiến gần 1.
Hình 3.3: Đồ thị của hàm step (trái) và hàm Sigmoid (phải)
Hàm sigmoid có giá trị giới hạn trong khoảng [0,1] và là một hàm số liên tục, cho phép nó tạo ra các giá trị trung gian trong khoảng này Sự thay đổi nhỏ ở dữ liệu đầu vào chỉ dẫn đến những biến động nhỏ ở kết quả đầu ra, điều này giúp tạo ra sự ổn định cho mô hình.
Mạng thần kinh nhân tạo, tương tự như mạng thần kinh sinh học, bao gồm các nơ-ron nhân tạo liên kết với nhau để tạo thành một mạng lưới phức tạp Các nơ-ron được tổ chức theo từng lớp, trong đó các nơ-ron ở lớp sau kết nối với nơ-ron ở lớp trước Mỗi nơ-ron nhận dữ liệu đầu vào từ nơ-ron liên kết trước đó và tiếp tục truyền dữ liệu đến các lớp tiếp theo, tạo ra quá trình xử lý thông tin hiệu quả.
Hình 3.4: Cấu trúc cơ bản của mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo bao gồm ba lớp chính: lớp đầu vào (Input layer), lớp ẩn (Hidden layer) và lớp đầu ra (Output layer), trong đó mỗi lớp chứa các thành phần được gọi là nút (nodes).
Mỗi mô hình mạng luôn có một input layer và một output layer, hidden layer có thể có hoặc không
Lớp đầu vào (Input layer) là lớp đầu tiên trong mạng nơ-ron, chịu trách nhiệm tiếp nhận dữ liệu đầu vào cho toàn bộ mạng Tại lớp này, chỉ có dữ liệu đầu vào được thể hiện mà không thực hiện bất kỳ phép tính nào Số lượng nút trong lớp đầu vào phụ thuộc vào số chiều của dữ liệu đầu vào.
Lớp đầu ra (Output layer) là lớp cuối cùng trong mạng nơ-ron, đại diện cho kết quả cuối cùng của toàn bộ mạng lưới Số lượng nút trong lớp này được xác định dựa trên số lượng kết quả mà người dùng muốn dự đoán.
Lớp ẩn trong mạng nơ-ron là các lớp nằm ở giữa, thực hiện các tính toán chủ yếu của mạng Số lượng lớp và số nút trong mỗi lớp được điều chỉnh dựa trên độ phức tạp của bài toán cần dự đoán.
Mỗi nút trong lớp ẩn và lớp đầu ra kết nối với tất cả các nút ở lớp trước đó thông qua các trọng số 𝑤 riêng biệt, đồng thời mỗi nút cũng có hệ số bias 𝑏 riêng.
Mạng nơ-ron tích chập (Convolutional neural network)
Thị giác máy tính là một lĩnh vực nghiên cứu đang phát triển mạnh mẽ trong Học sâu, giúp thực hiện các công việc như phân loại hình ảnh, phát hiện vật thể, và ứng dụng trong xe tự lái, nhận diện khuôn mặt, cũng như chẩn đoán bệnh trong y tế Tuy nhiên, việc giúp máy tính hiểu và học từ hình ảnh không phải là điều dễ dàng, vì máy tính nhận diện hình ảnh thông qua các ma trận.
Đối với ảnh đơn sắc kích thước 𝑚 × 𝑛 hoặc ảnh màu RGB kích thước 𝑚 × 𝑛 × 3, mỗi điểm ảnh mang giá trị từ 0 đến 255 Khi áp dụng mạng nơ-ron multilayer perceptron, số lượng liên kết và tham số trở nên rất lớn Cụ thể, với bức ảnh kích thước 64 × 64 × 3, lớp đầu vào có 12.288 nút, và lớp ẩn cần phải kết nối đầy đủ với lớp dữ liệu đầu vào.
Với 1000 nút, số lượng liên kết đạt 12.288.000 và số lượng bias là 1000, tổng số tham số lên đến 12.289.000, chỉ tính riêng liên kết giữa hai lớp đầu tiên Điều này tạo ra một mạng nơ-ron có số lượng liên kết rất lớn, gây cản trở cho quá trình huấn luyện mô hình Hơn nữa, dữ liệu hình ảnh chứa một khối lượng lớn thông tin về cấu trúc không gian, nhưng mạng nơ-ron kết nối đầy đủ không thể nắm bắt được loại thông tin này.
Mạng nơ-ron tích chập (CNN) được phát triển để giải quyết các vấn đề liên quan đến phân loại hình ảnh, nhận diện và khoanh vùng đối tượng CNN có khả năng nắm bắt thông tin về cấu trúc không gian của bức ảnh, đồng thời áp dụng các tính chất như chia sẻ tham số và liên kết không toàn bộ giữa các lớp, giúp giảm đáng kể số lượng kết nối và tham số, từ đó nâng cao hiệu suất của hệ thống mạng nơ-ron.
Mạng nơ-ron tích chập đưa ra các khái niệm chính sau đây:
Vùng tiếp nhận cục bộ trong mạng nơ-ron kết nối đầy đủ truyền thống cho thấy rằng mỗi nơ-ron được liên kết với tất cả các nơ-ron ở lớp trước đó, tạo ra sự tương tác mạnh mẽ giữa các lớp.
Trong kiến trúc CNN, mỗi nơ-ron chỉ kết nối với một vùng cụ thể ở lớp trước, được gọi là vùng tiếp nhận cục bộ (Receptive fields), thường có hình dạng vuông.
Các trường tiếp nhận (receptive fields) đóng vai trò quan trọng trong việc giảm thiểu số lượng kết nối nơ-ron giữa các lớp trong mạng nơ-ron Chúng giúp mạng nơ-ron nắm bắt thông tin về cấu trúc không gian, từ đó phân tách dữ liệu hình ảnh và xác định những vùng dữ liệu có giá trị cao.
Hình 3.8: Recceptive field trong CNN
Chia sẻ trọng số (Shared-weight) trong mạng nơ-ron cho phép mỗi nơ-ron tính toán giá trị đầu ra bằng cách áp dụng hàm cho các giá trị đầu vào từ vùng tiếp nhận (receptive field) của lớp trước Hàm này được xác định bởi véc-tơ tham số được huấn luyện, và quá trình học của mạng là điều chỉnh các tham số này để cải thiện độ chính xác dự đoán Véc-tơ tham số, hay còn gọi là bộ lọc (filter), giúp phát hiện các đặc điểm của bức ảnh, từ việc nhận diện các góc cạnh ở mức độ thấp đến các đối tượng cụ thể ở mức độ cao hơn Một điểm nổi bật của CNN là nhiều nơ-ron chia sẻ cùng một bộ lọc, điều này giúp giảm số lượng tham số cần thiết vì chỉ cần một véc-tơ tham số cho tất cả các vùng tiếp nhận.
Tích chập (Convolutional) là các lớp thực hiện phép toán tích chập trên dữ liệu đầu vào, sau đó chuyển kết quả đến lớp tiếp theo Dữ liệu này thường là các ma trận hoặc ten-xơ, có thể ở dạng hai chiều hoặc ba chiều.
Phép tích chập là một phương pháp quan trọng trong mạng nơ-ron, được minh họa qua ví dụ trong hình 3.9 Trong ví dụ này, ma trận đầu vào 𝐼 có kích thước 7 x 7, trong khi ma trận tham số 𝐾 cần huấn luyện có kích thước 3 x 3 Kết quả của phép toán tích chập giữa ma trận 𝐼 và 𝐾 sẽ tạo ra ma trận đầu ra có kích thước 5 x 5 Công thức tính toán cho phép tích chập này được trình bày rõ ràng trong bài viết.
Ma trận thu được có số chiều được tính như sau:
Ma trận K sẽ quét qua ma trận dữ liệu đầu vào I từ trái sang phải và từ trên xuống dưới với bước nhảy cố định Trong mỗi lần quét, chúng ta thực hiện phép toán tích chập cho vùng dữ liệu tương ứng, tạo ra ma trận kết quả 𝐼 ∗ 𝐾 Ma trận K được gọi là bộ lọc (filter/kernel), trong khi ma trận kết quả 𝐼 ∗ 𝐾 được gọi là ma trận đặc tính (features map).
Mỗi nơ-ron trong lớp tích chập chỉ xử lý dữ liệu trong vùng tiếp nhận cục bộ của nó, với mỗi bộ lọc nhận diện một đặc điểm riêng của dữ liệu đầu vào Do đó, một lớp tích chập sẽ bao gồm nhiều bộ lọc khác nhau để nắm bắt nhiều đặc tính của dữ liệu, và các kết quả đầu ra sẽ được xếp chồng lên nhau Mặc dù mạng nơ-ron truyền thống có thể học các đặc tính và phân loại dữ liệu, việc áp dụng kiến trúc này cho dữ liệu hình ảnh là không khả thi do yêu cầu số lượng lớn nơ-ron Kích thước đầu vào của hình ảnh rất lớn, với mỗi pixel là một tham số quan trọng Phép toán tích chập cung cấp giải pháp hiệu quả cho vấn đề này bằng cách giảm thiểu số lượng nơ-ron cần thiết.
Số lượng tham số cần thiết trong mạng nơ-ron có thể được giảm thiểu, cho phép xây dựng nhiều lớp hơn với ít tham số hơn Chẳng hạn, cho bất kỳ kích thước hình ảnh nào, các vùng tiếp nhận có kích thước 3 x 3 sẽ chia sẻ cùng một số tham số, chỉ yêu cầu tổng cộng 9 tham số.
Khi thực hiện phép tính tích chập với bộ lọc, kích thước ma trận đặc điểm sẽ giảm đáng kể qua nhiều lớp Điều này dẫn đến việc các điểm ảnh ở rìa không được quét qua nhiều lần như các điểm ảnh ở trung tâm, gây ra sự thiếu sót dữ liệu ở các khu vực này Để khắc phục những vấn đề này, việc thêm padding cho dữ liệu là cần thiết.
Stride là bước trượt của bộ lọc khi quét Với stride càng lớn thì ma trận đặc tính nhận được có kích thước càng nhỏ
Sau khi áp dụng padding và stride ta thu được ma trận có kích thước
Lớp tổng hợp (Pooling layer) thường được áp dụng giữa các lớp tích chập để đơn giản hóa thông tin đầu ra Chức năng chính của lớp này là giảm số lượng nơ-ron, từ đó giúp tiết kiệm thời gian tính toán trong quá trình xử lý dữ liệu.
Hình 3.11: Pooling layer trong CNN
Mạng nơ-ron hồi quy (Recurrent neural network-RNN)
Trong mạng nơ-ron truyền thống, các đầu vào và đầu ra hoạt động độc lập, không tạo thành chuỗi liên kết, điều này không phù hợp với các bài toán có dữ liệu tuần tự như video hay câu văn Để khắc phục vấn đề này, mạng nơ-ron hồi quy đã được phát triển.
Các dạng bài toán RNN:
Hình 3.13: Mô hình các dạng bài toán RNN
Một-một là cấu trúc thường được áp dụng trong mạng nơ-ron và mạng nơ-ron tích chập, với một đầu vào và một đầu ra Chẳng hạn, trong mạng nơ-ron tích chập, đầu vào là một bức ảnh và đầu ra là một phân đoạn hình ảnh.
Bài toán một đến nhiều liên quan đến việc có một đầu vào và nhiều đầu ra Chẳng hạn, trong bài toán mô tả ảnh, đầu vào là một bức ảnh và đầu ra là nhiều từ ngữ mô tả cho bức ảnh đó.
Many to one: Bài toán này có nhiều đầu vào nhưng chỉ có một kết quả đầu ra
Trong bài toán phân loại hành động trong video, đầu vào bao gồm nhiều hình ảnh được tách ra từ video, trong khi đầu ra là các hành động diễn ra trong video đó.
Nhiều-nhiều là mô hình có nhiều đầu vào và nhiều đầu ra Ví dụ điển hình là bài toán dịch ngôn ngữ, trong đó đầu vào có thể là câu "I love Vietnam" và đầu ra tương ứng sẽ là câu "Tôi yêu Việt Nam".
Mạng nơ-ron tích hồi quy (RNN) được ứng dụng rộng rãi trong nhiều lĩnh vực như chuyển giọng nói thành văn bản, dịch ngôn ngữ, nhận diện hành động và nội dung trong video, cũng như chẩn đoán bệnh tim trong y tế Khác với các mạng nơ-ron truyền thống, nơi đầu vào và đầu ra là độc lập, RNN cho phép các nơ-ron thực hiện cùng một tác vụ với đầu ra phụ thuộc vào các phép tính trước đó, nhờ vào khả năng lưu trữ thông tin Ý tưởng chính của RNN là xử lý chuỗi thông tin, với cấu trúc gồm nhiều nơ-ron kết nối liên tục.
Hình 3.14: Kết nối trong RNN
Mô hình này minh họa cách triển khai nội dung của một mạng nơ-ron hồi tiếp (RNN) Mỗi từ trong câu đầu vào sẽ tương ứng với một tầng nơ-ron Ví dụ, với câu “Trời hôm nay đẹp quá”, sẽ có 5 lớp nơ-ron tương ứng với từng chữ trong câu.
Xt là đầu vào bước t Giả sử X1 là một véc-tơ tương ứng với từ thứ 2 trong câu (hôm)
St là trạng thái ẩn tại bước t, đóng vai trò là bộ nhớ của mạng Giá trị của St được tính toán dựa trên các trạng thái ẩn trước đó và đầu vào tại bước hiện tại.
Công thức: St = f active (W st-1 + U xt ).Với hàm f active là hàm kích hoạt (activation function) có nhiệm vụ là chuẩn hoá đầu ra
Ot là đầu ra tại bước t, đại diện cho xác suất của các từ trong danh sách từ vựng mà có thể xuất hiện tiếp theo trong câu.
Công thức Ot = f(V, St) với W, U, V là các trọng số huấn luyện, cho thấy sự liên kết giữa đầu ra và trạng thái ẩn trong mạng nơ-ron hồi quy (RNN) Để huấn luyện RNN, cần điều chỉnh thuật toán lan truyền ngược (backpropagation), vì đạo hàm tại mỗi đầu ra không chỉ phụ thuộc vào bước tính toán trước đó mà còn vào các bước tính toán trước đó, do các tham số trong mạng RNN được chia sẻ giữa tất cả các bước.
Để tính đạo hàm ở bước thứ 4, cần phải tính đạo hàm của ba bước trước đó và cộng tổng đạo hàm của chúng lại Phương pháp tính toán này được gọi là lan truyền ngược liên hồi.
Có 3 tham số ta cần tìm là U,W,V tức là ta cần tính đạo hàm của 𝜕𝐿
Tính đạo hàm của L với W ở state thứ i:
Ta có St = tanh (W*S29 + U*xt+1) Ta thấy có xuất hiện của S29 nên có 29 phụ thuộc vào W
Ta có Sj và W đều nhỏ hơn 1 nên khi tính toán nhiều lần những giá trị nhỏ hơn 1 thì 𝜕𝑆30
𝜕𝑆𝑖 sẽ dần tiến về 0 hay 𝜕𝐿
𝜕𝑊 sẽ dần tiến về 0, gây ra hiện tượng triệt tiêu đạo hàm (vanish gradient)
Các trạng thái ở quá khứ xa xôi không được cập nhật giá trị hệ số học, khiến mạng nơ-ron hồi quy không thể học thông tin từ quá khứ do hiện tượng triệt tiêu đạo hàm Để khắc phục tình trạng này, mô hình Bộ nhớ dài – ngắn hạn (Long Short-Term Memory - LSTM) được sử dụng như một giải pháp cải tiến cho RNN.
Mạng bộ nhớ Dài-Ngắn (Long-Short term memory network)
Là 1 cải tiến của mạng nơ-ron hồi quy (RNN), khác nhau ở chỗ LSTM [12] sử dụng các hàm tính toán khác ở trạng thái ẩn nhằm giải quyết vấn đề nhớ các bước dài của RNN Về mặt lý thuyết thì RNN có thể mang thông tin từ các lớp trước đến lớp sau, thường được sử dụng với dạng thông tin dạng chuỗi như một văn bản dài nhưng trên thực tế thì nó chỉ có thể nhớ được vài bước trước đó và sau đó bị hiện tượng triệt tiêu đạo hàm, hay nói cách khác là mô hình chỉ học được vài bước gần nó, còn gọi là bộ nhớ ngắn hạn (short-term memory)
Mục tiêu của chúng ta là khai thác thông tin từ những bước trước đó, điều này đòi hỏi phải có bộ nhớ dài hạn, mà mạng nơ-ron hồi quy không thể thực hiện Để giải quyết vấn đề này, mô hình bộ nhớ dài – ngắn hạn (Long Short-Term Memory) đã được phát triển.
Hình 3.15: Tổng quan mô hình LSTM
Cổng thông tin có nhiệm vụ đánh giá tầm quan trọng của thông tin, từ đó quyết định giữ lại hoặc loại bỏ Quá trình này giúp lưu giữ những thông tin quan trọng, cho phép chúng được truyền đi xa và ảnh hưởng lớn đến quá trình huấn luyện.
Cổng quên (Forget gate) là thành phần quan trọng trong mạng nơ-ron, quyết định thông tin nào trong bộ nhớ hiện tại được giữ lại và thông tin nào cần bị loại bỏ Đầu vào của cổng này bao gồm trạng thái ẩn từ bước trước đó và thông tin mới.
Hình 16: Cổng quên trong LSTM và công thức
Với xt là đầu vào bước t, ht-1 là trạng thái ẩn ở bước t-1, W f là trọng số tại cổng quên, b f là độ lệch tại cổng quên
Hàm Sigmoid giới hạn giá trị trong khoảng (0:1), cho phép loại bỏ thông tin không quan trọng bằng cách chiếu chúng về gần 0, trong khi thông tin hữu ích sẽ được điều chỉnh gần 1.
Cổng vào (Input gate) quyết định thông tin mới được cập nhật vào bộ nhớ (Cell state) thông qua hai hàm Sigmoid và Tanh Đầu ra từ hàm Sigmoid điều chỉnh thông tin đã xử lý từ đầu ra hàm Tanh, giúp tối ưu hóa thông tin được thêm vào bộ nhớ một cách phù hợp.
Hình 3.17: Cổng vào trong LSTM và công thức
Với i t là dữ liệu sau ghi qua hàm Sigmoid tại cổng quên, Wi, bi lần lượt là trọng số và độ lệch tại cổng vào
Nhờ 2 cổng trên, ta có thể tính ra giá trị của cell state hiện tại
Tế bào trạng thái được xem là bộ nhớ của hệ thống, nơi lưu trữ thông tin quan trọng Để cập nhật và lưu giữ thông tin, các thành phần phải đi qua tất cả các cổng, do đó chỉ những thông tin chọn lọc mới được đưa vào bộ nhớ Điều này giúp các thành phần hữu ích từ lâu vẫn có khả năng tác động và điều chỉnh hệ thống.
Hình 3.18: Tế bào trạng thái trong LSTM và công thức
Với it và 𝐶̃t lần lượt là đầu ra của hàm Sigmoid là đầu ra của hàm Tanh tại cổng vào Ct-1 là cell state ở bước t-1
Cổng ra (Output gate) quyết định trạng thái ẩn (hidden state) cho tế bào tiếp theo, chứa thông tin về đầu vào trước đó Nó thu thập dữ liệu từ hai nguồn chính là bộ nhớ.
25 và đầu vào hiện tại cùng với trạng thái ẩn trước đó Trạng thái ẩn hiện tại thường sử dụng trong việc dự đoán
Hình 3.19: Cổng ra trong LSTM và công thức
Đầu ra của hàm Sigmoid tại Cổng ra được biểu thị bởi o t, với Wo và bo lần lượt là trọng số và độ lệch tại Cổng ra Trạng thái ẩn ở bước hiện tại được ký hiệu là ht.
LSTM, một cải tiến của RNN, có khả năng xử lý cả bộ nhớ ngắn hạn và dài hạn Thành phần mới trong LSTM, trạng thái tế bào, hoạt động như một băng chuyền, giữ lại thông tin quan trọng để sử dụng trong các bước tiếp theo Nhờ đó, LSTM không chỉ duy trì thông tin trong thời gian ngắn mà còn đảm bảo khả năng lưu trữ và truy xuất thông tin trong dài hạn, kết hợp cả hai tính chất bộ nhớ này.
LSTM giúp chống triệt tiêu đạo hàm
Ta cũng áp dụng thuật toán lan truyền ngược liên hồi (Back propagation through time) cho LSTM giống như RNN
Thành phần chính gây nên hiện tượng triệt tiêu đạo hàm ở RNN là
𝜕𝑆 𝑡−1 = (1- 𝑆 𝑡 2 ) * W với W < 1 Với LSTM thì ta quan tâm đến 𝜕𝑐 𝑡
Trong mô hình LSTM, hàm f(t) có giá trị trong khoảng (0;1), điều này giúp giảm thiểu vấn đề triệt tiêu đạo hàm so với RNN Thêm vào đó, thông tin lưu trữ trong trạng thái tế bào thường không cần quên đi giá trị cũ, do đó f(t) gần bằng 1, giúp tránh được vấn đề triệt tiêu đạo hàm một cách hiệu quả hơn.
HỌC SÂU VÀ BÀI TOÁN MÔ TẢ ẢNH THỜI TRANG
Kiến trúc mô hình học sâu đối với bài toán
Mô hình mô tả ảnh thời trang nhận một hình ảnh 𝐼 làm đầu vào và được huấn luyện để tối đa hóa xác suất 𝑝(𝑆|𝐼) Mục tiêu của mô hình là tạo ra các câu mô tả 𝑆 1 , 𝑆 2 , … để diễn tả hình ảnh một cách đầy đủ, trong đó mỗi 𝑆 𝑡 là một từ được chọn từ tập từ điển.
Nguồn ý tưởng chính của kiến trúc bộ mã hóa-giải mã xuất phát từ những tiến bộ trong lĩnh vực dịch máy, với nhiệm vụ chuyển đổi câu 𝑆 từ ngôn ngữ nguồn sang bản dịch 𝑇 bằng ngôn ngữ đích, nhằm tối đa hóa xác suất 𝑝(𝑇|𝑆) Trước đây, dịch máy thường được thực hiện qua nhiều nhiệm vụ riêng lẻ như dịch từ, sắp xếp từ và sắp xếp lại Tuy nhiên, các nghiên cứu gần đây đã chỉ ra rằng dịch thuật có thể được thực hiện đơn giản hơn nhiều thông qua việc sử dụng mạng nơ-ron hồi quy (RNN).
Một bộ mã hóa RNN có khả năng đọc câu nguồn và trích xuất thông tin thành véc-tơ đặc tính, sau đó véc-tơ này được đưa vào bộ giải mã RRN để tạo ra câu đích, giúp đạt được hiệu suất cao trong quá trình dịch thuật.
Trong lĩnh vực mô tả ảnh thời trang, mạng nơ-ron tích chập (CNN) đã thay thế mạng nơ-ron hồi quy (RNN) nhờ khả năng trích xuất thông tin hình ảnh hiệu quả Các nghiên cứu gần đây đã chứng minh rằng CNN có thể nén thông tin hình ảnh thành các véc-tơ đặc tính có độ dài cố định, phục vụ cho các tác vụ thị giác máy tính Việc sử dụng CNN làm bộ mã hóa hình ảnh là một bước đi tự nhiên, với quy trình huấn luyện mạng CNN cho tác vụ phân loại hình ảnh, sau đó sử dụng lớp nơ-ron cuối để cung cấp dữ liệu cho bộ giải mã RNN, từ đó tạo ra các câu mô tả hình ảnh.
Mô hình mô tả ảnh thời trang sử dụng hình ảnh thô để tạo ra câu mô tả, dựa trên nguyên lý sequence-to-sequence kết hợp với cơ chế attention Cơ chế này cho phép mô hình tập trung vào các phần hình ảnh quan trọng khi sinh từ mô tả tiếp theo Với cấu trúc mã hóa - giải mã, mô hình áp dụng mạng CNN để xử lý và phân tích hình ảnh, từ đó tạo ra các câu mô tả chính xác và phù hợp.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Mô hình này sử dụng bộ mã hóa để chuyển đổi hình ảnh thành thông tin cần thiết, trong khi một mạng RNN đảm nhận vai trò giải mã, chuyển đổi thông tin hình ảnh thành câu mô tả Để thực hiện cơ chế attention, một mô hình attention sẽ đóng vai trò trung gian giữa CNN và RNN, giúp cải thiện khả năng hiểu và mô tả hình ảnh.
Hình 4.1: Mô hình bài toán mô tả ảnh.
Bộ mã hóa (Encoder)
Mạng nơ-ron tích chập (CNN) trong bộ mã hóa có vai trò quan trọng trong việc trích xuất các đặc tính của hình ảnh Mạng sẽ tạo ra L véc-tơ, với mỗi véc-tơ mang một số chiều nhất định, giúp tối ưu hóa quá trình nhận diện và phân tích hình ảnh.
D tương ứng với một phần của bức ảnh
Trích xuất thông tin từ các lớp tích chập cho phép bộ giải mã tập trung vào các phần cụ thể của bức ảnh Để sử dụng CNN làm bộ mã hóa, mạng nơ-ron cần được huấn luyện cho các tác vụ hình ảnh như phân loại hoặc nhận diện hình ảnh Tập dữ liệu huấn luyện thường lớn hơn và tương đồng về chủ đề với tập dữ liệu mô tả ảnh, nhằm đảm bảo CNN có thể trích xuất thông tin hữu ích cho việc tạo câu mô tả Sau khi huấn luyện, lớp dự đoán (như lớp Softmax trong phân loại) sẽ bị loại bỏ, và kết quả đầu ra từ lớp nơ-ron với kết nối đầy đủ cuối cùng sẽ được chọn làm véc-tơ đặc tính cho quá trình giải mã.
Bộ giải mã (Decoder)
Trong bài toán này, bộ giải mã hoạt động như một mô hình ngôn ngữ, nhận dữ liệu đầu vào và tạo ra câu mô tả bằng ngôn ngữ tự nhiên Một thách thức lớn là độ dài của câu mô tả không cố định và không thể xác định trước, dẫn đến việc tạo ra câu mô tả trong một lần là không khả thi Để khắc phục vấn đề này, chúng ta sẽ phát sinh câu mô tả theo thứ tự, từng từ một, phản ánh một trong những đặc điểm quan trọng của ngôn ngữ tự nhiên.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Các câu có sự phụ thuộc lẫn nhau, với các từ có thể đứng trước hoặc sau, đòi hỏi mạng thần kinh nhân tạo phải nắm bắt thông tin đầu ra ở các bước trước để tạo ra câu mô tả chính xác về ngữ pháp và ngữ nghĩa Các mạng nơ-ron chuyển tiếp, chẳng hạn như mạng thần kinh tích chập (CNN) và mạng thần kinh tri giác đa lớp (Multi-layer Perceptron), đóng vai trò quan trọng trong việc này.
MLP (Multilayer Perceptron) không có sự kết nối giữa các nơ-ron, dẫn đến việc dữ liệu đầu vào và dữ liệu đầu ra độc lập với nhau Điều này gây khó khăn trong việc sử dụng kết quả từ các bước tính toán trước cho bước tiếp theo, làm cho việc tạo câu mô tả trở nên phức tạp hơn.
Mạng Long Short-Term Memory (LSTM) là một phiên bản nâng cấp của mạng nơ-ron hồi quy (RNN) Mô hình LSTM được huấn luyện thông qua bộ giải mã RNN, nhằm phát triển khả năng ngôn ngữ tự nhiên và giúp mạng học cách trình bày văn bản một cách chính xác và hợp ngữ pháp.
Mạng RNN sử dụng các đơn vị LSTM để tạo ra câu mô tả Tại mỗi bước, mô hình phát sinh câu dựa trên véc-tơ ngữ cảnh, trạng thái ẩn từ bước trước và từ đã được sinh ra ở bước trước đó.
Trong một đơn vị LSTM, các thành phần quan trọng bao gồm cổng quên (𝒇 𝑡), cổng vào (𝒊 𝑡), cổng ra (𝒐 𝑡), trạng thái tế bào (Cell state), và trạng thái ẩn (Hidden state) Véc-tơ ngữ cảnh (𝒛̂ 𝑡 ∈ ℝ 𝐷) chứa thông tin hình ảnh tương ứng với từng vùng của hình, được xử lý thông qua mô hình Attention.
In the context of word embeddings, \( E \) represents the embedding matrix, while \( \hat{y}_{t-1} \) is a one-hot vector indicating the previously generated word The parameters \( W \) and \( b \) denote the weights and biases that the network needs to learn Additionally, \( \sigma \) refers to the sigmoid function, which serves as a nonlinear activation function.
Để bắt đầu, chúng ta cần khởi tạo hai giá trị bộ nhớ (cell state) và trạng thái ẩn (hidden state) của LSTM thông qua hai mạng nơ-ron nhân tạo (ANN), sử dụng giá trị trung bình cộng của tập véc-tơ trích xuất từ lớp tích chập.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Trạng thái ẩn của mạng: 𝒉 0 = 𝑓 𝑖𝑛𝑖𝑡,ℎ ( 1
Hình 4.2: Kiến trúc bộ giải mã
Trong mô hình mạng nơ-ron hồi quy (RNN), việc tạo ra từ tiếp theo trong câu phụ thuộc vào bộ nhớ của mạng (cell state), trạng thái ẩn (hidden state), véc-tơ ngữ cảnh (context vector) và từ đã được dự đoán trước đó (previous word).
Cơ chế Attention
Cơ chế chú ý thị giác được phát triển dựa trên nguyên lý hoạt động của thị giác con người, cho phép tập trung vào một phần cụ thể của bức ảnh thay vì xử lý toàn bộ thông tin cùng một lúc Nhờ vào cơ chế này, việc tạo ra câu mô tả cho những bức ảnh phức tạp trở nên hiệu quả hơn, với những câu mô tả chi tiết và dài hơn.
Trong bài toán mô tả ảnh thời trang, chúng tôi áp dụng hai cơ chế chú ý quan trọng: chú ý không gian (Spatial attention) và chú ý ngữ nghĩa (Channel-wise attention), được viết tắt là SCA (Spatial–Channel wise attention) Cơ chế SCA cho phép các ma trận đặc tính trong mạng CNN thích ứng với bối cảnh của câu mô tả, nâng cao khả năng nhận diện và phân tích hình ảnh.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Cơ chế chú ý không gian (spatial attention) tập trung vào các vùng cụ thể trong bức ảnh khi sinh ra câu mô tả, giúp tránh việc tạo ra những câu không liên quan đến chủ thể chính Thay vì coi trọng tất cả các vùng trong ảnh như nhau, spatial attention chỉ chú ý đến những khu vực có liên quan đến ngữ cảnh của câu mô tả, từ đó nâng cao độ chính xác và ý nghĩa của thông điệp truyền tải.
Attention theo kênh, hay còn gọi là Sematic attention, là một kỹ thuật trong bản đồ đặc trưng (feature map) với nhiều kênh, mỗi kênh tương ứng với một đặc tính hoặc đối tượng trong bức ảnh Việc áp dụng attention theo kênh giúp mô hình lựa chọn các đối tượng và đặc tính phù hợp với ngữ cảnh của câu mô tả, từ đó nâng cao khả năng hiểu và phân tích hình ảnh.
Mô hình tổng thể SCA cho bài toán tạo câu mô tả ảnh thời trang như sau:
Hình 4.3: Mô hình bài toán áp dụng cơ chế Attention
Để sinh ra từ thứ t cho câu mô tả ảnh, chúng ta sử dụng bối cảnh được lưu ở trạng thái ẩn ℎ 𝑡−1 ∈ ℝ 𝑑 Tại feature map thứ l, trọng số Spatial attention và Channel-wise attention 𝛾 𝑙 được tính toán từ hàm số Φ(⋅) với tham số là trạng thái ẩn ℎ 𝑡−1 và feature map 𝑉 𝑙 Hàm số Φ sẽ được giải thích chi tiết hơn trong phần sau của bài viết.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Sau đó, mô hình có thể sinh ra từ thứ t bằng công thức:
Với L là tổng số lượng các lớp tích chập
Việc đồng thời tính trọng số attention 𝛾 𝑙 sẽ tốn nhiều chi phí, tài nguyên GPU
Do đó, ta sẽ tách ra tính toán trọng số spatial attention 𝛼 𝑙 và trọng số channel-wise attention 𝛽 𝑙 riêng biệt với nhau:
The functions 𝛷 𝑠 and 𝛷 𝑐 represent channel-wise and spatial attention, respectively By separating these functions, we significantly reduce computational costs from 𝒪(𝑊 𝑙 𝐻 𝑙 𝐶 𝑙 𝑘) to 𝒪(𝑊 𝑙 𝐻 𝑙 𝑘) for spatial attention and to 𝒪(𝐶 𝑙 𝑘) for channel-wise attention.
Trong bài toán mô tả ảnh thời trang ta sẽ áp dụng cơ chế channel-wise attention trước, sau đó là spatial attention
Mô hình kết hợp hai cơ chế attention, bao gồm attention theo không gian (spatial attention) và attention theo kênh (channel-wise attention), giúp cải thiện khả năng nhận diện vị trí và đối tượng quan trọng trong bức ảnh Điều này nâng cao hiệu quả trong quá trình tạo câu mô tả cho hình ảnh.
Cơ chế đánh giá
4.5.1 Các độ đo sử dụng
BLEU (Bilingual Evaluation Understudy Score) is a method for assessing the correlation between machine-generated text and human-written content The core idea behind BLEU is that the closer the machine-generated sentence (candidate translation) is to the reference sentence (reference translation), the better the quality of the translation BLEU calculates this by counting the number of matching words between the candidate and reference sentences, resulting in a score that reflects the proportion of shared words.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
32 tổng số từ của candidate Tuy nhiên ở phương pháp này gặp một vấn đề đó là từ được khớp với reference được lặp lại nhiều lần trong candidate
BLEU-1 là phương pháp đánh giá độ trùng khớp giữa số từ trong câu candidate và câu reference, với m là số từ trùng khớp và w là tổng số từ trong câu candidate Mặc dù BLEU-1 cho kết quả hoàn toàn trùng khớp, nhưng nó chưa tối ưu cho các cụm từ đi chung với nhau Do đó, cần tính toán thêm các chỉ số BLEU-2, BLEU-3, hay còn gọi là n-grams, để cải thiện độ chính xác trong việc đánh giá.
Công thức tổng quát như sau:
Với 𝑐 là chiều dài của candidate và 𝑟 là chiều dài các từ có trong câu reference
𝑁 là số từ xuất hiện cùng lúc như BLEU-4 thì 𝑁 = 4 và 𝑊 𝑛 = 1
Điểm BLEU có giá trị trong khoảng [0,1], với giá trị càng cao cho thấy số lượng từ trong câu do máy học sinh ra càng nhiều so với câu mẫu Tuy nhiên, điều này cũng đồng nghĩa rằng câu ngắn hơn có thể đạt điểm BLEU cao hơn, vì vậy cần sử dụng các chỉ số khác để đánh giá chất lượng của câu mô tả một cách toàn diện hơn.
ROUGE (Recall-Oriented Understudy for Gisting Evaluation) [15], tương tự như BLEU, ROUGE cũng đánh giá chất lượng văn bản của máy so với câu mô tả mẫu
Reference: I usually go to school by bus
Candidate; I always go to school by bike
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Khi phân tích từng từ, hai câu có 5 từ trùng khớp Để đạt được kết quả tốt, ROUGE sẽ tính toán độ chính xác (precision) và độ hồi tưởng (recall) dựa trên sự trùng lặp giữa các từ.
Precision: Được tính bằng tổng số từ trùng nhau trong hai câu văn bản chia cho tổng số từ của câu candidate
Recall: Được tính bằng tổng số từ trùng nhau trong hai câu văn bản chưa cho tổng số từ của câu reference
Ta sẽ tính Fmeasure trên precision và recall để cho kết quả ổn định hơn
ROUGE-L là phiên bản cải tiến của ROUGE, chuyên đo lường độ dài của các câu trùng lặp dài nhất trong văn bản Những câu trùng lặp này không nhất thiết phải xuất hiện liên tiếp nhưng vẫn được xác định theo thứ tự xuất hiện trong nội dung.
CIDEr (Consensus-based Image Description Evaluation) là một phương pháp đánh giá độ tương quan giữa hai câu văn bản, chủ yếu áp dụng cho mô hình mô tả ảnh thời trang Đối với mỗi bức ảnh Ii, câu được sinh ra từ mô hình được gọi là ci, trong khi câu nhãn do con người tạo ra được gọi là Si Tất cả các từ trong văn bản sẽ được chuyển đổi thành dạng gốc để đảm bảo tính chính xác trong đánh giá.
Trong quá trình xử lý ngôn ngữ tự nhiên, ví dụ như từ "dogs" sẽ được chuyển thành "dog" Để tính trọng số cho các từ liên tiếp, ta sử dụng n-gram, trong đó các n-gram xuất hiện nhiều trong tập dữ liệu sẽ có hệ số nhỏ hơn do mang ít thông tin Hệ số n-gram được tính dựa trên công thức Term Frequency Inverse Document Frequency (TF-IDF) Số lần xuất hiện của n-gram wk trong tập dữ liệu được ký hiệu là ℎ 𝑘 (𝑆 𝑖𝑗 ) hoặc ℎ 𝑘 (𝑐 𝑖 ), tương ứng với câu do mô hình sinh ra, và trọng số TF-IDF của n-gram wk được ký hiệu là 𝑔 𝑘 (𝑆 𝑖𝑗 ).
CIDErn là một chỉ số đánh giá chất lượng n-gram trong tập dữ liệu hình ảnh, được tính bằng cách tối thiểu hóa tổng hợp của các giá trị logarit liên quan đến số lượng n-gram xuất hiện Tập từ vựng Ω chứa các n-gram, trong khi I đại diện cho tất cả các hình ảnh trong dataset Công thức tính CIDErn dựa trên tỷ lệ giữa số lượng hình ảnh |I| và tổng số n-gram có mặt trong tập dữ liệu, đồng thời xem xét chiều dài của n-gram để đưa ra điểm số chính xác.
Chương 4: Học sâu và bài toán mô tả ảnh thời trang
Với 𝑔 𝑛 (𝑐 𝑖 ) là vector ký hiệu bằng 𝑔 𝑘 (𝑐 𝑖 ) để biểu thị chiều dài của n-gram và
||𝑔 𝑛 (𝑐 𝑖 )|| là độ dài vector Tương tự cho 𝑔 𝑛 (𝑠 𝑖𝑖 ) Cuối cùng, CIDEr được tính theo công thức:
Thực nghiệm trong mô hình mô tả ảnh thời trang trong khóa luận này tôi sử dụng
HIỆN THỰC VÀ ĐÁNH GIÁ MÔ HÌNH
Bộ dữ liệu FashionGen
FashionGen [17] là bộ dữ liệu bao gồm:
Bài viết này cung cấp tổng cộng 293.008 hình ảnh thời trang chất lượng cao, bao gồm 260.480 hình ảnh dành cho tập huấn luyện, 32.528 hình ảnh cho tập đánh giá và 32.528 hình ảnh cho tập kiểm thử.
- Định dạng PNG, kích thước 1360 x 1360 điểm ảnh
- Một bộ trang phục được chụp từ 1 đến 6 góc khác nhau tùy thuộc vào loại mặt hàng
- Mỗi mặt hàng thời trang đi kèm với một đoạn mô tả chi tiết được viết bởi các chuyên gia thời trang
Hình 5.1: Ảnh bộ đồ được chụp ở nhiều góc đồ và kèm theo câu mô tả.
Hiện thực
Bộ mã hóa sử dụng mạng nơ-ron tích chập (CNN) để trích xuất thông tin từ hình ảnh đầu vào, cụ thể là các feature maps từ lớp convolutional cuối cùng Mạng nơ-ron tích chập ResNet50 được chọn làm bộ mã hóa trong mô hình mô tả ảnh thời trang, nổi bật với các kết nối residual giúp cải thiện quá trình huấn luyện và giảm thiểu tình trạng vanishing gradient.
Chương 5: Hiện thực và đánh giá mô hình
Hình 5.2 Cấu trúc mạng nơ-ron tích chập Resnet50
Feature maps được trích xuất từ lớp tích chập cuối cùng của mạng Resnet50 có kích thước 2048 × 7 × 7 Mạng này sử dụng một mô hình đã được huấn luyện trước với tập dữ liệu ImageNet để dự đoán các thuộc tính trong ảnh Các feature maps này sau đó sẽ được sử dụng trong quá trình huấn luyện bộ giải mã.
Bộ giải mã là một mạng nơ-ron hồi quy (RNN) sử dụng véc-tơ đầu vào bao gồm embedding véc-tơ của từ sinh ra trước đó y t−1, véc-tơ hidden state h t−1 và véc-tơ ngữ cảnh c t Cụ thể, véc-tơ đầu vào của RNN được biểu diễn dưới dạng x t = [y t−1 , h t−1 , c t].
Chúng tôi sử dụng mạng nơ-ron nhân tạo thông thường (ANN) để dự đoán xác suất của từ tiếp theo trong câu dựa vào ba véc-tơ đầu vào: véc-tơ embedding của từ trước đó, véc-tơ đầu ra của RNN và véc-tơ ngữ cảnh Mạng RNN được cấu trúc gồm hai lớp mạng LSTM với kích thước hidden state là 512.
Quá trình huấn luyện được diễn ra như sau:
Chương 5: Hiện thực và đánh giá mô hình
Mô hình được huấn luyện bằng thuật toán Adam để tối ưu hóa hàm mất mát, với learning rate là 1e-4, kích thước batch dữ liệu là 32 và thực hiện trong 12 epoch.
Mô hình được lựa chọn là mô hình đạt điểm BLEU cao nhất trên tập validation Chúng tôi cũng áp dụng beam size 3 trong quá trình lấy mẫu câu mô tả từ mô hình bằng phương pháp beam search.
Thuật toán beam search sử dụng tham số beam size để cải thiện độ chính xác trong việc dự đoán từ tiếp theo Thay vì chỉ chọn từ có xác suất cao nhất, beam search lựa chọn một số kết quả có xác suất cao nhất theo beam size và tiếp tục tính toán xác suất cho đến khi xuất hiện token kết thúc trong tất cả các câu ứng viên Câu có xác suất cao nhất sẽ được chọn làm kết quả cuối cùng Mặc dù beam search giúp nâng cao độ chính xác của câu mô tả đầu ra, nhưng việc lưu trữ thông tin xác suất cho chuỗi dài có thể làm tăng thời gian huấn luyện mô hình và yêu cầu nhiều tài nguyên phần cứng hơn.
Chương 5: Hiện thực và đánh giá mô hình
Kết quả và đánh giá
Table 5.1 presents the results of the model when applying different attention mechanisms, specifically Spatial attention, Channel-wise attention, and a combination of Channel-wise attention with Spatial attention.
Method BLEU-1 BLEU-2 BLEU-3 BLEU-4 ROUGE-L CIDEr
Bảng 5.1 Kết quả huấn luyện so sánh giữa Soft-attention và mô hình đề xuất
Kết quả huấn luyện cho thấy rằng việc kết hợp Channel-wise attention và Spatial attention là một phương pháp hiệu quả để nâng cao độ chính xác cho mô hình mô tả ảnh thời trang Phương pháp này có thể được áp dụng cho bất kỳ mô hình mô tả ảnh thời trang nào sử dụng cơ chế attention hiện có.
Chương 5: Hiện thực và đánh giá mô hình
Dưới đây là một số câu mô tả được sinh ra từ hình ảnh thời trang bằng mô hình Channel wise – Spatial Attention
Các hình ảnh mà mô hình dự đoán khá chính xác so với câu đích:
Hình 5.3 Hình ảnh kèm câu mô tả được sinh ra từ mô hình và câu mô tả của các chuyên gia thời trang
Chương 5: Hiện thực và đánh giá mô hình
Các hình ảnh mà mô hình đề xuất tạo ra câu mô tả không chính xác về các thuộc tính có xuất hiện trong ảnh:
Hình 5.2 Mô hình đề xuất đưa ra câu mô tả chưa chính xác
Mô hình này có khả năng nắm bắt các thuộc tính bên trong hình ảnh, từ loại mặt hàng đến kiểu dáng, phong cách và màu sắc, và diễn đạt những đặc điểm này bằng ngôn ngữ tự nhiên một cách mạch lạc Tuy nhiên, vẫn còn một số thiếu sót trong các câu mô tả.