MỞ ĐẦU ......................................................................................................................... 1 NỘI DUNG CHÍNH ...................................................................................................... 2 CHƯƠNG 1: KIẾN TRÚC DEEP NEURAL NETWORK (DNN) ........................ 2 1.1. Khái niệm về DNN ......................................................................................... 2 1.2. Giải thích về các lớp DNN ............................................................................. 2 1.3. Điều gì tạo nên một DNN ............................................................................... 5 1.4. Các loại DNN phổ biến .................................................................................. 8 CHƯƠNG 2: KIẾN TRÚC CÁC LOẠI DEEP NEURAL NETWORK (DNN) PHỔ BIẾN ................................................................................................................ 10 2.1. MultiLayer Perceptrons (MLP) ................................................................... 10 2.2. Convolutional Neural Networks (CNN) ....................................................... 11 2.3. Recurrent Neural Networks (RNN) .............................................................. 13 CHƯƠNG 3: ỨNG DỤNG DEEP NEURAL NETWORK (DNN) TRONG CÁC LĨNH VỰC HIỆN ĐẠI ............................................................................................ 17 3.1. Thị giác máy tính và nhận dạng hình ảnh ..................................................... 17 3.2. Phân tích cảm xúc ......................................................................................... 18 3.3. Phát hiện gian lận ......................................................................................... 18 3.4. Xử lý ngôn ngữ tự nhiên ............................................................................... 19 3.5. Dự đoán thị trường tài chính ........................................................................ 20 CHƯƠNG 4: THỬ NGHIỆM XÂY DỰNG KIẾN TRÚC DEEP NEURAL NETWORK (DNN) .................................................................................................. 22 KẾT LUẬN .................................................................................................................. 25
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3LỜI CẢM ƠN
Lời đầu tiên, em gửi lời cảm ơn chân thành đến Trường Đại học Công nghệ - Đại
học Quốc gia Hà Nội đã đưa môn học “Các vấn đề hiện đại của Kỹ thuật máy tính” vào
chương trình giảng dạy Đặc biệt chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên
bộ môn – TS Hoàng Gia Hưng, thầy Hiếu và thầy Mạnh đã truyền đạt những kiến
thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học, em đã có thêm cho mình nhiều kiến thức bổ ích, đảm bảo cung cấp đầy đủ kiến thức, gắn liền với thực tế và là hành trang quan trọng cho chúng em khi làm việc Xin gửi lời tri ân nhất của em đối với những điều mà thầy cô đã dành cho sinh viên chúng em
Mặc dù đã cố gắng hoàn thành bài tiểu luận với tất cả nỗ lực và cố gắng của bản thân, nhưng do hạn chế về kiến thức và kinh nghiệm thực tiễn bài tiểu luận của em không tránh khỏi những thiếu sót cả về nội dung và hình thức Em rất mong nhận được sự chỉ bảo và góp ý của các thầy cô để giúp cho bài tiểu luận của em thêm hoàn thiện hơn
Trang 4LỜI CAM ĐOAN
Em xin cam đoan: Tiểu luận “Kiến Trúc Deep Neural Network và Ứng Dụng
Trong Các Lĩnh Vực Hiện Đại” này là công trình nghiên cứu riêng của em, không sao
chép của ai Những phần sử dụng tài liệu tham khảo trong tiểu luận đã được nêu rõ trong phần tài liệu tham khảo Các số liệu, kết quả trình bày trong tiểu luận được sử dụng trung thực
Hà Nội, ngày 1 tháng 12 năm 2023
Tác giả
Cung Văn Thắng
Trang 5TÓM TẮT
Trí tuệ nhân tạo (AI - Artificial Intelligence) đang đóng vai trò ngày càng quan trọng trong cuộc sống hàng ngày, và một trong những phương thức quan trọng của nó là Mạng Neuron Sâu (DNN - Deep Neural Network) DNN là một hệ thống mô hình hóa
dữ liệu dựa trên cấu trúc của mạng neuron trong não người Giúp máy tính học và hiểu thông tin một cách tự động Ngoài ra còn đưa ra các giải pháp sáng tạo trong ô tô tự hành, tài chính, và nhiều lĩnh vực khác Với khả năng học từ dữ liệu và áp dụng kiến thức này vào các tình huống mới, DNN đang đóng một vai trò quan trọng trong việc định hình tương lai của trí tuệ nhân tạo và ứng dụng của nó trong xã hội
Từ khóa: DNN – Deep Neural Network
Trang 6MỤC LỤC
MỞ ĐẦU 1
NỘI DUNG CHÍNH 2
CHƯƠNG 1: KIẾN TRÚC DEEP NEURAL NETWORK (DNN) 2
1.1 Khái niệm về DNN 2
1.2 Giải thích về các lớp DNN 2
1.3 Điều gì tạo nên một DNN 5
1.4 Các loại DNN phổ biến 8
CHƯƠNG 2: KIẾN TRÚC CÁC LOẠI DEEP NEURAL NETWORK (DNN) PHỔ BIẾN 10
2.1 Multi-Layer Perceptrons (MLP) 10
2.2 Convolutional Neural Networks (CNN) 11
2.3 Recurrent Neural Networks (RNN) 13
CHƯƠNG 3: ỨNG DỤNG DEEP NEURAL NETWORK (DNN) TRONG CÁC LĨNH VỰC HIỆN ĐẠI 17
3.1 Thị giác máy tính và nhận dạng hình ảnh 17
3.2 Phân tích cảm xúc 18
3.3 Phát hiện gian lận 18
3.4 Xử lý ngôn ngữ tự nhiên 19
3.5 Dự đoán thị trường tài chính 20
CHƯƠNG 4: THỬ NGHIỆM XÂY DỰNG KIẾN TRÚC DEEP NEURAL NETWORK (DNN) 22
KẾT LUẬN 25
Trang 8DANH MỤC BẢNG BIỂU, SƠ ĐỒ
Hình 1.1: Khái niệm Deep Neural Network 2
Hình 1.2: Mối quan hệ giữa các đặc điểm đầu vào và đầu ra 3
Hình 1.3: Các lớp điển hình của DNN 4
Hình 1.4: Ví dụ về phân biệt ngựa và ngựa vằn trong DNN 5
Hình 1.5: Kiến trúc sâu của DNN 6
Hình 1.6: Thiết lập trọng số trong DNN 6
Hình 1.7: Quá trình Backpropagation (Lan truyền ngược) 7
Hình 1.8: Kích thước tập huấn luyện và thời gian huấn luyện cho một số DNN 8
Hình 1.9: Mô hình Multi-Layer Perceptron (MLP) trong DNN 8
Hình 1.10: Mô hình Convolutional Neural Network (CNN) trong DNN 9
Hình 1.11: Mô hình Recurrent Neural Network (RNN) trong DNN 9
Hình 2.1: MLP hiển thị Layer[i - 1] đầu vào ở bên trái và Layer[i] đầu ra ở bên phải 10 Hình 2.2: Bước đầu tiên đơn giản của một CNN 11
Hình 2.3: CNN hiển thị các Feature Map đầu vào của Layer[i - 1] ở bên trái, các Feature Map đầu ra của Layer[i] ở bên phải 12
Hình 2.4: Các ô LSTM được kết nối với nhau 14
Hình 2.5: Ô LSTM chứa 5 lần nhân ma trận-vector, 3 lần nhân phần tử, 1 lần cộng phần tử và 6 hàm phi tuyến 15
Hình 3.1: Ứng dụng nhận diện phương tiện giao thông 17
Hình 3.2: Ứng dụng trong xe ô tô tự lái 17
Hình 3.3: Ứng dụng nhận diện cảm xúc qua khuôn mặt 18
Hình 3.4: Ứng dụng trong việc phát hiện lừa đảo Deep Fake 19
Hình 3.5: Ứng dụng tạo chat bot hỗ trợ khách hàng 20
Hình 3.6: Ứng dụng dự đoán giá cổ phiếu 21
Hình 4.1: Bài toán phân loại hình ảnh chữ số viết tay từ tập dữ liệu MNIST 24
Trang 9MỞ ĐẦU
Cuộc sống hàng ngày, đặc biệt là ở các nước có công nghệ tiên tiến, ngày càng phụ thuộc vào công nghệ Trí tuệ nhân tạo (AI) AI đã trở nên phổ biến rộng rãi vì nhiều lợi ích của nó, mang lại những tiến bộ tích cực trong nhiều ngành công nghiệp khác nhau Về bản chất, AI đã trở nên không thể thiếu trong thời đại hiện đại ngày nay Việc
tự động học các mẫu phức tạp thông qua nhận dạng dữ liệu đã trở nên khả thi với sự trợ giúp của Mạng lưới thần kinh sâu (DNN) Được phát triển như một phương pháp AI lấy cảm hứng từ bộ não con người, DNN đóng một vai trò quan trọng trong việc hỗ trợ máy tính xử lý dữ liệu và có thể hỗ trợ thực hiện các nhiệm vụ đa dạng Các phương pháp nhận dạng giọng nói đã chứng kiến tỷ lệ lỗi từ giảm đáng kể 30% nhờ triển khai thành công mạng lưới thần kinh sâu Thành công này đánh dấu bước nhảy vọt lớn nhất trong suốt hai thập kỷ qua! Nhận dạng hình ảnh cũng được hưởng lợi đáng kể từ công nghệ đột phá này, với tỷ lệ lỗi giảm từ 26% kể từ năm 2011 xuống mức ấn tượng 3,5% Tỷ lệ phần trăm này vượt trội hơn tỷ lệ 5% mà con người chúng ta nhận ra hình ảnh
Sau nhiều lần tham khảo ý kiến của các thầy hướng dẫn là TS Hoàng Gia Hùng,
thầy Hiếu và thầy Mạnh, đề tài nghiên cứu “Kiến Trúc Deep Neural Network và Ứng
Dụng Trong Các Lĩnh Vực Hiện Đại” đã được chọn
Mục tiêu là kiểm tra chặt chẽ DNN, nêu bật vai trò quan trọng của nó trong việc định hình những tiến bộ của trí tuệ nhân tạo và việc sử dụng rộng rãi nó trong xã hội hiện đại Các kiến trúc DNN phổ biến như MLP, CNN và RNN là trọng tâm của nghiên cứu này Tìm hiểu sâu vào cấu trúc cơ bản của chúng và ứng dụng nhiều lĩnh vực như y học, tài chính, xử lý hình ảnh, ngôn ngữ tự nhiên và xe tự lái nơi DNN được sử dụng thành công
Trang 10NỘI DUNG CHÍNH CHƯƠNG 1: KIẾN TRÚC DEEP NEURAL NETWORK (DNN)
1.1 Khái niệm về DNN
DNN là loại mô hình máy học và trí tuệ nhân tạo được xây dựng dựa trên kiến trúc tế bào thần kinh trong não người Nơ-ron nhân tạo được sử dụng trong mạng nơ-ron đơn giản chỉ tính tổng qua một tập hợp các tích giữa trọng số hoặc tham số và giá trị dữ liệu, sau đó được đưa qua một hàm phi tuyến để xác định đầu ra của nó Như chúng ta sẽ thấy, mỗi nơ-ron nhân tạo có một số lượng lớn các kết nối đầu vào và đầu
ra
Hình 1.1: Khái niệm Deep Neural Network
Trong đó, in” là số lượng kết nối đầu vào mà một nơ-ron nhân tạo nhận, và out” là số lượng kết nối đầu ra mà nó tạo ra Cả hai yếu tố này đều quan trọng để hiểu cách mạng nơ-ron làm việc và tại sao chúng có khả năng học và xử lý thông tin một cách mạnh mẽ
“fan-Deep Neural Network (DNN) là một lĩnh vực quan trọng trong “fan-Deep Learning, một nhánh của trí tuệ nhân tạo (AI) tập trung vào việc xây dựng và huấn luyện các mô hình máy học với kiến trúc mạng nơ-ron sâu
1.2 Giải thích về các lớp DNN
Trang 11Các hàm phi tuyến tính được sử dụng trong DNN để tạo ra các nơ-ron nhân tạo bắt chước chức năng giống như não Tổng trọng số của các đầu vào cũng được tính đến trước khi tập hợp các nơ-ron giả này thành các lớp, trong đó đầu ra của một lớp này trở thành đầu vào của lớp tiếp theo trong chuỗi
Hình 1.2: Mối quan hệ giữa các đặc điểm đầu vào và đầu ra
Đối với DNN xử lý hình ảnh, dữ liệu đầu vào sẽ là các điểm ảnh pixel của một bức ảnh, với giá trị pixel được nhân với trọng số tương ứng Mặc dù đã thử nghiệm nhiều hàm phi tuyến khác nhau, một hàm phổ biến hiện nay đơn giản là f(x) = max (0, x), trả về 0 nếu x là số âm và giữ nguyên giá trị nếu là số không âm hoặc bằng 0 (Hàm đơn giản này có tên phức tạp là Rectified Linear Unit hoặc ReLU.) Kết quả của một hàm phi tuyến được gọi là một activation, vì đây chính là kết quả của nơ-ron nhân tạo đã
“kích hoạt.”
Một cụm nơ-ron nhân tạo có thể xử lý các phần khác nhau của đầu vào, và kết quả của cụm đó trở thành đầu vào cho tầng nơ-ron nhân tạo tiếp theo Các tầng giữa tầng đầu vào và tầng đầu ra được gọi là các tầng ẩn Trong xử lý hình ảnh, ta có thể tưởng tượng mỗi tầng đang tìm kiếm các loại đặc trưng khác nhau, từ những đặc trưng cấp thấp như cạnh và góc đến những đặc trưng cấp cao, đến ứng dụng xử lý ảnh đang cố gắng quyết định liệu hình ảnh có chứa một đối tượng cụ thể hay không
Trang 12Hình 1.3: Các lớp điển hình của DNN
Hình trên cho thấy một thiết kế nhiều lớp điển hình của DNN với
• lớp đầu vào - lớp đầu tiên tải dữ liệu vào mô hình và truyền dữ liệu mà không
Ví dụ: Giả sử bạn muốn tạo một DNN có khả năng nhận dạng những con ngựa và ngựa
vằn nói trên trong ảnh Tập dữ liệu của bạn sẽ bao gồm nhiều hình ảnh hiển thị cả hai con vật với mỗi hình ảnh được tạo thành từ một số pixel nhất định Mỗi pixel sẽ có một
nơ-ron tương ứng ở lớp đầu vào Nơ-ron là các nút riêng lẻ chịu trách nhiệm về luồng
dữ liệu và tính toán Nói chung, họ thực hiện các nhiệm vụ sau:
• nhận tín hiệu đầu vào từ tập hợp dữ liệu thô hoặc từ nơ-ron của lớp trước,
• thực hiện một số phép tính toán học trên các tín hiệu họ nhận được và
• gửi tín hiệu đầu ra đến các nơron nằm ở các lớp tiếp theo
Trang 13Hình 1.4: Ví dụ về phân biệt ngựa và ngựa vằn trong DNN
Mỗi nơ-ron chứa số hiển thị giá trị của một biến nhất định, trong trường hợp của chúng
ta là pixel hình ảnh Những con số này được gọi là kích hoạt Sự kích hoạt trong một lớp
sẽ xác định sự kích hoạt của lớp tiếp theo, v.v
Tất cả các nơ-ron được kết nối bằng các đường gọi là khớp thần kinh cho phép truyền kích hoạt từ nút này sang nút khác Các khớp thần kinh có trọng số được xác
định bởi số lượng kích hoạt của các nơ-ron trước đó Trọng số càng lớn thì càng ảnh hưởng nhiều đến lớp tiếp theo Nói một cách đơn giản, điều này có nghĩa là khả năng một nút nhất định chứa một hoặc nhiều pixel thuộc về hình ảnh của một con ngựa hoặc ngựa vằn sẽ cao hơn
Khi đầu vào từ các nơ-ron ở các lớp trước chạm vào nơ-ron đích ở một nơ-ron khác, nơ-ron nhân mỗi đầu vào với trọng số tương ứng của nó và chuyển tổng trọng số
của chúng cho một hàm kích hoạt Ngoài ra còn có các số độ lệch được thêm vào tổng
có trọng số và vai trò của chúng là di chuyển hàm kích hoạt theo các hướng khác nhau
để phù hợp hơn với dự đoán với dữ liệu Điều đó có nghĩa là độ lệch cho bạn biết tổng trọng số cần phải cao bao nhiêu trước khi nơ-ron bắt đầu hoạt động
Sau đó, hàm kích hoạt sẽ tính giá trị đầu ra cho nơ-ron đã cho và do đó, một khớp thần kinh khác sẽ đi qua nó vào lớp tiếp theo Kết quả cuối cùng thể hiện mức độ hệ thống cho rằng một hình ảnh nhất định là hình con ngựa chứ không phải ngựa vằn
1.3 Điều gì tạo nên một DNN
Trang 14DNN sử dụng kiến trúc sâu trong mạng nơ-ron “Sâu” đề cập đến các chức năng
có độ phức tạp cao hơn về số lượng lớp và đơn vị trong một lớp Khả năng quản lý các tập dữ liệu lớn trên đám mây giúp xây dựng các mô hình chính xác hơn bằng cách sử dụng các lớp bổ sung và lớn hơn để thu thập các mẫu ở cấp độ cao hơn
Hình 1.5: Kiến trúc sâu của DNN
Hai giai đoạn chính của DNN được gọi là đào tạo (hoặc học tập) và suy luận (hoặc dự đoán) và chúng đề cập đến giai đoạn phát triển so với giai đoạn sản xuất hoặc ứng dụng Khi tạo kiến trúc của hệ thống mạng sâu, nhà phát triển sẽ chọn số lớp và loại mạng thần kinh, sau đó quá trình đào tạo sẽ xác định trọng số
Hình 1.6: Thiết lập trọng số trong DNN
Việc thiết lập trọng số là một quá trình lặp lại diễn ra ngược lại qua mạng nơ-ron bằng cách sử dụng bộ dữ liệu huấn luyện Quá trình này được gọi là thuật toán backpropagation (lan truyền ngược)
Trang 15Ví dụ, nhận diện con vật trong một hình ảnh của bộ dữ liệu huấn luyện, bạn kiểm tra kết quả mà mạng nơ-ron sâu (DNN) đưa ra về hình ảnh đó và sau đó điều chỉnh các trọng số để cải thiện kết quả Đáng kinh ngạc là, các trọng số ở đầu quá trình huấn luyện nên được thiết lập ban đầu là dữ liệu ngẫu nhiên, và bạn chỉ cần lặp lại quá trình này cho đến khi bạn hài lòng với độ chính xác của DNN sử dụng bộ dữ liệu huấn luyện
Hình 1.7: Quá trình Backpropagation (Lan truyền ngược)
Mục tiêu của quá trình học là tìm ra một hàm mà ánh xạ đầu vào đến các đầu ra chính xác qua kiến trúc mạng nơ-ron đa tầng Thuật ngữ “Backpropagation” viết tắt của
“back propagation of errors” có nghĩa là việc lan truyền ngược của sai số Nó tính toán
độ dốc trên tất cả các trọng số, sau đó được đưa vào một thuật toán tối ưu hóa cố gắng giảm thiểu sai số bằng cách cập nhật trọng số Thuật toán tối ưu hóa phổ biến nhất cho DNN là stochastic gradient descent Nó điều chỉnh các trọng số theo tỷ lệ để tối đa hóa giảm dốc của độ dốc được thu được từ backpropagation
Trang 16Hình 1.8: Kích thước tập huấn luyện và thời gian huấn luyện cho một số DNN
Quá trình huấn luyện có thể mất hàng tuần tính toán Giai đoạn suy luận thường chỉ mất dưới 100 ms cho mỗi mẫu dữ liệu, tức là ít hơn một triệu lần so với quá trình huấn luyện Mặc dù quá trình huấn luyện mất nhiều thời gian hơn so với một lần suy luận đơn lẻ, thời gian tính toán tổng cộng cho suy luận là một tích của số lượng khách hàng sử dụng DNN và tần suất họ kích hoạt nó
1.4 Các loại DNN phổ biến
Có ba loại DNN sau đây được sử dụng phổ biến hiện nay:
• Multi-Layer Perceptron (MLP): Mô hình này bao gồm nhiều lớp nơ-ron, trong
đó mỗi nơ-ron của mỗi lớp kết nối với tất cả các nơ-ron của lớp trước và sau nó MLP thường được sử dụng cho các nhiệm vụ phân loại và học không giám sát
Hình 1.9: Mô hình Multi-Layer Perceptron (MLP) trong DNN
Trang 17• Convolutional Neural Network (CNN): Được thiết kế đặc biệt cho xử lý dữ liệu
không gian như hình ảnh CNN sử dụng các lớp tích chập để tự động học các đặc trưng từ dữ liệu và thường được sử dụng trong các ứng dụng thị giác máy tính
Hình 1.10: Mô hình Convolutional Neural Network (CNN) trong DNN
• Recurrent Neural Networks (RNN): Dùng cho dữ liệu có tính tuần tự, như văn
bản hoặc âm thanh RNN có khả năng giữ thông tin từ quá khứ và sử dụng nó để
dự đoán hoặc phân loại dữ liệu hiện tại
Hình 1.11: Mô hình Recurrent Neural Network (RNN) trong DNN
Các loại DNN này đều có ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống thực tế
Trang 18CHƯƠNG 2: KIẾN TRÚC CÁC LOẠI DEEP NEURAL NETWORK (DNN) PHỔ BIẾN
2.1 Multi-Layer Perceptrons (MLP)
MLP (Multilayer Perceptron) là mô hình Neural Networks đầu tiên Mỗi tầng mới
là một tập hợp các hàm phi tuyến F của tổng trọng số của tất cả các đầu ra từ tầng trước
đó 𝑦𝑛 = 𝐹(𝑊 × 𝑦𝑛−1) Tổng trọng số này bao gồm phép nhân ma trận giữa đầu ra với trọng số Một tầng như vậy được gọi là “fully connected” vì kết quả của mỗi nơ-ron đầu
ra phụ thuộc vào tất cả các nơ-ron đầu vào của tầng trước đó
Chúng ta có thể tính toán số lượng nơ-ron, số lượng phép toán, và số lượng trọng số cho mỗi tầng của từng loại DNN Dễ nhất là MLP vì nó chỉ là một vector-matrix
Hình 2.1: MLP hiển thị Layer[i - 1] đầu vào ở bên trái và Layer[i] đầu ra ở bên phải.
Phép nhân của vector đầu vào với mảng trọng số Dưới đây là các tham số và các phương trình để xác định trọng số và phép toán cho quá trình suy luận (chúng ta tính cả phép nhân và cộng là hai phép toán):
• 𝐷𝑖𝑚[𝑖]: Kích thước của vector đầu ra, tương ứng với số lượng nơ-ron
• 𝐷𝑖𝑚[𝑖 − 1]: Kích thước của vector đầu vào
• Số lượng weights: 𝐷𝑖𝑚[𝑖 − 1] × 𝐷𝑖𝑚[𝑖]
• Số lượng operations: 2 × Số lượng weights
• Operations/weights: 2