Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save matsumana07384/2b2fe8cb2185c63df438beb4def9073c to your computer and use it in GitHub Desktop.
Save matsumana07384/2b2fe8cb2185c63df438beb4def9073c to your computer and use it in GitHub Desktop.

【サポーターズCoLab】LT型勉強会『機械学習』

2018/01/16(火)19:30ー21:00


「機械学習わからない人がチョットワカルになるまでの軌跡」

講師:株式会社ウィルゲート 技術責任者 尾崎翔太 氏

  • 統計や数学的な知識を強くもっているわけではない状態からどのようにしてチョットワカルようになったのか
  • 実際に運用しているアプリケーションへ組み込んだ話

目次

  • なぜはじめたのか
  • 機械学習の学習
  • 学習の応用&既存サービスへの適応

なぜ始めたのか

  • 様々なたまり方をしたデータが上手く活用されていない
    • きれいなデータではない
  • ディープラーニングが流行っている危機感
  • 社内で知見もないため、やってみるしかない
    • 次なる一手を攻めるにあたってデータはとても大切

機械学習の学習

  • とっかかり
    • 数学も統計も詳しくない状態でも一部の情報はわかる
    • 機械学習の定番のセット
      • Pythonとscikit-learn
        • TensorFlowを使って
      • NNとディープラーニングは周辺知識が多すぎるため、いきなりはとっかかれない
  • Pythonとscikit-learn
    • Pydata.tokyo の資料がおすすめ
    • Pythonとscikit-learn以外のライブラリも活用する
      • Pandas
      • Matplotlib

本で深める

機械学習のサービスの適応

  • クラウドソーシングサービスでレコメンドをする

    • レコメンドするための情報がない
    • 単におすすめにしてしまうと仕事がクローズしている可能性がある
  • 過去に行った仕事に似ている仕事をレコメンドする

    • 記事特化型のクラウドソーシング
      • キーワードが決まっている
        • word2vecで数値化
  • Word2vec

    • 単語を数値化(ベクトル化)する手法
    • キーワードをくっつけたり、除いていった
  • 仮設を立てて検証

    • 本番へ導入行くにあたり、成果を確認できる環境を構築

      • 成果はあとから確認できない
    • Google Analyticsにて判定

    • 本番へ導入するにあたり機械学習システムをどうやっていくか

    • AWS S3 と Lambdaで設置

      • 取り外しを可能にするため
    • 考えるべきこと

      • サービスに適用するためには機械学習が「どう役に立つか」を先に検証する
      • 本番に適用したとき、成果を確認できるように
        • 機械学習システムを改善していけるように
      • 対象者を絞ったり、取り外しやスケールを簡単にすると後が楽

まとめ

  • オンラインチュートリアルの後で本を読んで、実践的な内容を学習
  • 一定の成果が出たものを作れた
  • 機械学習を武器として使えるようになってきた

「ラフスケッチのクリーンナップをウェブアプリ化した話」

講師:ピクシブ株式会社 山際康貴

  • 早稲田大学が出している自動線画化(機械学習ツール)をAWSにウェブアプリ化した話

前置き

  • 機械学習の専門家ではないよ
  • 難易度を低め!
  • ラフスケッチの線画化、サムネイルの自動クロップの2本立て

画像生成

  • MakeGilsMoe
    • 人が書いたのか機械が書いたのかわからない
  • GAN系が進化
  • そのうち機械が書いてくれる?

やってみる

  • ラフ画をネットに公開する人は少ない
  • ラフをきれいな線を書き起こすのも大変

研究

ウェブアプリ構成

  • PyTouch
  • たった80行で行える
  • 苦労した
    • メモリ足りない
      • 増強
    • ディスク足りない(モデルが重い)
      • ディスク増強
    • pipだけインストールが完結しない
      • Anacondaで解決するか
    • Anaconda重すぎ
      • minicondaでかいけつするぜ
    • pytorchでUbuntuで動かない
      • 1つ前のバージョンでやろう

ウェブアプリのフロント

  • フロント便利ツールは抑えよう
    • CSSフレームワーク
      • bluma
      • vue.js
    • ウェブアプリ化するならFlaskも簡単
  • 将来的に本番で出すならTornadoがいいかも

まとめ

  • 機械学習はモデルとコードが配布されていれば簡単に試せる
  • みんなもウェブアプリ化していこう

質疑応答

  • 情報のキャッチアップはTwitter
  • 使っているライブラリ
  • AWS EC2 のメモリを変えたときの温度感
    • 計測していないので、不明
    • 処理速度を上げたいならGPUの方が

「機械学習屋にキャリアチェンジするときのハードル」

講師:株式会社9DW 大平 道介

  • Webディレクターから機械学習屋(見習い)にキャリアチェンジした話
  • 実務の機械学習と独学の機械学習とのギャップ
  • 機械学習プログラミングをもっと楽しむ方法について

キャリアのお話

  • Webディレクターでやめてから…フラフラ
  • 機械学習との出会い
    • 当時の理解
      • なんかすごそう
      • ジャグリングのパターン生成とかできそう
        • 数十枚の画像から数秒後の画像を予測
  • 機械学習屋
    • 機械学習を利用したプロダクトを作ったりする人
    • データサイエンティストとも明確に区別しない

なる前のハードル

  • 理論
    • 大学以上の数学や統計学
    • 画像や信号処理など様々な必要
  • 実装
    • 理論がわかっても実装できない問題
      • 題材やデータに困る
        • なんとなくやりたいだとできない
      • プログラムができなくて困る
  • ざっくり4つに分ける
    • 初心者
    • 理論屋
    • プログラマ
    • 機械学習屋

やったこと

  • 積極的な勉強会の主催

    • 信頼できるOR強いメンバーで高頻度で開催
      • つまっても勉強できる人
    • 単なる聴講は効果薄
      • 早い段階で頭打ち
      • 出会いの場としては機能する
    • 効能
      • 継続効果
      • 理解の促進
  • 実装も並行する

    • 理解が弱くても実装すると解決する
      • 分からない点が明らかになる
    • 最悪わからなくても動いたら嬉しい
  • Programming力があるほど試行錯誤できる

    • 学習のサイクルがたくさん稼げる
    • 本業に役立つ
      • 機械学習特別の部分さておいて、役立つことも多い
  • 実装対象

    • 公式チュートリアル/参考書/Web記事
      • 写経
      • 擬似コードからの実装
      • 数式からの実装

なってから出会ったハードル

問題が何かわからない
  • 問題がわかる状態でないことが多い
  • 教科書通りの問題は少ない
    • 解法がシンプルな場合はある
  • クライアントの協力が必要
    • それぞれの業務の理解が必要
モデル以外の工程の多さ
  • 独学
    • モデル構造ばかり気にしていた
  • 実務
    • 前処理
      • 雑多なデータを入力できるデータにする
      • データ管理
        • 元データ
        • モデルパラメータなど
機械学習以外のハードスキル
  • インフラ
  • アルゴリズムとデータ構造/高速化
  • テスト
    • 実際のデータがあってるの?
    • 単体テストも含む
乗り越え方
  • ある程度、実務を意識していく
    • 実務での作業工程の理解
    • 作業工程のどの部分をやっているのか?
  • 最初から全部できる必要はない
    • どの部分をやってるかを理解する必要あり
わかるためには
  • 実際でやるほうが早い!!!

質疑応答

  • とてもむずかしいけど、おすすめ
  • 実務をするためには
    • 自分で発注者の気持ちになってみる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment