SlideShare a Scribd company logo
1 of 55
Download to read offline
PFIセミナー 2009/12/24




        研究開発チーム
      クリスマス・セミナー
               岡野原 大輔
何はともあれ、まず

        Merry X’mas !

             こんな日にセミナーを
ルドルフ達
            見てくれるのに大感謝だよ
                   投げやりな
                  僕でごめんね
                僕はサンタじゃないよ
今回の発表
• 研究開発チームの活動紹介
• 今注目すべき研究を50分で俯瞰しよう!
 – オンライン学習の最前線                         機械学習

  • Multi-class CW, AROW, Online-EM
 – より強力な簡潔データ構造                       データ構造
  • 超簡潔木 圧縮連想配列
 – リアルタイム画像編集 (Patch Match)
                                      画像解析・編集
研究開発チームとは
• 研究分野で面白いものを探し出し作る
 – ハイリスクで危なそうなの大好き
• 最新の研究成果を毎週サーベイし実装
• 分野を限らず、面白そうな話題を選ぶ
• 実際に実装
 – 1~2ヶ月でプロトタイプを一つ作る
• 現メンバー
 – hillbig / oxy / iwiwi / tabei
研究開発チーム
        活動の様子
• 自宅から作業
 – 全員が時間確保できるのが夜間のため
 – 眠くなるまで
• Skypeで音声をつなぎ論文を一緒に読む
• 開発時はscreenで画面共有
  >sudo su 開発用共有アカウント名
  >script /dev/null
  >screen –x プロセス番号
 – コーディング方法を生で勉強できる
開発例 ・文要約
                                      Yahoo! Topicsより

• ニュース/ブログ記事を13文字で要約
 – 単語を削除して要約する (文圧縮)
• 基本方針
 – 線形計画法を利用した手法をベース
 – 要約の条件を制約として入れられる
 – 要約はスコアが最大になるものを選ぶ
 – “Modelling Compression with Discourse
   Constraints” [EMNLP 07] がベース
例
インテル、欧州委員会による独禁法違反の決定を不服として
   x1         x2   x3 x 4 x5   x6    x7 x8 x9 x10 x11 x12 x13
欧州第一審裁判所に訴え
 x14    x15    x16 x17 x18          インテル独禁法違反不服訴え

                                       線形計画問題なので既存の
  xi=1 要約時に残る文節                       ソルバーが使える。ルールを自由
                                       に組み込める ルール復古
  xi=0 要約時に削除する文節
max Σisixi 下記条件の元でスコアを最大化
Σilixi ≦13 (全体の長さは13以下) liはxiの長さ
xi-xj=0     (xiとxjは同時に含まれる)
xi-xj≧0    (xjが含まれるならxiは含まれる)
実行例
• 総務省、「地球温暖化対策ICTイノベーション推
  進事業」の2009年度研究開発テーマを決定

 システム⇒総務省温暖化対策推進事業決定
 正解例 ⇒総務省温暖化対策のテーマ決定

• ディズニーランドで突然プロポーズして、相手に
  必ず Yes といわせる方法

 システム⇒突然必ずYesといわせる方法
 正解例 ⇒プロポYesといわせる方法
その他の開発例
• 疎な高次元ベクトルデータ集合の管理
 – Locality Sensitive Hash, Spectral Hash
• クラスタリング
• ランキングエンジン
• 画像解析
 – SIFTなど局所特徴量を利用した画像検索
今注目すべき研究を
  50分で俯瞰
内容
1. オンライン学習の最前線
 – Multi-Class Confidence Weighted Algorithm
 – Adaptive Regularization Of Weight Vectors   機械学習
 – Online EM for unsupervised models

2. より強力な簡潔データ構造
 – Fully-Functional Succinct Trees             データ構造
 – Storing a Compressed Function
   with Constant Time Access

3. リアルタイム画像編集
                                                画像
 – PatchMatch
1. オンライン学習の最前線
機械学習
   (Machine Learning: ML)
• サンプルデータを利用し、有益な規則、
  ルール、知識を獲得する
=入力xから出力yへの関数fを求める問題

 問題        入力      出力
– スパム分類    文書      スパムか?
– 情報検索     クエリ     関係する文書
– 機械翻訳     日本語の文   英語の文
– 医療診断     遺伝子情報   発病するか
– ロボット制御   センサ情報   次の行動
線形識別器による分類
• 入力xと出力yから得られる情報で
  特徴ベクトルφ(x, y)∈Rmを作る
  – 作り方例は次項
• yのスコアs(x,y) =wTφ(x, y)
  – 重みベクトルw∈Rm とφ(x, y)の内積
• 一番高いスコアを持つyが予測結果
  f(x) = argmaxy s(x,y)
  – 何が効くか分からないが、効きそうなルールを全
    部使う、その重みは自動決定
  – NB, SVM, MaxEntなど多くが属する
特徴ベクトルの作り方例
           文書分類の場合
• 各次元が文書中に出現した単語に対応
  – Bag of Words, BOW表現

          鳥取     1
鳥取では      …      …
                      φ(x)= (0…0,1,0…0,1,…)
 砂丘が
有名です..    砂丘     1        “砂丘”’に対応する次元
          …      …                      15
                               “鳥取”’に対応する次元
我々が日々扱うデータは
     大きくなっています[IBM風]
• Google N-gram Corpus
  – 1兆語
  – 1000億文
• Giga-word Corpus
  – 次の文字を予測する問題
  – サンプル数10億 問題を1000台で3.5時間で学習
    [G. Mann, et. al NIPS09]

  ⇒より高速で省スペースな学習が求められている
オンライン学習
•   訓練例を一つずつ見てwをすぐ更新する
•   収束が速く訓練例を保持しなくてもよい
•   実装コストは圧倒的に小さい
•   性能保証も可能
    – Regret Analysis [S. S.-Shwartz 07]
      最適な単一のw*を使った時との差
• これまでのオンライン学習手法は
  SIG-FPAIのチュートリアル資料を参照
Multi-Class Confidence
            Weighted Algorithm (CW)
              [K. Crammer, et. al, EMNLP 09]

• 多くの言語処理の問題で最高精度を達成
• 重みベクトルを単一のパラメータではな
  くGaussian分布上N(μ,Σ)で保持する
                従来の更新例
                                       単一のパラメータ
wi
                                       に足し引きするだけ
      1.7                     0.6
                CWの更新例                 パラメータ自体が分布を
wi                                     持っている
     平均 1.7               平均0.6        (パラメータ間も)
     分散 0.5               分散 0.4
従来のオンライン学習器と
     CWとの比較
• 従来:ある特徴の更新回数が多くても少な
  くても、同じ更新幅
• CW:ある特徴の更新回数が多いなら小さ
  い少ない更新幅、少ないなら大きい更新幅
 – 更新回数が多いならその重みには自信がある


⇒低頻度の特徴でも効率良く学習可能
⇒学習データを一回走査するのみで高精度
CWの学習更新式
   前のパラメータにKLダイバージェンス
   で一番ちかいパラメータ




   今の訓練データをη(>0.5)の確率で
   正しく分類可能


   この操作のため、問題全体が凸最適化ではない
CWの学習更新式 (続)
• 先程は解けないので次の近似を適用
  1. 全てのr≠yi についてrよりyiの方がスコアが
     高くなる確率がηより高い
  2. スコアが高い上位k個のクラスだけ考慮
  3. パラメータ更新は各クラス毎に順に
                        3が更新対象       5が更新対象
各クラス
のスコア
y=4が正解
         1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6
• パラメータ更新は閉じた式で得られる
[K. Crammer, et. al, EMNLP 09]   殆んどのタスクで既存のオンライ
                                 ン学習のみでなく通常の学習器
                                      より高精度

                                 News Groupsのトピック
                                 Amazonレビューの上位7タイプ
                                 Amazonレビューの上位タイプ
                                 EnronのUser Aの上位10フォルダ
                                 EnronのUser Bの上位10フォルダ
                                 NewYork Times
Adaptive Regularization
 Of Weight Vectors (AROW) [NIPS 09]
• CWは更新時に正則化が入っていない
 – 訓練例にノイズがある場合、急激に悪くなる
• 学習時に次の条件を考慮し最適化
 1. 今の訓練例を正しく分類できる       CWはこれが
                         いつも最優先
 2. 前のパラメータと近づける
 3. 各特徴のConfidenceを更新毎に上げる
• CWと同じように閉じた式で更新可能
実験結果
          AROW > CW




 ノイズ 0%       ノイズ 10%   ノイズ 30%

• ノイズ大⇒AROWの精度>CWの精度
教師無学習:EMアルゴリズム
     (期待値最大化法)
• p(x, z; θ)
  – x: 観測可能な変数 z:観測できない変数
  – θ: 観測可能な変数
• データの尤度L(X, θ)を最大化する
• E-step
  – 今のθでのzの期待値q(z|x)を求める
  ⇒(x,z)のペアの出現回数を数えるだけ
• M-step
  – 今のzでL(θ)を最大化するθを求める
Online EM
         [P. Liang, D. Klein, NAACL 09]


• EMは収束が非常に遅い
 – 品詞推定だと数百回繰り返しが必要との報告も
• オンライン学習と同じようにデータを観測
  するたびにq(z|x) の期待値を更新する
 – 回数c(x, z)とc(x)を保持し、q(z|x)は必要に
   なったときに計算q(z|x)=c(x,z)/c(x)
 – c(x, z)の更新時は前回のものと今回の結果の線
   形補完で行う
    c(x, z) := μc(x,y) + (1-μ)c’(x,y)
• 数回で収束
オンラインEM
          結果例        観測可能


• 隠れマルコフモデル (HMM)
 – P(隠れタグ⇒隠れタグ)
   P(隠れタグ⇒出力)
• ohmmを利用
• 日本語の単語推定
 – 文数 10万
 – 単語数 200万         従来EMは約100回
 – 単語種 7万           程度で収束した

 – 隠れクラス数 20
   最初は大きい単語の
   クラスが決まるだけで
   あまり意味ない
2. より強力な簡潔データ構造
簡潔データ構造
• 作業スペースが極限まで小さいながら、
  操作の計算量が従来データ構造と同じ
 – 集合・木・関数(連想配列)・グラフ       等
• 多少計算量が大きくなったとしても、全
  てを主記憶上に載せるのが最重要
• 非常に実用的な話
 – Google IMEはtxの良クローン(rx)を利用し非
   常に大規模な辞書情報の圧縮格納を実現
 – 最新の全文検索もフル活用
全備簡潔木
                 Fully-Functional Succinct Trees
                 [Sadakane, Navarro SODA10]

    • 全操作を効率的にサポートした順序木
        – 全操作が一つの基本操作から実現できる
    • 動的更新も可能で実装は簡単
    • 内部ではBP表現を利用

         1

    2        6


3   4    5   7   8

順序木の例
(番号はDFSの行きがけ順)           txが利用
これらの操作が
基本操作の
組み合わせで
表される

更新無なら全部
定数時間

更新有なら大抵
O(log n / loglogn)
±1関数
    • P[0...n-1] 入力ビット配列(BP)
    • g: ±1関数
         – ±1関数:入力が0,1で出力が-1,0,1のどれか
         – ±1関数は値不変なものを除き6種類
           符号を反転させたものを使えば3種類
gの例: π(0) = -1, π(1) = 1
     0    1   2   3   4   5   6   7   8   9   10 11 12 13 14 15 16 17
P    1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0
π    1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
基本操作(1/3)
                           sum


    • i 番目から j 番目の関数値の合計
        – sum(P, π, 0, i)はi番目に対応する節点の深さ
        – sum(P, π, i, j)はiとjに対応する節点の深さ差
                                 sum(P, π, 6, 12)= 1

    0    1   2   3   4   5   6    7   8   9   10 11 12 13 14 15 16 17
P   1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0
π   1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
基本操作 (2/3)
            fwd_search / bwd_search


    • iより後方で初めて合計がdとなる位置
    • 同様に、iより前方で初めて合計がdとなる位置を
      返す関数をbwd_searchとする
                     fwd_search(P, π, 4, -1) = 10

g = πの例
                      1 0 1 0 1 0 -1 0 1 0 1
    0   1    2   3   4 5 6 7 8 9 10 11 12 13 14 15 16 17
π   1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
基本操作 (3/3)
                          rmq, rmqi


    • iとjの間で合計が一番小さい値を返す
        – 小さい値を返す位置を返す関数をrmqi
        – これらの最大値バージョンをRMQ RMQi
                    rmq(P, π, 4, 14) = 10
g = πの例
                     1 0 1 0 1 0 -1 0 1 0 1
    0   1   2   3   4 5 6 7 8 9 10 11 12 13 14 15 16 17
π   1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
                     1   0   1   0   1   0   -1   0   1   0   1
基本操作による木の操作
    • next-sibling                fwd_search(P, π, i, 0)+1
    • parent                      bwd_search(P, π, i, 2)
         – d個上の祖先                 bwd_search(P, π, i, d+1)
    • lca(i, j) どちらか含まれるならiまたはj
                      それ以外 parent(rmqi(P, π, i, j)+1)
              sum(P, π, 4, i)の結果(4に対応する節点からみた相対深さ)


     0   1    2   3   4   5   6    7    8   9   10 11 12 13 14 15 16 17
π    1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
     3    2   1   0   1   0   1     0   1   0   -1   0   1   0   1   0   -1 -2
基本操作による木の操作(続)
• この他の木の操作も全て基本操作と±1関
  数の組み合わせでサポート可能
 – 従来の簡潔木では操作毎に専用の補助データ
   構造が必要だった.


• 基本操作を効率的に実現さえすればよい
基本操作の効率的な実現
     Range min-max tree
                        [Sadakane, Navarro SODA10]




• 完全k分木で子孫中のEの最小値/最大値をm, Mに記録
 – E := sum(P, π, 0, i) (i番目の節点の深さ)
 – 完全k分木なので、これらは配列に記録可能(c.f. heap)
Range min-maxを使った
     fwd_searchの実現




      fwd_search(P, π,3,0) を探す
      =3より後でE=1となる最初の場所
これらは様々なテーブルを駆使すると定数時間で実現できる
動的簡潔木
• PをL~2Lの大きさのブロックに分割
 – L=log2n , ブロック数はO(n / log2n)
• 追加削除時には適切に分割、併合をする
• 最小値/最大値の更新は
 – O(1/2 logn)の大きさの表を使ってブロック
   内の更新はO(log n)時間で可能
 – 表の大きさはO(n1/2)=o(n)
• 全てO(log n)時間でサポート可能
定数時間で操作可能な
  圧縮連想配列
最小完全ハッシュ関数
        MPHF
• キーs∈Sから[1..|S|]への全単射の写像
 – 完全:キーが衝突しない
 – 最小:写像先の大きさがキー種類数と同じ
 ⇒キーを保存しなくても参照できる
 – このようなMPHF関数を実現するには
   1.44n bit必要

 – bep hashで検索すると関連資料が
   見つかります
連想配列 + MPHF
• キーs∈Sと値v∈Vを対応する
 – 値はw bitで表され w bitの操作は定数時間
• 方針1 : MPHFの返り値を添字として使う
 – 1.44n bitが勿体無い
連想配列 + MPHF
• 方針 2 直接bit配列に写像する
    – 複数の(MPHFではない)ハッシュ関数を用意
    – それぞれの位置からw bit読み込み、それらの
      xorの結果を値とする
    – ビット配列の決定はGF2の連立方程式を解く
      のと等価だが、greedyでも高確率に解ける
    a                            b                      c

                                w bit
h3(s)                   h1(s)                       h2(s)

a       xor   b   xor      c         = s に対応する値 v
Storing a Compressed Function
   with Constant Time Access
     [J. B. Hreinsson, et. al. ESA 09]
• 値は冗長な場合が多い
 – 値の出現分布の偏りが非常に大きい
 – 例:単語頻度を記録する場合、殆どが0か1
• 値をHuffman符号を使って記録する
 – 符号長の上限を制限し、定数時間を守る
 – prefix符号なので可変長でも一意に復元可
 – さらに擬陽性有のフィルタを利用すると高頻
   度の値を1bit未満で格納可能
3. リアルタイム画像編集
PatchMatch: A Randomized Correspondence
    Algorithm for Structural Image Editing
          [C. Barnes SIGGRAPH 09]

• 彼らのデモをまずみてみます




• これらの編集をインタラクティブに行う
  鍵がパッチの高速な近傍探索
• パッチ:画像の一部分、中心座標で指定
パッチの近傍探索
• 入力:画像Aとパッチ間の距離D
• 出力:画像A中の全位置x∈R2でそのパッ
  チと距離Dで近いパッチの相対位置f(x)
 – 位置x∈R2と似た画像がy∈R2にある場合
   f(x) = y-x とする


        似た画像にむけての
        このベクトルの成分
        (相対オフセット)を記録
アルゴリズム
• 初期化:全位置xでf(x)をランダムに設定
  – もし事前知識が使えるならそれを使う
• 最適化
  – 各位置について左上から右下へ向かって順に次の二
    つの操作を交互に行う(次は逆方向)
• Propagation:
  – 隣の位置でより良いオフセットを見つけていたらそ
    れを使う(隣で良いなら自分のとこでも良い)
  – D(f(x,y)), D(f(x-1,y)), D(f(x,y-1))の最小値
• Random Search:
  – 今の候補位置から、全方向に向かって距離は指数的
    に順に減らしながらランダムに調べる
アルゴリズムの動作例




                [C. Barnes SIGGRAPH 09]

• 左下の画像だけを使って左上の画像を復
  元する
 – パッチで探索したものを近傍の結果も混ぜて
   多数決で各画素の色を決定する
Bidirectional Similarity




• 元画像Sと対象画像Tの近さを測る
 – dcomplete   TがSの情報を含んでるか
 – dcohere     TがSとは異なる画像を含んでいないか
• 多くの編集タスクがこの距離の測り方の変種+
  パッチの探索対象の制約で解ける
線による指示の場合




• 元画像S中の指示線Lkを変換後も保つ
 – Lk上の点piと似ているT中の点NN(pi)を探す
 – T中の点qjでLk上に似ている点があるものを探す
 – これらNN(pi)、qjを直線上に射影
その他みえた傾向
その他見えた傾向
• 自然言語処理⇒教師無学習の研究が増えた
 – 教師有学習が伸び悩み、教師無がより強力に
 – 大量のデータ+高効率な学習器
• データ構造・アルゴリズム⇒現実的な並列化
 – GPGPU、MapReduceなどで一気に現実的に
• 機械学習⇒大規模化
 – tiny images(8000万画像)
最後に一言
• 研究開発は楽しい
 – 違う分野の話が共通点があったり新発見が
   あったり楽しい
 – 一緒にやった方が楽しい
 – 実装してみるとよくわかる
• 今日はクリスマスイブ

More Related Content

What's hot

Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-sleepy_yoshi
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題Kenta Oono
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeMasahiro Tanaka
 
Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた正志 坪坂
 
Paper intoduction "Playing Atari with deep reinforcement learning"
Paper intoduction   "Playing Atari with deep reinforcement learning"Paper intoduction   "Playing Atari with deep reinforcement learning"
Paper intoduction "Playing Atari with deep reinforcement learning"Hiroshi Tsukahara
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Kotaro Nakayama
 
Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Taku Tsuzuki
 
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...Deep Learning JP
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5upTyee Z
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuningnagachika t
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装するShuhei Iitsuka
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 

What's hot (20)

Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
 
Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた
 
Paper intoduction "Playing Atari with deep reinforcement learning"
Paper intoduction   "Playing Atari with deep reinforcement learning"Paper intoduction   "Playing Atari with deep reinforcement learning"
Paper intoduction "Playing Atari with deep reinforcement learning"
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西
 
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5up
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuning
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
LDA入門
LDA入門LDA入門
LDA入門
 

Viewers also liked

研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011Preferred Networks
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習Preferred Networks
 

Viewers also liked (7)

mlabforum2012_okanohara
mlabforum2012_okanoharamlabforum2012_okanohara
mlabforum2012_okanohara
 
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
全体セミナー201108011
全体セミナー201108011全体セミナー201108011
全体セミナー201108011
 
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 
Ibis2016okanohara
Ibis2016okanoharaIbis2016okanohara
Ibis2016okanohara
 

Similar to PFI Christmas seminar 2009

LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores,  Clusters and Cloudsの解説LCCC2010:Learning on Cores,  Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説Preferred Networks
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPKoji Matsuda
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Satoshi Kato
 
Introduction to NumPy & SciPy
Introduction to NumPy & SciPyIntroduction to NumPy & SciPy
Introduction to NumPy & SciPyShiqiao Du
 
Rustで始める競技プログラミング
Rustで始める競技プログラミングRustで始める競技プログラミング
Rustで始める競技プログラミングNaoya Okanami
 
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門Yuichiro Kobayashi
 
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出CRF を使った Web 本文抽出
CRF を使った Web 本文抽出Shuyo Nakatani
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleKoji Matsuda
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装Ryosuke Okuta
 
ACLreading2014@Ace12358
ACLreading2014@Ace12358ACLreading2014@Ace12358
ACLreading2014@Ace12358Ace12358
 
attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介Masayoshi Kondo
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
Guiding neural machine translation with retrieved translation pieces
Guiding neural machine translation with retrieved translation piecesGuiding neural machine translation with retrieved translation pieces
Guiding neural machine translation with retrieved translation piecesSatoru Katsumata
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論Kazuto Fukuchi
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7Shunsuke Nakamura
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKSDeep Learning JP
 

Similar to PFI Christmas seminar 2009 (20)

LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores,  Clusters and Cloudsの解説LCCC2010:Learning on Cores,  Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
Introduction to NumPy & SciPy
Introduction to NumPy & SciPyIntroduction to NumPy & SciPy
Introduction to NumPy & SciPy
 
Rustで始める競技プログラミング
Rustで始める競技プログラミングRustで始める競技プログラミング
Rustで始める競技プログラミング
 
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
 
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出CRF を使った Web 本文抽出
CRF を使った Web 本文抽出
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
Dive into XGBoost.pdf
Dive into XGBoost.pdfDive into XGBoost.pdf
Dive into XGBoost.pdf
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 
ACLreading2014@Ace12358
ACLreading2014@Ace12358ACLreading2014@Ace12358
ACLreading2014@Ace12358
 
attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
Guiding neural machine translation with retrieved translation pieces
Guiding neural machine translation with retrieved translation piecesGuiding neural machine translation with retrieved translation pieces
Guiding neural machine translation with retrieved translation pieces
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
 

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
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

PFI Christmas seminar 2009

  • 1. PFIセミナー 2009/12/24 研究開発チーム クリスマス・セミナー 岡野原 大輔
  • 2. 何はともあれ、まず Merry X’mas ! こんな日にセミナーを ルドルフ達 見てくれるのに大感謝だよ 投げやりな 僕でごめんね 僕はサンタじゃないよ
  • 3. 今回の発表 • 研究開発チームの活動紹介 • 今注目すべき研究を50分で俯瞰しよう! – オンライン学習の最前線 機械学習 • Multi-class CW, AROW, Online-EM – より強力な簡潔データ構造 データ構造 • 超簡潔木 圧縮連想配列 – リアルタイム画像編集 (Patch Match) 画像解析・編集
  • 4. 研究開発チームとは • 研究分野で面白いものを探し出し作る – ハイリスクで危なそうなの大好き • 最新の研究成果を毎週サーベイし実装 • 分野を限らず、面白そうな話題を選ぶ • 実際に実装 – 1~2ヶ月でプロトタイプを一つ作る • 現メンバー – hillbig / oxy / iwiwi / tabei
  • 5. 研究開発チーム 活動の様子 • 自宅から作業 – 全員が時間確保できるのが夜間のため – 眠くなるまで • Skypeで音声をつなぎ論文を一緒に読む • 開発時はscreenで画面共有 >sudo su 開発用共有アカウント名 >script /dev/null >screen –x プロセス番号 – コーディング方法を生で勉強できる
  • 6. 開発例 ・文要約 Yahoo! Topicsより • ニュース/ブログ記事を13文字で要約 – 単語を削除して要約する (文圧縮) • 基本方針 – 線形計画法を利用した手法をベース – 要約の条件を制約として入れられる – 要約はスコアが最大になるものを選ぶ – “Modelling Compression with Discourse Constraints” [EMNLP 07] がベース
  • 7. 例 インテル、欧州委員会による独禁法違反の決定を不服として x1 x2 x3 x 4 x5 x6 x7 x8 x9 x10 x11 x12 x13 欧州第一審裁判所に訴え x14 x15 x16 x17 x18 インテル独禁法違反不服訴え 線形計画問題なので既存の xi=1 要約時に残る文節 ソルバーが使える。ルールを自由 に組み込める ルール復古 xi=0 要約時に削除する文節 max Σisixi 下記条件の元でスコアを最大化 Σilixi ≦13 (全体の長さは13以下) liはxiの長さ xi-xj=0 (xiとxjは同時に含まれる) xi-xj≧0 (xjが含まれるならxiは含まれる)
  • 8. 実行例 • 総務省、「地球温暖化対策ICTイノベーション推 進事業」の2009年度研究開発テーマを決定 システム⇒総務省温暖化対策推進事業決定 正解例 ⇒総務省温暖化対策のテーマ決定 • ディズニーランドで突然プロポーズして、相手に 必ず Yes といわせる方法 システム⇒突然必ずYesといわせる方法 正解例 ⇒プロポYesといわせる方法
  • 9. その他の開発例 • 疎な高次元ベクトルデータ集合の管理 – Locality Sensitive Hash, Spectral Hash • クラスタリング • ランキングエンジン • 画像解析 – SIFTなど局所特徴量を利用した画像検索
  • 11. 内容 1. オンライン学習の最前線 – Multi-Class Confidence Weighted Algorithm – Adaptive Regularization Of Weight Vectors 機械学習 – Online EM for unsupervised models 2. より強力な簡潔データ構造 – Fully-Functional Succinct Trees データ構造 – Storing a Compressed Function with Constant Time Access 3. リアルタイム画像編集 画像 – PatchMatch
  • 13. 機械学習 (Machine Learning: ML) • サンプルデータを利用し、有益な規則、 ルール、知識を獲得する =入力xから出力yへの関数fを求める問題 問題 入力 出力 – スパム分類 文書 スパムか? – 情報検索 クエリ 関係する文書 – 機械翻訳 日本語の文 英語の文 – 医療診断 遺伝子情報 発病するか – ロボット制御 センサ情報 次の行動
  • 14. 線形識別器による分類 • 入力xと出力yから得られる情報で 特徴ベクトルφ(x, y)∈Rmを作る – 作り方例は次項 • yのスコアs(x,y) =wTφ(x, y) – 重みベクトルw∈Rm とφ(x, y)の内積 • 一番高いスコアを持つyが予測結果 f(x) = argmaxy s(x,y) – 何が効くか分からないが、効きそうなルールを全 部使う、その重みは自動決定 – NB, SVM, MaxEntなど多くが属する
  • 15. 特徴ベクトルの作り方例 文書分類の場合 • 各次元が文書中に出現した単語に対応 – Bag of Words, BOW表現 鳥取 1 鳥取では … … φ(x)= (0…0,1,0…0,1,…) 砂丘が 有名です.. 砂丘 1 “砂丘”’に対応する次元 … … 15 “鳥取”’に対応する次元
  • 16. 我々が日々扱うデータは 大きくなっています[IBM風] • Google N-gram Corpus – 1兆語 – 1000億文 • Giga-word Corpus – 次の文字を予測する問題 – サンプル数10億 問題を1000台で3.5時間で学習 [G. Mann, et. al NIPS09] ⇒より高速で省スペースな学習が求められている
  • 17. オンライン学習 • 訓練例を一つずつ見てwをすぐ更新する • 収束が速く訓練例を保持しなくてもよい • 実装コストは圧倒的に小さい • 性能保証も可能 – Regret Analysis [S. S.-Shwartz 07] 最適な単一のw*を使った時との差 • これまでのオンライン学習手法は SIG-FPAIのチュートリアル資料を参照
  • 18. Multi-Class Confidence Weighted Algorithm (CW) [K. Crammer, et. al, EMNLP 09] • 多くの言語処理の問題で最高精度を達成 • 重みベクトルを単一のパラメータではな くGaussian分布上N(μ,Σ)で保持する 従来の更新例 単一のパラメータ wi に足し引きするだけ 1.7 0.6 CWの更新例 パラメータ自体が分布を wi 持っている 平均 1.7 平均0.6 (パラメータ間も) 分散 0.5 分散 0.4
  • 19. 従来のオンライン学習器と CWとの比較 • 従来:ある特徴の更新回数が多くても少な くても、同じ更新幅 • CW:ある特徴の更新回数が多いなら小さ い少ない更新幅、少ないなら大きい更新幅 – 更新回数が多いならその重みには自信がある ⇒低頻度の特徴でも効率良く学習可能 ⇒学習データを一回走査するのみで高精度
  • 20. CWの学習更新式 前のパラメータにKLダイバージェンス で一番ちかいパラメータ 今の訓練データをη(>0.5)の確率で 正しく分類可能 この操作のため、問題全体が凸最適化ではない
  • 21. CWの学習更新式 (続) • 先程は解けないので次の近似を適用 1. 全てのr≠yi についてrよりyiの方がスコアが 高くなる確率がηより高い 2. スコアが高い上位k個のクラスだけ考慮 3. パラメータ更新は各クラス毎に順に 3が更新対象 5が更新対象 各クラス のスコア y=4が正解 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 • パラメータ更新は閉じた式で得られる
  • 22. [K. Crammer, et. al, EMNLP 09] 殆んどのタスクで既存のオンライ ン学習のみでなく通常の学習器 より高精度 News Groupsのトピック Amazonレビューの上位7タイプ Amazonレビューの上位タイプ EnronのUser Aの上位10フォルダ EnronのUser Bの上位10フォルダ NewYork Times
  • 23. Adaptive Regularization Of Weight Vectors (AROW) [NIPS 09] • CWは更新時に正則化が入っていない – 訓練例にノイズがある場合、急激に悪くなる • 学習時に次の条件を考慮し最適化 1. 今の訓練例を正しく分類できる CWはこれが いつも最優先 2. 前のパラメータと近づける 3. 各特徴のConfidenceを更新毎に上げる • CWと同じように閉じた式で更新可能
  • 24. 実験結果 AROW > CW ノイズ 0% ノイズ 10% ノイズ 30% • ノイズ大⇒AROWの精度>CWの精度
  • 25. 教師無学習:EMアルゴリズム (期待値最大化法) • p(x, z; θ) – x: 観測可能な変数 z:観測できない変数 – θ: 観測可能な変数 • データの尤度L(X, θ)を最大化する • E-step – 今のθでのzの期待値q(z|x)を求める ⇒(x,z)のペアの出現回数を数えるだけ • M-step – 今のzでL(θ)を最大化するθを求める
  • 26. Online EM [P. Liang, D. Klein, NAACL 09] • EMは収束が非常に遅い – 品詞推定だと数百回繰り返しが必要との報告も • オンライン学習と同じようにデータを観測 するたびにq(z|x) の期待値を更新する – 回数c(x, z)とc(x)を保持し、q(z|x)は必要に なったときに計算q(z|x)=c(x,z)/c(x) – c(x, z)の更新時は前回のものと今回の結果の線 形補完で行う c(x, z) := μc(x,y) + (1-μ)c’(x,y) • 数回で収束
  • 27. オンラインEM 結果例 観測可能 • 隠れマルコフモデル (HMM) – P(隠れタグ⇒隠れタグ) P(隠れタグ⇒出力) • ohmmを利用 • 日本語の単語推定 – 文数 10万 – 単語数 200万 従来EMは約100回 – 単語種 7万 程度で収束した – 隠れクラス数 20 最初は大きい単語の クラスが決まるだけで あまり意味ない
  • 29. 簡潔データ構造 • 作業スペースが極限まで小さいながら、 操作の計算量が従来データ構造と同じ – 集合・木・関数(連想配列)・グラフ 等 • 多少計算量が大きくなったとしても、全 てを主記憶上に載せるのが最重要 • 非常に実用的な話 – Google IMEはtxの良クローン(rx)を利用し非 常に大規模な辞書情報の圧縮格納を実現 – 最新の全文検索もフル活用
  • 30. 全備簡潔木 Fully-Functional Succinct Trees [Sadakane, Navarro SODA10] • 全操作を効率的にサポートした順序木 – 全操作が一つの基本操作から実現できる • 動的更新も可能で実装は簡単 • 内部ではBP表現を利用 1 2 6 3 4 5 7 8 順序木の例 (番号はDFSの行きがけ順) txが利用
  • 32. ±1関数 • P[0...n-1] 入力ビット配列(BP) • g: ±1関数 – ±1関数:入力が0,1で出力が-1,0,1のどれか – ±1関数は値不変なものを除き6種類 符号を反転させたものを使えば3種類 gの例: π(0) = -1, π(1) = 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 P 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 π 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
  • 33. 基本操作(1/3) sum • i 番目から j 番目の関数値の合計 – sum(P, π, 0, i)はi番目に対応する節点の深さ – sum(P, π, i, j)はiとjに対応する節点の深さ差 sum(P, π, 6, 12)= 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 P 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 π 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
  • 34. 基本操作 (2/3) fwd_search / bwd_search • iより後方で初めて合計がdとなる位置 • 同様に、iより前方で初めて合計がdとなる位置を 返す関数をbwd_searchとする fwd_search(P, π, 4, -1) = 10 g = πの例 1 0 1 0 1 0 -1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 π 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
  • 35. 基本操作 (3/3) rmq, rmqi • iとjの間で合計が一番小さい値を返す – 小さい値を返す位置を返す関数をrmqi – これらの最大値バージョンをRMQ RMQi rmq(P, π, 4, 14) = 10 g = πの例 1 0 1 0 1 0 -1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 π 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 0 1 0 1 0 -1 0 1 0 1
  • 36. 基本操作による木の操作 • next-sibling fwd_search(P, π, i, 0)+1 • parent bwd_search(P, π, i, 2) – d個上の祖先 bwd_search(P, π, i, d+1) • lca(i, j) どちらか含まれるならiまたはj それ以外 parent(rmqi(P, π, i, j)+1) sum(P, π, 4, i)の結果(4に対応する節点からみた相対深さ) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 π 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 3 2 1 0 1 0 1 0 1 0 -1 0 1 0 1 0 -1 -2
  • 37. 基本操作による木の操作(続) • この他の木の操作も全て基本操作と±1関 数の組み合わせでサポート可能 – 従来の簡潔木では操作毎に専用の補助データ 構造が必要だった. • 基本操作を効率的に実現さえすればよい
  • 38. 基本操作の効率的な実現 Range min-max tree [Sadakane, Navarro SODA10] • 完全k分木で子孫中のEの最小値/最大値をm, Mに記録 – E := sum(P, π, 0, i) (i番目の節点の深さ) – 完全k分木なので、これらは配列に記録可能(c.f. heap)
  • 39. Range min-maxを使った fwd_searchの実現 fwd_search(P, π,3,0) を探す =3より後でE=1となる最初の場所 これらは様々なテーブルを駆使すると定数時間で実現できる
  • 40. 動的簡潔木 • PをL~2Lの大きさのブロックに分割 – L=log2n , ブロック数はO(n / log2n) • 追加削除時には適切に分割、併合をする • 最小値/最大値の更新は – O(1/2 logn)の大きさの表を使ってブロック 内の更新はO(log n)時間で可能 – 表の大きさはO(n1/2)=o(n) • 全てO(log n)時間でサポート可能
  • 42. 最小完全ハッシュ関数 MPHF • キーs∈Sから[1..|S|]への全単射の写像 – 完全:キーが衝突しない – 最小:写像先の大きさがキー種類数と同じ ⇒キーを保存しなくても参照できる – このようなMPHF関数を実現するには 1.44n bit必要 – bep hashで検索すると関連資料が 見つかります
  • 43. 連想配列 + MPHF • キーs∈Sと値v∈Vを対応する – 値はw bitで表され w bitの操作は定数時間 • 方針1 : MPHFの返り値を添字として使う – 1.44n bitが勿体無い
  • 44. 連想配列 + MPHF • 方針 2 直接bit配列に写像する – 複数の(MPHFではない)ハッシュ関数を用意 – それぞれの位置からw bit読み込み、それらの xorの結果を値とする – ビット配列の決定はGF2の連立方程式を解く のと等価だが、greedyでも高確率に解ける a b c w bit h3(s) h1(s) h2(s) a xor b xor c = s に対応する値 v
  • 45. Storing a Compressed Function with Constant Time Access [J. B. Hreinsson, et. al. ESA 09] • 値は冗長な場合が多い – 値の出現分布の偏りが非常に大きい – 例:単語頻度を記録する場合、殆どが0か1 • 値をHuffman符号を使って記録する – 符号長の上限を制限し、定数時間を守る – prefix符号なので可変長でも一意に復元可 – さらに擬陽性有のフィルタを利用すると高頻 度の値を1bit未満で格納可能
  • 47. PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing [C. Barnes SIGGRAPH 09] • 彼らのデモをまずみてみます • これらの編集をインタラクティブに行う 鍵がパッチの高速な近傍探索 • パッチ:画像の一部分、中心座標で指定
  • 48. パッチの近傍探索 • 入力:画像Aとパッチ間の距離D • 出力:画像A中の全位置x∈R2でそのパッ チと距離Dで近いパッチの相対位置f(x) – 位置x∈R2と似た画像がy∈R2にある場合 f(x) = y-x とする 似た画像にむけての このベクトルの成分 (相対オフセット)を記録
  • 49. アルゴリズム • 初期化:全位置xでf(x)をランダムに設定 – もし事前知識が使えるならそれを使う • 最適化 – 各位置について左上から右下へ向かって順に次の二 つの操作を交互に行う(次は逆方向) • Propagation: – 隣の位置でより良いオフセットを見つけていたらそ れを使う(隣で良いなら自分のとこでも良い) – D(f(x,y)), D(f(x-1,y)), D(f(x,y-1))の最小値 • Random Search: – 今の候補位置から、全方向に向かって距離は指数的 に順に減らしながらランダムに調べる
  • 50. アルゴリズムの動作例 [C. Barnes SIGGRAPH 09] • 左下の画像だけを使って左上の画像を復 元する – パッチで探索したものを近傍の結果も混ぜて 多数決で各画素の色を決定する
  • 51. Bidirectional Similarity • 元画像Sと対象画像Tの近さを測る – dcomplete TがSの情報を含んでるか – dcohere TがSとは異なる画像を含んでいないか • 多くの編集タスクがこの距離の測り方の変種+ パッチの探索対象の制約で解ける
  • 52. 線による指示の場合 • 元画像S中の指示線Lkを変換後も保つ – Lk上の点piと似ているT中の点NN(pi)を探す – T中の点qjでLk上に似ている点があるものを探す – これらNN(pi)、qjを直線上に射影
  • 54. その他見えた傾向 • 自然言語処理⇒教師無学習の研究が増えた – 教師有学習が伸び悩み、教師無がより強力に – 大量のデータ+高効率な学習器 • データ構造・アルゴリズム⇒現実的な並列化 – GPGPU、MapReduceなどで一気に現実的に • 機械学習⇒大規模化 – tiny images(8000万画像)
  • 55. 最後に一言 • 研究開発は楽しい – 違う分野の話が共通点があったり新発見が あったり楽しい – 一緒にやった方が楽しい – 実装してみるとよくわかる • 今日はクリスマスイブ