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 : 自動調整 : チューナー : Naive Evolution, SMAC, Metis

Posted on 05/27/2020 by Sales Information

AutoML : NNI 1.5 : 自動調整 : チューナー : Naive Evolution, SMAC, Metis (翻訳/解説)

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

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

  • Naive Evolution Tuners on NNI
  • SMAC Tuner on NNI
  • Metis Tuner on NNI

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

 

自動調整 : チューナー : Naive Evolution, SMAC, Metis

Naive Evolution

Naive Evolution (ナイーブ進化) は Large-Scale Evolution of Image Classifiers に由来します。それは探索空間に基づいて集団 (= population) をランダムに初期化します。各世代 (= generation) について、それは次の世代を得るためにより良いものを選択してその上で何某かの変異 (= mutation) (e.g., ハイパーパラメータを変更する、一つの層を追加/除去する) を行ないます。Naive Evolution は動作するために多くのトライアルを要求しますがそれは非常に単純で、新しい特徴で拡張することは非常に容易です。

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

画像分類の巨大スケール進化 (E. Real et al.)

ニューラルネットワークは難しい問題を解くことにおいて効果的であることが証明されましたが、それらのアーキテクチャを設計することは、画像分類問題単独のためでさえも挑戦的であり得ます。私達の目標は人間の参加を最小化することで、そのようなネットワークを自動的に発見するために進化アルゴリズムを用います。かなりの計算要求にもかかわらず、昨年公開したそれらの範囲内の精度で今はモデルを進化させることが可能であることを示します。特に、CIFAR-10 と CIFAR-100 データセットのためのモデルを発見するために先例のない (= unprecedented) スケールで単純な進化テクニックを用います、自明な初期条件から始めてそれぞれ 94.6% (95.6% for ensemble) と 77.0% の精度に達します。これを行なうため、巨大探索空間を操舵する新規の直感的な変異 (= mutation) 演算子を使用します ; 一度進化が始まれば人間の参加は要求されないこと、そして出力は完全に訓練されたモデルであることを強調します。このワークを通して、結果の再現性、出力結果の変異性そして計算要件に重点を置いています。

 

SMAC

SMAC は SMBO (シークエンシャルモデルに基づく最適化、Sequential Model-Based Optimization) に基づいています。カテゴリカル・パラメータを扱うため、それは最も卓越した以前に使用されたモデルクラス (ガウス確率過程モデル) を適合させてランダムフォレストのモデルクラスを SMBO に導入します。NNI によりサポートされる SMAC は SMAC3 Github repo 上のラッパーです。

NNI 上の SMAC は探索空間 spec の type のサブセットをサポートするだけです : choice, randint, uniform, loguniform そして quniform です。

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

一般アルゴリズム configuration のためのシークエンシャル・モデルベース最適化 (F. Hutter et al.)

困難な計算問題のための最先端アルゴリズムは実験によるパフォーマンスを改良するために変更可能な多くのパラメータをしばしば公開しています。けれども、パラメータセットの結果として生じる組み合わせ空間を手動で探索することは退屈で不満足な結果に繋がりがちです。最近では、このアルゴリズム configuration 問題を解くための自動アプローチは様々な問題を解くための最先端の相当な改良に繋がっています。一つの見込みのあるアプローチはパラメータ設定上のターゲットアルゴリズム性能の依存を説明するために explicit な回帰モデルを構築することです ; けれども、このアプローチはここまで単一インスタンス上の少しの数値的なアルゴリズムパラメータの最適化に制限されてきました。このペーパーでは、このパラダイムを一般アルゴリズム configuration 問題に初めて拡張しました、多くのカテゴリカル・パラメータとインスタンスのセットのための最適化を可能にします。ローカル探索と propositional な充足可能性問題 (SAT) のための木探索ソルバー、更に商用の混合整数計画 (MIP) ソルバー CPLEX を最適化することにより、私達の新しいアルゴリズム configuration 手続きを実験的に検証しました。これらの実験で、私達の手続きは最先端パフォーマンスを生み出し、そして多くのケースで以前の最善の confguration アプローチよりも高いパフォーマンスを出しました。

 

Metis チューナー

Metis は他の調整アルゴリズムを越える幾つかの恩恵を提供します。多くのツールが最適な configuration の予測だけをする一方で、Metis は 2 つの出力を貴方に与えます、最適な configuration の予測と次のトライアルのための提案です。No more guess work!

殆どのツールが訓練データセットがノイズのあるデータを持たないことを仮定する一方で、Metis は実際には特定のハイパーパラメータを再サンプリングする必要があるかを知らせます。

殆どのツールが exploitation (利己的利用, 搾取) -heavy であるという問題を持つ一方で、Metis の探索ストラテジーは探索、exploitation と (オプション) 再サンプリングのバランスを取ります。

Metis は SMBO (シークエンシャルモデルに基づく最適化) アルゴリズムのクラスに属してそれは Bayesian 最適化フレームワークに基づいています。パラメータ-vs-パラメータ空間をモデル化するため、Metis はガウス過程と GMM の両者を使用します。各トライアルは高い時間コストを課しますので、Metis は推論計算を native トライアルと重く交換します。各反復で、Metis は 2 つのタスクを行ないます :

  • それはガウス過程のグローバルな最適なポイントを見つけます。このポイントは最適な configuration を表します。
  • それは次のハイパーパラメータ候補を特定します。これは調査、exploitation と再サンプリングの潜在的な情報を推論することにより達成されます。

探索空間の受け入れ可能な type は quniform, uniform, randint と数値 choice だけであることに注意してください。

より詳細は ペーパー で見つけられます。

 

以上






クラスキャット

最近の投稿

  • LangGraph on Colab : SQL エージェントの構築
  • LangGraph on Colab : マルチエージェント・スーパーバイザー
  • LangGraph on Colab : エージェント型 RAG
  • LangGraph : 例題 : エージェント型 RAG
  • LangGraph Platform : Get started : クイックスタート

タグ

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 (24) 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