Ma trận tính năng trong word2vec là gì?


10

Tôi là người mới bắt đầu trong các mạng thần kinh và hiện tại tôi đang khám phá mô hình word2vec. Tuy nhiên tôi đang có một thời gian khó khăn để hiểu chính xác ma trận tính năng là gì.

nhập mô tả hình ảnh ở đây

Tôi có thể hiểu rằng ma trận đầu tiên là một vectơ mã hóa một nóng cho một từ nhất định, nhưng ma trận thứ hai có ý nghĩa gì? Cụ thể hơn, mỗi giá trị đó (ví dụ 17, 24, 1, v.v.) nghĩa là gì?


Tôi có một câu hỏi về W được tạo bởi google, bạn có thể cho tôi biết thêm thông tin về các giá trị do google đưa ra không? Những tính năng này được sử dụng? thx giúp đỡ của bạn.
hambi

Câu trả lời:


8

Ý tưởng đằng sau word2vec là biểu diễn các từ bằng một vectơ số thực có kích thước d . Do đó, ma trận thứ hai là đại diện của những từ đó.

Dòng thứ i của ma trận này là biểu diễn vectơ của từ thứ i .

Giả sử trong ví dụ của bạn, bạn có 5 từ: ["Lion", "Cat", "Dog", "Horse", "Mouse"], sau đó vectơ đầu tiên [0,0,0,1,0] có nghĩa là bạn đang xem xét từ "Ngựa" và vì vậy đại diện của "Ngựa" là [10, 12, 19]. Tương tự, [17, 24, 1] là đại diện của từ "Sư tử".

Theo hiểu biết của tôi, không có "ý nghĩa con người" cụ thể cho từng con số trong các đại diện này. Một số không đại diện cho từ đó có phải là động từ hay không, tính từ hay không ... Đó chỉ là trọng số mà bạn thay đổi để giải quyết vấn đề tối ưu hóa của bạn để tìm hiểu cách biểu thị từ của bạn.

Hướng dẫn này có thể giúp: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ mặc dù tôi nghĩ rằng hình ảnh bạn đặt là từ liên kết này.

Bạn cũng có thể kiểm tra điều này, điều này có thể giúp bạn bắt đầu với các vectơ từ với TensorFlow: https://www.tensorflow.org/tutorials/word2vec


5

TL; DR :

Ma trận đầu tiên biểu thị vectơ đầu vào theo một định dạng nóng

Ma trận thứ hai biểu thị các trọng số synap từ các nơ ron lớp đầu vào đến các nơ ron lớp ẩn

Phiên bản dài hơn :

"chính xác ma trận tính năng là gì"

Có vẻ như bạn chưa hiểu chính xác về đại diện. Ma trận đó không phải là ma trận tính năng mà là ma trận trọng số cho mạng thần kinh. Hãy xem xét hình ảnh được đưa ra dưới đây. Đặc biệt chú ý góc trên cùng bên trái nơi ma trận Lớp đầu vào được nhân với ma trận Trọng số. nhập mô tả hình ảnh ở đây

Bây giờ nhìn vào phía trên bên phải. Phép nhân ma trận này InputLayer được tạo ra với Weights Transpose chỉ là một cách tiện dụng để biểu diễn mạng lưới thần kinh ở trên cùng bên phải.

Vì vậy, để trả lời câu hỏi của bạn, phương trình bạn đã đăng chỉ là biểu diễn toán học cho mạng thần kinh được sử dụng trong thuật toán Word2Vec.

Phần đầu tiên, [0 0 0 1 0 ... 0] đại diện cho từ đầu vào dưới dạng một vectơ nóng và ma trận khác biểu thị trọng số cho sự kết nối của từng nơ-ron lớp đầu vào với các nơ-ron lớp ẩn.

Khi Word2Vec đào tạo, nó hỗ trợ lại các trọng số này và thay đổi chúng để thể hiện tốt hơn các từ dưới dạng vectơ.

Sau khi hoàn thành đào tạo, bạn chỉ sử dụng ma trận trọng số này, lấy [0 0 1 0 0 ... 0] để nói 'con chó' và nhân nó với ma trận trọng số được cải thiện để có được biểu diễn vectơ của 'con chó' theo chiều = không có tế bào thần kinh lớp ẩn.

Trong sơ đồ bạn đã trình bày, số lượng tế bào thần kinh lớp ẩn là 3

Vì vậy, phía bên tay phải về cơ bản là vector từ.

Tín dụng hình ảnh: http://www.datasciencecentral.com/profiles/bloss/matrix-multiplication-in-neural-networks

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.