Transcript PowerPoint

レポート課題
4/28出題,5/12提出締切
http://isw3.naist.jp/~kaji/lecture/
問題1:
通信路が並列に存在する場合の情報伝達について
𝐼 𝑋; 𝑌1 , 𝑌2 ≥ 𝐼(𝑋; 𝑌1 )を証明せよ
問題2:
サイコロ投げに関する相互情報量の計算問題
1
前回の積み残し
情報源の拡大
𝑆 𝑛 : 定常情報源 𝑆 の 𝑛次拡大情報源;
𝑛個の出力記号を,まとめて1個のものと解釈する
01000101
𝑋
𝐷(𝑋) = {0, 1}
𝐻1 (𝑋 𝑛 )/𝑛
lim 𝐻1 (𝑋 𝑛 )/𝑛
𝑛→∞
01 00 01 01 𝑋 2
𝐷(𝑋 2 ) = {00, 01, 10, 11}
= 𝑋の n次エントロピー 𝐻𝑛 (𝑋)
= 𝑋の (極限)エントロピー 𝐻(𝑋)
2
前回の積み残し
記憶のない場合
𝑃𝑋 (0) = 0.8, 𝑃𝑋 (1) = 0.2 である定常無記憶情報源
𝑋
0
1
0.8
0.2
𝑋 2 00
01
10
11
0.64
0.16
0.16
0.04
𝐻1(𝑋) = – 0.8log0.8 – 0.2log0.2 = 0.72
𝐻1 𝑋 2 = – 0.64log0.64– 0.16log0.16
– 0.16log0.16– 0.04log0.04 = 1.44
𝐻2(𝑋) = 𝐻1 𝑋 2 /2 = 1.44/2 = 0.72
定理: 定常無記憶情報源なら,𝐻1 𝑋 𝑛 = 𝑛𝐻1 (𝑋)
系: 定常無記憶情報源なら,𝐻 𝑋 = 𝐻1 (𝑋)
3
前回の積み残し
記憶のある情報源(マルコフ情報源)の場合
0/0.9
1/0.1
𝑠1
𝑠2
0/0.4
0
1
00
01
10
11
定常分布: 𝐩 = (0.8,0.2)
1/0.6
0.8·0.9 + 0.2·0.4 = 0.80
𝐻1 𝑋 = 0.722
0.8·0.1 + 0.2·0.6 = 0.20
0.8·0.9·0.9 + 0.2·0.4·0.9 = 0.72
2 = 1.2914
𝐻
𝑋
1
0.8·0.9·0.1 + 0.2·0.4·0.1 = 0.08
2
𝐻
𝑋
1
0.8·0.1·0.4 + 0.2·0.6·0.4 = 0.08
𝐻2 𝑋 =
= 0.6457
2
0.8·0.1·0.6 + 0.2·0.6·0.6 = 0.12
2個同時に予測する難しさ
< 1個ずつ予測する難しさ × 2
4
前回の積み残し
マルコフ情報源のエントロピー
マルコフ情報源では 𝐻1(𝑋) > 𝐻2(𝑋) > ⋯
𝐻𝑛(𝑋)
定理:(証明略)
𝑛次エントロピーは極限エントロピーに
𝐻(𝑋)
漸近・収束する
𝑛
どのようにして 𝐻(𝑋) を計算するか:
1. 定常分布を計算
2. 状態をバラバラにし,それぞれを無記憶情報源と考える
3. 各状態のエントロピーを計算
4. 3 の結果の重み付き平均を計算
5
前回の積み残し
計算例
1/0.1
0/0.9
𝑠1
定常分布:
𝐩 = 0.8, 0.2
𝑠2
0/0.4
1/0.6
ℋ 𝑝 = −𝑝log 2 𝑝 − 1 − 𝑝 log 2 (1 − 𝑝)
0/0.9
0/0.4
𝑠1
状態𝑠1 , 𝐻 𝑋 = ℋ 0.9 = 0.469
状態𝑠2 , 𝐻 𝑋 = ℋ 0.4 = 0.971
𝑠2
1/0.1
1/0.6
重み付き平均= 0.8×0.469 + 0.2×0.971= 0.5694 bit = 𝐻(𝑋)
6
前回の積み残し
マルコフ情報源の拡大について:まとめ
マルコフ情報源の場合...
𝑛次エントロピーは,𝑛に対して単調現象する
𝑛次エントロピーは,極限エントロピーに収束する
(マルコフ情報源以外の,任意の有記憶情報源でも成り立つ)
マルコフ情報源では,さらに,
極限エントロピーの計算は,比較的容易
𝐻𝑛(𝑋)
𝐻(𝑋)
𝑛
記憶のある情報源を取り扱う際には,
記憶のメカニズムを最大限に活用することが望ましい
7
chapter 2:
情報をコンパクトに表現する
8
chapter 2の目的
情報源からの記号(列)を,効率よく(コンパクトに)符号化する
情報源符号化
データ圧縮
0101101
符号化
情報源符号化の目的:
通信に適した表現方式への変換
情報の中の無駄な部分を整理し,捨て去る
情報源
目標とする符号化方式:
できるだけ正確に元の情報を復元できること
できるだけコンパクトな情報表現を与えること
9
議論の順序
情報源符号化の基礎
一意復号可能性
瞬時復号可能性
ハフマン符号
ハフマン符号の構成法
ハフマン符号の拡張
データ圧縮の理論限界
今日の目標
10
用語について
はじめに,情報源の記号ごとに符号化を行う方式を考える
𝑀: 情報源が生成する記号の集合
𝑀 の各記号に対し,{0, 1}上の系列を対応付ける
符号語: 𝑀の記号に対応付けられた{0, 1}上の系列
符号: 符号語の集合
2種類の文字 {0, 1} を使用...2元符号
M
晴
曇
雨
C
00
010
101
符号語は3つ; 00, 010, 101
符号 C = {00, 010, 101}
011 は符号語ではない
11
符号化と復号
符号化... 与えられた記号から,対応する符号語を求めること
復号 ... 与えられた符号語から,対応する記号を求めること
晴
曇
雨
符号化
復号
00
010
101
encode = 符号化
decode = 復号
符号語間に,スペース,コンマ等の区切り記号は使わない
01000101101はOK, 010 00 101 101 はNG
「区切り記号 = 第3の文字」
⇒ 「3元」符号を考えることになってしまう
12
一意復号可能性
符号は,一意に復号可能でないといけない
異なる記号が同じ符号語を持つのは,当然NG
異なる記号が異なる符号語を持つ,だけでも不十分
異なる記号系列は,異なる0-1系列に符号化されること
a1
a2
a3
a4
C1
00
10
01
11
OK
C2
0
01
011
111
OK
C3
0
10
11
0
NG
C4
0
10
11
01
NG
C4 を使う場合...
a1 a3 a1
0110
a4 a 2
13
一意性だけで十分か?
C2 を使ってa1, a4, a4, a1を符号化,1bit/secでデータ送信
a1
a1, a4, a4, a1 ⇒ 01111110 (8ビットのデータ)
a2
a3
受信者が,最初の記号を確定できるのはいつか?
a4
7秒経過後 ... 0111111 まで受信
次に 0 が来ると,0 - 111 - 111 - 0  a1, a4, a4, a1
次に 1 が来ると, 01 - 111 - 111  a2, a4, a4
C2
0
01
011
111
7秒後でも,最初の記号すら確定できない
 受信データのバッファが必要,復号遅延の問題...
 動画ダウンロードだったら,どうなるか
14
瞬時復号可能性
実用的なシステムでは,瞬時に復号可能であることが望ましい
「符号語のパターンが出現したら,即時に復号して良い」
一意復号可能性の「上位」の性質
「瞬時復号可能」ならば「一意復号可能」である
符号 𝐶 が瞬時復号可能である必要十分条件:
任意の系列 𝑠 ∈ 0,1 ∗ に対し,
𝑠 = 𝑐1 𝑠1 となる符号語𝑐1 ∈ 𝐶が存在するならば,
𝑠 = 𝑐2 𝑠2 となる他の符号語𝑐2 ∈ 𝐶 が存在しない
𝑐1
𝑠1
=
𝑐2
𝑠2
15
語頭条件
符号が瞬時復号可能でないならば, 𝑠 = 𝑐1 𝑠1 = 𝑐2 𝑠2 となる
系列𝑠 ∈ 0,1 ∗ と,二つの異なる符号語 𝑐1 , 𝑐2 が存在する
𝑐1
𝑠1
=
𝑐2
𝑐1 は𝑐2 の語頭である,という
𝑠2
補題:
符号 C が瞬時復号可能である必要十分条件は,
他の符号語の語頭となる符号語が存在しないこと
(prefix condition, 語頭条件)
a1
a2
a3
“0” は “01” と “011”の語頭
“01” は “011”の語頭 a4
C2
0
01
011
111
16
雑談:語頭条件とユーザインタフェース
語頭条件は,情報理論以外でも重要
Palm Vx
1999発売
graffiti (ver. 1)
すべて一筆書きでOK
Sony Clie PEG-TH55
2004年発売
graffiti (ver. 2)
2画の文字が出現
語頭条件に反する
“3-1”と書いたつもりが “3+” に...
17
語頭条件を確保するには
語頭条件を満たす符号の作り方:
全ての符号語を,同じ長さで設計する; 等長符号
符号語の最後に「特殊パターン」を置く
C = {011, 1011, 01011, 10011} ; “コンマ符号”
... どちらも,(後述する)効率がよくない
木構造を利用して符号語を選ぶ (「符号木」)
2元符号の場合,次数が2の木を利用
𝑘元符号の場合,次数が𝑘の木を利用
次数3の
符号木
18
符号の構成法(𝑘元の場合)
𝑀個の符号語を持ち,語頭条件を満たす𝑘元符号の作り方
1.
葉を𝑀個持つような,次数𝑘の木𝑇を構成する
2.
𝑇の各枝に,0から𝑘 − 1の値をラベル付けする
兄弟が同じラベルを持つことは禁止
3.
根節点から葉節点まで木をたどり,途中のラベルを連接する
 連接の結果得られる系列を符号語とする
19
構成例
𝑀 = 4個の符号語を持つ𝑘 = 2元符号を構成する
Step 1
Step 2
0
0
0
1
0
1
Step 3
0
1
1
0
1
1
00
01
10
11
構成された符号は {00, 01, 10, 11}
20
構成例(続き)
他の構成方法もアリ;
異なる木を使う,異なるラベル付けを行う...
0
1
0
1
0
1
0
C1={0, 10, 110, 111}
0
1
1
0
0
C2={0, 11, 101, 100}
1
1
0
0
1
0
1
1 0
C3={01, 000, 1011, 1010}
どのように作っても,語頭条件は保証される
 瞬時復号可能な符号となる
21
「最良な」瞬時復号可能符号
0
1
0
1
0
1
C1={0, 10, 110, 111}
0
1
0
1
0
1
0 1 0
C3={01, 000, 1011, 1010}
C1の符号語のほうが,C3の符号語より短そう...
符号語の長さ = [1, 2, 3, 3] vs. [2, 3, 4, 4]
もっとコンパクトな瞬時復号可能符号はあるか? たとえば
符号語の長さ= [1, 1, 1, 1]?
符号語の長さ = [1, 2, 2, 3]?
どこに壁がある?
符号語の長さ = [2, 2, 2, 3]?
22
クラフトの不等式
定理:
A) 𝑘元符号 {𝑐1, … , 𝑐𝑀} (|𝑐𝑖 | = 𝑙𝑖 とする)が瞬時復号可能なら,
𝑘 −𝑙1 + ⋯ + 𝑘 −𝑙𝑀 ≤ 1 (クラフトの不等式)が成り立つ
... 次ページで証明
B) もし 𝑘 −𝑙1 + ⋯ + 𝑘 −𝑙𝑀 ≤ 1なら,瞬時復号可能な
𝑘元符号 {𝑐1, … , 𝑐𝑀} で |𝑐𝑖 | = 𝑙𝑖 となるものが存在する
... 深さ 𝑙𝑖 に葉節点を配置していけばよい
23
定理Aパートの証明(𝑘 = 2の場合)
A) 2元符号 {𝑐1, … , 𝑐𝑀} (|𝑐𝑖 | = 𝑙𝑖 とする)が瞬時復号可能なら,
2−𝑙1 + ⋯ + 2−𝑙𝑀 ≤ 1 (クラフトの不等式)が成り立つ
証明:ℎ = max 𝑙𝑖 とし,2ℎ−𝑙1 + ⋯ + 2ℎ−𝑙𝑀 ≤ 2ℎ を示せばよい
高さℎの完全2分木を考える
符号語𝑐𝑖 =深さ 𝑙𝑖 の節点,先祖にも子孫にも他の符号語ナシ
深さℎにある𝑐𝑖 の子孫の数=2ℎ−𝑙𝑖
深さℎにある節点の総数=2ℎ
𝑐1
よって 2ℎ−𝑙𝑖 ≤ 2ℎ
𝑐2
𝑐3
2ℎ
ℎ=4
2ℎ−2
2ℎ−3
2ℎ−4
24
具体例に戻って考える
できるだけコンパクトな瞬時復号可能な 2元符号を作りたい
符号語の長さ = [1, 2, 2, 3]?
…2−1
+
2−2
+
2−2
+ 2−3
9
8
= >1
瞬時復号可能な符号は構成できない
符号語の長さ = [2, 2, 2, 3]?
7
8
…2−2 + 2−2 + 2−2 + 2−3 = < 1
瞬時復号可能な符号を構成可能...符号木を使えば簡単
25
次の段階へ
情報源符号化の基礎
一意復号可能性
瞬時復号可能性
ハフマン符号
ハフマン符号の構成法
ハフマン符号の拡張
データ圧縮の理論限界
26
「コンパクトさ」の指標
情報をコンパクトに表現する符号を作りたい
1個の記号を表現する符号語の長さの期待値を小さくしたい
=
平均符号語長
記号
𝑎1
𝑎2
:
𝑎𝑀
確率
𝑝1
𝑝2
:
𝑝𝑀
符号語
𝑐1
𝑐2
:
𝑐𝑀
長さ
𝑙1
𝑙2
:
𝑙𝑀
平均符号語長は
𝑀
𝑝𝑖 𝑙𝑖 ビット
𝑖=1
(記号)
27
平均符号語長の計算例
記号
𝑎1
𝑎2
𝑎3
𝑎4
確率
0.4
0.3
0.2
0.1
𝐶1 𝐶2 𝐶3
0 111 00
10 110 01
110 10 10
111 0 11
𝐶1: 0.4×1+ 0.3×2+ 0.2×3+ 0.1×3 = 1.9
𝐶2: 0.4×3+ 0.3×3+ 0.2×2+ 0.1×1 = 2.6
𝐶3: 0.4×2+ 0.3×2+ 0.2×2+ 0.1×2 = 2.0
𝐶1 が最も効率よく(=コンパクトに)情報を表現できる(はず)
28
ハフマン符号
ハフマンアルゴリズム:
平均符号語長の小さな瞬時復号可能符号を作る方法
1.
2.
M 個の節点を準備し,各節点に記号の発生
確率を付与する (節点 = サイズ 1の木)
David Huffman
1925-1999
木が一個になるまで,以下の操作を繰り返す
a. 確率最小の木を二個選択 ... T1, T2 とする
b. 新しい節点を導入し, T1, T2 を新節点の子とする
(二個の木を一個に併合)
c. T1, T2 の確率の和を,併合してできた木の確率とする
29
例
“資本の小さな会社の合併劇”
0.15
0.6
A
0.25
B
0.1
C
0.05
D
0.6
A
1.0
1 0.4
0
1 0.15
0
0 1
0.25 0.1
0.05
B
C
D
0.6
A
0.25
B
0.1
C
0.05
D
0.4
0.15
0.6
A
0.25
B
0.1
C
0.05
D
30
練習問題
A
B
C
D
E
確率 符号語
0.2
0.1
0.3
0.3
0.1
「等長符号」と平均符号語長を比べると,ありがたみがわかる
31
符号構成の自由度について
ハフマンアルゴリズムの実行結果は,一意でない可能性も...
同じ確率を持つ節点が多数存在
枝へのラベル付けにも,自由度がある
異なる選択肢を取ると異なるハフマン符号ができあがる,が,
平均符号語長は,どの選択肢を取っても変わらない
0.4 0.2 0.2 0.1 0.1
a1 a2 a 3 a4 a5
0.4 0.2 0.2 0.1 0.1
a1 a2 a3 a4 a5
32
ここまでのまとめ
情報源符号化の基礎
一意復号可能性
瞬時復号可能性
ハフマン符号
ハフマン符号の構成法
ハフマン符号の拡張
データ圧縮の理論限界
33
練習問題
右図に示す記号に対し
ハフマン符号を構成し,
その平均符号語長を求めよ
A
B
C
D
E
F
確率 符号語
0.3
0.2
0.2
0.1
0.1
0.1
34
レポート課題
4/28出題,5/12提出締切
http://isw3.naist.jp/~kaji/lecture/
問題1:
通信路が並列に存在する場合の情報伝達について
𝐼 𝑋; 𝑌1 , 𝑌2 ≥ 𝐼(𝑋; 𝑌1 )を証明せよ
問題2:
サイコロ投げに関する相互情報量の計算問題
35