Yêu cầu thg 11 23, 2018 10:08 SA 1157 0 1
  • 1157 0 1
0

Time step trong NLP hiểu như thế nào là đúng?

Chia sẻ
  • 1157 0 1

Nhờ anh em giải nghĩa hộ mình vs

1 CÂU TRẢ LỜI


Đã trả lời thg 11 23, 2018 1:04 CH
Đã được chấp nhận
+5

Khi bạn sử dụng các mạng hồi quy như RNN, LSTM, GRU về cơ bản trong mạng nó sẽ như thế này RNN-unrolled.png Trong đó, mỗi cái hình chữ nhật xanh kia là 1 time step, số lượng time step định nghĩa số lượng các lần lặp của mạng.

Còn trong dữ liệu, khi bạn feed dữ liệu dạng chuỗi vào mạng, bạn chia nhỏ chuỗi của bạn thành nhiều đoạn từ đầu chuỗi đến cuối chuỗi. Đấy chính là việc bạn chia dữ liệu thành các time step. Bạn muốn mỗi mẫu của bạn gồm bao nhiêu time step là do bạn định nghĩa. Ví dụ trong xử lý tín hiệu, mình có 1 đoạn tín hiệu dài 30s. Mình chia thành 10 time step tức là mỗi 1 step mình sẽ vector hóa 3s tín hiệu và mình có 10 cái step như thế.

Trong các nhiệm vụ khác của NLP, bạn có thể tùy ý định nghĩa các step này, tùy vào ý muốn của bạn. Ví dụ bạn có thể coi 1 câu gồm 1 chuỗi các ký tự, mỗi ký tự là 1 time step, hoặc bạn muốn mức cao hơn là coi 1 câu là 1 chuỗi các từ, bạn coi mỗi từ là 1 time step, hoặc có thể ở mức độ cao hơn là với câu,....

Tóm lại, mình cũng không biết cắt nghĩa từ time step thế nào cho chuẩn, mình chỉ hiểu khi xử lý dữ liệu dạng chuỗi, bạn có thể chia dữ liệu đấy thành các khoảng nhỏ để có thể sự dụng các mạng hồi quy cho chúng học sự phụ thuộc lẫn nhau theo thời gian, cái sau học từ cái trước. Ví dụ chia đoạn tín hiệu thành 1 nhóm các đoạn tín hiệu con, chia câu thành chuỗi các ký tự, chia câu thành chuỗi các từ, chia bức tranh con người vẽ thành chuỗi các nét vẽ,... tùy vào sự định nghĩa của bạn.

Chia sẻ
Avatar Anh Tuấn Hoàng @kstn_hut_hat
thg 11 25, 2018 4:09 SA

cảm ơn bạn rất nhiều. Bạn giải thích rất dễ hiểu 😃

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí