Bởi vì tiềm năng to lớn nó mang lại,không chỉ trong hệ thống camera mà còn trong các ứng dụng giám sát video.Với sự phát triển của khoa học và công nghệ hiện đại như thời điểm hiệntại, c
Trang 1NGUYỄN TRỌNG TÍNH
TRUY TÌM ĐỐI TƯỢNG DỰA VÀO THUỘC TÍNH
CHO DÃY CAMERA QUAN SÁT
Chuyên ngành: Khoa Học Máy Tính
Mã số: 8.48.01.01
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 8 năm 2021
Trang 2Cán bộ hướng dẫn khoa học: TS Lê Thành Sách
Cán bộ chấm nhận xét 1: PGS TS Huỳnh Trung Hiếu
Cán bộ chấm nhận xét 2: TS Nguyễn Văn Sinh
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 5 tháng 8 năm 2021 (Trực tuyến)
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, họchàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 Chủ Tịch: PGS TS Thoại Nam
2 Thư Ký: TS Nguyễn Lê Duy Lai
3 Phản Biện 1: PGS TS Huỳnh Trung Hiếu
4 Phản Biện 2: TS Nguyễn Văn Sinh
5 Ủy Viên: TS Lê Thành Sách
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
I TÊN ĐỀ TÀI:
– Truy tìm đối tượng dựa vào thuộc tính cho dãy camera quan sát
II NHIỆM VỤ VÀ NỘI DUNG:
– Tìm hiểu bài toán phân loại thuộc tính của người đi bộ dựa trên thuộc tính
– Đề xuất và thực hiện các mô hình trích xuất đặc trưng về thuộc tính cho người đi bộtrong hệ thống camera giám sát
– Đánh giá hiệu quả của mô hình đề xuất với những công trình nghiên cứu liên quantrong thời gian gần đây
III NGÀY GIAO NHIỆM VỤ: 20/01/2021
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2021
Trang 4Để hoàn thành được bài luận văn thạc sĩ này, tôi xin bày tỏ sự cảm kích đặcbiệt tới thầy hướng dẫn khoa học của tôi, Tiến sĩ Lê Thành Sách Người đã địnhhướng, trực tiếp dẫn dắt và cố vấn tôi trong suốt thời gian thực hiện đề tài luậnvăn tốt nghiệp Những lời nhận xét, góp ý và hướng dẫn của Thầy đã giúp tôitiếp cận đúng hướng đi trong quá trình thực hiện luận văn, giúp tôi thấy đượcnhững ưu điểm và khuyết điểm của những phương pháp tiếp cận khác nhau vàtừng bước khắc phục để có kết quả ngày càng tốt hơn Hơn thế nữa tôi còn họcđược ở Thầy phương pháp luận và tư duy trong quá trình nghiên cứu khoa học.Đây chính là bàn đạp vững chắc giúp tôi hoàn thành luận văn một cách hoànchỉnh.
Đồng thời tôi cũng muốn gửi lời cảm ơn chân thành đến với công ty TNHHKnorex - nơi tôi đang làm việc, gia đình và bạn bè đã tạo điều kiện, động viên,
cổ vũ tinh thần trong suốt quá trình học tập và thực hiện đề tài Đặc biệt là giađình đã chăm lo và hy sinh rất nhiều để tôi chuyên tâm học tập
Sau cùng, tôi xin cảm ơn các Thầy, Cô và cán bộ trong khoa Khoa học và KỹThuật Máy Tính đã hỗ trợ và cung cấp những kiến thức khoa học Những kiếnthức này không chỉ dừng ở việc hoàn thành luận văn mà còn là một nền tảngkhoa học giúp tôi phát triển trong tương lai
Trong luận văn, chắc hẳn không thể tránh khỏi những hạn chế và thiếu sót.Tôi hy vọng sẽ nhận được nhiều đóng góp quý báu từ các quý thầy cô, hội đồng
và các bạn đọc để đề tài được hoàn thiện hơn nữa và có ý nghĩa thiết thực ápdụng trong thực tiễn cuộc sống Chân thành cảm ơn
TP Hồ Chí Minh, Ngày 13 Tháng 05 Năm 2021
Nguyễn Trọng Tính
Trang 5Truy tìm đối tượng dựa vào thuộc tính cho dãy camera quan sát là một nhánh của đềtài tái định danh người người đi bộ Mục đích để dự đoán những thuộc tính cụthể cho trước, tùy vào những vùng ảnh khác nhau Thách thức của bài toán làtìm kiếm được những đối tượng có một số thuộc tính nhất định trong tập hìnhảnh của camera Do những đối tượng xuất hiện trong camera với nhiều tư thếkhác nhau, dẫn đến các thuộc tính cũng thay đổi theo, hơn nữa các thuộc tínhnày có thể nằm ở các đối tượng khác với vị trí khác nhau, nên sự phân biệt dựatrên các vùng cục bộ bị hạn chế Chính vì lý do này dẫn đến phương pháp tiếpcận các vùng ít liên quan để nhận dạng những thuộc tính Trong bài luận vănnày đề xuất một phương pháp - kế thừa từ bài báo [1] cho tái định danh, đó làTop DropBlock Phương pháp này gồm ba nhánh: Nhánh global stream để họccác thông tin từ pre-train, nhánh Top DropBlock để cố gắng học những vùng ítthông tin để tăng khả năng phân biệt các thuộc tính, nhánh regularization đểgiải quyết các nhiễu được tạo ra bởi nhánh Top DropBlock Hơn nữa, phươngpháp đề xuất này có nhiều tiềm năng để ứng dụng vào thực tiễn vì không yêucầu tạo thêm các chú thích cho dữ liệu và dễ dàng huấn luyện Các thử nghiệmđược tiến hành dựa trên hai tập dữ liệu có sẵn: PA100K [2] và PETA [3] Kếtquả thử nghiệm rất khả quan khi được so sánh với các phương pháp tiếp cậntrong vài năm trở lại đây.
Trang 6Tracing objects based on properties for CCTV arrays is a branch of re-id topic Thepurpose is to predict the specific attributes, depending on the different imageregions The challenge of the problem is to find objects with certain properties
in the image set of camera Because the objects appear in the camera with manydifferent poses, lead to the properties also changing Moreover these attributesmay be located in other objects with different positions, so the discrimination
is based on on restricted local areas It is for this reason that the less relevantregion approach is used to identify attributes In this thesis, we propose a ap-proach which inherit from re-identification paper [1], as Top DropBlock Thisapproach is three streams: a global stream encodes rich image information from
a backbone, the Top DropBlock stream encourages the backbone to encode lowinformative regions with high discriminative features and a regularization streamhelps to deal with the noise created by the dropping process of the second stream,when testing the first two streams are used Moreover, this proposed approachhas a lot of potential for practical application because it does not require cre-ating additional annotations for the data and is easy to train The tests wereconducted against two available data sets: PA100K [2] and PETA [3] The testresults are very positive when compared with approaches of the past few years
Trang 7Tôi là Nguyễn Trọng Tính học viên cao học khoa Khoa Học và Kỹ thuật MáyTính, đại học Bách Khoa TP.HCM, MSHV là 1970219 Tôi xin cam đoan rằngluận văn thạc sĩ “Truy tìm đối tượng dựa vào thuộc tính cho dãy camera quan sát”
là kết quả tìm hiểu, nghiên cứu độc lập của chính bản thân dưới sự hướng dẫntrực tiếp của TS Lê Thành Sách Tôi xin cam đoan:
1 Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc caohọc
2 Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều đượctrích dẫn, tham khảo
3 Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phầnmềm mã nguồn mở
4 Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng
5 Kết quả nghiên cứu được trình bày trung thực dựa trên số liệu thực tế khichạy chương trình
TP Hồ Chí Minh, Ngày 13 Tháng 05 Năm 2021
Học viên
Nguyễn Trọng Tính
Trang 81 Giới thiệu đề tài 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu nghiên cứu 2
1.3 Ý nghĩa đề tài 3
1.4 Kết quả đạt được 3
1.5 Cấu trúc của luận văn 4
2 Cơ sở lý thuyết 5 2.1 Mạng nơ-ron đa tầng và mạng học sâu 5
2.1.1 Mạng nơ-ron đa tầng 5
2.1.2 Mạng nơ-ron học sâu 6
2.2 Mạng nơ-ron tích chập 11
2.2.1 Đặc tính của mạng nơ-ron tích chập 11
2.2.2 Phép tích chập - Convolution 13
2.2.3 Mạng nơ-ron tích chập dưới góc nhìn của một mạng nơ-ron nhân tạo 14
2.3 Các mạng pretrain thường dùng cho bài toán phân loại 15
2.3.1 ResNet-50 16
2.3.2 Inception-v3 17
3 Tổng quan tình hình nghiên cứu 19 3.1 Holistic 20
3.2 Attention based 21
3.3 Relation based 23
3.4 Part based 25
4 Phương pháp nghiên cứu 27 4.1 Ý tưởng thiết kế thử nghiệm 27
4.2 Thiết kế thử nghiệm 28
4.2.1 Mô hình 28
4.2.2 Hàm mục tiêu 32
4.2.3 Chiến lược huấn luyện 33
Trang 94.2.4 Các thử nghiệm triển khai 33
5 Kết quả thực nghiệm 35 5.1 Thu thập và tiền xử lý dữ liệu 35
5.1.1 Dữ liệu 35
5.1.2 Phân tích dữ liệu 36
5.1.3 Tiền xử lý dữ liệu 40
5.2 Các tiêu chí đánh giá 41
5.2.1 Mean Accuracy - mA 42
5.2.2 Accuracy - Accu 43
5.2.3 Precision - Prec 43
5.2.4 Recall 43
5.2.5 F1 score - F1 44
5.3 Môi trường thực nghiệm 44
5.4 Kết quả 44
5.4.1 Thử nghiệm 1 44
5.4.2 Thử nghiệm 2 47
5.4.3 So sánh với các công trình liên quan 51
6 Kết Luận 54 6.1 Kết quả đạt được 54
6.2 Hướng nghiên cứu tiếp theo 55
Trang 102.1 Cấu tạo của mạng nơ-ron đa tầng 6
2.2 Mạng MLP và mạng học sâu với một lớp ẩn 7
2.3 Đồ thị của hàm sigmoid 7
2.4 Một tầng ẩn của mạng neural nhiều lớp dùng hàm sigmoid 8
2.5 Đồ thị của hàm tanh 9
2.6 Mạng nơ-ron trước khi dropout 10
2.7 Mạng nơ-ron sau khi dropout 10
2.8 Hình ảnh minh họa phân tích của nhà phân phối điện thoại thông minh 12 2.9 Hình ảnh minh họa quá trình học và trích xuất thuộc tính của một mạng nơ-ron 12
2.10 Hình ảnh mô tả ma trận hình ảnh và cửa sổ tích chập 13
2.11 Hình ảnh mô tả phân tích chập một bộ lọc tạo ra các nơ-ron 15
2.12 Kiến trúc khối residual block [2.12] 17
3.1 Các hướng tiếp cận của việc truy tìm thuộc tính của người đi bộ 20
3.2 Cấu trúc mạng CNN của Dangwei đề xuất trong [4] 20
3.3 Tổng quan về kiến trúc mô hình của bài báo [5] 21
3.4 Kiến trúc mạng ALM [5] 22
3.5 Kiến trúc mạng ML-GCN [6] 24
3.6 Kiến trúc mạng Grouping Recurrent Learning [7] 25
3.7 Kiến trúc mạng Multi-label CNN [8] 26
4.1 Một số kết của Top DropBlock trên nội dung ảnh 28
4.2 Mô hình Top-DB-Net 29
4.3 Cấu trúc của nhánh global stream trên tập PA100K 29
4.4 Cấu trúc khối Bottleneck 30
5.1 Một số ảnh trong tập dữ liệu PETA 36
5.2 Tỷ lệ % mẫu dương ứng với từng thuộc tính trong tập dữ liệu PA100K 37 5.3 Tỷ lệ % mẫu dương ứng với từng thuộc tính trong tập dữ liệu PETA 37 5.4 Các hình có độ phân giải thấp trong tập dữ liệu PA100K 38
5.5 Kích thước ảnh thay đổi trong tập dữ liệu PA100K 38
5.6 Các hình nhiều đối tượng trong tập dữ liệu PA100K 39
Trang 115.7 Các ảnh bị thiếu ánh sáng trong tập dữ liệu PA100K 39
5.8 Bản đồ nhiệt phân loại thuộc tính kính của người đi bộ 40
5.9 Thay đổi kích thước ảnh 41
5.10 Lập ảnh theo chiều ngang 41
5.11 Thành phần của confusion matrix 42
5.12 Bản đồ nhiệt của thuộc tính Front trong thử nghiệm 1 46
5.13 Bản đồ nhiệt của thuộc tính HandBag trong thử nghiệm 1 46
5.14 Giá trị mất mát trong quá trình huấn luyện trên tập PETA 48
5.15 Độ chính xác trong quá trình huấn luyện và kiểm tra trên PETA 48
5.16 Random DropBlock 50
5.17 Top DropBlock 50
5.18 mA của Top DropBlock và Baseline trên tập dữ liệu PA100K 50
5.19 Bản đồ nhiệt của LowerStripe và HoldObjectsInFront khi sử dụng Baseline 51 5.20 Bản đồ nhiệt của LowerStripe và HoldObjectsInFront khi sử dụng Top DropBlock 51
Trang 125.1 Sự ảnh hưởng của tỷ lệ loại bỏ trên tập PA100K 45
5.2 Ảnh hưởng của các nhánh Top-DB-Net 49
5.3 So sánh với các mô hình gần đây trên tập dữ liệu PA100K 52
5.4 So sánh với các mô hình gần đây trên tập dữ liệu PETA 53
Trang 13Giới thiệu đề tài
1.1 Đặt vấn đề
Ngày nay, với sự phát triển của công nghệ và tiềm năng to lớn của các mạnghọc sâu Đã thúc đẩy các nhà nghiên cứu, các công ty bắt tay vào việc nghiêncứu các ứng dụng tích hợp học máy, học sâu để phục vụ đời sống của con người.Nhờ có hỗ trợ học máy hay học sâu, các ứng dụng này sẽ tiết kiệm thời gian,công sức của con người, qua đó giúp tối đa hiệu quả năng suất làm việc Cácứng này có thể được kể đến như: chatbot, giám sát công nhân có đeo khẩu tranghay không, phát hiện nhiệt độ bắt thường trên người Các ứng dụng thường
sẽ được chia thành hai hướng để giải quyết, một là theo hướng xử lý ảnh, hai
là theo hướng xử lý ngôn ngữ tự nhiên Trong đó, xử lý ảnh có xu hướng nổitrội hơn hẳn bởi vì tính cấp bách và cần thiết của nó Việc truy vết hoặc tìmkiếm các đối tượng trong video cũng là một trong những vấn đề mang tính chấtnói trên Đây cũng là vấn đề được sự thu hút và chú ý rộng rãi của những nhànghiên cứu cũng như các cơ quan thực tế Bởi vì tiềm năng to lớn nó mang lại,không chỉ trong hệ thống camera mà còn trong các ứng dụng giám sát video.Với sự phát triển của khoa học và công nghệ hiện đại như thời điểm hiệntại, chi phí sản xuất các thiết bị thu hình như camera được đẩy xuống mức vừaphải, nên việc sở hữu một camera đối với mọi người không phải là vấn đề quákhó khăn Chính vì điều này, số lượng tạo ra video của mọi người nói riêng vàcác hệ thống camera nói chung tăng liên tục theo thời gian Khi phát sinh một
Trang 14vấn đề an ninh nào đó, chúng ta cần phải tìm kiếm và truy vết lại các đối tượngxuất hiện trong video để phục vụ cho công tác điều tra Nếu không có sự giúp
đỡ của các ứng dụng như việc truy vết trên, chúng ta sẽ gặp nhiều khó khăn vàtốn rất nhiều thời gian trong việc tìm kiếm Hiểu được vấn đề này, chúng tôi
đã thực hiện nghiên cứu này để góp phần nào đó giảm chi phí và thời gian chongười lao động, họ chỉ cần vài thao tác nhỏ trên màn hình là có thể xác địnhđược đối tượng muốn tìm kiếm
Việc truy vết hoặc tìm kiếm đối tượng được chia thành hai hướng tiếp cận:truy vết theo thuộc tính và truy vết theo đối tượng cụ thể Trong đó hướng tiếpcận theo thuộc tính là việc chúng ta sẽ đưa các đầu vào mang tính chất của mộtđối tượng nào đó, ví dụ như là: giới tính nữ, trên 18 tuổi, tóc dài, mang giàythể thao, Sau khi tiếp nhận các đầu vào như vậy hệ thống sẽ truy xuất để tìmnhững người có các thông tin gần như vậy và trả về các thông tin của camera
Từ đó, chúng ta có thể truy vết lại lịch trình của đối tượng Ngược lại đối vớihướng tiếp cận dựa trên một đối tượng cụ thể, đầu vào chúng ta là một ngườinào đó cụ thể, đã từng xuất hiện trong hệ thống camera, sau khi xử lý hệ thống
sẽ trả về thông tin người đó đã xuất hiện trong camera nào
1.2 Mục tiêu nghiên cứu
Với những tiềm năng rất đang mong đợi của các mạng nơ-ron học sâu, trongnghiên cứu tôi tận dụng các thế mạng của những mạng nơ-ron để phân loại cácthuộc tính của người đi bộ, từ đó góp phần cho việc truy xuất đối tượng cho dãycamera Để giải quyết vấn đề đặt ra, tôi sẽ xây dựng mô hình mạng nơ-ron họcsâu, trọng tâm là sử dụng mạng pre-train để rút trích đặc trưng Đồng thời kếthừa nguyên cứu của Quispe và các cộng sự [1] về bài toán re-identification, tôi sẽxây dựng mạng nơ-ron học sâu Top DropBlock để giải quyết cho bài toán phânloại thuộc tính Top DropBlock là một phương pháp có khả năng tăng cườnghọc các vùng ít thông tin để góp phần tăng sự phân biệt các đối tượng, đượcQuispe đề xuất cho bài toán nhận dạng người dựa trên nội dung Việc phân loạicác thuộc tính trong ảnh và đối tượng trong ảnh là hai bài toán có mối liên hệmật thiết với nhau, cả hai cũng làm việc trên đối tượng là người đi bộ, nhưng
có điểm khác biệt lớn nhất ở đây là một bên là bài toán phân loại nhiều nhãn
Trang 15(thuộc tính), bên còn lại là bài toán phân loại nhị phân (đối tượng) Vì thế tôitin rằng chúng ta có thể sử dụng ý tưởng của bài toán nhận dạng đối tượng chobài toán thuộc tính.
Nghiên cứu sẽ sử dụng những tập dữ liệu có sẵn như PA100K [2] và PETA[3] để huấn luyện và đánh giá hiệu năng của mô hình
Ngoài ra, nghiên cứu cũng so sánh với các cách tiếp cận khác trong khoảngthời gian gần đây Chúng tôi sẽ so sánh về độ chính xác và khả năng hiện thựchoá của các mô hình này Từ những kết luận rút ra, cho ta thấy được cái nhìntổng quan của các cách tiếp cận, và những yếu tố nào quan trọng khi áp dụngvào thực tiễn
1.3 Ý nghĩa đề tài
Với việc nghiên cứu về phân loại các thuộc tính của người đi bộ, từ đó có thể
hỗ trợ cho việc truy tìm đối tượng dựa trên thuộc tính cho dãy camera quansát, đề tài có ý nghĩa sau đây
Ý nghĩa thực tiễn:
• Góp phần trong việc nhận dạng người trong hệ thống camera
• Tiết kiệm công sức và thời gian cho việc tìm kiếm người trong hệ thốngcamera
Trang 16Drop-trích đặc trưng của mạng pre-train, cụ thể ở đây là ResNet-50 để tăng khả năngphân loại thuộc tính.
Ngoài ra, mô hình của chúng tôi xây dựng gọn nhẹ, không cần yêu cầu xử lýtiền dữ liệu phức tạp nên dễ dàng cho việc huấn luyện và kiểm tra Đồng thờicho thấy được tiềm năng hứa hẹn khi ứng dụng vào thực tiễn Bên cạnh đó, môhình vẫn có phân loại nhầm các thuộc tính có tần số xuất hiện thấp trong tập
dữ liệu Đây cũng là cũng là một trong những khuyết điểm cần được cải thiệntrong các hướng nghiên cứu tiếp theo
1.5 Cấu trúc của luận văn
Cấu trúc của luận văn được tổ chức như sau:
• Chương 1 - Giới thiệu đề tài: nhằm giới thiệu tổng quan về bài toán phânloại thuộc tính người đi bộ và phương pháp giải quyết
• Chương 2 - Cơ sở lý thuyết: trình bày những lý thuyết liên quan được sửdụng trong bài nghiên cứu
• Chương 3 - Tổng quan tình hình nghiên cứu: bao gồm các công trình nghiêncứu liên quan đến bài nhập dạng thuộc tính người đi bộ, phân tích các ưu
và nhược điểm để có thể khắc phục và tăng cường trong phương pháp đềxuất
• Chương 4 - Phương pháp nghiên cứu: trình bày cụ thể mô hình đề xuất vàcách thức mô hình hoạt động
• Chương 5 - Kết quả thực nghiệm: phân tích đặc điểm của các bộ dữ liệuđược sử dụng trong bài toán, các phương pháp đánh giá, kết quả đánh giácủa mô hình đề xuất và so sánh với công trình gần đây
• Chương 6 - Kết luận: nêu ra các kết luận đúc kết được trong quá trìnhnghiên cứu và hướng phát triển tiếp theo trong tương lai
Trang 17Cơ sở lý thuyết
Chương này sẽ giải thích về khái niệm, kiến trúc mạng nơ-ron đa tầng vàmạng nơ-ron tích chập - CNN, phân tích một số pretrain model thường dùngcho việc phân loại các thuộc tính của người nói riêng và trên ảnh nói chung
2.1 Mạng nơ-ron đa tầng và mạng học sâu
2.1.1 Mạng nơ-ron đa tầng
Mạng nơ-ron đa tầng là mạng sử dụng nhiều perceptron được sắp xếp thànhcác tầng khác nhau Các perceptron ở tầng sau đều nối tới tầng trước (fully-connected)
Các thành phần của một mạng nơ-ron đa tầng gồm:
• Tầng dữ kiện (input layer): Là tầng đầu tiên của mạng, thể hiện các dữkiện đầu vào
• Tầng kết quả (output layer): Là tầng nằm ở vị trí cuối cùng, thể hiện kếtquả đầu ra của mạng
• Tầng ẩn (hidden layer): Là tầng nằm ở giữa, chịu trách nhiệm trong việctính toán (có thể có nhiều tầng) thông qua các hàm kích hoạt (activationfunction)
Trang 18Hình 2.1: Cấu tạo của mạng nơ-ron đa tầng.
Tuy nhiên các phép tính của mạng nơ-ron đa tầng đều là tuyến tính, chính vìvậy gây ra những vấn đề sau:
• Khó khăn trong việc xây dựng những mô hình phi tuyến phức tạp
• Khi đi qua nhiều lớp, những vấn đề về trọng số sẽ xảy ra ví dụ như đầu racủa một perceptron nào đó quá lớn hoặc quá âm sẽ ảnh hưởng rất nhiềuđến độ chính xác của bài toán hoặc thậm chí là máy tính không thể biểudiễn được
• Vì đầu ra sẽ được so sánh về ngưỡng nào đó, do đó, vấn đề về xác định xácsuất sẽ rất khó thực hiện vì chúng ta chỉ thể hiện được mức độ hay nói cáchkhác là những giá trị rời rạc
Các hàm kích hoạt thường được sử dụng trong mạng học sâu:
Trang 19Hình 2.2: Mạng MLP và mạng học sâu với một lớp ẩn
Hàm sigmoid:
σ(x) = 1
1 + e −xHàm sigmoid nhận vào một giá trị thực x và trả về một giá trị trong khoảng
(0, 1) Nếu xlà một số thực âm rất nhỏ thì kết quả của hàm sigmoid sẽ tiệm cận
0, và ngược lại nếu x là một số dương rất lớn thì kết quả sẽ tiệm cận 1 Hình2.3 bên dưới là đồ thị biểu diễn cho hàm sigmoid
Hình 2.3: Đồ thị của hàm sigmoid
Đối với hàm sigmoid, việc tính toán vô cùng thuận lợi do kết quả đạo hàmcủa sigmoid rất "đẹp" Tuy nhiên, điều này không thể che lấp những khuyếtđiểm nghiêm trọng của sigmoid:
• Hàm sigmoid bão hòa và triệt tiêu gradient (vanishing gradient)
Trên hình 2.3, đường màu xanh thể hiện cho giá trị của hàm sigmoid vàđường màu cam thể hiện cho giá trị của đạo hàm Có thể nhận ra được, vớinhững giá trị x rất lớn hoặc rất nhỏ, kết quả đạo hàm của hàm sigmoid rấtgần với 0 Điều này gây ra sự triệt tiêu gradient và hạn chế khả năng học
Trang 20của mạng Cụ thể, nếu mạng được khởi động bằng những trọng số quá lớnhoặc quá nhỏ, giá trị đầu vào của hàm sigmoid bị bão hòa, giá trị của đạohàm sẽ là một giá trị gần 0 và gradient sẽ bị triệt tiêu Nếu mạng được khởiđộng bằng những trọng số "đẹp"(không quá lớn, không quá nhỏ), giá trịcủa đạo hàm cũng sẽ là một giá trị trong khoảng (0, 0.25) Khi đi qua mộtmạng nhiều tầng, đạo hàm của các trọng số sẽ nhỏ dần và gradient vẫn sẽ
bị triệt tiêu
• Hàm sigmoid không có tính chất zero-centered
Hình 2.4: Một tầng ẩn của mạng neural nhiều lớp dùng hàm sigmoid
Ở ví dụ của mạng neuron như hình 2.4, đạo hàm riêng phần của hàm mấtmát theo hai trọng số w1 và w2 sẽ được tính như sau:
∂z Điều này có nghĩa
là các gradient sẽ luôn cùng dương hoặc luôn cùng âm Việc cập nhật trọng
số sẽ chỉ xảy ra về một phía, hạn chế sự linh hoạt của mạng và gây khókhăn cho việc hội tụ
Hàm tanh:
tanh(x) = e
x − e −x
e x + e −xHàm tanh nhận vào một số thực và trả về một giá trị trong khoảng (-1,1).Trên hình 2.5, đường màu xanh thể hiện giá trị của hàm tanh và đường màu
Trang 21đỏ thể hiện cho giá trị đạo hàm Dễ dàng nhận thấy rằng hàm tanh cũng gặpphải vấn đề triệt tiêu gradient như hàm sigmoid Tuy nhiên, so với sigmoid, hàmtanh có tính chất zero-centered.
nó nhanh cho kết quả và thường có hiệu quả trong nhiều trường hợp Hầu hếtcác mạng nơ-ron học sâu hiện nay đều có hàm kích hoạt ReLU trong các tầng
Trang 22ẩn, trừ hàm kích hoạt ở tầng đầu ra vì nó phụ thuộc vào từng bài toán.
Hàm leaky ReLU:
f (x) = max(0.01x, x)
Leaky ReLU là một cố gắng trong việc loại bỏ Dying ReLU Thay vì luôn trả
về giá trị bằng 0 cho các giá trị âm, leaky ReLU tạo một đường xiên có độ dốcnhỏ Leaky ReLU cũng có một biến thể khác là PReLU: f (x) = max(αx, x) với
α sẽ được chọn trong quá trình học
Các lớp thường sử dụng trong mạng học sâu:
Lớp Convolution: Lớp này sẽ được trình bày chi tiết ở phần 2.2
Lớp Fully Connected: Là tầng kết nối đầy đủ, đây là lớp thường được sửdụng ở lớp gần cuối của mạng, sau khi rút trích được tất cả các đặc trưng ẩn
để tối ưu hóa mục tiêu của mạng, ví dụ như độ chính xác của lớp Lớp này sẽđược kết nối tất cả các đầu vào với mỗi nút của lớp tiếp theo Lớp này thường
có trọng số học rất lớn, và có thời gian tính toán lâu thứ hai sau lớp convolution.Cũng chính vì lý do này, nên những lớp này thường chỉ được sử dụng ở nhữnglớp cuối của mạng trước khi đi qua hàm sigmoid hoặc softmax
Lớp Dropout: Khi huấn luyện một mạng nơ-ron chúng ta thường gặp phảitình trang quá khớp (overfit) - là hiện tượng mô hình chỉ hoạt động tốt trongtập dữ liệu huấn luyện, khi sử dụng tập dữ liệu kiểm thử hoặc kiểm tra thì kếtquả thu được rất tệ Trong học máy người ta thường sử dụng regularization đểngăn chặn overfit bằng cách thêm các yếu tố phạt vào hàm lỗi, còn trong mạngnơ-ron có một phương pháp mới để ngăn chặn overfit là sử dụng lớp dropout Ýtưởng của lớp này rất đơn giản, chúng ta sẽ loại bỏ vài nút của mạng để chúngkhông đóng góp vào quá trình huấn luyện như hình 2.7 Việc loại bỏ này thườngđược thực hiện bằng cách cài đặt một hệ số xác suất đề loại bỏ các nút, nếu nútnào bị loại bỏ sẽ được cập nhật các trọng số của nút đó về không
Hình 2.6: Mạng nơ-ron trước khi dropout Hình 2.7: Mạng nơ-ron sau khi dropout
Trang 23Lớp BatchNorm: Là một lớp rất hiệu quả trong quá trình huấn luyện một
mô hình mạng nơ-ron Mục tiêu của lớp này là muốn chuẩn hóa các đặc trưng
- đầu ra của mỗi lớp sau khi đi qua hàm kích hoạt, về trạng thái zero-mean haynói cách khác là hạn chế trạng tháinon-zero-mean, với độ lệch chuẩn là 1 Trạngthái non-zero-mean là hiện tượng dữ liệu không phân bố quanh giá trị không,
mà dữ liệu có phần nhiều giá trị lớn hơn không, hoặc nhỏ hơn không Kết hợpvới vấn đề variance khiến dữ liệu trở nên có nhiều thành phần rất lớn hoặc rấtnhỏ Vấn đề này rất phổ biến khi huấn luyện các mạng nơ-ron với số lớp nhiều.Việc đặc trưng không phân phối trong những khoảng ổn định - giá trị to nhỏthất thường, sẽ có ảnh hưởng đến quá trình tối ưu của mạng BatchNorm giúp
ta tránh được hiện tượng này, đồng thời sẽ giúp chúng ta giảm sự phụ thuộc vàoquá trình khởi tạo tham số Trong các mạng học sâu nên dung hòa cả hai lớp
BatchNorm và Dropout để tránh hiện tượng overfit
Lớp Pooling: Tầng pooling là một phép lấy mẫu để giảm số chiều của đặctrưng (downsampling), thường được sử dụng sau tầng tích chập, giúp tăng khảnăng bất biến không gian Có hai dạng phổ biến của pooling là max-pooling vàaverage-pooling, tương ứng với giá trị lớn nhất và giá trị trung bình được lấy
ra Max pooling dùng để bảo toàn các đặc trưng đã phát hiện, average pooling
có mục đích chính là giảm chiều dữ liệu
và quá trình học của mạng nơ-ron nhân tạo
Hình 2.8 là một minh họa về quá trình phân tích và rút trích các thuộc tính
ẩn để từ đó đưa ra quyết định định giá sản phẩm của một nhà phân phối điệnthoại thông minh Có thể thấy được giá trị đầu vào chính là những thông sốthường được đi kèm với mỗi dòng điện thoại như màn hình, vi xử lý, RAM, hãng
Trang 24Hình 2.8: Hình ảnh minh họa phân tích của nhà phân phối điện thoại thôngminh
sản xuất, Tuy nhiên, các thông số này không trực tiếp quyết định số tiền màngười dùng cần bỏ ra để sở hữu chiếc điện thoại Bản thân người dùng khi muamột sản phẩm luôn có những yêu cầu nhất định và phù hợp cho cá nhân mình,chẳng hạn như độ bền, khả năng chơi game, trải nghiệm hiển thị,
Như vậy, đối với nhà phân phối, họ cần rút trích được các thuộc tính tiềm ẩncủa sản phẩm và có ý nghĩa đối với khách hàng của họ (cũng chính là nhu cầungười dùng) từ những thông số đầu vào tương đối vô nghĩa Ví dụ như thông
số màn hình (kích thước, độ phân giải, tấm nền) sẽ quyết định trải nghiệm thịgiác; thông số màn hình cộng với thông số phần cứng như chip xử lý, bộ nhớRAM sẽ quyết định trải nghiệm chơi game; hoặc hãng sản xuất, chất liệu vàthiết kế của sản phẩm có thể ảnh hưởng đến độ bền Từ đó, nhà phân phối đưa
ra giá trị cho mỗi loại điện thoại sao cho phù hợp và bán chạy khi giới thiệu đếnngười dùng
Hình 2.9: Hình ảnh minh họa quá trình học và trích xuất thuộc tính của mộtmạng nơ-ron
Hình 2.9 mô tả cơ bản quá trình học của một mạng nơ-ron nhân tạo (neural
Trang 25network) Từ các giá trị đầu vào, mạng nơ-ron tiến hành các thao tác xử lý đểtrích xuất các thuộc tính tiềm ẩn (latent features) của dữ liệu Các thuộc tínhnày có thể tiếp tục được làm đầu vào cho các lớp sau đó cho đến khi tìm đượckết quả cuối cùng.
Điểm đặc biệt của các thuộc tính tiềm ẩn được trích xuất từ mạng nơ-ronnhân tạo chính là thậm chí con người cũng đôi khi cũng không thể, hoặc rấtkhó khăn để suy luận ra được Một ví dụ đơn giản chính là cách quá trình trẻnhỏ nhận biết các con vật khác nhau Dù thực tế chúng ta không được học vềmột định nghĩa hay lý thuyết cụ thể để phân biệt các loài vật, nhưng não bộ
ta đã học được điều đó trong quá trình tiếp xúc trực tiếp hay gián tiếp Do đó,khi được hỏi hãy liệt kê cụ thể các đặc điểm để phân biệt chó và mèo, đôi khichúng ta cũng gặp không ít khó khăn để trích xuất các đặc điểm này, việc màcác mạng nơ-ron nhân tạo được thực hiện bởi máy tính lại thực hiện rất tốt
Có nhiều mạng nơ-ron có thể đảm nhiệm tốt khả năng trích xuất thuộc tính.Tuy nhiên, đối với một số mạng nơ-ron sử dụng cơ chế kết nối đầy đủ (fully-connected), có một vấn đề nảy sinh chính là số trọng số (parameter) cần học làrất lớn bởi vì tất cả các giá trị đầu vào đều tham gia vào quá trình học của mỗitrọng số Điều này có thể khiến cho máy học tương đối chậm Với mạng nơ-rontích chập, cơ chế chia sẻ trọng số (shared weight) sẽ giúp tiết kiệm đáng kể chiphí với trọng số được học giảm rất nhiều Chúng ta sẽ cùng phân tích về cơ chếchia sẻ trọng số này kỹ hơn ở phần tiếp theo của chương
2.2.2 Phép tích chập - Convolution
Đúng như cái tên của CNN, phép tính tích chập (convolution) chính là đặctrưng mạng nơ-ron này Để có thể dễ dàng nắm bắt được ý tưởng của phép tíchchập, ta hãy cùng phân tích ví dụ sau đây
Hình 2.10: Hình ảnh mô tả ma trận hình ảnh và cửa sổ tích chập
Trang 26Xét một hình ảnh được biểu diễn dưới dạng ma trận I kích thước 7x7 gồmcác chữ số 1 (các vị trí không có số 1 được hiểu là 0) và một cửa sổ tích chậpK
(cửa sổ trượt) là ma trận 7x7 như hình 2.10 Ta có công thức tính một phần tửcủa ma trận kết quả từ phép tích chập như sau:
Sau khi dùng cửa số tích chập K trượt qua hết tất cả các phần tử trong I, ta
sẽ được kết quả của phép tích chập
Ý nghĩa của ma trận kết quả: Có thể thấy, sau khi biến đổi thì các matrận kết quả đang thể hiện được sự phân bố mẫu của các cửa sổ trượt trên matrận ban đầu Ví dụ như cửa sổ K thể hiện hai đường chéo thì ma trận kết quảthể hiện phân bố đúng như bản chất ma trận hình ảnh gốc, với hai đường chéochạy dài từ đầu đến cuối Từ quan sát này, ta có thể hiểu được vì sao gọi là các
bộ lọc (filter) Nhiệm vụ của chúng là tìm ra các đặc trưng của ảnh Hơn nữa các
bộ lọc còn đóng vai trò khác nhau tùy theo yêu cầu của bài toán như bộ pháthiện cạnh (edge detector), bộ phát hiện nhiễu (noise detector),
2.2.3 Mạng nơ-ron tích chập dưới góc nhìn của một
mạng nơ-ron nhân tạo
Trong một mạng nơ-ron nhân tạo thông thường thì một mạng nơ-ron đượccấu thành bởi các nút nơ-ron khác nhau nối tiếp nhau và qua quá trình xử lýthông tin sẽ tạo ra các nút nơ-ron ở tầng tiếp theo Tương tự như vậy với mạngnơ-ron tích chập, ví dụ có một hình ảnh được biểu diễn dưới dạng ma trận đầuvào với kích thước 7x7 và một cửa sổ tích chập là ma trận 3x3 thì quá trìnhnhân tích chập tại vị trí đầu trên ma trận đầu vào 7x7 sẽ tạo ra được một phần
tử của ma trận mới và đó cũng tương đương với một nút nơ ron được tạo ra saukhi thực hiện một phép biến đổi Nút nơ-ron mới sẽ nối với 9 điểm trên ma trậnđầu vào
Hình 2.11 mô tả một ma trận đầu vào cùng với một cửa sổ và khi thực hiệnphép tích chập trên một vị trí trên ma trận đầu vào sẽ tạo ra được một nútnơ-ron Khi cho cửa sổ trượt qua hàng thứ hai sẽ thu được một nơ-ron khác vàkhi ta cho ma trận filter này trượt hết trên ma trận đầu vào thì sẽ tạo ra được
Trang 2725 nút nơ ron khác nhau và mỗi nút nối với một ma trận 9 đơn vị.
Hình 2.11: Hình ảnh mô tả phân tích chập một bộ lọc tạo ra các nơ-ron
Một đặc điểm quan trọng của mạng nơ-ron tích chập là cơ chế chia sẻ trọng số
(shared weights) Có nghĩa là các trọng số trên mỗi bộ lọc phải giống nhau vàcác nơ-ron trong lớp ẩn đầu sẽ phát hiện chính xác điểm tương tự chỉ ở các vịtrí khác nhau trong dữ liệu đầu vào Việc làm này sẽ làm giảm tối đa số lượngcác tham số (parameters), mỗi bản đồ đặc trưng sẽ giúp phát hiện thêm một vàiđặc trưng khác Với một ma trận hình ảnh đầu vào kích thước 7x7 như ở trên
và 4 bộ lọc có ma trận kích thước 3x3 thì mỗi bản đồ thuộc tính cần 3×3 = 9trọng số và số nơ-ron được tạo ra ở lớp thứ hai là 25 Như vậy nếu có 4 bản đồthuộc tính thì có 4x9 = 36 tham số Với một mạng nơ-ron có kết nối đầy đủ thìchúng ta sẽ có 7x7x25 = 1225 trọng số Từ kết quả cho thấy sử dụng lớp tíchchập sẽ cần số lượng tham số ít hơn nhiều lần so với lớp kết nối đầy đủ nhưngvẫn có thể rút ra các đặc trưng một cách hiệu quả
Một khả năng khác của mạng nơ-ron tích chập là số tham số không phụ thuộcvào kích thước của đầu vào Với những ma trận đầu vào có kích thước khác nhau
và thông qua quá trình học theo phương pháp nơ-ron tích chập sẽ rút ra nhữngthuộc tính ẩn mà ta có thể khó nhận thấy
2.3 Các mạng pretrain thường dùng cho bài
toán phân loại
Các bài toán về học sâu cần phải sử dụng một lượng dữ liệu lớn để huấnluyện, mới có thể tăng khả năng học của mạng Chính vì lý do này, nên chi phíhuấn luyện các bài toán về học sâu rất lớn Để giải quyết vấn đề trên, các công
Trang 28ty lớn như Google hoặc Facebook đề xuất ra một khái niệm mạng pretrain
để giảm chi phí huấn luyện và đồng thời tăng khả năng học của mạng Mạngpretrain là các kiến trúc mạng CNN hoàn chỉnh cho một bài toán cụ thể, đượchuấn luyện trước trên tập dữ liệu lớn, các trọng số của mạng được lưu lại đểmỗi người có thể kế thừa và phát triển tuỳ theo ứng dụng
Tập dữ liệu ảnh thường sử dụng cho các pre-train là ImageNet [9] Đây làmột cơ sở dữ liệu hình ảnh quy mô lớn được thiết kế để sử dụng trong nghiêncứu phần mềm nhận dạng đối tượng trực quan Bao gồm 14 triệu hình ảnh đãđược gán nhãn bằng tay bởi ImageNet để chỉ ra đối tượng nào đó trong nhữngbức hình Trong đó, chứa hơn 20 nghìn danh mục, các danh mục điển hình như
“quả bóng” hoặc “dâu tây”, chứa trong hàng trăm tấm hình Tập dữ liệu này là
cơ sở để các mô hình pre-train ra đời, nhằm tăng độ chính xác và tiết kiệm thờigian cho các bài toán phân loại nói riêng và các bài toán về ảnh nói chung
2.3.1 ResNet-50
Resnet được viết tắt từ Residual Network là một mạng học sâu dùng để tríchxuất các đặc trưng của ảnh và được giới thiệu vào năm 2015 bởi Kaiming He,Xiangyu Zhang, Shaoqing Ren và Jian Sun trong bài báo“Deep Residual Learning for Image Recognition” [10] Mô hình này đã đạt nhiều thành tựu đáng kể như
• Giành vị trí thứ nhất trong cuộc thi “The ImageNet Large Scale Visual nition Challenge - ILSVRC” năm 2015 với tỷ lệ lỗi trong top 5 là 3,57%
Recog-• Hiệu quả trong việc huấn luyện các mạng có số lớp lớn 100 - 1000
• Độ chính xác tăng 20% của Faster R-CNN khi thay đổi từ VGG-16 sangResNet-101
Để giải vế các vấn đề phức tạp trong học sâu, người thường sử dụng nhiều lớp
ẩn chồng lên nhau, với hy vọng sẽ cải thiện được độ chính xác Nhưng khi cácmạng học sâu với số lượng lớn các lớp và trọng số học thì thường gặp vấn đề suygiảm đạo hàm (Vanishing Gradient) Nếu như trong trường hợp bình thường,đầu ra của các lớp ẩn thường sử dụng các hàm kích hoạt có giá trị nhỏ hơnmột, vì thế khi quá trình lan truyền ngược được khởi động, hệ số cập nhật cho
gradient descent được tính bằng tích các đầu ra của các lớp Vì đầu ra của các
Trang 29lớp là một số nhỏ hơn một, khi tính tích của nhiều lớp lại với nhau thì kết quả
sẽ tiến về không Chính điều này, làm cho giá trị cập nhật của gradient descent
trở nên vô nghĩa
Thực tế cho thấy khi tăng số lượng lớp ẩn trong CNN thì độ chính xác cũngtăng theo, nhưng khi số lượng quá lớn thì độ chính xác lại giảm Residual Block
ra đời nhằm giải quyết vấn đề trên, với Residual Block ta hoàn toàn có thể huấnluyện các mô hình CNN có kích thước và độc phức tạp cao hơn mà không lo
bị Vanishing Gradient Mấu chốt của Residual Block là cứ sau hai lớp ẩn thì tacộng đầu vào với đầu ra, như hình 2.12
Hình 2.12: Kiến trúc khối residual block [2.12]
ResNet là một mạng CNN bao gồm nhiều Residual Block nhỏ tạo thành Hiệntại có rất nhiều biến thể của ResNet, với tên theo sau là số lớp kiến trúc mạng
2.3.2 Inception-v3
Với các mạng CNN thông thường, khi thiết kế ta bắt buộc phải xác địnhtrước các tham số của lớp convolution như: kernel size, padding, strides, Vàthường rất khó để xác định trước tham số nào sẽ phù hợp, ví dụ như chúng tanên chọn kernel size bằng (1x1), (3x3) hoặc (5x5) sẽ tốt hơn Để giải quyết vấn
đề trên, các nhà nghiên cứu của Google đã đề xuất mạng Inception vào năm
2014 Một mạng Inception hoàn chỉnh bao gồm nhiều Inception module kết hợplại với nhau
Ý tưởng của Inception module rất đơn giản, thay vì sử dụng một lớp volution với tham số kernel size cố định, ta hoàn toàn có thể sử dụng cùng lúcnhiều lớp convolution với các tham sốkernel size khác nhau (1x1, 3x3, 5x5, 7x7, ) và sau đó tổng hợp lại các đầu ra với nhau Ở thời điểm hiện tại, có ba phiênbản của mạng Inception, các phiên bản sau thường có một vài điểm cải tiến sovới phiên bản trước để cải thiện độ chính xác
Trang 30con-Một điểm thú vị của inception module chính là việc giảm các trọng số học rấtđáng kể, bằng việc sử dụngkernel có kích thước là (1x1) cho mỗi lớp convolution.Chính kernel này giúp ta có thể điều khiển số lượng channel theo mong muốn,
và chính số lượng channel này bằng với số lượng trọng số cần học của module,
mà không cần thêm bất kỳ trọng số nào khác, như đã đề cập ở phần đầu củaphần này
Trang 31Tổng quan tình hình
nghiên cứu
Chương này trình bày các công trình liên quan được chúng tôi tìm hiểu trongquá trình nghiên cứu thực hiện đề tài Các công trình này chứa các kỹ thuật vàcác ứng dụng có liên quan đến nội dung mà chúng tôi nghiên cứu, hoặc đượcchúng tôi ứng dụng vào nghiên cứu này
Ngày nay, với sự hỗ trợ từ sức mạnh phần cứng, Convolution Neural Network
- CNN cùng với học sâu là một phương pháp hiệu quả nhất trong việc tríchđặc trưng từ ảnh Kế thừa từ việc này, hầu hết các công trình liên quan đến
đề tài đều sử dụng CNN và học sâu để trích đặc trưng, đặc biệt là sử dụng cácpretrain model (resnet [11], inception [12]) Sau đó kết hợp những đặc trưng nàyvới những phương pháp học máy hoặc học sâu để tạo nên mô hình hoàn chỉnhcho việc truy tìm đối tượng dựa vào thuộc tính Trong những năm gần đây đã
có nhiều nguyên cứu về việc nhận dạng thuộc tính của đối tượng và mang lạikết quả cao, các hướng tiếp cận của các nghiên cứu trên có thể chia làm bốnhướng chính: holistic, relation based, attention based, part based
Trang 32Hình 3.1: Các hướng tiếp cận của việc truy tìm thuộc tính của người đi bộ
3.1 Holistic
Holistic là phương pháp tiếp cận cơ bản nhất của việc nhận dạng các thuộctính, hướng tiếp cận này sẽ tận dụng CNN như hình [3.2], để học những đặctrưng của từng thuộc tính và sau đó được đánh giá bởi hàm mất mát cross-entropy Tuy nhiên, độ chính xác của các model theo hướng tiếp cận này bị hạnchế, do thiếu sự quan tâm đến các thông tin của thuộc tính Hơn nữa mạngCNN được huấn luyện trên tập dữ liệu chưa đủ lớn, nên việc rút trích đặc trưngcũng bị hạn chế Nhưng đây là cơ sở để đánh giá các model khác có hoạt độngtốt hay không
Hình 3.2: Cấu trúc mạng CNN của Dangwei đề xuất trong [4]
Trang 333.2 Attention based
Attention based là hướng tiếp cận khá phổ biến và có khả năng ứng dụng vàothực tế cao Mục đích giúp model tăng cường một tiêu chí cụ thể nào đó (ví dụnhư channel) từ đó giúp tăng khả năng học trong suốt quá trình huấn luyện.Nhóm tác giả Tang, Chufeng đã đề xuất mô hình Attribute Localization Module - ALM [5] vừa kết hợp attention và các đặc trưng ẩn từ các lớp trước của pretrainmodel để có thể khám phá và tập trung vào những vùng phân biệt cần học nhấtđịnh cho từng thuộc tính tại nhiều lớp khác nha Mô hình này sử dụng kiến trúcmạng inception để trích các đặc trưng ẩn Các đặc trưng này được lấy ở ba lớpkhác nhau của inception, đó là incep3b, incep4d và incep5b Những đặc trưng nàytiếp được lan truyền theo bốn nhánh như hình 3.3 Trong đó, nhánh 1, 2, 3 lànhững nhánh kếp hợp vớiALM để tăng khả năng học, cũng như trung hòa giữacác đặc trưng toàn cục và cục bộ
Hình 3.3: Tổng quan về kiến trúc mô hình của bài báo [5]
Thông thường, đối với mỗi thuộc tính, chúng ta chỉ cần tập trung vào mộtvùng cụ thể nhất định ALM sẽ giúp mô hình tự động tập trung những vùngcần học, tránh sự nhầm lẫn giữa các vùng khác Kiến trúc mạng như hình 3.4,trong đó gồm hai phần: Channel Attention và Spatial Transformer Network - STN
[13]
Channel Attention: Do mô hình kết hợp các đặc trưng giữa các lớp của pretrainkhác nhau, nên các đặc trưng mang nhiều thông tin được chứa trong các kênhkhác nhau Hơn thế nữa, với mỗi kênh sẽ chứa những thông tin theo tỉ lệ khác
Trang 34Hình 3.4: Kiến trúc mạng ALM [5]
nhau đối với mỗi thuộc tính Chính vì những lý do trên nhóm tác giả đã đề xuất
Channel Attention để có thể học được tỷ lệ này cho từng thuộc tính khác nhau
STN: Là một cách để tự động làm giàu dữ liệu bằng cách học các thông sốcủa ma trận Affine Transformation Trong ma trận này nhóm tác giả chỉ học haithông số như trong công thức bên dưới: tỉ lệ (sx, sy) và tịnh tiến (tx, ty)
y s i
y t i
• γ m = e−am trọng số mất mát cho từng thuộc tính
• a m là xác suất thuộc tính có trong tập dữ liệu
Ưu điểm: Kết hợp hài hòa giữa đặc trưng toàn cục và cục bộ với nhau ALM
đã tập trung tốt vào những vùng cần học Hơn thế nữa, STN cũng tự động làmgiàu dữ liệu, tự động thích nghi với những ngoại cảnh khác nhau Chính những
Trang 35điều này, làm tăng độ chính xác trong quá trình suy luận của mô hình Đâycũng là công trình đứng thứ hai về độ chính xác trong những năm gần đây củabài toán này.
Nhược điểm: Phần Channel Attention, hiện tại nhóm tác giả sử dụng riêng lẻcho từng kênh trên từng thuộc tính, vì vậy dẫn đến khi số lượng thuộc tính củatập dữ liệu mở rộng hoặc tăng cao, thì các trọng số cần học của mô hình rấtlớn, dẫn đến chi phí tính toán và huấn luyện tăng cao
Cấu trúc mạng ML-GCN gồm hai phần: trích đặc trưng từ pretrain và GCN.Phần trích đặc trưng hoàn toàn tương tư như những bài báo đã khảo sát trước,nhóm tác giả đã sử dụngresnet101 để lấy những đặc trưng ẩn Với những bài báokhác, sau khi lấy được đặc trưng từ pretrain sẽ lan truyền qua lớpfully-connected,với kích thước đầu ra đúng bằng với số lượng thuộc tính có trong tập dữ liệu.Còn đối với ML-GCN, những đặc trưng ẩn này sẽ được dot product với đầu racủa GCN
Để biểu diễn đồ thị, trước tiên phải xây dựng được các đỉnh và ma trận liền
kề hay được gọi trong bài báo là correlation matrix Các đỉnh ở đây là các thuộctính trong tập dữ liệu, được chuyển đổi dưới dạng vector Nhóm tác giả sử dụngGloVe [14] để biến đổi các thuộc tính như: person, surfboard, thành các vector
Trang 36cột Xây dựng correlation matrix được dựa vào tập dữ liệu, các đỉnh được liênkết với nhau bằng một tỉ lệ xác suất có điều kiện Ví dụ, để tính cạnh nối từđỉnh person đến đỉnh suftboard thì cần tính xác suất Psurf board|Pperson Việc tínhxác suất này khá đơn giản, chỉ cần tìm tất của các hình chứa thuộc tính person,trong đó có bao nhiêu hình chứa surfboard, sau đó chia tỉ lệ với nhau.
Sau khi đã xây dựng được cấu trúc của một đồ thị, tiếp theo nhóm tác giả
đã sử dụng công thức dưới đây để tính convolution của một đồ thị
• H l+1 là những đặc trưng của đỉnh được cập nhật
Đầu ra của GCN phải có cùng kích thước với những đặc trưng được trích từpretrain, để có thể dot product với nhau Và cuối cùng được lan truyền đến hàmmất mát để tính sai số giữa giá trị thực và giá trị dự báo
Hình 3.5: Kiến trúc mạng ML-GCN [6]
Cũng dựa trên ý tưởng relation-based, tác giả Xin Zhao đã đề xuất một môhình [7] mà ở đó kết hợp hài hoà giữa CNN và Recurrent neural network - RNN