Hiểu cấu trúc liên kết LSTM


9

Như nhiều người khác có, tôi thấy các tài nguyên ở đâyở đây vô cùng hữu ích để hiểu các tế bào LSTM. Tôi tự tin Tôi hiểu cách các giá trị chảy và được cập nhật, và tôi đủ tự tin để thêm "kết nối lổ nhìn trộm", v.v.

Trong ví dụ của tôi, mỗi lần tôi có một vectơ đầu vào có độ dài ivà một vectơ đầu ra có độ dài o, trong đó o < i.

Điều mà cả trang không thực sự bao gồm là cách chúng được sắp xếp và đào tạo.

Tôi có 2 câu hỏi:

  1. Trong dữ liệu đào tạo của tôi, tôi có rất nhiều cặp vectơ đầu vào / đầu ra tương ứng với nhiều, nhiều đơn vị thời gian. Giả sử tôi huấn luyện LSTM với tất cả dữ liệu. Sau đó tôi có thể chạy một đầu vào độ dài tùy ý được đặt qua nó không? Ý tôi là, nếu tôi có dữ liệu đào tạo cho cả năm 2015 và 2016, tôi có thể chạy dữ liệu qua mạng cho năm 2017 không? Hoặc có lẽ 2017 đến 2020?
  2. Theo những gì tôi đã đọc, có cảm giác như tôi có một ô LSTM trên mỗi đơn vị thời gian, vì vậy nếu tôi có nhiều đơn vị thời gian thì tôi có nhiều ô LSTM bị xiềng xích. Vì độ dài của chuỗi phụ thuộc vào độ dài dữ liệu tôi muốn chạy qua mạng và điều đó có lẽ là tùy ý, tôi không thể thấy tôi sẽ đào tạo điều này như thế nào, trừ khi tôi chỉ đào tạo một tế bào LSTM duy nhất sau đó được nhân đôi một số lần Vì vậy, có vẻ như tôi sẽ huấn luyện một ô LSTM duy nhất, và sau đó xâu chuỗi nchúng lại với nhau cho một danh sách vectơ đầu vào có độ dài n? Mặc dù một ô LSTM duy nhất chứa một số yếu tố và chức năng, nhưng có vẻ như nó không đủ để thu thập quá nhiều thông tin trong một cái gì đó quá nhỏ?

Cảm ơn. Có tài nguyên nào khác tôi có thể tiêu thụ (tương đối nhanh chóng) sẽ giúp tôi hiểu chi tiết về việc thực hiện không? Hai liên kết ở trên đã đưa ra một bức tranh cấp cao tuyệt vời về những gì đang diễn ra nhưng không thể nắm bắt được những chi tiết tốt hơn này.

Câu trả lời:


1

Giả sử tôi huấn luyện LSTM với tất cả dữ liệu. Sau đó tôi có thể chạy một đầu vào độ dài tùy ý được đặt qua nó không?

Tóm tắt, vâng. Tuy nhiên, một số triển khai phần mềm có các quy tắc cứng về việc các biến có cần phải có kích thước cố định hay không, nếu chúng có thể là kích thước thay đổi, vì vậy về mặt lập trình, bạn sẽ phải kiểm tra xem bạn có đang thực hiện đúng không.

Vì vậy, có vẻ như tôi sẽ huấn luyện một ô LSTM duy nhất, và sau đó xâu chuỗi chúng lại với nhau cho một danh sách vectơ đầu vào có độ dài n?

Không. Mỗi ô xử lý tất cả các đơn vị thời gian. Đó là điều khiến chúng tái diễn : ô xử lý đầu vào bằng cách cập nhật trạng thái bộ nhớ của ô . Đơn vị thời gian tiếp theo là một chức năng của nhà nước nhớ trước và các đầu vào mới .xtxt+1

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.