Long Short-Term Memory (LSTM)
Khám phá các mạng Long Short-Term Memory (LSTM). Tìm hiểu cách LSTMs giải quyết vấn đề vanishing gradient trong RNNs cho các tác vụ chuỗi thời gian, NLP và phân tích video.
Long Short-Term Memory (LSTM) là một kiến trúc recurrent neural network (RNN) chuyên biệt có khả năng học sự phụ thuộc thứ tự trong các bài toán dự đoán chuỗi. Không giống như các mạng neural feedforward tiêu chuẩn, LSTM có các kết nối phản hồi cho phép chúng xử lý không chỉ các điểm dữ liệu đơn lẻ (như hình ảnh) mà cả các chuỗi dữ liệu hoàn chỉnh (như giọng nói hoặc video). Khả năng này khiến chúng cực kỳ phù hợp cho các tác vụ đòi hỏi bối cảnh từ các đầu vào trước đó để hiểu dữ liệu hiện tại, từ đó giải quyết các hạn chế về "bộ nhớ ngắn hạn" của các RNN truyền thống.
Link to this sectionVấn đề với RNN tiêu chuẩn#
Để hiểu sự đổi mới của LSTM, cần xem xét những thách thức mà các recurrent neural networks cơ bản phải đối mặt. 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 đề vanishing gradient. Khi mạng lan truyền ngược (backpropagates) qua thời gian, các gradient—giá trị 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, về cơ bản ngăn cản mạng học các kết nối 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ừ từ câu trước nhưng lại quên bối cảnh được thiết lập từ ba đoạn văn trước đó. LSTM được thiết kế rõ ràng để giải quyết vấn đề này bằng cách giới thiệu cấu trúc nội bộ phức tạp hơn, có khả năng duy trì context window trong khoảng thời gian dài hơn nhiều.
Link to this sectionCách thức hoạt động của LSTM#
Khái niệm cốt lõi đằng sau một LSTM là trạng thái ô (cell state), 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, giúp 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 từ trạng thái ô này bằng cách sử dụng các cấu trúc gọi là cổng (gates).
- Forget Gate (Cổng quên): Cơ chế này quyết định thông tin nào không còn phù hợp và nên được loại bỏ khỏi trạng thái ô. Ví dụ, nếu một mô hình ngôn ngữ gặp một chủ thể mới, nó có thể "quên" giới tính của chủ thể trước đó.
- Input Gate (Cổng vào): Cổng này xác định thông tin mới nào đủ quan trọng để được lưu trữ vào trạng thái ô.
- Output Gate (Cổng 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ộ nên được xuất ra trạng thái ẩn tiếp theo và được sử dụng cho việc dự đoán ngay lập tức.
Bằng cách điều tiết luồng thông tin này, LSTM có thể kết nối các khoảng trễ thời gian hơn 1.000 bước, vượt xa hiệu suất của các RNN thông thường trong các tác vụ đòi hỏi time series analysis.
Link to this sectionCác ứng dụng trong thực tế#
LSTM đã thúc đẩy nhiều đột phá lớn trong deep learning trong 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 Sequence-to-Sequence trong dịch thuật: LSTM là thành phần nền tảng cho các hệ thống machine translation. Trong kiến trúc này, một LSTM (bộ mã hóa - encoder) xử lý một câu đầu vào bằng một ngôn ngữ (ví dụ: tiếng Anh) và nén nó thành một vector ngữ cảnh. Một LSTM thứ hai (bộ giải mã - decoder) sau đó sử dụng vector này để tạo ra bản dịch bằng 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 này là rất quan trọng đối với natural language processing (NLP).
- Phân tích Video và Nhận diện Hoạt động: Trong khi các Convolutional Neural Networks (CNN) như ResNet-50 xuất sắc trong việc xác định đối tượng trong hình ảnh tĩnh, chúng lại thiếu cảm nhận về thời gian. Bằng cách kết hợp CNN với LSTM, các hệ thống AI có thể thực hiện action recognition trong các luồng video. CNN trích xuất các đặc trưng từ mỗi khung hình, và LSTM phân tích chuỗi các đặc trưng này để xác định xem một người đang đi bộ, chạy hay ngã.
Link to this sectionTích hợp LSTM với Computer Vision#
Trong computer vision hiện đại, LSTM thường được sử dụng cùng với các trình trích xuất đặc trưng mạnh mẽ. Ví dụ, bạn có thể sử dụng một mô hình YOLO để phát hiện đối tượng trong từng khung hình riêng lẻ và dùng một LSTM để theo dõi quỹ đạo của chúng hoặc dự đoán chuyển động trong tương lai.
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ý một 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.")Link to this sectionCác khái niệm liên quan và sự khác biệt#
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 vs. 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 vào thành một "cổng cập nhật" duy nhất và gộp trạng thái ô với trạng thái ẩn. Điều này làm cho GRU có hiệu quả tính toán tốt hơn và huấn luyện nhanh hơn, mặc dù LSTM vẫn có thể vượt trội hơn trên các tập dữ liệu lớn và phức tạp hơn.
- LSTM vs. Transformers: Kiến trúc Transformer, vốn dựa trên cơ chế self-attention thay vì tính tuần tự, đã phần lớn thay thế LSTM trong các tác vụ NLP như các tác vụ được thực hiện bởi GPT-4. 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 giữ vai trò quan trọng trong các kịch bản với dữ liệu hạn chế hoặc các ràng buộc chuỗi thời gian cụ thể mà ở đó chi phí của cơ chế attention là không cần thiết.
Link to this sectionSự tiến hóa và Tương lai#
Mặc dù attention mechanism đã chiếm vị trí trung tâm trong generative AI, LSTM vẫn tiếp tục là một lựa chọn mạnh mẽ cho các ứng dụng nhẹ hơn, đặc biệt là trong các môi trường edge AI nơi tài nguyên tính toán bị hạn chế. Các nhà nghiên cứu tiếp tục khám phá các kiến trúc lai kết hợp hiệu quả bộ nhớ của LSTM với sức mạnh biểu diễn của các hệ thống object detection hiện đại.
Đối với những người đang tìm cách quản lý các tập dữ liệu để huấn luyện các mô hình chuỗi hoặc 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. Hơn nữa, việc hiểu cách thức hoạt động của LSTM cung cấp một nền tảng vững chắc để nắm bắt các mô hình tạm thời tiên tiến hơn được sử dụng trong autonomous vehicles và robot.






