Table of Contentsh2
- Table of Contents
- 1. Review: Recurrent Neural Network (RNN)
- 2. LSTM
- 3. GRU
- 4. Time Series – Basic Knowledge
- 5. LSTM, GRU for Time Series Data
- 6. LSTM, GRU for Text Data
- 7. Summary
1. Review: Recurrent Neural Network (RNN)h2
{{% details title=“Neural Network limit” closed=“true” %}}
Giới hạn của neural network là fix input đầu vào, làm cho mô hình không flexible.
{{% /details %}}
{{% details title=“RNN review” closed=“true” %}}

chúng ta muốn dự đoán thời điểm hiện tại nhờ vào các thời điểm trong quá khứ, thời gian trước đó.
{{< callout >}} Nhưng lại có vấn đề chúng ta chỉ nhớ thông tin ngắn hạn không thể nhớ được các thông tin dài hạn hơn, làm cho mạng ko flexible. Chúng ta cần một mạng flexible. {{< /callout >}}
RNN lấy idea từ não người, bộ nhớ người gồm các short term (bộ nhớ ngắn hạn), long term (bộ nhớ dài hạn). bộ nhớ ngắn hạn sẽ ghi nhớ thông tin ngắn hạn, bộ nhớ dài hạn sẽ ghi nhớ thông tin dài hạn. Có những thông tin não người có thể nhớ rất đâu từ nhỏ đến giờ thì được lưu vào long term memory.
Các thông tin chính của RNN:
{{% details title=“Recurent means SEQUENCE to sequence” closed=“true” %}}
có nghĩa là các thông tin được truyền từ đầu đến cuối của mạng. {{% /details %}}
{{% details title=“Recurent means FEEDBACK loops” closed=“true” %}}

Output của trạng thái trước được đưa vào input của trạng thái hiện tại.
{{% /details %}}
{{% details title=“Recurent means SHARING WEIGHT” closed=“true” %}}

Tất cả các trạng thái đều dùng chung các tham số.
{{% /details %}}
{{% /details %}}
{{% details title=“Different types of RNNs” closed=“true” %}}
- Many to many (equal input to output)
- Many to many (unequal input to output)
- One to many
- Many to one
{{% /details %}}
{{% details title=“Why RRN is not Use Often” closed=“true” %}}

việc tính toán trạng thái hiện tại phụ thuộc vào trạng thái trước đó làm mô hình khó train và gây ra vấn đề vashing/exploding gradient.
khi trọng số bằng 2 vậy thì giá trị output sẽ rất lớn gây ra vấn đề Exploding gradient
Khi trọng số bằng 0.5 thì output sẽ rất nhỏ có thể gây ra vấn đề vanishing gradient.
{{< callout type=“info” >}} Vậy làm cách nào để tránh được 2 vấn đề trên. {{< /callout >}} {{% /details %}}
2. LSTMh2
{{% details title=“LSTM idea” closed=“true” %}}
LSTM là kiểu mạng giải quyết vấn đề gradient/vanishing gradient. với idea thay vì chỉ lấy thông tin ngắn hạn thì chúng ta cần lấy thêm thông tin dài hạn long term memory. {{% /details %}}
{{% details title=“Three Stages in Single LSTM Unit” closed=“true” %}}

LSTM gồm 3 stages:
- Forget gate: quyết định thông tin nào cần quên và thông tin nào cần nhớ.
- Input gate: quyết định thông tin nào cần cập nhật vào long term memory.
- Output gate: quyết định thông tin nào cần lấy ra từ long term memory. {{% /details %}}
{{% details title=“Details LSTM” closed=“true” %}}

- Long term memories lưu trữ lại dữ liệu quá khứ dài hạn, không có bias và trọng số nên tránh được tình trạng exploding gradient và vanishing gradient.
- Short term memories lưu trữ dữ liệu ngắn hạn, có bias và trọng số.
Vậy các nào để long term memories và short term memories giao tiếp với nhau.
{{% details title=“Forget gate” closed=“true” %}}

Block trên xác định số lượng thông tin nào cần quên và thông tin nào cần nhớ. {{% /details %}}
{{% details title=“Input gate” closed=“true” %}}

Pontential long term sẽ cho biết cần nhớ bao nhiêu % input để làm long term memory và khối bên phải sẽ quyết định thông tin nào cần cập nhật vào long term memory. {{% /details %}}
{{% details title=“Output gate” closed=“true” %}}

Output gate sẽ quyết định thông tin nào cần lấy ra từ long term memory.
{{% /details %}}
{{% /details %}}
{{% details title=“Example LSTM” closed=“true” %}}
Giả sử input đầu vào day 1 đến day 4 và xác định day 5 sử dụng LSTM.
Khởi tạo tham số ban đầu đều bằng 0.
- Bắt đầu với ngày 1:
- Input đầu vào ngày 2 và output đầu vào ngày 1:
- Input đầu vào ngày 3 và output đầu vào ngày 2:
- Input đầu vào ngày 4 và output đầu vào ngày 3:
{{% /details %}}
{{% details title=“Long short term memory - Summary” closed=“true” %}}

- Forget gate: quyết định thông tin nào cần quên và thông tin nào cần nhớ.
- Input gate: quyết định thông tin nào cần cập nhật vào long term memory.
- Output gate: quyết định thông tin nào cần lấy ra từ long term memory.
{{% details title=“Summaey” closed=“true” %}}

{{% /details %}} {{% /details %}}
3. GRUh2
{{% details title=“GRU overview” closed=“true” %}}

GRU là một phiên bản đơn giản hơn của LSTM, GRU không có long term memory và short term memory như LSTM.
{{% /details %}}
{{% details title=“architecture GRU” closed=“true” %}}
- Bỏ qua long term memory và short term memory như LSTM.
- Cách GRU hoạt động:
{{% /details %}}
{{% details title=“Summary” closed=“true” %}}

{{% /details %}}
4. Time Series – Basic Knowledgeh2
{{% details title=“Các loại dữ liệu” closed=“true” %}}
- Evenly Sampled: các điểm dữ liệu được lấy mẫu cách đều nhau.
- Unevenly Sampled: các điểm dữ liệu không có mẫu cách đều nhau.
{{% /details %}}
{{% details title=“Forecasting” closed=“true” %}}

- Single step (short term): dự đoán giá trị tại thời điểm tiếp theo.
-
Multi step (long term): dự đoán giá trị tại nhiều thời điểm tiếp theo.
- Iterated Multi-step Forecasting: dự đoán giá trị tại nhiều thời điểm tiếp theo dựa vào giá trị dự đoán trước đó.
- Direct Multi-step Forecasting:
{{% details title=“Size of Training data” closed=“true” %}}

{{% /details %}}
{{% details title=“Rolling window (Cross-validation)” closed=“true” %}}

{{% /details %}} {{% /details %}}
{{% details title=“Single-step Forecasting – Rolling Window” closed=“true” %}}

{{% /details %}}
5. LSTM, GRU for Time Series Datah2
{{% details title=“Dataset” closed=“true” %}}
{{% /details %}}
{{% details title=“RNN” closed=“true” %}}

-
Tại t = 0:
-
Tại t = 1:
-
Tại t = 2:
-
Stacked RNN: output của một RNN sẽ là input của RNN tiếp theo.
-
Bidirectional RNN: giúp cho học thông tin theo các chiều khác nhau.
{{% /details %}}
{{% details title=“LSTM” closed=“true” %}}

- Tại thời điểm t=0:
- Tại thời điểm t=1:
- Tại thời điểm t=2:
{{% /details %}}
{{% details title=“GRU” closed=“true” %}}
- Tại thời điểm t=0:

- Tại thời điểm t=1:
- Tại thời điểm t=2:
{{% /details %}}
6. LSTM, GRU for Text Datah2
{{% details title=“Dataset” closed=“true” %}}

{{% /details %}}
{{% details title=“RNN” closed=“true” %}}

{{% /details %}}
{{% details title=“LSTM” closed=“true” %}}

{{% /details %}}
{{% details title=“GRU” closed=“true” %}}

{{% /details %}}
7. Summaryh2