どこから見てもメンダコ

軟体動物門頭足綱八腕類メンダコ科

拡散モデルによる分子デザイン①: 同変グラフ拡散モデルの実装

同変グラフ畳み込み拡散モデル(EDM: E(3) Equivariant Diffusion Model)による分子生成をtf2で実装します。 同変グラフ拡散モデルによる分子生成 拡散モデルによる分子デザイン 拡散モデルの優位性 ① 学習安定性が高く、大きく複雑な構造生成が可能 ② 高精…

LLM時代の強化学習

強化学習におけるLLMの活用パターン調査 はじめに:実世界における強化学習の課題 LLM×強化学習 人間はゼロショット推論によりサンプル効率の良い学習ができる LLMによるゼロショット推論の例 さまざまなLLM活用パターン 1. 報酬モデルとしてのLLM LLMによる…

オフライン強化学習④: 拡散モデルの台頭

オフライン強化学習における拡散方策の近年の適用例を概観し、tensorflowで実装します。 背景 拡散方策(Diffusion Policy)の登場 模倣学習の大幅な性能向上 Diffusion-QLの衝撃 主要な手法・論文 Diffusion-QL:拡散方策のミニマリストアプローチ IDQL: I…

オフライン強化学習③ Implicit Q-Learning (IQL)の実装

Implicit Q-Learningでは、maxQ(s,a)の評価を期待回帰(Expectile Regression)によって暗黙的に行うことでオフライン強化学習の困難の一つであるサンプル外アクション問題を回避します openreview.net オフライン強化学習の困難 オフライン強化学習とは サン…

プロンプト戦略による大規模言語モデルのドメイン適応:Med-PaLMの例

プロンプト戦略のみで大規模言語モデルの医療ドメイン適応に成功したMed-PaLMのアプローチをまとめます。 ナレッジベースとしての大規模言語モデル Med-PaLM:プロンプト戦略によるドメイン適応 プロンプト戦略:Instruction Prompt Tuning ハードプロンプト…

安全で信頼できる対話AIのためのアプローチ:InstructGPT, Sparrow, Galactica

OpenAIのInstructGPT, DeepMindのSparrow, MetaのGalacticaにおける対話AIの信頼性/安全性向上のためのアプローチをまとめます Words have the power to both destroy and heal. When words are both true and kind, they can change our world. 言葉は人を…

オフライン強化学習② Decision Transformerの系譜

Decision transoformer (2021)は、自然言語モデルGPTにおける次トークン予測の枠組みでオフライン強化学習タスクを解けることを示し新たなパラダイムをもたらしました。最近ではDeepMindの超汎用エージェントGATOなどもDecision Transformerベースのアーキテ…

オフライン強化学習① Conservative Q-Learning (CQL)の実装

オフライン強化学習の有名手法CQLについて、簡単な解説とともにブロック崩し環境向けのtf2実装を紹介します [2006.04779] Conservative Q-Learning for Offline Reinforcement Learning sites.google.com はじめに:オフライン強化学習とは 問題設定:ゲーム…

論文メモ:深層強化学習によるトカマク型核融合炉の制御

DeepMindの深層強化学習による核融合炉制御論文を読んだので論文内容と論文を理解するために調べた技術背景をまとめます。 Accelerating fusion science through learned plasma control www.nature.com 要約 技術背景:核融合炉の仕組み 核分裂エネルギーと…

強化学習 as Inference: Maximum a Posteriori Policy Optimizationの実装

方策が最適である確率の下界をEMアルゴリズムっぽく最大化する強化学習手法 Maximum a Posteriori policy Optimization (ICLR2018) をBipedalWalker-v3向けにtensorflow2で実装します。 openreview.net はじめに 方策勾配法: 劣悪なサンプル効率と不安定…

DreamerV2の実装: 世界モデルベース強化学習でブロック崩し

世界モデル系強化学習の先端手法であるDreamerV2をブロック崩し(BreakoutDeterministic-v4)向けに実装しました。 はじめに 世界モデルベース強化学習とは DreamerV2:Atari環境で初めてモデルフリー手法に並んだ世界モデルベース強化学習 世界モデル(Worl…

スッキリわかるAlphaFold2

注意: Alphafold2の手法解説です。使い方の説明ではありません 構造生物学ドメインにはある程度の説明をつけます アーキテクチャ設計の意図については個人の考察であり、正しさに何ら保証がありません AttentionとTransformerそのものについての説明は行い…

GKE+Rayで実装するマルチノード分散並列強化学習

Google Kubernetes Engine (GKE) とpythonの分散処並列理ライブラリRayで安価に大規模分散並列強化学習(Ape-Xアーキテクチャ)の実行環境をつくるチュートリアルです。GKEのプリエンプティブルインスタンスを活用することで、総リソース 128 vCPU, NVIDIA T…

MuZeroの実装解説(for Breakout)

MuZero = 状態遷移モデル+AlphaZero を簡単に解説しつつ、atari環境のBreakout(ブロック崩し)向けにtensorflow2での実装例を紹介します MuZeroとは アルゴリズムの概要 モンテカルロ木探索 MuZero版モンテカルロ木探索 VAE系世界モデルとの比較 MuZero Re…

スッキリわかるAlphaZero

The game of Go has long been viewed as the most challenging of classic games for artificial intelligence 囲碁はAIにとってもっとも困難なボードゲームの一つと考えられてきました (Mastering the game of Go with deep neural networks and tree sear…

rayで実装する分散強化学習 ④R2D2

Ape-XにRNNを導入することでatari環境において圧倒的SotAを叩き出した分散強化学習手法 R2D2(Recurrent Experience Replay in Distributed Reinforcement Learning)をtensorflow+pythonの分散並列処理ライブラリrayで実装します Recurrent Experience Rep…

深層分布強化学習 ③FQF: Fully Parameterized Quantile Function for Distributional RL

単体でRainbow越えを達成した深層分布強化学習手法FQFをtensorflow2で実装します。 はじめに C51 → QR-DQN → IQN FQFとは:いい感じのτを提案する機構付きのIQN FQFネットワークの実装 FQFアーキテクチャ Feature network:特徴抽出ネットワーク Fraction pr…

深層分布強化学習 ②QR-DQN

QR-DQNをtensorflow2で実装します。 元論文: [1710.10044] Distributional Reinforcement Learning with Quantile Regression はじめに Categorical DQNの分布モデル QR-DQNの分布モデル 分位点回帰 分位点Huberloss QR-DQNの実装 QRネットワークの実装 分…

rayで実装する分散強化学習 ③Ape-X DQN

深層強化学習における超大規模分散並列化の有用性を示したApeX-DQN(Distributed Prioritized Experience Replay)をtensorflow2とrayで実装します。手法の構成要素自体はRainbowとだいたい同じであるため、本記事の焦点は分散並列学習の実装です。 はじめに…

Segment Tree(セグメント木)による重み付きランダムサンプリング

競技プログラミング界隈では一般教養であるらしいセグメント木のSum-tree構造で高速な重み付きサンプリングを実装します。 はじめに A. numpy.choiceによる重み付きランダムサンプリング B. 累積和による重み付きランダムサンプリング C. Sum-tree構造を活用…

DQNの進化史 ④Rainbowの実装

Deep-Q-Network (2013) 以降の深層強化学習(Q学習)の発展を、簡単な解説とtensorflow2での実装例と共に紹介していきます。今回はDQNの改良トリックを全部盛りにしたら強いんでは?という脳筋発想によって生まれた手法であるRainbowを実装します。 DQNシリ…

DQNの進化史 ③優先度付き経験再生, Multi-step learning, C51

Deep-Q-Network以降の深層強化学習(というか深層Q学習)の発展を、簡単な解説とtensorflow2での実装例と共に紹介していきます。今回は経験再生の改良である優先度付き経験再生(Prioritized experience replay)、方策勾配法ではよく使われるMulti-step lea…

DQNの進化史 ②Double-DQN, Dueling-network, Noisy-network

Deep-Q-Network (2013) 以降の深層強化学習(Q学習)の発展を、簡単な解説とtensorflow2での実装例と共に紹介していきます。今回はオリジナルのDQNを微修正するだけで実装可能な改良手法である、Double DQN , Dueling-network, そしてNoisy-network の3つを…

DQNの進化史 ①DeepMindのDQN

DeepMindのDQNからR2D2くらいまでの深層強化学習(Q学習)の発展の歴史を、簡単な解説とtensorflow2での実装例と共に紹介していきます。 まずは深層強化学習の新たな時代を切り開いたDeepMindのDQN(2013)です。論文からはわかりにくいatari環境向けの実装…

CMA-ES(共分散行列適応進化戦略)の Python実装

実用性の高いブラックボックス最適化手法 CMA-ES(共分散行列適応進化戦略) のpython実装例を簡単なアルゴリズム解説とともに紹介します。 はじめに アルゴリズム概要 0. 入力次元数に依存する定数の算出とパラメータ初期化 1. 多変量正規分布に従う個体サン…

深層分布強化学習 ① Categorical DQN(C51)

分布強化学習(distributional reinforcement learning)の概念を深層強化学習へ導入したCategorical DQN(C51)をtensorflow2で実装します。 why restrict ourselves to the mean? ― [1707.06887] A Distributional Perspective on Reinforcement Learning …

rayで実装する分散強化学習 ②A2C(Advantage Actor-Critic)

GPUが一つしかなくても効率よく訓練できる分散強化学習手法A2Cをrayで実装します。 前記事: horomary.hatenablog.com A2Cとは rayによるA2C型同期並列アーキテクチャの実装 A2Cでのネットワーク更新 CartPole-v1での学習結果 次:Apex-DQN A2Cとは A3C論文…

rayで実装する分散強化学習 ①A3C(非同期Advantage Actor-Critic)

Pythonの分散並列処理ライブラリであるRayとTensorflow2を使って分散強化学習の主要な手法を実装していきます。 まずは分散強化学習の草分け的な手法であるA3C (Asynchronous advantage actor-critic、非同期アドバンテージアクタークリティック) です。 は…

Soft Actor-Critic (SAC) ②tensorflow2による実装

連続値制御で大人気の強化学習手法であるSoft-Aactor-Criticのtensorflow2実装を解説します。 対象タスクはPendulum-v0とBipedalWalker-v3。 前記事: horomary.hatenablog.com ここまでの概要 Soft-Q関数について soft-Q関数の更新 ソフトターゲット更新 方…

Soft-Actor-Critic (SAC) ①Soft-Q学習からSACへ

連続値制御のための有力手法である Soft Actor-Critic (SAC) の解説と、tensorflow2での実装例です。実装するだけならDDPGやその後継であるTD3とたいして変わりませんが、しっかり理解しようとするとなかなか苦労する手法です。 注意 Soft-Q学習および最大エ…