Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

AutoML : NNI 1.5 : 自動調整 : チューナー : TPE、ランダム探索と焼なまし

Posted on 05/26/2020 by Sales Information

AutoML : NNI 1.5 : 自動調整 : チューナー : TPE、ランダム探索と焼なまし (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
更新日時 : 05/30/2020
作成日時 : 05/26/2020

* 本ページは、NNI の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

  • TPE, Random Search, Anneal Tuners on NNI

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

自動調整 : チューナー : TPE、ランダム探索と焼なまし

TPE

TPE (Tree-structured Parzen Estimator, 木構造 Parzen 推定器) は SMBO (sequential model-based optimization, シーケンシャル・モデルベースの最適化) アプローチです。SMBO 法は計測履歴に基づきハイパーパラメータのパフォーマンスを見積もるためにモデルをシーケンシャルに構築し、それから続いてこのモデルに基づいてテストするために新しいパラメータを選択します。TPE アプローチは P(x|y) と P(y) をモデル化します、ここで x はハイパーパラメータをそして y は関連する評価メトリックを表します。P(x|y) は、configuration の事前分布をノンパラメトリック密度で置き換え、ハイパーパラメータの生成プロセスを変換することによりモデル化されます。この最適化アプローチは Algorithms for Hyper-Parameter Optimization で詳細に説明されます。

 
(※ 訳注: 上記参照ペーパーの abstract だけ翻訳しておきます。)

ハイパーパラメータ最適化のためのアルゴリズム (J. Bergstra, R. Bardenet, Y. Bengio and B. Kégl

画像分類ベンチマークにおける最先端技術への幾つかの最近の前進は特徴学習への新規アプローチよりも既存のテクニックのより良い configuration に由来しました。伝統的には、ハイパーパラメータ最適化は人間の仕事でした、何故ならば 2, 3 のトライアルだけが可能であるような体制ではそれが非常に効率的であり得たからです。現在では、コンピュータ・クラスタと GPU プロセッサがより多くのトライアルの実行を可能にし私達はアルゴリズム的なアプローチがより良い結果を見つけられることを示します。ニューラルネットワークと深層信念ネットワーク (DBN) を訓練するタスク上でハイパーパラメータ最適化結果を提示します。ランダム探索と期待改善量 (EI, expected improved) 基準に基づく 2 つの新しい greedy シークエンシャル法を使用してハイパーパラメータを最適化します。ランダム探索は幾つかのデータセットに対してニューラルネットワークを学習するために十分に効率的であることが示されましたが、DBN の訓練に対しては信頼できないことを示します。シークエンシャル・アルゴリズムは ([1] からの) 最も難しい DBN 学習問題に適用されて前に報告されたベストよりもはっきりと良い結果を見つけます。このワークは応答局面モデル P(y|x) を作成するための新規のテクニックに寄与します、そこではハイパーパラメータ割当ての多くの要素が (他の要素の特定の値が与えられたとき) 無関係であると知られています。

 

並列 TPE 最適化

TPE アプローチは複数コンピュータノードを利用してトライアル評価が終了するのを待つ浪費時間を回避するために実際には非同期に実行されます。元のアルゴリズム設計はシークエンシャル計算のために最適化されました。TPE を多くの同時性で使用したならば、そのパフォーマンスは悪いでしょう。私達は Constant Liar アルゴリズムを使用してこのケースを最適化しました。これらの最適化の原理については、研究ブログ を参照してください。

 

使用方法

TPE を使用するには、貴方の実験 YAML config ファイルに以下の仕様を追加するべきです :

tuner:
 builtinTunerName: TPE
 classArgs:
   optimize_mode: maximize
   parallel_optimize: True
   constant_liar_type: min

 
classArgs 要件 :

  • optimize_mode (maximize または minimize, オプション, default = maximize) –
    ‘maximize’ の場合、チューナーはメトリクスを最大化しようとします。
    ‘minimize’ の場合、チューナーはメトリクスを最小化しようとします。

  • parallel_optimize (bool、オプション、default = False) –
    True の場合、TPE は並列ハイパーパラメータ調整を最適化するために Constant Liar アルゴリズムを使用します。
    そうでなければ、TPE はシークエンシャルと並列状況の間を区別しません。

  • constant_liar_type (min or max or mean、オプション、default = min) –
    使用する constant liar の type は論理的には X における y により取られる値の規定で決定されます。3 つの可能な値があります、min{Y}, max{Y} と mean{Y} です。

 

ランダム探索 (Random Search)

ハイパーパラメータ最適化のためのランダム探索ではランダム探索がその単純性にもかかわらず驚くほど効果的であるかもしれないことを示します。ハイパーパラメータの事前分布についての知識が利用可能でないときベースラインとしてランダム探索を使用することを提案します。

 

焼なまし (Anneal)

この単純なアニーリング・アルゴリズムは事前分布からサンプリングすることにより開始しますが、点からのサンプリングは時間とともに (観測された) 最善のものにどんどん近づいていく傾向があります。このアルゴリズムは応答曲面 (= response surface) の滑らかさを活用するランダム探索の単純なバリエーションです。annealing rate は adaptive ではありません。

 

以上






クラスキャット

最近の投稿

  • LangGraph Platform : 概要
  • LangGraph : Prebuilt エージェント : ユーザインターフェイス
  • LangGraph : Prebuilt エージェント : 配備
  • LangGraph : Prebuilt エージェント : マルチエージェント
  • LangGraph : Prebuilt エージェント : メモリ

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (19) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2020年5月
月 火 水 木 金 土 日
 123
45678910
11121314151617
18192021222324
25262728293031
« 4月   6月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme