Cross entropy là gì

 - 
Lý thuyết thông tin (Information Theory) là một nhánh toán ứng dụng quan tâm đến các vấn đề định lượng (quantification), lưu trữ (storage) và truyền thông (communication) của thông tin. Thông tin là một khái niệm trừu tượng (không phải một thực thể lý tính) do đó thật khó để định lượng thông tin theo cách thông thường. Trong bài viết này, nội dung hướng đến cách định lượng thông tin, các độ đo thông tin Entropy, Cross Entropy, Kullback–Leibler divergence, mối quan hệ của chúng và một số ứng dụng của những độ đo này.

Bạn đang xem: Cross entropy là gì


Nguồn Khan Academy


Lý thuyết thông tin được khởi xướng bởi Claude E. Shannon vào năm 1948 với bài báo khoa học có tiêu đề “A Mathematical Theory of Communication” đặt nền móng nghiên cứu nền tảng về các giới hạn liên quan đến xử lí tín hiệu (signal processing) và các thao tác truyền thông (communication operations) như nén dữ liệu. Phần lớn ứng dụng của lý thuyết thông tin thường liên quan đến việc nén dữ liệu (ZIP, MP3, JPEG,…) và mã hóa kênh (truyền dữ liệu số qua đường dây điện thoại,…).

*

Thoạt nghe qua thì có vẻ như lý thuyết thông tin chẳng liên quan gì đến thống kê và học máy nhưng thực tế lại có một sự kết nối sâu xa! Độ đo Entropy, Cross Entropy, Kullback–Leibler divergence là những độ đo được sử dụng rất nhiều trong học máy dùng để huấn luyện các bộ phân lớp, vì sao vậy? Chúng ta sẽ đi tìm câu trả lời ngay sau đây!

Biểu đồ phía trên được gọi là hệ thống truyền thông (Shannon communication system) nằm trong bài báo nổi tiếng “A Mathematical Theory of Communication”:

Mục tiêu của một hệ thống truyền thông là truyền tải những thông điệp đáng tin cậyhiệu quả từ người gửi đến người nhận.

The fundamental problem of communication is that of reproducing at one point, either exactly or approximately, a message selected at another point.— Claude E. Shannon

Nếu như thông điệp nằm trong một tập hữu hạn sự lựa chọn truyền thông mà nguồn và đích có thể giao tiếp được (với mọi sự lựa chọn là như nhau) thì khi đó số lượng thông điệp hoặc bất kì hàm đơn điệu nào của nó có thể được xem xét như một độ đo thông tin tái sản sinh thông điệp được chọn từ tập trước đó. Claude E. Shannon cho rằng một trong những hàm toán học phù hợp với nhất với việc này là hàm logarit.

Sự lựa cơ số cho hàm logarit phụ thuộc vào đơn vị đo lường thông tin. Nếu như cơ số được chọn là $2$ thì đơn vị đo là bits thông tin (binary digits), đôi lúc cũng có tài liệu gọi đơn vị thông tin khi sử dụng cơ số $2$ là shannon, nếu như cơ số là $ e \approx 2,71828182846…$ hay nói cách khác hàm sử dụng là hàm logarit tự nhiên thì đơn vị thông tin là nats (dựa trên tên gọi natural logarithm), nếu như cơ số là $10$ thì đơn vị thông tin là hartley (còn hay gọi dit hoặc ban).

Trong kỷ nguyên số, bộ phát mã hóa thông điệp dưới dạng dãy bits và gửi qua kênh truyền đến bộ thu. Bit viết tắt của Binary digIT, được gọi là đơn vị đo lường thông tin. Một bit có thể nhận một trong hai giá trị: $0$ hoặc $1$. Dể dàng nhận ra rằng một bit biểu diễn cho hai sự lựa chọn.

*

Xét bài toán đơn giản sau đây, một trạm dự báo thời tiết gửi thông điệp đến các hộ gia đình về tình hình thời tiết địa phương:

Thông điệp: tập thông điệp là $\{ \text{mưa}, \text{nắng}, \text{tuyết}, \text{âm u} \}$ mà nơi gởi và đích đến có thể giao tiếp được với nhau. Giả định rằng xác suất xảy ra mưa, nắng, tuyết, âm u là như nhau. Bộ phát và bộ thu mã hóa và giải mã nhị phân.

Với mục đích truyền thông như trên, thì lượng đơn vị thông tin cần dùng là:$$\log_{2}(4) = 2 \text{ (bits)}$$Với $2 \text{ bits}$ là giá trị $ \text{bits}$ định lượng thông tin cho mục đích truyền thông mô tả phía trên. Một câu hỏi được đặt ra: bạn có thể gửi một tấm ảnh $200 \text{ KB}$ hoặc gửi một chuổi kí tự “rainy”, “sunny”, “snowy”, “gloomy” để phục vụ mục đích truyền thông như trên thì giá trị định lượng thông tin có thay đổi không? Thực tế thì bạn có thể gửi bao nhiêu dữ liệu cũng được, nhưng số lượng $\text{bits}$ ít nhất để bạn truyền thông điệp trên chắc chắn là $2 \text{ bits}$. Và vì mục đích truyền thông là truyền tải thông điệp từ nơi gửi đến nơi nhận, nếu như ta không quan tâm đến “thông tin thừa” phát sinh (phần thông tin dôi ra) thì giá trị định lượng thông tin cho mục tiêu trên chỉ có $2 \text{ bits}$ là bits thông tin.


Nhưng nếu như mỗi thông điệp “khả năng xảy ra” không như nhau mà dưới một xác suất thì sao?

Trước khi bàn luận về độ đo Entropy thì mình muốn giới thiệu với các bạn về độ đo self-information để định lượng thông tin của một thông điệp có xác suất xảy ra $p$. Độ đo hàm lượng thông tin được định nghĩa như sau:

Hàm lượng thông tin (Self-information)
Độ đo hàm lượng thông tin của một thông điệp với một biến cố $E$ là: $$\text{I}(E) = \log_{b}\frac{1}{\Pr(E)}$$Với $b$ là cơ số phụ thuộc vào đơn vị thông tin.

Xem thêm: Phép Tương Phản Là Gì - ĐịNh NghĩA Về PhéP Tương PhảN Và Tăng TiếN

Một cách cảm tính, nếu như thông điệp gắn liền với một biến cố chắc chắn xảy ra (xác suất $p=1$) chẳng hạn như sa mạc Sahara luôn nắng (giả định rằng xác suất Sahara nắng quanh năm $p=1$), nếu như bạn đã biết thông tin này từ trước, thì việc truyền thông có mang lại lượng thông tin nào cho bạn không?

Mình đang ở sa mạc Sahara và gửi một thông điệp qua email cho bạn rằng: “chào cậu, hôm nay trời nắng đấy!”. Thông điệp này ắt hẳn chẳng mang một chút thông tin nào cho bạn cả! Bởi vì như Sahara lúc hầu như lúc nào chẳng nắng?

Nó dẫn đến ý tưởng xây dựng độ đo hàm lượng thông tin như sau $\text{I}(E)$ như sau:

Hàm này phải phụ thuộc vào xác suất xảy ra của biến cố $E$ hay nói cách khác $\text{I}(E) =f(\Pr(E))$ với $f(.)$ là hàm mà chúng ta cần tìm. Nếu như xác suất $\Pr(E) = 1$ thì $I(E) = 0$, nếu như $\Pr(E) 0$.$\text{I}(E)$ phải là một độ đo không âm, nghịch biến với $\Pr(E)$ khi $\Pr(E)$ càng tăng thì hàm lượng thông tin càng giảm $\text{I}(E)$. Nếu như một sự kiện xảy ra thường xuyên trong cuộc sống, khi nó tiếp tục xảy ra, thì chẳng có gì bất ngờ cả (ít thông tin). Tuy nhiên nếu sự kiện không chắc chắn xảy ra, nhưng lại xảy ra thì chắc chắn thông điệp mang lại một lượng thông tin lớn (nhiều thông tin).Nếu như $A$ và $B$ là hai biến cố độc lập, gọi $C = A \cap B$, ta có $\Pr(A \cap B) = \Pr(A)\Pr(B)$ thì $\text{I}( C) = \text{I}(A) +\text{I}(B)$. Tính chất trên được gọi là thông tin dựa trên các biến cố độc lập mang tính chất cộng tính. Đây là tính chất quan trọng nhất!

Để phần nào hiểu tại sao thông tin cần tính chất cộng tính khi các biến cố độc lập là một tính chất quan trọng, chúng ta có thể xét ví dụ sau đây: Tung đồng xu lên hai lần, gọi $A$ là biến cố lần tung thứ nhất là mặt ngửa, gọi $B$ là biến cố lần tung thứ hai là mặt ngửa, rõ ràng $A$ và $B$ là hai biến cố độc lập, gọi $C= A \cap B$ hay nói cách khác $C$ là biến cố tung hai lần đều là ngửa, nếu thông điệp là $C$ thì rõ ràng thông tin mà bạn có là “A xảy ra” và “B xảy ra” như vậy nếu có một độ đo thông tin phù hợp thì nó phải thỏa tính chất cộng tính như trên.

Thế $f(.)$ vào tính chất cuối cùng ta có:$$ f(\Pr( C)) = f(\Pr(A)) + f(\Pr(B))$$Mà ta biết rằng $\Pr( C) = \Pr(A)\Pr(B)$ nên lúc này$$ f(\Pr(A) \Pr(B)) = f(\Pr(A)) + f(\Pr(B))$$Đặt $x = \Pr(A)$ và $y = \Pr(B)$ viết gọn lại$$ f(x.y) = f(x) + f(y)$$

Lớp các hàm thỏa mãn điều trên có dạng: $f(x) = K \cdot \ln x$. Lưu ý là do phải thỏa mãn hai điều kiện đầu, từ khi xác suất luôn là một số luôn nằm trong đoạn $0$ đến $1$ và thông tin của một biến cố phải không âm, do đó $KThông tin có thể định lượng được bằng một đơn vị thông tin (bits, nats,…)Nếu như thông điệp nằm trong một tập thông điệp với khả năng xảy ra là như nhau thì lượng thông tin của thông điệp là $\log_{b} N$ với $N$ là số lượng thông điệp và $b$ là cơ số của đơn vị thông tin sử dụng.Nếu như thông điệp nằm trong một tập thông điệp, mà thông điệp có xác suất xảy ra là $p$ thì lượng thông tin của thông điệp là $\log_{b}\left(1/p \right)$. Lưu ý là $N=1/p$ có thể diễn giải là số lượng thông điệp mà nguồn tin phát sinh cứ $N$ thông điệp thì phát sinh $1$ thông điệp mà ta đang xét, do đó thông điệp có xác suất $1/p$.Tính chất của thông tin: thông tin càng nhiều (càng bất ngờ) là những sự kiện càng ít xảy ra, thông tin càng ít (càng hiển nhiên) là những sự kiện xảy ra thường xuyên.

1. Entropy

Entropy xuất hiện lần đầu tiên trong cơ học thống kê (Boltzmann Entropy), Shannon ban đầu tìm ra Entropy và đặt tên nó là “độ bất xác định” (Uncertainty thay vì Entropy), cuối cùng với lời khuyên của John Von Neumann cái tên này được giữ lại.

Về bản chất Entropy chính là trung bình thông tin của biến ngẫu nhiên rời rạc!

Entropy
Với biến ngẫu nhiên rời rạc $X$ nhận các giá trị $ \left\{ x_{1},...,x_{n} \right\} $ và hàm khối xác suất pmf (probability mass function) $\Pr(X)$ thì Entropy của $X$ là:$$\text{H}(X) = \mathbb{E}(\text{I}(X)) = \sum_{i=1}^{n}\Pr(x_{i})\text{I}(x_{i})=\sum_{i=1}^{n}\Pr(x_{i}) \log_{b}\frac{1}{\Pr(x_{i})}$$ Hay nói cách khác: $$\text{H}(X) = - \sum_{i=1}^{n}\Pr(x_{i}) \log_{b}\Pr(x_{i})$$ Với $b$ là cơ số được chọn dựa trên đơn vị thông tin sử dụng. Entropy thông tin (còn gọi Entropy nhị phân) là hàm Entropy với cơ số $b=2$. Đôi lúc để ký hiệu tiện lợi và dể nhìn hơn chúng ta có thể viết Entropy với vector xác suất $p = (p_{i},...p_{n})$ với $p_{i} = \Pr(X=x_{i})$ khi đó $\text{H}(p)$: $$\text{H}(p) = - \sum_{i=1}^{n} p_{i} \log_{b}p_{i}$$

Nhìn vào công thức trên bạn sẽ nhận ra một điều không đúng! Đó chính là $\log_{b}(0)$ không xác định. Tuy nhiên chúng ta lại có tính chất sau của giới hạn hàm số $-x \log_{b}x$ với $b$ là cơ số cho trước:

$$\lim_{x \to 0} -x\cdot \log_{b} x = 0$$

Chúng ta có thể chứng minh bằng quy tắc L’Hospital với $f(x) = \log_{b} x$ và $g(x) = 1 / x$ như sau:

$$\lim_{x \to 0} -x\cdot \log_{b} x = - \lim_{x \to 0} \frac{\log_{b} x}{1 / x} = - \lim_{x \to 0} \frac{f(x)}{g(x)}= - \lim_{x \to 0} \frac{f’(x)}{g’(x)} $$

$$ = - \lim_{x \to 0} \frac{1/ (x\cdot \ln b)}{-1 / x^{2}} = \lim_{x \to 0} \frac{x^{2}}{x\cdot \ln b} = \lim_{x \to 0} \frac{x}{\ln b} = 0 $$

Vì thế với các trường hợp xác suất bằng $0$ hàm $\log$ không xác định thì qui ước rằng $0 \log_{b} 0 = 0$ (hãy lưu ý việc này trong lập trình tính toán).

Một vài tính chất quan trọng của Entropy:

Hàm entropy là một hàm không âm $\text{H}(X) \ge 0$ dấu bằng xảy ra khi và chỉ khi $p_{i} = 0$ với một $i$ nào đó.Hàm Entropy cực đại khi phân bố xác suất là phân bố đều, với $\text{H} (X) \le \log_{b} (n)$ dấu bằng xảy ra khi và chỉ khi $p_{i} = \Pr(X=x_{i}) = \frac{1}{n}$ với mọi $i$.

Xem thêm: Sinh Năm 1996 Hợp Màu Gì Năm 2021? Hợp Đeo Đá Màu Gì

Entropy là độ đo bất xác định khi dự đoán trạng thái của một biến ngẫu nhiên $X$. Entropy thông tin của biến ngẫu nhiên $X$ càng cao (càng nhiều thông tin chứa trong thông điệp) thì càng khó dự đoán.