Nhan đề : Phát triển ứng dụng dự báo nhu cầu tiền mặt tại các ATM sử dụng mạng rơron Tác giả : Trần Lê Tùng Người hướng dẫn: Vũ Văn Thiệu Từ khoá : ATM; Nhu cầu tiền mặt; Mạng nơron Năm xuất bản : 2020 Nhà xuất bản : Trường đại học Bách Khoa Hà Nội Tóm tắt : Tổng quan về dự báo, mạng nơron nhân tạo, học máy, học sâu; bài toán và mô hình đề xuất; cài đặt và kết quả thực nghiệm.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Phát tri ển ứng dụng dự báo nhu cầu tiền
tletung@gmail.com
Gi ảng viên hướng dẫn: TS Vũ Văn Thiệu
Viện: Công nghệ thông tin và truyền thông
HÀ N ỘI, 10/2020
Chữ ký của GVHD
Trang 3L ỜI CAM ĐOAN
Những kiến thức trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày theo những kiến thức tổng hợp của cá nhân Kết quả nghiên cứu trong luận văn này chưa từng được công bố tại bất kỳ công trình nào khác Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của bất kỳ ai
Tôi xin chịu hoàn toàn trách nhiệm, nếu sai, tôi xin chịu mọi hình thức kỷ luật theo quy định
Hà Nội, ngày tháng năm 2020
Học viên
Trần Lê Tùng
Trang 5Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình
HỌC VIÊN
Trần Lê Tùng
Trang 6TÓM T ẮT NỘI DUNG ĐỀ TÀI
Dự báo chuỗi thời gian là một quá trình ước tính giá trị tương lai dựa trên
dữ liệu lịch sử và nó đóng một vai trò quan trọng trong việc ra quyết định kinh doanh trong các lĩnh vực khác nhau Việc lựa chọn một kỹ thuật dự báo chuỗi thời gian phù hợp phụ thuộc vào sự hiện diện của bốn thành phần sau: xu hướng, theo mùa, theo chu kỳ và bất thường Mục đích của đề tài này là cung cấp một
mô hình dự báo mạnh mẽ để dự đoán số tiền rút tại các máy rút tiền tự động ATM bằng cách sử dụng mạng nơ-ron với phương pháp học sâu trong giải quyết bài toán dự báo chuỗi thời gian Đồng thời tôi đề xuất một mô hình mạng nơ-ron
sử dụng bộ Encoder - Decoder kết hợp cơ chế Attention, kết quả thực nghiệm cho thấy độ chính xác khá tốt Xem xét cách tiếp cận đa biến, bằng cách đưa vào nhiều biến hơn, kết quả có được hiệu suất tốt hơn cho dự đoán sẽ là nền tảng để giải quyết các bài toán thực tế
Trang 7M ỤC LỤC
L ỜI CAM ĐOAN i
LỜI CẢM ƠN iii
TÓM TẮT NỘI DUNG ĐỀ TÀI iv
DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vii
DANH M ỤC HÌNH VẼ viii
DANH M ỤC BẢNG BIỂU x
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Lý do chọn đề tài 1
1.2 Tính cấp thiết của đề tài 1
1.3 Mục tiêu của đề tài 2
1.4 Đối tượng và phạm vi nghiên cứu 2
1.5 Ý nghĩa khoa học và thực tiễn 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ NGHIỆP VỤ 3
2.1 Tổng quan về dự báo 3
2.1.1 Khái niệm dự báo 3
2.1.2 Mục đích của dự báo 4
2.1.3 Những khó khăn trong phân tích dự báo 4
2.1.4 Các phương pháp dự báo 4
2.1.5 Quy trình thực hiện dự báo 5
2.2 Tổng quan về mạng nơ-ron nhân tạo 6
2.2.1 Khái niệm 6
2.2.2 Mạng nơ-ron nhân tạo là gì? 6
2.2.3 Lịch sử phát triển của mạng nơ-ron nhân tạo 6
2.2.4 Mạng nơ-ron sinh học 7
2.2.5 Mạng nơ-ron nhân tạo 8
2.3 Học máy 12
2.3.1 Học máy là gì? 12
2.3.2 Phân loại các mô hình học máy 12
2.3.3 Các kỹ thuật cải tiến hiệu năng mô hình 13
2.4 Học sâu 18
2.4.1 Học sâu là gì? 18
2.4.2 Dữ liệu chuỗi thời gian 20
Trang 82.4.3 Các kỹ thuật trong học sâu trong bài toán dữ liệu thời gian 21
CHƯƠNG 3 BÀI TOÁN VÀ MÔ HÌNH ĐỀ XUẤT 25
3.1 Đặt vấn đề 25
3.2 Mô hình dữ liệu chuỗi thời gian 25
3.2.1 Mô hình Seq2seq 25
3.2.2 Hoạt động cơ chế Attention 28
3.2.3 Kĩ thuật Teacher forcing 30
3.3 Thuật toán quy hoạch động 32
CHƯƠNG 4 CÀI ĐẶT VÀ KẾT QUẢ THỰC NGHIỆM 37
4.1 Dữ liệu thử nghiệm 37
4.1.1 Bộ dữ liệu NN5 37
4.1.2 Bộ dữ liệu của Ngân hàng 39
4.2 Chi tiết cài đặt 41
4.2.1 Các siêu tham số của mạng nơ-ron 41
4.2.2 Tiền xử lý dữ liệu 41
4.2.3 Huấn luyện 42
4.2.4 Môi trường, thiết bị, công cụ sử dụng 42
4.3 Kết quả 43
4.3.1 Kết quả trên bộ dữ liệu NN5 43
4.3.2 Kết quả trên bộ dữ liệu Ngân hàng 45
K ẾT LUẬN 48
Kết quả đạt được 48
Định hướng phát triển 48
TÀI LI ỆU THAM KHẢO 49
Trang 9DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
STT TÊN VIẾT
1 ANN Artificial Neural
Network
Mạng nơ-ron nhân tạo
Mạng nơ-ron hồi quy
11 GPU Graphics processing
unit
Bộ vi xử lý chuyên dụng nhận nhiệm vụ tăng tốc, xử lý đồ họa cho bộ vi xử lý trung tâm CPU
12 CDM Cash Deposit Machine Máy gửi tiền tự động
Trang 10DANH M ỤC HÌNH VẼ
Hình 2.1 Dự đoán xu hướng thị trường 3
Hình 2.2 Quy trình thực hiện dự báo 5
Hình 2.3 Cấu trúc nơ-ron sinh học 8
Hình 2.4 Mô hình một nơ-ron nhân tạo 9
Hình 2.5 Kiến trúc mạng một lớp chứa lớp ẩn 10
Hình 2.6 Kiến trúc của một mạng nơ-ron truyền thẳng nhiều lớp 11
Hình 2.7 Kiến trúc mạng nơ-ron phản hồi 11
Hình 2.8 Phương pháp Hold-out 14
Hình 2.9 Đánh giá 3 phân đoạn 15
Hình 2.10 Underfit, Goodfit và Overfit 16
Hình 2.11 Mạng nơ-ron sử dụng kỹ thuật Dropout 18
Hình 2.12 Biểu đồ dữ liệu chuỗi thời gian 20
Hình 2.13 Mạng nơ-ron liên kết đầy đủ nhiều lớp 21
Hình 2.14 Mạng nơ-ron tích chập 22
Hình 2.15 Bộ lọc nhận diện đặc trưng dạng cạnh/góc qua ảnh 22
Hình 2.16 Mạng hồi quy 23
Hình 2.17 Hàm ReLU và hàm tanh 24
Hình 3.1 Mô hình seq2seq 25
Hình 3.2 Sơ đồ biểu diễn kiến trúc bên trong một đơn vị của lớp hồi quy LSTM .26
Hình 3.3 Mạng hồi quy hai chiều 27
Hình 3.4 Khối giải mã với cơ chế Attention 29
Hình 3.5 Mô hình Encoder - Decoder kết hợp cơ chế Attention [7] 30
Hình 3.6 Kĩ thuật teacher forcing 31
Hình 4.1 Các thông tin mô tả dữ liệu NN5 37
Hình 4.2 Dữ liệu chuỗi thời gian NN5-005 38
Hình 4.3 Dữ liệu chuỗi thời gian NN5-008 38
Hình 4.4 Dữ liệu chuỗi thời gian NN5-009 38
Hình 4.5 Dữ liệu chuỗi thời gian NN5-010 39
Hình 4.6 Dữ liệu thực ATM01 40
Hình 4.7 Dữ liệu thực ATM02 40
Hình 4.8 Dữ liệu thực ATM03 40
Hình 4.9 Dữ liệu thực ATM04 41
Hình 4.10 Kết quả dự đoán bộ NN5-005 43
Hình 4.11 Kết quả dự đoán bộ NN5-008 44
Hình 4.12 Kết quả dự đoán bộ NN5-009 44
Trang 11Hình 4.13 Kết quả dự đoán bộ NN5-010 44
Hình 4.14 Kết quả dự đoán ATM 01 45
Hình 4.15 Kết quả dự đoán ATM 02 45
Hình 4.16 Kết quả dự đoán ATM 03 46
Hình 4.17 Kết quả dự đoán ATM 04 46
Trang 12DANH M ỤC BẢNG BIỂU
Bảng 3.1 Tổng lượng tiền cả gốc lẫn lãi 33
Bảng 3.2 Tiền lãi theo ngày 33
Bảng 3.3 Lãi cộng dồn 33
Bảng 3.4 Chi phí tối ưu 34
Bảng 4.1 Kết quả hàm mất mát 43
Bảng 4.2 Chi phí tiếp quỹ ATM 46
Trang 13
CHƯƠNG 1 GIỚI THIỆU 1.1 Lý do chọn đề tài
Cuộc sống hiện đại ngày càng phát triển, thói quen sử dụng tiền mặt của người dân còn phổ biến, các hoạt động giao thương mua bán hằng ngày cũng trở nên đơn giản hơn nhờ vào sự phát triển không ngừng các dịch vụ trong hệ thống ngân hàng Máy rút tiền tự động hay máy giao dịch tự động (còn được gọi
là ATM)1 là thiết bị tự động được vi tính hóa cung cấp cho khách hàng của tổ chức tài chính một phương thức giao dịch tiền mặt tại các điểm giao dịch công cộng mà không cần sự trợ giúp của nhân viên giao dịch Hiện nay mạng lưới ATM của Ngân hàng ngày càng lớn rộng, theo thống kê của Vụ thanh toán (Ngân hàng nhà nước Việt Nam) tính đến hết Quý I năm 2020 số lượng máy ATM đạt 19.548 tăng 4,71 % so với cùng kỳ năm 2019, số lượng giao dịch thanh toán nội địa qua thẻ ngân hàng là 250.920.307 món (tăng 7.82% so với cùng kỳ năm 2019) với tổng giá trị giao dịch hơn 700 tỷ đồng (tăng 7,56% so với cùng kỳ 2019) [1] Trong bối cảnh lãi xuất tăng cao, để nâng cao hiệu quả hoạt động các ngân hàng đã chú ý đến việc gia tăng quản lý tiền mặt của họ trong các máy ATM Thông qua tối ưu hóa quản lý tiền mặt, các ngân hàng có thể duy trì tiếp quỹ không quá nhiều tiền mặt tại các máy và thu lợi nhuận từ việc huy động tiền nhàn rỗi Do đó, chúng ta phải xây dựng một mô hình và phát triển các thuật toán tiên tiến để dự đoán chính xác nhu cầu tiền mặt cho máy ATM Dựa trên dự báo nhu cầu tiền mặt từ một hệ thống quản lý tiền mặt thông minh sẽ cung cấp thông tin về trình trạng tồn quỹ tại các máy ATM giúp cho người quản lý phân tích và đưa ra quyết định Đồng thời, giảm chi phí vận hành và tối đa hóa lợi nhuận trên tài sản tiền mặt của ngân hàng
1.2 Tính c ấp thiết của đề tài
Quản lý tiền mặt là bài toán chung cho các ngân hàng, lượng tiền mặt biến động đòi hỏi quản lý theo thời gian thực, phân bổ sắp xếp nguồn lực để vận hành các máy ATM một cách hợp lý Mạng lưới máy ATM càng mở rộng, phát triển thì việc quản lý tiền mặt trở thành nhu cầu cấp thiết Quản lý tiền mặt tại các máy ATM hiệu quả sẽ giúp vận hành tốt, giảm chi phí hoạt động cho các ngân hàng Ngân hàng trong đề tài nghiên cứu có hệ thống mạng lưới ATM trên khắp
cả nước với số lượng thiết bị lên đến gần 150 máy Quy trình quản lý tiền mặt giữa các chi nhánh, kho quỹ chưa có sự đồng nhất, phụ thuộc vào bộ phận tiền tệ kho quỹ, bộ phận kế toán Việc phân bổ nguồn lực chưa hợp lý dẫn đến một số điểm giao dịch dư thừa quỹ, trong khi một số điểm giao dịch khác lại thiếu quỹ
để phục vụ nhu cầu của khách hàng Khi lượng tiền mặt nhập xuất thay đổi liên tục thì nhà quản lý rất khó kiểm soát để đưa ra quyết định phù hợp Do đó cần phải có công cụ hỗ trợ quản lý tiền mặt để phải đảm bảo sự sẵn có của tiền mặt trong mạng lưới ATM và phải ước tính lượng tiền dự trữ tối ưu cộng với việc
1 https://en.wikipedia.org/wiki/Automated_teller_machine
Trang 14quản lý, kiểm soát hiệu quả việc xử lý tiền mặt hàng ngày, nhằm giảm chi phí vận hành và chi phí tiếp quỹ tại mỗi máy ATM Ứng dụng Hệ thống phải đủ linh hoạt để cho phép ngân hàng dự báo nhu cầu trong tương lai, hỗ trợ người lãnh đạo ra quyết định
1.3 M ục tiêu của đề tài
Xây dựng phát triển mô hình dự báo nhu cầu tiền mặt cho mọi máy ATM
dựa trên dữ liệu nhu cầu tiền mặt trong quá khứ, quy trình tối ưu hóa sẽ xác định lượng tiền mặt tối ưu cho mỗi máy ATM bằng cách tính toán chi phí vận hành và tiếp quỹ theo lãi suất như sau:
• Quản lý tài sản tiền mặt
• Giảm tồn quỹ theo ngày, cứ hết ngày máy sẽ hết tiền và được tiếp quỹ vào ngày hôm sau
• Tối ưu hóa lợi nhuận tài sản tiền mặt và chi phí vận hành tại các máy ATM
• Hỗ trợ người quản lý ra quyết định, chủ động xây dựng kế hoạch và thực hiện công tác tiếp quỹ
• Đảm bảo các máy luôn đủ tiền phục vụ nhu cầu giao dịch của khách hàng
1.4 Đối tượng và phạm vi nghiên cứu
Đề tài nghiên cứu lý thuyết để nắm rõ các mô hình mạng nơ-ron, các phương pháp dự báo, lý thuyết về mạng nơ-ron nhân tạo trong giải quyết bài toán
dự báo chuỗi thời gian áp dụng vào bài toán dự báo nói chung và dự báo số tiền mặt tiếp quỹ cho máy ATM nói riêng Các phương pháp dự báo nhu cầu tiền mặt hàng ngày được đề xuất cho máy rút tiền tự động được chạy thử nghiệm trên bộ
dữ liệu mẫu NN5 và dữ liệu một ngân hàng thương mại Trên cơ sở đó lựa chọn
mô hình phù hợp và thử nghiệm để hiệu chỉnh tối ưu mô hình đã chọn
1.5 Ý nghĩa khoa học và thực tiễn
Đề tài chỉ ra khả năng ứng dụng mạng nơ-ron nhân tạo trong công tác dự báo nói chung và dự báo trong lĩnh vực quản lý tiền mặt nói riêng cho thấy mô hình đề xuất đưa ra dự đoán với mức độ chất lượng cao cho các dự báo dài hạn, hướng đến các kết quả chính xác hơn Trong tương lai, các phương pháp dự báo mới sẽ được nghiên cứu để cải thiện kết quả thu được
Nội dung của đề tài được chia ra làm 4 chương cụ thể như sau:
CHƯƠNG 1 GIỚI THIỆU
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ NGHIỆP VỤ
CHƯƠNG 3 BÀI TOÁN VÀ MÔ HÌNH ĐỀ XUẤT
CHƯƠNG 4 CÀI ĐẶT VÀ KẾT QUẢ THỰC NGHIỆM
Trang 15CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ NGHIỆP VỤ 2.1 T ổng quan về dự báo
Các sự việc sẽ xảy ra trong tương lai đã được nghiên cứu từ nhiều thế kỷ trước Đó là những dự báo về hiện tượng tự nhiên, về các hiện tượng xã hội
Dự báo ban đầu thực hiện chủ yếu dựa vào số liệu thống kê bằng những kinh nghiệm của người dự báo Ngày nay, sự phát triển mạnh mẽ về khoa học công nghệ công tác dự báo đã trở nên dễ dàng hơn thông qua việc áp dụng các phương pháp khác nhau để cho ra được kết quả thực tế hơn và dự báo được chính xác hơn
Trong những năm gần đây, đã có nhiều nghiên cứu cho ra đời như các phương pháp dự báo: Phương pháp hồi quy bội, phương pháp chuyên gia Delphi, phương pháp định tính, phương pháp định lượng, phương pháp ARIMA [2]…được áp dụng để dự báo những chỉ tiêu kinh tế vĩ mô và vi mô, cũng như hành vi của doanh nghiệp Tuy nhiên, mỗi phương pháp đều áp dụng khác nhau trong từng tình huống cụ thể nhằm mục đích tăng chất lượng dự báo để đạt được kết quả tốt nhất
2.1.1 Khái niệm dự báo
Dự báo là xác định những sự việc sẽ xảy ra trong tương lai bằng cách phân tích những sự việc đã xảy ra trong quá khứ và hiện tại Nó là một công cụ lập kế hoạch giúp những người kinh doanh trong nỗ lực ứng phó với sự không chắc chắn về vấn đề sẽ xảy ra và có thể xảy ra Dự báo dựa trên bộ dữ liệu phát sinh trong quá khứ, hiện tại và phân tích các xu hướng [3]
Hình 2.1 D ự đoán xu hướng thị trường
Dự báo có tính khoa học bởi vì nó dựa trên hai yếu tố: số liệu thu thập được
từ quá khứ và kết quả phân tích các chỉ tiêu ảnh hưởng đến kết quả dự báo
Trang 16Dự báo còn có tính nghệ thuật đó là dựa trên kỹ năng phán đoán của các chuyên gia, những kinh nghiệm qua thực tế để đưa ra được những kết quả với độ chính xác và tin cậy cao nhất
2.1.2 Mục đích của dự báo
Dự báo hỗ trợ ra quyết định được chính xác từ việc phân tích số liệu lịch sử
sẽ cung cấp đầy đủ thông tin về đối tượng dự báo để đưa ra được các chiến lược thực hiện Phân tích dự báo được thực hiện lặp đi lặp lại và cho kết quả đáng tin cậy thông qua sự hỗ trợ của khoa học công nghệ Việc ra quyết định sẽ không phụ thuộc vào tính chủ quan của con người mà được đưa ra một cách thống nhất đạt độ chính xác cao Đồng thời, nó rút ngắn thời gian xử lý công việc giúp cho việc ra quyết định được nhanh hơn Mặt khác, dự báo sẽ trợ giúp các nhà quản lý nắm bắt được chính xác những rủi ro để có kế hoạch đối phó với những biến động thị trường và giảm tổn thất trong hoạt động sản xuất kinh doanh
2.1.3 Những khó khăn trong phân tích dự báo
Mục tiêu của dự báo là hỗ trợ nâng cao hiệu quả, trợ giúp ra quyết định cho các nhà quản lý Tuy nhiên, một số yếu tố ảnh hưởng đến độ chính xác của dự báo nên không phải lúc nào cũng cho kết quả chính xác đó là:
Về mặt quản lý để triển khai thành công mô hình dự báo cần có sự đóng góp từ các nguồn lực trong tổ chức đặc biệt là sự hỗ trợ từ nhà quản lý để chuyển hóa từ mô hình nghiên cứu sang vận hành
Về dữ liệu thông thường các mô hình thường yêu cầu dữ liệu hai chiều bảng
có chứa hàng và cột Để tạo ra một bảng cần phải kết nối các cơ sở dữ liệu đã được lưu trữ trước đó
Khó khăn trong việc xây dựng mô hình Thách thức lớn nhất là mô hình quá phức tạp và dữ liệu huấn luyện được yêu cầu phải ghi nhớ Các yếu tố gây cản trở trong quá trình xây dựng mô hình là: mô hình thực hiện trên bộ dữ liệu mới cho kết quả kém và việc giải thích mô hình không đáng tin cậy Mặt khác, dựa quá nhiều vào mô hình được xây dựng trên dữ liệu có sẵn Giải pháp để khắc phục là xây dựng một mô hình giản đơn sau đó chạy thử nghiệm để có thể đưa ra được một mô hình mới cải tiến hơn
Về triển khai mô hình Các mô hình phải tuy không phức tạp về mặt tính toán nhưng cần phải được kiểm tra để mô hình đưa ra được dự đoán kết quả phù hợp với từng hệ thống
2.1.4 Các phương pháp dự báo
Theo cách phân loại tại Việt Nam, phương pháp dự báo thường chia thành 2 nhóm chính là phương pháp định tính và phương pháp định lượng [4]
Phương pháp định tính: cách gọi khác là phương pháp dự báo chuyên gia
[4] Phương pháp này dựa trên cơ sở nhận xét của những yếu tố liên quan, những
ý kiến về các khả năng có liên hệ của những yếu tố liên quan này trong tương lai,
sử dụng khi dữ liệu không có sẵn hoặc những dữ liệu có sẵn nhưng không đầy đủ
để phân tích, đánh giá Phương pháp định tính có liên quan đến mức độ phức tạp
Trang 17khác nhau, từ việc khảo sát ý kiến được tiến hành một cách khoa học để nhận biết các sự kiện tương lai hay từ ý kiến phản hồi của một nhóm đối tượng hưởng lợi nào đó chịu sự tác động bởi các yếu tố không thể lượng hóa được Do đó, người ta phải loại trừ ý kiến chủ quan của người dự báo để đảm bảo tính chính xác hơn
Phương pháp định lượng: dựa trên các số liệu từ quá khứ, những dữ liệu
này giả sử có liên quan đến tương lai hoặc thu thập số liệu của các đối tượng ở hiện tại để dự báo [4] Với mô hình dự báo theo định lượng có thể sử dụng thông qua chuỗi thời gian và các giá trị này được quan sát đo lường xác định thời đoạn theo từng chuỗi Vì vậy, phương pháp định lượng sẽ cho kết quả dự báo nhanh và người ta có thể đo được độ chính xác của dự báo Tuy nhiên, phương pháp này chỉ áp dụng cho dự báo ngắn và trung hạn
Để dự báo đạt được hiệu quả cao hơn người ta thường hay kết hợp cả phương pháp định tính và phương pháp định lượng Bên cạnh đó, các sự việc cần được dự báo nhiều khi không thể thực hiện qua một phương pháp đơn lẻ mà phải kết hợp nhiều phương pháp nhằm phản ánh đúng bản chất các vấn đề đó
2.1.5 Quy trình thực hiện dự báo
Theo Wilson và Keating, quy trình dự báo [5] thực hiện gồm có 9 bước như sau:
Hình 2.2 Quy trình th ực hiện dự báo
Xác định mục tiêu Xác định nội dung dự báo Xác định giai đoạn dự báo Khảo sát dữ liệu Lựa chọn mô hình Đánh giá mô hình Chuẩn bị dự báo Trình bày kết quả dự báo Theo dõi kết quả dự báo
Trang 182.2 T ổng quan về mạng nơ-ron nhân tạo
2.2.1 Khái niệm
Mạng nơ-ron nhân tạo (Neutral Network – NN) là một công cụ để thực hiện các tác vụ phức tạp để giải quyết rất nhiều bài toán khó có tính phi tuyến, như nhận dạng ảnh, giọng nói, xử lý ngôn ngữ tự nhiên…và các tác động qua lại không rõ ràng của các yếu tố có cùng mối quan hệ
Trong vài năm trở lại đây, có nhiều nghiên cứu sử dụng mạng nơ-ron khác nhau, việc sử dụng mạng nơ-ron nhân tạo để dự báo chuỗi thời gian đã được nghiên cứu nhiều do đặc điểm phù hợp dữ liệu có tính phi tuyến trong bài toán
dự báo và đã cho thấy đây là hướng tiếp cận rất hiệu quả Trong phạm vi đề tài sẽ tìm hiểu những kiến thức về mạng nơ-ron nhân tạo và khả năng ứng dụng của chúng trong bài toán dự báo
2.2.2 Mạng nơ-ron nhân tạo là gì?
Một mạng nơ-ron là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của bộ não của con người Bộ não người bao gồm tập hợp số lượng lớn các nơ-ron được gắn kết để xử lý thông tin của các tế bào thần kinh Não người được biết đến là một cơ quan rất phức tạp, một hệ thần kinh trung ương xử lý các dữ liệu có tính phi tuyến và song song, não người ước tính chứa khoảng 1010 - 101 1 tế bào thần kinh và 1015 khớp thần kinh [6] Các
tế bào thần kinh kết nối với lại với nhau dựa trên các kích thích từ nơ-ron này sang nơ-ron khác để thực hiện các chức năng phức tạp truyền thông tin Theo cách đó tốc độ xử lý của bộ não con người có thể thực hiện nhanh hơn nhiều lần
so với các máy tính nhanh nhất hiện nay
Mạng nơ-ron nhân tạo dựa trên cách thức xử lý thông tin của các hệ nơ-ron sinh học và được tạo bởi số lượng lớn các nơ-ron được kết nối với nhau thông qua mối liên kết như một thể thống nhất để giải quyết một vấn đề nào đó
Mạng nơ-ron nhân tạo (ANN) là các mô hình được mô phỏng gần giống với
bộ não con người như: có khả năng học sau khi được huấn luyện chúng sẽ tự học
đó là đặc trưng cơ bản của mạng nơ-ron sinh học ANN có khả năng lưu giữ những kinh nghiệm hiểu biết như tri thức và sử dụng chúng trong việc dự đoán các dữ liệu chưa biết Bằng cách này, chúng có thể mô phỏng được bộ não của con người khi thu thập được đủ một lượng mẫu ANN như việc có thể nhận diện được một ký tự viết tay, phát hiện bom ở sân bay…
Do đó, mạng nơ-ron được sử dụng phổ biết để có thể giải quyết các bài toán khó, các vấn đề phức tạp và mô hình có quy mô lớn
2.2.3 Lịch sử phát triển của mạng nơ-ron nhân tạo
Từ thế kỷ 19, các nhà khoa học đã quan tâm đến hệ thần kinh Dấu mốc cho
sự phát triển hệ thần kinh là vào năm 1890, nhà tâm lý học thực tiễn William James đã nghiên cứu về tâm lý học với sự liên kết các nơ-ron thần kinh [7] Năm 1943, sự kiện khởi đầu đánh dấu sự phát triển của mạng nơ-ron nhân tạo ngày nay khi các nhà thần kinh học Warren McCulloch và Walter Pitts đã chỉ
ra rằng các nơ-ron có thể được mô hình hóa, họ đã cùng nhau tiến hành xây dựng
Trang 19một mạng nơ-ron bằng các mạch điện để thực hiện các hàm logic đơn giản để hiểu được hoạt động của hệ thần kinh Các nơ-ron được xem như thiết bị nhị phân với ngưỡng cố định [8]
Vào năm 1949, nhà tâm lý học Donald O Hebb có viết trong cuốn sách
ông là sự tồn tại hoặc lặp đi lặp lại một hoạt động dấu vết có xu hướng tạo ra những thay đổi tế bào lâu dài sẽ làm tăng thêm sự ổn định
Sự phát triển về máy tính trong những năm 50s, 60s thế kỷ trước, các nhà khoa học đã hiện thực được các lý thuyết về cách thức tư duy của con người bằng việc mô hình hóa qua một số mô hình nơ-ron được đưa ra như: mạng 1 lớp Perception của nhà sinh học chuyên nghiên cứu về nơ-ron Frank Rosenbatt, các
mô hình Adaline, mô hình Madaline của Bernard Widrow và Marcian Hoff sử dụng nguyên tắc học tối thiểu bình phương trung bình (LMS – Least Mean
Squares) Đây là mô hình giải quyết bài toán thực tế đầu tiên xây dựng bộ lọc tín hiệu để loại bỏ tín hiệu dội ngược lại trong việc truyền tín hiệu trên đường dây điện thoại
Phải đến năm 1974, nhà khoa học xã hội và là người tiên phong trong học máy Paul John Werbos đã mô tả quá trình huấn luyện mạng thần kinh nhân tạo thông qua phương pháp học lan truyền ngược, phương pháp này rất phổ biến và được áp dụng rông rãi cho đến nay
Sau một thời gian tạm lắng do những lo ngại về việc máy móc trở lên thông minh hơn và có thể thay thế con người, khiến các nghiên cứu về mạng nơ-ron bị chững lại cho đến đầu những năm 80s các nghiên cứu của Grossberg, Kohonen
và Hopfield Đặc biệt hơn là công trình nghiên cứu của Hopfield không chỉ đem lại giá trị về khoa học mà còn thúc đẩy sự phát triển về mạng nơ-ron khi đưa ra mạng rời rạc và mạng liên tục Từ các nghiên cứu đó là cơ sở để David E Rumelhart, Geoffrey E Hinton đề xuất mô hình quy trình học mới là thuật toán sai số lan truyền ngược để huấn luyện mạng nơ-ron nhiều lớp nhằm giải quyết những bài toán khó hơn mà các mạng khác trước đó không thực hiện được
2.2.4 Mạng nơ-ron sinh học
Hệ thống thần kinh bao gồm ba giai đoạn: cơ quan thụ cảm, mạng lưới thần kinh và cơ quan hiệu ứng [9] Các cơ quan thụ cảm nhận các kích thích từ bên trong hoặc từ bên ngoài, truyền thông tin vào các tế bào thần kinh dưới dạng xung điện Mạng nơ-ron sẽ xử lý các đầu vào rồi đưa ra quyết định đầu ra phù hợp, các hiệu ứng chuyển các xung điện từ mạng thần kinh thành phản ứng với môi trường bên ngoài
Trang 20Hình 2.3 C ấu trúc nơ-ron sinh học
Cấu trúc một tế bào nơ-ron thần kinh Hình 2.3 gồm ba phần chính là:
Thân t ế bào (Soma): là phần hình cầu của tế bào thần kinh chứa nhân và nơi
tạo ra các protein (các protein được tổng hợp trong thân Nissl của ER thô trong thân tế bào của tế bào thần kinh) Soma và nhân không đóng vai trò tích cực trong việc truyền tín hiệu thần kinh mà dùng để hỗ trợ duy trì tế bào và giữ cho tế bào thần kinh hoạt động
S ợi trục (Axon): là sợi dài kéo dài từ thân tế bào đến các đầu tận cùng và
truyền tín hiệu thần kinh Sợi trục là cơ quan có trách nhiệm cho sự di chuyển của ty thể, lipid, túi synap, protein và các bộ phận tế bào khác (ví dụ như bào quan) đến tế bào thần kinh của tế bào thần kinh Đường kính của sợi trục càng lớn thì nó truyền thông tin càng nhanh Một số sợi trục được bao phủ bởi một chất béo gọi là myelin hoạt động như một chất cách điện Các sợi trục có myelin này truyền thông tin nhanh hơn nhiều so với các nơron khác
Khớp thần kinh (Synapse): Là bộ phận trung gian chịu trách nhiệm gửi tín
hiệu đến các nơ-ron khác thông qua đầu ra nơ-ron với rễ, nhánh của các nơ-ron
kế cận Chúng có chứa các túi chứa các chất dẫn truyền thần kinh, chuyển đổi các xung điện thành tín hiệu hóa học và chịu trách nhiệm về việc tái hấp thu bất kỳ chất dẫn truyền thần kinh nào
2.2.5 Mạng nơ-ron nhân tạo
Cấu tạo nơ-ron nhân tạo
Từ các kết quả nghiên cứu, người ta đã tìm ra cách xây dựng được các mô hình mạng nơ-ron nhân tạo từ việc hiểu biết về cách thức hoạt động của các tế bào thần kinh sinh học Một nơ-ron đơn lẻ là thành phần cơ bản của một mạng nơ-ron để xử lý các thông tin
Trang 21Hình 2.4 Mô hình m ột nơ-ron nhân tạo
Cấu trúc một nơ-ron nhân tạo gồm các thành phần cơ bản như sau:
Các tín hiệu đầu vào (Input signals): Là các tín hiệu vào của nơ-ron được
đưa vào dưới dạng một vector gồm m chiều
Tập các trọng số liên kết (Synaptic weights): Trọng số liên kết giữa tín
hiệu vào thứ j với nơ-ron k thường được kí hiệu là wkj Các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên
tục trong quá trình học mạng
Đầu vào tổng thể (Summing function): Hàm tích hợp để tính tổng của tích
các đầu vào với trọng số liên kết của nó
Trọng số điều chỉnh (Bias): Mô tả khả năng học của mô hình, giá trị bias
càng lớn thì mô hình cần phải học nhiều hơn từ tập huấn luyện
Hàm tác động/truyền (Activation/Transfer function): hàm được sử dụng
để tính toán các giá trị đầu ra hay nói cách khác chuyển tín hiệu đầu vào thành tín hiệu đầu ra của một nơ-ron vào một miền giá trị hoặc tập hợp các giá trị cố định Các hàm truyền thường là các hàm tuyến tính hoặc phi tuyến gồm 4 loại
được sử dụng phổ biến: giới hạn cứng (hard-limiter) hay gọi là hàm ngưỡng (threshold function) hàm không liên t ục ít sử dụng, logic ngưỡng (threshold logic) là hàm tuy ến tính bão hòa (saturating function), Xích-ma (sigmoial) là
hàm dùng khá phổ biến với giá trị đầu ra trong khoảng (0,1) và hàm Hyperbolic tangent (hàm tanh) là hàm liên tục có giá trị đầu ra trong khoảng (-1,1)
Tuy nhiên, để lựa chọn hàm truyền phụ thuộc vào từng bài toán người ta sẽ dựa trên kinh nghiệm của người thiết kế mạng
Giá trị đầu ra (Output): Là tín hiệu đầu ra của một nơ-ron, với mỗi nơ-ron
sẽ có tối đa là một đầu ra
Xét về mặt toán học, cấu trúc của một nơ-ron k, được mô tả bằng biểu thức sau:
Trang 22𝑢𝑢𝑘𝑘 = � 𝑤𝑤𝑘𝑘𝑘𝑘𝑥𝑥𝑘𝑘
𝑚𝑚 𝑘𝑘=1
(2.1)
Trong đó:
- x 1 , x 2 , , x m: là giá trị của các tín hiệu đầu vào
- w k1 , w k2 , ,w km: là các trọng số tương ứng với các khớp thần kinh liên kết đến nơ-ron có nhãn k
- u k: là bộ tổ hợp tuyến tính đầu ra (linear combiner output) từ các tín hiệu đầu vào
- b k là độ lệch (bias)
- φ(.) là hàm tác động/hàm truyền (activation function)
- y k là tín hiệu đầu ra từ nơ-ron có nhãn k
Như vậy, nơ-ron nhân tạo nhận được các tín hiệu đầu vào, qua khâu xử lý
từ nhận các tín hiệu với tập các trọng số liên kết, tính tổng các tích thu được sau
đó gửi kết quả tới hàm tác động và cho kết quả một tín hiệu đầu ra truyền là cách tương tự như nơ-ron sinh học
Các kiến trúc mạng nơ-ron nhân tạo
Có rất nhiều cách phân loại kiến trúc mạng nơ-ron nhân tạo Người ta thường dựa vào các đặc trưng mạng nơ-ron nhân tạo để phân loại như sau:
M ạng một lớp: Là mô hình kết nối đơn giản tập hợp các phần tử nơ-ron lại
với nhau tạo thành một lớp, tín hiệu được truyền theo một hướng nhất định Mạng tự liên kết (Autoassociative) là khi mạng nối đầu ra của các phần tử này với đầu vào của phần tử kia
Hình 2.5 Ki ến trúc mạng một lớp chứa lớp ẩn
M ạng nhiều lớp: để khắc phục những khó khăn ở mạng một lớp người ta
đã đưa ra mạng nhiều lớp hay còn được gọi là perceptron đa tầng (MLP: layer perceptron - Mạng Kohonen) sẽ gồm có 3 lớp:
Multi-Lớp vào (input layer): Là lớp bên trái cùng của mạng thể hiện cho các đầu vào của mạng
Lớp ra (output layer): Là lớp bên phải cùng của mạng thể hiện cho các đầu
ra của mạng
Trang 23Lớp ẩn (hidden layer): Là lớp nằm giữa lớp vào và lớp ra thể hiện cho việc suy luận logic của mạng
Các mạng nhiều lớp phổ biến gồm các mạng như sau:
Mạng truyền thẳng: Là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu
từ đầu ra lớp này đến đầu vào lớp kia theo một hướng
Hình 2.6 Ki ến trúc của một mạng nơ-ron truyền thẳng nhiều lớp
Mạng phản hồi: Là mạng động các tín hiệu đầu ra của một nút được đưa trở
lại đầu vào của một nút thuộc cùng lớp hoặc các lớp trước đó, tín hiệu có thể đi theo cả hai hướng bằng cách sử dụng vòng lặp, trạng thái trong mạng liên tục thay đổi đến khi đạt điểm cân bằng Chúng giữ trạng thái đó cho đến khi đầu vào thay đổi và tìm ra được một điểm cân bằng mới
Mạng phản hồi thường xử lý các bài toán liên quan đến nhận dạng chuỗi thời gian và nhận dạng mẫu Kiến trúc mạng nơ-ron phản hồi2 có các vòng lặp kín thì được gọi là mạng hồi quy (recurrent networks)
Hình 2.7 Ki ến trúc mạng nơ-ron phản hồi
ron nhân tạo trong đó kết quả đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại Trong mạng nơ-ron truyền thống, tất cả các đầu vào và đầu ra độc lập với nhau, nhưng trong những trường hợp như khi cần phải dự đoán từ
2
https://msatechnosoft.in/blog/artificial-neural-network-types-feed-forward-feedback-structure-perceptron-machine-learning-applications/
Trang 24tiếp theo trong câu, thì cần phải nhớ các từ trước đó Vì vậy, RNN đã ra đời, giải quyết vấn đề này với sự trợ giúp của lớp ẩn Tính năng chính và quan trọng nhất của RNN là trạng thái ẩn, ghi nhớ một số thông tin về một chuỗi
2.3 H ọc máy
2.3.1 Học máy là gì?
Học máy dường như là từ thông dụng mới nhất của ngành kỹ thuật - một công nghệ có tiềm năng, nhưng lại là một công nghệ mà nhiều doanh nghiệp phải vật lộn để hiểu được chứ chưa nói đến việc nắm bắt Tuy nhiên, gần đây đã có sự gia tăng trong việc triển khai trên nhiều ngành khác nhau, khi các công ty bắt đầu nắm bắt được những lợi ích đáng kể mà học máy có thể mang lại
Đối với các doanh nghiệp muốn áp dụng học máy, bước đầu tiên quan trọng
là đảm bảo rằng những người ra quyết định có hiểu biết về công nghệ về chính xác học máy là gì và tiềm năng kinh doanh có thể được mở ra thông qua sự hiểu biết này
Ở cấp độ cơ bản, học máy dạy máy tính làm những gì tự nhiên đến với con người và động vật: học hỏi từ kinh nghiệm Điều này liên quan đến việc sử dụng các thuật toán có thể “học” trực tiếp từ dữ liệu mà không cần dựa vào một phương trình định trước làm mô hình Các thuật toán cải thiện hiệu suất một cách thích ứng khi số lượng mẫu dữ liệu có sẵn tăng lên Khối lượng dữ liệu ngày càng lớn thúc đẩy tiềm năng của học máy trong các ứng dụng kinh doanh
Học máy là nghiên cứu và xây dựng các kỹ thuật về khả năng tự học của máy tính để giải quyết các vấn đề cụ thể Học máy xử lý các dữ liệu phức tạp, có tính phi tuyến [10]
Học máy thông thường sử dụng ba loại kỹ thuật phổ biến là học có giám sát, đào tạo một mô hình trên dữ liệu đầu vào và đầu ra đã biết để có thể dự đoán kết quả đầu ra trong tương lai, học không giám sát, giúp tìm ra các mẫu ẩn hoặc cấu trúc nội tại trong dữ liệu đầu vào và học tăng cường là sự tổ hợp của hai kỹ thuật trước đó
2.3.2 Phân loại các mô hình học máy
Học có giám sát (Supervised Learning): Mục đích của học máy có giám sát là
xây dựng một mô hình đưa ra dự đoán dựa trên bằng chứng khi có sự không chắc chắn Một thuật toán học có giám sát lấy một tập hợp dữ liệu đầu vào đã biết và các phản hồi đã biết cho dữ liệu (đầu ra) và huấn luyện một mô hình để tạo ra các dự đoán hợp lý cho phản hồi với dữ liệu mới Những dự đoán này được phát triển thông qua các kỹ thuật phân loại và hồi quy
Kỹ thuật phân loại dự đoán các phản hồi rời rạc như việc xác định email là tin cậy hay thư rác, hoặc trong y khoa khối u được xác định là ung thư hay u lành tính Các mô hình phân loại phân loại dữ liệu đầu vào thành các loại Các ứng dụng điển hình bao gồm hình ảnh y học, nhận dạng giọng nói và tính điểm tín dụng
Kỹ thuật hồi quy dự đoán các phản ứng liên tục như sự thay đổi về nhiệt độ hoặc biến động của nhu cầu điện năng
Trang 25Nếu được áp dụng một cách chính xác, khả năng trực quan của các kỹ thuật học
có giám sát là gần như vô hạn Chúng thậm chí còn được các bác sĩ lâm sàng sử dụng
để dự đoán chặt chẽ liệu một người có nguy cơ bị đau tim hay không bằng cách truy cập dữ liệu về những bệnh nhân trước đó, bao gồm tuổi, cân nặng, chiều cao, huyết
áp lịch sử của những người đã từng bị bệnh tim trước đó
Học tăng cường (Reinforcement Learning): một kỹ thuật trong học máy đã
nổi lên trong nhiều năm qua Trong quá trình ra quyết định dựa trên ngữ cảnh, học tăng cường giúp máy đưa ra quyết định kích thích hành động thông qua
phương pháp thử và sai (Trail and Error) để đạt được mô hình thuật toán tối ưu
cho một tình huống
Hơn nữa, máy được huấn luyện thông qua cơ chế phản hồi dựa trên học
thưởng phạt (reward/penalty-based learning), mục tiêu là cải thiện liên tục các
kết quả vector đầu ra do mạng tính được từ vector đầu vào
Ứng dụng học tăng cường được sử dụng rộng rãi trong các lĩnh vực công nghiệp như năng lượng, giao thông vận tải, tài chính hoặc chăm sóc sức khỏe, nơi liên quan đến các ngành tự động hóa hoặc kỹ thuật số Học tăng cường hiện đang được sử dụng phổ biến để huấn luyện các hệ thống trò chơi hoặc người máy
Học không giám sát (Unsupervised Learning): Học không giám sát được
sử dụng để rút ra suy luận từ tập dữ liệu bao gồm dữ liệu đầu vào mà không có phản hồi được gắn nhãn
Phân cụm (Clustering) là kỹ thuật học không giám sát phổ biến nhất Nó được sử dụng phân tích dữ liệu để tìm các mẫu hoặc nhóm ẩn trong dữ liệu Các ứng dụng để phân cụm như phân tích trình tự gen, nghiên cứu thị trường và nhận dạng đối tượng qua hình ảnh…
Hiểu được kỹ thuật học nào phù hợp nhất cho một trường hợp hoặc ứng dụng cụ thể, chỉ là bước đầu tiên để kích hoạt các khả năng của tích hợp hệ thống học máy Việc lựa chọn thuật toán học phù hợp là cơ sở xác định thời điểm tốt nhất để phát triển công nghệ trong tương lai
2.3.3 Các kỹ thuật cải tiến hiệu năng mô hình
Cải tiến hiệu năng là một trong những vấn đề quan tâm để nâng cao quá trình huấn luyện mô hình học máy Mô hình sau khi được huấn luyện có thể đạt hiệu quả không tốt khi dự doán với các tập dữ liệu khác nhau là do mô hình chưa tổng quát được nhiều dạng dữ liệu Do đó, để nâng cao chất lượng các mô hình người ta đưa ra các kỹ thuật như sau:
Đánh giá chất lượng mô hình học máy: Để đánh giá mô hình
phân tích, khai phá dữ liệu, thông thường người ta sẽ thực hiện phân tách dữ liệu3
với hai phương pháp phổ biến bao gồm:
Hold-out: phân tách ngẫu nhiên thành 2 tập dữ liệu độc lập là tập huấn luyện mô hình (Training dataset) và tập kiểm thử (Testing dataset) để kiểm tra tính hiệu quả của mô hình trên các tập dữ liệu khác nhau cụ thể như sau:
3 https://machinelearningmastery.com/difference-test-validation-datasets/
Trang 26• Training Dataset: tập các dữ liệu cung cấp để xây dựng mô hình, xác
định các biến, thuật toán phù hợp
• Validation Dataset: là dữ liệu sử dụng để đánh giá hiệu suất ở bước
huấn luyện mô hình, hỗ trợ kiểm thử điều chỉnh tham số phù hợp và lựa chọn mô hình hoạt động tốt nhất Tuy nhiên, tùy vào đặc thù của từng bài toán mới cần Validation Dataset nên phương pháp Hold-out chỉ sử dụng tập huấn luyện mô hình (Training dataset) và tập kiểm thử (Testing dataset)
• Testing Dataset: là dữ liệu được sử dụng để đánh giá hiệu quả, mức
độ chính xác của mô hình cuối cùng trên tập huấn luyện
Hình 2.8 Phương pháp Hold-out 4
Cross-Validation: là kỹ thuật phân tách dữ liệu giảm sự trùng lặp của các tập kiểm thử Phương pháp phổ biến là K-Fold vì nó dễ hiểu kết quả mô hình ít sai lệch so với các phương pháp khác như việc phân đoạn huấn luyện/kiểm thử đơn giản Quy trình thực hiện qua ví dụ như sau:
1 Xáo trộn tập dữ liệu D một cách ngẫu nhiên
2 Chia tập dữ liệu D thành k tập con bằng nhau, không giao nhau (hay gọi
là ‘fold”)
3 Đối với mỗi tập duy nhất:
• Lấy mỗi lần lặp làm tập dữ liệu kiểm thử (trong số k lần)
• Lấy k-1 tập con còn lại làm tập dữ liệu huấn luyện cho mô hình
• Đặt một mô hình trên tập huấn luyện và đánh giá nó trên tập kiểm thử
• Giữ lại điểm đánh giá và loại bỏ mô hình
4 Tổng hợp kỹ năng của mô hình sử dụng mẫu điểm đánh giá mô hình
4 use-implement-it
Trang 27https://datascience.stackexchange.com/questions/61467/clarification-on-train-test-and-val-and-how-to-Hình 2.9 Đánh giá 3 phân đoạn
Phương pháp này được lặp đi lặp lại nhiều lần cho đến khi có được k mô
hình khác nhau Để đánh giá mức độ hiệu quả của mô hình người ta ước tính độ chính xác hoặc lỗi được tính trung bình trên tất cả các lần thử nghiệm k
Tiền xử lý dữ liệu
Tiền xử lý dữ liệu là một bước quan trọng trong các vấn đề giải quyết các bài toán ở lĩnh vực học máy Dữ liệu sử dụng thông thường là dữ liệu thô như thiếu giá trị vì một số lý do như dữ liệu quan sát được ghi lại bị lỗi hoặc hỏng
Do đó, chúng cần phải được chuẩn hóa, làm sạch và biến đổi để tương thích với các thuật toán trong học máy Các phương pháp tiền xử lý dữ liệu như sau:
Phương pháp vector hoá dữ liệu: Dữ liệu đầu vào của mạng nơ-ron đều
phải được qua các tiến trình biến đổi về dạng các tensor5 để nhận dạng được các thuật toán học máy Trong thực tế, có rất nhiều dạng dữ liệu khác nhau như âm thanh, hình ảnh hay văn bản, các dạng dữ liệu này chúng ta phải chuyển đổi thành các tensor
Phương pháp chuẩn hoá dữ liệu: Mỗi thuật toán thông thường có những giả
định khác nhau nên cần phải có các bước chuẩn hóa dữ liệu khác nhau Dữ liệu
có nhiều đặc tính và mỗi đặc tính có độ lớn và giá trị không đồng đều ví dụ như thời gian xử lý, quá trình thực hiện là các yếu tố có thể ảnh hưởng đến độ chính xác mỗi thuật toán Do vậy, để khắc phục tính không đồng đều đó người ta thực hiện điều chỉnh dữ liệu để các đặc trưng có chung một tỷ lệ (gọi là data scaling) Thông thường các đặc tính này có giá trị nằm trong khoảng [0,1] Kết quả điều chình trên các đặc trưng nhằm sẽ giúp cho các thuật toán trong học máy sử dụng
kĩ thuật Gradient Descent sẽ hội tụ nhanh hơn
Dữ liệu đầu vào một số thuật toán khi chuẩn hóa dữ liệu (Standardize Data) đều đưa về dạng phân phối chuẩn Gauss cho phương sai 1 và giá trị trung bình bằng 0, phổ biến cải tiến các thuật toán linear regression, logistic regression Ngoài ra, để khắc phục dữ liệu thưa (giá trị 0) giá trị nhập vào trong mạng nơ-ron người ta còn sử dụng các kỹ thuật bình thường hóa dữ liệu (Normalize Data6) để điều chỉnh tỷ lệ dữ liệu trên mỗi hàng để có giá trị là 1
5 https://en.wikipedia.org/wiki/Tensor
6 http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.Normalizer.html
Trang 28Trong nhiều trường hợp dữ liệu vào ghi dưới dạng rời rạc không phải dạng
số sẽ khó khăn trong quá trình xử lý dữ liệu vì vậy các dữ liệu kiểu này cần chuyển đổi sang kiểu số nguyên ví dụ như [“Nam”, “Nữ”] chuyển sang [0,1]
Do đó, tiền xử lý dữ liệu sẽ giúp thuật toán trong học máy được cải tiến, nâng cao hiệu quả cho các mô hình bài toán thực tế với nhiều dữ liệu khác nhau
X ử lý giá trị bị khuyết: có rất nhiều kiểu dữ liệu khuyết xuất hiện có thể là
một chuỗi rống, có thể là NA, N/A, Non, -1 Để giải quyết các giá trị khuyết là chúng ta phải hiểu rõ được data mình có, hiểu được cách dữ liệu khuyết đang được biểu diễn, cách data được thu thập, dữ liệu bị khuyết thuộc trường nào thì việc loại bỏ sẽ không làm ảnh hưởng đến độ chính xác của mô hình Ta có thể lấy một ví dụ với số liệu thống kê số giao dịch rút tiền thường xuyên tại một máy ATM, có thể thấy rơi vào các sự kiện là các ngày lễ, tết hệ thống của ngân hàng thường không tổng hợp dữ liệu chi tiết Nhưng với một mạng nơ-ron, ta có thể bổ sung thêm các giá bị khuyết bởi các giá trị 0 chưa tồn tại trước đó Mô hình mạng nơ-ron sẽ học từ dữ liệu lịch sử cho rằng giá trị 0 là giá trị có nghĩa và bị khuyết nên sẽ bỏ qua giá trị này
Hiện tượng Overfitting và Underfitting
Khi xây dựng mô hình học máy, người ta thường nhắm tới mục đích duy nhất là khái quát hóa được đặc trưng trên toàn bộ tập dữ liệu dữ liệu đầu vào để cung cấp kết quả dữ liệu đầu ra hợp lý, chính xác nhất Trong thực tế, quá trình thu thập xây dựng các tập dữ liệu số lượng các mẫu học quá nhỏ hoặc dữ liệu nhiễu không tổng quát được cho toàn bộ tập dữ liệu Mặc dù, mô hình đã được huấn luyện chỉ có thể đạt hiệu năng tốt trên tập dữ liệu đầu vào mà chúng biết trước đó, nhưng với một tập dữ liệu mới và có thể nhiễu việc tổng quát hóa được chỉ đạt được kết quả tốt trên tập dữ liệu huấn luyện lại kém hơn trên tập thử nghiệm
Do đó, các thuật ngữ overfitting và underfitting [11] chỉ ra những khiếm khuyết của mô hình có thể mắc phải Mức độ sai lệch của các dự đoán của mô hình trên tập dữ liệu huấn luyện càng nhỏ thì giá trị trong tập thử nghiệm càng nhỏ
Hình 2.10 Underfit, Goodfit và Overfit
Vấn đề về hiện tượng overfitting chỉ hiện tượng thuật toán đạt kết quả tốt trên tập dữ liệu huấn luyện, nhưng trên tập dữ liệu mới chưa được huấn luyện thì không khái quát hóa được dữ liệu và cho kết quả kém hơn Thông thường mô hình gặp vấn đề overfitting cho thấy giá trị phương sai (variance - giá trị đại diện
Trang 29cho độ phân tán của dữ liệu so với giá trị trung bình) có độ lớn rất cao xa với điểm trung bình nên bài toán dự báo sẽ trở nên phức tạp
Với trường hợp underfitting, mô hình quá đơn giản nên cho kết quả kém cả trên tập dữ liệu huấn luyện và tập thử nghiệm Có thể thấy mô hình tiến gần đến
là đường thằng và các trọng số điều chỉnh ở mức cao nên dự toán sẽ kém hơn Hướng giải quyết tốt nhất vấn đề này là thu thập thêm nhiều hơn dữ liệu huấn luyện để mô hình sau khi huấn luyện sẽ khái quát hóa tốt hơn Khi việc thu thập gặp khó khăn giải pháp đưa ra là chỉnh sửa và bổ sung thêm thông tin phù hợp với mô hình được phép lưu trữ, khi đó mô hình chỉ ghi nhớ một số mẫu nổi trội và quá trình tối ưu sẽ tập trung vào những mẫu này để cho kết quả tốt nhất Một cách khắc phục khác đó là sử dụng phân tách dữ liệu được nêu ra ở mục 2.3.3.1 tức là chia tập huấn luyện thành nhiều phần rồi lấy một phần làm tập
dữ liệu để đánh giá, các phần còn lại để xây dựng mô hình Tuy nhiên, nhược điểm lớn của kỹ thuật phân tách dữ liệu số lượng phần tử tập huấn luyện tỷ lệ thuận với k tập con (K-Fold) và chỉ sử dụng một tham số là bậc của đa thức Trong thực tế, số lượng tham số tham gia vào bài toán được xác định lớn hơn và
có khoảng rộng hơn rất nhiều, thậm chí tham số có thể là số thực nên chỉ riêng bước xây dựng mô hình là rất khó khăn và phức tạp Do đó, người ta tìm ra cách giải quyết sử dụng phương pháp chính quy hoá tức là thêm vào hàm mất mát một
số hạng nữa mục đích là để đánh giá độ phức tạp của mô hình
Phương pháp chính quy hoá có 3 kỹ thuật phổ biến nhất như sau:
các tham số của mô hình do vậy để mô hình giảm thiểu overfitting thì phải giảm
số lượng các tham số học của mô hình Số lượng tham số học của một mô hình thường tỷ lệ với khả năng học của mô hình đó Một mô hình có càng nhiều tham
số thì sẽ có càng nhiều khả năng ghi nhớ và vì vậy có thể dễ dàng học được một
từ điển hoàn hảo ánh xạ các dữ liệu huấn luyện với các nhãn của chúng Nhưng một mô hình như vậy sẽ có xu hướng bị overfit trên dữ liệu huấn luyện
Mặt khác, nếu mô hình có giới hạn khả năng ghi nhớ thông tin, nó sẽ không thể học được ánh xạ một cách dễ dàng Khi đó, mô hình phải học các biểu diễn hiệu quả hơn cho dữ liệu Chúng ta cũng cần phải đảm bảo rằng mô hình không
bị thiếu khả năng ghi nhớ thông tin quá mức sẽ dẫn đến trạng thái bị underfit Trên thực tế không có một công thức cụ thể nào giúp ta xác định được chính xác số lượng các lớp và kích cỡ mỗi lớp của một mô hình Chúng ta phải thử nghiệm và đánh giá một số các cấu hình khác nhau cho mô hình để tìm ra được kiến trúc mô hình tốt nhất cho bộ dữ liệu mà chúng ta có Cách làm nói chung sẽ là chúng ta bắt đầu với mô hình có ít lớp và tham số, sau đó tăng dần kích cỡ các lớp và thêm các lớp mới vào mô hình cho đến khi mô hình đạt được hiệu năng tốt nhất trên tập dữ liệu đánh giá
Chính quy với L1 và L2: để giảm overfitting giải pháp đó là thêm các ràng
buộc cho vấn đề tối ưu hóa, thêm vào độ phức tạp của một mô hình bằng cách ép các trọng số nhận các giá trị nhỏ, để giúp cho việc phân phối của các giá trị trọng
Trang 30số sẽ chính quy hơn Kỹ thuật này được gọi là chính quy hoá trọng số, cách thực hiện là cộng thêm vào hàm mục tiêu của mô hình một giá trị gắn với các trọng số lớn
Giá trị thêm vào theo hai cách:
- Chính quy L1: Tỷ lệ với giá trị tuyệt đối của các trọng số
- Chính quy L2: Tỷ lệ với bình phương giá trị các trọng số
hiện xóa bỏ một số giá trị ngẫu nhiên trong các bước huấn luyện ứng với giá trị xác suất cho trước Đây cũng là một kỹ thuật được sử dụng thường xuyên nhất trong học sâu bằng cách đặt giá trị về 0 Ví dụ: giả sử ta có một lớp vector [0.2, 0.3, 1.5, 0.8, 1.1] sau khi áp dụng kỹ thuật dropout loại bỏ giá trị thì vector sẽ phân bổ giá trị 0 ngẫu nhiên [0.2, 0.3, 0, 0.8, 0]
Hình 2.11 Mạng nơ-ron sử dụng kỹ thuật Dropout
Hình 2.11 từ một mạng nơ-ron tiêu chuẩn (a) sau khi áp dụng kỹ thuật
Dropout (b) cách thức mà chúng ta loại bỏ hay nói cách khác giả định một phần
các giá trị bị ẩn đi trong quá trình huấn luyện
Tỷ lệ xóa bỏ giá trị ngẫu nhiên khoảng 0,2 đến 0,5 Trong quá trình kiểm tra, các giá trị đầu ra giảm theo tỷ lệ thuận bằng với tỷ lệ xóa bỏ giá trị ngẫu nhiên để cân bằng khi có quá nhiều đơn vị tham gia vào quá trình huấn luyện
dữ liệu, vì thế mà chúng còn được gọi là học nông (shallow learning)
Trong học sâu, các biểu diễn lớp được học qua các mô hình được gọi là các mạng nơ-ron, được cấu tạo từ nhiều lớp xếp chồng lên nhau Khái niệm mạng
Trang 31nơ-ron xuất phát từ nơ-ron trong sinh học, và nhiều khái niệm khác nữa trong học sâu cũng lấy cảm hứng từ sự hiểu biết của con người về bộ não, tuy nhiên học sâu không mô hình hoá bộ não con người Không có bằng chứng rằng bộ não thực thi bất kì thứ gì giống như các cơ chế học được sử dụng trong học sâu Nói chung về mặt kĩ thuật, học sâu là một cách hiệu quả để học ra các biểu diễn từ dữ liệu
Cho đến nay, học sâu đã đạt được không ít thành tựu, mà hầu hết đều là những bài toán khó trong học máy, có thể kể ra một số như:
• Viễn thông: Nén hình ảnh và dữ liệu, dịch vụ thông tin tự động, dịch ngôn ngữ nói trong thời gian thực
• Điện tử: Dự đoán trình tự mã, bố trí chip IC, phân tích lỗi chip, thị giác máy, tổng hợp giọng nói
• Phát hiện bất thường: có thể được đào tạo để tạo đầu ra khi có điều gì đó bất thường xảy ra làm sai lệch mô hình
• Giọng nói: Nhận dạng giọng nói, phân loại giọng nói, chuyển văn bản thành giọng nói
• Xử lý tín hiệu: Mạng nơ-ron có thể được đào tạo để xử lý tín hiệu âm thanh và lọc tín hiệu đó một cách thích hợp trong máy trợ thính
• Y tế: Phân tích tế bào ung thư, phân tích điện não đồ và điện tâm đồ, thiết kế bộ phận giả, trình tối ưu hóa thời gian cấy ghép
• Hàng không vũ trụ: Lái máy bay tự động, phát hiện lỗi máy bay
• Công nghiệp: Kiểm soát quá trình sản xuất, thiết kế và phân tích sản phẩm, hệ thống kiểm tra chất lượng, phân tích chất lượng hàn, dự đoán chất lượng giấy, phân tích thiết kế sản phẩm hóa chất, mô hình hóa động lực của hệ thống quy trình hóa học, phân tích bảo trì máy móc, đấu thầu
dự án, lập kế hoạch và quản lý
• Phần mềm: Nhận dạng mẫu trong nhận dạng khuôn mặt, nhận dạng ký tự quang học, v.v
• Ô tô: Hệ thống hướng dẫn ô tô
• Dự đoán chuỗi thời gian: ANN được sử dụng để đưa ra dự đoán về trữ lượng và thiên tai
• Xử lý tín hiệu: Mạng nơ-ron có thể được đào tạo để xử lý tín hiệu âm thanh và lọc tín hiệu đó một cách thích hợp trong máy trợ thính
• Quân sự: Định hướng và chỉ đạo vũ khí, theo dõi mục tiêu, phân biệt đối tượng, nhận dạng khuôn mặt, nhận dạng tín hiệu / hình ảnh
• Tài chính: Thẩm định bất động sản, cố vấn khoản vay, sàng lọc thế chấp, xếp hạng trái phiếu doanh nghiệp, chương trình giao dịch danh mục đầu
tư, phân tích tài chính doanh nghiệp, dự đoán giá trị tiền tệ, trình đọc tài liệu, đánh giá hồ sơ tín dụng
• Giao thông vận tải: Hệ thống chẩn đoán phanh xe tải, lập lịch trình xe, hệ thống định tuyến
• Kiểm soát: ANN thường được sử dụng để đưa ra quyết định lái của các phương tiện vật lý