Cấu trúc khối Bottleneck

Một phần của tài liệu Truy tìm đối tượng dựa vào thuộc tính cho dãy camera quan sát (Trang 42 - 48)

6 Kết Luận

4.4 Cấu trúc khối Bottleneck

Khối Bottleneck gồm 3 lớp convolution: 1x1, 3x3 và 1x1 dùng để giảm số lượng kênh (channel) trước khi mở rộng chúng trở lại. Khối này có chức năng tương tự như Residual Block hình 2.12, để hạn chế việc suy giảm đạo hàm, đồng thời tăng khả năng đi sâu của mô hình, từ đó tăng khả năng học. Điểm đặc biệt của Bottleneck là việc giảm số lượng trọng số học nhưng vẫn đảm bảo được tính chất như Residual Block, đã được thử nghiệm và chứng minh ở bài báo [10].

Sau khi cho nảnh (trên một batch) huấn luyện, những vùng chứa nhiều thông tin được xác định độc lập với mỗi ảnh. Đầu ra backbone làn ma trận đặc trưng (feature maps) F có kích thước là cxhxw. Trong đóclà số lượng kênh (channel),

h là chiều cao và w là chiều rộng của ma trận đặc trưng. Tại đây, chúng ta sẽ chuyển đổi F thành ma trận kích hoạt (activation maps) A dựa trên đề xuất của Zagoruyko [16]. A= c X i=1 |Fi|p (4.1)

Với Fi là tensor có kích thước hxw, p là hệ số tự do và p >1, trong luận văn này tôi chọn p= 2 theo như tác giả Quispe [1]. Tiếp theo dựa trên A có thể xác định mức độ tương quan R, với mỗi rj là giá trị trung bình của mỗi hàng, hay

được gọi là chuẩn hóa ma trận A theo hàng.

rj =

Pw k=1Aj,k

w (4.2)

Cuối cùng, chúng ta sẽ loại những hàng có giá trị rj cao nhất bằng cách thay bằng giá trị 0, đây cũng là lý do nhánh này có tên gọi là Top DropBlock. Để thuận tiện trong quá trình huấn luyện, chúng ta sẽ tạo một mặt nạ nhị phân (binary mask) có tên là Top Drop Mask - T DM có kích thước là cxhxw cho mỗi ma trận đặc trưng F. Sau đó tiến hành nhân hai tensor (dot product) T DM và

G, vớiG là kết quả đầu ra sau khi đi qua hai lớp Bottleneck có cùng kích thước với ma trận đặc trưng F. T DMi,j,k =      0 nếu rj ∈E 1 ngược lại (4.3) Trong đó: • 1≤i≤c, 1≤k≤w • E là tập hợp các hàng có giá cao nhất

Để xác định được tập hợp E, chúng ta cần chọn tỷ lệq%loại bỏ các hàng có giá trị cao nhất. Sau khi xác định được q, số hàng cần loại bỏ chính bằng q∗h, E

sẽ là tập hợp các hàng được sắp xếp từ cao xuống thấp với q∗h phần tử. Đến đây, ta có thế thấy hệ số tự do p được đề cập ở trên để xác định ma trận kích hoạt, không ảnh hướng đến quá trình huấn luyện, bởi vì mục đích cuối cùng của việc xác định ma trận kích hoạt để xếp hạng các giá trị rj, nên ta có thể chọn giá trị p thích hợp sao cho p >1.

Sau khi chúng ta loại bỏ được các vùng có nhiều thông tin, tương tự như nhánh global, các đặc trưng này được qua lớp average pooling và cuối cùng lớp lớp fully connected để ánh xạ và đúng số lượng thuộc tính trong tập dữ liệu. Regularization Stream

Việc loại bỏ các vùng chứa nhiều thông tin, chúng ta đã thúc đẩy mạng học cách phân biệt giữa các mẫu có ít thông tin hơn, do đó nâng cao khả năng mã hoá các vùng không được chú trọng. Tuy nhiên, nếu phần loại bỏ này quá lớn,

Top DropBlock có thể tạo ra nhiễu trong ma trận đặc trưng G, do false positive đã được tạo ra.

Để giảm bớt vấn đề trên, Quispe đã đề xuất nhánh regularization stream sẽ khuyến khích mạng duy trì các thông tin liên quan đến thuộc tính. Nhánh này chỉ được sử dụng trong quá trình huấn luyện. Ma trận đặc trưng G sẽ tiếp tục qua hai lớp cuối average pooling vàfully connected để huấn luyện.

4.2.2 Hàm mục tiêu

Sau khi các đặc trưng được ánh xạ về đúng với những thuộc tính có trong tập dữ liệu, do tính chất của việc phân loại thuộc tính của người đi bộ là phân loại nhiều nhãn. Vì vậy, các đặc trưng này sẽ tiếp tục qua hàm sigmoid để ước lượng giá trị xác suất của thuộc tính đó có trong ảnh hay không. Hiện tại chúng ta có ba nhánh, tương đương ứng với mỗi thuộc tính chúng ta có ba giá trị xác suất, chúng cần quyết định giá trị xác suất nào cho thuộc tính. Để tăng khả năng phân biệt các thuộc tính và tối đa hoá quyết định, chúng ta sẽ chọn giá trị xác suất lớn nhất trong ba nhánh để gán cho thuộc tính.

Như đã đề cập ở phần 5.1.2, tập dữ liệu huấn luyện bị mất cần bằng, vì thế để giải quyết vấn đề này, tôi đề xuất sử dụng hàm mục tiêu Binary Weighted Cross Entropy (BWCE) như công thức 4.4 để tính toán sự mất mát cho việc lan truyền ngược. BWCE có công thức có giống Binary Cross Entropy, nhưng BWCE được cập nhật thêm trọng số, chính trọng số này giúp cho hàm mục tiêu cân bằng hơn đối với các tập dữ liệu mất cân bằng. Các thuộc tính nào xuất hiện nhiều lần trong tập dữ liệu thì trong số cập nhật càng nhỏ, ngược lại những thuộc tính ít xuất hiện sẽ được tăng trọng số để duy trì sự cần bằng của các thuộc tính. Li( ˆyi, y) = − 1 M M X m=1 γm(ymlog(σ( ˆyim)) + (1−ym)log(1−σ( ˆyim))) (4.4) Trong đó: • M là số lượng thuộc tính.

• γm =e−am trọng số mất mát cho từng thuộc tính với, am là xác suất thuộc tính có trong tập dữ liệu.

• Li là hàm mất mát tại nhánh i.

Sau khi sử dụng BWCE để tính các giá trị mất mát trên ba nhánh, các giá trị này sẽ được tổng hợp lại để chuẩn bị cho quá trình lan truyền ngược.

L=

3 X

i=1

Li (4.5)

4.2.3 Chiến lược huấn luyện

Chiến lược huấn luyện cho luận văn này là học theo epoch, đây là chiến lược học cổ điển, được hình thành dựa trên ý tưởng của giải thuật batch gradient descent. Chiến lược này sẽ sử dụng k điểm dữ liệu để cập nhật hàm mất mát, với 1< k < N, N là tổng số điểm dữ liệu. Như vậy chúng ta sẽ được N

k phần dữ liệu con, được gọi là batch, sau khi lặp qua hết tất cả các batch được gọi là một epoch. Trước khi vào mỗi epoch các điểm dữ liệu phải được xáo trộn để đảm bảo tính ngẫu nhiên khi cho các mẫu, các mẫu của mỗi batch tại những epoch khác nhau là phải khác nhau.

Trong quá trình huấn luyện, tất các các thông số của mạng và các thông tin liên quan đến kết quả kiểm thử, kiểm tra đều được lưu lại dưới dạng file, để thuận tiện trong quá trình phân tích, đánh giá và trực quan hoá sau này. Hơn nữa, để tăng khả năng học của mạng, chúng tôi sẽ chủ động giảm hệ số học xuống 10 lần khi quá trình kiểm tra lần hiện tại thấp hơn quá trình kiểm tra của lần trước đó và đồng thời các trọng số của mạng tốt nhất sẽ được lưu lại để phục vụ cho quá trình suy diễn.

4.2.4 Các thử nghiệm triển khai

Với mục đích để khảo sát sự tách động của từng nhánh đến các kết quả của bài toán. Từ đó cho thấy được kết quả của việc sử dụng Top DropBlock. Chúng tôi tiến hành các thử nghiệm sau:

• Thử nghiệm 1: Đánh giá tỷ lệ loại bỏ ảnh hưởng đến mô hình.

• Thử nghiệm 2: Đánh giá sự tác động của các nhánh trong mô hình, trong thử nghiệm này, chúng ta thực hiện năm thử nghiệm nhỏ sau: chỉ kích hoạt

nhánhGlobal stream hoạt động, được gọi là Baseline; chỉ kích hoạt hai nhánh hoạt độngGlobal stream vàTop DropBlock stream, được gọi là no-reg Top-DB- Net; chỉ kích hoạt hai nhánh hoạt độngGlobal stream vàRegularization stream, được gọi là no-drop Top-DB-Net; kích hoạt cả ba nhánh cùng hoạt động, được gọi là no-drop Top-DB-Net; thay thế sự loại bỏ các vùng có nhiều thông tin nhất thành loại bỏ ngẫu nhiên các hàng, được gọi là Random- DB-Net.

Kết quả thực nghiệm

Trong phần này chúng tôi sẽ trình bày các tập dữ liệu, cách tiền xử lý dữ liệu để huấn luyện, các tiêu chí đánh giá và mô trường thử nghiệm được dùng trong các thử nghiệm. Đồng thời chúng tôi sẽ trình bày kết quả của các thử nghiệm đã được đề xuất ở phần 4.2.4, từ đó phân tích, đánh giá, so sánh sự ảnh hưởng của cách nhánh trong mô hình và các công trình gần đây.

5.1 Thu thập và tiền xử lý dữ liệu 5.1.1 Dữ liệu

Về mặt dữ liệu, tôi kế thừa và sử dụng các tập dữ liệu có sẵn và được thử nghiệm trên các mô gần đây, đồng thời đây cũng là hai tập dữ liệu phổ biến nhất cho bài toán phân loại thuộc tính. Các tập dữ liệu sau được thử nghiệm trong luận văn này.

PA-100K[2]: Là tập dữ liệu thuộc tính của người đi bộ được công bố vào năm 2017, với hơn 100.000 hình ảnh được xây dựng từ các camera giám sát ngoài trời. Mỗi hình ảnh trong tập dữ liệu được trích xuất dọc theo trong một đoạn video giám sát. Trong đó được chia thành 80.000 cho tập huấn luyện, 10.000 cho tập kiểm thử và 10.000 cho tập kiểm tra. Tập dữ liệu này được gán nhãn bởi 26 thuộc tính, bao gồm các thuộc tính chung như là độ tuổi, giới tính và các thuộc tính ở dạng đối tượng như là túi xách, điện thoại, quần áo, ... Đặc điểm của tập dữ liệu này là có độ đa dạng và số lượng cao so với những tập dữ liệu trước,

nhưng có một số hình ảnh trong tập dữ liệu có độ phân giải tương đối thấp và tỷ lệ mẩu dương của các thuộc tính không đều.

PETA [3]: Tập dữ liệu PATE lần đầu tiên được công bố vào năm 2014, được thu thập từ các camera trong nhà và ngoài trời. Bao gồm 19.000 ảnh người đi bộ có độ phân giải từ 17x39 đến 169x365 được tổng hợp từ 10 nguồn dữ liệu nhỏ sau đó loại bỏ các dữ liệu sai sót và gán nhãn với 61 thuộc tính nhị phân và 4 thuộc tính đa lớp.

Một phần của tài liệu Truy tìm đối tượng dựa vào thuộc tính cho dãy camera quan sát (Trang 42 - 48)