You are on page 1of 9

HỌC VIỆN HÀNG KHÔNG VIỆT NAM

KHOA : ĐIỆN - ĐIỆN TỬ

Đề Tài: LONG SHORT TERM MEMORY(LSTM)

Họ Tên Học Viên: PHAN HỒNG DOANH ; Mssv: 1953020071


Chuyên Ngành: ĐIỆN TỬ-VIỄN THÔNG; Lớp: 19ĐHĐT- 02
GVHD: TRẦN QUỐC KHẢI ;Tên học phần:Chuyên Đề 2

TP HỒ CHÍ MINH - 2022


MỤC LỤC
CHƯƠNG 1. TỔNG QUAN......................................................................2
1. Giới thiệu đề tài......................................................................................2
2. Mục đích đề tài.......................................................................................2
3. Sơ lược các bước thực hiện đề tài...........................................................2
CHƯƠNG 2. LONG SHORT TERM MEMORY(LSTM)........................3
1. Sơ lược về LSTM...................................................................................3
2. Sơ lược về mạng nơ-ron hồi quy (Recurrent Neural Network)..............3
3. Các vấn đề về gradient trong quá trình huấn luyện................................4
4. Cơ chế hoạt động của mạng LSTM........................................................5
5. Ứng dụng của mạng LSTM....................................................................7
6. code ví dụ ..............................................................................................7

1
CHƯƠNG 1. TỔNG QUAN
1. Giới thiệu đề tài

Tên đề tài : Tìm hiểu về LSTM.


Yêu cầu : - Tìm hiểu về cơ chế hoạt động của LSTM.
- Ứng dụng của LSTM.
- Viết một đoạn code ví dụ.
2. Mục đích đề tài
- Có kiến thức sơ khai về trí tuệ nhân tạo AI.
- Hiểu rõ về artificial recurrent neural network (RNN).
- Ứng dụng kiến thức tìm hiểu được về LSTM.
3. Sơ lược các bước thực hiện đề tài
- Sơ lược về LSTM.
- Cơ chế hoạt động của LSTM.
- Ứng dụng của LSTM.
- Code ví dụ .

2
CHƯƠNG 2. LONG SHORT TERM MEMORY(LSTM)
1. Sơ lược về LSTM
LSTM viết tắt của LONG SHORT TERM MEMORY là mạng cải tiến của
RNN ( Artificial Recurrent Neural Network )nhằm giải quyết các vấn đề nhớ
các bước dài của RNN.
Mạng nơ-ron hồi quy ( RNN- Recurrent Neural Network) là một loại thuật toán
định hướng học sâu theo cách tiếp cận tuần tự. Trong mạng nơ-ron, ta luôn giả
định rằng mỗi đầu vào và đầu ra là độc lập với tất cả các lớp khác. Loại mạng
nơ-ron này được gọi là mạng lặp lại vì chúng thực hiện các phép tính toán học
một cách tuần tự hoàn thành nhiệm vụ này đền nhiệm vụ khác.
2. Sơ lược về mạng nơ-ron hồi quy (Recurrent Neural Network)

Hình 1.1- Các loại mạng RNN chính

Dựa vào số lượng xử lý của chuỗi đầu vào người ta chia mạng RNN thành 4
loại chính.
Trong mạng RNN, trạng thái ẩn tại mỗi bước thời gian sẽ được tính toán dựa
vào dữ liệu đầu vào tại bước thời gian tương ứng và các thông tin có được từ
bước thời gian trước đó, tạo khả năng ghi nhớ các thông tin đã được tính toán ở
những bước thời gian trước cho mạng. Hình 1.2 biểu diễn kiến trúc của một
mạng RNN cơ bản cho tác vụ ánh xạ một chuỗi đầu vào thành chuỗi đầu ra vời
cùng một tốc dài khi được duỗi ra.

3
Hình 1.2- kiến trúc của mạng RNN cơ bản
Trong hình 1.1, xét tại mỗi bước thời gian t theo chiều từ dưới lên trên, x(t) là
giá trị đầu vào, h(t) là trạng thái ẩn, o(t) là giá trị đầu ra. U,W,V là các ma trận
trọng số của mạng RNN. L là hàm tính mất mác giữa giá trị đầu ra o(t) từ mạng
RNN và giá trị đầu ra chuẩn y(t) từ tập dữ liệu.
3. Các vấn đề về gradient trong quá trình huấn luyện
Gradient biến mất (vanishingGradient problem) và Gradient bùng nổ(exploding
gradient problem) là những vấn đè gặp phải khi sủ dụng các kỹ thuật tối ưu hóa
tringj số dựa trên gradient để huấn luyện mạng nơ-ron. Các vấn đề này thường
gặp phải do việc lừa chọn các hàm kích hoạt không hợp lý hoặc số lượng các
lớp mạng ẩn cuả mạng quá lớn. Đặc biệt, các vấn đề này thường xuất hiện
trong quá trình huấn luyện các mạng no-ron hồi quy. Trong thuật toán BPTT,
khi chúng ta càng quay lụi về các bước thời gian trước đó thì các giá trị
gradient càng giảm dần, điều này làm giảm tốc độ hội tụ của các trọng số do sự
thay đổi hầu như rất nhỏ. Trong một số trường hợp khác, các gradient có giá trị
rất lớn khiến cho quá trình cập nhật các trọng số bị phân kỳ và vấn đề này được
gọi là gradient bùng nổ. Các vấn đề về gradient biến mất thường được quan
tâm hơn vấn đề gradient bùng nổ do vấn đề gradient biến mất khó có thể được

4
nhận biết trong khi gradient bùng nổ có thể dể dàng quan sát và nhận biết hơn.
Cơ chế của mạng LSTM được đề xuất đã khắc phục được các vấn đề này.
Mạng RNN bị ảnh hưởng bởi khả năng ghi nhớ ngắn hạn( short-term memory).
nếu dữ liệu đầu vào là một chuỗi trình tự dài, mạng RNN sẽ gặp khó khăn
trong việc chuyển tải thông tin từ các bước thời gian đầu tiên đến các bước sau
đó. Ví dụ trong bài toán phân loại văn bản, nếu chúng ta đang cố gắng xử lý
một đoạn văn bản dài để thực hiện phân lọa, mạng RNN có thể bỏ sót nhiều
thông tin quan trọng ngay từ những bước đầu.
4. Cơ chế hoạt động của mạng LSTM

Hình 1.3- Sơ đồ biểu diễn kiến trúc bên trong của một tế bào LSTM
LSTM là một phiên bản mở rộng của mạng RNN, được đề xuất vào những năm
1997 bởi SEPP HOCHREITER và JURGEN SCHMIDHUBER. LSTM được
thiết kế để giải quyết các bài toạn về phụ thuộc xa ( long-term dêpndencies)
trong mạng RNN do bị ảnh hưởng bởi các vấn đề gradient biến mất.
Mạng LSTM có thể bao gồm nhiều tế bào LSTM( LSTM memory cell) liên kết
với nhau và kiến trúc cụ thể của mỗi tế bào được biểu diễn như hình 1.3 . Ý
tưởng của LSTM là bổ sung thêm trạng thái bên trong tế bào ( cell internal

5
state) S(t) và ba cổng sàng lọc các thông tin đầu vào và đầu ra cho tế bào bao
gồm forget gate f(t), input gate i(t) và output o(t). tại mỗi bước thời gian t, các
cổng đều lần lượt nhận giá trị đầu vào x(t) (đại diện cho một phần tử trong
chuổi đầu vào) và giá trị h(t-1) có được từ đầu ra của memory cell từ bước thời
gian trước đó t-1. các cổng đều đóng vai trog có nhiệm vụ sàng lọc thông tin
với mỗi mục đích khác nhau:
+ Forget gate: có nhiệm vụ loại bỏ những thông tin không cần thiết nhận được
khỏi cell internal state.
+ Input gate: có nhiệm vụ chọn lọc những thôi tin cần thiết nào được thêm vào
cell internal state.
+ Output gate: có nhiệm vụ xác định những thông tin nào từ cell internal state
được sủ dụng như đầu ra.
 X(t) là vector đầu vào tại mỗi bước thời gian t.
 W(f,x), W(f,h), W(s,x), W(s,h), W(i,x), W(i,h), W(o,x), W(o,h) là các ma
trận trọng số trong mỗi tế bào LSTM.
 b(f), b(s),b(i),b(o) là các vector bias.
 f(t),i(t),o(t) lần lượt chứa các giá trị kích hoạt lần lượt cho các cổng forget
gate, input gate và output gate tương ứng.
 s(t),s lần lượt là các vector đại diện cho cell internal state và candidate
value.
 h(t) là giá trị đầu ra của tế bào LSTM.
Trong quá trình lan truyền xuôi( forward pass), cell internal state s(t) và giá trị
đầu ra h(t) được tính như sau:
 Ở bước đầu tiên, tế bào LSTM quyết định những thông tin nào cần loại bỏ
từ cell internal state ở bước thời gian trước đó S(t-1). Activation value f(t)
của forget gate tại bước thời gian t được tính dựa trên giá trị đầu vào hiện
tại x(t), giá trị đầu ra h(t-1) từ tế bào LSTM ở bước trước đó và bias b(f)
của forget gate. Hàm sigmoid function biến đổi tất cả activation value về
miền có giá trị trong khoảng từ 0(hoàn toàn quên ) và 1( hoàn toàn ghi
nhớ):
f(t) = σ ¿ )

6
 Ở bước thứ hai, tế bào LSTM quyết định những thông tin nào cần được
thêm vào cell internal state s(t). Bước này bao gồm hai quá trình tính toán
đối với s(t) và f(t). candidate value s(t) biểu diễn những thông tin tiêmg
năng cần được thêm vào được tính như sau:
S(t)= tan(W(s,x)x(t) + W(s,h)h(t-1) + b(f))
Activation value i(t) của input gate theo đó cũng được tính nhưu sau:
I(t)= tan(W(i,x)x(t) + W(i,h)h(t-1)+ b(i)
 Ở bước thứ ba, giá trị mới của cell internal state s(t) được tính dựa theo trên
kết quả tính toán thu được từ các bước trước với phép nhân hadamard theo
từng phần tử( hadamard product) được ký hiệu bằng O:
S(t) = f(t) o s(t-1) + i(t) o s(t)
 Ở bước cuối cùng, giá trị đầu ra h(t) của tế bào LSTM được tính toán dựa
theo hai phương trình sau:
O(t)= σ ¿
H(t) = o(t) o tan(s(t))
5. Ứng dụng của mạng LSTM
mạng LSTM là một dạng đặt biệt của mạng RNN nhằm giải quyết vấn đề phụ
thuộc xa. LSTM có chứa các kết nối phản hồi. Mạng không chỉ xử lý các điểm
dữ liệu đơn lẻ (như các hình ảnh), mà còn xử lý toàn bộ chuỗi dữ liệu (Voice
/video). Ví dụ, LSTM có thể áp dụng cho các tác vụ nhận dạng chữ viết tay,
nhận dạng tiếng nói và phát hiện bất thường có tính chất kết nối, không phân
đoạn trong giao thông mạng hoặc các IDS (hệ thống phát hiện xâm nhập).
LSTM còn có thể dự đoán, dự báo một số liệu nào đó ( thời tiết , giá cổ
phiếu....)
6. Code ví dụ
DỰ ĐOÁN CHUỖI THỜI GIAN BẰNG LSTM

7
Kết quả sau khi thực thi

You might also like