
2018-06-15 にヤフー株式会社 大阪グランフロントオフィスにおいて MACHINE LEARNING Meetup KANSAI #2 が開催されました。第一回目の開催から約 2ヶ月後の開催となりました。おかげさまで今回も参加者募集を開始してから多数の応募をいただき参加者枠がすぐに埋まりました。皆さんの機械学習への関心の高さを感じます。書籍ではなかなか知ることのできない実体験に基づいた内容を伺い知ることのできる機会はやはり貴重なのかなと思います。
今回も学生のレポートで内容を紹介します。
こんにちは、データサイエンティストとしてハカルスで働いている山森と増井です。
去る6月15日、MACHINE LEARNING Meetup KANSAI(MLM-KANSAI)の第二回が開催されたので、その様子をお届けします。今回の開催場所として、グランフロント大阪にあるヤフーさんのオフィスをお借りしました。さすがヤフーさんといったところで地上37階にある会場からの眺めは圧巻の一言です。
さて、第2回の開催となったMLM-KANSAIですが個人的な開催趣旨の解釈を述べさていただきます。
それはずばり泥臭い話を聴く&喋る会です
機械学習の理論的な講演というよりも、より実務に沿った方法論の講演が中心の会議です。また、会の後半からはMeetupが開催され双方向のコミュニケーションを通して参加者側の実務上の経験や課題なども積極的に共有しています。
特に今回の話題はデータの選別と計算資源上の課題が多かったように思います。
それでは、個別のセッションの話題について書いていきます。
メインセッション
実践! 機械学習 データ解析の現場から Open and Share
山本 康生さん (ヤフー株式会社 データ&サイエンス サイエンス本部)
今回の会場を提供いただいたヤフーさんからの話題です。ヤフーさんでは毎日約1TBのデータが集まり、この膨大なデータを解析するためのkukaiというスパコンもお持ちです。
しかし、巨大なデータを扱うときには、全てのデータをメモリに乗せることができないので、可視化すらできず、探索的にデータを解析するということができません。そこで、データ集合をよく表現する少数のデータをサンプリングすることが重要であるとのことでした。これらを達成するためにサンプリング技法、特に統計検定と能動学習の手法を実践されているとのことでした。統計検定は元の大きなデータ集合からリサンプリングして少数のデータを抽出するために使っているとのことでした。いわゆる世論調査のときにいくつサンプルを集めたら世論を反映としているかといった話です。また、能動学習は学習時に訓練に用いるデータの選別を行う手法です。これによって、単純にランダムにデータを抽出して学習するよりもより早く良い性能が得られます。具体的にはT検定、χ2検定、Query By Commitee (QBC), Uncertainty Sampling, Density Sampling と言った手法が紹介されました。
大規模データの解析には無限の可能性が秘められていますが、現状、まだまだ現場で扱うことは容易ではありません。そのために、膨大なデータから必要なデータを必要な分だけ集めるために、統計検定と能動学習を行うという方法を知ることができて目からウロコでした。
TensorFlowで 趣味の画像収集サーバーを作る 6月号
有山 圭二さん (有限会社シーリス)
二人目は趣味で機械学習をされているという有山さんです。話題は「眼鏡っ娘」の自動画像収集サーバーでした。TensorFlowとさくらサーバーの高火力コンピューティングを用いて実装しているということでしたが、驚嘆すべきは500万枚を超える画像を二年半掛けて一人で収集されたことです。Twitterから合法的かつ規約に違反しないようにコツコツ収集したそうです。そのうち数万枚程度に眼鏡っ娘やNSFW (Not Safe For Work: 職場では適さない画像) などの複数ラベルをつけていったそうです(一人で)。
今回のメイントピックは2点あって、複数の2クラス分類のネットワークを”蒸留”と呼ばれる手法を用いて一つの多クラス分類のネットワークを作り出す話とモデルの評価システムが大事という話でした。
1つ目のトピックの背景として、推論するPCのGPUメモリをネットワークの消費メモリが上回ってしまったために、小規模のネットワークで再学習する必要性が生じたということでした。近年ではそのような課題に対して、モデルの蒸留と呼ばれる手法が提案されていますが、それを複数のネットワークをまとめて一つのネットワークで表現させるために使用したという話でした。その結果、より少ないメモリで同等の性能を達成するネットワークを構築できたそうです。
2つの目のトピックはデータ収集、学習、推論、データの再ラベル付というルーチンをシステマチックにした結果、データの分布に偏りが生じてしまい識別精度が低下してしまったという話でした。
各ラベルごとのデータ数に偏りがあると学習後の識別精度が悪くなることがあります。今回は学習後に人間が再ラベル付けをしていたため、意図せずその偏りが顕著になってしまったという失敗談でした。こうした偏りは偽陽性や偽陰性の割合を評価することで把握することができます。これまでは学習サイクルにおいて識別精度のみを評価していたが、上述の偏りをなくすためにきちんとこれらを評価できるシステムにするべきだという話でした。
どちらのトピックも長期に渡る運用の結果にもたらされた課題であると感じました。趣味でやっておられるということですが、むしろそういった個人的な活動の方が運用が長期間に渡りこういった問題を顕然化したのかもしれません。
運営事務局によるLightning talk
WaveNetによる統計的音声合成に挑戦した話
山本 龍一さん (LINE株式会社 京都開発室 Clova開発チーム) スライド
WaveNetを個人用のPC環境(GPU一個)で学習を行ったという話でした。WaveNetはDeepMindが発表した音声合成アルゴリズムの一つです。近年の機械学習技術は必要な計算資源が膨大すぎて追試すらままならないということが多いですが、今回は一つのGPUでどこまで実現できるかを試されていました。DeepMindは32GPUで学習していたそうですが、単一のGPUでも十分学習できたそうです。LTの最後には実際にWaveNetで合成された音声を披露してもらいました。
エンジニアへの運動指導における機械学習適用の可能性
菊本知美さん (株式会社ハカルス CHO(Chief Health Officer)室) スライド
次の話題は珍しいトピックだったと思います。菊本さんの話題はOpenPoseを社内向けの運動指導に活用できないかという試みでした。OpenPoseはCarnegie Mellon Universityが公開している画像から人の関節位置を推定するアルゴリズムです。これで座っているときの姿勢から良い姿勢を判定できないかというものでした。ちなみに、自分も今回の姿勢検知に少し携わりましたが計算資源の制約がしんどかった記憶があります。
参加者の皆様のLightning talk
Meetupの途中で参加者の皆さんから5分間のLTをして頂きました。こちらも簡単にメモっておきます。
すぎゃーんさん (LINE株式会社 京都開発室)
こちらもアイドルの顔判定と将棋の棋譜判定という趣味の話でした。将棋に関しては指すアルゴリズムではなく盤面のコマを判定するアルゴリズムとのことでした。こちらも、二年半に渡って画像を収集しているそうです(もちろん一人で)。
Katsuya Shimabukuroさん
画像生成を用いた広告コンテンツ製作について話して頂きました。実際のビジネスに結びついた画像生成について伺えたことは大変参考になりました。
桶谷拓也さん (Amazon Web Services Japan K.K.) スライド
AWSが提供する機械学習プラットフォームについて紹介いただきました。特にAWSにおけるUpdateすなわち、再学習やデータの追加、TensorFlowやChainerなどのVer. Upへの対応について時間を割いてもらいました。
まとめ
自分は普段学生として過ごしていますが、手に入る情報が理論に偏りがちなのでこのような泥臭い話は大変ありがたいです。学習時のデータの選別や計算資源上の課題あたりはハカルスでの業務以外にも研究にも共通する話であったりします。そういういった意味でも大変参考になる会でした。
詳細は未定ですが第 3回目も開催すべく動き始めています。理論や現場で得た知見、実行環境のことなど機械学習にまつわる様々な情報を共有できるコミュニティを作り上げていきたいと思っております。今回参加したかったけれど気づいたときにはすでに枠が埋まっていたという方は募集開始時に通知されますのでぜひ connpass のグループに参加しておいてもらえればと思います。