Độ dài trình tự khả thi cho mô hình RNN là gì?


15

Tôi đang xem xét sử dụng phiên bản LSTM ( bộ nhớ ngắn hạn ) của mạng thần kinh tái phát (RNN) để mô hình hóa dữ liệu thời gian. Khi độ dài chuỗi của dữ liệu tăng, độ phức tạp của mạng tăng lên. Do đó, tôi tò mò không biết độ dài của chuỗi sẽ khả thi để mô hình với độ chính xác tốt?

Tôi muốn sử dụng một phiên bản tương đối đơn giản của LSTM mà không có bất kỳ khó khăn nào để thực hiện các phương pháp tiếp cận hiện đại. Mỗi quan sát trong thời gian của tôi có thể có 4 biến số và số lượng quan sát sẽ vào khoảng 100.000 đến 1.000.000.

Câu trả lời:


8

Nó hoàn toàn phụ thuộc vào bản chất của dữ liệu của bạn và các mối tương quan bên trong, không có quy tắc ngón tay cái. Tuy nhiên, do bạn có một lượng lớn dữ liệu, LSTM 2 lớp có thể mô hình hóa một khối lượng lớn các vấn đề / điểm chuẩn theo chuỗi thời gian.

Hơn nữa, bạn không truyền ngược thời gian cho toàn bộ chuỗi mà thường đến (200-300) bước cuối cùng. Để tìm giá trị tối ưu, bạn có thể xác thực chéo bằng cách sử dụng tìm kiếm lưới hoặc tối ưu hóa bayesian. Hơn nữa, bạn có thể xem các thông số ở đây: https://github.com/wojzaremba/lstm/blob/master/main.lua .

Vì vậy, độ dài chuỗi không thực sự ảnh hưởng đến đào tạo mô hình của bạn nhưng nó giống như có nhiều ví dụ đào tạo hơn, rằng bạn chỉ giữ trạng thái trước đó thay vì đặt lại nó.


Nói rằng tôi cần thực hiện phân tích tình cảm, đó là một cách tiếp cận nhiều-một (xem karpathy.github.io/2015/05/21/rnn-effectivity ). Mỗi câu này rất dài (> 200 từ). Nếu tôi chỉ truyền ngược thời gian trong 35 bước thông thường, đó có phải là vấn đề không? Vì nó được học có giám sát, tôi cho rằng nó chỉ có thể sao lưu khi nó "đạt" mục tiêu phân loại nhị phân , y. Theo cách này, RNN sẽ điều chỉnh các trọng số dựa trên bất cứ điều gì trước 35 bước được chọn cho BPTT?
cướp biển

1
Chà, nó sẽ không thành vấn đề vì các trọng lượng tương tự được sử dụng lại trong bước huấn luyện tiếp theo. Hơn nữa, nếu bạn thấy mã nguồn ở bước 36 (giả sử) vectơ khởi tạo không phải là 0, mà là trạng thái của bước 35. Vì vậy, bằng cách thực hiện các bước nhỏ, bạn tối ưu hóa hàm chi phí bằng BPTT.
Yannis Assael

1
Chỉ cần làm rõ: BPTT chạy một lần hay nhiều lần cho một câu? Nếu nó được chạy một lần duy nhất, thì các mẫu chỉ ảnh hưởng đến một vài từ đầu tiên trong câu sẽ chỉ ảnh hưởng đến trạng thái ẩn, phải không? Ý tôi là .. độ dốc sẽ không bao giờ được tính toán liên quan đến phần đầu vào đó.
pir

1
Tôi đã yêu cầu này như câu hỏi riêng biệt mà tôi hy vọng bạn sẽ xem xét :) stats.stackexchange.com/questions/167482/...
pir

2
"cho rằng bạn có một lượng lớn dữ liệu, LSTM 2 lớp có thể mô hình hóa khá nhiều bất kỳ chuỗi thời gian nào." bằng chứng ở đâu
nbro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.