Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

BÀI THUYẾT TRÌNH

RNN và LSTM

Vũ Văn Xứng 20195943

Trường đại học Bách Khoa Hà Nội

7-10-2021
Nội dung chính

1 Recurrent neural network

2 Long short term memory Network( LSTM)

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Giới thiệu chung

• Deep Learning gồm 2 mô hình lớn là CNN cho bài toán có đầu vào là
ảnh, RNN cho bài toán có đầu vào dạng chuỗi.
• FPS: frame per second, tức số ảnh hiển thị trong một giây. FPS càng
cao thì video hình ảnh càng mượt mà.
• Dữ liệu dạng chuỗi là dữ liệu có thứ tự. Ví dụ: các ảnh liên tiếp tách
từ video, thứ tự các từ trong câu.

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Recurrent neural network


Ý tưởng

Ý tưởng chính
Xâu chuỗi các dữ liệu rời rạc, kết nối thông tin chứa trong các state trước
tới các state sau, và đầu ra là sự kết hợp của tất cả các thông tin.

- Với mạng nơ ron truyền thống, dữ liệu đầu vào và thông tin đầu ra là
độc lập với nhau.
=⇒ Không phù hợp với bài toán dữ liệu dạng chuỗi.
=⇒ RNN ra đời.

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Recurrent neural network


Mô hình mạng RNN cơ bản

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Recurrent neural network

Trong đó:
• Mỗi hình tròn được gọi là state, state có input là xt và
st−1 ( output của state trước). Output là st = f (U xt + W st−1 ). f
thường là hàm phi tuyến như tanh hay ReLu.
=⇒ Thông tin đầu ra của state này lại được sử dụng làm 1 phần
của dữ liệu đầu vào của state tiếp theo.
• s0 thường được gán giá trị bằng 0 hoặc ngẫu nhiên. Có thể coi là ban
đầu chưa có dữ liệu để học.
• st là trạng thái ẩn tại bước t. Nó là bộ nhớ của mạng. st được tính
toán dựa trên các trạng thái ẩn phía trước và input hiện tại. Do đó,
trạng thái ẩn st sẽ học được thông tin từ các t input.
• ot là đầu ra tại bước t. ot = g(V ∗ st ). g là hàm activation, thường là
softmax.

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Recurrent neural network


Các thông số

1 Các vector:
• xi là vector kích thước n*1.
• si là vector kích thước m*1.
• oi là vector kích thước d*1
2 Các ma trận weight chung cần tìm cho cả quá trình:
• U là ma trận có kích thích m*n.
• W là ma trận có kích thước m*m.
• V là ma trận có kích thước d*m.
3 Các hàm :
• s0 = 0, st = f (U xt + W st−1 ) với t ≥ 1.
• ot = g(V ∗ st )

BÀI THUYẾT TRÌNH RNN và LSTM


Recurrent neural network

Recurrent neural network


Ứng dụng

• Mô hình ngôn ngữ và sinh văn bản


• Dịch máy
• Nhận dạng giọng nói
• Mô tả hình ảnh

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Giới thiệu chung

• Tùy thuộc vào khoảng cách tới thông tin trước đó để đưa ra dự đoán
mà RNN cho ra các kết quả khác nhau. Với khoảng cách lớn dần thì
RNN bắt đầu không nhớ được và học được nữa.
• LSTM là mạng cải tiến của RNN nhằm giải quyết các vấn đề nhớ các
bước dài của RNN, có thể nhớ các thông tin trong suốt thời gian dài
là 1 đặc tính của nó.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Cấu trúc mạng RNN chuẩn

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Cấu trúc mạng LSTM

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Cấu trúc mạng LSTM

• Trong mỗi modul thì nó có 4 neural network layer tương tác với nhau,
biểu diễn qua ô chữ nhật màu vàng, chứa các activation function.
• Các hình tròn màu hồng biểu diễn các phép toán học. Gồm phép
cộng ma trận, phép nhân là phép element-wise multiplication.
• Vector transfer nối đầu ra của nút này làm đầu vào của nút tiếp theo.
• Các đường hợp với nhau kí hiệu sự kết hợp.
• Các đường rẽ nhánh chỉ nội dung được sao chép và chuyển đi những
nơi khác.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Cấu trúc mạng LSTM

• Input:
1 Ct−1 , ht−1 : là output của module trước.
2 xt là input của module thứ t.
• Output: cell state Ct , hidden state ht .
=⇒ Output của LSTM thêm thành phần Ct so với RNN.
• Các hàm:
1 Forget gate: ft = σ(Uf ∗ xt + Wf ∗ ht−1 + bf )
2 Input gate: it = σ(Ui ∗ xt + Wi ∗ ht−1 + bi )
3 Output gate: ot = σ(Uo ∗ xt + Wo ∗ ht−1 + bo )

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Nhận xét

• 0 < ft , it , ot < 1.
• bf , bi , bo là các hệ số bias.
• U là ma trận có kích thích m*n, W là ma trận có kích thước m*m.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Ý tưởng cốt lõi

- Nó được cấu tạo bởi cell state. Nó chạy qua tất cả các mắt xích và có 1
vài tương tác tuyến tính với 3 cổng(gate) để thêm bớt thông tin cần thiết.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Ý tưởng cốt lõi

- Các cổng dùng để sàng lọc thông tin, tạo bởi 1 tầng sigmoid và một
phép nhân.
-Tầng sidmoid cho đầu ra là số trong khoảng [0,1], mô tả lượng thông tin
có thể thông qua. Là 0 nếu tất loại bỏ tất cả thông tin, 1 nếu các thông
tin đều được thông qua.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Bên trong mạng LSTM

- Thứ nhất, LSTM xem xét các thông tin cần loại bỏ từ cell state. Quyết
định loại bỏ do tầng sidmoid quyết định. Nó lấy input là ht−1 và xt rồi cho
kết quả trong đoạn [0,1].

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Bên trong mạng LSTM

- Thứ hai, quyết định thông tin mới nào sẽ lưu vào cell state.
- Ta cần qua 2 bước:
1 Sử dụng một tầng sigmoid để quyết định giá trị nào sẽ cập nhập.
2 Tầng tanh tạo ra một vector cho giá trị mới C̃t nhằm thêm vào cho
state
- Sau đó, ta sẽ kết hợp 2 giá trị đó lại để tạo ra một cập nhập cho state.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Bên trong mạng LSTM

- Thứ ba, cập nhật cell state cũ Ct−1 thành trạng thái mới Ct .
• Nhân trạng thái cũ với ft để bỏ đi những thông tin ta quyết định loại
bỏ trước đó và cộng với it ∗ C̃t . Trạng thái mới phụ thuộc vào giá trị
cập nhật ở bước trước.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Bên trong mạng LSTM

- Cuối cùng, xác định đầu ra mong muốn. Giá trị đầu ra sẽ phụ thuộc vào
cell state nhưng vẫn được lọc.
1 Chạy tầng sigmoid để quyết định phần xuất ra của cell state.
2 Đưa cell state qua hàm tanh để co giá trị nó về [-1,1] và nhân nó với
đầu ra của tầng sigmoid.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Một số dạng biến thể phổ biến của LSTM

• Dạng LSTM thêm một số đường liên kết, các tầng cổng nhận input
là các giá trị của cell state.

BÀI THUYẾT TRÌNH RNN và LSTM


Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Một số dạng biến thể phổ biến của LSTM

• Dạng LSTM nối 2 cổng loại trừ và đầu vào với nhau.
• Thay vì phân tách làm 2 bước loại trừ và thêm mới thông tin thì ta
gộp chúng lại.
• Chỉ loại bỏ thông tin khi ta thay nó bằng thông tin mới đưa vào.
• Chỉ thêm thông tin mới vào khi ta bỏ thông tin cũ đi.
BÀI THUYẾT TRÌNH RNN và LSTM
Long short term memory Network( LSTM)

LSTM-Mạng bộ nhớ ngắn dài


Một số dạng biến thể phổ biến của LSTM

- Dạng LSTM này kết hợp các cổng đầu vào và loại trừ thành một cổng
cập nhật.
- Nó hợp trạng thái tế bào và trạng thái ẩn với nhau.

BÀI THUYẾT TRÌNH RNN và LSTM

You might also like