Mở đầu 1.3 Cách tiếp cận và phương pháp nghiên cứu Cách tiếp cận: Sử dụng các mạng nơ-ron nhân tạo như mạng nơ-ron tích chập, mạng nơ-ron hồi quy, và áp dụng các cơ chế attention (spatial attention, chanel-wise attention) cho hình ảnh thời trang. Phương pháp nghiên cứu: Nghiên cứu tài liệu, các bài báo, bài báo cáo liên quan đến mô tả ảnh, các lý thuyết về học sâu, mạng nơ-ron và cơ chế attention 2 do an Chương 2: Bài toán mô tả ảnh thời trang CHƯƠNG 2: BÀI TOÁN MÔ TẢ HÌNH ẢNH THỜI TRANG 2.1 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 nói chung [1]. Tạo câu mô tả ảnh là một lĩnh vực trong ngành Trí tuệ nhân tao, yêu cầu máy tính có thể hiểu được nội dung của hình ảnh và mô tải lại bằng ngôn ngữ tự nhiên. Để giải quyết vấn đề trên ta cần phải tạo một mô hình máy tính, mà mô hình đó phải hiểu được ngữ cảnh, vị trị và các đối tượng chính của bức ảnh để tạo được câu mô tả hợp lý, đầy đủ ngữ nghĩa.
Không những thế, để tạo ra câu mô tả tối ưu, mô hình cần phải có sự hiểu biết về ngữ pháp của ngôn ngữ đích. Một trong những nhiệm vụ chính quyết định độ hiệu quả của mô hình là việc trích xuất thông tin từ hình ảnh đầu vào ở định dang thô sang đinh dạng mà mô hình có thể học và sử dụng được, các thông tin được trích xuất từ hình ảnh được gọi là features, và chúng thường được biểu diễn dưới dạng vector. Để trích xuất dữ liệu ta sẽ sử dụng các kỹ thuật dựa trên Học sâu[2], các feature được học từ dữ liệu huấn luyện và chúng có thể xử lý được số lượng lớn hình ảnh. Mạng nơ-ron tích chập (CNN)[3] được sử dụng phổ biết trong tác vụ trích xuất và học các feature.
Sau đó mô hình sẽ sử dụng mạng nơ-ron hồi quy (RNN)[4] để tạo ra câu mô tả hình ảnh phù hợp.2 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. Template-based: Phương pháp tiếp cận dựa trên mẫu gồm có các ô trống với số lượng cố định tương ứng với một từ trong câu mô tả[5]. Trong các cách tiếp cận này, các đối tượng, thuộc tính, hành động khác nhau được mô hình xác định và sau đó các ô trống trong mẫu được lấp đầy. Các phương pháp dựa trên mẫu có thể tạo ra câu mô chính xác về mặt ngữ pháp.
Tuy nhiên, các mẫu được xác định trước và không thể tạo câu mô tả có độ dài thay đổi. Retrieval-based: Các câu mô tả có thể được truy hồi từ không gian ảnh và không gian đa phương thức[5]. Trong các cách tiếp cận dựa trên phương pháp truy hồi, câu mô tả được lấy từ tập hợp các câu mô tả hiện có. Các phương pháp này trước tiên tìm các hình ảnh tương tự nhau về mặt hình ảnh cùng với câu mô tả của chúng từ tập dữ 3 do an Chương 2: Bài toán mô tả ảnh thời trang liệu huấn luyện.
Những câu mô này được gọi là các câu mô tả ứng viên. Khi truy vấn câu mô tả nội dung cho hình ảnh, câu mô tả phù hợp nhất trong nhóm ứng viên sẽ được chọn. Những phương pháp này tạo ra câu mô tả khái quát và cú pháp chính xác. Tuy nhiên, chúng không thể tạo câu mô tả cho từng hình ảnh cụ thể và chính xác về mặt ngữ nghĩa.
Translation-based: Phương pháp phiên dịch có thể tạo ra câu mô tả từ cả không gian ảnh và không gian đa phương thức[5]. Cách tiếp cận chung của phương pháp này là phân tích nội dung của hình ảnh trước và sau đó tạo câu mô tả từ nội dụng phân tích được bằng mô hình ngôn ngữ. Các phương pháp này có thể tạo câu mô tả mới cho từng hình ảnh chính xác hơn về mặt ngữ nghĩa 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 đều áp dụng Translation-based.
Ngoài ra còn có thể phân loại các phương pháp mô tả ảnh thời trang dựa trên deep learning theo các kỹ thuật học khác nhau: học có giám sát (Supervised learning), học tăng cường (Reinforcement learning), và học không giám sát (Unsupervised learning). Thông thường câu mô tả được tạo cho toàn bộ khung cảnh trong hình ảnh. Tuy nhiên, câu mô tả cũng có thể được tạo cho các vùng khác nhau trong hình ảnh (Dense captioning). Các mô hình mô tả ảnh thời trang có thể sử dụng kiến trúc bộ mã hóa-giải mã đơn giản (Encoder-Decoder) [6] hoặc kến trúc thành phần (Compositional) [7].
Còn có các phương pháp sử dụng cơ chế chú ý (Attention mechanism) [2], dựa trên các khái niệm về ngữ nghĩa (Semantic concept) [8], và các phương pháp đi theo nhiều hướng khác nhau trong bài toán mô tả hình ảnh. Một số phương pháp cũng có thể tạo ra câu mô tả cho cả đối tượng không xuất hiện trong tập huấn luyện. 4 do an Chương 3: Học sâu CHƯƠNG 3: HỌC SÂU 3.1 Giới thiệu về Học sâu (Deep learning) Học sâu là một phân nhánh của ngành học máy dựa trên một tập hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp. Học sâu là một kỹ thuật trong học máy, có liên quan đến các thuật toán lấy cảm hứng dựa trên cấu trúc và cơ chế hoạt động của bộ não và được gọi là mạng thần kinh nhân tạo (Artificial Neural Network - ANN).
Một quan sát có thể được biểu diễn bằng nhiều cách như một vector của các giá trị cường độ cho mỗi điểm ảnh, hoặc một cách trừu tượng hơn như là một tập hợp các cạnh, các khu vực có hình dạng cụ thể (nhận dạng khuôn mặt, nhận dạng các món quần áo đang mặc…) Có nhiều kiến trúc Học sâu khác nhau như mạng nơ-ron tích chập (Convolution Neural Network - CNN), mạng nơ ron hồi quy (Recurrent Neural Network - RNN), Deep belief network (DBN), được áp dụng vào các lĩnh vực như thị giác máy tính (Computer vision), nhận diện giọng nói (Speech recognition), xử lý ngôn ngữ tự nhiên (Natural language processing). Deep learning được chứng mình là đã tạo ra các kết quả rất tốt đối với nhiều nhiệm vụ khác nhau.2 Mạng nơ-ron nhân tạo (Artificial Neural Network) Mạng nơ-ron nhân tạo (Artificial Neural Network-ANN) [9] là một mô hình toán học được xây dựng dựa trên mạng nơ-ron sinh học với cấu tạo giống với não động vật. Các hệ thống trên được học để thực hiện một nhiệm vụ nào đó nhưng không cần phải lập trình một cách cụ thể cho từng loại nhiệm vụ. Ví dụ trong tác vụ nhận diện hình ảnh, hệ thông mạng nơ-ron nhân tạo có thể nhận biết được bức ảnh có chứa chiếc xe hay không bằng cách phân tích các hình ảnh dữ liệu mẫu được gắn nhãn là “car” và “not car” và sử dụng kết quả để xác định chiếc xe trong các hình ảnh khác Một mạng nơ-ron nhân tạo bao gồm tập các nút được liên kết với nhau gọi là nơ- ron nhân tạo (Artificial neurons).
Mỗi liên kết giữa các nút giống như các khớp thần kinh (Synapses) trong bộ não sinh học, có thể truyền tín hiệu giữa các nơ-ron. Các nơ-ron nhân tạo có thể nhận tín hiệu và xử lý thông tin sau đó nó gửi đến các nơ-ron nhân tạo mà nó liên kết 5 do an Chương 3: Học sâu Trong những năm gần đây, mạng nơ-ron nhân tạo đang được áp dụng nhiều trong các lĩnh vực như Thị giác máy tính (Computer vision), Nhận diện giọng nói (Speed recognition), dịch văn bản (Translation)… 3.1 Mạng nơ-ron sinh học (Biological Neural Networks) Cấu tạo của bộ não sinh học bao gồm 100 tỷ nơ-ron, những nơ ron này liên kết với nhau tạo thành mạng lưới, gọi là mạng thần kinh sinh học. Các nơ ron tương tác với nhau thông qua sợi trục (Axon) tới các sợi nhánh (Dendrite) của nơ-ron khác. Mỗi lần não bộ phản ứng, xung thần kinh từ não bộ sẽ được gửi đi thông qua sợi nhánh.
Các xung thần kinh sẽ được Nucleus tổng hợp lại, trên mỗi nơ ron có một ngưỡng kích thích, nếu như vượt qua ngưỡng này thì các xung thần kinh sẽ được truyền qua nơ-ron khác dọc theo sợi trục.1: Cấu trúc nơ-ron sinh học 3.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 6 do an Chương 3: Học sâu 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ố (weight) (𝑤1 , 𝑤2 , 𝑤3 ) cho biết mức độ quan trọng của dữ liệu đối với kết quả đầu ra (a). Các dữ liệu đầu vào (𝑥1, 𝑥2 , 𝑥3 ) được nhân với trọng số sau đó cộng lại với nhau, nếu giá trị thu được vượt quá ngưỡng quy định (threshold) thì nơ-ron đó sẽ được kích hoạt, nếu nơ-ron được kích hoạt đồng nghĩa với việc giá trị đầu ra bằng 1, và bằng 0 cho ra kết quả ngược lại.
Các dữ liệu đầu vào được phân phối độ quan trọng bằng trọng số weight tương ứng và kết quả đầu ra được quyết định dựa vào ngưỡng quy định (threshold). 0 𝑖𝑓 ∑ 𝑥𝑖 𝑤𝑖 ≤ 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 𝑦={ 1 𝑖𝑓 ∑ 𝑥𝑖 𝑤𝑖 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 Để thuận tiện trong việc tính toán ta đặt 𝑏 = −𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 và (1) có thể viết lại thành 0 𝑖𝑓 ∑ 𝑥𝑖 𝑤𝑖 + 𝑏 ≤ 0 𝑦={ 1 𝑖𝑓 ∑ 𝑥𝑖 𝑤𝑖 + 𝑏 > 0 Với kết quả đầu ra dạng nhị phân 0 và 1, nhược điểm ở đây là với một sự thay đổi nhỏ ở dữ liệu đầu vào cũng có thể làm đảo ngược kết quả nhị phân ở đầu ra dần đến sự thay đổi lớn ảnh hưởng tới toàn hệ thống mạng. Để khắc phục nhược điểm trên kết quả đầu ra được quyết định bằng một hàm sigmoid 𝜎(𝑥𝑖 𝑤𝑖 + 𝑏). Ta có công thức của hàm sigmoid như sau: 1 𝜎(𝑧) = 1 + 𝑒 −𝑧 7 do an Chương 3: Học sâu Đặt 𝑧 = 𝑥𝑖 𝑤𝑖 + 𝑏 thì công thức lúc này sẽ có dạng: 1 𝜎 (𝑧) = 1 + 𝑒 −(𝑥𝑖𝑤𝑖+𝑏) Hàm sigmoid là hàm số có giá trị giới hạn trong khoảng [0,1].
Hàm cho ra kết quả càng tiến về 0 khi nhận một giá trị càng nhỏ và càng tiến về 1 khi nhận một giá trị càng lớn.