Nhóm Sinh viên thực hiện: Phạm Thành Hiền - B1D5 Lê Thị Oanh – B3D5 Lê Đình Tùng – B1D6 Trần Viết Thiện – B2D6 Nguyễn Hoài Nam – B2D6 Giáo viên hướng dẫn: Trung tá, PGS.TS Hoàng Việt Lon
Trang 1BỘ CÔNG AN
TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND
PHẠM THÀNH HIỀN
ĐỀ TÀI KHOA HỌC SINH VIÊN
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN HỌC SÂU ĐỂ LÀM RÕ ẢNH MỜ, PHỤC VỤ CÔNG TÁC NGHIỆP VỤ
ĐIỀU TRA CỦA LỰC LƯỢNG CẢNH SÁT
MÃ SỐ: ĐTSV.2019……
Bắc Ninh, năm 2019
Trang 2BỘ CÔNG AN
TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND
ĐỀ TÀI KHOA HỌC SINH VIÊN
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN HỌC SÂU ĐỂ LÀM RÕ ẢNH MỜ, PHỤC VỤ CÔNG TÁC NGHIỆP VỤ
ĐIỀU TRA CỦA LỰC LƯỢNG CẢNH SÁT
MÃ SỐ: ĐTSV.2019……
(Nhóm) Sinh viên thực hiện: Phạm Thành Hiền - B1D5
Lê Thị Oanh – B3D5
Lê Đình Tùng – B1D6 Trần Viết Thiện – B2D6 Nguyễn Hoài Nam – B2D6
Giáo viên hướng dẫn: Trung tá, PGS.TS Hoàng Việt Long
Bắc Ninh, năm 2019
Trang 3Chủ nhiệm: Phạm Thành Hiền – Lớp B1D5
Thành viên: Lê Thị Oanh – Lớp B3D5
Lê Đình Tùng – Lớp B1D6 Trần Viết Thiện – Lớp B2D6 Nguyễn Hoài Nam – Lớp B2D6
Cán bộ hướng dẫn chính: Trung tá, PGS.TS Hoàng Việt Long
Công trình được bảo vệ tại:
HỘI ĐỒNG NGHIỆM THU CÔNG TRÌNH SV NCKH TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND
Ngày … tháng … năm 20…
Trang 4i
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài: “Nghiên cứu ứng dụng thuật toán học sâu để làm rõ ảnh
mờ, phục vụ công tác nghiệp vụ điều tra của lực lượng cảnh sát” là một công trình nghiên cứu độc lập không có sự sao chép của người khác Trong quá trình viết bài
có sự tham khảo một số tài liệu có nguồn gốc rõ ràng, dưới sự hướng dẫn của Thầy PGS.TS Hoàng Việt Long Tôi xin cam đoan nếu có vấn đề gì tôi xin chịu hoàn toàn trách nhiệm
Bắc Ninh, ngày 11 tháng 04 năm 2019
CHỦ NHIỆM ĐỀ TÀI
Phạm Thành Hiền
Trang 5– Đặc biệt nhóm xin bày tỏ lòng biết ơn sâu sắc đến Thầy PGS.TS Hoàng Việt Long là người trực tiếp hướng dẫn, luôn tận tình chỉ bảo, giúp đỡ và động viên nhóm trong suốt quá trình nghiên cứu và hoàn thành đề tài nghiên cứu này
– Cảm ơn gia đình, bạn bè đã luôn khích lệ, động viên và giúp đỡ nhóm trong quá trình học tập và nghiên cứu khoa học
Mặc dù đã cố gắng rất nhiều, nhưng bài luận không tránh khỏi những thiếu sót, nhóm rất mong nhận được sự thông cảm, chỉ dẫn, giúp đỡ và đóng góp ý kiến của các nhà khoa học, của quý thầy cô và các cán bộ quản lý
Xin chân thành cảm ơn!
Trang 64 Mục tiêu của đề tài
- Làm rõ các nội dung lý thuyết của thuật toán học sâu, tìm hiểu các kiến trúc mạng học sâu phổ biến và ứng dụng
- Xây dựng phần mềm ứng dụng thuật toán học sâu để làm rõ ảnh mờ
5 Nội dung nghiên cứu
Đề tài nghiên cứu nội dung sau:
- Tìm hiểu thuật toán học sâu, các khái niệm liên quan và ứng dụng
- Tìm hiểu các mạng ron của thuật toán học sâu, lựa chọn ra mạng ron phù hợp để xây dựng phần mềm làm rõ ảnh mờ
nơ Xây dựng phần mềm làm rõ ảnh mờ bằng thuật toán học sâu
6 Cấu trúc báo cáo
Nội dung của báo cáo kết quả nghiên cứu được kết cấu thành 03 chương
Trang 7iv
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT ĐỀ TÀI KHOA HỌC iii
MỤC LỤC iv
DANH MỤC HÌNH ẢNH viv
DANH MỤC VIẾT TẮT vivi
CHƯƠNG 1: NGHIÊN CỨU VỀ THUẬT TOÁN HỌC SÂU VÀ THUẬT TOÁN LÀM RÕ ẢNH MỜ 1
1.1 Bài toán làm rõ ảnh mờ 1
1.1.1 Giới thiệu 1
1.2 Giới thiệu về thuật toán học sâu 2
1.2.1 Khái niệm và các thuật ngữ liên quan 2
1.2.2 Lịch sử phát triển 5
1.2.3 Các ứng dụng trong thực tiễn 6
1.3 Các nghiên cứu liên quan 7
1.3.1 LeNet 8
1.3.2 AlexNet 8
1.3.3 VGGNet 10
1.3.4 GoogLeNet 10
1.3.5 Residual Neural Network 10
CHƯƠNG 2: KỸ THUẬT DEEP LEARNING VÀ CÁC KIẾN THỨC NỀN TẢNG 13
2.1 Artificial Neural Network – ANN 13
2.1.1 Kiến trúc của ANN 13
2.1.2 Quá trình xử lý thông tin của ANN 14
2.1.3 Quá trình học của Supervised ANN 15
2.2 Convolutional Neural Networks 16
2.2.1 Kiến trúc mạng CNN 16
2.2.2 Các thành phần cơ bản của mạng CNN 17
2.3 Residual Neural Network 19
Trang 8v
2.3.1 Building block 20
2.3.2 Kiến trúc của Residual Neural Network 21
2.4 Xây dựng mạng nơron để làm rõ ảnh mờ sử dụng CNN 22
CHƯƠNG 3: MÔ PHỎNG THUẬT TOÁN LÀM RÕ ẢNH MỜ, THỬ NGHIỆM, ĐÁNH GIÁ VÀ ỨNG DỤNG TRONG LỰC LƯỢNG CẢNH SÁT 24
3.1 Cài đặt môi trường 24
3.2 Các thư viện cần thiết 24
3.2.1 Theano 25
3.2.2 SciPy 26
3.2.3 Numpy 27
3.3 Cài đặt chương trình 27
3.4 Kiểm thử và đánh giá 28
TÀI LIỆU THAM KHẢO 31
LÝ LỊCH TRÍCH NGANG 32
XÁC NHẬN HOÀN THÀNH CÔNG TRÌNH 33
Trang 9Hình 1.4 Một module của Inception
Hình 1.5 So sánh buidling block với một phần mạng convolution thường Hình 2.1 Mô hình neuron của McCulloch và Pitts
Hình 2.2 Mô hình ANN cơ bản
Hình 2.3 Thuật toán quá trình học của supervised
Hình 3.3 Kết quả khi nâng cao chất lượng ảnh chân dung
Hình 3.4 Hình ảnh nâng cao chất lượng ảnh bị mờ
Trang 10vii
DANH MỤC VIẾT TẮT ANN Artificial Neural Network CNN Convolutional Neural Networks RNN Residual Neural Network
Trang 111
CHƯƠNG 1: NGHIÊN CỨU VỀ THUẬT TOÁN HỌC SÂU VÀ
THUẬT TOÁN LÀM RÕ ẢNH MỜ 1.1 Bài toán làm rõ ảnh mờ
1.1.1 Giới thiệu
Năm 1997, Deep Blue đã đánh bại đại kiện tướng cờ vua thế giới Garry Kasparov Nhưng cũng cùng chiếc siêu máy tính đó, lại cảm thấy khó khăn trong việc nhận diện được đối thủ của mình là Garry Kasparov hay ít nhất là biết được chính nó đang ở trong nhà hay ngoài trời Con người thường xem thường những việc mình làm hằng ngày như cách đi đứng, ăn uống, cách ta nhận biết được người khác, vật thể, những việc tưởng chừng như ta làm trong vô thức lại là thách thức lớn đối với máy tính (thậm chí là siêu máy tính)
Trong những năm gần đây, với sự phát triển như vũ bão của các thiết bị phần cứng, tốc độ tính toán của máy tính cũng nhớ đó được tăng cao Những thuật toán tưởng chừng như không thể thực hiện được do độ phức tạp quá cao giờ đã trở thành hiện thực và học máy cũng không phải ngoại lệ Nhờ sự hồi sinh của những thuật toán học máy, học sâu mà ngành trí tuệ nhân tạo cũng được sang trang mới, đánh dấu cho sự khởi đầu của cuộc cách mạng công nghệ 4.0 Bên cạnh
đó, không thể không nhắc đến tốc độ phát triển của mạng Internet, tạo điều kiện cho tất cả mọi người trên thế giới có thể truy cập, đến gần nhau hơn Nhiều lĩnh vực như mạng xã hội, thương mại điện tử, Internet of things (IoT) cũng từ đó được sinh ra, tạo ra một lượng dữ liệu khổng lồ Những trang mạng xã hội, các thiết bị IoT mỗi ngày đều tạo ra hàng trăm hàng triệu tấm ảnh dẫn đến nhu cầu về phân loại các tấm ảnh, quản lý cũng như tạo ra nhưng chương trình trí tuệ nhân tạo nhằm phục vụ đời sống càng tăng cao Đó cũng chính là động lực chính để chọn
đề tài này: một mô hình có thể làm rõ ảnh mờ
Khi AI và nhiếp ảnh kỹ thuật số ‘bắt tay’ nhau thì người dùng sẽ được thưởng thức những công nghệ thông minh đáng ngạc nhiên Gần đây, các nghiên cứu AI về hình ảnh kỹ thuật số của Max Planck Intelligent Systems đã giới thiệu một website miễn phí phục hồi ảnh chụp ở độ phân giải thấp thành ảnh có độ nét cao bằng trí tuệ nhân tạo khiến con người phải kinh ngạc
Trang 122
Hình 1.1 Hình ảnh được xử lý bởi công nghệ EnhanceNet-PAT
Những chi tiết đã được ‘tô mượt’ rõ ràng là có chút khác biệt so với phiên bản gốc nhưng các pixel bị mất đã được phục hồi khá đẹp nhìn như trên thực tế,
và bạn sẽ phải xem rất kỹ mới phân biệt được
Trước đây, các công nghệ tăng chất lượng ảnh được giới thiệu thường hoạt động bằng cách ‘lấp đầy’ các điểm ảnh và các chi tiết bị thiếu bằng cách tính toán dựa vào những điểm ảnh xung quanh Kết quả của các thuật toán trên thường bị
mờ và không đạt yêu cầu Điều hay mà các nhà khoa học khám phá ra công nghệ trí tuệ nhân tạo mới ngày nay là ứng dụng machine-learning cho phép máy ‘học’
và nhận diện được những đặc điểm của các bức ảnh có độ phân giải thấp rồi nghiên cứu để tìm ra các phiên bản độ phân giải cao phù hợp
Một khi được 'đào tạo' theo cách này, các thuật toán có khả năng sửa ảnh
và cho kết quả dự đoán tốt nhất về một phiên bản 'gốc' có độ phân giải cao chỉ từ một bức ảnh
“Bằng khả năng tìm điểm ảnh chất lượng kém và tạo ra các bản mẫu hoàn chỉnh cho một bức ảnh có độ phân giải thấp, công nghệ trí tuệ nhân tạo EnhanceNet-PAT có thể tự phân tích được lông của con chim cần bổ sung những
gì để trông cho đẹp hơn và nó sẽ tự thêm các pixel vào hình sao cho hợp lý,” viện Max Planck chia sẻ
1.2 Giới thiệu về thuật toán học sâu
1.2.1 Khái niệm và các thuật ngữ liên quan
Artificial Intelligence (AI)
Trang 13ML có khả năng cho một máy tính xuất hoặc làm một cái gì đó mà nó không được lập trình để làm Trong khi ML nhấn mạnh vào việc đưa ra dự đoán về tương lai, AI thường tập trung vào các máy tính lập trình để đưa ra quyết định Nếu bạn
sử dụng một chương trình thông minh có liên quan đến hành vi giống như con người, nó có thể là AI Tuy nhiên, nếu các tham số không được tự động học ( hoặc
có nguồn gốc) từ dữ liệu, nó không phải là ML
Trong cốt lõi của nó, ML chỉ đơn giản là một cách để đạt được AI ML là loại của AI có thể bao gồm nhưng không giới hạn đối với mạng nơ ron và deep learning”
Deep learning (DL)
Deep learning- học sâu được biến đến như là mạng nơ ron sâu, một trong những cách tiếp cận đến ML Các phương pháp tiếp cận chính khác bao gồm học quyết định cây, lập trình logic quy nạp, phân cụm, tăng cường học tập và mạng Bayesian
DL là một loại đặc biệt của ML Nó liên quan đến việc nghiên cứu các thuật toán liên quan dến ANN và ML có chứa nhiều hơn một lớp ẩn
DL bao gồm mô hình toán học, có thể được coi là một thành phần của các khối đơn giản của một loại nhất định và là nơi một số khối này có thể được điều chỉnh để dự đoán tốt hơn kết quả cuối cùng
Từ "deep” có nghĩa là thành phần có nhiều khối này xếp chồng lên nhau- trong một hệ thống phân cấp làm tăng độ phức tạp Đầu ra được tạo ra thông qua
Trang 144
một cái gì đó gọi là Black-propagation bên trong của một quá trình lớn hơn được gọi là Gradient descent, cho phép thay đổi các tham số theo cách cải thiện mô hình của bạn
Các thuật toán học máy truyền thống là tuyến tính Các thuật toán học sâu được xếp chồng lên nhau trong một hệ thống phân cấp làm tăng độ phức tạp
Thử tưởng tượng một đứa trẻ đang cố gắng tìm hiểu những gì của một con chó bằng việc chỉ tay vào các đối tượng Cha mẹ sẽ nói: đó chính là một con chó” hoặc " không, đó không phải là một con chó” Khi em bé tiếp tục chỉ tay vào một vật thể, đứa trẻ trở nên ý thức hơn về các đặc điểm và đặc tính của những con chó đều có
Trong trường hợp này, đứa trẻ đang làm sáng tỏ một trừu tượng phức tạp (khái niệm về con chó) bằng cách xây dựng một hệ thống phân cấp của sự phức tạp ngày càng tăng được tạo ra Trong mỗi bước, đứa bé áp dụng kiến thức thu được từ lớp phân cấp trước đó
Các chương trình phân mềm sử dụng cách tiếp cận DL theo cách tương tự như vậy DL là một cách để tự động phân tích dự đoán Sự khác biệt duy nhất là đứa trẻ co thể mất vài tuần để học cái gì đó mới và phức tạp, nhưng một chương trình máy tính có thể làm những điều đó chỉ sau vài phút
Một mạng nơ ron là một dạng đặc biệt của việc học sâu, nhằm mục đích xây dựng các mô hình tiên đoán để giải quyết các nhiệm vụ phức tạp bằng cách phơi bày một hệ thống với một lượng lớn dữ liệu Hệ thống sau đó được phép tự tìm hiểu cách đưa ra các dự đoán tốt nhất
Bạn cũng có thể đặt nó theo cách này- học sâu là một phiên bản nâng cao của mạng nơ ron
Supervised learning và unsupervised learning
Một vài mạng nơ ron sử dụng học giám sát trong khi đó những mạng còn lại sử dụng học không giám sát
Supervised learning là một loại thuật toán học máy được dùng nếu một ai muốn khám phá các mẫu đã biết trên dữ liệu không xác định
Giả sử, nếu một thuật toán học máy được cung cấp một vài hình ảnh của những đối tượng khác nhau với các loại khác (động vật hoặc tòa nhà) Trong supervised learning, thuật toán sẽ tìm hiểu cách nói loại đối tượng nào có trong một hình ảnh cụ thể không được trình bày cho thuật toán trong giai đoạn đào tạo của nó Học tập được giám sát- supervised learning được hướng dẫn bởi dữ liệu được dán nhãn được nạp vào máy
Trang 155
Unsupervised learning- học tập không giám sát là loại thuật toán học máy, được sử dụng nếu người dùng muốn khám phá các mẫu không xác định trong dữ liệu đã biết
Giả sử, nếu một siêu thị có một tập dữ liệu với danh sách mua sắm của khách hàng Người được ủy quyền tại siêu thị có thể sử dụng unsupervised learning để hiểu loại sản phẩm mà khách hàng có khả năng mua cùng nhau Vì vậy, nhân viên siêu thị có thể đặt các sản phẩm gần nhau có khả năng được mua cùng nhau
Trong một vài trường hợp, ANN triển khai học tập tăng cường Trong trường hợp này, ANN đưa ra quyết định bằng cách quan sát môi trường của nó Nếu quan sát là âm, mạng sẽ điều chỉnh trọng số của nó để có thể đưa ra quyết định bắt buộc khác vào lần sau
Neural Networks và trí óc loài người
Máy tính và bộ não con người có nhiều điểm chung, nhưng về cơ bản chúng lại rất khác nhau Điều gì xẩy ra nếu bạn kết hợp điều tốt nhất từ hai thế giới- sức mạnh hệ thống của một máy tính và các tế bào kết nối mật độ cao của một bộ não? Đây là những gì các nhà khoa học đã làm trong vài thập kỷ qua với sự giúp đỡ của các mạng nơ ron
Một bộ não con người điển hình chứa một cái gì đó giống như 100 tỷ tế bào
nơ ron thần kinh (tế bào não) Mỗi tế bào thần kinh được tạo thành từ một tế bào (khối lượng trung tâm của tế bào) với một số kết nối xuất hiện: nhiều nhánh (đầu vào của tế bào mang thông tin về thân tế bào) và một sợi đơn (đầu ra của tế bào thông tin đi)
Một nơ ron đơn chuyển một thông điệp tới một nơ ron khác trên giao diện này nếu tổng các tín hiệu đầu vào trọng số từ một hoặc nhiều nơ ron (tổng kết) vào nó đủ lớn (vượt quá ngưỡng) để truyền tải thông điệp Nơ ron tương tác và giao tiếp với nhau thông qua một giao diện bao gồm các thiết bị đầu cuối trục dược kết nối với các nhánh dọc qua một khoảng trống (khớp thần kinh)
1.2.2 Lịch sử phát triển
Năm 1763, một bài luận về xác suất của Thomas Bayes được xuất bản 2 năm sau khi ông qua đời, lúc đó í tai quan tâm đến nó Gần nửa thế kỷ sau, vào năm 1812 nó được nhà toán học Laplace hợp thức hóa thành lý thuyết xác suất
mà ngày nay chúng ta gọi là Định lý Bayes, cốt lõi của mạng Bayes hay Belief Network, là một trong những cấu trúc đóng góp lớn đến thành công của DL ngày nay (Deep Belief Network)
Trang 166
Năm 1770, máy mô phỏng AI đầu tiên được giới thiệu, người Thổ Nhĩ Kỳ
đã lừa Napoleon rằng một chiếc máy của họ có thể chơi cờ vua Năm 1857, họ tiết lộ rằng chiếc máy đó đơn giản chỉ là có một người ngồi bên trong Lúc đó, chả ai biết rằng 140 năm sau, một AI thực sự đánh bại đại kiện tướng Kasparov bằng những nước đi mà nó tạo ra
Năm 1805, lý thuyết về Least Squares ra đời, thời đó được sử dụng trong thiên văn và trắc địa, không ai biết được ngày nay nó là hàm loss cơ bản nhất của Artificial Neural Network (ANN)
Năm 1936, lấy cảm hứng từ việc con người thực hiện các công việc bình thường như thế nào, Alan Turing định hình nên ý niệm của ông về một Universal Machine (máy toàn năng) Sau nhiều năm nghiên cứu, ông công bố bài báo của mình dưới dạng một bài luận cùng với một ý tưởng về bài kiểm tra cho một chiếc máy mô phỏng con người: Turing Test Có lẽ, ông không biết rằng, 60 năm sau khi ông mất, những AI đã bắt đầu passed qua bài Test
Năm 1957, ý tưởng về Perceptron, dựa trên cấu trúc tế bào thần kinh trong não bộ con người, lần đầu tiên được công bố, khi đó nó bao trùm cả truyền thông
về một tương lai tươi sáng sắp tới gần của AI Cùng với đó, 13 năm sau, một khái niệm bổ sung được phát minh bởi Seppo Linnainmaa, gọi là Auto Differentation (đạo hàm tự động), là hình thái đầu tiên của lý thuyết mà chúng ta gọi là Backpropagation ngày nay
Các thuật toán cơ bản khác được phát minh như Nearest Neighbor năm
1967 hay TF-IDF năm 1972 chủ yếu liên quan đến xác suất thống kê, nhưng đây
là 2 thuật toán quan trọng nhất, lần lượt tạo nên 2 nhánh lớn của DL hiện nay: Computer Vision (CV) & Pattern Recognition và Natural Language Processing (NLP) & Speech Recognition
1.2.3 Các ứng dụng trong thực tiễn
Hệ gợi ý
Hệ gợi ý là một trong những yếu tố đóng vai trò quan trọng trong sự thành công của những ông lớn như Netflix, Amazon, Youtube, Với việc áp dụng hệ gợi ý, hệ thống có khả năng đưa ra những gợi ý về sản phẩm mà người dùng có thể muốn mua, từ đó tăng lợi nhuận và cung cấp những trải nghiệm tốt cho khách hàng
Hệ gợi ý được chia thành 2 mảng lớn: Content-based và Collaborative Filtering Phương pháp Content-based hướng tới việc phân tích những thuộc tính của từng sản phẩm và khám phá sở thích của người dùng tới từng thuộc tính đó
Trang 177
để đưa ra những sản phẩm phù hợp cho từng người dùng Phương pháp Collaborative Filtering thì hướng tới việc phân tích những điểm tương đồng giữa các người dùng và đưa ra gợi ý cho một người dùng dựa trên những người dùng
có sự tương đồng với người dùng đó (User Collaborative Filtering) hoặc dựa trên những sản phẩm có độ tương đồng với các sản phẩm người dùng đã tiêu thụ (Item Collaborative Filtering) Cả 2 phương pháp trên đều có thể được cài đặt bằng Deep Learning trên những tập dữ liệu khổng lồ để đưa ra các gợi ý về sản phẩm cho người dùng
Phân tích ngữ nghĩa văn bản
Rất nhiều ứng dụng và hệ thống hiện nay có chức năng review dành cho người dùng Qua việc đưa ra review cho một sản phẩm, người dùng có thể nêu ra những ý kiến cá nhân của mình, sự hài lòng hay không hài lòng về sản phẩm đó Giờ đây, với công nghệ Deep Learning và sự ra đời của mạng hồi quy (Recurrent Neural Network), chúng ta đã có khả năng tách lọc ra các thông tin từ các phản hồi của người dùng Từ những thông tin này, ta có thể đánh giá về mức độ hài lòng của khách hàng tới sản phẩm hoặc lọc ra những từ khóa quan trọng về sản phẩm đó
Chatbots
Chatbots là một công nghệ đã có từ khá lâu nhưng mới chỉ bùng nổ vào khoảng 10 năm gần đây Với sự ra đời của mạng hồi quy, việc phân tích ngữ nghĩa của các câu hội thoại đã trở nên chính xác hơn rất nhiều và từ đó các chatbot có khả năng phân tích thông tin từ những câu hội thoại của người dùng và đưa ra những phản hồi hợp lý
Nhận diện hình ảnh
Đây là một trong những mảng lớn của Deep Learning với rất nhiều những ứng dụng thực tiễn Công nghệ nhận diện và phân loại hình ảnh có ứng dụng trực tiếp trên mảng computer vision, giúp các hệ thống trí tuệ nhân tạo có khả năng phân tích và xử lý hình ảnh như một con người Từ đó, các hệ thống này có khả năng thực hiện các tác vụ như: nhận diện khuôn mặt, nhận diện thực thể, phân loại ảnh và video,
1.3 Các nghiên cứu liên quan
Trang 182012 thì việc huấn luyện mô hình với lượng tham số và neural lớn như vậy là một vấn đề cực kỳ khó khăn Nhìn kỹ vào hình bên dưới để hiểu rõ hơn về kiến trúc AlexNet
Trang 199
Hình 1.3 Kiến trúc AlexNet
AlexNet bao gồm 5 convolution Layer và 3 Fully connected Layers
Những convolution layer ( hay còn gọi với tên khác là các filter) rút trích các thông tin hữu ích trong các bức ảnh Trong một convolution layer bất kỳ thường bao gồm nhiều kernel có cùng kích thước Ví dụ như convolution layer đầu tiên của AlexNet chứa 96 kernel có kích thước 11x11x3 Thông thường thì width và height của một kernel bằng nhau, và độ sâu (depth) thường bằng số lượng kênh màu
Convolutional 1 và convolution 2 kết nối với nhau qua một Overlapping Max Pooling ở giữa Tương tự như vậy giữa convolution 2 và convolution 3 Convolutional 3, convolution 4, convolution 5 kết nối trực tiếp với nhau, không thông qua trung gian Convolutional 5 kết nối fully connected layter 1 thông qua một Overlapping Max pooling, tiếp theo mà một fully connected layter nữa Và cuối cùng là một bộ phân lớp softmax với 1000 lớp nhãn (các bạn có thể xem hình kiến trúc mạng AlexNet ở trên để có cái nhìn tổng quát hơn)
ReLU nonlinerity được sử dụng sau tất các các convolution và fully connected layer Trước đây, ReLU nonlinerity của lớp convolution 1 và 2 thường theo sau bởi một bước chuẩn hoá cục bộ (local normalization) rồi mới thực hiện pooling Tuy nhiên, các nghiên cứu sau đó nhận thấy rằng việc sử dụng normalization không thật sự hữu ích Do vậy chúng ta sẽ không đi chi tiết về vấn
đề đó
Trang 2010
1.3.3 VGGNet
VGGNet được phát minh bởi VGG ( Nhóm hình học trực quan ) từ Đại học Oxford, mặc dù VGGNet là người về nhì , không phải là người chiến thắng của ILSVRC ( Cuộc thi nhận dạng hình ảnh quy mô lớn ImageNet ) 2014 trong nhiệm
vụ phân loại , đã cải thiện đáng kể so với ZFNet (Người chiến thắng năm 2013)
và AlexNet (Người chiến thắng năm 2012) Và GoogLeNet là người chiến thắng của ILSVLC 2014, tôi cũng sẽ nói về nó sau Tuy nhiên, VGGNet đã đánh bại GoogLeNet và giành được nhiệm vụ bản địa hóa trong ILSVRC 2014
Và đó là năm đầu tiên có những mô hình học sâu đạt được tỷ lệ lỗi dưới 10% Điều quan trọng nhất là có nhiều mô hình khác được xây dựng dựa trên VGGNet hoặc dựa trên ý tưởng 3 × 3 của VGGNet cho các mục đích khác hoặc các tên miền khác
1.3.4 GoogLeNet
Mô hình đạt giải nhất ở ILSVRC 2014 là mô hình CNN được đề xuất bởi Szegedy et al đến từ Google Khi thiết kế một mô hình CNN, một trong những việc chúng ta nghĩ đến là phải sử dụng filter có kích thước như thế nào, 1 × 1 filter hay 3 × 3 filter, hay thậm chí là 5 × 5 filter Đối với GoogleNet, chúng ta không cần phải nghĩ nhiều, tại sao lại không sử dụng tất cả các filter kể trên Đó chính là điểm đặc trưng của GoogleNet, họ đưa ra module Inception và sử dụng các filter
có các kích thước khác nhau (bao gồm cả 1 × 1, 3 × 3 và 5 × 5 filter) Và điểm đặc biệt thứ hai của GoogleNet là họ không sử dụng lớp fully-connected ở cuối mạng như các mô hình CNN khác
Đóng góp chính của GoogleNet là việc đưa ra module Inception làm giảm đáng kể số parameters của mạng (4M parameters so với 60M parameters của AlexNet) Mô hình GoogleNet đã chiến thắng ILSCRC 2014 ở task classification (6.67% top 5 error)
1.3.5 Residual Neural Network
Residual network (ResNet) được Kaiming He đưa ra vào năm 2015 và là
mô hình đạt giải nhất trong cuộc thi ILSVRC 2015 ở các tasks: ImageNet detection, ImageNet localization Vào thời điểm đó, ResNet là mô hình có nhiều layer nhất (152 layers) gấp 8 lần số layer của VGG (19 layers - ILSVRC 2014) và GoogleNet (22 layers ILSVR 2014)
Trang 2111
Hình 1.4 Một module của Inception
Theo như tính chất của một mạng neuron, nếu ta tăng số layer lên thì chắc chắn khả năng biểu diễn, hay xấp xỉ hàm của mạng neuron đó càng tăng cao Vậy tại sao các kiến trúc trước như VGG và GoogleNet họ lại không tăng số layer lên? Tất nhiên việc tăng số layer cũng đồng nghĩa với việc gặp phải nhiều khó khăn
mà trong đó nổi bật là các vấn đề về vanishing/exploding gradients, optimization
Và Resnet đã giải quyết được các vấn đề đó bằng cách đưa ra residual learning và identity mapping
Hình ảnh được lấy từ khóa MOOC Coursera Convolution Neural Networks của Andrew Ng Kết quả của các đội ở ISLVRC vào các năm 2012, 2013 và 2014 đối với bài toán phân loại