skip to Main Content
MACHINE LEARNING Meetup KANSAI #4 レポート

こんにちは, Hacarus でデータサインティストインターンをしております, イ ウンソウです.

 2019/3/27, 第4回  MACHINE LEARNING Meetup KANSAI が開催されました.このイベントは関西のIT企業が共同運営している機会学習の勉強会です。

今回はグランフロント大阪にある, さくらインターネットさんにて開催されました. 夜景もさることながら, 広くてバーカウンターのあるフロアは会社のオフィスとは思えないくらいスタイリッシュでした.

 

Hacarus の CTO, 染田のイントロダクションにもありましたが, 今回もテーマは「機械学習の泥臭い話」です. 機械学習の世界にいると, 「あのアルゴリズムが精度何%出た ! 」とか, 「このネットワークは従来のそれより素晴らしい !」 といった話を耳にしますが, 機械学習を実務で応用している現場ではそう上手く行くことばかりではなく, その苦労話や, どう乗り越えたか, などの情報を共有できる場にしたい, ということでたくさんの人が集まりました.

 

 さくらインターネット 熊谷さん

 

 最初のスピーカーは, 会場を提供していただきました, さくらインターネットの熊谷さんからです.

熊谷さんは, もともと情報科ではないのですが, 材料工学を専門にされていて, 研究に機械学習を使うこともあるそうです. そういった背景から,  「材料工学的視点からの機械学習のアプローチ」についてお話しいただきました.

材料工学では GCNN (Graph Convolutional Neural Network), Neural Finger Print, Graphical Lasso などのアルゴリスムを使って, 目的の物質を作るために必要な材料の組み合わせを予想するようなことがあるそうです.

熊谷さんは, これらの中からアルゴリズムをさくらインターネットの業務に活かせないか, と考え, GCNN や Graphical Lasso でトラフィックの異常検知に挑戦しました. ある程度は望み通りの結果が得られたのですが, トラフィックが全く無いときにも異常として検知されてしまうなどの苦労もあったようです.

また, 機械学習とは直接関係ありませんがエンジニアのパラレルキャリアについての話題や, さくらインターネットさんらしい, 未来のデータセンターの構想についてのお話もあり, 序盤から濃厚なトークでした.

 

Keyence 能見さん

次は, Keyence で B2B 製品のための CV/ML 分野の開発をしながら OSS や kaggle で活躍されている能見さんから, *kaggle で学ぶ特徴量エンジニアリング* についてです.  

 

能見さんの「kaggle をご存知ですか」の問に, 会場の殆どの方が挙手していて, 今や ML界隈で kaggle を知らぬ者はいないのではないかというほど浸透していますが, 実際に参加したことはないという方は案外多いのではないでしょうか. かくいう私もチュートリアルをやった程度ですが, 能見さんのお話をきいて, 実際に参加しなくてもいいから, kaggle のテクニックを知っておくことは実務に置いても非常にアドバンテージになるのではないだろうか, と思いました.

 

例えば, Target Encoding というものがあります. 従来, カテゴリカルデータを扱うときには, One Hot Encoding や Label Encoding が使われることが多いですが,   Target Encoding は, 目的変数が真偽値ならカテゴリごとの確率を、数値ならカテゴリ毎の平均を特徴量とするといった手法になります.

また, 複数テーブルがあるときに, いろんな種類の組み合わせを目的変数にしたり, カテゴリ間の変数どうしで差や,比をとってそれを追加の特徴量とする方法もあります.いずれにせよ, 闇雲にやるよりは, 意味の有る組み合わせを考える方が効率的なので, そのためのドメイン知識をつけるのも, 機械学習エンジニアリングに必要なことかもしれないですね.他にも特徴量をつくるための様々な手段があり, データをこねくり回す様子は, まさにテーマ通り, 「泥臭さ」を感じました.

 

パソナテック 夏谷さん

 

もともと専門が機械学習畑ではないベテランエンジニアの夏谷さん(@natsutan)ですが, 精力的に機械学習を勉強したり, 実装したりしていて, そのエネルギーには悔しくなるくらいでした.

表題は, 「AI に UFO を検出させたい」 です. 訳すと, 機械学習で未知の物体を検出したいといったところでしょうか. つまりタスクとしては異常検知になります. 本日二度目の異常検知の話題ですね. 具体的には砂漠の画像を正常と仮定して, 砂漠にないものが写ったときはその部分を異常として検出します. keras で書いた Auto Encoder のコードをネットで拾ってきて使ったそうです.

初め, 教師画像に一面が砂丘の画像を用いたそうですが, それでは空が写ったときに, 空が異常として検出されるので, 空と砂が同時に写っている画像も混ぜたそうです. このような工夫はまさに特徴量エンジニアリングといった感じで, エンジニアの手腕が光ります.

結果として, 学習したモデルに未知の物体を含む砂漠の動画を入力して, 異常部分が白, 正常部分が黒になるようヒートマップにしている動画を見ました. 崖や車など, 本来砂漠にはないものが上手く検知されているように思えました.

メインセッションは以上で, ここで一度乾杯しましたが 80 人近くの方が集まったこともあり, すごい盛り上がりで, メインセッション中の静けさが嘘のようでした.

 

懇親会がスタート!!今回のケータリングは551の豚まんです🐷

 

 5分間のライトニングトークタイムです.

Hacarusの増井が*スパースモデリングでできること*を発表しました.

Fused Lasso と Generalized Lasso の説明と実用例の解説がありました.  実例では, 大腿部の X 線画像に, 大腿骨の中心線を引くということに成功しています. X 線画像は, 骨だけでなく筋肉や脂肪などがノイズとして映るのですが, Generalized Lasso でうまく骨のエッジを検出できた例だと思います.

 

その他, ミドルウェアのチューニング自動化を目指して四苦八苦していたり,  データをどうつくるかを突き詰めて, UI, UX が理想的なアノテーションツールを開発していたりと, 機械学習によってみんなを楽にするために, 苦労している技術者が沢山いて, これこそがエンジニアリングだなあとしみじみ感じました.

かくいう私も現在, Hacarus にてデータ解析, 機械学習モデリングをしており, 四六時中 jupyter notebook と睨めっこをしておりますが, 今回登壇している方々のお話を聞いていると, 知識も経験も足りないことを痛感します. みなさんとても個性的で, それぞれの分野でそれぞれ違う努力をされていて, 自分もただ技術を追うのではなくオリジナリティを探していこうと思えました. 有用なのはもちろんのことながら, 楽しく活気のある会でした.

運営企業のみなさんでパシャリ📸

 

追記:さくらいさくらインターネット坪内さんのレポートブログ