Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo được cấu tạo bởi các nơ-ron được xếp thành các lớp, mỗi nơ-ron ở lớp đằng sau sẽ có các kết nối đến các nơ-ron thuộc lớp ngay trước đó, được minh họa như trong Hình 2.1. Đầu vào của mạng thường có dạng một vectơ trong không gian nhiều chiều, mỗi chiều tương ứng với một đặc trưng và được biểu diễn dưới dạng các con số Nằm giữa lớp đầu vào và lớp đầu ra, ta có các lớp ẩn được xếp chồng lên nhau Mỗi nơ-ron, hay node, có thể được coi như một mô hình hồi quy tuyến tính (Linear Regression) bao gồm các trọng số wi, dữ liệu đầu vào xi, độ lệch (Bias) b và giá trị đầu ra y Ta có thể biểu diễn dưới dạng công thức như sau: m y = ∑ w ix i + b = w 1 x 1 + w 2 x 2 + ããã+ w m x m + b (2.1) i=1
Trước khi trở thành đầu vào cho các nơ-ron thuộc lớp liền sau, đầu ra của từng nơ-ron trong lớp đang xét (ngoại trừ lớp đầu vào) sẽ được đưa qua một hàm kích hoạt (Activation Function) f (x) với mục đích phi tuyến hóa kết quả đầu ra Vì tổ hợp tuyến tính của các hàm tuyến tính cũng là
Hình 2.1: Mạng nơ-ron nhân tạo. một hàm tuyến tính, sự có mặt của các hàm kích hoạt là bắt buộc. Không có các hàm kích hoạt này, toàn bộ mạng nơ-ron sẽ chỉ có khả năng biểu diễn tương đương với một nơ-ron duy nhất Có rất nhiều sự lựa chọn cho hàm kích hoạt, kinh điển nhất có thể kể đến như hàm dấu, hàm Sigmoid, hàm Tanh, v.v Hiện đại hơn, ta có những hàm như ReLU [35], Leaky ReLU [33], ELU [6], v.v
Mạng nơ-ron tích chập
Kiến trúc của mạng nơ-ron tích chập
Mạng nơ-ron tích chập được cấu tạo chủ yếu bởi hai thành phần cơ bản bao gồm lớp tích chập (Convolutional Layer) và lớp tổng hợp (Pooling
Dữ liệu ảnh thường có kích thước khá lớn cùng những mối quan hệ về không gian hay thậm chí là thời gian giữa các điểm ảnh với nhau Để giải quyết được những vấn đề này, cấu tạo của lớp tích chập sẽ gồm các bộ lọc (Hình 2.2) Các nơ-ron trong cùng một lớp sẽ chỉ phải kết nối tới một khu vực tương đối nhỏ của dữ liệu đầu ra của lớp ngay trước đó. Thiết kế này dựa trên một giả định rằng nếu một đặc trưng là đủ tốt cho một vị trí (x 1 , y 1 ) trong không gian hai chiều (chiều rộng và chiều cao) của ảnh, thì nó cũng sẽ tốt cho một vị trí (x 2 , y 2 ) khác nào đó Việc thiết kế này không những giúp ích cho việc học ra các đặc trưng trong ảnh một cách hiệu quả mà còn giúp cho thuật toán có khả năng mở rộng cho những bộ dữ liệu gồm những bức ảnh với kích thước vô cùng lớn.
Hình 2.2: Sử dụng bộ lọc để trích ra các đặc trưng.
Một mạng nơ-ron thông thường sẽ bao gồm nhiều lớp tích chập Mục tiêu chính của các lớp tích chập là trích rút ra các đặc trưng trong ảnh đầu vào; công việc này được thực hiện thông qua việc sử dụng các bộ lọc Trong lớp tích chập đầu tiên, các bộ lọc sẽ học được các đặc trưng cấp thấp trên ảnh, ví dụ như các cạnh, các đốm màu, v.v Càng đi sâu vào những lớp đằng sau, các bộ lọc sẽ học được những đặc trưng cấp cao hơn, trừu tượng hơn như họa tiết của cả một cái tổ ong hay của một chiếc bánh xe Việc này giúp cho mạng nơ-ron có thể "hiểu" được tấm ảnh như cách mà con người vẫn thường hiểu Các bộ lọc được sử dụng thường có kích thước khá bé so với kích thước của tấm ảnh, phổ biến nhất là 3x3, ngoài ra có thể là 5x5 hay 7x7 Tuy có kích thước tương đối nhỏ về chiều rộng và chiều cao nhưng những bộ lọc này lại mở rộng về chiều sâu bằng với kích thước ảnh đầu vào hay của đầu ra thu được từ lớp ngay trước đó. Với ảnh đầu vào thông thường có ba kênh (Channel) màu (đỏ, lục, lam), chiều sâu sẽ có giá trị bằng ba Trong quá trình huấn luyện mô hình, ta sẽ tiến hành trượt các bộ lọc này dọc theo chiều rộng và chiều cao của ảnh đầu vào hoặc đặc trưng thu được từ lớp ngay trước đó để tính toán nên đầu ra như được minh họa trong Hình 2.3 Với mỗi bộ lọc ta sẽ thu được một ma trận; khi các ma trận này được xếp chồng lên nhau theo chiều sâu ta sẽ thu được một bản đồ đặc trưng (Feature Map).
Hình 2.3: Quá trình trượt bộ lọc dọc theo chiều rộng và chiều cao của ảnh.
Xen kẽ giữa các lớp tích chập thường sẽ là sự xuất hiện của các lớp tổng hợp Lớp tổng hợp có nhiệm vụ giảm kích thước đặc trưng trích xuất được từ lớp tích chập ngay trước đó; điều này giúp giảm khối lượng tính toán trong mạng nơ-ron đồng thời tránh được hiện tượng quá khớp (Overfitting). Khác với lớp tích chập, lớp tổng hợp không có khả năng học được các đặc trưng từ dữ liệu mà chỉ thực hiện một chức năng cố định Trong thực hành, lớp tổng hợp thường được cấu tạo bởi các bộ lọc 2x2, với sải bước (Stride) bằng 2 khi trượt dọc theo chiều rộng và chiều cao của đầu vào Quá trình này được thực hiện trên từng lớp theo chiều sâu và kết quả thu được sẽ là một đầu ra có kích thước bằng 1/4 kích thước đầu vào, tương ứng với việc mất đi 75% lượng thông tin ban đầu Bộ lọc được sử dụng phổ biến nhất hiện nay cho lớp tổng hợp là bộ lọc lọc ra giá trị lớn nhất trong vùng mà nó trượt qua; lớp tổng hợp loại này có tên là Max Pooling Nói cách khác, Max Pooling sẽ chỉ giữ lại giá trị tại những vị trí có mối quan hệ mạnh nhất với từng đặc trưng; những giá trị lớn nhất này sẽ được tổng hợp lại để tạo nên một chiều không gian mới thấp hơn, như được minh họa trong Hình 2.4.
Mạng nơ-ron Transformer
Cơ chế Attention
Attention là thành phần cấu tạo chính nên kiến trúc Transformer. Với con người, việc sử dụng cơ chế Attention có vẻ khá tự nhiên; ví dụ như việc tập trung điểm nhìn vào một vài vị trí cần quan tâm khi quan sát một bức ảnh, hay việc tìm ra ngữ cảnh của một câu văn bằng việc hướng sự tập trung đến một vài thành phần cấu thành nên câu văn đó. Với các bài toán sử dụng mô hình Học sâu, cơ chế Attention đơn giản là một vectơ chứa các trọng số đại diện cho độ quan trọng của các thành phần tham gia Dựa vào các trọng số này, mô hình có thể biết cần phải tập trung vào những vùng nào, đối tượng nào, hay mục nào trong đống dữ liệu đầu vào được cung cấp.
Cơ chế Attention có rất nhiều dạng khác nhau, tiêu biểu có thể kể đến như Content-based Attention [15], Additive Attention [2] như được gọi trong công trình của Vaswani và các đồng sự [48], Dot-Product Atten-tion [32] và Scaled Dot-Product Attention [48] Trong một cách phân loại khác, ta có thể xếp các cơ chế Attention vào ba nhóm: i Self-Attention: Tìm mối quan hệ giữa chính các đối tượng của cùng một đầu vào; còn được biết đến với cái tên Intra- Attention trong bài báo "Long Short-Term Memory-Networks for Machine Reading" của Cheng và các đồng sự [3]. ii Soft-Attention [49]: Tập trung vào toàn bộ không gian trạng thái của đầu vào. iii Hard-Attention [49]: Tập trung vào một phần không gian trạng thái của đầu vào.
Truy vấn, Khóa và Giá trị
Cơ chế Attention được hình thành bởi ba thành phần: Truy vấn (Queries), Khóa (Keys) và Giá trị (Values) Với một đầu vào nhất định, ta sẽ có các Truy vấn và Khóa tồn tại dưới dạng những vectơ d k chiều; kèm với đó là những vectơ Giá trị có số chiều d v Việc thực thi cơ chế Attention đơn giản là việc tính tổng có trọng số của các vectơ Giá trị dựa vào các Truy vấn và các Khóa tương ứng.
Cụ thể với trường hợp của Scaled Dot-Product Attention được đề cập trong bài báo "Attention Is All You Need" [48]:
Attention(Q, K,V ) = so f tmax( √ )V, d k trong đó Q, K, V lần lượt là những ma trận được hình thành bằng cách ghép nhiều vectơ Truy vấn, Khóa và Giá trị lại với nhau.
Trong công thức trên, từng Truy vấn sẽ được lấy tích vô hướng (Dot- Product) với tất cả các Khóa trong ma trận K; từng kết quả trả về sau đó sẽ
√ được chia cho d k trước khi đi qua hàm Softmax để thu được trọng số cho từng vectơ Giá trị nằm trong ma trận V Một cách trực quan hơn, cơ chế Scaled Dot-Product Attention được minh họa như trong Hình 2.5.
Hình 2.5: Scaled Dot-Product Hình 2.6: Multi-Head Atten-
Attention [48] tion [48]. Điểm khác biệt duy nhất giữa Scaled Dot-Product Attention và Dot-
Product Attention chính là hệ số √1 d k Với sự bổ sung của hệ số này, việc huấn luyện cho mô hình sẽ trở nên ổn định hơn nhờ vào việc giảm độ lớn của các giá trị trả về sau khi thực hiện phép nhân vô hướng; điều này thực sự hữu ích khi d k lớn Nếu không làm vậy, hiệu ứng của hàm Softmax sẽ ảnh hưởng đến bộ trọng số đầu ra khiến cho nhiều giá trị trở nên vô cùng nhỏ Ngoài những cải tiến với mục đích cải thiện chất lượng cho việc huấn luyện mô hình, Scaled Dot-Product Attention còn kế thừa khả năng tính toán hiệu quả của công thức gốc nhờ vào việc tận dụng các phép nhân ma trận.
Với cơ chế Self-Attention, mỗi vectơ đầu vào sẽ thực hiện đồng thời cả ba vai trò của Truy vấn, Khóa và Giá trị Ngoài ra, để giúp cho việc huấn luyện mô hình trở nên dễ dàng hơn, các vectơ đầu vào sẽ được biến đối tuyến tính bởi các ma trận độc lập có khả năng được huấn luyện cùng với toàn bộ mô hình Điều này giúp cho các vectơ đầu vào có thể được biến đổi sang những dạng phù hợp hơn đối với từng vai trò phải đảm nhiệm.
Kiến trúc mạng nơ-ron Transformer
Mạng nơ-ron Transformer vẫn được thiết kế với kiến trúc Encoder- Decoder; nhưng thay vì sử dụng các lớp hồi quy, Transformer sử dụng cơ chế Self-Attention thông qua khối Multi-Head Attention.
Với một điểm dữ liệu đầu vào, thay vì thực hiện duy nhất một phép tính Attention, khối Multi-Head Attention (như được minh họa trong Hình 2.6) sẽ thực hiện đồng thời h phép lấy Attention trên từng phần của điểm dữ liệu; điều này khiến ta liên tưởng đến việc sử dụng nhiều bộ lọc trong mạng nơ-ron tích chập Các kết quả đầu ra của các phép lấy Attention sẽ được nối lại với nhau, đi cùng với đó là một phép biến đối tuyến tính nhằm thu được đầu ra cuối cùng với số chiều mong muốn.
Bộ mã hóa (Encoder) của mạng nơ-ron Transformer được tạo bởi sáu lớp mã hóa xếp chồng lên nhau; mỗi lớp này được cấu thành bởi hai lớp con, lớp đầu tiên là khối Multi-Head Self-Attention, lớp thứ hai là một mạng nơ-ron truyền thẳng (Feed-forward Network) được tạo bởi các lớp kết nối đầy đủ (FullyConnected Layer) Mỗi lớp con này đều được gắn thêm một kết nối thặng dư (Residual Connection) cùng với một lớp LayerNorm [1] Các thành phần của bộ mã hóa được minh họa như ở nửa bên trái trên Hình 2.7.
Tương tự như bộ mã hóa, bộ giải mã (Decoder) trong mạng nơ-ron Transformer cũng được xếp chồng bởi sáu lớp giải mã Điểm khác biệt đầu tiên là sự bổ sung của lớp con nằm giữa hai lớp con ban đầu với nhiệm vụ thực hiện cơ chế Attention trên kết quả đầu ra của bộ mã hóa Lớp con này cũng được áp dụng kết nối thặng dư cùng với một lớp LayerNorm Sự thay đổi thứ hai đến từ các lớp con sử dụng cơ chế Multi-Head Self-Attention với sự có mặt của các Mặt nạ (Masks) Những Mặt nạ này sẽ giúp cho bộ giải mã không hướng sự tập trung đến những từ nằm sau vị trí đang được dự đoán; đảm bảo kết quả dự đoán cho vị trí thứ i chỉ phụ thuộc vào những vị trí đã được dự đoán trước đó Các thành phần của bộ giải mã được minh họa như ở nửa bên phải trên Hình 2.7.
Với kiến trúc chỉ bao gồm các lớp với cơ chế Attention cùng với các mạng nơ-ron truyền thẳng, mạng nơ-ron Transformer không có khả năng nhận biết được thứ tự của từng thành phần trong chuỗi đầu vào như mạng nơ-ron hồi quy và mạng nơ-ron tích chập có thể làm Hay nói cách khác, kiến trúc này sẽ phá vỡ tính có thứ tự của các chuỗi đầu vào, một vấn đề vô cùng nghiêm trọng đặc biệt trong những bài toán xử lý ngôn ngữ tự nhiên. Để khắc phục điều này, Vaswani và các đồng sự của mình đã bổ sung thêm một cơ chế mã hóa vị trí (Positional Encoding) cho dữ liệu đầu vào của bộ mã hóa và bộ giải mã như được minh họa trong Hình 2.7.
Hệ hỗn hợp các chuyên gia
Kể từ lần đầu tiên được giới thiệu vào năm 1991 bởi Jacob và các đồng sự [21], hệ hỗn hợp các chuyên gia, thuật ngữ tiếng Anh là Mixture ofExperts (MoE), đã trải qua một hành trình dài [50] để trở thành một trong những giải pháp linh hoạt nhất cho việc kết hợp các mô hình khác nhau
Hình 2.7: Kiến trúc mạng nơ-ron Transformer [48]. cho mục đích tăng độ chính xác của giải pháp tổng thể.
Bên cạnh việc nghiên cứu về mặt thống kê, các nhà nghiên cứu còn quan tâm đến tính ứng dụng của MoE trong các bài toán thực tế Công trình của Shazeer và các đồng sự [39] thậm chí còn đưa MoE lên một tầm cao mới về mặt quy mô khi có thể tăng hơn 1000 lần sức chứa của mô hình trong khi vẫn giữ độ phức tạp tính toán trong giới hạn cho phép.Trong giải pháp đề xuất cho bài toán ETS, tôi áp dụng ý tưởng của MoE bằng một cơ chế cổng đơn giản được cấu tạo bởi các lớp kết nối đầy đủ (3.2.5).
Học tự giám sát
Học tự giám sát (Self-supervised Learning) là cách thức huấn luyện sử dụng chính dữ liệu đầu vào để tạo ra các tín hiệu giám sát thay vì sử dụng nhãn của dữ liệu Cách tiếp cận này thực tế đã xuất hiện từ trước khi thuật ngữ học tự giám sát được sử dụng rộng rãi, dưới cái tên học không giám sát (Unsupervised Learning) Nhưng vì sự dễ gây hiểu nhầm khi sử dụng cách gọi cũ, học tự giám sát đã trở thành thuật ngữ thông dụng để chỉ phương pháp huấn luyện mô hình không sử dụng nhãn đặc biệt này. Nhờ vào việc không yêu cầu dữ liệu phải được gán nhãn cùng với sự phong phú của dữ liệu, học tự giám sát thường được sử dụng với mục đích hỗ trợ cho nhiều bài toán khác bằng cách tạo ra mô hình được huấn luyện trước nhằm phục vụ cho việc khởi tạo trọng số Học tự giám sát hướng đến việc tìm ra được biểu diễn của dữ liệu thông qua việc giải một bài toán phụ. Nhãn của dữ liệu sẽ được sinh ra một cách tự động tùy vào bài toán phụ được triển khai Với dữ liệu dạng ảnh, các bài toán phụ có thể kể đến như tô màu cho ảnh đen trắng [51], giải bài toán ghép hình [36], dự đoán góc quay của ảnh [13], Với mục tiêu tìm được biểu diễn của dữ liệu là các văn phạm, các bài toán phụ có thể được xây dựng dưới dạng bài toán mô hình hóa ngôn ngữ với Mặt nạ [8], [25], [29], dự đoán câu tiếp theo [8], dự đoán thứ tự của câu [25] Sau khi đã thu được mô hình được huấn luyện với bài toán phụ, các trọng số của mô hình này có thể được sử dụng để khởi tạo cho các mô hình giải quyết bài toán đích như phát hiện đối tượng trong ảnh (Object Detection), dịch ngôn ngữ (Language Translation), v.v
Ngay cả với bài toán ETS, việc thiết kế một bài toán phụ nhằm mục đích khởi tạo cho bài toán chính là hoàn toàn khả thi Chi tiết cách tiến hành sẽ được trình bày trong mục 3.6.2.
Mô hình đề xuất Để giải quyết bài toán ETS một cách tự động, nhóm nghiên cứu đã lựa chọn sử dụng các mô hình Học sâu Giải pháp đề xuất được cấu tạo bởi hai luồng: (1) Luồng thẻ (Tag-stream) chỉ sử dụng thông tin từ các thẻ đầu vào cho việc đề xuất các thẻ quan trọng, và (2) luồng ảnh (Image-stream) sử dụng đồng thời thông tin từ các thẻ và ảnh để đưa ra quyết định Đầu ra của hai luồng này sau cùng sẽ được hợp nhất bởi Gating Mechanism như được minh họa trong Hình 3.1.
Auxiliary Outputs Outputs Auxiliary Outputs
Extractor Image (Visual Info) Tags (Textual Info)
Hình 3.1: Mô hình đề xuất [37].
Mô hình cơ sở
Trước khi đến với giải pháp cuối cùng, ta sẽ cùng điểm qua các mô hình cơ sở được sử dụng để làm tham chiếu cho việc đánh giá các mô hình sau này.
Mô hình đầu tiên bao gồm luồng thẻ (Hình 3.2 (a)), sử dụng các thông tin từ các thẻ để chọn ra những thẻ quan trọng Kiến trúc mô hình đơn giản với việc dựa vào Transformer Encoder để tìm mối quan hệ giữa các thẻ đầu vào với nhau và với chính nó Tôi gọi kiến trúc này với cái tên TF-t.
Mô hình thứ hai bao gồm luồng ảnh (Hình 3.2 (b)), sử dụng đồng thời thông tin từ các thẻ và ảnh để đưa ra quyết định Việc kết hợp thông tin của các thẻ với ảnh được thực hiện thông qua lớp Multi-Head Attention Tôi gọi kiến trúc này với cái tên TF-it.
Outputs Outputs Outputs #1 Outputs #3 Outputs #2
Nx Transformer Nx Transformer Gating Layer Transformer Mx
Tag Embedder Image Feature Tag Embedder Image Feature Tag Embedder
Tags Image Tags Image Tags
Hình 3.2: Từ trái sang phải: (a) Mô hình cơ sở chỉ sử dụng các đặc trưng của thẻ (TF-t), (b) mô hình cơ sở sử dụng các đặc trưng kết hợp từ ảnh và các thẻ tương ứng (TF-it), (c) kiến trúc MAGNeto [37].
Kiến trúc mô hình
Thành phần Tag Embedder
Giống với bao bài toán được phân loại vào lĩnh vực xử lý ngôn ngữ tự nhiên khác, các đầu vào dạng văn bản cần phải được số hóa hay cụ thể hơn là vectơ hóa trước khi có thể được đưa vào các bước xử lý sâu hơn Một cách đơn giản nhất, có thể coi Tag Embedder như một bảng tra cứu; trong đó, mỗi thẻ sẽ được gán cho một định danh(Identification) hay một chỉ số (Index), và từ định danh này ta có thể tra được vectơ tương ứng để đại diện cho thẻ đó là gì.
Thành phần Image Feature Extractor
Đóng vai trò chính trong việc trích xuất các đặc trưng từ ảnh, thành phần Image Feature Extractor được chọn ở đây sẽ là một mạng nơ-ron tích chập Mục tiêu cuối cùng của thành phần này chính là trích xuất ra được các vectơ đặc trưng đại diện cho từng vùng không gian trên tấm ảnh đầu vào Với mục đích nghiên cứu, mô hình ResNet [16] được lựa chọn và được biến đổi theo các bước như sau trước khi có thể sử dụng:
1 Loại bỏ các lớp kết nối đầy đủ và Global Average Pooling
2 Thay vào vị trí đó sẽ là một lớp tích chập 1 × 1 cùng với một lớp Batch-norm[19].
3 Cuối cùng, đầu ra của Image Feature Extractor sẽ là một Tensor có kích thước (N, N, d model ), tương ứng với N × N vùng trên ảnh với d model đặc trưng, sẽ được trải phẳng theo hai chiều đầu tiên (chiều không gian).
Thành phần Multi-Head Attention
Xuất hiện lần đầu trong bài báo "Attention is All you Need" [48] củaVaswani và các đồng sự vào năm 2017 Trong công trình này, lớp Multi-Head Attention được sử dụng để tìm ra mối quan hệ giữa các vectơ đầu vào Dựa trên ý tưởng đó, tôi sử dụng thành phần này để kết hợp đặc trưng được trích xuất từ ảnh với đặc trưng được trích xuất từ các thẻ đi kèm nhằm giải quyết bài toán ETS Các vectơ đặc trưng của các thẻ đóng vai trò là các Truy vấn trong khi các vectơ đặc trưng của các vùng trong ảnh sẽ đóng vai trò là các Khóa và các Giá trị Nói cách khác, các vectơ đặc trưng của các thẻ sẽ được chiếu lên không gian vectơ chứa các vectơ đặc trưng của ảnh (R d model → R d model ); hay từng vectơ đặc trưng của thẻ sẽ nhìn vào toàn bộ các vùng trên ảnh thông qua các bản đồ đặc trưng, và nhiệm vụ của cơ chế Attention sẽ là hướng dẫn cho các thẻ vùng nào trên ảnh nên được tập trung Đầu ra của lớp Multi-HeadAttention sẽ là sự kết hợp giữa các đặc trưng của ảnh và các đặc trưng của thẻ Đầu ra này sau đó sẽ được đưa qua một TransformerEncoder để có thể trích xuất ra được các đặc trưng trừu tượng hơn.
Thành phần Transformer Encoder
Đây là thành phần đóng vai trò mấu chốt trong mô hình đề xuất, có nhiệm vụ tìm ra các mối quan hệ giữa các thẻ với nhau hay thậm chí là giữa các đặc trưng của ảnh Như được minh họa trong Hình 3.1, có tổng cộng hai khối Transformer Encoder:
• Khối Transformer Encoder bên phải nhận đầu vào là các vectơ đặc trưng của thẻ, được cấu thành bởi M lớp mã hóa xếp chồng lên nhau.
• Khối Transformer Encoder bên trái nhận đầu vào là các vectơ đặc trưng được kết hợp từ các đặc trưng của các thẻ và của ảnh, được cấu thành bởi N lớp mã hóa.
Thành phần Gating Mechanism
Nhìn vào kiến trúc của mô hình đề xuất 3.1, ta có thể thấy có hai đầu ra tương ứng với hai luồng Gating Mechanism có nhiệm vụ tổng hợp đầu ra của hai luồng đó nhằm tạo ra đầu ra cuối cùng. Đặt O it = [o 0 it , o 1 it , , o l it −1 ] T , o i it ∈ [0, 1] là đầu ra của luồng ảnh và O t
= [o t 0 , o t 1 , , o t l−1 ] T , o t i ∈ [0, 1] là đầu ra của luồng thẻ Gating Mechanism sử dụng các vectơ đặc trưng đầu ra của hai khối Transformer Encoder Các vectơ đặc trưng này sẽ được nối với nhau theo trục tọa độ cuối cùng; kết quả của việc nối này sẽ là các vectơ đặc trưng 2 × d model chiều Tiếp đó, các vectơ đặc trưng này sẽ được đưa qua một loạt các phép biến đổi, để thu được đầu ra A = [α 0 , α 1 , , α l−1 ] T , α i ∈ [0, 1] Sau khi có được các trọng số nhờ vào Gating Mechanism, đầu ra cuối cùng sẽ được tính toán theo công thức như sau:
O Final = A trong đó ⊙ là phép nhân theo từng phần tử (Element-wise Multiplication). Các thành phần cấu tạo nên Gating Mechanism được minh họa như trong Bảng 3.1.
Bảng 3.1: Các thành phần của Gating Mechanism (Dữ liệu được truyền theo chiều từ trên xuống.)
Tên lớp Kích thước đầu vào Kích thước đầu ra
Dropout (bs, l, 2 ×d model ) (bs, l, 2 ×d model ) Fully-connected (bs, l, 2 ×d model ) (bs, l, d f f )
Sigmoid (bs, l) (bs, l) bs: Batch-size l: Số lượng thẻ tối đa cho mỗi điểm dữ liệu đầu vào Tất cả các điểm dữ liệu đầu vào sẽ có cùng số lượng thẻ nhằm phục vụ mục đích tính toán theo lô (Batch) Các điểm dữ liệu đầu vào không đủ số lượng thẻ sẽ được bổ sung các thẻ đặc biệt với mục đích lấp đầy những vị trí còn thiếu d model : Số lượng đặc trưng mong muốn cho đầu vào của Transformer Encoder d f f : Số chiều của lớp kết nối đầy đủ.
Kết quả so sánh giữa các mô hình
Hình 3.3 cho ta kết quả so sánh giữa bốn mô hình: Hai mô hình cơ sở TF-t và TF-it, cùng với mô hình MAGNeto và MAGNeto aux (có sử dụng hàm mất mát phụ trợ) sẽ được trình bày trong Mục 3.4.2.
Hình 3.3: So sánh giá trị F 1 giữa các mô hình [37].
Hàm mất mát
Vấn đề mất cân bằng của dữ liệu
Hàm mất mát Binary Cross-Entropy (BCE) được coi là lựa chọn mặc định cho bất cứ bài toán phân lớp nhị phân nào.
− (1 −y true )log(1 −y pred ), trong đó y true là giá trị nhị phân (0 hoặc 1) đại diện lớp của nhãn và y pred là xác suất đầu ra được dự đoán bởi mô hình. Điểm hạn chế của hàm mất mát BCE chính là thiếu khả năng chống lại vấn đề mất cân bằng dữ liệu; trong đó, thuật ngữ mất cân bằng dữ liệu được dùng để chỉ những trường hợp một trong hai lớp của nhãn chiếm tỉ lệ quá nhiều so với lớp còn lại.
Học hỏi từ những bài toán phân đoạn ảnh (Image Segmentation)[9], [12], [20], [34], [38], [42], [43],
[53], hàm mất mát Dice chứa đựng những đặc tính có khả năng giảm thiểu những ảnh hưởng của vấn đề mất cân bằng dữ liệu.
L Dice (y true , y pred ) = 1 − 2|y true ∩y pred | (3.3)
Hàm mất mát BCE (3.2) khi được kết hợp với hàm mất mát Dice (3.3) sẽ cho ta hàm mục tiêu BCE-Dice như sau:
HVTH: Phùng Trọng Hiếu 20 20BTOANTIN
Kết quả thực nghiệm cho thấy hàm mất mát BCE-Dice không những giúp tăng tốc độ hội tụ mà còn giúp cải thiện độ chính xác của mô hình (Hình 3.4).
Hình 3.4: So sánh giá trị F 1 giữa hai hàm mất mát BCE và BCE-Dice [37].
Hàm mất mát phụ trợ
Như được minh họa trong Hình 3.1, mô hình đề xuất có tổng cộng ba đầu ra: Hai đầu ra phụ trợ cho hai luồng bên trái và bên phải cùng một đầu ra cuối cùng là kết quả tổng hợp của hai đầu ra phụ trợ với sự trợ giúp của Gating Mechanism Một vấn đề với kiến trúc hai luồng như mô hình đề xuất nằm ở tốc độ hội tụ khác nhau của các luồng tham gia. Thông thường, luồng thẻ sẽ hội tụ trước; điều này sẽ khiến cho Gating Mechanism luôn đánh trọng số cao hơn cho luồng này, điều đó khiến cho luồng ảnh càng khó để hội tụ trong quá trình thực hiện giải thuật lan truyền ngược Để khắc phục vấn đề này, ta sẽ có tổng cộng ba hàm mất mát được gán lần lượt cho ba đầu ra Việc bổ sung hai hàm mất mát phụ trợ nhằm giúp cho luồng ảnh vẫn có thể nhận được đủ tín hiệu huấn luyện ngay cả khi các trọng số đầu ra của Gating Mechanism ưu tiên cho luồng thẻ Sự khác biệt của việc sử dụng và không sử dụng hàm mất phát phụ trợ được minh họa như trong Hình 3.5.
Hình 3.5: Không sử dụng và sử dụng hàm mất mát phụ trợ [37].
Nhằm phục vụ cho mục đích minh họa, hàm mục tiêu của mô hình đề xuất sẽ có công thức như sau:
= L g + L it + L t , trong đó L g là hàm mất mát cho đầu ra cuối cùng, hai hàm mất mát phụ trợ L aux 1 (L it ) và L aux 2 (L t ) được sử dụng để cung cấp thêm tín hiệu huấn luyện cho hai luồng ảnh và thẻ tương ứng.
Dữ liệu
Bộ dữ liệu công khai
Trong công trình này, ta sẽ sử dụng bộ dữ liệu công khai NUS- WIDE [5] để minh họa cho các thí nghiệm sẽ được thực hiện Bộ dữ liệu bao gồm 269648 ảnh được thu thập từ Flickr đi kèm với các thẻ tương ứng, với tổng cộng 5018 thẻ khác nhau Cùng với đó là nhãn cho 81 khái niệm có thể được sử dụng cho quá trình đánh giá.
Trước khi có thể đưa vào sử dụng, bộ dữ liệu cần phải được trải qua một vài công đoạn tiền xử lý như sau:
• Với mỗi ảnh, chỉ giữ lại các thẻ được bao gồm trong 81 khái niệm được gán nhãn.
• Loại bỏ tất cả các ảnh không thỏa mãn điều kiện: Bộ thẻ của ảnh không bao gồm toàn bộ tất cả các khái niệm được gán nhãn tương ứng.
• Loại bỏ toàn bộ các ảnh không còn bất cứ thẻ nào sau khi được áp dụng hai bước xử lý trên.
Từ 269648 ảnh ban đầu, ta thu được 26559 ảnh thỏa mãn dùng để minh họa cho bài toán ETS.
Bộ dữ liệu quy mô lớn không công khai
Toàn bộ ảnh được lấy từ PIXTA Stock, kho ảnh stock lớn nhất Nhật Bản Bộ dữ liệu bao gồm 700000 ảnh được gán nhãn, cùng với tổng cộng 24056 khái niệm.
3.6.1 Vấn đề với các phần tử ngoại lai và việc tăng cường dữ liệu
Mặc cho sự mạnh mẽ của cơ chế Self-Attention trong Transformer En-coder, thành phần này không thể bảo vệ mô hình khỏi vấn đề với các phần tử ngoại lai; hay nói cách khác, vấn đề về sự xuất hiện của các thẻ không liên quan đến nội dung của ảnh Trong một vài trường hợp, các thẻ không liên quan này có thể được hệ thống nhận diện là thẻ quan trọng Hiệu ứng này có thể là kết quả của sự khác nhau giữa các phần tử ngoại lai với các thẻ còn lại trong bộ thẻ của ảnh. Để khắc phục vấn đề này, ta có thể bổ sung một bước xử lý dữ liệu đầu vào nhằm lọc đi các phần tử ngoại lai trước khi đưa vào mô hình để tiến hành dự đoán Tuy là một giải pháp có vẻ đơn giản và hiệu quả, nó lại khiến cho mô hình bị phụ thuộc vào một thành phần độc lập đến từ bên ngoài. Trong đề tài nghiên cứu này, ta sẽ cùng phát triển một giải pháp cho phép mô hình trực tiếp học được cách hạn chế những tác động không mong muốn đến từ các phần tử ngoại lai Kỹ thuật này bao gồm hai quy trình con:
(1) Tag-adding và (2) Tag-dropping.
Tag-adding Đây là quá trình chọn ngẫu nhiên các thẻ từ bộ từ vựng (bộ từ vựng là tập hợp gồm toàn bộ các thẻ có thể có trên một bộ dữ liệu) và bổ sung vào bộ thẻ hiện tại tương ứng với một đối tượng ảnh được xét Ta có hệ số β điều khiển tỉ lệ tối đa giữa số lượng thẻ mới được bổ sung và số lượng thẻ gốc của ảnh được gán nhãn là không quan trọng Ví dụ, với β = 0.3, nếu một tấm ảnh có 50 thẻ trong đó có năm thẻ được gán nhãn là quan trọng, ta sẽ còn lại 45 thẻ không quan trọng; số thẻ tối đa có thể bổ sung là A = ⌊0.3 ×45⌋ = 13 Sau khi đã có cận trên với hệ số β , một số nguyên trong đoạn [0, A] sẽ được lấy mẫu theo phân phối đều và sẽ được sử dụng để chọn ra số thẻ sẽ được bổ sung vào bộ thẻ ban đầu (các thẻ này sẽ được lấy ngẫu nhiên từ bộ từ vựng).
Tag-dropping Ngược lại với Tag-adding, Tag-dropping sẽ chọn ngẫu nhiên các thẻ từ bộ thẻ ban đầu để loại bỏ chúng Ta có hệ số β để điềuˆ khiển số thẻ sẽ được loại bỏ Thông thường, hệ số β sẽ được chọn sao choˆ ˆ ˆ β = β ; tuy nhiên, β và β là hai hệ số độc lập và hoàn toàn có thể nhận các giá trị khác nhau.
Việc sử dụng giải pháp tác động vào dữ liệu huấn luyện này không những giúp giảm được những ảnh hưởng đến từ sự xuất hiện của các phần tử ngoại lai, mà còn giúp mô hình được huấn luyện ra có khả năng tổng quát hóa tốt hơn. Để khiểm tra sự tác động của các phần tử ngoại lai lên mô hình sau khi đã được huấn luyện, ta sẽ bổ sung các thẻ không phù hợp với nội dung của các ảnh trong bộ dữ liệu xác nhận (Validation set). Sau khi nhận kết quả dự đoán của mô hình trên bộ dữ liệu này, ta sẽ đếm số lượng ảnh bị ảnh hưởng bởi phần tử ngoại lai; hay nói cách khác, những ảnh mà trong kết quả dự đoán có phần tử ngoại lai được phân loại thành thẻ quan trọng Các kết quả được thực hiện trên bộ dữ liệu NUS-WIDE được trình bày như trong Bảng 3.2.
Bảng 3.2: Bảng so sánh các chỉ số với các cấu hình huấn luyện khác nhau. Được huấn β β ˆ Phần tử F 1 (%) luyện trước a ngoại lai b
Có 0.5 0.5 20.53 94.30 a Có hay không sử dụng các trọng số đã được huấn luyện trước sử dụng chiến lược học tự giám sát. b Phần trăm số ảnh bị ảnh hưởng bởi các phần tử ngoại lai.
Chiến lược học tự giám sát
Với sự phong phú của dữ liệu thô chưa được gán nhãn, cùng với những kết quả vô cùng khả quan trên những bài toán xử lý ngôn ngữ tự nhiên [8],
[25], [29] trong những năm gần đây, học tự giám sát đang ngày càng được giới nghiên cứu quan tâm Mục tiêu của học tự giám sát là học được biểu diễn của dữ liệu thông qua việc giải quyết các bài toán phụ Từ những biểu diễn đã học, sử dụng chúng để giải quyết bài toán chính. Đối với bài toán ETS, ta có thể áp dụng học tự giám sát với chiến lược huấn luyện mô hình bao gồm hai pha (Hình 3.6), pha huấn luyện trước với chiến lược học tự giám sát và pha tinh chỉnh với chiến lược học có giám sát.
Nx Transformer Gating Layer Transformer Mx
Hình 3.6: Chiến lược huấn luyện bao gồm pha huấn luyện trước với chiến lược học tự giám sát (bên phải) và pha tinh chỉnh với chiến lược học có giám sát (bên trái) [37].
Trong pha đầu tiên, kiến trúc mô hình sẽ được thay đổi với việc loại bỏ Gating Mechanism nhằm biến kiến trúc ban đầu thành một kiến trúc hai đầu vào hai đầu ra Bài toán phụ cho chiến lược học tự giám sát sẽ là bài toán phát hiện phần tử ngoại lai Dữ liệu cho bài toán có thể dễ dàng thu được chỉ bằng việc bổ sung các thẻ không liên quan vào bộ thẻ ban đầu của ảnh Sau khi đã thu được mô hình trong giai đoạn huấn luyện trước, ta có thể bắt đầu với giai đoạn thứ hai.
Bước sang giai đoạn tinh chỉnh với chiến lược học có giám sát, ta sẽ sử dụng kiến trúc mô hình gốc nhưng với bộ trọng số khởi tạo chính là trọng số của mô hình được huấn luyện trong giai đoạn thứ nhất Tuy nhiên, không phải toàn bộ các trọng số của mô hình trước đó sẽ được sử dụng, ta chỉ sử dụng các trọng số của các thành phần Image Feature Extractor, Tag Embedder, Multi-Head Attention, và hai Transformer Encoder Trọng số của các thành phần còn lại sẽ được khởi tạo một cách ngẫu nhiên.Trong suốt quá trình huấn luyện, toàn bộ các trọng số sẽ được cập nhật với tín hiệu từ giải thuật lan truyền ngược với bộ dữ liệu được gán nhãn.Chỉ bằng việc huấn luyện mô hình bằng chiến lược huấn luyện hai pha, ta đã có thể hạn chế được ảnh hưởng của các phần tử ngoại lai lên mô hình cuối cùng Khi được kết hợp với chiến lược Tag-adding vàTag-dropping, hiệu ứng hạn chế những ảnh hưởng không mong muốn đến từ các phần tử ngoại lai thậm chí còn tốt hơn rất nhiều.
Cấu hình huấn luyện
Dữ liệu huấn luyện và các tham số có liên quan Các thí nghiệm được thực hiện trên hai bộ dữ liệu: bộ dữ liệu công khai NUS-WIDE và bộ dữ liệu quy mô lớn nội bộ không công khai Với mục đích minh họa, tôi và các đồng sự của mình đặt batch − size 32 trên bộ NUS-WIDE Đối với bộ dữ liệu nội bộ, batch − size = 256. Ngoài ra, chúng tôi sử dụng l = 16 khi huấn luyện mô hình trên bộ NUS-WIDE, và l = 64 khi làm việc với bộ dữ liệu nội bộ Về vấn đề kích thước ảnh, chúng tôi sử dụng input-size = 112 khi làm việc bới bộ dữ liệu NUS-WIDE và input-size = 224 với bộ dữ liệu nội bộ.
Image Feature Extractor Do kích thước tương đối nhỏ của bộ NUS-
WIDE, chúng tôi lựa chọn ResNet18 cho nhiệm vụ trích xuất đặc trưng của ảnh Ngoài ra, toàn bộ các trọng số của Image Feature Extractor sẽ được đóng băng trong quá trình huấn luyện mô hình Với bộ dữ liệu nội bộ, chúng tôi sử dụng ResNet50 và đóng băng ba Residual Block đầu tiên.
Transformer Encoder Các nghiên cứu mang tính thực nghiệm chỉ ra rằng Transformer Encoder rất dễ đạt được trạng thái hội tụ trên bài toán ETS Do đó, tùy thuộc vào kích thước của bộ dữ liệu, cấu hình cho các siêu tham số sẽ có ít nhiều thay đổi.
- NUS-WIDE: Chúng tôi sử dụng một lớp cho Transformer Encoder của luồng ảnh (N = 1) và hai lớp cho luồng thẻ (M = 2) Tất cả các siêu tham số khác đều giống nhau cho ca hai luồng: d-model = 128, heads = 4, dim-feedforward = 512, dropout [41] = 0.3, trong đó d- model là số lượng đặc trưng của mỗi vectơ đầu vào, heads là một siêu tham số trong lớp Multi-Head Attention, dim-feedforward là số chiều của mạng nơ-ron truyền thẳng và dropout đơn giản là chỉ số của phép Dropout được áp dụng trên toàn bộ kiến trúc.
- Bộ dữ liệu nội bộ: Chúng tôi đặt N = 2, M = 6, d-model 512, heads = 8, dim-feedforward = 2048, dropout = 0.1.
Thuật toán tối ưu Chúng tôi sử dụng thuật toán tối ưu
Stochastic Gradient Descent (SGD) với momentum = 0.9, learning-rate = 10 −2 ; ta có thể sử dụng learning-rate = 3 × 10 −2 để tăng tốc độ hội tụ với bộ dữ liệu nội bộ. ˆ, chúng tôi sử
Các siêu tham số khác Với cặp siêu tham số β và β ˆ ˆ = 0.3 với bộ dữ liệu nội dụng β = β = 0.5 cho bộ NUS-WIDE và β = β bộ.
Phần cứng Chúng tôi thực hiện tất cả các thí nghiệm trên một máy tính vật lý với một GPU RTX-2080ti.
Mở rộng bài toán cho dữ liệu video
Trong chương này, ta sẽ cùng giải quyết bài toán ETS cho dữ liệu video thông qua việc tìm hiểu về các phương pháp trích xuất đặc trưng cho dạng dữ liệu này cùng với đề xuất một vài cải tiến về mô hình cũng như về các kỹ thuật được sử dụng trong quá trình huấn luyện.
Trích xuất đặc trưng cho video
R3D
Được xuất hiện lần đầu trong bài báo [46] của Du Tran và các đồng sự,R3D hay ResNet 3D chính là ResNet [16] với các lớp tích chập 3D Để giảm khối lượng tính toán vô cùng lớn của kiến trúc gốc trong [46], các khốiResidual Block [16] đã được thay thế bởi Bottleneck Residual Block [16].Kiến trúc giản lược của R3D được minh họa như trong Hình 4.2 (d).
R(2+1)D
Du Tran và các đồng sự [46] đã đề xuất phân tích phép tính tích chập 3D thành hai phép toán độc lập và liên tiếp, một phép tính tích chập 2D cho không gian và một phép tính tích chập 1D cho chiều thời gian Nhóm tác giả đặt tên cho kiến trúc sử dụng hai phép lấy tích chập này là R(2+1)D, được minh họa như trong Hình 4.2.
Một cách chi tiết, N i bộ lọc 3D với kích thước N i−1 ×t × d × d được thay thế bởi M i bộ lọc 2D với kích thước N i−1 ×1 ×d ×d và N i bộ lọc 1D với kích thước M i ×t ×1 ×1, trong đó N i là số bộ lọc được sử dụng ở khối thứ i, d biểu diễn chiều rộng và chiều cao của bộ lọc, t biểu diễn chiều thời gian của bộ lọc, M i là số chiều của không gian con trung gian mà tại đó tín hiệu được chiếu lên giữa các lớp tích chập không gian và thời gian.
Hình 4.2: Một vài kiến trúc mạng thặng dư (Residual Network) cho bài toán phân lớp video (a) R2D là mạng ResNet 2D; (b) MCx là mạng ResNet được trộn lẫn lớp tích chập 2D và 3D (hình minh họa là của MC3); (c) rMCx là phiên bản ngược của MCx (hình minh họa là của rMC3); (d) R3D là mạng ResNet 3D; và (e) R(2+1)D là mạng ResNet với các lớp tích chập (2+1)D [46].
Sự khác nhau giữa khối tích chập 3D và (2+1)D được minh họa như trong Hình 4.3 Để thuận tiện cho việc so sánh giữa R3D và R(2+1)D, nhóm tác giả lựa chọn M i = j td 2 N i−1 N i k nhằm mục đích giúp khối tích chập (2+1)D d 2 N i−1 +tN i có cùng số tham số với khối 3D.
Hình 4.3: Khối tích chập 3D và khối tích chập (2+1)D (được minh họa với một kênh chiều sâu) [46].
Với việc tách quá trình mô hình hóa về không gian và thời gian thành hai bước độc lập, ta thu được hai lợi ích Thứ nhất, nhân đôi số lượng các lớp phi tuyến trong mạng nhờ việc bổ sung các lớp ReLU giữa phép lấy tích chập 2D và 1D trong từng khối mà vẫn giữ được số lượng tham số không đổi (Tăng số lớp phi tuyến đồng nghĩa với việc tăng khả năng biểu diễn của mô hình.) Thứ hai, việc tối ưu mô hình sẽ trở nên dễ dàng hơn Điều này được thể hiện qua giá trị sai số thấp hơn trong quá trình huấn luyện so với mô hình R3D có cùng số lượng trọng số.
CSN
Việc tăng độ chính xác và giảm khối lượng tính toán thông qua Group Convolution [24] đã được chứng minh qua các công trình nghiên cứu [4],
[17], [52] về mạng nơ-ron tích chập trong các bài toán phân lớp ảnh Lấy cảm hứng từ những nghiên cứu này, Du Tran và các đồng sự [45] đã đề xuất tách các tương tác theo kênh chiều sâu (Channel) với các tương tác theo chiều không thời gian trong lớp tích chập 3D Với ý tưởng này, nhóm tác giả đã xây dựng nên Channel-Separated Convolutional Network (CSN). Việc tách riêng kênh chiều sâu và chiều không thời gian còn có tác dụng chính quy hóa (Regularization) Mặc dù sai số trong quá trình huấn luyện cao hơn so với các mô hình sử dụng mạng nơ-ron tích chập 3D trước đó, sai số trên bộ dữ liệu kiểm định lại cho kết quả thấp hơn.
Trong Group Convolution, các bộ lọc trong lớp tích chập có thể được phân hoạch thành các nhóm sao cho từng bộ lọc sẽ chỉ nhận đầu vào từ các kênh chiều sâu trong cùng một nhóm (Hình 4.4 (b)). input channel output channel a) conv b) group conv c) depthwise conv
Depthwise Convolution là trường hợp riêng của Group Convolution khi số lượng nhóm bằng với số lượng kênh chiều sâu (Hình 4.4 (c); hay nói cách khác, từng bộ lọc sẽ chỉ được áp dụng trên một kênh chiều sâu nào đó.
Với Depthwise Separable Convolution, bộ lọc 3x3 trên N kênh chiều sâu được thay thế bởi bộ lọc 3x3 trên 1 kênh chiều sâu kéo theo một bộ lọc
Việc tách kênh chiều sâu ra khỏi các chiều không gian khác
CSN được nhóm tác giả định nghĩa như một mạng nơ-ron tích chập 3D mà tất cả các lớp tích chập (ngoại trừ lớp tích chập đầu tiên) sẽ là lớp tích chập với bộ lọc 1 × 1 × 1 hoặc Depthwise Convolution với bộ lọc k × k × k (thông thường, k = 3) Với các Bottleneck Block (Hình 4.5 (a)) trong Bottleneck Residual Block, nhóm tác giả đề xuất hai biến thể của Channel-Separated Bottleneck Block để tách riêng kênh chiều sâu khỏi chiều không thời gian.
Interaction-Preserved Channel-Separated Bottleneck Block (ip-CSN)
Thay thế lớp tích chập 3 × 3 × 3 trong Hình 4.5 (a) bởi một lớp tích chập
1 ×1 ×1 và một lớp Depthwise Convolution 3 ×3 ×3, như được minh họa trong Hình 4.5 (b) Với thiết kế này, ta có thể giảm đáng kể số lượng tham số cùng với khối lượng tính toán, nhưng vẫn có thể bảo toàn được toàn bộ các tương tác theo kênh chiều sâu với lớp tích chập 1 ×1 ×1.
Interaction-Reduced Channel-Separated Bottleneck Block (ir-CSN) Được loại bỏ lớp tích chập 1 ×1 ×1 (Hình 4.5 (c)) mới được bổ sung trong ip-CSN, ir-CSN giảm được số lượng tương tác theo kênh chiều sâu khi so sánh với hai thiết kế trước đó trong Hình 4.5 (a) và (b).
Hình 4.5: Bottleneck Block và Channel-Separated Bottleneck Block [45].
SlowFast
Kiến trúc SlowFast [10] được lấy cảm hứng từ các nghiên cứu trong lĩnh vực sinh học về các tế bào hạch võng mạc trong hệ thị giác của các loài linh trưởng [7], [11], [18], [30], [47] Các nghiên cứu này chỉ ra rằng trong các tế bào hạch võng mạc, có khoảng 80% tế bào Parvocellular (tế bào P) và 15- 20% tế bào Magnocellular (tế bào M) Các tế bào M hoạt động với tần số cao và phản ứng lại với những thay đổi rất nhanh về mặt thời gian; tuy nhiên, chúng lại không nhạy cảm với các chi tiết về không gian cũng như màu sắc Ngược lại, các tế bào P lại nhạy cảm với các chi tiết về không gian cũng như màu sắc và phản ứng chậm với các kích thích về những thay đổi về mặt thời gian Dựa trên những kết quả nghiên cứu này, nhóm tác giả đã thử khai thác sự chênh lệch, hay khác biệt, về tầm số hoạt động của hai loại tế bào P và M trong việc tiếp nhận các thông tin về không gian, màu sắc và về thời gian Mô hình được đề xuất bao gồm hai lối đi hoạt động một cách độc lập trên hai tần số khác nhau – cao và thấp Lối đi cao tần được thiết kế để có thể bắt được các chuyển động có sự thay đổi nhanh nhưng lại có độ chi tiết thấp về mặt không gian, tương tự như các tế bào M Ngoài ra, lối đi cao tần còn được thiết kế sao cho tiêu tốn ít tài nguyên tính toán hơn so với lối đi hạ tần, tương ứng với tỉ lệ nhỏ của các tế bào M trong số các tế bào hạch võng mạc.
Mạng SlowFast có thể được mô tả như một kiến trúc đơn luồng (Single Stream) được hoạt động trên hai tần số khác nhau với sự có mặt của lối đi cao tần và lối đi hạ tần cùng với các liên kết bên (Lateral Connection) để kết hợp hai lối đi với nhau nhằm cho ra một đầu ra duy nhất (Hình 4.6).
Vì các đặc trưng về mặt không gian được sử dụng cho mục đích phân loại thường biến đổi rất chậm theo thời gian, lối đi hạ tần của SlowFast được thiết kế để thu được các thông tin về ngữ cảnh chỉ với việc sử dụng một vài khung hình thưa thớt trong toàn bộ video Nhờ vào việc vận hành ở tần số thấp theo trục thời gian, lối đi hạ tần có thể tập trung hơn vào các đặc trưng về không gian Ngược lại, những chuyển động, ví dụ như chuyển động vỗ tay, vẫy tay, bắt tay, đi lại, hoặc nhảy, thường biến đổi nhanh hơn
C αTT αTT αTT βCC βCC
High frame rate βCC e t pr ic d io n
Hình 4.6: Kiến trúc mô hình SlowFast [10] (Lối đi cao tần và hạ tần cùng với các kết nối bên.) nhiều so với sự thay đổi về danh tính của các chủ thể; do đó, cần một lối đi cao tần đi kèm với lối đi hạ tần để thu được các thông tin về những chuyển động luôn luôn thay đổi một cách liên tục Lối đi cao tần sử dụng tương đối ít tài nguyên tính toán, chỉ chiếm khoảng 20% trên tổng chi phí tính toán cho toàn bộ mạng Nhờ đặc tính này, lối đi cao tần không cần phải sử dụng bất cứ lớp tổng hợp nào theo trục thời gian (Temporal Pooling).
Nhằm hỗ trợ cho quá trình huấn luyện cũng như làm giàu các thông tin về không thời gian, hai lối đi được kết hợp với nhau bởi các kết nối bên Qua các thí nghiệm về các kết nối bên một phía và hai phía, nhóm tác giả nhận thấy sử dụng các kết nối bên một phía trên kiến trúc SlowFast cho hiệu quả tốt nhất Một lớp GlobalAverage Pooling sẽ được áp dụng trên đầu ra của từng luồng Cuối cùng, hai vectơ đặc trưng đầu ra sẽ được nối lại với nhau trước khi được đưa qua một lớp kết nối đầy đủ phục vụ việc phân lớp.
TSM
Các công trình nghiên cứu trước đây [22], [44] chỉ ra rằng mạng nơ-ron tích chập 2D không thể học được mối quan hệ về thời gian trong các bài toán với dữ liệu video Mạng nơ-ron tích chập 3D tuy có thể khắc phục được nhược điểm này, nhưng chi phí tính toán lại quá cao Để thiết kế được một kiến trúc vừa hiệu quả về mặt tính toán và vừa có độ chính xác cao, nhóm tác giả đến từ MIT và MIT-IBM Watson AI Lab đã đề xuất ra Temporal Shift Module (TSM) [27] TSM không những có độ trễ thấp trong các bài toán nhận dạng và phát hiện đối tượng trong video mà còn đứng vị trí thứ nhất trên bảng xếp hạng của bộ dữ liệu Something-Something [14] tại thời điểm công trình được công bố. Ý tưởng
Ta sẽ minh họa ý tưởng của TSM bằng một lớp tích chập 1D với kích thước bộ lọc bằng 3 Giả sử, trọng số của lớp tích chập là W = (w 1 , w 2 , w 3 ), và đầu vào X là một vectơ một chiều với chiều dài vô hạn Phép lấy tích chập có thể được minh họa như sau: Y i = w 1 X i−1 + w 2 X i + w 3 X i+1 Phép toán tích chập sẽ được tách thành hai bước: bước dịch chuyển và bước nhân tích lũy Đầu vào X sẽ được dịch chuyển với −1, 0, +1 đơn vị và sẽ được nhân lần lượt với w 1 , w 2 , w 3 ; việc tính tổng các kết quả lại với nhau sẽ cho ta đầu ra Y Về mặt công thức, phép toán dịch chuyển được mô tả như sau:
X i −1 = X i−1 , X i 0 = X i , X i +1 = X i+1 ; (4.1) phép nhân tích lũy có công thức là:
Thông tin về thời gian, hay còn được hiểu là mối quan hệ giữa các khung hình lân cận, được nhóm tác giả cho rằng có thể được trích xuất thông qua việc dịch chuyển các kênh chiều sâu theo trục thời gian Việc dịch chuyển các kênh chiều sâu đồng nghĩa với việc có một vài kênh sẽ được dịch ngược trở về quá khứ và một số sẽ được dịch tiến lên đến tương lai Qua nhiều thí nghiệm, nhóm tác giả cho thấy việc dịch chuyển1/4 tổng số kênh chiều sâu cho kết quả tốt nhất, như được minh họa trong Hình 4.7 Lý giải cho điều này, nhóm tác giả đưa ra hai luận điểm:
La te nc yO ve rh ea d Ac cu ra cy
3% In-place TSM low acc
(b) Residual TSM so với In- place TSM.
Hình 4.7: (a) Chi phí độ trễ của TSM do việc di chuyển dữ liệu (b) Resid- ual TSM đạt được độ chính xác cao hơn so với In-place TSM [27].
Việc dịch chuyển chỉ 1/4 tổng số kênh chiều sâu sẽ cho phép các khung hình chứa đủ các thông tin cả của quá khứ lẫn tương lai trong khi không gây ảnh hưởng quá nhiều đến các thông tin theo chiều không gian Hơn thế nữa, việc chèn thêm TSM vào các lớp tích chập 2D có thể không tốn thêm bất cứ chi phí nào về tính toán cũng như không làm tăng số lượng tham số.
Cần lưu ý rằng, nếu áp dụng TSM vào các bài toán xử lý video theo thời gian thực, ta chỉ có thể dịch chuyển các kênh chiều sâu theo một chiều (Hình 4.8c); khi đó, TSM sẽ chỉ trộn được thông tin từ khung hình trong quá khứ với thông tin trong khung hình hiện tại.
Nhóm tác giả đề xuất hai lựa chọn để tích hợp TSM vào các lớp tích chập 2D Hai lựa chọn lần lượt là In-place TSM (Hình
4.9a) và Residual TSM (Hình 4.9b) Có thể thấy, Residual TSM có khả năng duy trì được thông tin nguyên bản của đầu vào, nhờ đó đạt được độ chính xác cao hơn so với In-place TSM. t=1 tem po ra l t=2
(b) (c) Dịch chuyển thời gian conv Y X shift conv Y conv X shift conv + shift conv X shift conv
(a) In-place TSM (b) Residual TSM.
Hình 4.9: Residual TSM cho hiệu quả tốt hơn In-place TSM In- place TSM thực hiện việc dịch chuyển trước một lớp tích chập (hoặc một Residual Block) Residual TSM hợp nhất thông tin về thời gian ngay bên trong một nhánh Residual [27].
Hình 4.10 minh họa một bức tranh toàn cảnh về bài toán nhận dạng hành động trong video (Action Recognition in Videos) khi được gắn với TSM Video đầu vào sẽ được phân đoạn thành N đoạn Trong mỗiconv1đoạn, shift conv2 conv1 shift conv2
Hình 4.10: Nhận dạng hành động trong video với TSM [27].
Chiến lược lựa chọn khung hình
Giai đoạn huấn luyện
Trong giai đoạn huấn luyện, ta sẽ lấy mẫu ngẫu nhiên L khung hình từ video đầu vào Giá trị L sẽ phụ thuộc vào từng mô hình được sử dụng để trích xuất đặc trưng cho video Ngoài ra, việc lựa chọn giá trị cho siêu tham tham số L cũng phụ thuộc vào bộ trọng số đã được huấn luyện trước được sử dụng để khởi tạo cho mô hình trích xuất đặc trưng Ví dụ, L = 16 với R3D và L = 8 với R(2+1)D. Bên cạnh L, ta sẽ còn phải quan tâm đến số khung hình sẽ được bỏ cách giữa hai khung hình được chọn S, hay có thể hiểu là bước nhảy theo chiều thời gian S = 0 tương ứng với các khung hình sẽ được lấy một cách liên tục, hay có thể nhảy cách một hoặc hai khung hình với các cấu hình lần lượt là S = 1 và S = 2.
Vì bộ dữ liệu 1 được sử dụng chiếm đa số các video có dạng
Slow Motion 2 , S được chọn bằng 4 nhằm mục đích tăng tốc độ tính toán trong quá trình huấn luyện mô hình.
Giai đoạn kiểm định
Trong quá trình huấn luyện, tuy chỉ lấy mẫu ngẫu nhiên các khung hình từ video gốc, mỗi video sẽ được lấy mẫu rất nhiều lần trong suốt quá trình
1 Bộ dữ liệu được sử dụng trong công trình nghiên cứu này được xây dựng từ kho video độc quyền của
2 Slow Motion là hiệu hứng video mà chuyển động của các hình ảnh vật thể chậm hơn nhiều so với tốc độ thực tế. này; nhờ đó mà gần như toàn bộ các khung hình trong các video đều được sử dụng cho việc huấn luyện Tuy nhiên, trong giai đoạn kiểm định, mỗi video sẽ chỉ được lấy mẫu một lần duy nhất cho công việc dự đoán kết quả; vì vậy, ta sẽ cần một chiến lược lựa chọn khung hình khác cho giai đoạn này.
Một chiến lược đơn giản được sử dụng khá phổ biến chính là việc lấy mẫu N đoạn video đều nhau từ video gốc theo trục tọa độ thời gian Từng đoạn video sẽ được xử lý và cho ra kết quả dự đoán; các kết quả này sau đấy sẽ được lấy trung bình để đưa ra một kết quả cuối cùng đại diện cho video gốc Thực nghiệm cho thấy, N = 1 và N = 4 không cho nhiều sự khác biệt trên bộ dữ liệu video được sử dụng Do đó, nhóm nghiên cứu lựa chọn N = 1 nhằm mục đích ưu tiên cho tốc độ xử lý Bên cạnh phần lớn các video trong bộ dữ liệu tồn tại dưới dạng Slow Motion, các đối tượng trong những video này còn có xu hướng lặp đi lặp lại một chuyển động hay hành động cụ thể Vì vậy, nhóm nghiên cứu lựa chọn giải pháp Center Crop theo trục tọa độ thời gian để lấy ra một đoạn video đại diện cho video gốc để phục vụ cho giai đoạn kiểm định Với chiến lược lựa chọn khung hình này, ta có thể giảm đáng kể khối lượng tính toán của mô hình, giúp tăng tốc độ xử lý của giải pháp.
Lựa chọn mô hình trích xuất đặc trưng cho video
Vòng sơ loại
Trong vòng này, ta sẽ đánh giá các giải pháp dựa trên tiêu chí độ chính xác và tốc độ xử lý trên bài toán phân lớp video Dựa trên kết quả trong Bảng 4.1, bên cạnh mô hình cơ sở 2D ResNet50 được sử dụng để làm tham chiếu, hai mô hình R3D và R(2+1)D sẽ được lựa chọn để đến với vòng tiếp theo.
Bảng 4.1: So sánh các mô hình về các chỉ số trên bài toán phân lớp video.
Mô hình Số khung hình LR Batch- Bộ nhớ tiêu Độ chính Số lượng tham GFLOPs Thời gian
/ Kích thước đầu vào size tốn (GB) xác (%) số (triệu) huấn luyện mỗi vòng (s)
Lựa chọn cuối cùng
Giải pháp cuối cùng sẽ được lựa chọn thông qua kết quả trên bài toán ETS Dựa vào Bảng 4.2, ta có thể thấy R(2+1)D chiếm ưu thế trên hầu hết các chỉ số; mô hình này sẽ được lựa chọn làm giải pháp trích xuất đặc trưng cho video trong bài toán ETS.
Bảng 4.2: So sánh các mô hình về các chỉ số trên bài toán ETS.
Các cải tiến
Thuật toán tối ưu AdamW thay cho SGD
Thuật toán tối ưu Adam [23] từ lâu đã được biết đến với tốc độ hội tụ vượt trội so với thuật toán kinh điển SGD Tuy nhiên, việc sử dụng SGD lại thường giúp cho quá trình huấn luyện đi đến được nghiệm tối ưu tốt hơn so với khi sử dụng Adam Với sự nỗ lực của nhóm nghiên cứu đến từ Đại học Freiburg, thuật toán tối ưu AdamW [31] được đề xuất, thứ có thể đạt được tốc độ hội tụ của Adam và khả năng hội tụ của SGD Điểm khác biệt giữa AdamW và Adam nằm ở công thức chính quy hóa trọng số Thay vì sử dụng trung bình trượt cho các trọng số, AdamW sử dụng chuẩn L2 thực sự Thực nghiệm cho thấy thuật toán tối ưu AdamW giúp mô hình đạt được nghiệm tối ưu địa phương tốt hơn so với SGD khi làm việc với dữ liệu video.
Hàm mất mát Co-distillation
Việc kết hợp kết quả từ hai luồng, luồng ảnh và luồng thẻ, là một bài toán mở với vô số cách giải quyết Như trong mô hình cơ sở (Hình 3.1) được sử dụng để giải quyết bài toán với hình ảnh, tôi sử dụng Gating Mechanism kết hợp với các hàm mất mát phụ trợ Sang đến bài toán giải quyết cho dữ liệu là các video, đây có vẻ không còn là giải pháp phù hợp nhất Thực nghiệm cho thấy chiến lược huấn luyện Co-distillation [40] cho hiệu quả tốt hơn Về ý tưởng, để có thể đạt được kết quả tốt trong việc kết hợp kết quả của hai luồng, cả luồng ảnh và luồng thẻ cần phải có kết quả đầu ra giống nhau; hay nói cách khác, hai luồng cần phải có được sự đồng thuận về kết quả dự đoán. Hàm mất mát cần thiết cho chiến lược huấn luyện này bao gồm hàm mục tiêu Cross-Entropy cho kết quả dự đoán của từng luồng so với nhãn của dữ liệu, và KL Divergence của một luồng đến luồng còn lại Trong khi Cross-Entropy và KL Divergence chỉ có thể áp dụng với đầu ra của hàm Softmax, đầu ra của hai luồng lại đến từ hàm Sigmoid Do đó, tôi và các đồng sự quyết định thay thế hàm mục tiêu Cross-Entropy bởi BCE-Dice và KL Divergence bởi hàm mục tiêu Mean Squared Error (MSE).
Giai đoạn huấn luyện mô hình được minh họa như trong Hình 4.11 (a) Để có thể đưa ra dự đoán cuối cùng, kết quả đầu ra của hai luồng sẽ được lấy giá trị trung bình (Hình 4.11 (b)).
BCEDiceLoss Sum BCEDiceLoss Final Outputs
Outputs #1 Outputs #2 Outputs #1 Average Outputs #2
Sigmoid MSELoss/ Sigmoid Sigmoid Sigmoid
Nx Transformer Transformer Mx Nx Transformer Transformer Mx
Video Feature Tag Embedder Video Feature Tag Embedder
Hình 4.11: (a) Giai đoạn huấn luyện mô hình, (b) giai đoạn sử dụng mô hình cho việc dự đoán.
Trong luận văn này, tôi đã trình bày bài toán Extractive Tags Summa- rization (ETS) cùng với việc đề xuất một giải pháp sử dụng các mô hình Học sâu để giải quyết bài toán này Giải pháp đề xuất được cấu thành chủ yếu bởi mạng nơ-ron tích chập, mạng nơ-ron Transformer và các kỹ thuật liên quan đến Mixture of Experts Ngoài ra, tôi cũng trình bày về chiến lược học tự giám sát để tận dụng lượng dữ liệu lớn có sẵn nhưng chưa có nhãn nhằm tăng khả năng tổng quát hóa của mô hình.
Bên cạnh giải quyết bài toán ETS với đầu vào là các tấm ảnh, tôi và các đồng sự trong nhóm nghiên cứu cũng đề xuất mở rộng bài toán với đầu vào là các video Kèm theo đó là một vài cải tiến về mặt kiến trúc cũng như thuật toán tối ưu để phù hợp hơn với dạng dữ liệu này.Trong tương lai, tôi muốn tập trung vào cơ chế ánh xạ từ không gian vectơ của các thẻ sang không gian vectơ của ảnh;công trình hiện tại mới chỉ dừng lại ở việc sử dụng lớp Multi-HeadAttention như một giải pháp tạm thời Ngoài ra, vấn đề mất cân bằng giữa tần suất xuất hiện của các thẻ trong bộ dữ liệu cũng là một điều cần phải được lưu tâm trong những nghiên cứu sắp tới.
Bottleneck Residual Block 30, 33 bài toán dịch ngôn ngữ 13 bài toán nhận dạng hành động trong video 38 bài toán phát hiện đối tượng trong ảnh 13 bài toán phân lớp ảnh 32 bài toán phân đoạn ảnh 20 bản đồ đặc trưng 6, 18 bộ giải mã 11 bộ mã hóa 10, 11
Depthwise Convolution 32, 33 Depthwise Separable Convolution
26, 29, 40, 41, 45 Extractive Summarization 2 Extractive Tags Summarization 2,
Feed-forward Network 10Fully Connected Layer 10
Global Average Pooling 17, 35 Linear Regression 3
Graphical Processing Unit 8 lớp giải mã 11
Group Convolution 32 lớp hồi quy 10 lớp kết nối đầy đủ 10, 12, 17, 19,
Hard-Attention 8 hàm kích hoạt 3, 4 hệ hỗn hợp các chuyên gia 11 học không giám sát 13
Học sâu 1–3, 8, 15, 45 học tự giám sát 12, 13, 24, 25, 45 hồi quy tuyến tính 3
Intra-Attention 8 ip-CSN 33 ir-CSN 33 lớp mã hóa 10, 18 lớp tích chập 4–7, 17, 29, 30, 32,
33, 36–38 lớp tích chập 3D 29, 30, 32 lớp tổng hợp 4,6,7
Máy học 1 mã hóa vị trí 11 mạng nơ-ron hồi quy 7, 8, 11 mạng nơ-ron nhân tạo 3 mạng nơ-ron Transformer 3, 7, 10,
11, 45 mạng nơ-ron truyền thẳng 10, 11,
Keys 9 mạng nơ-ron tích chập 3, 4, 8, 10,
KL Divergence 42 mạng nơ-ron tích chập 3D 29, 30, kênh 6 32, 33, 35 kết nối thặng dư 11 Mặt nạ 11, 13
Natural Language Processing 4 Tag-dropping 23, 24, 26
Overfitting 7 thuật toán tối ưu Adam 42
P thuật toán tối ưu AdamW 42 thuật toán tối ưu SGD 27, 42
Pooling Layer 5 thị giác máy tính 4
Queries 9 tóm tắt trích xuất 2 quá khớp 7 tóm tắt trừu tượng 2
R tóm tắt văn bản 2 tế bào Magnocellular 34 Recurrent Neural Network 7 tế bào Parvocellular 34
Stochastic Gradient Descent 27 xử lý ngôn ngữ tự nhiên 4, 7, 11,
Tag Embedder 17, 26 xử lý ảnh 4
[1] J Ba, J Kiros, and G Hinton, “Layer normalization,” Jul 2016.
[2] D Bahdanau, K Cho, and Y Bengio, Neural machine translation by jointly learning to align and translate, 2014.
[Online] Available: http://arxiv.org/abs/1409.0473.
[3] J Cheng, L Dong, and M Lapata, “Long short-term memory-networks for machine reading,” CoRR, vol abs/1601.06733, 2016 arXiv: 1601
06733 [Online] Available: http : / / arxiv org / abs / 1601
[4] F Chollet, “Xception: Deep learning with depthwise separable con-volutions,” in Proceedings of the IEEE conference on computer vi-sion and pattern recognition, 2017, pp 1251–1258.
[5] T.-S Chua, J Tang, R Hong, H Li, Z Luo, and Y.-T Zheng,
“Nus-wide: A real-world web image database from national university of singapore,” in CIVR, Santorini, Greece., 2009.
[6] D.-A Clevert, T Unterthiner, and S Hochreiter, “Fast and accu-rate deep network learning by exponential linear units (elus),” arXiv preprint arXiv:1511.07289, 2015.
[7] A Derrington and P Lennie, “Spatial and temporal contrast sensi- tivities of neurones in lateral geniculate nucleus of macaque.,” The
Journal of physiology, vol 357, no 1, pp 219–240, 1984.
[8] J Devlin, M.-W Chang, K Lee, and K Toutanova, “Bert:Pre-training of deep bidirectional transformers for language understand-ing,” arXiv preprint arXiv:1810.04805, 2018.
[9] M Drozdzal, E Vorontsov, G Chartrand, S Kadoury, and C
Pal, “The importance of skip connections in biomedical image segmen-tation,” in Deep Learning and Data Labeling for
Medical Applica-tions, G Carneiro, D Mateus, L Peter, et al.,
Eds., Cham: Springer International Publishing, 2016, pp
[10] C Feichtenhofer, H Fan, J Malik, and K He, “Slowfast networks for video recognition,” in Proceedings of the IEEE/CVF interna- tional conference on computer vision, 2019, pp 6202–6211.
[11] D J Felleman and D C Van Essen, “Distributed hierarchical pro-cessing in the primate cerebral cortex.,” Cerebral cortex
(New York, NY: 1991), vol 1, no 1, pp 1–47, 1991.
[12] L Fidon, W Li, L C Garcia-Peraza-Herrera, et al., “Generalised wasserstein dice score for imbalanced multi-class segmentation us-ing holistic convolutional networks,” in Brainlesion: Glioma, Mul- tiple Sclerosis, Stroke and Traumatic Brain Injuries, A Crimi, S.
Bakas, H Kuijf, B Menze, and M Reyes, Eds., Cham: Springer In- ternational Publishing, 2018, pp 64–76, ISBN : 978-3-319-75238-9.
[13] S Gidaris, P Singh, and N Komodakis, “Unsupervised representa- tion learning by predicting image rotations,” arXiv preprint arXiv:1803.07728, 2018.
[14] R Goyal, S Ebrahimi Kahou, V Michalski, et al., “The" something something" video database for learning and evaluating visual com- mon sense,” in Proceedings of the IEEE international conference on computer vision, 2017, pp 5842–5850.
[15] A Graves, G Wayne, and I Danihelka, “Neural turing machines,” CoRR, vol abs/1410.5401, 2014 arXiv:
1410.5401 [Online] Avail-able: http://arxiv.org/abs/1410.5401.
[16] K He, X Zhang, S Ren, and J Sun, “Deep residual learning for image recognition,” in CVPR, 2016, pp 770–778.
[17] A G Howard, M Zhu, B Chen, et al., “Mobilenets: Efficient con-volutional neural networks for mobile vision applications,” arXiv preprint arXiv:1704.04861, 2017.
[18] D H Hubel and T N Wiesel, “Receptive fields and functional ar- chitecture in two nonstriate visual areas (18 and 19) of the cat,”
Jour-nal of neurophysiology, vol 28, no 2, pp 229–289, 1965.
[19] S Ioffe and C Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” arXiv preprint arXiv:1502.03167, 2015.
[20] F Isensee, J Petersen, A Klein, et al., “Nnu-net: Self-adapting frame- work for u-net-based medical image segmentation,” CoRR, vol abs/1809.10486, 2018 arXiv: 1809 10486 [Online] Available: http : / / arxiv org/abs/1809.10486.
[21] R A Jacobs, M I Jordan, S J Nowlan, and G E Hinton,
“Adap-tive mixtures of local experts,” Neural computation, vol 3, no 1, pp 79–87, 1991.
[22] S Ji, W Xu, M Yang, and K Yu, “3d convolutional neural networks for human action recognition,” IEEE transactions on pattern analy-sis and machine intelligence, vol 35, no 1, pp 221–231, 2012.
[23] D P Kingma and J Ba, “Adam: A method for stochastic optimiza-tion,” arXiv preprint arXiv:1412.6980, 2014.
[24] A Krizhevsky, I Sutskever, and G E Hinton, “Imagenet classifica- tion with deep convolutional neural networks,” Advances in neural information processing systems, vol 25, 2012.
[25] Z Lan, M Chen, S Goodman, K Gimpel, P Sharma, and R Sori- cut, “Albert: A lite bert for self-supervised learning of language rep- resentations,” arXiv preprint arXiv:1909.11942, 2019.
[26] Y LeCun, Y Bengio, et al., “Convolutional networks for images, speech, and time series,” The handbook of brain theory and neural networks, vol 3361, no 10, p 1995, 1995.
[27] J Lin, C Gan, and S Han, “Tsm: Temporal shift module for effi- cient video understanding,” in Proceedings of the IEEE/CVF Inter- national Conference on Computer Vision, 2019, pp 7083–7093.
[28] M Lin, Q Chen, and S Yan, “Network in network,” arXiv preprint arXiv:1312.4400, 2013.
[29] Y Liu, M Ott, N Goyal, et al., “Roberta: A robustly optimized bert pretraining approach,” arXiv preprint arXiv:1907.11692, 2019.
[30] M Livingstone and D Hubel, “Segregation of form, color, move-ment, and depth: Anatomy, physiology, and perception,”
[31] I Loshchilov and F Hutter, “Decoupled weight decay regulariza-tion,” arXiv preprint arXiv:1711.05101, 2017.
[32] M Luong, H Pham, and C D Manning, “Effective approaches to attention-based neural machine translation,” CoRR, vol abs/ 1508.04025, 2015 arXiv: 1508 04025 [Online] Available: http : / / arxiv org/abs/1508.04025.
[33] A L Maas, A Y Hannun, A Y Ng, et al., “Rectifier nonlinearities improve neural network acoustic models,” in
[34] F Milletari, N Navab, and S Ahmadi, “V-net: Fully convolutional neural networks for volumetric medical image segmentation,” in 2016 Fourth International Conference on
[35] V Nair and G E Hinton, “Rectified linear units improve restricted boltzmann machines,” in Icml, 2010.
[36] M Noroozi and P Favaro, “Unsupervised learning of visual rep-resentations by solving jigsaw puzzles,” in ECCV, Springer, 2016, pp 69–84.
[37] H T Phung, A T Vu, T D Nguyen, et al., “Magneto: An efficient deep learning method for the extractive tags summarization prob- lem,” arXiv preprint arXiv:2011.04349, 2020.
[38] M L di Scandalea, C S Perone, M Boudreau, and J Cohen-
Adad, “Deep active learning for axon-myelin segmentation on histology data,” CoRR, vol abs/1907.05143, 2019 arXiv: 1907.05143 [On-line] Available: http://arxiv.org/abs/1907.05143.
[39] N Shazeer, A Mirhoseini, K Maziarz, et al., “Outrageously large neural networks: The sparsely-gated mixture-of- experts layer,” arXiv preprint arXiv:1701.06538, 2017.
[40] G Song and W Chai, “Collaborative learning for deep neural net-works,” Advances in neural information processing systems, vol 31, 2018.
[41] N Srivastava, G Hinton, A Krizhevsky, I Sutskever, and R
Salakhut-dinov, “Dropout: A simple way to prevent neural networks from overfitting,” J Mach Learn Res., vol 15, no 1, 1929–1958, Jan 2014, ISSN: 1532-4435.
[42] C H Sudre, W Li, T Vercauteren, S Ourselin, and M Jorge
Car-doso, “Generalised dice overlap as a deep learning loss function for highly unbalanced segmentations,” in Deep
Learning in Medi-cal Image Analysis and Multimodal Learning for Clinical Decision Support, M J Cardoso, T Arbel, G.
Carneiro, et al., Eds., Cham: Springer International Publishing,
[43] S A Taghanaki, Y Zheng, S Kevin Zhou, et al., “Combo loss:
Handling input and output imbalance in multi-organ segmentation,”
Computerized Medical Imaging and Graphics, vol 75, pp 24 –33,
2019, ISSN: 0895-6111 DOI: https : / / doi org / 10 1016 / j compmedimag.2019.04.005 [Online] Available: http://www sciencedirect.com/science/article/pii/S0895611118305688.
[44] D Tran, L Bourdev, R Fergus, L Torresani, and M Paluri,
“Learn-ing spatiotemporal features with 3d convolutional networks,” in Pro-ceedings of the IEEE international conference on computer vision, 2015, pp 4489–4497.
[45] D Tran, H Wang, L Torresani, and M Feiszli, “Video classifica-tion with channel-separated convolutional networks,” in Proceed-ings of the IEEE/CVF International
Conference on Computer Vi-sion, 2019, pp 5552–5561.
[46] D Tran, H Wang, L Torresani, J Ray, Y LeCun, and M Paluri,
“A closer look at spatiotemporal convolutions for action recogni- tion,” in Proceedings of the IEEE conference on Computer
Vision and Pattern Recognition, 2018, pp 6450–6459.
[47] D C Van Essen and J L Gallant, “Neural mechanisms of form and motion processing in the primate visual system,”
[48] A Vaswani, N Shazeer, N Parmar, et al., “Attention is all you need,” in Advances in Neural Information Processing Systems 30,
I Guyon, U V Luxburg, S Bengio, et al., Eds., Curran Associates, Inc., 2017, pp 5998–6008 [Online] Available: http://papers nips.cc/paper/7181-attention-is-all-you-need.pdf.
[49] K Xu, J Ba, R Kiros, et al., “Show, attend and tell: Neural im-age caption generation with visual attention,” in Proceedings of the
32nd International Conference on Machine Learning, F Bach and
D Blei, Eds., ser Proceedings of Machine Learning Research, vol
37, Lille, France: PMLR, 2015, pp 2048–2057 [Online] Available: http://proceedings.mlr.press/v37/xuc15.html.
[50] S E Yuksel, J N Wilson, and P D Gader, “Twenty years of mix-ture of experts,” IEEE transactions on neural networks and learning systems, vol 23, no 8, pp 1177–1193, 2012.
[51] R Zhang, P Isola, and A A Efros, “Colorful image colorization,” in ECCV, Springer, 2016, pp 649–666.
[52] X Zhang, X Zhou, M Lin, and J Sun, “Shufflenet: An extremely efficient convolutional neural network for mobile devices,” in Pro-ceedings of the IEEE conference on computer vision and pattern recognition, 2018, pp 6848–