自己紹介
名前: 中西克典
所属: 有限会社 来栖川電算
twitter: @n_kats_
昔: 学生の頃は幾何学分野の多様体とかのトポロジーをやっていた(伏線)
近況: 今日話すこと
話すこと
- グラフを扱うネットワークが面白そう
- TF2.0やってみた感想
ここ数ヶ月やったこと
- 研究会でグラフ系ニューラルネットの論文を読んだ
- 12月にgraph_netsについてTFアドベントカレンダーを書いた(リンク)
- 1月末にお試し版TF2.0の記事を書いた(リンク1, リンク2)
- グラフ系ニューラルネットのライブラリを構想するも挫折
グラフ系ニューラルネット
グラフとは
- 点と辺があって繋がっている奴、ネットワーク。
- 辺に向きがある奴もいる。
- もっと拡張して、点と頂点があってそれぞれ情報を持っている(ベクトルとかで)
グラフが出てくる問題
- 分子構造
- SNSの繋がり
- 論文などの参照・被参照
- 点群
- 3Dメッシュ
グラフ系ニューラルネット
GCN(graph convolutional network、グラフ版畳み込み)
CNNで3x3の範囲を畳み込みする感じで、隣り合った頂点の値に重みを掛けて足す畳み込みを使う。
CNN(画像) | GCN | |
---|---|---|
形状 | グリッド状 | 自由 |
層 | 各グリッドにベクトル | 各頂点にベクトル(嘘) |
ライブラリも充実
- graph_nets(deepmindのライブラリ)
- pytorch_geometric(pytorch用のライブラリ)
- chainer_chemistry(chainer用のライブラリ)
面白そうな点(グラフこそ最強)
- 非定型
- 画像・文書以外のテーマ
- 点群とか3Dメッシュみたいな幾何学的な対象を扱う(自分向け)
- ニューラルネットもプログラムもグラフ
TF2.0プレビュー版
TF2.0(TensorFlow2.0)
- 1月、プレビュー版公開
- 3月、alpha版公開
- 春、リリース
特徴
- TF1系のコードを整理
- eagerモードがデフォルト
- tf.kerasが他を駆逐
- tf.functionが強い
めっちゃ変わるけど大丈夫?
TensorFlow2.0の傾向と対策 〜 TensorFlowの消失に書いたこと。以下は消滅(隠される)
- tf.Session
- tf.train.XXOptimizer
- tf.placeholder
- tf.get_XX
とかとか
基本的にTF1系のコードは修正が必要
記事には「めっちゃ変わるやん」みたいな感想が散見(twitterをエゴサ)
TF1系のライブラリ
- tensorflow/modelsの諸々
- sonnet deepmindのTFラッパー
- graph_nets sonnet利用
などなど
sonnet2.0が来るらしい(Sonnet 2.0 (TF Dev Summit ‘19)
)
よし、TF2.0でグラフ系ライブラリを作ろう
1月中旬
- pytorch_geometricを勉強するついでにやってみよう
- graph_netsとかと扱うグラフの範囲が違う
- graph_netsも抽象化が足りなくね?一般化しよう
2月
- TF2.0変わりすぎ。ヤバイ・・・
- TF2.0とかPyTorchとかchainerとか、機械学習ライブラリに寄らないプログラムを書くのがTF2.0時代のベストプラクティスな気がする
- 計算グラフもグラフ
機械学習ライブラリに依存しないグラフライブラリを作って計算グラフを扱えばいいじゃない
...
..?
???
挫折しました
あれ、これって何を何するライブラリなんだ?
この抽象化要らなくね?
お仕事が〜