ResNet (viết tắt của residual network), là mạng học sâu nhận được quan tâm từ những năm 2012 sau cuộc thi LSVRC2012 và trở nên phổ biến trong lĩnh vực thị giác máy. ResNet khiến cho việc huấn luyện hàng trăm thậm chí hàng nghìn lớp của mạng nơ ron trở nên khả thi và hiệu quả. Tại sao gọi là residual network? Liệu nó có “dư thừa” như tên gọi của mình?
Nhờ khả năng biểu diễn mạnh mẽ của ResNet, hiệu suất của nhiều ứng dụng thị giác máy, không chỉ các ứng dụng phân loại hình ảnh được tăng cường. Một số ví dụ có thể kể đến là các ứng dụng phát hiện đồ vật và nhận dạng khuôn mặt.
Theo định lý gần đúng phổ quát, về mặt kiến trúc, một mạng nơ ron truyền thẳng có khả năng xấp xỉ mọi hàm với dữ liệu huấn luyện được cung cấp, miễn là không vượt quá sức chứa của nó. Tuy nhiên, xấp xỉ tốt dữ liệu không phải là mục tiêu duy nhất, chúng ta cần một mô hình có khả năng tổng quát hóa dữ liệu. Đó là lý do các kiến trúc sâu trở thành xu hướng của cộng đồng nghiên cứu.
Kể từ AlexNet, các kiến trúc CNN ngày càng sâu hơn. Trong khi AlexNet chỉ có 5 lớp tích chập, mạng VGG và GoogleNet (còn gọi là Inception_v1) có đến 19 và 22 lớp tương ứng.
Tuy nhiên, tăng độ sâu mạng không chỉ đơn giản là xếp chồng các lớp lại với nhau. Mạng sâu rất khó huấn luyện vì vấn đề vanishing gradient – vì độ dốc được truyền ngược trở lại các lớp trước đó, phép nhân lặp đi lặp lại có thể làm cho độ dốc cực nhỏ. Kết quả là, hiệu suất của mạng bị bão hòa hoặc giảm hiệu quả nhanh chóng.
Ý tưởng chính của ResNet là sử dụng kết nối tắt đồng nhất để xuyên qua một hay nhiều lớp. Một khối như vậy được gọi là một residual block như trong hình sau:
Việc xếp chồng các lớp sẽ không làm giảm hiệu suất mạng. Chúng ta có thể đơn giản xếp chồng các ánh xạ đồng nhất lên mạng hiện tại và hiệu quả của kiến trúc không thay đổi. Điều này giúp cho kiến trúc sâu ít nhất là không kém hơn các kiến trúc nông. Hơn nữa, với kiến trúc này, các lớp ở phía trên có được thông tin trực tiếp hơn từ các lớp dưới nên sẽ điều chỉnh trọng số hiệu quả hơn.
Thực tế, ResNet không phải là kiến trúc đầu tiên sử dụng các kết nối tắt, Highway Network sử dụng kiến trúc cổng với kết nối tắt. Các cổng được tham số hóa có nhiệm vụ kiểm soát lượng thông tin được phép truyền qua kết nối tắt. Ý tưởng tương tự cũng được sử dụng trong LSTM, cổng được tham số hóa kiểm soát lượng thông tin sẽ truyền đến bước tiếp theo. Do đó, ResNet có thể được coi là một trường hợp đặc biệt của Highway Network.
Tuy nhiên, các thử nghiệm cho thấy Highway Network hoạt động không tốt hơn ResNet, điều này có vẻ khó giải thích vì Highway Network đưa ra một giải pháp tổng quát hơn ResNet. Từ đó có thể thấy rằng một giải pháp tổng quát chưa chắc đã đem đến hiệu suất tốt hơn. Giải pháp ResNet là một giải pháp đơn giản tập trung vào cải tiến thông tin phản hồi thông qua độ dốc của mạng.
Sau ResNet, hàng loạt những biến thể của kiến trúc này được giới thiệu. Thực nghiệm cho thấy những kiến trúc sau này có thể được huấn luyện mạng nơ ron với độ sâu hàng nghìn lớp. ResNet nhanh chóng trở thành kiến trúc phổ biến nhất trong thị giác máy tính.
Hi vọng thông qua bài viết này bạn đã hiểu hơn về ResNet. Hãy đăng ký theo dõi trituenhantao.io để thường xuyên nhận được những thông tin mới nhất về các kỹ thuật đang được áp dụng trong ngành.