Entertainer Engineering

人を楽しませられる技術者を目指すあおかびんのブログ

TFUG okinawa vol.1 に参加した話

こんにちは、aokabinです。

今回は昨日あったTFUG Okinawa vol.1に参加して来ました。
tfug-okinawa.connpass.com

ちゃんとブログ書かないとですよね、書きます。

TFUG とは

TFUG(ティーフグ)とは、TensorFlow User Groupの略で
Googleが出している機械学習&数値計算ライブラリのTensorFlowについて勉強していくコミュニティ(だと思っている)です。

その沖縄版第一回が開催されたので、あんまり機械学習とかに詳しくはないですが参加してみました!

Yabooさんパート1 TensorFlowを用いた深層学習活用事例

GoogleのYabooさんが話をしてくれたのは実際にどのようにしてTensorFlowが実務で使われているか、という活用事例のお話でした。
実務での利用もさることながら、TensorFlowのバージョンアップの話、コミュニティの話等々もされていて
個人的に一番興味が惹かれたは multi-node に学習をすることができる、という部分です。

現在僕が分散処理系の研究室におり研究も複数ノードで分散処理させるつもりだったので
機械学習はmulti-nodeで学習するのは難しいだろうな」
と思っていた矢先に「TensorFlowはmulti-node間で学習ができる!」というお話を聞いて衝撃を受けました。

もちろんネットワークのオーバーヘッドや学習モデルが収束しないことがある問題、モデルの適切な評価を行えない問題等々はありそうでしたが
それでもできなくはない、ということを聞いて僕の研究自体にも意義がありそうだなと感じました。

藤原秀平さん TensorFlow 入門の入門

現メルペイの藤原さんによる、TensorFlow入門のための入門のお話でした。
このセッションでは
Python数値計算ライブラリの代表格であるNumPyの行列計算とTensorFlowの行列計算とでは何がどう違うの?」
という疑問に答える形のセッションで、
実際に藤原さんが用意した資料をもとに、Colaboratoryを使ってハンズオン形式で理解を進めていくというものでわかりやすかったです。

NumPyはインスタンス生成時に行列として計算がされるが、
TensorFlowでは流れを最初に定義しておいて、後から必要な箇所だけ実行する、ということができるというお話がありました。

具体的に機械学習数値計算の際にそれがどういいのかは理解はできていないのですが
定義と実行を分ける良さはわかる気がするので、フローが複雑で計算量が大きい機械学習においては
必要な時に必要なだけ実行できるということがとても大事なんだろうな、と漠然と考えています。

資料はここに上がっていました。
docs.google.com

Yabooさんパート2 TensorFlow APIs

再度Yabooさんのパートにうつり、今度は藤原さん同様Colaboratoryを使って再度ハンズオン形式でTensorFlowを触ってみるセッションでした。

こちらでは、TensorFlowの中でもいわゆる数値計算に近い部分のLow-level APIから始まり
通常機械学習のフローを組む場合にはこういうステップでやっていくよ、長いけどTensorFlowでやろうとするとこんな感じ、というMiddle-leve APIの話をし、
最終的にはEstimetorという「いいと言われているモデルを勝手に作ってチューニングもいい感じにするよ」的役割を担ってくれるHigh-level APIの説明するという
超絶ボリューミーなハンズオンのセッションでした。

実際、機械学習に興味があって触ってみたい、という人も参加対象としていた勉強会だったため
全く触ったことがない人にとっては難易度が高いというか理解するのも極めて大変みたいな状況だったかとは思いますが
個人的には「わからないことはいっぱいありそうだけど、この資料に機械学習のセオリーと場合による使い分けが書いてあるから、実際に作ろうと思った時はこれを参考にしよう」
と思えた程度には理解した(≒ 理解していない)ので非常にいいセッションだったかなと思います。

何か困ったらYabooさんに直接聞けばいいかなとか思ったり?笑←

知らないことが減り、わからない部分は増えましたが、わかることも増えた、ということを実感した時間だったなぁと思います。

LTパート

LTパートでは、個人的にはやはりKubaさんの話が面白かったです。
いや、やりたいことはわかって、やっていることは全然わからなかったんですけど、いいコードの所在をしれたというのは大きい。
github.com

まとめ

総じてとてもいい勉強会だったなぁと感じます、というか個人的な興味のところが深掘りできてよかった。

懇親会でもMulti-Nodeの話を詳しく聞けたし、満足度の高い勉強会でした!
また次回は三ヶ月後らしいので、その時も参加しようと思います!オーガナイザーの方々、ゲストの方々、ありがとうございました!

P.S. 7/17にOkinawa.goの初心者向け勉強会があるよ!みんな来てね!(県外からも大歓迎!)
okinawa-go.doorkeeper.jp