1 / 58

情報科学概論 2回目

情報科学概論 2回目. 「モノとしての情報」 「情報」を, 工学の対象物 として取り扱うための理論と技術 情報を測る 情報の量,情報伝達系の性能を数値として測る 確率論をベースに,人間の直観にあった定式化を行う 情報を伝える 情報をできるだけコンパクトに表現する 情報をできるだけ確実に伝える. 出欠確認・課題. 情報通信以外の分野で,情報理論の技術や考え方が 利用できる分野,技術,応用,ビジネスを考えよ 出席届兼用の用紙に記入,本講義終了時に提出 知識を問うのではなく,「発想」「着眼点」を評価します. 「ナルホド」「面白い」と思わせる回答を期待しています

mahina
Download Presentation

情報科学概論 2回目

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 情報科学概論 2回目 「モノとしての情報」 • 「情報」を,工学の対象物として取り扱うための理論と技術 • 情報を測る • 情報の量,情報伝達系の性能を数値として測る • 確率論をベースに,人間の直観にあった定式化を行う • 情報を伝える • 情報をできるだけコンパクトに表現する • 情報をできるだけ確実に伝える

  2. 出欠確認・課題 情報通信以外の分野で,情報理論の技術や考え方が 利用できる分野,技術,応用,ビジネスを考えよ • 出席届兼用の用紙に記入,本講義終了時に提出 • 知識を問うのではなく,「発想」「着眼点」を評価します. • 「ナルホド」「面白い」と思わせる回答を期待しています • 情報の学生に対する注意: • 今回の内容は「情報理論」のサブセット • 上記課題について,高いレベルの回答を期待します

  3. 第一部:「情報量」をどうとらえるか 良い自動車を作りたい... • 時間や距離,燃料の量などを正確に計量できないと難しい 良い「情報システム」を作りたい... • 情報の量を測り,数値として表現することが必要 情報の「量」: • 人間の直観と乖離した定義では意味がない • 我々が漠然と考えている「情報量」にマッチする定義が必要 どういうときに「情報を得た」と考えるか?

  4. 情報の獲得 情報を得る = 対象物に関する「不確かさ」が減少すること • 昨日の野球の試合結果,何も知らないと,勝敗はわからない • 友人から「昨日の試合,勝てなかった」と聞いた(情報を得た) 情報を得る前:勝ち,負け,引き分けの3通り...不確かさ大 情報を得た後:負け,引き分けの2通り...不確かさ小 • 「情報量 = 不確かさの減少量」とするのが自然 • 「不確かさ」の定量化が先決

  5. 情報源と通報 情報伝達のモデル: 情報源で発生した事象を,通信路が伝達し,観測者が受信 • 事象を表現する具体的な「モノ」...通報と呼ぶ • 「通報 ≠ 情報」である点に注意 e ? 通信路 e e’ 情報源 観測者 • 情報源の統計的性質は既知,実際に発生する通報は未知 • 通信路は,正確に通報を伝達しないかもしれない

  6. 情報伝達の例 情報伝達の多くは,概念上,前スライドのモデルとして表現可能 「イベント」 – 「通信路の出力」: • 「野球の試合結果」 – 「友人からの速報メール」 • 「プログラムの出力」 – 「ファイルからの読み出しデータ」 • 「明日の天気」 – 「天気予報」 • 「画像データ」 – 「JPEG圧縮データ」 • 「敵軍隊の指令文書」 – 「盗聴で得た暗号文」 「イベント」「通信路」という言葉にとらわれ過ぎる必要はない

  7. 情報源の分類 情報源の分類 • アナログ情報源 vs. デジタル情報源 • 通報がアナログ的か,デジタル的か • 記憶のある情報源 vs. 記憶のない情報源 • 発生する通報に相関があるか,独立しているか • 定常情報源 vs. 非定常情報源 • 統計的な振舞いが,時間に対して不変か,そうでないか

  8. 典型的な情報源 • 定常で記憶のない,デジタル情報源 • 通報の集合は離散集合により与えられる • 発生する通報は,以前の通報とは独立して決定される • 時刻をシフトしても,通報の発生確率は変化しない • サイコロの目やコイン投げの結果を想定すれば良い • 現実世界では,記憶のある情報源もかなり多い • 人間が使う自然言語 • 画像,音声等のデータ ...基本的に,本講義では(最初に少ししか)扱わない

  9. ビット 情報源のエントロピー S: 以下の通報発生確率を持つ(記憶の無い定常)情報源 ... ... M元情報源 a1 p1 a2 p2 aM pM 通報 確率 情報源 Sの一次エントロピー(first-order entropy): (ビット, bit) この項は非負 ⇒エントロピーは常に0以上 例1: コイン投げのエントロピー:表,裏とも確率 1/2...M = 2, p1=p2=0.5

  10. 通報 確率 1 1/6 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6 エントロピーの計算例 例2:サイコロの目...コイン投げより,結果予想は難しいはず ビット 例3:イカサマ賭博のサイコロ 通報 確率 1 0.9 2 0.02 3 0.02 4 0.02 5 0.02 6 0.02 ビット 一個の指標で,予測の難しさの大小関係を定義可能

  11. 1/0.1 0/0.9 0 1 0/0.4 1/0.6 記憶のある情報源 • 記憶のある情報源は多種多様 • 比較的シンプルなモデルとして,マルコフ情報源がある • 状態間を遷移しながら通報発生 • 直観的には,「双六」のイメージ • スタート,ゴールはない • 十分時間が経過した後(定常状態) • での振舞いを議論することが多い 通報 / 確率 上の例の場合,十分な時間が経過すると... 80%の確率で状態 “0”,20%の確率で状態 “1”を取っているはず (実際は,漸化式を立てて計算を行う)

  12. 1/0.1 0/0.9 0 1 0/0.4 1/0.6 マルコフ情報源のエントロピー 80%の確率で状態 “0” 20%の確率で状態 “1” 0 が発生する確率... 0.8  0.9 + 0.2  0.4 = 0.80 1 が発生する確率... 0.8  0.1 + 0.2  0.6 = 0.20 ⇒ エントロピーは – 0.8log 0.8 – 0.2log 0.2 = 0.722bit 通報を「ブロック化」すると,興味深い振舞いが見られる (情報源からの通報を複数個まとめて,一個の通報とみなす)

  13. ブロック化の例:記憶のない場合 コイン投げ2回分の通報を,1ブロックにまとめる場合... • 通報は {表表, 表裏,裏表,裏裏} の4通り 通報 確率 表表 1/4 表裏 1/4 裏表 1/4 裏裏 1/4 • H1(S2)=log 4 = 2 ビット...結果予想は一個の場合の2倍難しい • H1(S2)は,Sの通報2個分のエントロピー • ⇒ Sの通報1個分に換算すると,H1(S2)/2 = 1ビット 記憶のない情報源では,ブロック化してもエントロピーは変化なし n個まとめて予想する難しさ = n×(1 個だけ予想する難しさ)

  14. 1/0.1 0/0.9 0 1 0/0.4 1/0.6 マルコフ情報源とブロック化 80%の確率で状態 “0” 20%の確率で状態 “1” 00 が発生する確率... 0.8  0.9  0.9 + 0.2  0.4  0.9 = 0.72 01 が発生する確率... 0.8  0.9  0.1 + 0.2  0.4  0.1 = 0.08 10 が発生する確率... 0.8  0.1  0.4 + 0.2  0.6  0.4 = 0.08 11 が発生する確率... 0.8  0.1  0.6 + 0.2  0.6  0.6 = 0.12 ⇒ エントロピーは 1.2914bit...一文字あたりでは 0.6457bit ブロック化しないときは0.722bit だった ⇒ ブロック化により,エントロピーが小さくなった

  15. H1(Sn) / n H(S) n 記憶のある情報源のエントロピー 一般に,記憶のある情報源では... • H1(Sn) / n(通報一個あたりのエントロピー)は,単調減少する • H1(Sn) / nは,ある一定の値 H(S) に収束していく H1(Sn) / n< H1(S) n個まとめて予想する難しさ <n ×(1 個だけ予想する難しさ) • ある程度,通報の出現パターンが「読める」 • 自然語だと,“qu” は高頻出,“qz” は,まず出現しない • 無記憶の場合より,振舞いが予想しやすい ⇒ エントロピー小

  16. 第一部:折り返し地点 ここまでは,「情報源の予測の難しさ」の定量化 ここからは「情報量」の定義

  17. 通報の持つ情報量 • 阪神タイガースの試合があったが,結果をまだ知らない • 阪神が勝つ確率,負ける確率,引き分ける確率は,全部1/3 • 巨人ファンの友人Aからメイル:「阪神は負けなかった」 友人Aのメイルに含まれる情報の「量」は? • メイルを受け取る前:結果に関する不確かさが大きい • P(勝) = 1/3. P(引) = 1/3, P(負) = 1/3 • メイルを受け取った後:結果に関する不確かさが小さくなった • P(勝) = 1/2. P(引) = 1/2, P(負) = 0 「不確かさの減少量 = 情報量」と定義したい

  18. 野球の試合の例では • メイルを受け取る前:P(勝) = 1/3. P(引) = 1/3, P(負) = 1/3 • エントロピーは • メイルを受け取った後:P(勝) = 1/2. P(引) = 1/2, P(負) = 0 • 条件付きエントロピーは 「阪神は負けなかった」というメイルに含まれる情報量: 1.585 – 1 = 0.585 ビット

  19. 情報量とエントロピー • 離れたところにある情報源 Sの出力(通報)を知りたい • 通報の確率分布はわかるが,何が実際出力されたか知りたい • S の出力に関し,なんらかの「ヒント」を入手したとする • ヒントにより,通報の確率分布が,別の情報源 S’の確率分布と一致することがわかったとする このとき,ヒント(通報)がもたらした情報量 (information) は H(S) – H(S’) ビット

  20. 気まぐれな友人の場合(case 1) 右図の行動を取る友人Bが 「言いたくない」と言った時の 情報量は? 0.5 勝ち 「勝ったよ」 0.5 1.0 引分 「言いたくない」 0.5 P(言いたくない) = 2/3 負け 「負けたよ」 0.5 P(勝ち,言いたくない) = 1/6 P(勝ち | 言いたくない) = 1/4 P(引分,言いたくない) = 1/3 P(引分 | 言いたくない) = 1/2 P(負け,言いたくない) = 1/6 P(負け | 言いたくない) = 1/4 「言いたくない」と言っているときのエントロピーは 情報量は1.585 – 1.5 = 0.085ビット(友人Aのメイル:0.585ビット)

  21. 気まぐれな友人の場合(case 2) 友人Bが「勝ったよ」と言った ときの情報量は? 0.5 勝ち 「勝ったよ」 0.5 P(勝ったよ) =1/6 1.0 引分 「言いたくない」 P(勝ち,勝ったよ) = 1/6 0.5 負け 「負けたよ」 0.5 P(勝ち | 勝ったよ) = 1 エントロピーは0になる (結果を正確に知ることができる) P(引分 | 勝ったよ) = 0 P(負け | 勝ったよ) = 0 情報量は1.585 – 0 = 1.585ビット(友人Aのメイル:0.585ビット) 友人Aと友人B,どちらが「頼りになる」友人か? ... 個々の通報の情報量だけを見ていたのではわからない

  22. 情報量の「平均」 友人Bの行動: • 1/6 の確率で「勝ったよ」...情報量 1.585ビット • 2/3 の確率で「言いたくない」...情報量 0.085ビット • 1/6 の確率で「負けたよ」...情報量 1.585ビット 平均すると 1.585 1/6 + 0.085 2/3 +1.585 1/6 = 0.585ビット 友人Aの行動: • 2/3の確率で「負けなかった」...情報量 0.585ビット • 1/3の確率で「負けたよ」...情報量 1.585ビット • 平均すると 0.585 2/3 + 1.585 1/3 = 0.918ビット 勝ち 引分 「負けなかった」 平均すると,友人Aのほうが 0.333ビット多くの情報をくれる 負け 「負けたよ」

  23. 相互情報量 友人A,友人Bは,異なる特性を持った通信路と考えられる 「負けなかった」 「言いたくない」 X Y 通信路の入力確率変数を X,出力確率変数を Yとする Xと Yの相互情報量 I(X; Y): Yの各値が持つ(Xに関する)情報量の加重平均 前ページでは「試合結果と友人の振舞いの相互情報量」を計算

  24. 相互情報量の意味 相互情報量: • その通信路が,どれだけの情報を伝達しているかの指標 • システムとして通信路を実現することを考えると,個々の 通報の情報量より,相互情報量にこそ着目すべき 同じ通信路でも,入力分布が変わると,相互情報量も変わる 同じ友人Aでも... • 勝ち,引分,負けが 1/3のチーム...相互情報量は0.918ビット • 勝ち,負けが1/2のチーム...相互情報量は1 ビット 相互情報量の取り得る最大値 ⇒ 通信路容量という

  25. Y 晴 雨 P(Y)×100 晴 45 15 60 雨 12 28 40 P(X) ×100 57 43 X 相互情報量の計算例(1) 天気予報:天気についての情報を与える,やや不正確な通信路 例:100日間の実際の天気 (X) と天気予報 (Y) の統計: X Y 予報 現実 • 実際の天気が晴だったのは57日,PX(晴)=0.57 • 予報が晴といったのは60日,PY(雨)=0.60 • 天気 X, 予報 Yとも晴だったのは45日,PX,Y(晴,晴)=0.45

  26. Y 晴 雨 P(Y)×100 晴 45 15 60 雨 12 28 40 P(X) ×100 57 43 X 相互情報量の計算例(2) 天気予報が当たる確率=PX,Y(晴,晴)+ PX,Y(雨,雨)=0.73 この予報と友人Aのメイル,どちらが「高性能」? 天気のエントロピー: ビット

  27. 相互情報量の計算例(3) • 天気予報Yが晴のとき: • 本当に晴れる確率は 0.45/0.60 = 0.75,雨の確率は0.25 • 「晴」という予報を聞いた後の条件付エントロピーは H(X | 晴) = – 0.75log0.75 – 0.25log0.25 = 0.811 ビット • 「晴」という天気予報の持つ情報量は 0.986 – 0.811 = 0.175 • 天気予報Yが雨のとき: • 本当に雨の確率は 0.28/0.40 = 0.70,晴の確率は0.30 • 「雨」という予報を聞いた後の条件付エントロピーは H(X | 雨) = – 0.30log0.30 – 0.70log0.70 = 0.881 ビット • 「雨」という天気予報の持つ情報量は 0.986 – 0.881 = 0.105 • 加重平均をとると 0.60·0.175 + 0.40·0.105 = 0.147 ビット

  28. A社: まぁまぁ当たる予報 B社: 絶対はずれる予報 Y Y 晴 雨 P(Y)×100 晴 雨 P(Y)×100 晴 45 15 60 晴 0 43 43 雨 57 0 57 雨 12 28 40 P(X) ×100 57 43 P(X) ×100 57 43 X X 相互情報量と当たる確率 • 情報の「量」は,B社予報のほうが大きい 73% 0.147ビット 0% 0.986ビット

  29. 第一部のまとめ • エントロピーの概念を導入 • 予測の難しさを定量化したもの • 情報量,相互情報量を定義 • エントロピーの減少量として定式化 • システムの評価には,相互情報量の概念が有用

  30. 休憩

  31. 第二部:情報の表現方法を考える • 情報は,実体を持たない抽象的なもの • 情報の容器である「通報」に,具体的表現を与える必要がある • 通報の表現方法...かなり大きな自由度がある ⇒ 「良い」表現方法と「良くない」表現方法がある 「良い」表現方法とは? • 情報の蓄積を考えると...できるだけコンパクトであること • 情報の伝達を考えると...できるだけ誤りに強いこと • 相反する二つの方向性の間で,バランスを取ることが大切 • 技術としては,それぞれ独立したものとして扱うことが得策

  32. 第二部前半:情報のコンパクトな表現について第二部前半:情報のコンパクトな表現について 3種類の通報 A, B, Cを,0 と 1 だけを用いて符号化する (ただし,区切り記号は使わない) 通報 符号語 符号化すると,Bと Cが区別できなくなる (一意に復号できない) ⇒ すべてを 1 ビットで表現することは不可能 A B C A B C A B C 0 1 1 00 10 11 0 10 11 一意性は保証されるが,一工夫足りない... 符号語の長さが揃っていないが... 情報をコンパクトには表現できる

  33. 様々な符号化法 いまのところベストの符号化法 上の例と似ているが,一意性が保証されない B→ 11 CC→ 11 A B C A B C A B C 0 10 11 00 11 1 00 10 1 一意性は保証されるが,取り扱いが面倒 10000000 → BAAA 1000000 → CAAA 最後の一文字を見るまで,復号を行えない 最初の方式は,一意的で,即時に復号処理ができる

  34. 様々な符号化法(続) C1 いまのところベストの符号化法 C2 本質的に,上と同じ? A B C A B C 0 10 11 11 10 0 通報の出現確率に偏りがある場合を考える • C1:一通報を表現する符号長の平均は • 0.5 ×1 + 0.4×2 + 0.1×2 = 1.5ビット • C2:一通報を表現する符号長の平均は • 0.5 ×2 + 0.4×2 + 0.1×1 = 1.9ビット • C1 のほうが C2よりもコンパクトな表現 P(A) = 0.5 P(B) = 0.4 P(C) = 0.1

  35. 符号に求められる性質 良い符号の三条件: • 一意に復号可能であること • 瞬時に復号可能であること • 平均符号長ができるだけ短いこと 理論的に最適な解法が知られている ⇒ ハフマン符号化

  36. ハフマン符号 • 各通報に対して節点を準備し,その発生確率を付与する 節点はそれぞれ,大きさ1の木であると考える • 木の中で発生確率最小のものを2つ選出し,以下を行う • 2つの木の根節点を子とするような,新しい根節点を作る • 新しい根節点と古い根節点を結ぶ枝に,0, 1 をラベル付け • 新しい根節点に,2つの木の発生確率の和を与える • すべての節点がつながるまで,2 の操作を繰り返す

  37. 記号 確率 A 0.60 B 0.25 C 0.10 D 0.05 0.15 0.60 A 0.25 B 0.10 C 0.05 D 0.60 A 0.25 B 0.10 C 0.05 D 0.60 A 0.25 B 0.10 C 0.05 D 1.00 0.40 0.60 A 0.25 B 0.10 C 0.05 D ハフマン符号化法

  38. 確率 0.3 0.2 0.2 0.1 0.1 0.1 符号語 A B C D E F 確率 0.2 0.1 0.3 0.3 0.1 符号語 A B C D E 練習問題 • 等長符号の場合と比べ,平均符号長が小さくなっている

  39. ハフマン符号とブロック化 ハフマン符号: • 得られる符号は,一意かつ瞬時に復号可能 • 通報一個を符号語一個に符号化する方式としては, 最も効率が良い(最もコンパクト,平均符号長が小さい) 複数の通報を一まとめにして(ブロック化して)符号化すれば, さらに効率が良くなることが知られている

  40. 記号 確率 符号語 記号 確率 符号語 A B C 0.6 0.3 0.1 0 10 11 AA AB AC BA BB BC CA CB CC 0.36 0.18 0.06 0.18 0.09 0.03 0.06 0.03 0.01 0 100 1100 101 1110 11110 1101 111110 111111 ブロックハフマン符号 • 2つの通報をまとめて(ブロック化して)符号化する 平均符号長 1.4 ビット 平均符号長 2.67 ビット ⇒ 一記号あたり 1.335 ビット

  41. ブロック化と性能の限界 • 一般に,ブロック長を大きくすると,通報一記号あたりの 平均符号長は減少する どこまで減少するか? 対象となっている情報源のエントロピーに漸近する 平均符号長 (一記号あたり) エントロピー ブロック長

  42. 情報源符号化定理 • 任意の符号について,平均符号長は必ず LH1(S) となる • データ圧縮における「越えられない壁」 • 平均符号長が L < H1(S) + 1となる符号を構成できる • ハフマン符号は,理論限界を達成する符号化方式 ハフマン符号よりも良い方法を 工夫すれば,エントロピーの壁を 乗り越えられる? 平均符号長 (一記号あたり) エントロピー ブロック長

  43. ユニバーサル符号化,非可逆符号化 • ハフマン符号化...情報源記号の確率分布が,事前に必要 • 確率分布が(正確には)わからないケースも多い ⇒ ユニバーサル符号化法 • どのような情報源に対しても,そこそこ良い性能を発揮 • LZ77法 (lha, gzip, zoo, zip etc.) • LZ78法 (compress, stuffit etc.) • LZW法 (GIF, TIFF 等の画像フォーマット) • 音声や画像等の情報... • 細部まで正確に再現できなくても,実害なし • 再現性を一部犠牲にして,高い圧縮率を⇒非可逆符号化

  44. 第二部:折り返し地点 ここまでは,「情報をコンパクトに表現する」おはなし ここからは「誤った情報を訂正する」おはなし

  45. 通信路符号化 偶発的に発生する誤りから,情報を保護したい • 通信路において発生するノイズから情報を守る • CD-ROM が傷ついても,中のデータは読めるようにする • 基本的な考え方: • 誤りを検出し,訂正するための「余分な情報」を追加する

  46. パリティ検査符号 • パリティ記号の付加: • 0と1で表現されたひとまとまりのデータの中に, • 1が偶数個あれば0を • 1が奇数個あれば1を • データの最後にくっつける操作 • パリティ記号の付加されたデータは,偶数個の1を含む(偶パリティ符号) • 1の個数が奇数個 • ⇒ 誤りの影響を受けている • サーバ用メモリ等で利用されている 01001 010010 01011 010111 誤りを含む 101001

  47. 0111 011110101 誤りの検出から訂正へ • 偶パリティ符号そのものには,誤り訂正能力がない • 偶パリティ符号を組み合わせれば,誤り訂正可能に 例:4ビットの情報を保護したい • 4ビットを長方形状に並べる • 水平方向,垂直方向にパリティ記号(5ビット)を付加 0 1 1 パリティ記号 5ビット 保護したい 4ビット • (9, 4) 符号 • 長さ9ビット • 内4ビットが本来の情報 • 符号化率 4/9 1 1 0 1 0 1

  48. 誤り訂正の原理 • 前出の (9,4) 符号 ⇒ どの行・列とも,1は偶数個のはず • 1ビットの誤りが発生すると… • 誤りを含む行,列だけ,1が奇数個になる • 受信者は,誤りの発生位置を特定することが可能 • 誤りは,異常のある行・列の交点に存在するはず 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 正常(誤り無し) 異常(誤りあり)

  49. 一般的な線形符号へ 前出の (9,4) 符号 ⇒ 行単位,列単位でパリティ記号を計算 • 二次元的な行,列にこだわる必要はない • 斜めにたどる,途中で曲げる,スポット的に拾う etc… • データビットの任意の組合せからパリティ記号を計算可能 • 組み合わせ方により,符号の性能が変化する 線形符号: データビットの部分集合から パリティ記号を定義する符号 いかにして良い組み合わせ方を探すか ⇒ 符号設計者の腕の見せ所

  50. 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0111 0111 0111100 011110101 ハミング符号 • 代表的な線形符号 • 符号語中に発生する1ビットの誤りを訂正可能 • 非常に効率が良い(完全符号) • (7,4)符号 • 効率 4/7 • (9,4)符号 • 効率 4/9 (どちらも,より大規模の符号も構成可能)

More Related