Giải thích trực quan về mất ước lượng tương phản tiếng ồn (NCE)?


32

Tôi đọc về NCE (một hình thức lấy mẫu ứng viên) từ hai nguồn này:

Viết dòng chảy

Bản gốc

Ai đó có thể giúp tôi với những điều sau:

  1. Một lời giải thích đơn giản về cách NCE hoạt động (tôi thấy khó phân tích ở trên và hiểu được, vì vậy một cái gì đó trực quan dẫn đến toán học được trình bày ở đó sẽ rất tuyệt)
  2. Sau điểm 1 ở trên, một mô tả trực quan tự nhiên về cách này khác với Lấy mẫu âm. Tôi có thể thấy rằng có một sự thay đổi nhỏ trong công thức nhưng không thể hiểu được toán học. Tôi có một sự hiểu biết trực quan về lấy mẫu âm trong ngữ cảnh word2vec- chúng tôi chọn ngẫu nhiên một số mẫu từ từ vựng Vvà chỉ cập nhật những mẫu vì |V|nó lớn và điều này mang lại sự tăng tốc. Hãy sửa nếu sai.
  3. Khi nào sử dụng cái nào và quyết định đó như thế nào? Sẽ thật tuyệt nếu bạn có thể bao gồm các ví dụ (có thể dễ hiểu các ứng dụng)
  4. NCE có tốt hơn Lấy mẫu âm tính không? Tốt hơn theo cách nào?

Cảm ơn bạn.


có thể là bài viết của tôi có thể giúp đỡ. nanjiang.quora.com/Naty-contrastive-Estimation và sau đó thử nghiệm với theano có thể được tìm thấy tại github.com/jiangnanHugo/lingu_modeling của tôi. Tôi hy vọng sự hiểu biết của tôi là đúng.
jiangnan hugo

Câu trả lời:


27

Lấy từ bài đăng này: https://stats.stackexchange.com/a/245452/154812

Vấn đề

Có một số vấn đề với việc học vectơ từ bằng cách sử dụng mạng thần kinh "chuẩn". Theo cách này, các vectơ từ được học trong khi mạng học dự đoán từ tiếp theo được cung cấp một cửa sổ các từ (đầu vào của mạng).

Dự đoán từ tiếp theo giống như dự đoán lớp. Đó là, một mạng như vậy chỉ là một bộ phân loại đa tiêu chuẩn (đa lớp). Và mạng này phải có nhiều nơ ron đầu ra như các lớp có. Khi các lớp là các từ thực tế, số lượng tế bào thần kinh là, tốt, rất lớn.

Mạng thần kinh "chuẩn" thường được đào tạo với hàm chi phí entropy chéo đòi hỏi các giá trị của các nơ ron đầu ra để biểu diễn xác suất - có nghĩa là "điểm số" đầu ra được tính toán bởi mạng cho mỗi lớp phải được chuẩn hóa, chuyển đổi thành xác suất thực tế cho mỗi lớp. Bước chuẩn hóa này đạt được bằng chức năng softmax. Softmax rất tốn kém khi áp dụng cho một lớp đầu ra khổng lồ.

Giải pháp (a)

Để giải quyết vấn đề này, nghĩa là tính toán đắt tiền của softmax, Word2Vec sử dụng một kỹ thuật gọi là ước lượng tương phản nhiễu. Kỹ thuật này được giới thiệu bởi [A] (được điều chỉnh bởi [B]) sau đó được sử dụng trong [C], [D], [E] để tìm hiểu các từ nhúng từ văn bản ngôn ngữ tự nhiên không ghi nhãn.

Ý tưởng cơ bản là chuyển đổi một vấn đề phân loại đa quốc gia (vì đó là vấn đề dự đoán từ tiếp theo) thành vấn đề phân loại nhị phân. Đó là, thay vì sử dụng softmax để ước tính phân phối xác suất thực sự của từ đầu ra, một hồi quy logistic nhị phân (phân loại nhị phân) được sử dụng thay thế.

Đối với mỗi mẫu đào tạo, bộ phân loại nâng cao (được tối ưu hóa) được cung cấp một cặp thực sự (một từ trung tâm và một từ khác xuất hiện trong ngữ cảnh của nó) và một số cặp kk bị hỏng ngẫu nhiên (bao gồm từ trung tâm và một từ được chọn ngẫu nhiên từ từ vựng). Bằng cách học cách phân biệt các cặp thực sự với các cặp bị hỏng, cuối cùng bộ phân loại sẽ học các vectơ từ.

Điều này rất quan trọng: thay vì dự đoán từ tiếp theo (kỹ thuật đào tạo "tiêu chuẩn"), bộ phân loại được tối ưu hóa chỉ dự đoán liệu một cặp từ là tốt hay xấu.

Word2Vec hơi tùy chỉnh quy trình và gọi đó là lấy mẫu âm tính. Trong Word2Vec, các từ cho các mẫu âm tính (được sử dụng cho các cặp bị hỏng) được rút ra từ một bản phân phối được thiết kế đặc biệt, ưu tiên các từ ít thường xuyên hơn được rút ra thường xuyên hơn.

Tài liệu tham khảo

[A] (2005) - Ước tính tương phản: Đào tạo mô hình log-linear trên dữ liệu chưa được gắn nhãn

[B] (2010) - Ước tính tương phản nhiễu: Một nguyên tắc ước tính mới cho các mô hình thống kê không chuẩn hóa

[C] (2008) - Một kiến ​​trúc hợp nhất để xử lý ngôn ngữ tự nhiên: Mạng lưới thần kinh sâu sắc với việc học đa nhiệm

[D] (2012) - Một thuật toán nhanh và đơn giản để đào tạo các mô hình ngôn ngữ xác suất thần kinh .

[E] (2013) - Học nhúng từ hiệu quả với ước lượng tương phản nhiễu .


3

Thành thật mà nói, không có cách trực quan nào để hiểu tại sao mất NCE sẽ hoạt động mà không hiểu sâu về toán học của nó. Để hiểu toán, bạn nên đọc bài báo gốc.

k

(x,y)ykk

ΔSθ0(w,h)= =Sθ0(w,h)-đăng nhậpkPn(w)

Pn(w)

knn= =k

Các bài báo NCE ban đầu đã bỏ qua các dẫn xuất của bằng chứng rất nhiều để nó thực sự khó hiểu. Để hiểu toán học về NCE dễ dàng hơn, tôi có một bài đăng trên blog về chú thích toán học này từ các bài báo của NCE:

https://leimao.github.io/article/Naty-Contrastive-Estimation/ .

Học đại học năm thứ hai trở lên nên có thể hiểu nó.


1

Về cơ bản, đây là chọn một mẫu từ phân phối thực bao gồm lớp thực và một số nhãn lớp nhiễu khác. Sau đó lấy softmax qua nó.

Điều này dựa trên các từ lấy mẫu từ phân phối thực và phân phối tiếng ồn.

Ở đây, ý tưởng cơ bản là đào tạo bộ phân loại hồi quy logistic có thể tách các mẫu thu được từ phân phối thực và mẫu thu được từ phân phối nhiễu. Hãy nhớ Khi chúng ta đang nói về các mẫu thu được từ phân phối thực, chúng ta chỉ nói về một mẫu là lớp thực sự thu được từ phân phối mô hình.

Ở đây tôi đã giải thích về mất NCE và nó khác với mất NCE như thế nào.

Ước tính tương phản tiếng ồn: Giải pháp cho Softmax đắt tiền.


1
Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
tuomastik

0

Nói một cách đơn giản, NCE chỉ là một hàm mất phân loại đa nhãn chỉ có 1 nhãn dương và k âm.

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.