Sự khác biệt giữa RNNs tạo văn bản dựa trên từ và char là gì?


15

Trong khi đọc về việc tạo văn bản với Mạng thần kinh tái phát, tôi nhận thấy rằng một số ví dụ đã được triển khai để tạo văn bản từng chữ và các ký tự khác theo từng ký tự mà không thực sự nêu rõ lý do tại sao.

Vì vậy, sự khác biệt giữa các mô hình RNN rằng dự đoán văn bản là những gì mỗi từ cơ sở và những người mà tiên đoán văn bản cho mỗi char cơ sở? Do RNN dựa trên từ yêu cầu kích thước khối lớn hơn? Do RNN dựa trên char tổng quát hóa tốt hơn? Có lẽ sự khác biệt duy nhất là đại diện đầu vào (mã hóa một nóng, nhúng từ)? Những cái nào để chọn để tạo văn bản?

Câu trả lời:


15

Đây là những gì tôi học được gần đây.

Rõ ràng, khi nói về RNN thế hệ văn bản, chúng ta đang nói về các mô hình ngôn ngữ RNN. Khi hỏi về RNNs tạo văn bản dựa trên từ / char , chúng tôi đang hỏi về các mô hình ngôn ngữ RNN dựa trên từ / char (LM).

LM dựa trên từ hiển thị độ chính xác cao hơnchi phí tính toán thấp hơn so với LM dựa trên char.

Việc giảm hiệu suất này khó xảy ra do khó khăn cho mô hình cấp độ ký tự để ghi lại bộ nhớ ngắn hạn dài hơn, do các mạng tái phát Bộ nhớ ngắn hạn dài hơn (LSTM) hoạt động tốt hơn với đầu vào dựa trên từ.

Điều này là do các LM RNN dựa trên char yêu cầu lớp ẩn lớn hơn nhiều để mô hình thành công các phụ thuộc dài hạn có nghĩa là chi phí tính toán cao hơn.

Do đó, chúng ta có thể nói rằng

một trong những khác biệt cơ bản giữa các mô hình cấp độ từcấp độ ký tự nằm ở số lượng tham số mà RNN phải truy cập trong quá trình đào tạo và kiểm tra. Lớp nhỏ hơn là lớp đầu vào và đầu ra của RNN, lớp lớn hơn cần phải là lớp ẩn được kết nối đầy đủ, khiến cho việc đào tạo mô hình trở nên đắt đỏ.

Tuy nhiên, các ngôn ngữ RNN LM dựa trên char tốt hơn với các hình thái phong phú như Kết thúc, tiếng Thổ Nhĩ Kỳ, tiếng Nga, v.v ... Sử dụng RNN LM dựa trên từ để mô hình hóa các ngôn ngữ đó là khó khăn nếu có thể và không được khuyến khích.

Phân tích trên có ý nghĩa đặc biệt khi bạn nhìn vào văn bản đầu ra, được tạo bởi các RNN dựa trên char:

Điều ngạc nhiên ở các nhà đầu tư sẽ không tăng tiền. Tôi không phải là công ty với thời gian có tất cả đều thú vị một cách nhanh chóng, không cần phải rời khỏi cùng các lập trình viên.

Mặc dù LM tối đa dựa trên char đơn giản với cửa sổ 13 ký tự mang lại điều này:

Và khi cô làm nhiều viên gạch chắc chắn. Anh xếp chúng thành đống và dậm chân cô. Bác sĩ chẩn đoán anh ta bị dơi. Cô gái và bạn trai yêu cầu cô ấy ra ngoài.

Tất nhiên tôi đã chọn ví dụ (thực tế hầu hết các ví dụ ML LM trông tốt hơn bất kỳ văn bản RNN nào tôi đã đọc từ trước đến nay) và ML LM nhỏ bé này đã được đào tạo trên một kho văn bản đơn giản hơn nhưng bạn có ý tưởng: xác suất có điều kiện đơn giản tạo ra tốt hơn văn bản hơn RNN dựa trên char phức tạp hơn nhiều .

Các LM RNN dựa trên Char có thể bắt chước các trình tự chính xác về mặt ngữ pháp cho một loạt các ngôn ngữ, yêu cầu lớp ẩn lớn hơn và đắt hơn về mặt tính toán trong khi các LM RNN dựa trên từ luyện tập nhanh hơn và tạo ra các văn bản mạch lạc hơn và thậm chí các văn bản được tạo này còn xa hơn .


1
Nhận xét tuyệt vời. Cần phải nói thêm rằng đối với một số vấn đề, cái này hay cái kia có thể có ý nghĩa hơn bất kể mối quan tâm tính toán. Chẳng hạn, nếu mục tiêu của bạn là nghiên cứu các vectơ từ để tìm mối quan hệ giữa các từ hoặc nếu bạn muốn tạo một văn bản dựa trên một chủ đề từ, thì bạn phải đi với RNN dựa trên từ. Và ngược lại, có lẽ có những vấn đề trong đó RNN dựa trên char là con đường để đi. Nó cũng phụ thuộc vào những gì người dùng đang cố gắng làm.
Ricardo Cruz

Tôi không hiểu bình luận cuối cùng của bạn: "RNN LM dựa trên Char (...) không đạt được ý nghĩa thực sự." Tôi cũng chưa thấy RNN dựa trên Word có ý nghĩa. Tại sao bạn lại cách ly các mô hình dựa trên char ở đây?
Ricardo Cruz

Tôi đã cập nhật kết thúc mơ hồ.
khoáng sản

Câu trả lời chính xác! Thật vậy, ai đó có thể dễ dàng thêm rằng nó phụ thuộc rất nhiều vào nhiệm vụ liên quan, kích thước của tập dữ liệu của bạn, ngôn ngữ và mức độ xử lý trước mà bạn sẵn sàng thực hiện. Ví dụ: để xử lý các ngôn ngữ hình thái phong phú hơn và để quản lý từ vựng (OOV), bạn cũng có thể sử dụng mô hình từ với từ vựng, gắn thẻ pos và thêm tiền tố, hậu tố, v.v.
Claude COULOMBE

5

Có một bài viết hay về Ngôn ngữ mô hình hóa một tỷ từ . Dưới đây là một số trích đoạn:

Các mô hình cấp độ từ có một lợi thế quan trọng so với các mô hình cấp độ ký tự.
Lấy trình tự sau đây làm ví dụ (trích dẫn từ Robert A. Heinlein):

Tiến bộ không được thực hiện bởi những người dậy sớm. Nó được tạo ra bởi những người đàn ông lười biếng cố gắng tìm những cách dễ dàng hơn để làm một cái gì đó.

Sau khi mã thông báo, mô hình cấp từ có thể xem chuỗi này có chứa 22 mã thông báo. Mặt khác, cấp độ ký tự sẽ xem chuỗi này có chứa 102 mã thông báo. Chuỗi dài hơn này làm cho nhiệm vụ của mô hình nhân vật khó hơn mô hình từ, vì nó phải tính đến sự phụ thuộc giữa nhiều mã thông báo hơn trong các bước thời gian hơn. Một vấn đề khác với các mô hình ngôn ngữ ký tự là chúng cần học chính tả ngoài cú pháp, ngữ nghĩa, v.v. Trong mọi trường hợp, các mô hình ngôn ngữ từ thường sẽ có lỗi thấp hơn các mô hình ký tự

Ưu điểm chính của nhân vật so với các mô hình ngôn ngữ từ là chúng có vốn từ vựng rất nhỏ. Ví dụ: bộ dữ liệu GBW sẽ chứa khoảng 800 ký tự so với 800.000 từ (sau khi cắt tỉa các mã thông báo tần số thấp). Trong thực tế điều này có nghĩa là các mô hình nhân vật sẽ đòi hỏi ít bộ nhớ hơn và suy luận nhanh hơn so với các từ tương ứng. Một ưu điểm khác là chúng không yêu cầu mã thông báo như một bước tiền xử lý.


1

Theo tôi, các RNN dựa trên ký tự cũng sẽ hoạt động tốt hơn nhưng chúng cần nhiều dữ liệu hơn so với các mô hình dựa trên từ và mô hình dựa trên ký tự cần đào tạo trong một khoảng thời gian dài hơn nhiều. Tôi muốn nói rằng đó là một thử nghiệm và lỗi cũng như sự đánh đổi giữa dữ liệu và sức mạnh tính toán có sẵn.

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.