Long Short-Term Memory (LSTM)
Khám phá các mạng Long Short-Term Memory (LSTM). Tìm hiểu cách LSTM giải quyết vấn đề gradient biến mất trong RNN cho các tác vụ chuỗi thời gian, NLP và phân tích video.
Bộ nhớ dài-ngắn hạn (LSTM) là một loại kiến trúc mạng neural hồi quy (RNN) chuyên biệt, có khả năng học sự phụ thuộc về thứ tự trong các bài toán dự đoán chuỗi. Không giống các mạng neural truyền thẳng tiêu chuẩn, LSTM có các kết nối hồi tiếp cho phép xử lý không chỉ các điểm dữ liệu đơn lẻ (chẳng hạn như hình ảnh), mà còn toàn bộ chuỗi dữ liệu (chẳng hạn như giọng nói hoặc video). Khả năng này khiến LSTM đặc biệt phù hợp với các tác vụ trong đó ngữ cảnh từ những đầu vào trước đó đóng vai trò then chốt để hiểu dữ liệu hiện tại, khắc phục những hạn chế về "bộ nhớ ngắn hạn" của các RNN truyền thống.
Vấn đề của RNN tiêu chuẩn#
Để hiểu rõ cải tiến của LSTM, cần xem xét những thách thức mà các mạng neural hồi quy cơ bản gặp phải. Mặc dù RNN được thiết kế để xử lý thông tin tuần tự, chúng gặp khó khăn với các chuỗi dữ liệu dài do vấn đề gradient biến mất. Khi mạng lan truyền ngược qua thời gian, các gradient—những giá trị được dùng để cập nhật trọng số của mạng—có thể trở nên nhỏ hơn theo cấp số nhân, khiến mạng gần như không thể học được mối liên hệ giữa các sự kiện cách xa nhau. Điều này có nghĩa là một RNN tiêu chuẩn có thể nhớ một từ trong câu trước nhưng lại quên ngữ cảnh được thiết lập từ ba đoạn trước đó. LSTM được thiết kế rõ ràng để giải quyết vấn đề này bằng cách đưa vào một cấu trúc nội bộ phức tạp hơn, có thể duy trì cửa sổ ngữ cảnh trong thời gian dài hơn nhiều.
Cách LSTM hoạt động#
Khái niệm cốt lõi của LSTM là trạng thái ô nhớ, thường được mô tả như một băng chuyền chạy xuyên suốt toàn bộ chuỗi của mạng. Trạng thái này cho phép thông tin truyền dọc theo nó mà không bị thay đổi, bảo toàn các phụ thuộc dài hạn. Mạng đưa ra quyết định về việc lưu trữ, cập nhật hoặc loại bỏ thông tin khỏi trạng thái ô nhớ bằng các cấu trúc gọi là cổng.
- Cổng quên: Cơ chế này quyết định thông tin nào không còn liên quan và cần được loại bỏ khỏi trạng thái ô nhớ. Ví dụ, khi một model ngôn ngữ gặp một chủ thể mới, model có thể "quên" giới tính của chủ thể trước đó.
- Cổng đầu vào: Cổng này xác định thông tin mới nào đủ quan trọng để được lưu trữ trong trạng thái ô nhớ.
- Cổng đầu ra: Cuối cùng, cổng này kiểm soát những phần nào của trạng thái nội bộ cần được xuất ra trạng thái ẩn tiếp theo và được sử dụng cho dự đoán tức thời.
Bằng cách điều tiết luồng thông tin này, LSTM có thể kết nối các độ trễ thời gian dài hơn 1.000 bước, vượt trội đáng kể so với RNN thông thường trong các tác vụ yêu cầu phân tích chuỗi thời gian.
Các ứng dụng trong thực tế#
LSTM đã thúc đẩy nhiều đột phá lớn trong deep learning suốt thập kỷ qua. Dưới đây là hai ví dụ nổi bật về ứng dụng của chúng:
- Mô hình hóa chuỗi-đến-chuỗi trong dịch thuật: LSTM là nền tảng của các hệ thống dịch máy. Trong kiến trúc này, một LSTM (bộ mã hóa) xử lý một câu đầu vào bằng một ngôn ngữ (ví dụ: tiếng Anh) và nén câu đó thành một vector ngữ cảnh. Sau đó, một LSTM thứ hai (bộ giải mã) sử dụng vector này để tạo bản dịch sang một ngôn ngữ khác (ví dụ: tiếng Pháp). Khả năng xử lý các chuỗi đầu vào và đầu ra có độ dài khác nhau là yếu tố then chốt đối với xử lý ngôn ngữ tự nhiên (NLP).
- Phân tích video và nhận dạng hoạt động: Mặc dù các Mạng neural tích chập (CNNs) như ResNet-50 rất hiệu quả trong việc xác định các đối tượng trong ảnh tĩnh, chúng không có khả năng nắm bắt yếu tố thời gian. Bằng cách kết hợp CNNs với LSTM, các hệ thống AI có thể thực hiện nhận dạng hành động trong các luồng video. CNN trích xuất đặc trưng từ từng khung hình, còn LSTM phân tích chuỗi đặc trưng này để xác định một người đang đi bộ, chạy hay ngã.
Tích hợp LSTM với Thị giác máy tính#
Trong thị giác máy tính hiện đại, LSTM thường được sử dụng cùng với các bộ trích xuất đặc trưng mạnh mẽ. Chẳng hạn, bạn có thể sử dụng một model YOLO để phát hiện các đối tượng trong từng khung hình và một LSTM để theo dõi quỹ đạo hoặc dự đoán chuyển động trong tương lai của chúng.
Dưới đây là một ví dụ khái niệm sử dụng torch để định nghĩa một LSTM đơn giản có thể xử lý chuỗi các vector đặc trưng được trích xuất từ một luồng video:
import torch
import torch.nn as nn
# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)
# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)
# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)
print(f"Output shape: {output.shape}") # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")Các khái niệm và điểm khác biệt liên quan#
Việc phân biệt LSTM với các kiến trúc xử lý chuỗi khác là rất hữu ích:
- LSTM và GRU: Gated Recurrent Unit (GRU) là một biến thể đơn giản hóa của LSTM. GRU kết hợp cổng quên và cổng đầu vào thành một "cổng cập nhật" duy nhất, đồng thời hợp nhất trạng thái ô nhớ và trạng thái ẩn. Điều này giúp GRU có hiệu quả tính toán cao hơn và huấn luyện nhanh hơn, mặc dù LSTM vẫn có thể đạt hiệu suất tốt hơn trên các tập dữ liệu lớn và phức tạp hơn.
- LSTM và Transformers: Kiến trúc Transformer, dựa trên các cơ chế tự chú ý thay vì hồi quy, phần lớn đã thay thế LSTM trong các tác vụ NLP như những tác vụ được GPT-4 thực hiện. Transformers có thể xử lý toàn bộ chuỗi song song thay vì tuần tự, cho phép huấn luyện nhanh hơn nhiều trên các tập dữ liệu khổng lồ. Tuy nhiên, LSTM vẫn phù hợp trong các tình huống có dữ liệu hạn chế hoặc các ràng buộc chuỗi thời gian cụ thể, nơi chi phí bổ sung của các cơ chế attention là không cần thiết.
Quá trình phát triển và tương lai#
Mặc dù cơ chế attention đã trở thành trọng tâm trong generative AI, LSTM vẫn là lựa chọn đáng tin cậy cho các ứng dụng nhẹ hơn, đặc biệt trong các môi trường edge AI có tài nguyên tính toán hạn chế. Các nhà nghiên cứu vẫn đang khám phá những kiến trúc lai kết hợp hiệu quả bộ nhớ của LSTM với năng lực biểu diễn của các hệ thống phát hiện đối tượng hiện đại.
Đối với những người muốn quản lý tập dữ liệu để huấn luyện các model xử lý chuỗi hoặc thực hiện các tác vụ thị giác phức tạp, Ultralytics Platform cung cấp các công cụ toàn diện cho việc gán nhãn và quản lý tập dữ liệu. Ngoài ra, việc hiểu cách LSTM hoạt động sẽ tạo nền tảng vững chắc để nắm bắt các model thời gian nâng cao hơn được sử dụng trong phương tiện tự hành và robot.









