Cách xử lý thay đổi độ dài vectơ đầu vào với mạng nơ ron


9

Tôi muốn đào tạo một mạng lưới thần kinh với một chuỗi ký tự như một vector đầu vào. Các ví dụ học tập có độ dài khác nhau và vì lý do này, tôi không biết cách thể hiện chúng.

Hãy nói rằng tôi có hai ví dụ về trình tự, ở đây tên:

john doe
maurice delanoe

Ví dụ đầu tiên là chiều dài 8, thứ hai là chiều dài 15.

Có cách nào để học cả hai ví dụ này không? Có nghĩa là sử dụng cả một vectơ đầu vào có kích thước 8 và 15 trong cùng một hệ thống học tập.

Cảm ơn bạn đã giúp đỡ !

Câu trả lời:


4

Có ba chiến lược chung mà tôi có thể nghĩ ra cho các NN với các kích cỡ đầu vào khác nhau:

  1. Tiền xử lý các đầu vào để lưu cùng kích thước. Ví dụ, mọi người thường thay đổi kích thước hình ảnh (bỏ qua tỷ lệ khung hình) thành độ phân giải vuông tiêu chuẩn cho NN. Trong trường hợp ngôn ngữ, bạn có thể chuyển đổi tất cả các từ thành một biểu tượng tượng trưng (ví dụ: "john" = 1, "james" = 2, "maurice" = 3, "kelly" = 4, "doe" = 5) nếu điều đó có ý nghĩa trong ứng dụng của bạn.
  2. Sử dụng cửa sổ trượt. Mạng sẽ thấy một phần kích thước cố định của đầu vào, sau đó bạn trượt cửa sổ bằng một số bước cố định và chạy lại (từ đầu), lặp lại cho đến khi bạn nhấn vào cuối, sau đó kết hợp tất cả các đầu ra theo một cách nào đó.
  3. Tương tự như số 2, nhưng sử dụng mạng thần kinh định kỳ để mạng có một số trạng thái bên trong mang lại giữa mỗi bước. Đây là cách NN xử lý âm thanh lời nói, ví dụ. Rõ ràng đây là một thay đổi mạnh mẽ về kiến ​​trúc so với các tùy chọn khác, nhưng đối với nhiều tác vụ ngôn ngữ, điều này có thể cần thiết (nếu bạn có đầu vào dài và cần kết hợp thông tin qua chuỗi theo cách phức tạp).
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.