Làm thế nào có ý nghĩa là sự kết nối giữa MLE và entropy chéo trong học tập sâu?


12

Tôi hiểu rằng đã đưa ra một tập hợp các quan sát độc lập các Maximum Likelihood Estimator (hay tương đương, MAP với TV / thống nhất trước đó) xác định các thông số \ mathbf {θ} sản xuất phân phối model p_ {model} \ bên trái (\, \ cdot \ ,; \ mathbf {θ} \ right) phù hợp nhất với những quan sát đó sẽ làmO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

hoặc, thuận tiện hơn

θML(O)=argminθi=1mlogpmodel(o(i);θ)

và xem vai trò mà θML có thể đóng vai trò trong việc xác định hàm mất cho các mạng thần kinh sâu đa lớp, trong đó θ tương ứng với các tham số có thể huấn luyện của mạng (ví dụ: θ={W,b}) và các quan sát là các cặp kích hoạt đầu vào x và các nhãn lớp đúng tương ứng y[1,k] , o(i) = { x(i),y(i) }, bằng cách lấy

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Điều tôi không hiểu là làm thế nào điều này liên quan đến cái gọi là "entropy chéo" của đầu ra đúng (được vector hóa), và kích hoạt đầu ra tương ứng của mạng, được sử dụng trong thực tế khi đo lỗi / lỗ trong đào tạo . Có một số vấn đề liên quan:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Kích hoạt "như xác suất"

Một trong những bước trong việc thiết lập mối quan hệ giữa MLE và entropy chéo là sử dụng các kích hoạt đầu ra "như thể" chúng là xác suất. Nhưng tôi không rõ họ là ai, hoặc ít nhất là họ như vậy.all

Khi tính toán sai số đào tạo - cụ thể, khi gọi đó là "mất entropy chéo" - người ta cho rằng (sau khi bình thường hóa kích hoạt thành tổng số 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

hoặc là

logpmodel(o(i);θ)=logay(i)(x(i);θ)

để chúng ta có thể viết

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

và như vậy

θML(O)=argminθi=1mH(o(i);θ)

Nhưng trong khi điều này chắc chắn làm cho là một xác suất (đến mức có bất cứ điều gì), nó không hạn chế các kích hoạt khác.ay(i)(x(i);θML)

Can các thực sự được cho là PMFs trong trường hợp đó? Có bất cứ điều gì làm cho trên thực tế không phải là xác suất (và chỉ "thích" chúng )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Giới hạn để phân loại

Bước quan trọng ở trên trong việc đánh đồng MLE với entropy chéo phụ thuộc hoàn toàn vào cấu trúc "một nóng" của đặc trưng cho một vấn đề học tập đa lớp (một nhãn). Bất kỳ cấu trúc nào khác cho sẽ khiến cho không thể chuyển từ sang .y(i)y(i)(1)(3)

Có phải phương trình của MLE và tối thiểu hóa entropy chéo được giới hạn trong các trường hợp trong đó là "một nóng"? y(i)


Xác suất đào tạo và dự đoán khác nhau

Trong quá trình dự đoán, hầu như luôn luôn là như vậy

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

dẫn đến xác suất dự đoán chính xác khác với xác suất được học trong quá trình đào tạo trừ khi đó là trường hợp đáng tin cậy

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

Đây có phải là đáng tin cậy trường hợp? Có khả năng ít nhất là gần đúng không? Hoặc có một số đối số khác biện minh cho phương trình này của giá trị kích hoạt đã học ở vị trí nhãn với xác suất rằng giá trị tối đa của kích hoạt đã học xảy ra ở đó?


Entropy và lý thuyết thông tin

Ngay cả khi giả định rằng các mối quan tâm trên đã được giải quyết và các kích hoạt là PMF hợp lệ (hoặc có thể được xử lý một cách có ý nghĩa như vậy), do đó vai trò của entropy chéo trong tính toán là không rõ ràng, không rõ ràng cho tôi biết tại sao nó hữu ích hoặc có ý nghĩa khi nói về entropy của , vì entropy Shanon áp dụng cho một cụ thể loại mã hóa , không phải là loại được sử dụng trong đào tạo mạng.θMLa(x(i);θML)

Entropy lý thuyết đóng vai trò gì trong việc diễn giải hàm chi phí, trái ngược với việc đơn giản là cung cấp một công cụ (dưới dạng entropy chéo) để tính toán một (tương ứng với MLE)?

Câu trả lời:


5

Mạng lưới thần kinh không nhất thiết phải đưa ra xác suất là đầu ra, nhưng chúng có thể được thiết kế để làm điều này. Để được hiểu là xác suất, một tập hợp các giá trị phải là không âm và tổng thành một. Thiết kế một mạng để xác suất đầu ra thường tương đương với việc chọn một lớp đầu ra áp đặt các ràng buộc này. Ví dụ, trong một vấn đề phân loại với lớp, một lựa chọn phổ biến là lớp đầu ra softmax với đơn vị. Hàm softmax buộc các đầu ra là không âm và tính tổng thành một. Các thứ đơn vị sản lượng cung cấp cho các xác suất mà lớp là . Đối với các vấn đề phân loại nhị phân, một lựa chọn phổ biến khác là sử dụng một đơn vị đầu ra duy nhất với logistickkjjchức năng kích hoạt. Đầu ra của hàm logistic nằm trong khoảng từ 0 đến 1 và đưa ra xác suất rằng lớp là 1. Xác suất mà lớp là 0 hoàn toàn trừ đi giá trị này. Nếu mạng không chứa các lớp ẩn, thì hai ví dụ này tương đương với hồi quy logistic đa thứchồi quy logistic tương ứng.

Entropy chéo đo sự khác biệt giữa hai phân phối xác suất và . Khi entropy chéo được sử dụng làm hàm mất cho các phân loại phân biệt, và là các phân phối trên nhãn lớp, được đưa ra đầu vào (tức là một điểm dữ liệu cụ thể). là phân phối 'true' và là phân phối được dự đoán bởi mô hình. Trong các vấn đề phân loại điển hình, mỗi đầu vào trong tập dữ liệu được liên kết với một nhãn số nguyên đại diện cho lớp thực. Trong trường hợp này, chúng tôi sử dụng phân phối theo kinh nghiệm choH(p,q)pqpqpqp. Điều này chỉ đơn giản gán xác suất 1 cho lớp thực của điểm dữ liệu và xác suất 0 cho tất cả các lớp khác. là phân phối xác suất của lớp được dự đoán bởi mạng (ví dụ như được mô tả ở trên).q

Giả sử dữ liệu là iid, là phân phối theo kinh nghiệm và là phân phối dự đoán (đối với điểm dữ liệu thứ ). Sau đó, giảm thiểu tổn thất entropy chéo (tức là tính trung bình trên các điểm dữ liệu) tương đương với tối đa hóa khả năng của dữ liệu. Bằng chứng là tương đối đơn giản. Ý tưởng cơ bản là chỉ ra rằng tổn thất entropy chéo tỷ lệ thuận với tổng số nhật ký âm xác suất dự đoán của các điểm dữ liệu. Điều này rơi ra gọn gàng vì hình thức phân phối theo kinh nghiệm.piqiiH(pi,qi)

Mất entropy chéo cũng có thể được áp dụng chung hơn. Ví dụ: trong các vấn đề 'phân loại mềm', chúng tôi được phân phối trên nhãn lớp thay vì nhãn lớp cứng (vì vậy chúng tôi không sử dụng phân phối theo kinh nghiệm). Tôi mô tả làm thế nào để sử dụng mất entropy chéo trong trường hợp đó ở đây .

Để giải quyết một số chi tiết cụ thể khác trong câu hỏi của bạn:

Xác suất đào tạo và dự đoán khác nhau

Có vẻ như bạn đang tìm đơn vị đầu ra với kích hoạt tối đa và so sánh nó với nhãn lớp. Điều này không được thực hiện cho đào tạo sử dụng mất entropy chéo. Thay vào đó, đầu ra xác suất theo mô hình được so sánh với xác suất 'đúng' (thường được coi là phân phối theo kinh nghiệm).

Entropy Shanon áp dụng cho một loại mã hóa cụ thể, không phải là loại được sử dụng trong đào tạo mạng.

Entropy chéo có thể được hiểu là số bit trên mỗi thông điệp cần thiết (trung bình) để mã hóa các sự kiện được rút ra từ phân phối , nếu sử dụng mã tối ưu để phân phối . Entropy chéo lấy giá trị tối thiểu là (entropy Shannon của ) khi . Trận đấu giữa vàH(p,q)pqH(p)pq=pqp, độ dài tin nhắn càng ngắn. Đào tạo một mô hình để giảm thiểu entropy chéo có thể được xem là đào tạo nó để gần đúng hơn phân phối thực sự. Trong các vấn đề học tập có giám sát như chúng ta đã thảo luận, mô hình đưa ra phân phối xác suất trên các đầu ra có thể, được đưa ra đầu vào. Rõ ràng việc tìm mã tối ưu cho phân phối không phải là một phần của quy trình.


"Điều này không được thực hiện cho đào tạo sử dụng mất entropy chéo." Đây chính xác là những API như TensorFlow softmax_cross_entropy_with_logitslàm: họ tính toán và do đó xác định một mạng "được thiết kế để" tạo ra xác suất (ít nhất là tại vị trí nhãn). Không? argminθi=1mH(o(i);θ)θML(O)
orome

Có, entropy chéo được giảm thiểu và khả năng được tối đa hóa (ít nhất là tại địa phương). Trong câu đó, tôi đã đề cập đến các phương trình trong phần "xác suất dự đoán và đào tạo khác nhau". Nhìn lại, tôi không rõ ý nghĩa của bạn với các phương trình đó, vì vậy tôi sẽ chỉ nói điều này: nếu bạn đang sử dụng lớp đầu ra trong đó mỗi đơn vị đưa ra xác suất lớp (ví dụ: softmax). Các xác suất mô hình là như nhau trong quá trình đào tạo và dự đoán. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
dùng20160

Tôi hiểu rằng các giá trị tương tự được sử dụng - nghĩa là được sử dụng trong dự đoán - nhưng chúng được sử dụng theo những cách khác nhau. Xác suất mà mô hình học được cho thực sự là , nhưng xác suất sẽ được dự đoán bởi mô hình được đào tạo để đáp ứng với cùng một đầu vào, là . Những điều này không giống nhau trừ khi (2) là đúng. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome

Và (câu hỏi đầu tiên) tôi hiểu điều đó bởi vì vai trò, được xác định trong eq. (1), được chơi bởi trong việc tối đa hóa , các giá trị xác suất (không phải vì của softmax, chỉ đảm bảo họ sẽ thêm vào 1). Nhưng điều đó không có ràng buộc đối với khác ; (khác với tổng của chúng là ). Vì vậy, tôi không thấy cách như một lỗ có thể được coi là một PMF. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
orome

Một cách khác để đưa ra quan điểm của câu hỏi đầu tiên là chỉ có từng tham gia vào quy trình ML, và do đó chỉ có thể coi chúng là xác suất. Và trong khi một chức năng kích hoạt phù hợp (ví dụ: softmax) đảm bảo rằng tổng số kích hoạt còn lại sẽ là một xác suất, các mối quan hệ giữa bất kỳ trong số chúng không có ý nghĩa. ay(i)
orome

3

Tôi sẽ trả lời từ góc độ tổng quát hơn một chút, liên quan đến bản chất của cách thức, thời điểm và lý do tại sao chúng ta có thể coi đầu ra NN là phân phối xác suất.

Theo nghĩa là softmax thực thi các đầu ra thành tổng 1 và cũng không âm, đầu ra của mạng phân phối xác suất rời rạc trên các lớp hoặc ít nhất có thể được hiểu như vậy. Do đó, hoàn toàn hợp lý khi nói về entropies chéo và khả năng tối đa.

Tuy nhiên, những gì tôi nghĩ rằng bạn đang nhìn thấy (và nó là chính xác), là "xác suất" đầu ra có thể không liên quan gì đến xác suất chính xác thực tế . Đây là một vấn đề nổi tiếng trong ML, được gọi là hiệu chuẩn . Chẳng hạn, nếu trình phân loại của bạn của chó và mèo nói , thì bạn sẽ mong đợi rằng nếu bạn lấy một tập hợp các ví dụ tất cả đều có , khi đó khoảng 30% đầu vào sẽ bị phân loại sai (vì nó chỉ tự tin 70%).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Tuy nhiên, hóa ra các phương pháp đào tạo hiện đại hoàn toàn không thực thi điều này! Xem Guo et al, về việc hiệu chỉnh mạng lưới thần kinh hiện đại để xem một số thảo luận về điều này.

Nói cách khác, "xác suất" của đầu ra từ softmax có thể không liên quan gì đến độ tin cậy của mô hình thực tế. Và điều này không có gì đáng ngạc nhiên: chúng tôi chỉ muốn tối đa hóa độ chính xác của chúng tôi và mọi ví dụ đầu vào có xác suất 1 là lớp mục tiêu của nó. Có rất ít khuyến khích mô hình để có được điều này đúng. Nếu nó không cần ước tính độ không chắc chắn thì tại sao lại phải như vậy? Entropy chéo không khắc phục vấn đề này; thật vậy, bạn đang bảo nó đi đến một hàm delta mỗi lần!

Rất nhiều công việc gần đây trên mạng lưới thần kinh Bayes cố gắng khắc phục vấn đề này. Các mô hình như vậy sử dụng phân phối trên các tham số được cung cấp dữ liệu , có thể được tích hợp để có phân phối xác suất thực tế . Điều này giúp đảm bảo các phép đo độ không chắc chắn hữu ích và hiệu chuẩn tốt hơn. Tuy nhiên, nó là vấn đề tính toán nhiều hơn.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

Hy vọng tôi đã không hiểu nhầm câu hỏi của bạn!


Một công việc liên quan tốt đẹp: arxiv.org/abs/1711.01297
user3658307

0

Mạng thần kinh chuyển tiếp nguồn cấp dữ liệu gần đúng xác suất của lớp thực sự khi được đào tạo đúng cách.

Năm 1991, Richard & Lippmann đã chứng minh rằng các mạng thần kinh chuyển tiếp tiếp cận với xác suất của lớp sau, khi được huấn luyện với các mẫu mục tiêu chỉ thị lớp {0,1} [ Richard MD, & Lippmann RP (1991). Phân loại mạng lưới thần kinh ước tính xác suất bayesian một posteriori. Tính toán thần kinh, 3, 461 Led 483. ]. Trong dòng chứng minh của mình, họ sử dụng các mạng thần kinh chuyển tiếp một lớp ẩn.

Trong chú thích toán học của Duda & Hart [ Duda RO & Hart PE (1973) Phân loại mẫu và phân tích cảnh, Wiley ], xác định các phân phối tính năng được cung cấp dưới dạng vectơ đầu vào cho mạng thần kinh chuyển tiếp nguồn cấp dữ liệu là , ví dụ: vectơ dữ liệu bằng , cho một tác vụ phân loại có 4 biến tính năng. Chỉ số chỉ ra lớp có thể , .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

Trình phân loại mạng thần kinh chuyển tiếp nguồn cấp dữ liệu xác suất sau, , khi được đào tạo bởi độ dốc giảm dần. Ví dụ, mẫu đầu ra mong muốn cần là , cho bài toán phân loại hai lớp. Mạng thần kinh chuyển tiếp nguồn cấp dữ liệu có một nút đầu ra cho mỗi lớp. Vectơ chỉ ra rằng vectơ đặc trưng quan sát thuộc về lớp 2.P^(ωix)o=(0,1)(0,1)


Đó không phải là câu hỏi.
orome

0

Khả năng đăng nhập không được liên kết trực tiếp với entropy trong bối cảnh câu hỏi của bạn. Sự giống nhau là hời hợt: cả hai đều có tổng số logarit của các đại lượng giống như xác suất.

Logarit trong khả năng log (MLE) được thực hiện hoàn toàn vì lý do tính toán số. Sản phẩm của xác suất có thể là một con số rất nhỏ, đặc biệt nếu mẫu của bạn lớn. Sau đó, phạm vi khả năng chuyển từ 1 đến giá trị nhỏ của sản phẩm. Khi bạn nhận được nhật ký, sản phẩm sẽ trở thành một tổng và hàm nhật ký sẽ nén phạm vi giá trị thành một miền nhỏ dễ quản lý hơn. Logarit là một hàm đơn điệu, do đó, tối đa (tối thiểu) khả năng đăng nhập sẽ tạo ra cùng một câu trả lời về khả năng của chính nó. Do đó, sự hiện diện của nhật ký trong biểu thức MLE không quan trọng về mặt toán học và chỉ đơn giản là vấn đề thuận tiện.

Sự hiện diện của hàm logarit trong entropy là đáng kể hơn và có nguồn gốc từ cơ học thống kê, một nhánh của vật lý. Nó được liên kết với phân phối Boltzmann , được sử dụng trong lý thuyết về khí. Bạn có thể lấy áp suất không khí như là một hàm của độ cao bằng cách sử dụng nó, ví dụ.


Bạn có thể nhấn mạnh phần nào của câu hỏi này giải quyết?
orome

Như tôi nói trong OP, rõ ràng việc sử dụng nhật ký theo cách thứ hai để thể hiện MLE chỉ là sự tiện lợi (hai đoạn đầu tiên của bạn). Và đoạn cuối của bạn dường như chỉ nói rằng sự hiện diện của nhật ký trong biểu thức cho entropy là có ý nghĩa - trong bối cảnh của entropy (đáng chú ý là vật lý). Nhưng những gì còn thiếu (và đây là câu hỏi) là một lời biện minh cho việc liên kết hai quan sát khác biệt (và đúng) này. Tôi không thấy một, ngoài phương trình sau (3) là một cách hữu ích để biểu thị phương trình thứ hai cho MLE. Có lẽ đó là những gì bạn đang nói?
orome

@orome, bạn có thể tạo NN để tính toán entropy, tất nhiên, nhưng đó không phải là cách hàm entropy chéo thực sự được sử dụng trong hầu hết các trường hợp. Bạn có thể nghĩ về nó như một loại hàm chi phí khác, đó là tất cả ở đây. Nó dường như có các tính chất mong muốn, và là đối xứng độc đáo.
Aksakal

Đúng, vì vậy gọi nó là entropy hoặc gợi ý rằng có ý nghĩa phân phối (mà "entropy" cung cấp bất kỳ cái nhìn sâu sắc nào) là sai lệch . ay(i)(x(i);θML)
orome

@orome, tôi sẽ không ám ảnh về cái tên này. Nó giống như chức năng "mất bản lề" ít liên quan đến bản lề. Họ gọi đây là "mất entropy" vì dạng chức năng của nó giống hệt như một phương trình entropy thông tin.
Aksakal
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.