Weitere ähnliche Inhalte Ähnlich wie LT13(後半)Workshipにおけるレコメンドエンジン実装 (20) LT13(後半)Workshipにおけるレコメンドエンジン実装6. Neural Network の基礎 - 全体
● 脳内ネットワークを簡単に模倣した
モデル
○ 脳は、およそ150億のニューロンという
神経細胞がシナプスによって結合した莫
大なネットワーク
● 説明事項
○ 各ノードは複数の入力を用いて出力を決
定
○ 右図の縦のノードの集合を層と呼ぶ
○ 層間の結合は全結合 (であることが多
い)
6
7. Neural Nets の基礎 - ノード内部
● ノード内部において、活性化関数
f を用いることで、入力値に応じ
てどのような出力をするのかを決
定する
○ 右図のノードにおいては以下を入力と
する。w を重みと呼び、各入力の重要
度を決定づける
○ 最終的に、上記の入力を任意の関数 f
にかませて出力 y を得る
7
8. 候補生成
● 訓練フェーズ
a. 入力ベクトル作成
b. ReLU に 3 回突っ込む
c. softmax で正規化し、各ビデオ
の視聴確率を算出
● 本番フェーズ
a. ユーザ情報と各ビデオの視聴確
率を用いて協調フィルタリング
b. トップから N 個を候補に認定
8
9. ReLU (Rectified Linear Unit)
● 負の入力値を 0 とし、正数には干
渉しない活性化関数
○ Deep Learning 界隈では、シンプルか
つ強力であるためにしばしば用いられ
る
9
ReLU 層を通すことで機械が特
徴を勝手に見つけてくれること
が重要!
11. ランキング
● 訓練フェーズ
a. 入力ベクトル作成
b. ReLU に 3 回突っ込む
c. ロジスティック回帰モデル
に入力し、各ビデオの視聴
時間と照らし合わせて
ReLU層を最適化
● 本番フェーズ
a. 訓練された ReLU 層の出
力から視聴時間を予測
b. 予測時間にもとづいてラン
キング
11
12. ロジスティック回帰
● (元々は) 確率を予測するアルゴリズム
○ 機械学習系では予測した確率をもとにクラス分類を行うことが多い
■ 確率がある閾値を超えていれば A, そうでなければ B に分類
● 目的:正事象の確率を p とするとき、最適な重み w を求めること
● Workship における使用例
○ ある案件をクリックする確率を p とするとき、x (過去の閲覧履歴、性別、年齢、etc...) を
入力すると訓練によって求められた w を用いて p を算出
○ 上記を案件毎に計算し、p の大小にもとづいて表示順序を決定
12
x : 入力 (説明変数)
15. 0 or 1 から [0, x] へ
● 値を 0 or 1 の2値ではなく、複数の離散値か範囲のある連続値にする
○ つまり、空間を広げて線引きしやすくする
15https://www.albert2005.co.jp/knowledge/marketing/recommendation_basics/collaborative_filtering
16. ReLU による新たな特徴ベクトルの獲得
● ReLU を通すことによって、
元々の入力値を機械が整形し、
謎だけど良い感じの特徴ベクト
ルを獲得
○ 意味のある (人間が理解できる) 特
徴ベクトルをモデルに直接入力して
もある程度精度は出るが、そもそも
機械はそれぞれの特徴量を等しく扱
うため、抽象化しても何の問題もな
い。むしろ抽象化し、機械にとって
わかりやすい表現にすることで、精
度を上げるべき。ただし、人間にと
っては意味がわからなくなり、説明
できないものになる。
16
17. 大量のデータ獲得後は候補生成とランキングに分割
● 大量のデータ全てに対し、全特徴量を用いて計算を行うことは時間的に困難
● 解決方法
○ 候補生成
■ 全データに対して、少ない特徴量を用いてそこそこの精度で選び出す
○ ランキング
■ 選ばれしデータに対して、多くの重要な特徴量を用いて高い精度で順位づける
● 重要な特徴量:出力に関連度合いの強い特徴量。例えば、ある商品が売れる確率
に対して、現在の価格は重要な特徴量であるが、過去の価格は重要な特徴量であ
るとは限らない。
● 特徴量エンジニアリング
○ 手持ちの特徴量のどれを用いるか選択したり、新たな特徴量を生成することによって、(でき
る限り) 最適な特徴ベクトルを構築
○ 例:ある部屋を賃貸する確率
■ 生成:費用に対する洋間の広さ (畳/円)
17
19. まとめ
● YouTube の事例
○ 候補生成とランキングに分割
○ 候補生成ではざっくり協調フィルタリング、
ランキングでは精密にロジスティック回帰
● Workship のレコメンド精度向上手段
○ 0 or 1 から [0, x] へ
○ ReLU による新たな特徴ベクトルの獲得
○ 大量のデータ獲得後は候補生成とランキン
グを変更
○ A/B テストで試行錯誤
19
20. 参考
● Deep Neural Networks for YouTube Recommendations
○ https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/45530.pdf
● 協調フィルタリングとは
○ https://www.albert2005.co.jp/knowledge/marketing/recommendation_basics/collaborative_filtering
● Scikit-learn でロジスティック回帰 (確率予測編)
○ https://qiita.com/0NE_shoT_/items/c42d8093e2fed9bf1b7a
● Softmax って何をしてるの?
○ http://hiro2o2.hatenablog.jp/entry/2016/07/21/013805
● ニューラルネットワークの基礎を初心者向けに解説してみる
○ https://www.yukisako.xyz/entry/neural-network
● ニューラルネットワーク
○ https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%
E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF
20
21. Good is good.
We provide opportunities to the SEKAI by fusing technology and ideas.
テクノロジーとクリエイティブでセカイをより良くする
のこと