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

TensorFlow : Dopamine 概要

Posted on 08/31/2018 by Sales Information

TensorFlow : Dopamine 概要 (翻訳/解説)

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

* 本ページは、Dopamin レポジトリ の以下のページを翻訳した上で適宜、補足説明したものです:

  • github.com/google/dopamine/blob/master/docs/README.md

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

 

Dopamine 概要

どのように (Dopamine で) 実験して Dopamine を拡張するかについてのサンプルと指針を与えます。

各モジュールに対するドキュメントを API ドキュメント のコードベースで見つけることができます。

 

ファイル構成

Dopamine は次のように構成されます :

  • agents はエージェント実装を含みます。
  • atari は、実験を実行するコードと前処理コードを含む、Atari 固有コードを含みます、
  • common はロギングやチェックポインティングを含む、追加のヘルパー機能を含みます。
  • replay_memory は Dopamine で使用されるリプレー・メモリ・スキームを含みます。
  • colab はサンプル colab ノートブックに加えて、実験結果を調べるために使用されるコードを含みます。
  • tests は総てのテストファイルを含みます。

 

エージェントを configure する

Dopamine の全体は gin configuration フレームワーク を使用して簡単に configure できます。
エージェントの各々に対して多くの configuration ファイルを提供します。

各エージェントに対する主要な configuration ファイルは同一条件での比較に対応し、そこではエージェント間で標準化されたパフォーマンス比較を与えるためにハイパーパラメータが選択されています。これらは :

  • dopamine/agents/dqn/configs/dqn.gin
  • dopamine/agents/rainbow/configs/c51.gin
  • dopamine/agents/rainbow/configs/rainbow.gin
  • dopamine/agents/implicit_quantile/configs/implicit_quantile.gin

これらのパラメータの裏の正確な選択についてのより詳細は baselines ページ で与えられます。

論文で以前に使用した設定に対応する configuration ファイルもまた提供します。これらは :

  • dopamine/agents/dqn/configs/dqn_nature.gin (Mnih et al., 2015)
  • dopamine/agents/dqn/configs/dqn_icml.gin (Bellemare et al., 2017)
  • dopamine/agents/rainbow/configs/c51_icml.gin (Bellemare et al., 2017)
  • dopamine/agents/implicit_quantile/configs/implicit_quantile_icml.gin (Dabney et al., 2018)

これらの総ては Arcade Learning Environment (ALE) の決定論的バージョン、そして僅かに異なるハイパーパラメータを使用しています。

 

チェックポインティングとロギング

Dopamine は実験を遂行するための基本的な機能を提供します。この機能は 2 つの主要なコンポーネントに分解されます : チェックポインティングとロギングです。両者のコンポーネントはコマンドライン・パラメータ base_dir に依拠します、これは実験データをどこにストアするべきかを Dopamine に知らせます。

 

チェックポインティング

デフォルトでは、Dopamine は総ての反復で実験チェックポイントをセーブします : 1 訓練と 1 評価フェイズで、Mnih et al による標準的なセットに従っています。チェックポイントは base_dir 下のチェック checkpoints サブディレクトリに保存されます。高位には、以下がチェックポイントされます :

  • 実験スタッツ (遂行された反復数、学習カーブ, etc.)。これは dopamine/atari/run_experiment.py のメソッド run_experiment で発生します。
  • tensorflow グラフを含む、エージェント変数。これは dopamine/agents/dqn/dqn_agent.py のメソッド bundle_and_checkpoint と unbundle で発生します。
  • リプレー・バッファ・データ。Atari 2600 リプレー・バッファは巨大なメモリ使用量 (= footprint) を持ちます。結果的に、Dopamine はメモリ消費を低く保持するために追加のコードを使用します。関連メソッドは dopamine/agents/replay_memory/circular_replay_buffer.py で見つかります、そして save と load と呼称されます。

興味があれば、チェックポインティング・コード自身は dopamine/common/checkpointer.py にあります。

 

ロギング

各反復の最後に、訓練の間と (有効であれば) オプションの評価フェイズの間の両者で、Dopamine はまたエージェントのパフォーマンスを記録します。ログファイルは dopamine/atari/run_experiment.py で、より具体的には、dopamine/common/logger.py で生成され、そしてそれは iteration キー (e.g., “iteration_47”) をデータを含む辞書にマッピングする辞書を含む pickle ファイルです。

複数の実験からログデータを読む単純な方法は colab/utils.py の提供されている read_experiment メソッドを使用することです。

実験からどのようにスタッツをロードしてそれらを提供された baseline 実行に対してプロットできるかを示すために colab を提供します。

 

エージェントを修正して拡張する

Dopamine はアルゴリズム的な研究を単純にするように設計されています。この点を考慮して、抽象基底クラスなしに、比較的フラットなクラス階層を保持することを決めました ; 単純化と使いやすさの追加された利益を伴い、研究目的ではこれで十分であることを見出しました。最初に、貴方の研究目的に適合するようにエージェント・コードを直接的に変更することを勧めます。

DQN エージェントをどのように拡張できるか、スクラッチから新しいエージェントをどのように作成できるか、そして提供された baseline に対する実験結果をどのようにプロットするかを示すために colab を提供しています。

 

DQN

DQN エージェントは 2 つのファイルに含まれます :

The DQN agent is contained in two files:

  • エージェントのクラスは、dopamine/agents/dqn/dqn_agent.py です。
  • リプレー・バッファは、dopamine/replay_memory/circular_replay_buffer.py です。

エージェントのクラスは DQN ネットワーク、更新ルール、そしてまた RL エージェントの基本的な演算 (epsilon-greedy アクション選択、遷移のストア (= storing transitions)、エピソード記録 (= episode bookkeeping) , etc.) を定義します。例えば、DQN で使用される Q 学習更新ルールは 2 つのメソッド, _build_target_q_op と _build_train_op で定義されます。

 

Rainbow と C51

Rainbow エージェントは 2 つのファイルに含まれます :

  • エージェント・クラスは dopamine/agents/rainbow/rainbow_agent.py にあり、DQN エージェントから継承しています。
  • リプレー・バッファは dopamine/replay_memory/prioritized_replay_buffer.py にあり、DQN のりプレー・バッファから継承してます。

C51 エージェントは Rainbow エージェントの特定のパラメータ化で、そこでは update_horizon は 1 に設定されて uniform リプレー・スキームが使用されます。

 

Implicit quantile networks (IQN)

IQN エージェントは一つの追加ファイルで定義されます :

  • dopamine/agents/implicit_quantile/implicit_quantile_agent.py、Rainbow エージェントから継承されます。

 

ダウンロード

全部で 60 ゲーム上の 4 つのエージェント総てのための一連のファイルを提供します。これらは総て *.tar.gz ファイルで解凍する必要があります :

  • 生ログは ここ で利用可能です
    • それらをどのようにロードして可視化するかの手順についてはこの colab を見ることができます。
  • コンパイルされた pickle ファイルは ここ で利用可能です
    • これらのコンパイルされた pickle ファイルを エージェント と スタッツ colab の両者で使用します。
  • Tensorboard イベントファイルは ここ で利用可能です
    • ngrok を使用した colab から直接 TensorBoard を開始できる colab を提供します。提供されたサンプルで TensorBoard はこのようなものに見えます :

       

       
      ◇ 貴方のマシン上でこれらを TensorBoard で見ることもできます。例えば、ファイルを解凍後に次を実行できます :

      tensorboard --logdir c51/Asterix/
      

      Asterix 上で C51 のための訓練実行を表示するために :

       

     

  • 全部で 60 ゲーム上の 4 エージェントの 5 つの独立した実行のための TensorFlow チェックポイント・ファイルは下で利用可能です。Note: これらのファイルは非常に巨大で、それぞれ 15 GB を超えます。
    • DQN チェックポイント
    • C51 チェックポイント
    • Rainbow チェックポイント
    • IQN チェックポイント
 

以上



クラスキャット

最近の投稿

  • LangGraph 0.5 : エージェント開発 : エージェントの実行
  • LangGraph 0.5 : エージェント開発 : prebuilt コンポーネントを使用したエージェント開発
  • LangGraph 0.5 : Get started : ローカルサーバの実行
  • LangGraph 0.5 on Colab : Get started : human-in-the-loop 制御の追加
  • LangGraph 0.5 on Colab : Get started : Tavily Web 検索ツールの追加

タグ

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)
2018年8月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 7月   9月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme