[Paper] Visualizing and Understanding Convolutional Neural Networks

Đóng góp chính:

  • Một cách tiếp cận để hiểu các convolutional layer trong convnet thực sự học cái gì. Cách làm là sử dụng deconvolutional network để project các feature trong high-level layer về lại thành pixel.
  • Supervised pre-training: một convolutional net huấn luyện trên tập ImageNet, rồi sau đó chỉ train lại lớp softmax là có thể tốt hơn state-of-the-art trên các tập khác như Caltech-101, Caltech-256 và tương đương state-of-the-art trên PASCAL.

Một paper thú vị của Matthew Zeiler, tác giả Deconvolutional network. Ý tưởng chính là làm sao visualize và hiểu được các feature trong convolutional network thực sự học những gì trong quá trình huấn luyện. Từ trước đến nay, việc phân tích convnet thông thường chỉ dừng lại ở việc visualize activation của kernel trong các convolutional layer, mà thường cũng chỉ dừng lại ở convolutional layer thấp nhất, vì các layer cao hơn không có ý nghĩa nhiều lắm khi visualize. Ngay cả paper ImageNet 2012 của Hinton cũng chỉ làm vậy. Matthew Zeiler sử dụng deconvnet để chiếu ngược các feature đã học trong convnet về không gian pixel, và từ đó cho nhiều kết quả rất thú vị. Một số feature map ở layer 3 trong convnet có thể đặc trưng các feature tương đối phức tạp như đường nét của khuôn mặt người (với đầy đủ mắt, mũi, miệng…) và điều thú vị là train càng lâu thì các feature này càng sắc nét. Một số feature khác thì lại chỉ tập trung học các local feature như mắt, cằm v.v…

Ý thứ hai cũng khá ấn tượng là chỉ cần train lại lớp softmax thì convnet cho kết quả tốt trên dataset khác. Toàn bộ các feature ở các layer dưới đuợc giữ nguyên, cho thấy khả năng của convnet trong việc học các feature mà mình hay gọi là “generally helpful” for discrimination. Tuy nhiên Caltech-100 và Caltech-256 khá nhỏ nên kết quả này chưa thuyết phục lắm. Cùng cách tiếp cận này đuợc dùng cho PASCAL 2012 thì (supervised pre-training) convnet cho kết quả tương đuơng state-of-the-art.

Một kết quả phụ nhưng cũng khá thú vị là khi tác giả dùng SVM để huấn luyện với input là các feature đã học ở lớp 1, 2, 3,… 7 của mô hình. Kết quả cho thấy càng lên cao thì độ chính xác của SVM càng tăng, có nghĩa là các feature ở layer càng cao của mô hình thì càng có nhiều thông tin hữu ích cho việc phân lớp.

Advertisements

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s