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
6 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3087 | Lượt tải: 1
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:
- 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.pdf