Lý thuyết thông tin và các định lý Shannon
1. Tổng quan
A. Khái niệm lý thuyết thông tin
Lý thuyết thông tin (Information Theory) là lý thuyết đo lường thông tin một cách định lượng và làm rõ bằng toán học các giới hạn về việc có thể nén thông tin đến mức nào và truyền nhanh đến mức nào mà không có lỗi trong truyền thông, được khai sinh từ bài báo 「A Mathematical Theory of Communication」 của Claude Shannon năm 1948.
Lý do căn bản khiến lý thuyết thông tin trở thành nền tảng của truyền thông và điện toán hiện đại là nó 'cho phép đo khái niệm trừu tượng là thông tin bằng con số, và xác lập giới hạn lý thuyết của truyền thông'. Trước Shannon, không có cách nào đo 'lượng thông tin' một cách khách quan. Các kỹ sư điện báo · điện thoại xử lý băng thông và tốc độ theo kinh nghiệm, nhưng không có công cụ để nói bằng con số "thông điệp này chứa bao nhiêu thông tin". Bước ngoặt quyết định của Shannon là cố ý loại bỏ ý nghĩa (semantics) của thông tin, và định nghĩa lượng thông tin chỉ bằng độ bất định (entropy). Tức là ông đo thông tin không phải bằng 'nó có nghĩa gì' mà bằng 'nó khó dự đoán đến mức nào'.
Trực giác của định nghĩa này như sau. Một sự kiện càng khó dự đoán (càng bất định) thì khi kết quả thực sự được quan sát, lượng thông tin nó mang lại càng lớn. Ví dụ, đồng xu bị gian lận luôn ra mặt ngửa thì dù xem kết quả cũng không biết thêm gì mới, thông tin bằng 0 (entropy 0), còn đồng xu công bằng với sấp ngửa mỗi mặt một nửa thì kết quả hoàn toàn bất định nên khi quan sát cho thông tin tối đa (1 bit). Tương tự, thông điệp "ngày mai mặt trời mọc" gần như không có thông tin, nhưng thông điệp "ngày mai một cổ phiếu cụ thể tăng 30%" có xác suất thấp nên lượng thông tin lớn.
Khi định lượng thông tin bằng đơn vị phổ quát là bit như vậy, lần đầu tiên người ta có thể đưa ra giới hạn rõ ràng cho các câu hỏi "về lý thuyết có thể nén dữ liệu đến mức nào" và "có thể gửi nhanh và chính xác đến mức nào qua kênh có nhiễu". Hai định lý của Shannon chính là những gì quy định hai giới hạn này. Lý thuyết này ngày nay trở thành nền tảng lý thuyết của nén dữ liệu (ZIP · JPEG · MP3), mã sửa lỗi, truyền thông 5G · Wi-Fi, mật mã học, và còn mở rộng tới hàm mất mát và lựa chọn đặc trưng trong học máy.
B. Entropy — định lượng hóa lượng thông tin
Cần xem xét cụ thể hơn một chút về entropy, điểm xuất phát của lý thuyết thông tin. Lượng thông tin của một sự kiện riêng lẻ (thông tin tự thân) được định nghĩa là I = -log₂ p với xác suất xảy ra p. Sự kiện có xác suất càng thấp (càng hiếm) thì giá trị logarit càng lớn nên lượng thông tin càng lớn, đây chính là trực giác ở trên được chuyển thành công thức. Và lượng thông tin trung bình mà toàn bộ nguồn tin phát ra chính là entropy H = -Σ pᵢ log₂ pᵢ. Độ bất định càng lớn, tức là các kết quả xuất hiện càng đồng đều, thì entropy càng lớn.
Xét bằng con số cụ thể, entropy của đồng xu công bằng với xác suất sấp ngửa mỗi mặt 0.5 là -(0.5·log₂0.5 + 0.5·log₂0.5) = 1 bit. Ngược lại, đồng xu lệch với xác suất ngửa 0.9 chỉ có khoảng 0.47 bit. Tức là nguồn tin thiên lệch có khả năng dự đoán trung bình cao nên mang ít thông tin, và chính 'khả năng dự đoán dư thừa' này là dư địa cho nén.
Ví dụ, văn bản tiếng Anh không có các chữ cái xuất hiện đồng đều mà e · t xuất hiện thường xuyên, z · q hiếm gặp, và còn có tương quan giữa các ký tự như 'sau q hầu như luôn là u', nên entropy thực tế thấp, khoảng 1 bit mỗi ký tự. Vì vậy, văn bản vốn được lưu bằng ASCII 8 bit có thể giảm mạnh nhờ nén không mất dữ liệu. Như vậy, entropy không phải là khái niệm lý thuyết đơn thuần mà trả lời trực tiếp câu hỏi thực tiễn "về nguyên lý, dữ liệu này có thể giảm đến mức nào".
C. Những câu hỏi căn bản mà lý thuyết thông tin trả lời
Nếu sắp xếp các câu hỏi mà lý thuyết thông tin đặt ra và trả lời thành ba câu, cấu trúc của nó trở nên rõ ràng. Thứ nhất, với "đo lượng thông tin như thế nào", câu trả lời là entropy. Thứ hai, với "có thể nén dữ liệu đến đâu", câu trả lời là định lý thứ nhất (entropy là cận dưới). Thứ ba, với "có thể gửi chính xác · nhanh đến mức nào qua kênh có nhiễu", câu trả lời là định lý thứ hai và định lý Shannon-Hartley (dung lượng kênh).
Ba câu hỏi này xuyên suốt mọi lĩnh vực lưu trữ · truyền tải của hệ thống CNTT ngày nay. Việc nén tệp để lưu trữ, việc gửi dữ liệu không dây, việc sửa lỗi bit của thiết bị lưu trữ đều được thiết kế trong khuôn khổ này. Vì thế, lý thuyết thông tin được đánh giá không phải là một công nghệ cụ thể mà tương đương với 'vật lý học của mọi công nghệ xử lý thông tin số'.
2. Định lý thứ nhất và định lý thứ hai của Shannon
Hai trục của lý thuyết thông tin là 'giảm được đến mức nào (nén)' và 'gửi chính xác được đến mức nào (truyền)', lần lượt được định lý thứ nhất và thứ hai của Shannon quy định. Hình dưới đây thể hiện các điểm mà hai định lý can thiệp trong quá trình thông tin đi từ nguồn qua kênh đến khi được nhận.
flowchart LR
S["Nguồn tin (source)"] -->|"Định lý 1: mã hóa nguồn<br/>giới hạn nén = entropy"| E["Dữ liệu đã nén"]
E -->|"Mã hóa kênh (thêm dư thừa)"| C["Kênh có nhiễu"]
C -->|"Định lý 2: tốc độ truyền<dung lượng thì lỗi→0"| D["Giải mã·nhận"]
style C fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px
style S fill:#f1f8e9,stroke:#558b2f,stroke-width:2px
Mô hình tổng quát của hệ thống truyền thông do Shannon đưa ra chia nhỏ hơn luồng ở trên. Thông điệp do nguồn tin tạo ra được biến thành tín hiệu tại bộ phát (bộ mã hóa) và gửi vào kênh, trong kênh nguồn nhiễu (noise source) gây nhiễu loạn tín hiệu, và bộ thu (bộ giải mã) khôi phục nó rồi chuyển tới đích. Ý nghĩa của mô hình này là đã loại bỏ 'ý nghĩa' và trừu tượng hóa truyền thông thuần túy thành vấn đề của tín hiệu và nhiễu.
flowchart LR
I["Nguồn tin"] --> T["Bộ phát<br/>mã hóa"]
T -->|"Tín hiệu"| CH["Kênh"]
NZ["Nguồn nhiễu"] -.->|"Nhiễu loạn"| CH
CH -->|"Tín hiệu nhận"| RX["Bộ thu<br/>giải mã"]
RX --> DST["Đích"]
style CH fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px
style NZ fill:#fdecea,stroke:#c0392b,stroke-width:2px
Trong hình này, định lý thứ nhất quy định giới hạn nén ở bước 'bộ phát (mã hóa)', còn định lý thứ hai quy định giới hạn truyền khi đi qua 'kênh + nguồn nhiễu'. Vì hai định lý đảm nhận các bước khác nhau, hệ thống thực tế có cấu trúc hai bước: dùng mã hóa nguồn (nén) để giảm dữ liệu xuống đến entropy, rồi dùng mã hóa kênh (sửa lỗi) để thêm lại phần dư thừa đã được tính toán. Quá trình 'giảm rồi lại tăng' thoạt nhìn có vẻ mâu thuẫn này lại là tối ưu, vì nén loại bỏ phần dư thừa lãng phí của nguồn tin còn mã hóa kênh chỉ thêm chính xác 'phần dư thừa được thiết kế' cần để vượt qua nhiễu.
A. Định lý thứ nhất — mã hóa nguồn (giới hạn của nén)
Định lý thứ nhất (định lý mã hóa nguồn) khẳng định cận dưới của nén không mất dữ liệu là entropy của nguồn tin. Dù nén dữ liệu tinh vi đến đâu, nếu giảm độ dài mã trung bình xuống dưới entropy H của nguồn tin đó thì chắc chắn xảy ra mất thông tin. Nói ngược lại, có thể tiến gần entropy một cách tùy ý, nên mục tiêu của thuật toán nén tốt trở thành 'tiến gần entropy đến mức nào'.
Ý nghĩa thực tiễn của định lý này là cho biết 'trần' của công nghệ nén. Mã Huffman (Huffman coding) gán mã ngắn cho ký hiệu xuất hiện thường xuyên, mã dài cho ký hiệu hiếm để đưa độ dài trung bình tiến gần entropy, còn mã số học (arithmetic coding) tiến gần hơn nữa. Ví dụ, nếu entropy của một văn bản cụ thể là 1.5 bit mỗi ký tự, định lý thứ nhất bảo đảm rằng không bộ nén không mất dữ liệu nào có thể giảm xuống dưới trung bình 1.5 bit. Nén có mất dữ liệu như JPEG · MP3 không 'vượt qua' giới hạn này, mà cần được hiểu là loại bỏ thông tin con người không nhận biết được để tạo ra dữ liệu khác với bản gốc (có entropy thấp hơn).
B. Định lý thứ hai — mã hóa kênh (giới hạn của truyền)
Định lý thứ hai (định lý mã hóa kênh) được coi là kết quả đáng kinh ngạc nhất của lý thuyết thông tin. Ngay cả kênh có nhiễu cũng tồn tại tốc độ truyền tối đa gọi là dung lượng kênh (C), và chỉ cần tốc độ truyền thực tế R nhỏ hơn dung lượng này (R < C) thì thông qua mã hóa thích hợp có thể làm xác suất lỗi tiến gần 0 một cách tùy ý. Trái với trực giác, dù có nhiễu, chỉ cần hạ tốc độ xuống dưới dung lượng thì về lý thuyết có thể truyền thông 'gần như hoàn hảo'.
Kết quả này mang tính cách mạng vì trước đó người ta tin rằng "trên kênh có nhiễu, muốn giảm lỗi thì phải hạ tốc độ vô hạn". Shannon đã chứng minh rằng truyền thông không lỗi và tốc độ có ý nghĩa có thể cùng tồn tại, và đây trở thành điểm khởi đầu của nghiên cứu mã sửa lỗi (FEC).
Tuy nhiên, định lý thứ hai chỉ là chứng minh tồn tại rằng 'mã như vậy tồn tại' chứ không cho biết 'làm thế nào để tạo ra nó'. Chứng minh dựa trên hiệu năng trung bình của mã ngẫu nhiên, nên việc tìm mã có thể hiện thực và giải mã khả thi trên thực tế vẫn là một bài toán khó riêng biệt. Vì vậy, trong nhiều thập kỷ sau đó, việc tìm mã vừa tiến gần giới hạn lý tưởng vừa khả thi về mặt tính toán trở thành nhiệm vụ cốt lõi của kỹ thuật truyền thông, và hành trình này dẫn tới mã Turbo · LDPC sẽ trình bày ở phần sau.
| Định lý | Nội dung | Ứng dụng thực tiễn |
|---|---|---|
| Định lý thứ nhất (mã hóa nguồn) | Giới hạn của nén không mất dữ liệu là entropy của nguồn tin. Giảm hơn entropy thì mất mát là không tránh khỏi. | ZIP, mã Huffman · số học, PNG |
| Định lý thứ hai (mã hóa kênh) | Nếu tốc độ truyền R < dung lượng kênh C thì với mã hóa thích hợp có thể làm lỗi tiến gần 0 một cách tùy ý. | LDPC, mã Turbo, Reed-Solomon |
3. Định lý Shannon-Hartley
Nếu định lý thứ hai cho thấy 'dung lượng kênh tồn tại', thì định lý Shannon-Hartley đưa ra dung lượng đó bằng công thức cụ thể cho kênh nhiễu tương tự có băng thông (kênh Gauss). Công thức này trở thành chuẩn mực thực chất cho thiết kế dung lượng hệ thống truyền thông nên được trích dẫn nhiều nhất trong lý thuyết thông tin.
C = B · log₂(1 + S/N) (C: dung lượng kênh bps, B: băng thông Hz, S/N: tỷ số tín hiệu trên nhiễu, thang tuyến tính)
Công thức này cho thấy hai con đường để tăng dung lượng truyền thông. Thứ nhất là mở rộng băng thông (B), dung lượng tỷ lệ tuyến tính với băng thông. Thứ hai là nâng tỷ số tín hiệu trên nhiễu (S/N), và điều này có một hàm ý quan trọng. Vì S/N nằm trong logarit, dù tăng công suất tín hiệu đến đâu thì hiệu quả tăng dung lượng cũng giảm dần — hiện tượng 'lợi suất giảm dần'. Ví dụ, dù tăng S/N lên 10 lần thì phần tăng của số hạng log₂ cũng hạn chế, điều này gợi ý rằng bảo đảm băng thông hoặc cải thiện hiệu suất điều chế có thể hiệu quả hơn việc tăng công suất một cách mù quáng.
Ví dụ bằng con số cụ thể, dung lượng của kênh có băng thông 20 MHz và S/N = 100 (20 dB) được tính là 20×10⁶ × log₂(101) ≈ 20×10⁶ × 6.66 ≈ 133 Mbps. Như vậy, định lý này trở thành chuẩn thiết kế để ước lượng "với tài nguyên tần số và công suất này, về lý thuyết đạt tối đa bao nhiêu bps" trong mọi hệ thống truyền thông như 5G · Wi-Fi · LTE. Thông lượng của hệ thống thực tế tiến gần giới hạn này đến mức nào là thước đo độ trưởng thành của công nghệ truyền thông.
Một hàm ý thực tiễn quan trọng của công thức này là trong môi trường thiếu băng thông, chiến lược tăng công suất phát một cách mù quáng là không hiệu quả. Vì S/N nằm trong logarit nên dù tăng gấp đôi công suất, dung lượng cũng chỉ tăng vài %. Vì thế, truyền thông không dây hiện đại tiến gần giới hạn này bằng cách kết hợp mở rộng băng thông (sóng milimét), tăng tài nguyên không gian bằng đa ăng-ten (MIMO), và tăng số bit mỗi ký hiệu bằng điều chế bậc cao (256-QAM v.v.). Có thể nói một công thức do lý thuyết thông tin đưa ra đã quy định hướng lựa chọn kỹ thuật như vậy.
Ngoài ra, công thức này còn cho những hiểu biết về các tình huống cực đoan. Ngay cả trong truyền thông không gian sâu hay IoT công suất thấp có S/N rất thấp (nhiễu áp đảo tín hiệu), dung lượng kênh không phải bằng 0 mà vẫn là số dương, nên nếu hạ tốc độ truyền đủ thấp thì vẫn có thể truyền thông không lỗi. Trên thực tế, tàu thăm dò không gian sâu gửi được dữ liệu về Trái Đất dù tín hiệu cực kỳ yếu là nhờ dựa trên nguyên lý này để hạ tốc độ truyền và áp dụng sửa lỗi mạnh.
4. Chuyên sâu — Khoảng cách giữa lý thuyết và thực tế, và mở rộng sang AI
A. Các công nghệ mã hóa tiến gần giới hạn lý tưởng
Sau khi Shannon đưa ra 'giới hạn' bằng định lý thứ hai, lịch sử kỹ thuật truyền thông là hành trình tiến gần giới hạn đó đến mức nào. Các mã thời kỳ đầu như mã Hamming · Reed-Solomon còn cách giới hạn khá xa, nhưng với sự ra đời của mã Turbo (Turbo Code) năm 1993, lần đầu tiên hiện thực được một mã thực dụng tiến gần giới hạn Shannon chỉ trong vòng vài phần mười dB.
Tiếp đó, mã LDPC (kiểm tra chẵn lẻ mật độ thấp) — được đề xuất từ những năm 1960 nhưng bị lãng quên vì thiếu năng lực tính toán rồi được tái phát hiện — được dùng rộng rãi trong kênh dữ liệu 5G và vệ tinh · thiết bị lưu trữ (SSD), cho hiệu năng rất gần giới hạn Shannon. Tức là chứng minh tồn tại năm 1948 của Shannon đã gần như được 'bắt kịp' về mặt kỹ thuật sau khoảng nửa thế kỷ. Lịch sử này thường được trích dẫn như một ví dụ điển hình trong lịch sử khoa học, nơi lý thuyết đưa ra mục tiêu trước và kỹ thuật theo sau để hiện thực hóa.
Một điểm cần lưu ý là đánh giá 'đã tiến gần giới hạn Shannon' giả định một mô hình kênh cụ thể (thường là nhiễu Gauss, độ dài mã gần như vô hạn). Môi trường không dây thực tế khác với mô hình lý tưởng do fading · nhiễu giao thoa v.v., nên cần hiểu thêm rằng giữa mức độ tiến gần về lý thuyết và hiệu năng đo thực tế vẫn còn khoảng cách tùy theo điều kiện.
B. Mở rộng sang lĩnh vực AI và dữ liệu
Các khái niệm của lý thuyết thông tin đã vượt ra ngoài truyền thông để trở thành công cụ cốt lõi của trí tuệ nhân tạo và khoa học dữ liệu ngày nay. Cross-Entropy (entropy chéo) — hàm mất mát chuẩn của mô hình phân loại học máy — đo sự khác biệt giữa phân phối dự đoán và phân phối thực bằng khái niệm entropy, và phân kỳ KL (Kullback-Leibler divergence) đo khoảng cách giữa hai phân phối cũng xuất phát từ lý thuyết thông tin. Ngoài ra, độ lợi thông tin (Information Gain) — tiêu chí phân chia của cây quyết định (Decision Tree) — được định nghĩa là lượng giảm entropy trước và sau khi phân chia, để xác định "phân chia theo đặc trưng nào thì độ bất định giảm nhiều nhất".
Thông tin tương hỗ (Mutual Information) dùng trong lựa chọn đặc trưng cũng là khái niệm đo lượng thông tin mà hai biến chia sẻ bằng entropy. Như vậy, ý tưởng 'định lượng hóa độ bất định' của Shannon đã vượt xa ranh giới lý thuyết truyền thông để trở thành ngôn ngữ chung của toàn bộ công nghệ dữ liệu hiện đại. Các nghiên cứu muốn diễn giải chính nguyên lý học như nén thông tin, như lý thuyết nút cổ chai thông tin (Information Bottleneck) của học sâu, vẫn đang tiếp diễn, nên lý thuyết thông tin vẫn là một khung phân tích sống động. [[decision-tree]]
C. Bài học từ khoảng cách giữa lý thuyết và thực tế
Việc định lý của Shannon chỉ dừng ở 'chứng minh tồn tại' để lại một bài học kỹ thuật quan trọng. Biết rằng có giới hạn và biết cách đạt tới giới hạn đó là hai chuyện khác nhau, và nửa thế kỷ nghiên cứu mã hóa sau hai định lý chính là quá trình lấp đầy khoảng cách này. Điều này trở thành nguyên mẫu của phương pháp luận mà ngày nay kỹ sư dùng khi đặt mục tiêu hiệu năng: tính trước 'giới hạn lý thuyết' rồi ước lượng mức hiện tại so với nó.
Tức là lý thuyết thông tin, vượt ra ngoài các thuật toán cụ thể, đã gieo vào lĩnh vực truyền thông · dữ liệu chính cách tư duy "trước hết tìm cận trên lý thuyết rồi đánh giá công nghệ theo mức độ tiến gần nó", nên ảnh hưởng của nó còn mang tính phương pháp luận.
5. Những điểm cần cân nhắc và hàm ý (dưới góc nhìn Kỹ sư chuyên nghiệp)
- Đưa ra cận trên lý thuyết của truyền thông và nén. Các định lý Shannon quy định những giới hạn không công nghệ nào vượt qua được (entropy = cận dưới nén, dung lượng kênh = cận trên truyền), trở thành chuẩn mực tuyệt đối để đánh giá công nghệ truyền thông · nén hiện tại tiến gần lý tưởng đến đâu. Khi kiểm chứng tuyên bố hiệu năng của công nghệ mới, các tuyên bố vượt qua giới hạn này có thể bị bác bỏ về nguyên lý.
- Là nền tảng chung của công nghệ số hiện đại. Nén dữ liệu (Huffman · số học · JPEG), sửa lỗi (LDPC · Turbo · Reed-Solomon), thiết kế dung lượng thông tin di động đều dựa trên lý thuyết thông tin, và đã phát triển theo hướng thu hẹp khoảng cách giữa giới hạn lý thuyết và hiệu năng thực tế. Khi thiết kế hệ thống, có thể dùng 'hiệu suất so với giới hạn lý thuyết' làm chỉ số.
- Ảnh hưởng mở rộng sang lĩnh vực AI và dữ liệu. Các khái niệm entropy · entropy chéo · thông tin tương hỗ · phân kỳ KL được dùng rộng rãi làm hàm mất mát, lựa chọn đặc trưng, tiêu chí phân chia cây quyết định của học máy, khiến tầm ảnh hưởng của lý thuyết thông tin vượt ra ngoài truyền thông. Đối với người thiết kế hệ thống dựa trên dữ liệu, lý thuyết thông tin đã trở thành kiến thức nền tảng bắt buộc.
- Định lượng hóa đánh đổi trong phân bổ tài nguyên. Định lý Shannon-Hartley đưa ra mối quan hệ giữa băng thông · công suất · dung lượng bằng công thức, làm căn cứ để tìm điểm thiết kế tối ưu trong phạm vi tài nguyên tần số và ngân sách năng lượng. Đặc biệt, lợi suất giảm dần theo logarit của S/N được dùng để xác định các tình huống mà cải thiện băng thông · hiệu suất điều chế có lợi hơn tăng công suất.
- Phải nhận thức được sức mạnh và giới hạn của định nghĩa loại bỏ ý nghĩa (semantics). Lý thuyết thông tin Shannon chỉ xử lý 'độ bất định' chứ không xử lý 'ý nghĩa' của thông tin, nên rất mạnh trong thiết kế độ tin cậy truyền thông nhưng không bao quát giá trị, mức độ quan trọng, độ chính xác ngữ nghĩa của thông tin. Vì vậy, khi kết hợp với các hướng nghiên cứu mới như truyền thông ngữ nghĩa (semantic communication), cần nhận thức rõ ranh giới này và sử dụng một cách bổ trợ.
Tài liệu tham khảo
- C. E. Shannon, "A Mathematical Theory of Communication", Bell System Technical Journal, 1948: https://people.math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf
- Wikipedia, Shannon–Hartley theorem: https://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem
- Wikipedia, Noisy-channel coding theorem: https://en.wikipedia.org/wiki/Noisy-channel_coding_theorem
Tóm tắt một câu: Lý thuyết thông tin định lượng hóa thông tin bằng entropy, quy định giới hạn lý thuyết của truyền thông và nén bằng định lý thứ nhất của Shannon (giới hạn nén không mất dữ liệu = entropy), định lý thứ hai (tốc độ truyền < dung lượng thì lỗi → 0) và định lý Shannon-Hartley (C=B·log₂(1+S/N)), đồng thời trở thành nền tảng của công nghệ AI và dữ liệu hiện đại thông qua entropy chéo, độ lợi thông tin v.v.