Mô hình mạng nơron

Một phần của tài liệu 886 ứng dụng mô hình học sâu LSTM trong bài toán dự báo giá cổ phiếu ở thời điểm đóng cửa cho một số mã cổ phiếu ở thị trường chứng khoán việt nam (Trang 31 - 44)

Trong một mạng noron có 3 layer cơ bản, các điểm nối với nhau được gọi là node. Theo quy ước, thì tổng số layer trong mô hình số layer - 1 (không tính input layer).

Hình 7. Hình thể hiện các tham số để liên kết mạng

Ví dụ như hình trên có 2 lớp: lớp đầu vào và 1 lớp ẩn. Mỗi node thể hiện trong mạng được hiểu như sau:

• Các node được liên kết với nhau thông qua các trọng số w riêng.

• Mỗi điểm node có 1 trọng số hay chính là bias b riêng.

• Các giá trị truyền được xử lý bằng cách: cộng tổng tất cả các giá trị tại các node của layer trước đó nhân với trọng số w quy định tại các điểm nối và cộng với giá trị

bias, giá trị được tính gọi là tổng linear, sau đó mô hình áp dụng activation

function để

biến đổi các tổng linear

Khi xác định một lớp đầu, trọng số sẽ được quy định. Các trọng số này có nhiệm vụ giúp xác định mức độ ưu tiên của bất kỳ một biến nào được đưa vào, với những giá trị lớn hơn thì mức độ đóng góp đưa vào đầu ra sẽ nhiều hơn so với các đầu vào khác. Tất cả các giá trị đều được xử lý bằng cách tính tổng linear. Nếu node ra đó lớn hơn một giá trị nào đó, nó sẽ xử lý hàm tiếp rồi truyền lại thông tin đến lớp kế tiếp. Quá trình này nhằm dẫn giá trị của đầu ra từ nút này sang nút khác, trỏ thành đầu vào của

2.2. Tổng quan về thuật toán LSTM 2.2.1. Lịch sử ra đời của LSTM

Khái niệm ban đầu về học máy đã xuất hiện trong những năm 1950 (Samuel, 1959), Thuật ngữ ML (Machine learning) được đặt ra bởi Arthur Samuel vào năm 1959, một nhà tiên phong người Mỹ trong lĩnh vực trò chơi máy tính và trí tuệ nhân tạo và tuyên bố rằng “nó mang lại cho máy tính khả năng học hỏi mà không cần được lập trình rõ ràng”. Máy học có một phần thuộc tính của AI - trí tuệ nhân tạo có tính ứng dụng cao sử dụng máy tính để mô phỏng quá trình học tập của con người và xây dựng các thuật toán có thể hình thành học tập và dự đoán dựa trên dữ liệu. Có nhiều loại máy học khác nhau các thuật toán, trong đó quan trọng nhất bao gồm mạng nơron nhân tạo, SVM, rừng ngẫu nhiên (RF) và học sâu. Theo như thị trường chứng khoán thường là các hệ thống phi tuyến tính và hỗn loạn, các thuật toán phi tuyến được ưu tiên hơn các thuật toán tuyến tính trong việc dự đoán hành vi chứng khoán. Các mô hình phi tuyến quan trọng nhất đã được áp dụng rộng rãi trong những một số năm trở lại đây trên thị trường tài chính và đạt được mong muốn kết quả là các mô hình mạng nơron nhân tạo.

LSTM là viết tắt bởi Long-short term memory, tạm dịch là bộ nhớ ngắn dài. LSTM là một loại mô hình hoặc cấu trúc cho dữ liệu tuần tự, xuất hiện từ sự phát triển của RNN. Bộ nhớ dài hạn đề cập đến trọng lượng đã học và trí nhớ ngắn hạn đề cập đến trạng thái bên trong của tế bào. LSTM đã được tạo ra cho sự cố gradient biến mất trong RNNs có thay đổi chính là thay thế lớp giữa RNN bằng một khối đó được gọi là khối LSTM được phát triển bởi Hochreiter & Schmidhuber vào năm 1997. Gradient chính là đạo hàm của một hàm số, đạo hàm này để biểu diễn tỷ lệ thay đổi hay chính là sự biến thiên của một hàm số tại một điểm.

LSTM được xây dựng nhằm khắc phục các vấn đề liên quan đến phụ thuộc. Xây dựng một LSTM mà nó tự hiểu để học trong một thời gian và ghi nhớ các thông tin được đưa vào. Tất cả các mạng noron tuần hoàn là dạng chuỗi các môđun kết nối với nhau. Đối với các mạng RNN cơ bản thì chuỗi này lại có kết cấu rất đơn giản chẳng hạn như một hàm kích hoạt tanh trong mạng noron

Hình 8. Hình thể hiện kiến trúc mạng RNN cơ bản

Các tính năng chính của LSTM là khả năng học liên kết lâu dài, điều này là không thể với RNN. Để dự báo bước thời gian tiếp theo, nó là cần thiết để cập nhật các giá trị trọng số trong mạng, điều này yêu cầu duy trì dữ liệu bước thời gian ban đầu. Một RNN chỉ có thể học một giới hạn số lượng ngắn hạn; tuy nhiên, chuỗi thời gian dài hạn, chẳng hạn như 1000 bước thời gian, không thể học được bởi RNNs; ngược lại, LSTM có thể học đúng cách các mối liên kết lâu dài này. Cấu trúc LSTM bao gồm một tập hợp các mạng con lặp lại, được gọi là khối bộ nhớ. Mỗi khối bao gồm một hoặc nhiều tự động hồi quy ô nhớ và ba đon vị đầu vào, đầu ra và phần quên trình bày các điểm tưong tự của việc ghi, đọc liên tục và điều chỉnh chức năng của tế bào. Hon nữa, có nhiều loại LSTM khối, bao gồm LSTM xếp chồng, LSTM bộ mã hóa - giải mã, CNN LSTM và LSTM chung. Do khả năng học tập mạnh mẽ của chúng, LSTMs hoạt động rất hiệu quả và được sử dụng rộng rãi trong nhiều loại nhiệm vụ khác nhau, bao gồm cả nhận dạng giọng nói, mô hình âm thanh, dự đoán quỹ đạo.

Khác với các mạng noron duy nhất thì LSTM lại có bốn lớp, chúng kết nối và truyền dữ liệu theo một cách đặc biệt. Các chuỗi môđun của LSTM có cấu trúc khác và được cải tiến hon so với RNN:

Neurat Network Layer

Đây là các lớp ẩn hay chính là hidden layer của mạng nơron

Prsintwise Operation

Toán tử Pointwise sử dụng để thể hiện công hay nhn các vector của các cạnh kết nối

Vector

Transfer Vector truyền từ node này sang node khác

Concatenate

Thể hiện song song thực hiện các tính toán

Hình 9. Hình thể hiện kiến trúc mạng LSTM

2.2.2. Cơ chế hoạt động

2.2.2.1. Các ký hiệu trong mô hình

Một mô hình LSTM được thể hiện như hình vẽ ở dưới: có ba cổng đó là cổng quên f(t), cổng vào i(t) và cổng ra o(t), Xtlà giá trị truyền vào, t là thời gian. Giá trị c(t) sẽ có nhiệm vụ xem xét lấy các giá trị nào từ các giá trị đầu vào và cổng ra (input gate) sẽ xem xét lấy các giá trị nào từ đầu ra và lớp ẩn của lớp trước đó. Tương tự ht sẽ xem xét cần lấy các giá trị nào từ các giá trị đầu vào để truyền tới các giá trị ẩn tiếp theo. Ngoài ra ht cũng được dùng để tính ra đầu cho giá trị tại thời điểm t.

Các hàm kích hoạt (activation function) sigmoid và tanh giúp biến đổi các giá trị vào.

Hình 10. Hình thể hiện mô hình mạng LSTM

Trong đó, các ký hiệu khác được giải thích dưới đây:

Copy

Bảng 2.1. Bảng mô tả ký hiệu trong mô hình LSTM 2.2.2.2. Ý tưởng cốt lõi đằng sau LSTM

Chìa khóa của LSTM khiến nó trở nên cải tiến hơn là các ô ghi nhớ, nó có một đường chạy ngang qua các cổng. Đây là một trạng thái của tế bào chạy thông với toàn bộ chuỗi và liên tục. Trạng thái này cần tương tác với hàm tuyến tính đơn giản, rất dễ dàng để thông tin theo nó không thay đổi

Hình 11. Hình thể hiện đường chạy của ô trạng thái trong mạng LSTM

Một ưu điểm của LSTM đó là chúng có thể loại bỏ hoặc truyền thêm tín hiệu tới các node của tế bào, từng giá trị tín hiệu được truyền đều được xử lý một cách thận trọng bởi các hàm tuyến tính ở tại các cổng của LSTM. Mỗi cổng có nhiệm vụ khác

nhau, giúp thông tin được truyền đi, bản chất cổng được kết cấu bởi một lớp mạng thần kinh với hàm kích hoạt sigmoid và một phép nhân theo theo chiều được quy định

Hình 12. Hình thể hiện cổng của hàm sigmoid trong LSTM

Hàm kích hoạt sigmoid xử lý tổng linear quy về giá trị trong khoảng [0;1], thể hiện mức độ truyền của mỗi thành phần. Với kết quả trả về bằng 0 có nghĩa là "không có gì thông qua", trong khi kết quả bằng một có nghĩa là "để mọi thứ thông qua". Một LSTM có ba cổng và các cổng này có nhiệm vụ xử lý thông tin đưa vào và kiểm soát chúng.

Một mạng LSTM có thể được tạo thành từ nhiều ô LSTM kết nối với nhau. Sự cải tiên của LSTM là có thêm một trạng thái ô bên trong St và ba cổng nhằm lựa chọn thông tin của các node vào và ra của ô. Mạng LSTM tổng cộng có một cổng quên f(t), một cổng vào i(t) và một cổng ra o(t). Tại mỗi thời điểm bước t, các cổng của LSTM nhận một giá trị đầu vào x(t) tương ứng hay chính xác chúng biểu thị cho một node trong chuỗi giá trị vào và giá trị h(t-1) nhận được từ đầu ra của các ô nhớ tại thời điểm t - 1. Cấu trúc cổng gồm cổng vào, cổng quên và cổng ra. Các cổng đều có chức năng phân loại các giá trị truyền vào với nhiệm vụ khác nhau. Ngoài ra, các cổng cũng có các nhiệm vụ khác nhau như: Các cổng quên xác định thông tin đầu vào nào sẽ bị quên vì vậy nó sẽ không ảnh hưởng đến cập nhật của nơron tiếp theo. Trong bước thứ hai, cổng đầu vào quyết định thông tin nào là được phép thêm vào. Đầu ra của nơron trước và đầu vào của nơron cục bộ là được xử lý bởi hàm sigmoid và hàm tanh để tạo ra hai kết quả. Và sau đó thông tin nào cần được cập nhật được quyết định dựa trên hai kết quả này. Kết quả sẽ được lưu cho cổng đầu ra. Cuối cùng, cổng đầu ra xác định kết quả thu được trong cổng đầu vào có thể được tạo ra. Kết quả từ cổng đầu ra của một nơron sẽ là được nhập vào nơron tiếp theo.

2.2.2.3. Quá trình thực hiện

Đầu tiên, khi các giá trị của các node tại lớp đầu vào được đưa vào, tế bào mạng LSTM sẽ xem xét tất cả những giá trị ấy, lọc bỏ chúng tại thời gian trước đó s(t-1). Cổng quên đại diện cho ftnhận giá trị được đưa vào Xtvà giá trị truyền là ht.ι từ node LSTM ở lớp trước đó và độ lệch (bias) bf của cổng quên tại thời điểm t. Đồng thời hàm kích hoạt sigmoid tiến hành xử lý tất cả các giá trị đưa vào để kích hoạt lại (activation value), sau đó nó sẽ trả ra giá trị đầu ra nằm trong khoảng [0;1], con số này sẽ cho biết số thông tin được thông qua cổng này. Đối với giá trị trả ra 0 tức là không cho phép bất kỳ thông tin nào được thông qua, ngược lại với giá trị trả ra số 1 có nghĩa toàn bộ thông tin được sẽ đường truyền [23].

Hình 13. Hình thể hiện tầng cổng quên của LSTM

ft = σ (Wf ∙ [ht-1 , Xt ] + bf ) ft = σ (Wf

Tiếp đó, cổng quên sẽ đưa ra thông tin mới mà chúng ta sẽ ghi nhớ trong trạng thái ô này. Tại đây sẽ có 2 bước nhỏ: bước 1, hàm kích hoạt sigmoid tại “lớp cổng đầu vào” xem xét những thông tin nào chúng ta sẽ lấy. Tiếp theo, hàm kích hoạt tanh tạo ra một vectơ gồm các giá trị mới C1tmà được duyệt để truyền tới node của lớp tiếp theo. Trong bước 2, chúng ta sẽ sử dụng cả hai điều trên nhằm tạo bản đã được xử lý phù hợp cho trạng thái. Cổng đầu vào xác định lượng đầu vào mạng thời gian hiện tại xt

được dự trữ vào ô mới trạng thái C1t, nó tránh đưa thông tin không quan trọng vào ô nhớ hiện tại. Nó có ba các thành phần khác nhau: Thứ nhất là nhận trạng thái của ô phải được cập nhật; hai là tạo một trạng thái ô mới; ba là cập nhật trạng thái ô thành trạng thái ô hiện tại. Cổng đầu vào được tính theo giá trị ĩtở thởi điểm t có phép toán sau:

Hình 14. Hình thể hiện giá trị được xử lý thông qua hàm tanh

it = σ(Wi.Xt + wɪ. ⅛1 + ⅛i) Cit = tanh(Wc.xl + Wc. ti + bc)

Cuối cùng, giá trị mới của Cttại bên trong tế bào được xây dựng phép toán từ các giá trị đã được tính ở 2 ô nhớ trước đó:

Hình 15. Hình thể hiện ô trạng thái mới trong LSTM

Ct = ft * Ct-1 + it * Cit

Cổng đầu ra kiểm soát mức độ trạng thái ô mới tạo sẽ bị loại bỏ, đầu ra thông tin đầu tiên được xác định bởi một lớp sigmoid, sau đó trạng thái tế bào mới được tạo được xử lý bởi tanh, cùng với đầu ra sigmoid để xác định đầu ra cuối cùng.

Hình 16. Hình thể hiện thông tin đầu ra được xử lý bằng hàm tanh

Ot = σ(W,l.%t + Wo. hl + bo)

ht = 01 * tanh(Ct)

Trong đó:

Wf, wi, ,wc, ,Wo là các giá trọng số của các cạnh kết nối các node trong mang LSTM. bf , bs, bi, bo là các vector bias.

Trong đó w là ma trận trọng số là một tham số có thể đào tạo được, nó cho biết lượng thông tin điều đó cần được nhấn mạnh. Trọng số kết quả là αt, trọng số này sẽ được sử dụng để tính trọng số đầu vào. Đầu vào ban đầu sẽ được thay thế bằng đầu vào mới có trọng số và được sử dụng để cập nhật sự chú ý. Đầu vào mới này có thể chú ý nhiều hon đến chuỗi tính năng đầu vào cụ thể, trích xuất khóa tính năng hiệu quả và bỏ qua các tính năng dư thừa bằng cách sử dụng trọng số chú ý. Đây là quá trình chuyển đổi mô hình LSTM ban đầu thành mô hình dựa trên sự chú ý.

Điểm chú ý LSTM: Các kỹ thuật học sâu được lấy ý tưởng từ các hiện tượng sinh học và con người nhận thức. Ví dụ: chúng tôi không coi tất cả thông tin đều có tầm quan trọng như nhau, thay vào đó con người nhận thức tập trung vào những phần quan trọng trước tiên đối với thông tin mới nhận được. Hiện tượng này cũng tưong tự như thị trường tài chính, vì giá cổ phiếu luôn biến độ việc chọn lọc giá trị cần thiết để ghi nhớ là rất quan trọng . Các giá trị được tính toán cho thấy rằng các cổng ra và quên là những thành phần quan trọng nhất, và việc loại bỏ bất kỳ cổng nào trong số chúng rõ ràng sẽ làm giảm độ học hỏi của mạng. Hon nữa, đầu vào và cổng quên kết hợp được sửa đổi có thể giảm số lượng tham số phải học và giảm chi phí tính toán mà không làm giảm đáng kể mức độ học hỏi của mạng. Vì khả năng mạnh mẽ này, LSTM đã trở thành trọng tâm của học sâu và được áp dụng cho nhiều nhiệm vụ.

2.2.2.4. Các biến thể của LSTM

Một biến thể LSTM phổ biến, được giới thiệu bởi Gers và Schmidhuber năm 2000, là thêm “kết nối lỗ nhìn trộm”. Điều này có nghĩa là chúng ta để các lớp cổng xem xét trạng thái tế bào [23].

Hình 17. Hình thể hiện biến thể kết nối lỗ nhìn trộm LSTM

ft = σ (W f ∙ [Ct-I,ht-1 , Xt ] + bf ) it = σ(Wi.[Ct-1,ht-1 , Xt ] + bi)

Ot = σ(Wo.[Ct-1,ht-1 , Xt ] + ho)

Sơ đồ trên thêm lỗ nhỏ cho tất cả các cổng, nhưng nhiều giấy tờ sẽ cho một số lỗ nhỏ chứ không phải các cửa khác.

Ngoài ra có các biến thể tiêu biểu khác như là mạng có thêm các cổng đầu vào và quên kết hợp. Thay vì quyết định riêng rẽ những gì nên quên và những gì chúng ta nên thêm thông tin mới, chúng tôi đưa ra những quyết định đó cùng nhau. Chúng ta chỉ quên khi chúng ta nhập một thứ gì đó vào đúng vị trí của nó. Chúng tôi chỉ nhập các giá trị mới vào trạng thái khi chúng tôi quên một cái gì đó cũ hơn.

Ct = ft * Ct-1 + (1-ft ) * Cit

Vào năm 2014, cho đã giới thiệu một biến thể ấn tượng hon một chút đối với LSTM là đon vị tái chế Gated, hoặc GRU. Nó đã gộp cổng quên và cổng đầu, xử lý giá trị chung trong một “cổng cập nhật” duy nhất. Mô hình tối giản hon các mô hình LSTM tiêu chuẩn và ngày càng phổ biến.

Hình 19. Hình thể hiện cấu trúc LSTM có thêm cổng cập nhật

Zt = σ(Wz.[ht-ι , Xt ]) rt = σ(Wl..ht-i , Xt ]) htι = tanh(W.[rt .ht-1 , Xt ]) ht = (1-Zt) * ht-1 + Zt *hti

Một phần của tài liệu 886 ứng dụng mô hình học sâu LSTM trong bài toán dự báo giá cổ phiếu ở thời điểm đóng cửa cho một số mã cổ phiếu ở thị trường chứng khoán việt nam (Trang 31 - 44)