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.01
2021/01/30
自己紹介
名前:鈴木脩司
経歴
 大学時代
 バイオインフォマティクス(主に配列相同性検索の高速化)に
ついて研究
 現在
 株式会社Preferred Networks (PFN) でエンジニアリング
マネージャー & リサーチャー ...
目次
1. 発表の概要
2. Optunaについて
3. Optunaを使ったおいしいコーヒーの淹れ方の探索
発表の概要
 Optunaを使った機械学習の以外の例として身近なコーヒーの淹れ方への応用と機械
学習以外に適用する場合のポイントを紹介
 実際のコード等はQiitaの記事を参考にしてください
 また、本日の発表は以下の発表資料から一部抜粋...
Optunaとは?
 主に機械学習におけるハイパーパラメータ最適化のための Python ライブラリ
 ベイズ最適化や並列分散実行による効率的な自動探索
 ユーザは目的関数を記述するだけでよい
2018年12月ベータ版リリー
ス
2020...
ハイパーパラメータとは?
機械学習の学習や推論の枠組みの中で決定されないパラメータのこと。
つまり、学習の前に事前に決める必要があるパラメータ
層の数
ユニット数
ハイパーパラメータ
データから学習する
パラメタ
ハイパーパラメータ最適化とは
はじめにこの値で
試そう
num_units: 30
… 完了!
Accuracy: 0.6
Trial 1
小さくしたらどうか
な?
num_units: 20
… 完了!
Accuracy: 0.5
Trial...
ハイパーパラメータ最適化の自動化
はじめにこの値で
試そう
num_units: 30
… 完了!
Accuracy: 0.6
Trial 1
小さくしたらどうか
な?
num_units: 20
… 完了!
Accuracy: 0.5
Tri...
ハイパーパラメータの最適化
Trial iではこの値で
試そう
num_units: 30
… 完了!
Accuracy: 0.6
Trial i
定式化:
ブラックボックス関数 y = f(x) の最大化問題
e.g. 精度など ハイパーパラ...
ハイパーパラメータ最適化のアルゴリズ
ム
Trial iではこの値で
試そう
num_units: 30
… 完了!
Accuracy: 0.6
Trial i
アルゴリズム:
各Trial i において逐次的にx_iを選ぶ
考えられるアプロー...
ハイパーパラメータ最適化のアルゴリズ
ムの結果の例
ランダムサーチ ベイズ最適化
Optunaを機械学習のハイパーパラメータ
最適化以外に利用できるのか?
 ハイパーパラメータ最適化で必要なのは以下のもの
1. パラメータ毎に探索してほしい範囲
2. パラメータを受け取って目的変数の値を返す目的関数
これらが用意できるので...
Optunaを使ったおいしいコーヒーの
淹れ方を探索する流れ
Optunaで
パラメータを提案
自分で淹れてみて評価 (目的関数)
Optunaが提案してくれたパラメータと
評価値をGoogle Sheetsに入力
豆の量: 〇g
ミルで豆を挽...
Optunaを使ったおいしいコーヒーの
淹れ方を探索する(パラメータ)(1)
 コーヒーを淹れる環境
 ミル: Melitta(メリタ) 電動 コーヒーミル ブラック ECG62-1B
 プロペラ式のミル
 ポット: dretec(ドリ...
Optunaを使ったおいしいコーヒーの
淹れ方を探索する(パラメータ)(2)
 ネットで検索するとよさそうなパラメータの数値は以下の通り
 豆の量 (g): 9
 ミルで豆を挽く時間 (sec): 5
 お湯を入れてからトータルの時間 ...
Optunaを使ったおいしいコーヒーの
淹れ方を探索する(目的関数)
 基本的なOptunaの使い方では目的関数はパラメータを受け取って目的変数の値
を返すプログラムの関数
 ただし、今回はOptunaが提案してきたパラメータを見て、自分で...
コーヒーの淹れ方の探索の今のところの
感想
 良かった点
 やろうと思わなかった淹れ方を試すことがあるので面白い
 例:お湯を入れてから短時間で抽出を終わらせる
 課題
 豆の種類によっておいしい淹れ方のパラメータが違うため、複数の豆...
Upcoming SlideShare
Loading in …5
×

of

Optunaでおいしいコーヒーの淹れ方を探索する Slide 1 Optunaでおいしいコーヒーの淹れ方を探索する Slide 2 Optunaでおいしいコーヒーの淹れ方を探索する Slide 3 Optunaでおいしいコーヒーの淹れ方を探索する Slide 4 Optunaでおいしいコーヒーの淹れ方を探索する Slide 5 Optunaでおいしいコーヒーの淹れ方を探索する Slide 6 Optunaでおいしいコーヒーの淹れ方を探索する Slide 7 Optunaでおいしいコーヒーの淹れ方を探索する Slide 8 Optunaでおいしいコーヒーの淹れ方を探索する Slide 9 Optunaでおいしいコーヒーの淹れ方を探索する Slide 10 Optunaでおいしいコーヒーの淹れ方を探索する Slide 11 Optunaでおいしいコーヒーの淹れ方を探索する Slide 12 Optunaでおいしいコーヒーの淹れ方を探索する Slide 13 Optunaでおいしいコーヒーの淹れ方を探索する Slide 14 Optunaでおいしいコーヒーの淹れ方を探索する Slide 15 Optunaでおいしいコーヒーの淹れ方を探索する Slide 16 Optunaでおいしいコーヒーの淹れ方を探索する Slide 17
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

3 Likes

Share

Download to read offline

Optunaでおいしいコーヒーの淹れ方を探索する

Download to read offline

2021/01/30のLaboratory Automation月例勉強会 / 2021.01発表資料

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.01 2021/01/30
  2. 2. 自己紹介 名前:鈴木脩司 経歴  大学時代  バイオインフォマティクス(主に配列相同性検索の高速化)に ついて研究  現在  株式会社Preferred Networks (PFN) でエンジニアリング マネージャー & リサーチャー として、「深層学習の高速化と大規 模な分散学習」や「バイオ、医療関係のデータ解析」に関する研 究開発  Optunaの開発者ではなくただのユーザーです Twitter:@shu65
  3. 3. 目次 1. 発表の概要 2. Optunaについて 3. Optunaを使ったおいしいコーヒーの淹れ方の探索
  4. 4. 発表の概要  Optunaを使った機械学習の以外の例として身近なコーヒーの淹れ方への応用と機械 学習以外に適用する場合のポイントを紹介  実際のコード等はQiitaの記事を参考にしてください  また、本日の発表は以下の発表資料から一部抜粋して使っています。  https://www.slideshare.net/pfi/20201023-optunalectureatnagoyauni-238946529  今回の発表が皆さんが困っていることに対して「Optunaが使えないか?」というこ とを考える際の参考になれば幸いです https://qiita.com/shu65/items/68d161b02a91396e854a
  5. 5. Optunaとは?  主に機械学習におけるハイパーパラメータ最適化のための Python ライブラリ  ベイズ最適化や並列分散実行による効率的な自動探索  ユーザは目的関数を記述するだけでよい 2018年12月ベータ版リリー ス 2020年1月 v1.0リリース 2020年7月 v2.0リリース より詳しく知りたい方は公式ドキュメントを参照: https://optuna.readthedocs.io/en/stable/index.html
  6. 6. ハイパーパラメータとは? 機械学習の学習や推論の枠組みの中で決定されないパラメータのこと。 つまり、学習の前に事前に決める必要があるパラメータ 層の数 ユニット数 ハイパーパラメータ データから学習する パラメタ
  7. 7. ハイパーパラメータ最適化とは はじめにこの値で 試そう num_units: 30 … 完了! Accuracy: 0.6 Trial 1 小さくしたらどうか な? num_units: 20 … 完了! Accuracy: 0.5 Trial 2 うーん、次は少し大 きくして... num_units: 50 … 完了! Accuracy: 0.8 Trial 3
  8. 8. ハイパーパラメータ最適化の自動化 はじめにこの値で 試そう num_units: 30 … 完了! Accuracy: 0.6 Trial 1 小さくしたらどうか な? num_units: 20 … 完了! Accuracy: 0.5 Trial 2 うーん、次は少し大 きくして... num_units: 50 … 完了! Accuracy: 0.8 Trial 3
  9. 9. ハイパーパラメータの最適化 Trial iではこの値で 試そう num_units: 30 … 完了! Accuracy: 0.6 Trial i 定式化: ブラックボックス関数 y = f(x) の最大化問題 e.g. 精度など ハイパーパラメータの組 特徴: ● あるxにおける目的関数y = f(x) の値の計算は高コスト ● 目的関数値の観測にはノイズが乗る ● 目的関数の微分は計算できない
  10. 10. ハイパーパラメータ最適化のアルゴリズ ム Trial iではこの値で 試そう num_units: 30 … 完了! Accuracy: 0.6 Trial i アルゴリズム: 各Trial i において逐次的にx_iを選ぶ 考えられるアプローチ: ● 最適化履歴を利用しないもの ○ グリッドサーチ ○ ランダムサーチ ● 最適化履歴を利用するもの ○ ベイズ最適化 (Optunaのデフォルト) ○ 進化計算
  11. 11. ハイパーパラメータ最適化のアルゴリズ ムの結果の例 ランダムサーチ ベイズ最適化
  12. 12. Optunaを機械学習のハイパーパラメータ 最適化以外に利用できるのか?  ハイパーパラメータ最適化で必要なのは以下のもの 1. パラメータ毎に探索してほしい範囲 2. パラメータを受け取って目的変数の値を返す目的関数 これらが用意できるのであれば、機械学習のハイパーパラメータ以外にも Optunaで目的関数に対して最適なパラメータを探索することは可能
  13. 13. Optunaを使ったおいしいコーヒーの 淹れ方を探索する流れ Optunaで パラメータを提案 自分で淹れてみて評価 (目的関数) Optunaが提案してくれたパラメータと 評価値をGoogle Sheetsに入力 豆の量: 〇g ミルで豆を挽く時間: 〇秒 … 過去の結果を Optunaに入力
  14. 14. Optunaを使ったおいしいコーヒーの 淹れ方を探索する(パラメータ)(1)  コーヒーを淹れる環境  ミル: Melitta(メリタ) 電動 コーヒーミル ブラック ECG62-1B  プロペラ式のミル  ポット: dretec(ドリテック) 電気ケトル ステンレス コーヒー ドリップ ポット 細口 1.0L PO-135BK  温度調節はできない  フレンチプレス: BODUM ボダム KENYA ケニヤ フレンチプレス コーヒー メーカー 500ml ブラック 10683-01J  考えられるパラメータ (赤字が今回探索するもの)  豆を買った店, 豆の保存期間, 豆の種類, 豆の量, ミルで豆を挽く時間, お湯 を入れてからトータルの時間, 蒸らし時間、お湯の温度、お湯の量 これから真似してみようと 思った人へのアドバイス: • プロペラ式は豆の粒度が 安定しないので やめたほうがいい • お湯の温度は重要なので 温度制御できるように したほうがいい
  15. 15. Optunaを使ったおいしいコーヒーの 淹れ方を探索する(パラメータ)(2)  ネットで検索するとよさそうなパラメータの数値は以下の通り  豆の量 (g): 9  ミルで豆を挽く時間 (sec): 5  お湯を入れてからトータルの時間 (sec): 240  蒸らし時間 (sec): なし or 30  これを元に少し幅を持たせた以下の範囲をOptunaで探索させる  豆の量 (g): 8-12  ミルで豆を挽く時間 (sec): 3-15  お湯を入れてからトータルの時間 (sec): 180-300  蒸らし時間 (sec): なし or 20-40
  16. 16. Optunaを使ったおいしいコーヒーの 淹れ方を探索する(目的関数)  基本的なOptunaの使い方では目的関数はパラメータを受け取って目的変数の値 を返すプログラムの関数  ただし、今回はOptunaが提案してきたパラメータを見て、自分でコーヒーを淹 れて、その味のスコアを自分判断するというものを目的関数とする
  17. 17. コーヒーの淹れ方の探索の今のところの 感想  良かった点  やろうと思わなかった淹れ方を試すことがあるので面白い  例:お湯を入れてから短時間で抽出を終わらせる  課題  豆の種類によっておいしい淹れ方のパラメータが違うため、複数の豆の情 報を扱うときは改良が必要  おいしさを表すスコアは主観で決めた値なのでぶれる  昨日と比べた相対評価は出せるが、絶対評価を出すのが難しい  パラメータを見て「これはおいしそう」という風に思い、そのまま引 きずられそうになる
  • ssusera6cc8e

    Apr. 21, 2021
  • haiburiddosain

    Mar. 30, 2021
  • yhtaguchi

    Feb. 1, 2021

2021/01/30のLaboratory Automation月例勉強会 / 2021.01発表資料

Views

Total views

773

On Slideshare

0

From embeds

0

Number of embeds

86

Actions

Downloads

8

Shares

0

Comments

0

Likes

3

×