SlideShare a Scribd company logo
1 of 26
Download to read offline
2012/6/21  PFI全体セミナー




  ⽂文字列列データ圧縮ことはじめ


         株式会社 Preferred Infrastructure
               岡野原  ⼤大輔




   1
アジェンダ

l    圧縮の基礎
       l  なぜ圧縮できるのか

       l  モデル化

       l  符号

l    基本的なデータ圧縮
       l  連⻑⾧長圧縮

       l  RePair

l    ⽂文法データ圧縮
l    LZ77, LZ78
l    Burrows Wheeler変換
l    最近のデータ圧縮


                          2
データ圧縮と私の関係
1992	

         データ圧縮           小5〜 nifty serve, DO++
                                                    今の興味分野の
2004	
                                              起源はデータ圧縮

         (統計的)⾃自然⾔言語処理理          大3〜

                                 未踏 & 辻井研

                                                    M1〜 未踏 & OSS

                                 圧縮全⽂文索索引
                                                    定兼先生

     機械学習/データマイニング                  簡潔データ構造

          M1〜 OSS, T-Primal
          OSS
                                                  バイオインフォマティクス
          2011〜 Jubatus
                                                  大学4年〜 バイオベンチャー
                                                  2011〜 次世代シーケンサ
圧縮の基礎




4
コンピュータが誕⽣生する以前から
データ圧縮は使われている
l    同じ情報を伝える/保存するのに、少ないデータで表す
      l  ⾷食堂にて「おばちゃん、いつもの!」

            l    送信者、受信者が同じ情報を共有している場合
            l    時間的局所性の利利⽤用


      l    モールス信号
            l    短点「トン」と⻑⾧長点「ツー」から構成される可変⻑⾧長符号
            l    最頻な「e」はトン、最稀な「q」はツーツートンツー
            l    均⼀一な符号⻑⾧長ではなく、頻度度が多い⽂文字には短い符号、頻度度が少
                  なく⽂文字には⻑⾧長い符号を利利⽤用することで全体の符号⻑⾧長を短くする




                                 5
データ圧縮は社会を⽀支える

l    データ圧縮が無ければここまで安価+⼤大量量+正確に
      画像・⾳音声・映像情報を伝えることはできなかった
      l  特に映像のデータ圧縮技術の進化は著しい

        l    FaceTimeなどTV電話が安価なインターネット網で実現可能
        l    エラー訂正, 通信技術, 配信制御技術の進化もちろんすごい
l    データが⼩小さい=⾼高速化
      l  上位の⾼高速な記憶階層(キャッシュ, メモリ)で処理理できる

      l  そのまま扱うより圧縮+復復元のコストを加えても全体は⾼高速化




                            6
データ圧縮 = モデル化 + 符号化

l    データ圧縮はモデル化と符号化の⼆二段階からなる
      l  モデル化 = データをうまく表現するモデルを⾒見見つける

      l  符号化 = モデルを利利⽤用して表現されたデータを符号で短く表す

        l    コンピュータ世界での系列列符号は⼀一般に0と1からなる⼆二値


l    この⼆二つを混同してはいけない
      l  最適なモデルが与えられたら、それを利利⽤用して最適な符号を決め

          ることはできる.しかし最適なモデルは⼀一般に分からない
データ圧縮  と  他分野との関係

l    データ圧縮を実現するにはデータを理理解する必要があり、データ
      圧縮が実現できたら機械学習, ⾔言語モデル


l    ⽣生成モデル
       l  データxを⽣生成する過程を理理解し,p(x)をうまくモデル化でき

           たら、それを利利⽤用し,圧縮率率率が⾼高いデータ圧縮を実現できる


l    ⾔言語モデル (LM)
       l  与えられた⽂文字列列が⽂文法的・⽤用法的に正しいかを当てるタスク

       l  機械翻訳・⾳音声認識識・情報検索索(LMベース)で利利⽤用される

      l    ⾔言語モデルの基礎技術は後述のPPMと呼ばれるデータ圧縮と同じ


                          8
符号

l    情報を0と1からなる系列列で表す


l  正整数の符号化
    l  Elias符号 (75年年!):ガンマ符号、デルタ符号、ゴロム符号

    l  ライス符号、

    l  フィボナッチ符号

l  確率率率情報が既知の場合
    l  Shannon-Fano 符号、Huffman符号

    l  算術符号, Range Code

l  組み合わせ的データ構造
      l    数え上げ符号
l    その他も

                         9
Huffman符号の逸話

1951年年 MITの情報理理論論のクラスにて:


l  Fano先⽣生「最終試験を受けるか、課題レポート出すか
              どっちか選んでください」
l  Huffman「最終試験なんてうけたくないから、
              課題レポートだします」
l  Fano先⽣生「私はShannon先⽣生とShannon-Fano符号を開発しまし
    たが、最適ではありません。最適な符号を考えてレポートしてく
    ださい」
l  Huffman「思いつかないが、Fano先⽣生が⽊木を根から葉葉に向けて作
      っているから、逆に葉葉から根に向けて作ったらいいんじゃない?」
      ⇒ これがラッキーなことに最適.Huffman符号誕⽣生!

                      10
基本的なデータ圧縮




11
連⻑⾧長圧縮
RLE: Run Length Encoding
l  繰り返し⽂文字列列を、(⽂文字、繰り返し⻑⾧長)のペアで表す
l  ヒャァァァァァァァアアアウウヴァアアアアアアアアイイイイ
           ↓
    ヒ1ャ1ァ7ア3ウ2ヴ1ァ1ア8イ4


l  ⽂文字が⼆二種類の場合は⽂文字は交互なので繰り返し⻑⾧長さだけでOK
    0000111100011 → 4432 (例例えば⽩白⿊黒画像データなど)
l  繰り返し数が少ない場合⼤大きくなってしまうので、連⻑⾧長が多い場
    合は連⻑⾧長圧縮モード、そうでない場合はそのままと切切り替える [1]
l  ⼤大抵は何らかの処理理(BWT, 基底変換)の後に使う場合が多い
      l    画像圧縮のDCT後の係数はRLEが使われる
  [1] “Adaptive Run-Length / Golomb-Rice Encoding of Quantized Generalized
  Gaussian Sources with Unknown Statistics”, H. S. Malvar DCC 06	
                                          12
RePair
l  最頻する2⽂文字を再帰的に他の⽂文字に置換し、全てが異異なる(か
    適当なところまで)繰り返し、置換ルールと置換後⽂文字列列を出⼒力力
l  うらにわにわにわにわにわにわにわとりうらうらら
                ↓にわ  を Aに変換
    うらAAAAAAAとりうらうらら
                ↓AA を Bに変換
    うらBBBAとりうらうらら
                ↓うら  を Cに変換
   CBBBAとりCCら
  (にわ, A) (AA, B) (うら, C)
l     実⽤用的にはうまくいくので昔から使われていたが、最近はいろい
       ろ証明[1]が出たり、簡潔データ構造の圧縮[2]に使われている

      [1] “Re-pair Achieves High-order Entropy”, 13	
 Navarro+, DCC 08]
                                                  [G.
      [2] “Practical Compressed Document Retrieval”, [G. Navarro+, SEA 11]
⽂文法圧縮

l  圧縮対象⽂文字列列のみを⽣生成するCFGルールを求めて圧縮
     l  ルール集合が元の⽂文字列列より短く記述できれば圧縮可能

     l  実は先程のRePairは⽂文法圧縮の⼀一種

l  CFGルールの求め⽅方で様々な⼿手法が存在
     l  最適なCFGルールを⾒見見つけるのはNP困難.近似解の世界で頑張る

     l  オンライン, ルール作業領領域のみで構築 [Maruyama+, CCP 11]


                         ….	
                     A → ba
           D         E          D     F	
         B → pa
                                                  C → ma
   文法のみを保存	
                                                  D → AA
                                                  E → BB
       A       A B       B A    A   C       C	
   F → CC
                                                  … 	
      b a b a p a p a b a b a m a m a	
                                    14
LZ法

l  最も有名なデータ圧縮で最も使われているデータ圧縮
    l  何らかでお世話になったはず, ZIP LHA, GIF PNG 他多数利利⽤用
                                  ,     ,
l  Lempel と  Ziv が 77年年, 78年年と⽴立立て続けに提案
    l  77年年に提案されたのがLZ77, 78年年に提案されたのがLZ78

l  モデルが未知である⽂文字列列でも圧縮できる⼿手法として提案
    l  正確には⽂文字列列⽣生成源のk次エントロピーに漸近するか

    l  LZ77法に対する証明ができなかったのでLZ78法で証明

    l  後にLZ77法でも証明される

l  その後、現実的な符号が登場                   Lempel先生
 Ziv先生




                           15
LZ法これだけは知っといて

l  最適性の証明は⾯面⽩白いが、説明しきれないので分かる⼈人だけ
l  ⼊入⼒力力系列列  X = x1x2…xn を分割しフレーズ列列  Y = y1y2…ymを得る
    X = [x1x2x3][x4x5][x6x7x8][x9x10]

              y1   y2   y3   y4	

l  この時、フレーズ列列のフレーズ  {yi}i=1…m が全て異異なるならば、
    c=|Y|とした時、clog2 c はXの情報源のエントロピーに漸近する
     l  clog2c は各フレーズをそのまま格納したサイズ

     l  Xのk次経験エントロピーでも成り⽴立立つ

l  LZ78は⼊入⼒力力系列列を全て異異なるフレーズ列列に分解する⼀一⼿手法
      l    LZ77のエントロピー漸近性の証明は別⼿手法
l    この証明はLZ以外のデータ構造のサイズ評価にも使われる

                                    16
LZ77

l  データを先頭から順番に次のように符号化していく.
l  現在位置から始まる記号列列が、過去に出現していれば、
    l  (出現相対位置,  ⼀一致⻑⾧長, 次の不不⼀一致⽂文字)のtripleで置き換える

    l  していなければ空の⼀一致と次の不不⼀一致⽂文字で表す

    l  ⼊入⼒力力系列列を全て異異なるフレーズに分解していることに注意




あかさかさかすでかささすで。
あかさ[かさか]すで[かさ]さ[すで]。
(*, *, あ)(*, *, か) (*, *, さ)
(-2, 3,す) (*, *,で) (-5, 2,さ) (-5, 2, 。)


                                  17
実⽤用的LZ77

l    前述⼿手法は理理論論的にはエントロピーに漸近するがオーバーヘッド
      が多いので実際には次のように処理理される場合が多い
l    ⼀一致があったかどうかを記録した後に、⼀一致情報、不不⼀一致記号出⼒力力
       l  LZSSがこの⽅方法を利利⽤用し、LHAやZIPなど殆どがこの⽅方法を採⽤用

l    ⼀一致⽂文字列列は直近の滑滑⾛走窓中の候補だけから探す.
       l  探す⽅方法は、ハッシュ、Trieなど様々

l    ⼀一致⻑⾧長、相対位置はElias符号で符号化
       l  同じ⽂文字列列は近い場所で繰り返される、⼀一致⻑⾧長は殆ど短い

       l  ⼀一度度⼀一致した⽂文字列列はキャッシュしておきそれを利利⽤用 c.f. LZMA

l    不不⼀一致が連続した場合は読み⾶飛ばして⾼高速化 c.f. snappy




                           18
LZ78

l    読み込みながら辞書(Trie)を作り、不不⼀一致⽂文字を最後に⾜足す

  123456789AB
  あかさかさかすでかささ

        あ           さ                      あ           で
                        あ              さ
            か               か                 か さ
        1           3                  3   1       3       8
                2       1
                            さ 2              さ 2 す
                            4              さ   4   6

                                           9

l    全て異異なるフレーズに分解していることに注意
      l  トライの保存はフレーズ⻑⾧長がcの時、c log cであり、エントロピー


                                19
Burrows Wheeler変換  (BWT)

l  ⽂文字列列に対する可逆変換で⽂文字列列を”圧縮しやすく”変換する
     l  BWTはその後、データ圧縮のみならず全⽂文索索引、テキストマイニ

         ングなど⾮非常に多く使われるようになる
     l  圧縮ソフト bzip2, アライメントソフト  bwa

l  ⼿手法も⾯面⽩白いが話すには時間が⾜足りません。その周辺の話も⾯面⽩白
    いのでそちらをします




                    20
BWTのBとWの話

 l    1978年年頃にWheelerが思いついたが「こんな当たり前のことは論論
       ⽂文にするまでもない」と書いていなかった
        l  その後、Burrowsさんがこれ⾯面⽩白いので書きましょうと説得して

            1984年年にDECの技術論論⽂文として公開される  
         l    データ圧縮の学会(DCC)では落落ちてたが、Dr. Dobbs articleで
               拾拾われてそこから徐々に有名になる
 l  Wheelerは世界で初めてコンピュータ科学の博⼠士号をとり、その
     あと、B. Stroustrup (C++の作者), M. Burrowsなど数多くの優
     秀な研究者を育てた
 l  BurrowsはCubbyなどで有名なシステム屋


 l    彼らが最初に提案した圧縮⼿手法が、その後理理論論的最適と⽰示される
このへんの話は

                                  21	
http://people.unipmn.it/manzini/papers/foreword_bwt.pdf
BWTを1分で説明

l  ⼊入⼒力力テキスト  S = s1s2s3…sn
l  各⽂文字を、それに後続する⽂文字をキーとして辞書式順序でソート
     l  s1 のキーは  s2s3s4…sn

     l  s2 のキーは  s3s3s4…sn



l  S = abracadabra  →  BWT(S) = ardrcaaaabb
l  BWTはSの⻑⾧長さの線形時間で求めることが可能
     l  接尾辞配列列経由(最速)で or 直接変換(省省スペース)

     l  逆変換も線形時間で構築可能



l    BWT(S)はSに⽐比べて圧縮しやすい
       l  後続している⽂文字が似ているなら、その⽂文字も似ている


                          22
最近のデータ圧縮

l    透過的データ圧縮
l    簡潔データ構造
l    データ処理理向けデータ圧縮
      l  ⽂文字列列マッチングや各種統計量量が元のデータより⾼高速に処理理可能

l    特定データ専⾨門のデータ圧縮
      l  構造付, 型付データ (=JSON ?)

      l  ゲノム配列列 from 次世代シーケンサ

      l  センサデータ

l    映像はまだまだ伸びる
      l  H264からH265(7640 x 4320サポート)へ

      l    中でやっているのはリアルタイムでの⾼高度度な画像予測


                          23
最近のデータ圧縮(続)

l    ビッグデータ解析向け
      l  MapReduceのShuffle Phaseの時のデータ量量を⼩小さくしよう

      l  Jubatusのmix時のモデル交換量量を⼩小さくしよう



l    センサデータでの圧縮
      l  センサデータを集めるデバイスは安くなったが通信コストが⾼高い

      l  端末で圧縮、中継点で圧縮

      l  端末間の冗⻑⾧長性を加味したデータ圧縮

      l  c.f. Compressed Sensing




                            24
お⾦金金になる圧縮

l    思いつくのを並べてみました


l  Disaster Recovery
     l  同じデータを遠く離離れたところでコピーをとっておく.そこで圧縮

l  クラウド・ストレージ
     l  今後多くのデータをクラウドに置く様になった時に、クラウドに

         置くコスト(通信費、維持費)を減らすことができる
     l  次世代シーケンサ・センサデータ・ログデータ

l  ビッグデータ解析向け


l    特許ライセンスは厳しいか
      l  いまや、多くのメディアはクロスライセンス


                      25
まとめ

l  データ圧縮は古くて新しい
    l  古くから使われ続ける技術もあれば、新しいデータ向けのデータ

        圧縮も次々と⽣生まれている
    l  いろいろな分野と関連:機械学習、データマイニング、⾃自然⾔言語

        処理理、信号処理理、通信、バイオインフォマティクス、
l  情報源
    l  ⽂文字列列データ圧縮:DCC, CPM, SEA, SODA, ALENEX, ICALP ESA,
                                                     ,
    l  http://compression.ru/ (ロシア語だけど)

    l  http://mattmahoney.net/dc/ Matt Mahoney



l    私も⽂文字列列解析本をそのうち出します! :)
      l  データ圧縮・簡潔データ構造・全⽂文索索引・テキストマイニング


                            26

More Related Content

What's hot

競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量takaya imai
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)TeXmedicine
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
統計的係り受け解析入門
統計的係り受け解析入門統計的係り受け解析入門
統計的係り受け解析入門Yuya Unno
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!Genya Murakami
 
2019年度チュートリアルBPE
2019年度チュートリアルBPE2019年度チュートリアルBPE
2019年度チュートリアルBPE広樹 本間
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018Takahiro Kubo
 
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由Yoshitaka Ushiku
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)Satoshi Hara
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
ELFの動的リンク
ELFの動的リンクELFの動的リンク
ELFの動的リンク7shi
 

What's hot (20)

競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
統計的係り受け解析入門
統計的係り受け解析入門統計的係り受け解析入門
統計的係り受け解析入門
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 
C#で速度を極めるいろは
C#で速度を極めるいろはC#で速度を極めるいろは
C#で速度を極めるいろは
 
2019年度チュートリアルBPE
2019年度チュートリアルBPE2019年度チュートリアルBPE
2019年度チュートリアルBPE
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
 
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
ELFの動的リンク
ELFの動的リンクELFの動的リンク
ELFの動的リンク
 

Viewers also liked

20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用Preferred Networks
 
Gatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaGatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaPreferred Networks
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)Shirou Maruyama
 
Chainer OpenPOWER developer congress HandsON 20170522_ota
Chainer OpenPOWER developer congress HandsON 20170522_otaChainer OpenPOWER developer congress HandsON 20170522_ota
Chainer OpenPOWER developer congress HandsON 20170522_otaPreferred Networks
 
Deep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerDeep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerPreferred Networks
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用Preferred Networks
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へPreferred Networks
 
Lecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaLecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaPreferred Networks
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi MaruyamaPreferred Networks
 

Viewers also liked (10)

20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
Gatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaGatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanohara
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
 
Chainer OpenPOWER developer congress HandsON 20170522_ota
Chainer OpenPOWER developer congress HandsON 20170522_otaChainer OpenPOWER developer congress HandsON 20170522_ota
Chainer OpenPOWER developer congress HandsON 20170522_ota
 
Deep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerDeep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & Chainer
 
Introduction to Chainer
Introduction to ChainerIntroduction to Chainer
Introduction to Chainer
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へ
 
Lecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaLecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanohara
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama
 

Similar to comp_pfiseminar

Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Yuya Unno
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
形態素解析の過去・現在・未来
形態素解析の過去・現在・未来形態素解析の過去・現在・未来
形態素解析の過去・現在・未来Preferred Networks
 
鬱くしい日本語のための形態素解析入門
鬱くしい日本語のための形態素解析入門鬱くしい日本語のための形態素解析入門
鬱くしい日本語のための形態素解析入門Hiroyoshi Komatsu
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksYusuke Uchida
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合うYuya Unno
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜Yuya Unno
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングYuya Unno
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用Yuya Unno
 
TensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vecTensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vecShin Asakawa
 
Deep Learningと自然言語処理
Deep Learningと自然言語処理Deep Learningと自然言語処理
Deep Learningと自然言語処理Preferred Networks
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告Hiroyuki TOKUNAGA
 
Convolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするConvolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするDaiki Shimada
 
機械学習を民主化する取り組み
機械学習を民主化する取り組み機械学習を民主化する取り組み
機械学習を民主化する取り組みYoshitaka Ushiku
 
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)貴史 益子
 
IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0Eiji Kamiya
 

Similar to comp_pfiseminar (20)

Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
形態素解析の過去・現在・未来
形態素解析の過去・現在・未来形態素解析の過去・現在・未来
形態素解析の過去・現在・未来
 
鬱くしい日本語のための形態素解析入門
鬱くしい日本語のための形態素解析入門鬱くしい日本語のための形態素解析入門
鬱くしい日本語のための形態素解析入門
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
 
TensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vecTensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vec
 
Deep Learningと自然言語処理
Deep Learningと自然言語処理Deep Learningと自然言語処理
Deep Learningと自然言語処理
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告
 
Convolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするConvolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をする
 
機械学習を民主化する取り組み
機械学習を民主化する取り組み機械学習を民主化する取り組み
機械学習を民主化する取り組み
 
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
 
Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
 
IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0
 

More from Preferred Networks

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57Preferred Networks
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Preferred Networks
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...Preferred Networks
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Preferred Networks
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2Preferred Networks
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演Preferred Networks
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)Preferred Networks
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)Preferred Networks
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るPreferred Networks
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Preferred Networks
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会Preferred Networks
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50Preferred Networks
 

More from Preferred Networks (20)

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
 

comp_pfiseminar

  • 1. 2012/6/21  PFI全体セミナー ⽂文字列列データ圧縮ことはじめ 株式会社 Preferred Infrastructure 岡野原  ⼤大輔 1
  • 2. アジェンダ l  圧縮の基礎 l  なぜ圧縮できるのか l  モデル化 l  符号 l  基本的なデータ圧縮 l  連⻑⾧長圧縮 l  RePair l  ⽂文法データ圧縮 l  LZ77, LZ78 l  Burrows Wheeler変換 l  最近のデータ圧縮 2
  • 3. データ圧縮と私の関係 1992 データ圧縮 小5〜 nifty serve, DO++ 今の興味分野の 2004 起源はデータ圧縮 (統計的)⾃自然⾔言語処理理 大3〜
 未踏 & 辻井研 M1〜 未踏 & OSS
 圧縮全⽂文索索引 定兼先生 機械学習/データマイニング 簡潔データ構造 M1〜 OSS, T-Primal
 OSS バイオインフォマティクス 2011〜 Jubatus 大学4年〜 バイオベンチャー 2011〜 次世代シーケンサ
  • 5. コンピュータが誕⽣生する以前から データ圧縮は使われている l  同じ情報を伝える/保存するのに、少ないデータで表す l  ⾷食堂にて「おばちゃん、いつもの!」 l  送信者、受信者が同じ情報を共有している場合 l  時間的局所性の利利⽤用 l  モールス信号 l  短点「トン」と⻑⾧長点「ツー」から構成される可変⻑⾧長符号 l  最頻な「e」はトン、最稀な「q」はツーツートンツー l  均⼀一な符号⻑⾧長ではなく、頻度度が多い⽂文字には短い符号、頻度度が少 なく⽂文字には⻑⾧長い符号を利利⽤用することで全体の符号⻑⾧長を短くする 5
  • 6. データ圧縮は社会を⽀支える l  データ圧縮が無ければここまで安価+⼤大量量+正確に 画像・⾳音声・映像情報を伝えることはできなかった l  特に映像のデータ圧縮技術の進化は著しい l  FaceTimeなどTV電話が安価なインターネット網で実現可能 l  エラー訂正, 通信技術, 配信制御技術の進化もちろんすごい l  データが⼩小さい=⾼高速化 l  上位の⾼高速な記憶階層(キャッシュ, メモリ)で処理理できる l  そのまま扱うより圧縮+復復元のコストを加えても全体は⾼高速化 6
  • 7. データ圧縮 = モデル化 + 符号化 l  データ圧縮はモデル化と符号化の⼆二段階からなる l  モデル化 = データをうまく表現するモデルを⾒見見つける l  符号化 = モデルを利利⽤用して表現されたデータを符号で短く表す l  コンピュータ世界での系列列符号は⼀一般に0と1からなる⼆二値 l  この⼆二つを混同してはいけない l  最適なモデルが与えられたら、それを利利⽤用して最適な符号を決め ることはできる.しかし最適なモデルは⼀一般に分からない
  • 8. データ圧縮  と  他分野との関係 l  データ圧縮を実現するにはデータを理理解する必要があり、データ 圧縮が実現できたら機械学習, ⾔言語モデル l  ⽣生成モデル l  データxを⽣生成する過程を理理解し,p(x)をうまくモデル化でき たら、それを利利⽤用し,圧縮率率率が⾼高いデータ圧縮を実現できる l  ⾔言語モデル (LM) l  与えられた⽂文字列列が⽂文法的・⽤用法的に正しいかを当てるタスク l  機械翻訳・⾳音声認識識・情報検索索(LMベース)で利利⽤用される l  ⾔言語モデルの基礎技術は後述のPPMと呼ばれるデータ圧縮と同じ 8
  • 9. 符号 l  情報を0と1からなる系列列で表す l  正整数の符号化 l  Elias符号 (75年年!):ガンマ符号、デルタ符号、ゴロム符号 l  ライス符号、 l  フィボナッチ符号 l  確率率率情報が既知の場合 l  Shannon-Fano 符号、Huffman符号 l  算術符号, Range Code l  組み合わせ的データ構造 l  数え上げ符号 l  その他も 9
  • 10. Huffman符号の逸話 1951年年 MITの情報理理論論のクラスにて: l  Fano先⽣生「最終試験を受けるか、課題レポート出すか           どっちか選んでください」 l  Huffman「最終試験なんてうけたくないから、           課題レポートだします」 l  Fano先⽣生「私はShannon先⽣生とShannon-Fano符号を開発しまし たが、最適ではありません。最適な符号を考えてレポートしてく ださい」 l  Huffman「思いつかないが、Fano先⽣生が⽊木を根から葉葉に向けて作 っているから、逆に葉葉から根に向けて作ったらいいんじゃない?」 ⇒ これがラッキーなことに最適.Huffman符号誕⽣生! 10
  • 12. 連⻑⾧長圧縮 RLE: Run Length Encoding l  繰り返し⽂文字列列を、(⽂文字、繰り返し⻑⾧長)のペアで表す l  ヒャァァァァァァァアアアウウヴァアアアアアアアアイイイイ ↓ ヒ1ャ1ァ7ア3ウ2ヴ1ァ1ア8イ4 l  ⽂文字が⼆二種類の場合は⽂文字は交互なので繰り返し⻑⾧長さだけでOK 0000111100011 → 4432 (例例えば⽩白⿊黒画像データなど) l  繰り返し数が少ない場合⼤大きくなってしまうので、連⻑⾧長が多い場 合は連⻑⾧長圧縮モード、そうでない場合はそのままと切切り替える [1] l  ⼤大抵は何らかの処理理(BWT, 基底変換)の後に使う場合が多い l  画像圧縮のDCT後の係数はRLEが使われる [1] “Adaptive Run-Length / Golomb-Rice Encoding of Quantized Generalized Gaussian Sources with Unknown Statistics”, H. S. Malvar DCC 06 12
  • 13. RePair l  最頻する2⽂文字を再帰的に他の⽂文字に置換し、全てが異異なる(か 適当なところまで)繰り返し、置換ルールと置換後⽂文字列列を出⼒力力 l  うらにわにわにわにわにわにわにわとりうらうらら ↓にわ  を Aに変換 うらAAAAAAAとりうらうらら             ↓AA を Bに変換 うらBBBAとりうらうらら ↓うら  を Cに変換 CBBBAとりCCら   (にわ, A) (AA, B) (うら, C) l  実⽤用的にはうまくいくので昔から使われていたが、最近はいろい ろ証明[1]が出たり、簡潔データ構造の圧縮[2]に使われている [1] “Re-pair Achieves High-order Entropy”, 13 Navarro+, DCC 08] [G. [2] “Practical Compressed Document Retrieval”, [G. Navarro+, SEA 11]
  • 14. ⽂文法圧縮 l  圧縮対象⽂文字列列のみを⽣生成するCFGルールを求めて圧縮 l  ルール集合が元の⽂文字列列より短く記述できれば圧縮可能 l  実は先程のRePairは⽂文法圧縮の⼀一種 l  CFGルールの求め⽅方で様々な⼿手法が存在 l  最適なCFGルールを⾒見見つけるのはNP困難.近似解の世界で頑張る l  オンライン, ルール作業領領域のみで構築 [Maruyama+, CCP 11] …. A → ba D E D F B → pa C → ma 文法のみを保存 D → AA E → BB A A B B A A C C F → CC … b a b a p a p a b a b a m a m a 14
  • 15. LZ法 l  最も有名なデータ圧縮で最も使われているデータ圧縮 l  何らかでお世話になったはず, ZIP LHA, GIF PNG 他多数利利⽤用 , , l  Lempel と  Ziv が 77年年, 78年年と⽴立立て続けに提案 l  77年年に提案されたのがLZ77, 78年年に提案されたのがLZ78 l  モデルが未知である⽂文字列列でも圧縮できる⼿手法として提案 l  正確には⽂文字列列⽣生成源のk次エントロピーに漸近するか l  LZ77法に対する証明ができなかったのでLZ78法で証明 l  後にLZ77法でも証明される l  その後、現実的な符号が登場 Lempel先生 Ziv先生 15
  • 16. LZ法これだけは知っといて l  最適性の証明は⾯面⽩白いが、説明しきれないので分かる⼈人だけ l  ⼊入⼒力力系列列  X = x1x2…xn を分割しフレーズ列列  Y = y1y2…ymを得る X = [x1x2x3][x4x5][x6x7x8][x9x10] y1 y2 y3 y4 l  この時、フレーズ列列のフレーズ  {yi}i=1…m が全て異異なるならば、 c=|Y|とした時、clog2 c はXの情報源のエントロピーに漸近する l  clog2c は各フレーズをそのまま格納したサイズ l  Xのk次経験エントロピーでも成り⽴立立つ l  LZ78は⼊入⼒力力系列列を全て異異なるフレーズ列列に分解する⼀一⼿手法 l  LZ77のエントロピー漸近性の証明は別⼿手法 l  この証明はLZ以外のデータ構造のサイズ評価にも使われる 16
  • 17. LZ77 l  データを先頭から順番に次のように符号化していく. l  現在位置から始まる記号列列が、過去に出現していれば、 l  (出現相対位置,  ⼀一致⻑⾧長, 次の不不⼀一致⽂文字)のtripleで置き換える l  していなければ空の⼀一致と次の不不⼀一致⽂文字で表す l  ⼊入⼒力力系列列を全て異異なるフレーズに分解していることに注意 あかさかさかすでかささすで。 あかさ[かさか]すで[かさ]さ[すで]。 (*, *, あ)(*, *, か) (*, *, さ) (-2, 3,す) (*, *,で) (-5, 2,さ) (-5, 2, 。) 17
  • 18. 実⽤用的LZ77 l  前述⼿手法は理理論論的にはエントロピーに漸近するがオーバーヘッド が多いので実際には次のように処理理される場合が多い l  ⼀一致があったかどうかを記録した後に、⼀一致情報、不不⼀一致記号出⼒力力 l  LZSSがこの⽅方法を利利⽤用し、LHAやZIPなど殆どがこの⽅方法を採⽤用 l  ⼀一致⽂文字列列は直近の滑滑⾛走窓中の候補だけから探す. l  探す⽅方法は、ハッシュ、Trieなど様々 l  ⼀一致⻑⾧長、相対位置はElias符号で符号化 l  同じ⽂文字列列は近い場所で繰り返される、⼀一致⻑⾧長は殆ど短い l  ⼀一度度⼀一致した⽂文字列列はキャッシュしておきそれを利利⽤用 c.f. LZMA l  不不⼀一致が連続した場合は読み⾶飛ばして⾼高速化 c.f. snappy 18
  • 19. LZ78 l  読み込みながら辞書(Trie)を作り、不不⼀一致⽂文字を最後に⾜足す 123456789AB あかさかさかすでかささ あ さ あ で あ さ か か か さ 1 3 3 1 3 8 2 1 さ 2 さ 2 す 4 さ 4 6 9 l  全て異異なるフレーズに分解していることに注意 l  トライの保存はフレーズ⻑⾧長がcの時、c log cであり、エントロピー 19
  • 20. Burrows Wheeler変換  (BWT) l  ⽂文字列列に対する可逆変換で⽂文字列列を”圧縮しやすく”変換する l  BWTはその後、データ圧縮のみならず全⽂文索索引、テキストマイニ ングなど⾮非常に多く使われるようになる l  圧縮ソフト bzip2, アライメントソフト  bwa l  ⼿手法も⾯面⽩白いが話すには時間が⾜足りません。その周辺の話も⾯面⽩白 いのでそちらをします 20
  • 21. BWTのBとWの話 l  1978年年頃にWheelerが思いついたが「こんな当たり前のことは論論 ⽂文にするまでもない」と書いていなかった l  その後、Burrowsさんがこれ⾯面⽩白いので書きましょうと説得して 1984年年にDECの技術論論⽂文として公開される   l  データ圧縮の学会(DCC)では落落ちてたが、Dr. Dobbs articleで 拾拾われてそこから徐々に有名になる l  Wheelerは世界で初めてコンピュータ科学の博⼠士号をとり、その あと、B. Stroustrup (C++の作者), M. Burrowsなど数多くの優 秀な研究者を育てた l  BurrowsはCubbyなどで有名なシステム屋 l  彼らが最初に提案した圧縮⼿手法が、その後理理論論的最適と⽰示される このへんの話は
 21 http://people.unipmn.it/manzini/papers/foreword_bwt.pdf
  • 22. BWTを1分で説明 l  ⼊入⼒力力テキスト  S = s1s2s3…sn l  各⽂文字を、それに後続する⽂文字をキーとして辞書式順序でソート l  s1 のキーは  s2s3s4…sn l  s2 のキーは  s3s3s4…sn l  S = abracadabra  →  BWT(S) = ardrcaaaabb l  BWTはSの⻑⾧長さの線形時間で求めることが可能 l  接尾辞配列列経由(最速)で or 直接変換(省省スペース) l  逆変換も線形時間で構築可能 l  BWT(S)はSに⽐比べて圧縮しやすい l  後続している⽂文字が似ているなら、その⽂文字も似ている 22
  • 23. 最近のデータ圧縮 l  透過的データ圧縮 l  簡潔データ構造 l  データ処理理向けデータ圧縮 l  ⽂文字列列マッチングや各種統計量量が元のデータより⾼高速に処理理可能 l  特定データ専⾨門のデータ圧縮 l  構造付, 型付データ (=JSON ?) l  ゲノム配列列 from 次世代シーケンサ l  センサデータ l  映像はまだまだ伸びる l  H264からH265(7640 x 4320サポート)へ l  中でやっているのはリアルタイムでの⾼高度度な画像予測 23
  • 24. 最近のデータ圧縮(続) l  ビッグデータ解析向け l  MapReduceのShuffle Phaseの時のデータ量量を⼩小さくしよう l  Jubatusのmix時のモデル交換量量を⼩小さくしよう l  センサデータでの圧縮 l  センサデータを集めるデバイスは安くなったが通信コストが⾼高い l  端末で圧縮、中継点で圧縮 l  端末間の冗⻑⾧長性を加味したデータ圧縮 l  c.f. Compressed Sensing 24
  • 25. お⾦金金になる圧縮 l  思いつくのを並べてみました l  Disaster Recovery l  同じデータを遠く離離れたところでコピーをとっておく.そこで圧縮 l  クラウド・ストレージ l  今後多くのデータをクラウドに置く様になった時に、クラウドに 置くコスト(通信費、維持費)を減らすことができる l  次世代シーケンサ・センサデータ・ログデータ l  ビッグデータ解析向け l  特許ライセンスは厳しいか l  いまや、多くのメディアはクロスライセンス 25
  • 26. まとめ l  データ圧縮は古くて新しい l  古くから使われ続ける技術もあれば、新しいデータ向けのデータ 圧縮も次々と⽣生まれている l  いろいろな分野と関連:機械学習、データマイニング、⾃自然⾔言語 処理理、信号処理理、通信、バイオインフォマティクス、 l  情報源 l  ⽂文字列列データ圧縮:DCC, CPM, SEA, SODA, ALENEX, ICALP ESA, , l  http://compression.ru/ (ロシア語だけど) l  http://mattmahoney.net/dc/ Matt Mahoney l  私も⽂文字列列解析本をそのうち出します! :) l  データ圧縮・簡潔データ構造・全⽂文索索引・テキストマイニング 26