Các mơ hình học sâu CNN

Một phần của tài liệu Tìm kiếm hình ảnh bằng phương pháp học sâu (Trang 30 - 35)

2.2.1. Sự hình thành và phát triển

Mơ hình mạng CNN có lịch sử khá lâu đời. Kiến trúc gốc của mơ hình mạng CNN được giới thiệu bởi một nhà khoa học máy tính người Nhật Kunihiko Fukushima vào năm 1980 [2]. Sau đó, năm 1998, Yan LeCun lần đầu huấn luyện mơ hình CNN với thuật toán backpropagation cho bài toán nhận dạng chữ viết tay [3]. Đến năm 2012, một nhà khoa học máy tính người Ukraine Alex Krizhevsky xây dựng mơ hình CNN (AlexNet) và sử dụng GPU để tăng tốc quá trình huấn luyện deep nets để đạt được top 1 trong cuộc thi Computer Vision thường niên ImageNet với độ lỗi phân lớp top 5 giảm hơn 10% so với những mơ hình truyền thống trước đó [4], đã tạo nên làn sóng mãnh mẽ sử dụng mơ hình CNN học sâu với sự hỗ trợ của GPU để giải quyết càng nhiều các vấn đề trong Computer Vision. Hiện tại có rất nhiều các kiến trúc mạng CNN khác nhau và các kiến trúc mới vẫn đang tiếp tục được khám phá liên tục. Lộ trình hình thành và phát triển cho tới ngày nay của những mạng CNN được thể hiện ở Hình 2.15.

Hình 2.14: Các cột mốc phát triển của mạng CNN8

2.2.2. Các mơ hình CNN tiêu biểu

Mất nhiều năm hình thành và phát triển cho tới ngày nay, các mạng CNN đã có các đặc trưng riêng với các ưu nhược điểm khác nhau.

31

Hình 2.15: Các mơ hình học sâu CNN9

LeNet-5 (1998)

LeNet-5 là một trong những mạng CNN lâu đời nổi tiếng nhất được Yann LeCun phát triển vào những năm 1998s [3]. Cấu trúc của LeNet-5 gồm 2 layer (convolution + maxpooling) và 2 layer fully connected layer và output là softmax layer. Mặc dù đơn giản nhưng nó có kết quả tốt hơn so với các thuật toán machine learning truyền thống khác trong phân loại chữ số viết tay như SVM, kNN.

Trong kiến trúc mạng nơ-ron đầu tiên, để giảm chiều dữ liệu, Yan Lecun sử dụng Sub-Sampling Layer là một Average-Pooling Layer (các layer nhằm mục đích giảm chiều dữ liệu mà không thay đổi đặc trưng chúng ta còn gọi là Sub-Sampling Layer). Kiến trúc này khó hội tụ nên ngày nay chúng được thay thế bằng Max- Pooling.

Đầu vào của mạng LeNet-5 có kích thước nhỏ (chỉ 32x32) và ít layers nên số lượng tham số của nó chỉ khoảng 60 nghìn.

Hình 2.16: Kiến trúc LeNet-510

32

AlexNet (2012)

Mạng AlexNet là một mạng CNN đã dành chiến thắng trong cuộc thi ImageNet LSVRC-2012 năm 2012 được phát triển bởi nhóm tác giả Alex Krizhevsky, Ilya Sutskever và Geoff Hinton [4]. AlexNet là một mạng CNN huấn luyện với một số lượng tham số rất lớn (60 triệu tham số) so với LeNet. Một số đặc điểm:

- Sử dụng relu thay cho sigmoid (hoặc tanh) để xử lý với non-linearity. Tăng tốc độ tính tốn lên 6 lần.

- Sử dụng dropout như một phương pháp regularization mới cho CNN. Dropout không những giúp mơ hình tránh được overfitting mà còn làm giảm thời gian huấn luyện mơ hình.

- Overlap pooling để giảm size của network (Traditionally pooling regions không overlap).

- Sử dụng local response normalization để chuẩn hóa ở mỗi layer.

- Sử dụng kỹ thuật data augmentation để tạo them data training bằng cách translations, horizontal reflections.

- Alexnet training với 90 epochs trong 5 đến 6 ngày với 2 GTX 580 GPUs. Sử dụng SGD với learning rate 0.01, momentum 0.9 và weight decay 0.0005.

Hình 2.17: Kiến trúc AlexNet11

Mạng ZFNet (2013)

Mạng ZFNet (ZF viết tắt của Zeiler và Fergus) là một mơ hình kiến trúc mạng CNN được phát triển bởi Matthew Zeiler và Rob Fergus [5]. Mạng ZFNet có kiến trúc chiến thắng cuộc thi trên ImageNet 2013 (ILSVRC 2013). ZFNet có cấu trúc rất giống với AlexNet với 5 layer convolution, 2 fully connected layer và 1 output softmax layer. Khác biệt ở chỗ kernel size ở mỗi Conv layer. Một số đặc điểm chính:

10 towardsdatascience.com 11 towardsdatascience.com

33

- Tương tự AlexNet nhưng có một số điều chỉnh nhỏ.

- Alexnet training trên 15m image trong khi ZF training chỉ có 1.3m image. - Sử dụng kernel 7x7 ở first layer (alexnet 11x11). Lý do là sử dụng kernel

nhỏ hơn để giữ lại nhiều thông tin trên image hơn. - Tăng số lượng filter nhiều hơn so với alexnet. - Training trên GTX 580 GPU trong 20 ngày.

Hình 2.18: Kiến trúc ZFNet12

34

Mạng VGGNet – VGG16 (2014)

Mạng VGGNet là mạng CNN đạt giải nhì cuộc thi trên ImageNet 2014 (ILSVRC 2014). Mạng VGGNet được nghiên cứu và đề xuất bởi Karen Simonyan và Andrew Zisserman [6]. Mạng VGGNet được xem là mạng tốt nhất năm 2015, mạng bao gồm 16 lớp tích chập và có kiến trúc rất thống nhất. Mạng sử dụng các bộ lọc tích chập 3x3 và bộ lọc pooling 2x2, kích thước này được thống nhất từ lớp đầu đến lớp cuối của mạng.

Mạng VGGNet sâu hơn so với AlexNet và số lượng tham số của mạng lên tới 138 triệu tham số. Đây là một trong những mạng mà có số lượng tham số lớn nhất. Ngồi ra, VGGNet cịn một phiên bản khác là VGG-19 tăng cường thêm 3 layers về độ sâu.

Bắt đầu từ VGGNet, một hình mẫu chung cho các mạng CNN trong các tác vụ học có giám sát trong xử lý ảnh đã bắt đầu hình thành đó là các mạng trở nên sâu hơn và sử dụng các block dạng [Conv2D*n + Max Pooling].

Hình 2.19: Kiến trúc VGGNet13

Mạng GoogleNet - InceptionV1 (2014)

Mạng GoogleNet được đánh giá là mạng học sâu tốt nhất năm 2014, là mạng có kiến trúc chiến thắng cuộc thi trên ImageNet 2014 (ILSVRC 2014) [7]. Mạng này được đề xuất bởi nhóm nghiên cứu của C.Szegedy của công ty Google, kiến trúc mạng gồm 22 lớp sâu. Mạng làm giảm số lượng tham số từ 60 triệu của mạng AlexNet xuống còn 4 triệu.

Ở mạng GoogleNet đã đề cập đến một khái niệm mới Inception Module. Trong mô-đun sử dụng các bộ lọc convolution nhiều mức, tỷ lệ kích thước khác nhau như 5x5, 3x3 và 1x1.

35

Hình 2.20: Kiến trúc GoogleNet14

Một phần của tài liệu Tìm kiếm hình ảnh bằng phương pháp học sâu (Trang 30 - 35)

Tải bản đầy đủ (PDF)

(108 trang)