Chương 1: Giới thiệu tổng quan về đề tài Chương 2: Cơ sở lý thuyết Chương 3: Phân tích và thiết kế hệ thống Chương 4: Thu thập dữ liệu và các mô hình dự đoán dữ liệu Chương 5: Xây dựng và trién khai hệ thống Chương 6: Kết luận Chương 2.CƠ SỞ LÝ THUYET Trong chương này, em sẽ trình bày về các lý thuyết liên quan đến các thuật toán, các công nghệ được sử dụng và nhắc đến trong khóa luận. Lý thuyết về các thuật toán nơ-ron Học sâu là một trong những phương pháp máy học với những thuật toán được tạo ra băng cách mô phỏng theo cấu trúc và cách thức hoạt động của mạng nơ-ron trong não con người. Mạng nơ-ron nhân tạo Mạng nơ-ron nhân tạo (Artificial Neural network — ANN hay Neural Network)! là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các no-ron sinh học. Nó gồm có một nhóm các nơ-ron nhân tao (nút) nói với nhau dé xử lý thông tin.
Các nút thường được tô chức theo từng lớp. Kiến trúc của ANN gồm 3 thành phần: lớp đầu vào (input layer), lớp ân (hiden layer), lớp đầu ra (output layer). Mô hình mạng nơ-ron Mô hình mạng nơ-ron đơn giản nhất là hồi quy logistic (logistic regression) chỉ với 2 lớp: đâu vào và đâu ra. Hồi quy logistic .1 Mô hình hồi quy logistic? Ị Nguồn: https://en.org/wiki/Artificial_neural_network, truy cập ngày 07/07/2021 7 Nguôn: https://towardsdatascience.com/a-logistic-regression-from-scratch-3824468b1f88, truy cập ngày 07/07/2021 Giả sử ta có mô hình như hình 2.2, để xác định giá tri đầu ra y, ta cần thực hiện quá trình tính toán sau: Z=fi,Xw;+--+ƒf,xwna+b y=ø0() Trong đó: - fir fo fy là giá trị của các thuộc tính đầu vào - Wy4,W2, Wy là trọng số của từng giá trị đầu vào tương ứng - pb hay bias là hệ số được thêm vào dé phương trình đường thăng z không đi qua gốc tọa độ - __ơ là hàm kích hoạt nhằm điều chỉnh giá trị đầu ra nam trong khoảng [0, 1], có công thức: 1 (x) Ø\(X) = >—— 1+e* 2.
Mô hình tổng quát Hidden Input Output N ( \ x x( k cóc Š ⁄ `- LE” i> Z » ỳ ° uy \ Ƒ 4 Hình 2.2 Mô hình mang no-ron? Mạng nơ-ron được cấu tạo từ các lớp: lớp đầu vào, lớp an, lớp đầu ra. Lưu ý, chỉ có 1 lớp đầu vào và 1 lớp đầu ra, còn lớp ân có thé có 1 hoặc nhiều lớp. Nguồn: _ https://towardsdatascience.com/step-by-step-guide-to-building-your-own-neural-network-from- scratch-df64b 1c5ab6e, truy cập ngày 07/07/2021 các lớp có thé khác nhau, hàm kích hoạt của mỗi nút có thé khác nhau: sigmoid, tanh, ReLU. Trong mạng nơ-ron, trừ các nút thuộc lớp đầu vào thì các nút còn lại đều được kết nối đầy đủ (fully-connected) với các nút ở lớp trước đó.
Recurrent Neural Network (RNN) Mang nơ-ron hồi quy (RNN)! được thiết kế dé xử lý chuỗi thông tin. Với bai toán dự đoán giá tiền cho phiên tiếp theo, thì chúng ta cần phải biết giá của những phiên trước đó. Mà với các mạng nơ-ron truyền thống, thì tất cả đầu vào và ra đều độc lập với nhau, không liên kết thành chuỗi với nhau, dẫn đến mô hình này không phù hợp với các bài toán. Với RNN nó sẽ thực hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào cả phép tính trước đó, vì vậy nó được gọi là mô hình mạng nơ-ron hồi quy (RNN).
Một cách dễ hiểu hơn, RNN có thé được coi là nhiều bản sao chép của cùng một mang, trong đó moi đâu ra cua mang này là dau vào của một mạng sao chép khác. 0 O ej 0; O 4 V V 7 V §o> W SiG Ot C2 = Unfold W W W U U U U x WG + để)”: Hình 2.3 Kiến trúc RNN Hình trên mô tả cách triển khai của mô hình RNN. Việc tính toán bên trong RNN sẽ được thực hiện như sau: - x, là dau vào tại bước t. 4 Nguồn: http:/www.com/2015/09/recurrent-neural-networks-tutorial-part-1-introđuction-to-rnns/, truy cập ngày 07/07/2021 - Tại mỗi bước có một trạng thái ấn s¿.
Nó chính là bộ nhớ của mạng. s, được tính toán dựa trên các trạng thái an phía trước va đầu vào tại bước đó: Se = f (Ux, + Ws,_¡). Hàm ƒ thường là một hàm phi tuyến. Dé làm phép toán cho phan tử 4n đầu tiên, ta cần khởi tạo thêm s_¿, với giá trị thường là 0.
- 0 là đầu ra tại bước £. Ví dụ như muốn dự đoán từ tiếp theo xuất hiện trong câu thì : o; chính là một vectơ xác suất các của từng nhãn kết quả. Giả sử ta sử dung hàm kích hoạt softmax: 0, = soƒtmax(Vs,). Vectơ xác suất 0¿ cũng có thể được tính toán tương tự nếu ta sử dụng các hàm kích hoạt khác như sigmoid, tanh, ReLU.
Về mặt ký thuyết, RNN có thé xử ly và lưu trữ thông tin của một chuỗi có chiều dài bất kỳ. Tuy nhiên, thực tế nó chỉ hiệu quả với chuỗi có chiều dài không quá lớn nguyên nhân là do vanishing gradient được nghiên cứu sâu trong các bài báo của Hochreiter (1991) và Hochreiter, et al. Dé khác phục nhược điểm trên, 2 biến thé của RNN là LSTM (Long short term memory) va GRU (Gated Recurrent Units) đã ra đời. Đây cũng là 2 mô hình được em tìm hiểu sâu và áp dụng vào hệ thống.
Long short term memory (LSTM) LSTM là một mô hình phô biến nhất được sử dụng của RNN. LSTM thé hiện sự ưu việt ở điểm có thé nhớ được nhiều bước hơn mô hình RNN truyền thống. Về cơ bản thì cau trúc của LSTM giống với cau trúc RNN truyền thống, chỉ khác nhau ở cách tính toán của các nút ân. LSTM được thiết kế để tránh vấn đề phụ thuộc xa (long- term dependency) khi có thé nhớ được các thông tin trong thời gian dài.
Mạng hồi quy có dạng là một chuỗi các mô-đun lặp đi lặp lại của mạng nơ-ron. Với RNN, các mô-đun này có cấu trúc rất đơn giản, thường là một hàm tanh (activation function) duy nhất. 5 Nguồn: https://colah.io/posts/2015-08-Understanding-LSTMs/, truy cập ngày 07/07/2021 10 @ _ & ma) Hình 2.4 Chuỗi các mé-dun của RNN tiêu chuẩn với một lớp don giản Với LSTM mô-đun lặp lại có cau trúc khác. Thay vi chỉ có một lớp thần kinh duy nhất (lớp tanh), chúng có tới bốn lớp tương tác với nhau như hình 2.
q2 (h) @) Thông tin quan trọng nhất của LSTM là trạng thái tế bào (cell state) — đường chạy thông ngang phía trên như hình 2. Trạng thái tế bào giống như băng truyền, chạy xuyên suốt tất cả các nút mạng và chỉ tương tác tuyến tính đôi chút. Vì vậy thông tin có thé dé đàng được truyền đi thông suốt mà không sợ bị thay đồi.6 Trạng thái tế bào trong một mô-đun LSRM LSTM có khả năng bỏ đi hay thêm vào các trông tin cần thiết cho trạng thái tế bào, chúng được điều chỉnh cần thận bởi các nhóm được gọi là công (gate). Các công là nơi sàng lọc thông tin đi qua nó, chúng kết hợp bởi một lớp sigmoid và một phép nhân.
Kết quả của lớp sigmoid cho ra một số trong khoảng [0, 1], mô tả mức độ tiếp nhận thông tin. Bang 0 nghĩa là không cho thông tin nào qua, 1 thì cho tat cả các thông tin đi qua nó. LSTM gồm có 3 cổng dé duy trì và điều hành trạng thái tế bao. Bên trong LSTM Tầng công quên (forget gate layer): quyết định xem thông tin nào cần bỏ đi từ trạng thái tế bào.
Nó sẽ lay đầu vào là h,_; va x; rồi đưa ra kết quả trong khoảng [0, 1] cho mỗi số trong trạng thái tế bào C,_,. Với đầu ra bang 1 thì giữ toàn bộ thông tin, bằng 0 thì bỏ toàn bộ thông tin.7 Cổng quên trong mạng LSTM Ta có công thức: fe = ø(M/ [he Xe] + br) Với bài toán dự đoán giá tiền điện tử, dữ liệu dầu vào dạng chuỗi thời gian (time- series), thì trạng thái tế bào có thể sẽ luôn mang thông tin về giá của những phiên giao dịch trước đó và dựa vào nó dé dự đoán được giá của một hay nhiều phiên tiếp theo. Nhưng với những phiên giao dịch ở quá xa thời điểm dự đoán hay quá bất thường, thi tang cổng quên sẽ loại bỏ những thông tin này vì nó không còn tác dụng dé dự đoán. Tầng cập nhật (update gate layer): dé quyết định xem thông tin mới nào sẽ lưu vào trạng thái tế bào.
Đầu tiên là sử dụng một tầng sigmoid được gọi là tầng cổng vào (input gate layer) dé quyết định xem giá trị nào sẽ được cập nhật. Sau đó sử dụng tầng tanh: tạo ra một véc-to có giá tri mới Ế nhằm thêm vào cho trạng thái. Kết hợp 2 giá trị đó lại để tạo ra một cập nhật cho trạng thái, dé quyét dinh xem thông tin mới nao sẽ lưu vào trạng thái tê bào.8 Cổng vào trong mạng LSTM Ta có công thức: ip = ø(M; :[h¿_1,x¿] + bị) C, = tanh (W¿ -[h,_:,x¿Ì + Dc Sau đó, cập nhật trạng thái tế bào cũ C,_, thành C, bởi những quyết định đã làm ở các bước trước đó, nhân trạng thái cũ với f, dé bỏ đi những thông tin đã quên lúc trước, cộng thêm i, + C;. Trạng thái mới thu được này phụ thuộc vào việc ta quyết định cập nhật mới giá tri trạng thái ra sao.
Như với bài toán dự đoán giá tiền điện tử, khi đến một phiên giao dịch mới, ta sẽ thêm giá trị phiên mới này thay thế cho phiên cũ tương quan với nó.9 Cập nhật trạng thái tế bào trong mạng LSTM Ta có công thức: Tang cong ra (Output gate layer): ta sẽ quyết định xem giá trị đầu ra mong muốn là gì. Gia tri dau ra sé dua vao trang thai té bao, nhung sé duoc tiép tuc sang loc. Đầu tiên, sử dụng tang sigmoid dé quyết định xem phần nào của trạng thái tế bào muốn xuất ra. Rồi đưa trạng thái tế bào qua một hàm tanh dé trả về giá trị trong khoảng [—1,1], và nhân nó với dau ra của công sigmoid.
he Ta có công thức: 15 oø¿ = ø(W@¿[h¿_+,x¿] + bạ) Với bài toán của chúng ra, chỉ cin xem giá trị các phiên trước đó mà LSTM có thé dự đoán được phiên tiếp theo., như từ 60 phiên giao dịch trước đó để dự đoán ra được giá trị của phiên giao dịch tiếp theo như thế nào. Gated recurrent unit (GRU) GRU¢® được coi là một biến thé cua LSTM vi chúng thiết kế gần tương tự nhau. Điều đặc biệt là GRU có thé được đào tao dé giữ thông tin từ lâu trước đó, không hề xóa thông tin không liên quan đến dự đoán đầu ra. GRU không có cell như LSTM mà chỉ có đầu ra vừa dùng dé đưa ra quyết định vừa dùng đề truyền thông tin cho các bước tiếp theo.
Nó họat động nhanh hơn đôi chút so với LSTM.