Phương pháp ước lượng xác suất thứ cấp dựa trên lý thuyết entropy cực đại trong ứng dụng nén dữ liệu

PHưƠNG PHÁP ưỚC LưỢNG XÁC SUẤT THỨ CẤP DỰA TRÊN LÝ THUYẾT ENTROPY CỰC ĐẠI TRONG ỨNG DỤNG NÉN DỮ LIỆU SECONDARY PROBABILITY ESTIMATION METHODS BASED ON MAXIMUM ENTROPY PRINCIPLE IN DATA COMPRESSION APPLICATIONS SVTH: Nguyễn Hải Triều Anh Lớp 05DT1, Khoa Điện tử Viễn thông, Trường Đại học Bách khoa GVHD: ThS. Hoàng Lê Uyên Thục Khoa Điện tử Viễn thông, Trường Đại học Bách khoa TÓM TẮT Mô hình hóa dữ liệu và mã hóa là hai quá trình quan trọng nhất của nén dữ liệu. Mã hóa được thực hiện tối ưu và hiệu quả với mã hóa số học. Tuy nhiên không thể tính toán mô hình tối ưu cho một nguồn dữ liệu cho trước. Bài báo sẽ giới thiệu phương pháp ước lượng xác suất thứ cấp. Trong đó mỗi mô hình sơ cấp ước lượng xác suất bit tiếp theo là bit 1 hoặc bit 0 một cách độc lập. Các xác suất ước lượng được kết hợp lại với nhau bằng phương pháp tương tự như mạng nơtron. Sau khi bit được mã hóa, bộ ước lượng được cập nhật theo hướng tối thiểu chi phí mã hóa thay vì theo hướng giảm sai số dự đoán. ABSTRACT Data modeling and coding is two most important processes of data compression. An optimal and effective coding process can be implemented using arithmetic coding. However, optimal model is not computable. This paper introduces a secondary probability estimation method. In this method, each primary model independently estimates the probability that the next bit of data is 0 or 1. Results of estimation are combined by using a method similar to a neural network. After a bit is coded, the estimator will be updated in the direction that minimizes coding cost instead of the direction that minimizes mean square error. 1. Đặt vấn đề Nén dữ liệu là biện pháp nhằm giảm số bit cần dùng để lưu trữ hoặc truyền dữ liệu. Các thuật toán nén có hai quá trình thiết yếu nhất là quá trình ước lượng phân bố xác suất và quá trình mã hóa. Người ta đã chứng minh được rằng không thể tìm ra ước lượng phân bố xác suất tối ưu cho một nguồn cho trước [1][2]. Tuy nhiên quá trình mã hóa có thể được thực hiện hiệu quả và tối ưu với mã hóa số học [3]. Độ dài từ mã trung bình mà bộ mã hóa tạo ra bị giới hạn bởi entropy của nguồn. Giả sử biến ngẫu nhiên x nhận giá trị thuộc tập X={x1, x2, }; mỗi giá trị xi có xác suất là pi, lí thuyết thông tin [4] định nghĩa entropy của x là: (1) Entropy của nguồn tin được xác định nếu ta biết trước được phân bố xác suất của nguồn đó. Tổng quát thì phân bố xác suất của nguồn là không thể biết trước đồng thời phân bố tối ưu của nguồn là không tính toán được, vì vậy chỉ có thể thực hiện ước lượng các giá trị . Do đó tính hiệu quả của một thuật toán nén dữ liệu phụ thuộc chủ yếu vào quá trình ước lượng xác suất. Mặt khác để ước lượng xác suất của sự kiện xi người ta có thể sử dụng nhiều phương pháp, nhiều cách tiếp cận khác nhau. Bài toán đặt ra là thực hiện kết hợp ước lượng xác suất từ các bộ ước lượng sơ cấp để tạo ra phân bố xác suất thích hợp nhất nhằm mã hóa nguồn tin hiệu quả nhất. 2. Phương pháp kết hợp dựa trên lí thuyết entropy cực đại 2.1. Cơ sở lí thuyết Ta xét biến ngẫu nhiên x nhận giá trị thuộc tập X={x1, x2, , xn}. Xác suất ước lượng của xi với từ m bộ ước lượng sơ cấp khác nhau là , với . Xác suất ước lượng tại đầu ra của bộ kết hợp là . Các điều kiện ràng buộc của [5]: - Entropy: (2) - Kì vọng của các xác suất sơ cấp: (3) - Mặt khác phải thỏa mãn: (4) Áp dụng phương pháp số nhân Lagrange với các điều ràng buộc như trên. Định nghĩa các hằng số , ( ) và hàm Lagrange L: (5) Lý thuyết entropy cực đại dựa trên tiền đề là khi ước lượng phân bố xác suất với các ràng buộc cho trước ta nên chọn phân bố có entropy cực đại [5][6]. Có nghĩa là tìm , ( ), và ( ) sao cho L lớn nhất [5]. Tức là xác suất tại đầu ra phải thỏa mãn điều kiện và các điều kiện (2)(3)(4). Suy ra: (6) Các giá trị có thể được xác định bằng phương pháp lặp tổng quát và đảm bảo sẽ hội tụ đến nghiệm duy nhất [6]. Dựa vào công thức (6) ta thấy: để có thể kết hợp các bộ dự đoán một cách đơn giản nhất thì các bộ dự đoán phải là các bộ dự đoán nhị phân (dự đoán từng bit). Gọi P là xác suất bit tiếp theo là bit 1, xác suất bit tiếp theo là bit 0 là (1-P). Tương tự gọi là xác

pdf6 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3087 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Phương pháp ước lượng xác suất thứ cấp dựa trên lý thuyết entropy cực đại trong ứng dụng nén dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 222 PHƢƠNG PHÁP ƢỚC LƢỢNG XÁC SUẤT THỨ CẤP DỰA TRÊN LÝ THUYẾT ENTROPY CỰC ĐẠI TRONG ỨNG DỤNG NÉN DỮ LIỆU SECONDARY PROBABILITY ESTIMATION METHODS BASED ON MAXIMUM ENTROPY PRINCIPLE IN DATA COMPRESSION APPLICATIONS SVTH: Nguyễn Hải Triều Anh Lớp 05DT1, Khoa Điện tử Viễn thông, Trường Đại học Bách khoa GVHD: ThS. Hoàng Lê Uyên Thục Khoa Điện tử Viễn thông, Trường Đại học Bách khoa TÓM TẮT Mô hình hóa dữ liệu và mã hóa là hai quá trình quan trọng nhất của nén dữ liệu. Mã hóa được thực hiện tối ưu và hiệu quả với mã hóa số học. Tuy nhiên không thể tính toán mô hình tối ưu cho một nguồn dữ liệu cho trước. Bài báo sẽ giới thiệu phương pháp ước lượng xác suất thứ cấp. Trong đó mỗi mô hình sơ cấp ước lượng xác suất bit tiếp theo là bit 1 hoặc bit 0 một cách độc lập. Các xác suất ước lượng được kết hợp lại với nhau bằng phương pháp tương tự như mạng nơtron. Sau khi bit được mã hóa, bộ ước lượng được cập nhật theo hướng tối thiểu chi phí mã hóa thay vì theo hướng giảm sai số dự đoán. ABSTRACT Data modeling and coding is two most important processes of data compression. An optimal and effective coding process can be implemented using arithmetic coding. However, optimal model is not computable. This paper introduces a secondary probability estimation method. In this method, each primary model independently estimates the probability that the next bit of data is 0 or 1. Results of estimation are combined by using a method similar to a neural network. After a bit is coded, the estimator will be updated in the direction that minimizes coding cost instead of the direction that minimizes mean square error. 1. Đặt vấn đề Nén dữ liệu là biện pháp nhằm giảm số bit cần dùng để lưu trữ hoặc truyền dữ liệu. Các thuật toán nén có hai quá trình thiết yếu nhất là quá trình ước lượng phân bố xác suất và quá trình mã hóa. Người ta đã chứng minh được rằng không thể tìm ra ước lượng phân bố xác suất tối ưu cho một nguồn cho trước [1][2]. Tuy nhiên quá trình mã hóa có thể được thực hiện hiệu quả và tối ưu với mã hóa số học [3]. Độ dài từ mã trung bình mà bộ mã hóa tạo ra bị giới hạn bởi entropy của nguồn. Giả sử biến ngẫu nhiên x nhận giá trị thuộc tập X={x1, x2, …}; mỗi giá trị xi có xác suất là pi, lí thuyết thông tin [4] định nghĩa entropy của x là: ) 1 (log)( 2 ii i p pxH (1) Entropy của nguồn tin được xác định nếu ta biết trước được phân bố xác suất của nguồn đó. Tổng quát thì phân bố xác suất của nguồn là không thể biết trước đồng thời phân bố tối ưu của nguồn là không tính toán được, vì vậy chỉ có thể thực hiện ước lượng các giá trị ip . Do đó tính hiệu quả của một thuật toán nén dữ liệu phụ thuộc chủ yếu vào quá trình ước Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 223 lượng xác suất. Mặt khác để ước lượng xác suất ip của sự kiện xi người ta có thể sử dụng nhiều phương pháp, nhiều cách tiếp cận khác nhau. Bài toán đặt ra là thực hiện kết hợp ước lượng xác suất từ các bộ ước lượng sơ cấp để tạo ra phân bố xác suất thích hợp nhất nhằm mã hóa nguồn tin hiệu quả nhất. 2. Phƣơng pháp kết hợp dựa trên lí thuyết entropy cực đại 2.1. Cơ sở lí thuyết Ta xét biến ngẫu nhiên x nhận giá trị thuộc tập X={x1, x2, …, xn}. Xác suất ước lượng của xi với ni ,1 từ m bộ ước lượng sơ cấp khác nhau là )( iS xP k , với mk ,1 . Xác suất ước lượng tại đầu ra của bộ kết hợp là )( iM xP . Các điều kiện ràng buộc của )( iM xP [5]: - Entropy: ) )( 1 (log)()( 1 2 iM n i iM xP xPxH (2) - Kì vọng của các xác suất sơ cấp: n i iSiMk xPxPF k 1 )().( (3) - Mặt khác )( iM xP phải thỏa mãn: n i iM xP 1 1)( (4) Áp dụng phương pháp số nhân Lagrange với các điều ràng buộc như trên. Định nghĩa các hằng số , k ( mk ,1 ) và hàm Lagrange L: m k kiS n i iMk n i iM FxPxPxPxHL k 1 11 )])(.)(([)1)(()( (5) Lý thuyết entropy cực đại dựa trên tiền đề là khi ước lượng phân bố xác suất với các ràng buộc cho trước ta nên chọn phân bố có entropy cực đại [5][6]. Có nghĩa là tìm , k ( mk ,1 ), và )( iM xP ( ni ,1 ) sao cho L lớn nhất [5]. Tức là xác suất tại đầu ra )( iM xP phải thỏa mãn điều kiện 0 )( iM xP L và các điều kiện (2)(3)(4). Suy ra: n i xP xP iM m k ikSk m k ikSk xP 1 )(. )(. 1 1 2 2 )( (6) Các giá trị k có thể được xác định bằng phương pháp lặp tổng quát và đảm bảo sẽ hội tụ đến nghiệm duy nhất [6]. Dựa vào công thức (6) ta thấy: để có thể kết hợp các bộ dự đoán một cách đơn giản nhất thì các bộ dự đoán phải là các bộ dự đoán nhị phân (dự đoán từng bit). Gọi P là xác suất bit tiếp theo là bit 1, xác suất bit tiếp theo là bit 0 là (1-P). Tương tự gọi kS P là xác Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 224 suất sơ cấp bit tiếp theo là bit 1 thì (1- kS P ) là xác suất sơ cấp bit tiếp theo là bit 0. Công thức (6) có thể viết lại: m k kSk P P 1 )12( 21 1 (7) Gọi y là bit vừa mã hóa, u là số bit để mã hóa y. Theo lí thuyết thông tin [4]: Pu 2log khi y = 1 và )1(log 2 Pu khi y = 0 Tương đương với: ])12(1[log 2 Pyyu (8) Vi phân từng phần của (8) theo k ta được: )12)(( kS k PPy u (9) Sau khi mã hóa bit y, các trọng số k được cập nhật sao cho số bit cần dùng để mã hóa thay đổi ngược chiều với chiều biến thiên của u theo k : )12)((: kSkk PPy (10) Với là hệ số học. có thể là một hằng số cho trước (ví dụ 0.01) hoặc thay đổi thích nghi như [6]. Kí hiệu:= biểu thị cho phép gán. Hiệu (y-P) chính là sai số dự đoán. Dựa vào công thức (8) và (10) ta thấy bộ kết hợp tương tự như một mạng nơtron perceptron gồm 2 lớp trong đó lớp đầu vào có m nút, lớp ra có 1 nút với hàm ngưỡng là x g 21 1 . Đầu ra của nơtron i của lớp vào là 12Pr iSi P , đầu ra của nơtron lớp ra là )Pr( 1 m k kkgP , hàm truyền ngược là kkk Py Pr)(: . 2.2. Phương pháp thực hiện (hình 1) Dữ liệu nguồn được tiền xử lí bằng thuật toán LZ tiên đoán nhằm giảm bớt kích thước. Đầu ra của bộ tiền xử lí được đưa vào 4 bộ ước lượng xác suất sơ cấp kS P . Các giá trị xác suất thuộc đoạn [0, 1) được biểu diễn bằng các số nguyên trong đoạn [0,8192). Hàm sigmoid x g 21 1 được tính toán trước và thực hiện dưới dạng bảng tra với x mang giá trị trong đoạn [-8192, 8192) biểu diễn cho dải từ -16 đến 16 với độ phân giải 92 . Giá trị 4 1 Pr k kkx lưu trong một thanh ghi 32 bit. Sau đó x được chuẩn hóa đến dải giá trị đầu vào của hàm sigmoid. Hình 1. Thủ tục mã hóa một bit Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 225 Xác suất kết hợp từ 4 bộ ước lượng xác suất sơ cấp sẽ được dùng để mã hóa bit y bằng phương pháp mã hóa số học. Sau khi mã hóa, các giá trị k được điều chỉnh nhằm làm giảm số bit dùng để mã hóa, đồng thời cập nhật các bộ ước lượng sơ cấp. Hệ số học được chọn trước có dạng l2 , với 0,26l nhằm mục đích thay thế phép nhân với trong công thức (10) bằng phép dịch bit. 2.3. Kết quả và đánh giá 2.3.1. So sánh với phương pháp kết hợp được sử dụng trong chuẩn ZPAQ Bài báo thực hiện so sánh 3 phương pháp kết hợp khác nhau. Phương pháp thứ nhất thực hiện tính trung bình cộng các xác suất sơ cấp. Phương pháp thứ hai là phương pháp đã nêu ở mục 2.1. Phương pháp thứ ba là phương pháp của chuẩn ZPAQ, phương pháp này tương tự như phương pháp thứ hai, tuy nhiên đầu ra của nơtron i của lớp vào là )(Pr 1 iSi Pg với )(1 xg là hàm ngược của g(x) thay vì 12Pr iSi P . Ở cả ba phương pháp, các bộ dự đoán sơ cấp nhằm dự đoán xác suất của bit tiếp theo là hoàn toàn giống nhau. Hệ số học được chọn bằng 172 . Dữ liệu để kiểm chứng là Calary.tar [1] và enwik8 [1]. Calgary là tập hợp các file văn bản và file nhị phân thường dùng để so sánh các thuật toán nén dữ liệu. Tập hợp này có 14 file gồm các bài báo khoa học, mã nguồn, ảnh bitmap và chương trình thực thi. Tất cả được đóng gói thành một file TAR* (tape archive: định dạng lưu trữ không nén khá phổ biến) nhằm đánh giá khả năng thích nghi của thuật toán với nguồn dữ liệu có phân bố thay đổi. Enwik8 là 810 byte dữ liệu đầu tiên của bách khoa toàn thư mở wikipedia ngày 3/3/2006. Hiện nay enwik8 cũng được dùng với mục đích tương tự như bộ dữ liệu calgary. Bảng 1. Kết quả so sánh các phương pháp ước lượng thứ cấp Phương pháp 1 Phương pháp 2 Phương pháp 3 File Kích thước (byte) Kích thước sau khi nén (byte) Thời gian nén (s) Kích thước sau khi nén (byte) Thời gian nén (s) Kích thước sau khi nén (byte) Thời gian nén (s) Calgary.tar 3152896 1031116 1.015 976056 1.516 939918 1.738 Enwik8 100000000 33154937 31.778 31825330 44.964 30390024 50.056 2.3.2. Ảnh hưởng của hệ số học Sử dụng phương pháp kết hợp thứ hai, ta thay đổi hệ số học để xem xét ảnh hưởng của nó tới kích thước file sau khi nén. Bằng phương pháp thử - sai - sửa ta thấy giá trị 172 là phù hợp. Bảng 2. Kích thước file nén (byte) khi thay đổi hệ số học Kích thước gốc (byte) 122 152 162 172 182 192 Calgary.tar 3152896 7203636 980534 977378 976056 975690 975850 Enwik8 100000000 244105971 31968473 31866841 31825330 31813578 31816184 2.3.3. Đánh giá Theo lí thuyết chiều dài mô tả ngắn nhất [2] ta suy ra phương pháp kết hợp ước Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 226 lượng cho file nén nhỏ nhất là mô hình chính xác nhất. Đo đó phương pháp kết hợp sử dụng trong chuẩn ZPAQ là phương pháp tốt nhất trong ba phương pháp trên Trung bình cộng của các xác suất ước lượng sơ cấp không phải là phân bố xác suất mô tả nguồn thích hợp. Phương pháp kết hợp được sử dụng trong ZPAQ thay thế 12Pr iSi P trong công thức (8) và (10) bằng: ) 1 (log)(Pr 2 1 i i i S S Si P P Pg (11) Đặc điểm của hàm )(1 xg là độ dốc của nó thay đổi chậm khi x nằm gần giá trị 0.5 và thay đổi rất nhanh khi x nằm gần giá trị 0 hoặc 1. Phương pháp của ZPAQ đạt tỉ lệ nén cao chứng tỏ xác suất từ bộ ước lượng càng gần với giá trị 0 hoặc 1 thì độ tin cậy của chúng càng cao, và xác suất càng gần với giá trị 0.5 thì độ tin cậy chúng càng thấp. Phương pháp suy ra từ lí thuyết entropy cực trị không đạt hiệu quả cao nhất là do phương pháp này không xem xét đến độ tin cậy của xác suất được ước lượng. Phương pháp kết hợp cho tỉ lệ nén càng cao thì càng chậm. Tùy theo mục đích thiết kế mà ta lựa chọn phương pháp thích hợp. Hệ số học có tác động rất lớn đến hiệu quả nén dữ liệu, và cần lựa chọn cẩn thận nếu không sẽ không đạt hiệu quả như mong muốn. 3. Kết luận Bài báo đã giới thiệu một phương pháp kết hợp hiệu quả các bộ dự đoán dựa trên lí thuyết entropy cực đại. Đồng thời cho thấy khi kết hợp các xác suất ta cần quan tâm đến độ tin cậy của nó. Do ứng dụng trong nén dữ liệu cho nên bộ kết hợp được huấn luyện trực tuyến (online-training) theo hướng giảm số bit dùng để mã hóa một bit dữ liệu thay vì huấn luyện theo hướng giảm sai số ước lượng. Để ước lượng chính xác hơn ta phải tăng số lượng và độ chính xác của các bộ ước lượng sơ cấp. Ưu điểm lớn nhất của phương pháp này là có thể xây dựng nhiều bộ ước lượng sơ cấp khác nhau cho các kiểu dữ liệu khác nhau, rồi kết hợp các ước lượng đó để tạo ra xác suất ước lượng tốt nhất. Vì vậy ta dễ dàng tạo ra thuật toán nén dữ liệu làm việc tốt đối với nhiều nguồn dữ liệu khác nhau như hình ảnh, văn bản, âm thanh, video … TÀI LIỆU THAM KHẢO [1] Matt Mahoney (2010), Data compression explain, Ocarina Networks, Section 1 and section 4. [2] Volker Nannen (2003), A Short Introduction to Model Selection, Kolmogorov Complexity and Minimum Description Length [3] Khalid Sayood (2003), Lossless compression handbook, Academic Press, Chapter 5 [4] C.E.Shannon (1948), “A Mathematical Theory of Communication”, The Bell System Technical Journal Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 227 [5] Department of Electrical Engineering and Computer Science (2004), Information and Entropy, Massachusetts Institute of Technology, Chapter 9-10 [6] Matt Mahoney (2000), “Fast Text Compression with Neural Networks”, Florida Institute of Technology [7] Matt Mahoney (2009), “The ZPAQ Open Standard Format for Highly Compressed Data - Level 1”

Các file đính kèm theo tài liệu này:

  • pdfPhương pháp ước lượng xác suất thứ cấp dựa trên lý thuyết entropy cực đại trong ứng dụng nén dữ liệu.pdf