Cách sử dụng đúng cách mạng thần kinh tái phát để phân tích chuỗi thời gian


67

Mạng thần kinh tái phát khác với mạng "thông thường" bởi thực tế là chúng có lớp "bộ nhớ". Do lớp này, NN tái phát được cho là hữu ích trong mô hình chuỗi thời gian. Tuy nhiên, tôi không chắc tôi hiểu chính xác cách sử dụng chúng.

Giả sử tôi có chuỗi thời gian sau (từ trái sang phải) : [0, 1, 2, 3, 4, 5, 6, 7], mục tiêu của tôi là dự đoán iđiểm thứ ba bằng cách sử dụng điểm i-1i-2làm đầu vào (cho mỗi điểm i>2). Trong một ANN "thông thường", không định kỳ, tôi sẽ xử lý dữ liệu như sau:

 target| input
      2| 1 0
      3| 2 1
      4| 3 2
      5| 4 3
      6| 5 4
      7| 6 5 

Sau đó tôi sẽ tạo một mạng có hai nút đầu vào và một đầu ra và huấn luyện nó với dữ liệu ở trên.

Làm thế nào để một người cần phải thay đổi quá trình này (nếu có) trong trường hợp mạng tái phát?


Bạn đã tìm ra cách cấu trúc dữ liệu cho RNN (ví dụ LSTM) chưa? cảm ơn bạn
mik1904

Câu trả lời:


49

Những gì bạn mô tả trên thực tế là một cách tiếp cận "cửa sổ thời gian trượt" và khác với các mạng lặp lại. Bạn có thể sử dụng kỹ thuật này với bất kỳ thuật toán hồi quy nào. Có một hạn chế rất lớn đối với phương pháp này: các sự kiện trong đầu vào chỉ có thể tương quan với các đầu vào / đầu ra khác nằm cách nhau nhiều nhất là dấu thời gian, trong đó t là kích thước của cửa sổ.

Ví dụ, bạn có thể nghĩ về một chuỗi Markov của đơn hàng t. RNNs không phải chịu đựng điều này trong lý thuyết, tuy nhiên trong thực tế học tập rất khó.

y=WxyWx

xiyi=Wxi+Wryi1

Wr

hi

h0=0
hi=σ(W1xi+Wrhi1)
yi=W2hi

σW1W2Wr

Dưới đây là sơ đồ cấu trúc:

sơ đồ


2
Tôi sai khi thấy một số điểm tương tự của các mạng lặp lại với bộ lọc Kalman? Tôi thấy điều này bởi vì đầu ra trước đó ảnh hưởng đến đầu ra hiện tại. Lợi ích thực tế sau đó của các mạng lặp lại là gì?
Vass

10
Bạn đang viết theo nghĩa là cả hai đều là mô hình không gian trạng thái. Tuy nhiên, có rất nhiều sự khác biệt: KF hoàn toàn có xác suất, theo nghĩa là các trạng thái ẩn có ý nghĩa xác suất thích hợp. Mặt khác, các RNN mang tính xác định và chỉ có thể sử dụng các đầu ra để mô hình hóa phân phối theo cách phân biệt đối xử. Ngoài ra, KF thường được ước tính bằng EM, trong khi RNN được ước tính bằng các phương pháp dựa trên độ dốc. Nếu bạn muốn biết thêm chi tiết, vui lòng gửi câu hỏi và gửi cho tôi liên kết, nhưng các ý kiến ​​quá hạn chế cho việc này.
bayerj

1
Không, cửa sổ thời gian trượt không giả vờ trên đầu ra của mạng, chỉ trên đầu vào.
bayerj

2
@bayerj thông tin tuyệt vời, nhưng tôi không nghĩ bạn đã trả lời câu hỏi. Làm thế nào để bạn cấu trúc các vectơ đầu ra đầu vào không trong cửa sổ thời gian trượt cho RNN? Bạn có thể cung cấp một vài mẫu với bộ dữ liệu của OP không?
Levitikon

1
Đây là một mô tả rất nhiều thông tin về RNN nhưng tôi không tìm thấy câu trả lời cho câu hỏi của OP: Làm thế nào để thay đổi [đào tạo] trong trường hợp mạng tái phát?
wehnsdaefflae

9

Bạn cũng có thể xem xét đơn giản bằng cách sử dụng một số biến đổi của chuỗi thời gian cho dữ liệu đầu vào. Chỉ cần một ví dụ, các đầu vào có thể là:

  1. giá trị khoảng thời gian gần đây nhất (7)
  2. giá trị khoảng thời gian gần đây nhất tiếp theo (6)
  3. đồng bằng giữa gần đây nhất và gần đây nhất tiếp theo (7-6 = 1)
  4. giá trị khoảng thời gian gần đây thứ ba (5)
  5. đồng bằng giữa thứ hai và thứ ba gần đây nhất (6-5 = 1)
  6. trung bình của ba khoảng thời gian gần nhất ((7 + 6 + 5) / 3 = 6)

Vì vậy, nếu đầu vào của bạn vào một mạng nơ ron thông thường là sáu phần dữ liệu được chuyển đổi này, thì thuật toán backpropagation thông thường sẽ không phải là một nhiệm vụ khó khăn. Tuy nhiên, bạn sẽ phải mã hóa các biến đổi lấy dữ liệu thô và biến nó thành 6 đầu vào ở trên vào mạng thần kinh của bạn.


1
Bạn đặt rất nhiều kiến ​​thức tên miền vào điều này mặc dù. Điều gì xảy ra nếu bạn không tự nhận ra mô hình của chuỗi thời gian? Làm thế nào để bạn xây dựng một mô hình có thể, đặc biệt là nếu nó phụ thuộc vào các yếu tố đầu vào vô cùng xa trong quá khứ?
bayerj

Infinite chắc chắn sẽ là khó khăn. Tuy nhiên, nếu bạn đưa vào các biến đổi dữ liệu không liên quan đến miền này, thuật toán học tập sẽ dễ dàng có thể tìm ra và điều chỉnh các trọng số cho phù hợp, do đó, đó không phải là vấn đề lớn miễn là bạn KHÔNG biến đổi các dữ liệu có liên quan. Vì vậy, có sẵn nhiều biến đổi khác nhau giúp cải thiện tỷ lệ thành công của bạn.
rossdavidh

01[0.1,0.1]101

2
Tôi không muốn nói rằng bạn không bao giờ nên sử dụng các mạng thần kinh tái phát; hoàn toàn ngược lại. Tuy nhiên, nếu nhiệm vụ (như đã nêu trong câu hỏi) là dự đoán thứ i từ các điểm (i-1) và (i-2), thì bạn có thể nhận được kết quả tốt hơn nhanh hơn bằng cách sử dụng kiến ​​thức đó. Tôi không có ý đề xuất rằng RNN không bao giờ là một ý tưởng hay, nhưng bạn có thể sử dụng bất kỳ kiến ​​thức tên miền nào bạn có để tăng tốc quá trình đào tạo (và giảm khả năng đào tạo bị bắt ở mức tối thiểu tại địa phương, v.v.) .
rossdavidh

4

Một khả năng khác là Mạng lưới thần kinh nhất quán lịch sử (HCNN) . Kiến trúc này có thể phù hợp hơn với thiết lập được đề cập ở trên vì chúng loại bỏ sự phân biệt thường tùy ý giữa các biến đầu vào và đầu ra và thay vào đó cố gắng tái tạo toàn bộ động lực cơ bản của toàn hệ thống thông qua đào tạo với tất cả các quan sát.

Khi tôi làm việc cho Siemens, tôi đã xuất bản một bài báo về kiến ​​trúc này trong một cuốn sách của Springer Verlag: Zimmermann, Grothmann, Tietz, von Jouanne-Diedrich: Mô hình hóa thị trường, dự báo và phân tích rủi ro với các mạng lưới thần kinh nhất quán lịch sử

Chỉ cần đưa ra một ý tưởng về mô hình ở đây là một đoạn trích ngắn:

Trong bài viết này, chúng tôi trình bày một loại NN tái phát mới, được gọi là mạng thần kinh nhất quán lịch sử (HCNN). HCNN cho phép mô hình hóa các hệ thống động lực phi tuyến tính tương tác cao trên nhiều thang đo thời gian. Các HCNN không rút ra bất kỳ sự phân biệt nào giữa đầu vào và đầu ra, nhưng các mô hình quan sát được nhúng trong động lực học của một không gian trạng thái lớn.

[...]

RNN được sử dụng để mô hình hóa và dự báo một hệ thống động mở bằng cách sử dụng phương pháp hồi quy phi tuyến tính. Tuy nhiên, nhiều ứng dụng kinh tế và kỹ thuật trong thế giới thực phải được nhìn thấy trong bối cảnh các hệ thống lớn trong đó các động lực khác nhau (phi tuyến tính) tương tác với nhau theo thời gian. Được chiếu trên một mô hình, điều này có nghĩa là chúng ta không phân biệt giữa đầu vào và đầu ra mà nói về các vật quan sát. Do khả năng quan sát một phần của các hệ thống lớn, chúng ta cần các trạng thái ẩn để có thể giải thích động lực học của các quan sát. Các quan sát và các biến ẩn nên được xử lý theo mô hình theo cách tương tự. Thuật ngữ quan sát bao gồm các biến đầu vào và đầu ra (nghĩa làYτ:=(yτ,uτ)). Nếu chúng ta có thể thực hiện một mô hình trong đó động lực học của tất cả các vật quan sát có thể được mô tả, chúng ta sẽ ở trong một vị trí để đóng hệ thống mở.

... và từ kết luận:

Mô hình chung của các biến ẩn và quan sát trong các mạng thần kinh tái phát lớn cung cấp triển vọng mới cho việc lập kế hoạch và quản lý rủi ro. Phương pháp tiếp cận dựa trên HCNN cung cấp một cách tiếp cận khác để dự báo phân phối xác suất trong tương lai. Các HCNN đưa ra một mô tả hoàn hảo về tính năng động của các vật thể quan sát trong quá khứ. Tuy nhiên, khả năng quan sát một phần của thế giới dẫn đến sự tái cấu trúc không độc đáo của các biến ẩn và do đó, các kịch bản tương lai khác nhau. Do sự phát triển thực sự của động lực là không xác định và tất cả các đường dẫn đều có cùng xác suất, nên trung bình của đoàn thể có thể được coi là dự báo tốt nhất, trong khi băng thông của phân phối mô tả rủi ro thị trường. Hôm nay, chúng tôi sử dụng dự báo HCNN để dự đoán giá cho năng lượng và kim loại quý để tối ưu hóa thời gian của các quyết định mua sắm. Công việc hiện đang được tiến hành liên quan đến việc phân tích các tính chất của đoàn thể và việc thực hiện các khái niệm này trong quản lý rủi ro thực tế và các ứng dụng thị trường tài chính.

Các phần của bài báo có thể được xem công khai: Tại đây


Bạn có một triển khai có sẵn để tải về và kiểm tra?
Julien L

@JulienL: Thật không may, vì đây không phải là công việc độc quyền của Siemens.
vonjd

Quá tệ, điều đó có vẻ hứa hẹn.
Julien L

@JulienL: Tôi khuyến khích bạn liên hệ với Georg, đồng tác giả của tôi. Email của anh ấy nằm trên trang đầu tiên của bài báo (xem liên kết ở trên).
vonjd
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.