Sự khác biệt giữa các mẫu, các bước thời gian và tính năng trong mạng lưới thần kinh


17

Tôi đang xem qua blog sau đây trên mạng thần kinh LSTM: http://machinelearningmastery.com/under Hiểu-stateful-lstm-recản-neural-networks-python-kasas /

Tác giả định hình lại vectơ đầu vào X là [mẫu, bước thời gian, tính năng] cho cấu hình khác nhau của LSTM.

Tác giả viết

Thật vậy, các chuỗi chữ cái là các bước thời gian của một tính năng chứ không phải là một bước thời gian của các tính năng riêng biệt. Chúng tôi đã cung cấp thêm ngữ cảnh cho mạng, nhưng không có nhiều trình tự như mong đợi

Điều đó có nghĩa là gì?

Câu trả lời:


16

Tôi tìm thấy điều này ngay bên dưới [mẫu, time_steps, tính năng] mà bạn quan tâm.

X = numpy.reshape(dataX, (len(dataX), seq_length, 1))

Các mẫu - Đây là len (dataX) hoặc số lượng điểm dữ liệu bạn có.

Các bước thời gian - Điều này tương đương với số bước thời gian bạn chạy mạng thần kinh tái phát. Nếu bạn muốn mạng của mình có bộ nhớ 60 ký tự, con số này phải là 60.

Tính năng - đây là số lượng tính năng trong mỗi bước thời gian. Nếu bạn đang xử lý ảnh, đây là lượng pixel. Trong trường hợp này, bạn dường như có 1 tính năng cho mỗi bước thời gian.


1
bạn có thể giải thích sự khác biệt giữa: X = numpy.reshape (dataX, (len (dataX), 3, 1)) và X = numpy.reshape (dataX, (len (dataX), 1, 3)) Điều này ảnh hưởng như thế nào lstm?
Vipul Jain

1
(len (dataX), 3, 1) chạy LSTM trong 3 lần lặp, nhập một vectơ đầu vào có hình dạng (1,). (len (dataX), 1, 3) chạy LSTM cho 1 lần lặp. Điều đó có nghĩa là nó khá vô dụng khi thậm chí có các kết nối lặp lại vì không thể có bất kỳ phản hồi nào từ các lần lặp trước. Trong trường hợp này, hình dạng đầu vào của RNN có hình dạng (3,)
Joonatan Samuel

"(Len (dataX), 3, 1) chạy LSTM cho 3 lần lặp" chúng ta không sử dụng epoch cho điều đó. nó có nghĩa giống như epoch = 3?
Vipul Jain

1
Một kỷ nguyên trong bản dịch thô có nghĩa là chúng tôi đã đào tạo một lần về mọi điểm dữ liệu trong tập dữ liệu của chúng tôi. Trong khi đào tạo, đã xem qua các ví dụ len (dataX) được tính là 1 epoch. Tuy nhiên, RNN lấy dữ liệu theo tuần tự. Trên mỗi ví dụ đào tạo, bạn phải cung cấp dữ liệu cho nó qua nhiều lần lặp. Ví dụ, tôi có một từ "xe hơi" và trên mỗi lần lặp tôi cho nó một chữ cái, để nó hoàn thành tính toán và sau đó cho chữ cái tiếp theo. Để hoàn thành xử lý từ "xe hơi", cần 3 lần lặp để xử lý toàn bộ từng chữ từng chữ.
Joonatan Samuel

@JoonatanSamuel hi, tôi biết rất nhiều thời gian đã trôi qua nhưng tôi gặp nhiều rắc rối khi hiểu cùng một chủ đề. Câu trả lời của bạn rất rõ ràng, nhưng tôi vẫn hơi bối rối. Chúng tôi đã có một chuỗi thời gian mô tả doanh số bán hàng mỗi tháng trong vài năm (giả sử). Ví dụ, hãy tưởng tượng len (data) = 3000, data.shape = (3000,1), vì vậy chúng tôi có 3000 tháng được ghi lại. Dự đoán tiếp theo : Nếu tôi muốn sử dụng N quan sát trước đó để dự đoán lần quan sát tiếp theo (chỉ lần tiếp theo!), Hình dạng của dữ liệu đầu vào cho LSTM phải là gì? Ví dụ, nếu chúng ta muốn sử dụng t-n,..., t-2, t-1để dự đoán t.
Euler_Salter

0

Đó là một chút quá muộn nhưng chỉ trong trường hợp;
Một mẫu có thể đề cập đến các ví dụ đào tạo cá nhân. Do đó, một biến số batch_size có thể là số lượng mẫu bạn đã gửi đến mạng thần kinh. Đó là, có bao nhiêu ví dụ khác nhau mà bạn cung cấp cùng một lúc cho mạng thần kinh.

TimeSteps là tích tắc của thời gian. Đó là thời gian mỗi mẫu của bạn là bao lâu. Ví dụ: một mẫu có thể chứa các bước 128 lần, trong đó mỗi bước thời gian có thể là 30 giây để xử lý tín hiệu. Trong Xử lý ngôn ngữ tự nhiên (NLP), bước thời gian có thể được liên kết với một ký tự, một từ hoặc một câu, tùy thuộc vào thiết lập.

Các tính năng chỉ đơn giản là số lượng kích thước chúng tôi cung cấp cho mỗi bước thời gian. Ví dụ: trong NLP, một từ có thể được biểu thị bằng 300 tính năng sử dụng word2vec. Trong trường hợp xử lý tín hiệu, hãy giả vờ rằng tín hiệu của bạn là 3D. Nghĩa là, bạn có tín hiệu X, Y và Z, chẳng hạn như các phép đo gia tốc trên mỗi trục. Điều này có nghĩa là bạn sẽ có 3 tính năng được gửi tại mỗi bước thời gian cho mỗi mẫu.

Bởi Guillaume

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.