Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Optunaでおいしい
コーヒーの淹れ方を探索して、
データを解析してみる
鈴木脩司 (Twitter:@shu65)
Laboratory Automation月例勉強会 / 2021.05
2021/05/221
自己紹介
名前:鈴木脩司
経歴
 大学時代
 バイオインフォマティクス(主に配列相同性検索の高速化)に
ついて研究
 現在
 株式会社Preferred Networks (PFN) でエンジニアリング
マネージャー & リサーチャー ...
目次
1. 発表の概要
2. Optunaについて
3. Optunaを使ったおいしいコーヒーの淹れ方の探索
4. Optunaを使った探索データの解析
3
発表の概要
 以前、Optunaを使った機械学習の例としてコーヒーの淹れ方への応用を紹介
 今回は淹れ方を探索したデータとOptunaの可視化機能を使って、探索の改良や
データへの理解を深める方法について紹介
 Optunaを使って探索を...
Optunaとは?
 主に機械学習におけるハイパーパラメータ最適化のための Python ライブラリ
 ベイズ最適化や並列分散実行による効率的な自動探索
2018年12月ベータ版リリー
ス
2020年1月 v1.0リリース 2020年7月 ...
Optunaの可視化機能
Trial等の情報を可視化する機能が用意されている
ドキュメント: https://optuna.readthedocs.io/en/latest/reference/visualization/index.html
...
Optunaを機械学習のハイパーパラメータ
最適化以外に利用できるのか?
 ハイパーパラメータ最適化で必要なのは以下のもの
1. パラメータ毎に探索してほしい範囲
2. パラメータを受け取って目的変数の値を返す目的関数
これらが用意できるので...
Optunaを使ったおいしいコーヒーの
淹れ方を探索する流れ
Optunaで
パラメータを提案
自分で淹れてみて評価 (目的関数)
Optunaが提案してくれたパラメータと
評価値をGoogle Sheetsに入力
豆の量: 〇g
抽出時間: ...
Optunaを使ってコーヒーの淹れ方のデー
タを解析する
データ解析する目的
 より少ないtrialでより最適な目的変数の値を発見できるようにする
 やること:重要なパラメータがどれか?を調べ、重要なパラメータの探索範囲
を狭める
 パラ...
今回データを取得した際に利用した
主な道具
 ミル: ポーレックス コーヒーミル・Ⅱ
 調節ねじのクリック数によってコーヒーの粒度を変えられる
 ポット:山善 電気ケトル NEKM-C1280
 温度設定可能な電気ケトル
 抽出器具:...
コーヒーの淹れ方の主なパラメータ
 豆の量 (g)/お湯の量(g)
 ミルのクリック数
 パウダーコントロールのメッシュサイズ
 細かすぎる豆の粉(微粉)を取り除く際に利用する茶こしのようなものが使われることが
ある。これのメッシュの細...
重要なパラメータを見つける
 どのパラメータに注意する必要がある
のか?を知るためにパラメータの重要
度を以下の関数を使って可視化
 optuna.visualization.plot_param_impo
rtances()
 重要度は...
「最終的な豆の量 (g)/お湯の量(g)」を探
索できるようにするには?
 「最終的な豆の量 (g)/お湯の量(g)」を指定されても、大元の「豆の量(g)/お湯
の量(g)」しか制御できない
 なんとかして「最終的な豆の量 (g)/お湯の量...
探索範囲の変更を考える
 どれくらいの範囲を探索すればいいかわからな
かったので、広めの探索範囲を指定してた
 ただし、探索範囲が広いとより多くの
tiralが必要になる
 以下のようにパラメータと目的変数の散布図を
出して探索範囲を狭め...
複数のパラメータとの組み合わせの効果
を見てみる
 複数のパラメータが組み合わせで目的変数に
影響しているパラメータが存在する可能性が
ある。
 このようなパラメータがないかを確認する
際には以下のような2つのパラメータの
等高線図 (Co...
まとめと現状の課題
 コーヒーの淹れ方の探索したデータを例に、Optunaの可視化機能を
使った以下のやり方について紹介
 重要なパラメータの発見
 探索範囲の変更
 パラメータ同士の関係性理解
 現状の課題として以下のものがある
...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

Optunaでおいしいコーヒーの淹れ方を探索して、データを解析してみる

Download to read offline

2021/05/22のLaboratory Automation月例勉強会 / 2021.05発表資料

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Optunaでおいしいコーヒーの淹れ方を探索して、データを解析してみる

  1. 1. Optunaでおいしい コーヒーの淹れ方を探索して、 データを解析してみる 鈴木脩司 (Twitter:@shu65) Laboratory Automation月例勉強会 / 2021.05 2021/05/221
  2. 2. 自己紹介 名前:鈴木脩司 経歴  大学時代  バイオインフォマティクス(主に配列相同性検索の高速化)に ついて研究  現在  株式会社Preferred Networks (PFN) でエンジニアリング マネージャー & リサーチャー として、「深層学習の高速化と 大規模な分散学習」や「バイオ、医療関係のデータ解析」に 関する研究開発  PFN社員だが、Optunaの開発者ではなくただのユーザー Twitter:@shu65 2
  3. 3. 目次 1. 発表の概要 2. Optunaについて 3. Optunaを使ったおいしいコーヒーの淹れ方の探索 4. Optunaを使った探索データの解析 3
  4. 4. 発表の概要  以前、Optunaを使った機械学習の例としてコーヒーの淹れ方への応用を紹介  今回は淹れ方を探索したデータとOptunaの可視化機能を使って、探索の改良や データへの理解を深める方法について紹介  Optunaを使って探索をどう改良していけばいいか?の参考になれば https://www.slideshare.net/ShujiSu zuki/optuna-242021857 https://www.mattari-benkyo- note.com/2021/04/01/coffee-tuning-202104/ 4
  5. 5. Optunaとは?  主に機械学習におけるハイパーパラメータ最適化のための Python ライブラリ  ベイズ最適化や並列分散実行による効率的な自動探索 2018年12月ベータ版リリー ス 2020年1月 v1.0リリース 2020年7月 v2.0リリース より詳しく知りたい方は公式ドキュメントを参照: https://optuna.readthedocs.io/en/stable/index.html 5
  6. 6. Optunaの可視化機能 Trial等の情報を可視化する機能が用意されている ドキュメント: https://optuna.readthedocs.io/en/latest/reference/visualization/index.html チュートリアル:https://optuna.readthedocs.io/en/latest/tutorial/10_key_features/005_visualization.html 6 これらの可視化以外にもいろいろある。詳しくは以下を参照
  7. 7. Optunaを機械学習のハイパーパラメータ 最適化以外に利用できるのか?  ハイパーパラメータ最適化で必要なのは以下のもの 1. パラメータ毎に探索してほしい範囲 2. パラメータを受け取って目的変数の値を返す目的関数 これらが用意できるのであれば、機械学習のハイパーパラメータ以外にも Optunaで目的関数に対して最適なパラメータを探索することは可能 7
  8. 8. Optunaを使ったおいしいコーヒーの 淹れ方を探索する流れ Optunaで パラメータを提案 自分で淹れてみて評価 (目的関数) Optunaが提案してくれたパラメータと 評価値をGoogle Sheetsに入力 豆の量: 〇g 抽出時間: 〇秒 … 過去の結果を Optunaに入力 8
  9. 9. Optunaを使ってコーヒーの淹れ方のデー タを解析する データ解析する目的  より少ないtrialでより最適な目的変数の値を発見できるようにする  やること:重要なパラメータがどれか?を調べ、重要なパラメータの探索範囲 を狭める  パラメータと目的変数の関係を理解する  やること:単一のパラメータと目的変数の関係だけでなく、より複雑な複数の パラメータの組み合わせと目的変数の関係についても調べてみる 9
  10. 10. 今回データを取得した際に利用した 主な道具  ミル: ポーレックス コーヒーミル・Ⅱ  調節ねじのクリック数によってコーヒーの粒度を変えられる  ポット:山善 電気ケトル NEKM-C1280  温度設定可能な電気ケトル  抽出器具:HARIO 浸漬式ドリッパー スイッチ  コーヒー粉をお湯に浸漬してから抽出するドリッパー 10
  11. 11. コーヒーの淹れ方の主なパラメータ  豆の量 (g)/お湯の量(g)  ミルのクリック数  パウダーコントロールのメッシュサイズ  細かすぎる豆の粉(微粉)を取り除く際に利用する茶こしのようなものが使われることが ある。これのメッシュの細かさ  蒸らし時間  蒸らしのお湯の量 (g)  抽出時間  利用するペーパーフィルターの種類  お湯の温度 などなど その他として直接探索はしないが、「最終的な豆の量 (g)/お湯の量(g)*」も記録 *: 主にパウダーコントロールのせいで、抽出する直前の豆の量は最初に準備した豆の量よりも減っ ているため、抽出直前の豆の量を再度計測し、その結果から算出した値 11
  12. 12. 重要なパラメータを見つける  どのパラメータに注意する必要がある のか?を知るためにパラメータの重要 度を以下の関数を使って可視化  optuna.visualization.plot_param_impo rtances()  重要度は[Hutter, F.+, 2014] の手法を利 用  Tips: create_trial()とadd_trial()を活用 すれば任意のパラメータのTrialを Studyにいれて可視化できる  測定可能な値はStudyに入れてみて、重 要そうなパラメータかどうかを可視化 して確認するということが可能 結果をみると「豆の量(g)/お湯の量(g)」を探索するよりも 「最終的な豆の量 (g)/お湯の量(g)」の探索するほうがよさそう 重要 12
  13. 13. 「最終的な豆の量 (g)/お湯の量(g)」を探 索できるようにするには?  「最終的な豆の量 (g)/お湯の量(g)」を指定されても、大元の「豆の量(g)/お湯 の量(g)」しか制御できない  なんとかして「最終的な豆の量 (g)/お湯の量(g)」から「豆の量(g)/お湯の量 (g)」を計算する必要がある 以下のような機械学習モデルを作って予測させてしまう • 入力:最終的な豆の量 (g)/お湯の量(g)、ミルのクリック数、 パウダーコントロールのメッシュサイズ • 出力:豆の量(g)/お湯の量(g) 13
  14. 14. 探索範囲の変更を考える  どれくらいの範囲を探索すればいいかわからな かったので、広めの探索範囲を指定してた  ただし、探索範囲が広いとより多くの tiralが必要になる  以下のようにパラメータと目的変数の散布図を 出して探索範囲を狭められないか考える  optuna.visualization.plot_slice(study, params=[key]) Good 「最終的な豆の量 (g)/お湯の量(g)」の0.04以下は削ってよさそう 14
  15. 15. 複数のパラメータとの組み合わせの効果 を見てみる  複数のパラメータが組み合わせで目的変数に 影響しているパラメータが存在する可能性が ある。  このようなパラメータがないかを確認する 際には以下のような2つのパラメータの 等高線図 (Contour Plot)を利用する  optuna.visualization.plot_contour(study, params=[param_name0, param_name1]) 細挽き 粗挽き Good 「最終的な豆の量 (g)/お湯の量(g)」が大きい場合は 粗挽きにする必要がありそう 15
  16. 16. まとめと現状の課題  コーヒーの淹れ方の探索したデータを例に、Optunaの可視化機能を 使った以下のやり方について紹介  重要なパラメータの発見  探索範囲の変更  パラメータ同士の関係性理解  現状の課題として以下のものがある  味の微妙な違いを絶対評価するのは難しい  微妙な味の違いまで最適化したいときは、相対評価でベイズ最適化をする手法 [González+ 2017][Siivola+ 2020]を利用する必要があると考えている  同じ豆を入手し続けることが難しい場合がある  (似たような味のコーヒーを飲み続けるとさすがに飽きる) 16
  • HirokiAbe5

    May. 22, 2021

2021/05/22のLaboratory Automation月例勉強会 / 2021.05発表資料

Views

Total views

626

On Slideshare

0

From embeds

0

Number of embeds

321

Actions

Downloads

5

Shares

0

Comments

0

Likes

1

×