Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
kntn02
Search
hikalium
January 14, 2017
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kntn02
https://github.com/hikalium/kntn02
hikalium
January 14, 2017
Other Decks in Programming
See All in Programming
Railsバージョンを4倍にした話
optim
0
350
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
ActionController meets Protocol Buffers
sorah
0
520
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
カツオ、ご期待ください
suneo3476
0
190
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
550
The Rails Doctrine Decade
koic
2
590
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Test your architecture with Archunit
thirion
2
2.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Amusing Abliteration
ianozsvald
1
350
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Transcript
None
目次 ・手法の検討 ・実装の詳細 ・結果 ・まとめ
手法の検討
元のデータは一体…? ・ある「モデル」で生成されている → 誰かのDNA配列? 画像データ? → モデルを推定できるだろうか?
正解データrefの視覚化
法則はなさそうに見える ・目で見るのは限界がある ・周期性を見つけたい → フーリエ変換!
ランダム 正解データ 視覚化したデータのフーリエ変換像 ランダムなデータと正解データは異なる!
統計的解析 xとなっていた文字の分布 a b c
統計的解析 正解文字列中の3-gram 分布 同じ文字が連続しない場合 (12パターン) 同じ文字が2連続する場合 (12パターン) 同じ文字が3連続する場合(3パターン)
統計的解析からわかること 同じ文字が連続して出現する可能性は低い 連続しない: 79.0% 2文字連続: 19.8% 3文字連続: 1.2%
セグメントの解析 セグメントの長さと個数の分布
セグメントの解析 長さで重み付けたセグメントの長さの分布
そもそも精度100%は可能か 不可能 1文字のセグメント:1700個ほどある 生成モデルも不明 (実は機械学習も試したがダメだった)
2種類の手法の組み合わせ 1. 確実に修復 → 修復した箇所は100%正解 2. 確率的に修復 → 誤った修復をする可能性あり
実装の詳細 〜確実に修復〜
確実に修復 利用可能な情報:2種類 T' = 虫食いデータ Segment = 切れ端 → 全部つなげると元の文書になる
セグメントの配置決定 T'とセグメント情報を利用 → 挿入可能offsetをリストアップ xを無視した完全一致をとる 挿入可能offsetが一つしかないSegment → そこに配置するしかない = 決定!
セグメントの配置決定 セグメントを配置 → 配置可能箇所が減少する可能性 セグメントは重複しないため → 他のセグメントが決定可能になるかも → これ以上決定できなくなるまで反復
セグメントの解析結果 25文字以下のセグメント → ほぼ確定不可能 35文字以上のセグメント → ほぼ確定できる
セグメント配置の高速化 毎回検索していては遅すぎる! → 配置可能ofsのテーブルを 最初に生成 そのテーブル生成も遅い! → prefixツリーをその前に生成 → テーブル生成を10秒に短縮
実装の詳細 〜確率的修復〜
1: もっともらしいoffsetに配置 セグメントの配置先範囲に含まれる… ・多くのa,b,cで一致しているoffset かつ ・a,b,cの数が一定以上のoffset に優先的に配置する
2: 長いセグメントから配置 長いセグメントほど置ける場所は少ない → 正解の可能性が高い と考える →長いセグメントで上書きしていく (確定的に配置された部分は上書きしない)
結果
None
入力データT'の視覚化
確実に修復されたセグメント 全体の14.5%程度
さらに確率的修復をした結果
正解データと比較
テストデータにおける実績 test1 83.46% test2 83.50% test3 83.32% test4 83.68% test5
83.42%
テストデータにおける実績 だいたい30秒以下 on 1.3 GHz Intel Core i5 (きっと計測環境はもっと速いはず…!)
まとめ
まとめ 速度と精度のトレードオフはよくとれた しかし 精度はそこまで上がらなかった → 決定的なモデルではなくて 確率的モデル?
Contributors
Source Code https://github.com/hikalium/kntn02