Chương 1: Giới thiệu: Tổng quan về nội dung, mục tiêu và cấu trúc luận văn. • Chương 2: Cơ sở lý thuyết: Trình bày kiến thức nền tảng có liên quan đến đề tài. 4 • Chương 3: Các công trình liên quan: Trình bày các công trình gần đây có liên quan. • Chương 4: Phương pháp thí nghiệm: Trình bày các mô hình đề xuất và thí nghiệm.
• Chương 5: Kết quả thực nghiệm: So sánh và đánh giá kết quả của các thí nghiệm đã thực hiện, so sánh với các công trình gần đây. • Chương 6: Kết luận: Tổng kết kết quả đúc kết được trong quá trình nghiên cứu và hướng phát triển tiếp theo trong tương lai. 5 Chương 2 Cơ sở lý thuyết Chương này sẽ giải thích về khái niệm, kiến trúc mạng neuron tích chập - CNN, hàm mất mát, các lớp chuẩn hoá, các phép đo, phương pháp tái xếp hạng thường dùng cho ReID và cấu tạo của khối Multi-head Self Attention (MSA) 2.1 Mạng neuron tích chập Mạng neuron tích chập - Convolutional Neural Network (CNN) là một dạng mạng neuron nhân tạo được thiết kế để xử lý và nhận diện các hình ảnh và dữ liệu không gian. CNN đã trở thành công cụ cực kỳ mạnh mẽ trong lĩnh vực thị giác máy tính và xử lý ảnh, và cũng được sử dụng rộng rãi trong các ứng dụng khác như xử lý ngôn ngữ tự nhiên, dữ liệu chuỗi.
Các thành phần cơ bản của CNN (minh hoạ trong Hình 2. Convolutional Layer: Convolutional layer là trái tim của CNN, sử dụng các bộ lọc (kernel) để áp dụng phép tích chập trên dữ liệu đầu vào. Mỗi bộ lọc nhận diện các đặc trưng cụ thể trong hình ảnh, ví dụ như cạnh, góc, hoặc các đặc điểm nổi bật. Các bộ lọc này được di chuyển trên toàn bộ hình ảnh để tạo ra các feature map.
Pooling Layer: Pooling layer thường được sử dụng sau các convolutional layer để giảm kích thước của feature map và giảm lượng tính toán. Các kỹ thuật phổ biến trong pooling là max pooling và average pooling, trong đó max pooling chọn giá trị lớn nhất từ mỗi vùng cắt và average pooling tính trung bình của các giá trị. Activation Function: Activation function được áp dụng sau mỗi convolutional để thêm tính phi tuyến tính cho mạng neuron. Hàm kích hoạt phổ biến nhất là Rectified Linear Unit (ReLU) do tính đơn giản và khả năng giải quyết vấn đề vanishing gradient.
Fully Connected Layer: Sau khi thông tin đã được trích xuất thông qua các con- volutional và pooling layer, fully connected layer (hoặc dense layer) được sử dụng để kết hợp các đặc trưng này và tạo ra kết quả cuối cùng. Đây là phần của mạng neuron chịu trách nhiệm cho việc phân loại hoặc dự đoán. Dropout Layer: Dropout layer là một kỹ thuật regularization phổ biến được sử dụng để ngăn chặn overfitting trong mạng neuron, bằng cách ngẫu nhiên "tắt" một số đơn vị (units) trong quá trình huấn luyện để giảm sự phụ thuộc vào các đặc trưng cụ thể. Output Layer: Output layer thường là một layer fully connected layer với số lượng đơn vị tương ứng với số lượng lớp đầu ra.
Nếu mô hình làm việc trên một bài toán phân loại, output layer thường sử dụng softmax activation để tính toán xác suất cho mỗi lớp.1: Sơ đồ hoạt động của CNN với bài toán phân loại chữ viết tay 2.1 ID loss ID loss là một thành phần quan trọng được sử dụng trong quá trình huấn luyện các mô hình ReID. Mục tiêu chính của hàm mất mát này là khuyến khích mô hình học các đặc trưng phân biệt cho các đối tượng khác nhau để có thể phân biệt một cách hiệu quả các đối tượng. Cách tính ID loss có thể thay đổi tùy thuộc vào kiến trúc cụ thể và chiến lược huấn luyện, nhưng mục tiêu chung vẫn là giảm thiểu các biến thể trong cùng một lớp (sự khác 7 biệt giữa các hình ảnh của cùng một đối tượng) trong khi tăng cường các biến thể giữa các lớp khác nhau (sự khác biệt giữa các hình ảnh của các đối tượng khác nhau). Một cách tiếp cận phổ biến cho ID loss là sử dụng hàm mất mát dựa trên cross- entropy, với công thức như sau: 1 N C LID = − ∑ ∑ yi j log(pi j ) N i=1 j=1 Trong đó: • N là tổng số lượng mẫu huấn luyện.
• C là tổng số ID. • yi j là một hàm chỉ số nhị phân, có giá trị bằng 1 nếu mẫu i thuộc lớp j và bằng 0 nếu không thuộc lớp j. • pi j là xác suất dự đoán rằng mẫu i thuộc lớp j. Hàm softmax thường được áp dụng để chuyển thành xác suất (zi j đại diện cho logit cho lớp j của mẫu i): ezi j pi j = C z ∑k=1 e ik Bằng cách tối thiểu ID loss, mô hình học ánh xạ các hình ảnh của cùng một đối tượng thành các biểu diễn đặc trưng tương tự nhau trong khi đẩy các hình ảnh của các đối tượng có ID khác nhau ra xa nhau trong không gian đặc trưng, từ đó làm cho việc nhận dạng lại đối tượng trở nên hiệu quả.2 Triplet loss Triplet loss là một loại hàm mất mát được sử dụng rộng rãi trong ReID.
Cơ chế cơ bản của triplet loss là so sánh các cặp hình ảnh theo từng bộ ba đối tượng. Mỗi bộ gồm ba hình ảnh: một hình ảnh gốc (anchor), một hình ảnh chứa đối tượng cùng ID với anchor (positive), và một hình ảnh chứa đối tượng khác ID với anchor (negative). Mục tiêu là đảm bảo rằng khoảng cách giữa ảnh anchor và ảnh positive nhỏ hơn so với khoảng cách giữa ảnh anchor và ảnh negative một lượng được gọi là margin (Hình 2.2: Nhóm 3 ảnh trước và sau khi huấn luyện sử dụng triplet loss Công thức cơ bản của triplet loss được biểu diễn như sau: N Ltriplet = ∑ max(d(ai , pi ) − d(ai , ni ) + α, 0) i=1 Trong đó: • N là số lượng các bộ ba ảnh trong tập dữ liệu huấn luyện. • ai là biểu diễn đặc trưng của ảnh anchor.
• pi là biểu diễn đặc trưng của ảnh positive. • ni là biểu diễn đặc trưng của ảnh negative. • d(·) là một hàm đo khoảng cách, thường sử dụng khoảng cách Euclid. • α là margin, một giá trị dương kiểm soát mức độ giữa các khoảng cách.
Triplet loss được sử dụng trong quá trình huấn luyện để định hình không gian đặc trưng sao cho các biểu diễn đặc trưng của các ảnh của cùng một đối tượng gần nhau, trong khi các biểu diễn đặc trưng của các đối tượng khác nhau được phân biệt rõ ràng, cách xa nhau. Điều này giúp cải thiện hiệu suất của các phương pháp ReID.3 Lớp chuẩn hoá 2.1 BatchNorm Batch Normalization (BatchNorm) là một kỹ thuật chuẩn hóa đầu ra của các lớp ẩn trong deep neural network, giúp ổn định quá trình huấn luyện bằng cách đưa dữ liệu đầu ra của mỗi lớp về một phân phối chuẩn (mean = 0, variance = 1) trong quá trình lan 9 truyền thuận (Hình 2. Điều này giúp cho việc huấn luyện mạng trở nên hiệu quả hơn và giúp tránh hiện tượng vanishing/exploding gradient.3: So sánh BatchNorm và LayerNorm Cho một mini-batch có kích thước m với các giá trị đầu vào x1 , x2 , ., xm cho một lớp ẩn trong mạng neuron, BatchNorm tính toán mean và variance của mini-batch như sau: 1 m µ = ∑ xi m i=1 1 m 2 σ = ∑ (xi − µ)2 m i=1 Sau đó, BatchNorm thực hiện chuẩn hóa đầu ra của mini-batch bằng cách sử dụng mean và variance đã tính được: xi − µ x̂i = √ σ2 +ε Trong đó: • x̂i là giá trị đầu ra đã chuẩn hóa của mỗi điểm dữ liệu trong mini-batch. • ε là một hằng số nhỏ được thêm vào trong mẫu để tránh trường hợp chia cho 0.
BatchNorm cũng có hai tham số học là γ (scale) và β (shift), được sử dụng để biến đổi lại giá trị chuẩn hóa để có thể thay đổi vị trí và phạm vi của dữ liệu: yi = γ x̂i + β Trong quá trình lan truyền thuận, BatchNorm áp dụng các phép biến đổi này cho đầu ra của mỗi lớp ẩn. Trong quá trình lan truyền ngược, các gradient được tính toán theo cách tương tự như trong các lớp thông thường, với thêm sự ảnh hưởng của các tham số γ và β .2 LayerNorm Layer Normalization (LayerNorm) là một kỹ thuật chuẩn hóa đầu ra của các lớp trong deep neural network tương tự như BatchNorm, nhưng khác biệt ở chỗ thay vì chuẩn hóa trên mini-batch, LayerNorm chuẩn hóa trên từng đặc trưng (feature) riêng lẻ, giúp cải thiện sự ổn định của quá trình huấn luyện (Hình 2. Công thức của LayerNorm cho một đặc trưng x trong một lớp ẩn: x−µ LayerNorm(x) = γ √ +β σ2 +ε Trong đó: • x là giá trị đầu ra của một đặc trưng trong một lớp ẩn. • µ là giá trị trung bình của các giá trị đầu ra của đặc trưng trong một minibatch.
• σ 2 là phương sai của các giá trị đầu ra của đặc trưng trong một minibatch. • ε là một hằng số nhỏ được thêm vào trong mẫu để tránh trường hợp chia cho 0. • γ và β là các tham số học của LayerNorm, tương tự như BatchNorm, được sử dụng để điều chỉnh vị trí và phạm vi của dữ liệu.3 BNNeck Hầu hết các mô hình đạt kết quả cao thường sử dụng cả triplet loss và ID loss, như được minh họa trong Hình 2. Tuy nhiên, việc kết hợp hai loại hàm mục tiêu này đôi khi dẫn đến sự không nhất quán với mục tiêu ban đầu của mỗi hàm.4: ID loss kết hợp triplet loss 11 ID loss nhằm tách biệt vector đặc trưng của mỗi lớp theo các hướng khác nhau trong không gian đặc trưng.
Do đó, việc áp dụng khoảng cách cosine thường phù hợp hơn so với khoảng cách Euclidean. Trong khi đó, triplet loss nhằm giảm thiểu khoảng cách giữa các mẫu trong cùng một lớp và tăng cường khoảng cách giữa các mẫu thuộc các lớp khác nhau, nên sử dụng khoảng cách Euclidean. Trong quá trình học, có thể giá trị của một loss giảm đi lại làm tăng giá trị của hàm loss kia. Sự ảnh hưởng của các yếu tố ID loss, triplet loss, lớp BN, lớp BNNeck được thể hiện ở Hình 2.5: Sơ đồ BNNeck BBNeck thêm lớp BatchNorm trước lớp FC để dễ dàng hội tụ ID loss hơn (Hình 2.
Gọi vector ft và fi lần lượt là vector trước và sau lớp BN. Vector ft sẽ được dùng cho việc học triplet còn vector fi sẽ qua thêm một lớp FC để dùng ID Loss. Sau quá trình huấn luyện, fi sẽ được dùng làm vector đặc trưng và kiểm thử mô hình. Ngoài ra bỏ bias ở lớp FC để ràng buộc siêu phẳng phân lớp về tâm toạ độ.