Stimulator

機械学習とか好きな技術話とかエンジニア的な話とかを書く

CIKM2017聴講メモ(前半)

- はじめに -

シンガポールで行われているInternational Conference on Information and Knowledge Management (CIKM) 2017に参加した。

workshop day + main conference day (3day) の合計4日間。
メモはその場で書いたものを少し編集しただけで、論文を詳しく読めているものと読めていないものがある。論文読みは別途。
メモだけは長くなりそうなので前半後半に分ける。

全体の所感としては、SIGIRの時と同じく「Deep Learning」「Embedding」「Social Network Analytics」「Knowledge Graph」といった単語がメインでそれらをどうやってレコメンドエンジンやランキングのようなIRに繋げようかという話が多かった。
(まあ、SIGIR協賛に居るから…)

シンガポール外はめっちゃ暑いのに、会場クーラー効きすぎて寒い。
アジアだし中国人が大体4~6割くらい。みんな寒くてコーヒーを飲みに外に出ている様子だった。
セッションが並列だったのでどれ聞いたかはタイトルと勘。

後半も書いたので追記


文献は以下から追える
dblp: 25. CIKM 2017

 

- Workshop -

2017/11/06はワークショップだった。
「登壇者来てないのでこのセッションは2人で終わりです」みたいなのが2回あって、マジかってなった。
聞き取りに必死で、割りと殴り書きメモ。
 

バイオメディカル分析

専門ではないが、DTMBioちょっと気になってたのでバイオメディカル系の話を聞いた。
DTMBio – Data and Text Mining in Biomedical Informatics

CNNでレントゲンから人の身体の異常を見つけるとか、人体の代謝(Human Metabolism)の仕組みを分析して製薬する話を聞いた。
あと、人間の構造をネットワークと捉えれば何種類かに分類できるとか。

大体内容はありがちなDeepNetやk-means等の機械学習器を使っている感じだった。
質疑では、実務系の質問以外にも「よく知られたDeepモデルとハイパパラメータとReLUを使っているが他は試したか」という内容があり、特段試してはないとの事だった。

専門用語が多くて英語だと事前知識がないと厳しかった…

 

ソーシャルメディア分析とスマートシティの実現

SMASC2017

シンガポールはスマートシティを目指してるらしく「シンガポールが国としてオープンデータを提供しているからソレとソーシャルメディアを合わせて解析したぜ!」という話がいくつかあった。

確かPyCon2017の時に聞いたのだけど、シンガポールではタクシーのGPS情報がAPI経由で取得できたりする。
たしかこれ
Taxi Availability-Data.gov.sg

あと都市のあらゆるデータが見れたり
Projects | Cities of Data

加えて、Telcoからユーザ行動ログを貰ったり、バスや監視カメラの画像まで貰って研究が進んでいるとのことだった。

質疑でも「どうやってそのデータを手に入れていくの?個人情報は?」という質問があって、「Academic Power」と応えてたのでスゲーってなった(もちろん解決しなければいけない課題があるとも言ってた)。


上記に加えてソーシャルメディアを分析に使うのはかなり有効で、結果も出るんだけど、データの全体感を掴んでhadoopとか色々適切なツールや分析手法を選ぶのが大事。
適切に時系列を選択したり、ノイズをクリーニングしたり。

街中で行われるイベントを例に出して、Twitterはイベント発生前に何度かバーストして、イベント発生直前に一気に伸びて、発生後は1~2日経ったら余計な情報しか残らないよねってグラフを出してた。


面白かった所だと、タクシー文化だけど実はUberみたいなサービスの方が使われてる(でもタクシー数はほとんど減ってない)とか。

 

Customer churn prediction(顧客解約予測)

顧客の解約予測は、時間にとてもsensitiveであるはず(退会原因のトリガーは必ず直近にある)。
だが、原因になる要素は複数あるし、その時間軸もユーザによって違うので「データの不例が定義しにくい」課題がある。

そこでSupervised learningではよくないのでPU learning使いますという話。
長期間のデータの分析結果と短期間のデータに対してPU learningモデリングした結果を見比べるアーキテクチャを提案。

PU Learningは、不例データが定義しにくい場合に使う手法で以下辺り見ると良い。
Elkan and Noto (2008): Learning Classifiers from Only Positive and Unlabeled Data | LingPipe Blog
PU Learning: Learning from Positive and Unlabeled Examples
正例とラベル無しデータからの学習 (PU classification) – nktmemo

すごくシンプルに解決できていた(ように見えた)し、一般的に解約予測で言われるような経験則よりAUC良かったので、まあそういう方向性もあるかという感じ。
質疑で「データの公開はあるか」と聞かれて「自社データなのでないです」と答えていたので本当に使えるかは謎。
ちょうどIBISでもPULearningが話題に上がったらしいが…

 

ソーシャルにおけるSinglishの分析

bigtransport17

ソーシャル分析って良いけど、多言語とかローカル性があってノイジーだから気を付けないとという話。

特にシンガポールには、英語ベースだけど中国や東南アジアの訛が混ざった「Singlish」というやつがあって、本当最悪みたいな話からスタート。
前処理における名前やURL、ストップワードの調整などを紹介。

word2vecしてLSTM、CNNに突っ込んだという話だった。


日本語Twitterも難しいから「そうだよね…つらいよね…」ってなった。

それでもw2v + LSTMである程度まで解析できるのですごい。

 

ユーザのなりすまし判定

ユーザの行動ログをDeepに突っ込んで、なりすましで金持ってく悪いユーザを検出した試みの話。
KDDやICMLでも見たGradient Boosting Decision Tree (GBDT)でfeature transformationしてConvolutional Neural Network(CNN)に入れるやつを使っていた。
GBDTを使ったfeature transformationの適用例

行動ログと端的に言っても、アクセスログや閲覧時間、視線追跡データ等があり、それら形式の違うものを組み合わせられるのがGBDTでfeature transformationする利点。

実際にあるアプリに組み込まれたみたいな話があり、悪徳ユーザを判定してloginされたら真ユーザにNotificationするだけで不正利用件数自体が減るらしい。

素晴らしいなと思ったが、この悪徳ユーザ判定でどれほど金が掛かってるんだろうと思った。
GPUパワーで殴り倒す感。

 

- Conference(2日目) -

Keynote: Machine Learning (Amazon)

Machine Learning @ Amazon

Amazon内ではレコメンド以外にも倉庫内で動くドローン、ロボットのチューニングも機械学習でやっていて、ノウハウをいくつか紹介(大体他企業と変わらないが)。シンプルなベイズモデルから製作し、チューニング。後に複雑なモデル、アーキテクチャに拡大していくとのこと。
「Washing Machine Learning」という単語を出し、機械学習器を定期的に洗浄し精度とデータの時系列性に対応しましょうねとも。

画像から商品を探すビジュアルサーチ、声で探すボイスサーチ、Botも作っている。
商品サマリの生成、商品サイズのレコメンド、離脱ユーザや新規ユーザもそれぞれモデル作ってる。
そういった研究がユーザに還元されていく予定。

Amazonユーザが返品する大半の理由が「商品のサイズ」と言っていたけど、実際は「商品に不満があったのをとりあえずサイズって答えてんじゃねーの…」とちょっと思った。

AmazonもDeep!Embedding!でどうチューニングしていくかを模索しているようだった。

ポケットに手を入れイカしたシャツの人だった

 

Multimedia

Jointly Modeling Static Visual Appearance and Temporal Pattern for Unsupervised Video Hashing

論文: Jointly Modeling Static Visual Appearance and Temporal Pattern for Unsupervised Video Hashing

動画データというのは概ねshort-termなActionの集合であるはずで、textやspeechに対してLSTMでやっているようなhash code化する工程が適応できるはずという課題感。

動画データは視覚的外観と時間的外観がありそれぞれ強みがある。
それぞれ対応するために、Temporal EncoderとAppearance Encoder&Decoderを組み合わせたアーキテクチャを提案。
f:id:vaaaaaanquish:20171112155905p:plain
半教師あり学習も適応できるため、学習データが少ない場合でも適応できそう。

ActivityNetとFCVIDの大規模動画データセットでテスト。
ビデオフレームの平均とPCAを利用する教師なしハッシュ化手法のIterative Quantization(ITQ)、ハッシュコードの平均値を使うMFH、LSTM形式でBinaryコードを吐くように教師なし学習させるBLSTMと比較。
全ての手法に対して優位な結果が得られていた。
ITQ: Gong, Yunchao, et al. "Iterative quantization: A procrustean approach to learning binary codes for large-scale image retrieval." IEEE Transactions on Pattern Analysis and Machine Intelligence 35.12 (2013): 2916-2929.
MFH: Song, Jingkuan, et al. "Multiple feature hashing for real-time large scale near-duplicate video retrieval." Proceedings of the 19th ACM international conference on Multimedia. ACM, 2011.
BLSTM: Zhang, Hanwang, et al. "Play and rewind: Optimizing binary representations of videos by self-supervised temporal hashing." Proceedings of the 2016 ACM on Multimedia Conference. ACM, 2016.

 

Construction of a National Scale ENF Map using Online Multimedia Data

論文: Construction of a National Scale ENF Map using Online Multimedia Data

電源周波数(Electrical Network Frequency: ENF)を解析する方法やハードはいくつかあるけど、YouTubeUstreamみたいなストリーミングで得られるデータから正確に解析する手法ほしい。出来たら違法なUst生放送とかやってる個人の住居特定等に繋げられるはず。といったモチベーション

信号処理をいくつかカマした後に、データを分割してオーバラップして地図上にビジュアライズしたよ(ENF Map)という発表だった。
短時間フーリエ変換(STFT)を拡張したGIFFTを使いましたというのが新規性(だと思う)
信号処理ワードが何個か分からずだった

高専の時の卒論とかで似たようなアイデアを見た気がする。
demo動画とデモサイトあるよって言ってたと思うんだけど、デモサイトはURLでググっても出てこなかった…
www.youtube.com


質疑では「IPアドレスや身体的特徴(Move band等から得られるやつ)ではダメなのか?」みたいなのがあったが、特徴量が1つ増えるし地方レベルで割りと正確に場所を特定できるから良いみたいな感じだった。

あとは、アメリカのデータで実験していて中国でもやりたいとか、BroadCastに拡張したいという話をしていた。

 

Dual Learning for Cross-domain Image Captioning

論文: Dual Learning for Cross-domain Image Captioning

画像からのCaption生成タスクでは、データ作りに時間と費用がかかるので、Cross-domainに学習できるアーキテクチャを提案してsource domain -> target domainの順に学習できるようにしたという内容。
転移学習(transfer learning)的な事をして環境に頑強なモデルを作りたいといったモチベーション。

アーキテクチャ図を以下に引用
f:id:vaaaaaanquish:20171112183911p:plain
メインとするImage Captionの生成はDeepなLSTM、それと並列に画像合成(Image synthesis)タスクを行うGANを走らせている。
pre-trainingさせておくことで、画像データの分布を学習した状態のGANの結果を使いながら文章生成に移れる。また、どちらも半強師あり、教師なしを交互に組み合わせて使う事ができるので、targetにする学習データは少なくて良いよという内容。

キャプション生成はCNNとLSTMを別に学習して織り交ぜるDeep Compositional Captioner (DCC)、CNN-LSTMモデルの拡張であるShow, attend and tell model (SAtT)、Show, Adapt and Tell (SAdT)と比較。pre-trainingはMS COCOでAdam等である程度最適化していた。FlickrとOxfordのデータセットをtargetにして学習。

DCC: Anne Hendricks, Lisa, et al. "Deep compositional captioning: Describing novel object categories without paired training data." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
SAtT: Xu, Kelvin, et al. "Show, attend and tell: Neural image caption generation with visual attention." International Conference on Machine Learning. 2015.
SAdT: Chen, Tseng-Hung, et al. "Show, Adapt and Tell: Adversarial Training of Cross-domain Image Captioner." arXiv preprint arXiv:1705.00930 (2017).

結果も良く、出てくる文章がかなり良さそう。
f:id:vaaaaaanquish:20171112184910p:plain

ただそれにしては複雑すぎるアーキテクチャのような気がしないでもないが…
「GANが不安定」というイメージが強いのでその辺どうなんだろうと思った。

A New Approach to Compute CNNs for Extremely Large Images

論文: A New Approach to Compute CNNs for Extremely Large Images

Art Transferの新しいモデルの提案。
画風変換だが、デカい画像を学習させようとすると複数GPUを使うことになるが、モデル複数並列にしてもモデル並列にしても結論ちょっとつらい。なので、bulk synchronization parallel(BSP)なる機構で高速な学習を実現するアーキテクチャを提案。

f:id:vaaaaaanquish:20171112194713p:plain:w300f:id:vaaaaaanquish:20171112194717p:plain:w300

単純にやるとCoordinatorなるメインのworkerに対して各GPUに遅延が発生するのだが、同じCNNカーネルを利用しても良いんじゃないかという提案だと思われる。

発表の多くが結果の説明でアーキテクチャの部分がイマイチ把握しきれていないが、生成する画像も良く画像サイズを大きくしていった時にも早い速度で学習することが可能になっている。

f:id:vaaaaaanquish:20171112195452p:plain
f:id:vaaaaaanquish:20171112195107p:plain

あまり詳しくないが、ちゃんとやらないとマズいなあと思っているジャンルのひとつ。

 

Network Embedding

このセッションに関して調べてるついでに以下見つけたのでハッピー

論文: From Properties to Links

ネットワークはubiquitonsだし応用先も多い。クラスタリングとかリコメンドとか。
UserProfileみたいなmetadataの変化とネットワークの変化をMultiViewに埋め込みたい。
加えて静的なGraph Embeddingする手法だとDeepWalk、LINE、GraRep、Node2Vec、SDNE、TADW辺りがあるが、やっぱりグラフというのはDynamicなもので、新しいNodeがきたり情報が変化した時に動的に学習できれば最高だよね。というのがモチベーション。

Graphの変化があった場合に再学習できるようCorrelation-learningを取り入れたGraph Embedding手法であるMultiView Correlation-learning based Deep Network Embedding method(MVC-DNE)を提案。

ベースはAuto Encoder状のネットワークで、添字となっているPTはマルチビューとしている2つの空間である(例えばTがネットワーク構造の情報で、PがNodeに含まれるmetadataとか)。

f:id:vaaaaaanquish:20171112211216p:plain:w300f:id:vaaaaaanquish:20171112211220p:plain:w300

Naive combinationとの組み合わせが効いてた。
新しいNodeが挿入された場合の追加での学習においてもCiteseerGoogle+、DBLPデータセット全てにおいて、AUC、classification等良くなっていた。

DeepWark: Perozzi, Bryan, Rami Al-Rfou, and Steven Skiena. "Deepwalk: Online learning of social representations." Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014.
LINE: Tang, Jian, et al. "Line: Large-scale information network embedding." Proceedings of the 24th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2015.
GraRep: Cao, Shaosheng, Wei Lu, and Qiongkai Xu. "Grarep: Learning graph representations with global structural information." Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. ACM, 2015.
Node2Vec: Grover, Aditya, and Jure Leskovec. "node2vec: Scalable feature learning for networks." Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2016.
SDNE: Wang, Daixin, Peng Cui, and Wenwu Zhu. "Structural deep network embedding." Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2016.
TADW: Cheng Yang, Zhiyuan Liu, Deli Zhao, Maosong Sun, and Edward Y Chang. 2015.
Network Representation Learning with Rich Text Information.. In Proceedings of
the 24th International Joint Conference on Artificial Intelligence. 2111–2117.

 

Learning Community Embedding with Community Detection and Node Embedding on Graphs

論文: Learning Community Embedding with Community Detection and Node Embedding on Graphs

コミュニティの検出したいという内容。
既存では、DeepWalk、LINE、GraRep、Node2Vecなど埋め込みでやる代表的な手法各位以外に、コミュニティ検出向けモデルのSpectral、DNR、M-NMF、などがある。

良いところどりしたComEを提案。
Community DetectionとCommunity EmbeddingとNode Embeddingの手法をそれぞれ使いながら、その情報によってコミュニティを出していく。グラフが G=(V,E) で表されるとき、 O(|V| + |E|)でコミュニティをスケーラブルに推論できるアルゴリズムを提案。
加えてロス関数やパラメータを色々試して競ってみてる。

Githubでコードも公開しているので良さ。


Spectral: Tang, Lei, and Huan Liu. "Leveraging social media networks for classification." Data Mining and Knowledge Discovery 23.3 (2011): 447-478.
DNR: Yang, Liang, et al. "Modularity Based Community Detection with Deep Learning." IJCAI. 2016.
M-HMF: Wang, Xiao, et al. "Community Preserving Network Embedding." AAAI. 2017.

 

Attributed Network Embedding for Learning in a Dynamic Environment

論文: Attributed Network Embedding for Learning in a Dynamic Environment

やりたいタスクは2つ上のと同じで、ネットワーク+ユーザデータとなっているデータを分析するためにEmbeddingしたいという話で、ネットワークは新しいNodeやEdge、ユーザデータはPostやEventで更新されるから動的にやりたいよねというモチベーション。

Dynamic atributed network embedding(DANE)を提案し、静的な状態で行列によりそれぞれのデータを埋め込む方法と、埋め込み時の行列の変化を勾配にして学習していくオンライン埋め込み法を提案している。

いまいちアルゴリズム追い切れてないので、ちゃんと論文を読まないと把握無理そう。

 

Learning Node Embeddings in Interaction Graphs

論文: Learning Node Embeddings in Interaction Graphs

根本解きたいタスクは上記と同じ。ただネットワークにおけるNodeには、ユーザのデータとトランザクションデータのように、エンティティと時間的なEdgeが複合している場合がある(時系列データと時系列情報が同じネットワーク内にあるような場合がある)ので、そういったタスクでも解けるようにInteraction Graph Embedding(IGE)を提案。

f:id:vaaaaaanquish:20171112220123p:plain:w300f:id:vaaaaaanquish:20171112220420p:plain:w300

IGEは複雑なモデルではなく、複数の種類のデータを合わせて入力できるような構造にしたよという話なので、比較先もPV-DM、node2vec、APEとなっていて、 DBLP、PPD、Stock、Yelp各データセットでclusteringして良さそうな結果。
かなり特定の状態の時に使えるモデルかなというのが所感。

Doc2Vecとかはじめて見たの2年前なのに、Embedding相当進歩してんなあと思った。

PV-DM: Le, Quoc, and Tomas Mikolov. "Distributed representations of sentences and documents." Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014.
APE: Chen, Ting, et al. "Entity embedding-based anomaly detection for heterogeneous categorical events." arXiv preprint arXiv:1608.07502 (2016).

 

Temporal data

Covering the Optimal Time Window Over Temporal Data

論文: Covering the Optimal Time Window Over Temporal Data

いまいち掴みきれてないが、「時間軸で数を最大化するある区切られた時間窓を決定する問題」をthe optimal time window covering algorithm(OTWC)と呼び、OTWCへの2つの対応策を提案。

これは例えば、A、B、Cさんが一番長くミーティングに参加できる時間は何時から何時まで?みたいなタスク。

sliding time window algorithm(STW)とalgorithm based on Timeline Index(TLI)の2つで時系列での複雑な方が後者。
タスクを命名していたが普通に探索問題な気がした。

 

Scaling Probabilistic Temporal Query Evaluation

論文: Scaling Probabilistic Temporal Query Evaluation

時系列knowledge graphsに対するquery評価という課題に対してPRBAbilistic Temporal Query Evaluation(PRATiQUE)フレームワークを提案。

KnowledgeGraphに疎く、Google’s Knowledge Vault、NELL、YAGO、DeepDive、ReVerbといったKGsと呼ばれるKnowledge Graphの形式がある事すら知らなかったのでなかなか苦しかった。

Knowledge Graphもう少し勉強しないと...

 

Efficient Discovery of Abnormal Event Sequences in Enterprise Security Systems

論文: Efficient Discovery of Abnormal Event Sequences in Enterprise Security Systems

NEC labで研究されている侵入検知システムの話。Intrusion detection system (IDS)。

「異常検知」で言うところの「異常」はLowレベルな異常行動の塊である。たとえば、変なディレクトリ参照して -> 権限見て -> 書き換えて…のような一連の行動。

コマンドログをグラフベースにし、異常な行動をしている人が居たら検知するというフレームワークの提案。
f:id:vaaaaaanquish:20171118182902p:plain

中身は単純なTop Kのように見えたけど、毎分約200万レコード処理できて正確に侵入検知ができるようになっているとのことだった。

  

Temporal Analog Retrieval using Transformation over Dual Hierarchical Structures

論文: Temporal Analog Retrieval using Transformation over Dual Hierarchical Structures

古いオープンデータとかアクセスできても、古い用語や言葉遣いに困るので、時系列で類義語見つけて新しい言葉でも表現できると良いよねという話。

時系列順に階層状にクラスタを構造して、そこから追っていくアーキテクチャを提案。
すごい精度が上がっていたがデータセットがいまいちわからなかった。

確かにウォークマンとかiPod的なやつって言わないと分からんよなあ…ってなった。

 

おわりに

Temporal dataの話聞いたのだけど、正直ぐぬぬって感じだった(理解と英語で処理能力足りなかった)。
また勉強しなきゃという感じ。

スタートではDeep Learningの勢いがすごいですねえ!みたいな話とワードクラウドを見た。


2日目はReceptionとしてご飯食べながらポスター発表もあった。
そこもやはりDeep Learningで色んなデータをConcatして優勝、動的なKnowledge Graph、RankNetみたいな話が多かった。流行り。
本当に刺激的な1日だった。


1日目終わってから行ったマーライオンさん
https://pbs.twimg.com/media/DN8LOiNUEAApgIg.jpg
俺の会社での態度くらいデカい