Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Mạng nơ-ron dài-ngắn hạn (LSTM)

Khám phá cách mạng Long Short-Term Memory (LSTM) vượt trội trong việc xử lý dữ liệu tuần tự, khắc phục các hạn chế của RNN và cung cấp sức mạnh cho các tác vụ AI như NLP và dự báo.

Bộ nhớ Dài Ngắn Hạn (LSTM) là một kiến trúc chuyên biệt trong họ rộng hơn của Mạng Nơ-ron Hồi quy (RNN) được thiết kế để xử lý dữ liệu tuần tự và nắm bắt hiệu quả các mối quan hệ phụ thuộc dài hạn. Không giống như các mạng truyền thẳng tiêu chuẩn xử lý dữ liệu đầu vào một cách riêng biệt, LSTM duy trì một "bộ nhớ" nội bộ tồn tại theo thời gian, cho phép chúng học các mẫu theo trình tự như văn bản, âm thanh và dữ liệu tài chính. Khả năng này giải quyết một hạn chế đáng kể trong RNN truyền thống được gọi là vấn đề gradient biến mất , trong đó mạng gặp khó khăn trong việc lưu giữ thông tin từ các bước trước đó trong một chuỗi dài trong quá trình huấn luyện mô hình . Bằng cách sử dụng một cơ chế gating độc đáo, LSTM có thể chọn lọc ghi nhớ hoặc quên thông tin, khiến chúng trở thành công nghệ nền tảng trong lịch sử học sâu (DL) .

LSTM hoạt động như thế nào

Cải tiến cốt lõi của LSTM nằm ở trạng thái ô của nó, thường được mô tả như một băng chuyền chạy qua toàn bộ chuỗi mạng với chỉ một số tương tác tuyến tính nhỏ. Cấu trúc này cho phép thông tin chảy liên tục, không thay đổi, bảo toàn ngữ cảnh trên các chuỗi dài. LSTM điều chỉnh luồng này bằng ba cổng riêng biệt, thường bao gồm các lớp mạng nơ-ron sigmoid và các phép toán nhân từng điểm:

  • Cổng quên: Xác định thông tin nào từ trạng thái ô trước đó không còn liên quan và cần loại bỏ.
  • Cổng đầu vào: Quyết định thông tin mới nào từ bước đầu vào hiện tại đủ quan trọng để được lưu trữ trong trạng thái tế bào.
  • Cổng đầu ra: Kiểm soát những phần nào của trạng thái ô sẽ được đưa ra trạng thái ẩn tiếp theo, thường sử dụng kích hoạt tanh (tank hypebolic) để chia tỷ lệ các giá trị.

Thiết kế tinh vi này cho phép LSTM xử lý các tác vụ có khoảng cách lớn giữa thông tin liên quan và điểm cần thông tin, một khái niệm được hình dung trong hướng dẫn nổi tiếng của Christopher Olah về cách hiểu LSTM .

Các Ứng dụng Thực tế

LSTM đã đóng vai trò quan trọng trong việc nâng cao năng lực Trí tuệ Nhân tạo (AI) trong nhiều ngành công nghiệp khác nhau. Khả năng hiểu được động lực học thời gian của chúng khiến chúng trở nên lý tưởng cho:

  1. Xử lý Ngôn ngữ Tự nhiên (NLP): Trong các tác vụ như dịch máy , LSTM có thể tiếp nhận một câu bằng một ngôn ngữ và tạo ra bản dịch sang ngôn ngữ khác bằng cách giữ nguyên ngữ cảnh của các từ xuất hiện trước đó trong câu. Tương tự, trong phân tích cảm xúc , mô hình có thể hiểu cách một từ bổ nghĩa ở đầu đoạn văn (ví dụ: "not") phủ định một từ ở cuối đoạn văn (ví dụ: "recommended").
  2. Phân tích video và nhận dạng hành động: Trong khi các mô hình Thị giác máy tính (CV) như YOLO11 xuất sắc trong việc phát hiện các đối tượng trong hình ảnh tĩnh, LSTM có thể xử lý chuỗi các đặc điểm hình ảnh được trích xuất bởi Mạng nơ-ron tích chập (CNN) để nhận dạng các hành động theo thời gian, chẳng hạn như "chạy" hoặc "vẫy tay". Sự kết hợp này thu hẹp khoảng cách giữa phát hiện không gian và hiểu biết về video theo thời gian .

So sánh với các kiến trúc liên quan

Sẽ rất hữu ích khi phân biệt LSTM với các kỹ thuật mô hình hóa trình tự tương tự:

  • RNN so với LSTM: Một RNN tiêu chuẩn có cấu trúc lặp đơn giản (thường là một lớp tanh) nhưng không học được các phụ thuộc tầm xa do độ bất ổn định của gradient. LSTM giới thiệu cấu trúc đa cổng để giải quyết vấn đề này.
  • GRU so với LSTM: Gated Recurrent Unit (GRU) là một biến thể đơn giản hóa của LSTM, kết hợp các cổng quên và cổng nhập thành một cổng cập nhật duy nhất. GRU hiệu quả tính toán hơn và thường có hiệu suất tương đương, khiến chúng trở thành lựa chọn phổ biến khi tài nguyên tính toán bị hạn chế.
  • Transformer so với LSTM: Kiến trúc Transformer hiện đại, dựa trên cơ chế tự chú ý , đã thay thế phần lớn LSTM trong NLP. Transformer xử lý toàn bộ chuỗi song song thay vì tuần tự, cho phép đào tạo nhanh hơn trên GPU và xử lý ngữ cảnh toàn cục tốt hơn.

Ví dụ triển khai

Ví dụ sau đây minh họa cách xác định một lớp LSTM chuẩn bằng PyTorch . Đoạn mã này khởi tạo một lớp và xử lý một lô dữ liệu tuần tự giả định, một quy trình làm việc phổ biến trong phân tích chuỗi thời gian .

import torch
import torch.nn as nn

# Define an LSTM layer: input_dim=10, hidden_dim=20, num_layers=2
lstm_layer = nn.LSTM(input_size=10, hidden_size=20, num_layers=2, batch_first=True)

# Create dummy input: (batch_size=5, sequence_length=3, input_dim=10)
input_seq = torch.randn(5, 3, 10)

# Forward pass: Returns output and (hidden_state, cell_state)
output, (hn, cn) = lstm_layer(input_seq)

print(f"Output shape: {output.shape}")  # Expected: torch.Size([5, 3, 20])

Đọc thêm và Tài nguyên

Để tìm hiểu sâu hơn về LSTM, bạn có thể tham khảo bài nghiên cứu gốc của Hochreiter và Schmidhuber, trong đó giới thiệu khái niệm này. Đối với những ai quan tâm đến việc triển khai thực tế, tài liệu chính thức về LSTM PyTorchAPI LSTM Keras của TensorFlow cung cấp hướng dẫn toàn diện. Ngoài ra, các khóa học về NLP của Đại học Stanford thường đề cập sâu đến nền tảng lý thuyết của các mô hình chuỗi. Việc hiểu rõ các thành phần này là rất quan trọng để làm chủ các hệ thống AI phức tạp, từ các công cụ chuyển giọng nói thành văn bản đơn giản đến các tác nhân tự động tiên tiến.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay