グラフ機械学習と強化学習について

主にグラフ機械学習や強化学習手法を記載します。

並列学習について (1)

LLM

最近、大規模言語モデル(LLM)の学習することが多いので、大規模なモデルの学習方法について記載します。 並列学習について Data parallelism (DP) ZeRO 概要 実装例 Pipeline parallelism (PP) 並列学習について 巨大なパラメータをもつモデルの学習は非常…

強化学習でポケモンをプレイする

より多くの人に見てもらいたいと思いQiitaで投稿しましたが、こちらにも載せておきます。 qiita.com 本ブログでは、より専門的な内容を記載します。 Qiitaではカジュアルな内容を投稿しています。

Fitted Q-iteration

久しぶりの記事です。 オフライン強化学習を真面目に使いこなしていきたい。 ということでオフライン強化学習の中では基本的な手法であるFitted Q-iterationについてみていきます。D. Ernstらによって2005年に提案されています。 Tree-Based Batch Mode Rein…

WSL2にSSHをする

最近、自宅PCとして強いマシンを購入(intel i9 12900KS, DDR4 3200 128GB, RTX3090)しました。累計52万円とかなりお高い(電気代も高い)ですが、非常に快適です。 ゲームなどもしたいのでWindows 10にしましたが、せっかく良いGPUを積んでいるので、WSL2にp…

MDP: Value Iteration

NeurIPS 2021のOutstanding papersの1つであるOn the Expressivity of Markov Rewardを理解したいと思いつつ、実験を通じて色々理解を深めようとしてきました(全然できていません)。 論文の内容としては、マルコフ決定過程(MDP)において、3通りのタスク…

RAY RLlib

Rayは分散処理を計算するためのAPIです。その中でも特にRLlibは強化学習に特化したライブラリになっています。 シミュレーション環境さえ用意できれば、強化学習はいかに並列計算を行うかが大事になってきます。 Open MPIが有名かと思いますが、Rayを使えば…

ハイパーパラメータ管理(2):MLflow + Optuna

前回の記事に引き続き、MLflow用いた機械学習のライフサイクルの管理をしていきます。 今回はグリッドサーチではなくベイズ最適化によるハイパーパラメータ探索を行っていきます。また、MLflowのモデルバージョン管理機能を用いていきます。 Optuna サンプル…

ハイパーパラメータ管理:Mlflow と Hydra

機械学習を使ったプロジェクトに携わると、データ解析をしていくにつれて大量のモデルが構築され、これらのモデルを管理するだけでも大変です。IT企業のようなソフトウェアエンジニアリングの部署がある企業では、各社ベストプラクティスがあるのだと思いま…

モンテカルロ木探索についてのまとめ (データ構造とアルゴリズム Advent Calendar 2020)

この記事は「データ構造とアルゴリズム Advent Calendar 2020」20日目の記事です。 19日目は@takilogさん; グラフ上の合流に関する問題とアルゴリズム , 21日目は@tmaeharaさんです。 概要 木探索と強化学習 バンディット問題 モデルベース強化学習 アルゴリ…

ECFPとNeural-fingerprintの比較

はじめに ケモインフォマティクスやマテリアルズインフォマティクスでは良く使用されるExtended Connectivity Circular Fingerprints (ECFP)及び Neural Graph Fingerprint (NFP) を実装してみました。ZincデータセットのlogP-SAを予測することで、両手法を…

Chemical VAE

一年くらい前に書いた記事の実装を行ってみました。 udnp.hatenablog.com コード: github.com 正しいものを使用したいときは本家本元から参照してください。 簡単に解説 分子構造はSMILESという文字列で表すことができます。例えば、ヒドロキシ基がついたベ…

Junction Treeアルゴリズム

ベイジアンネットワークの推論では良く用いられるアルゴリズムです。分子構造もグラフ構造なので本アルゴリズムは適用することができます。グラフを木分解(tree decomposition)することで得られる構造がjunction treeです。有向グラフの場合、無向グラフに…

tf-idfを実装する

NLP

Qiitaにもupしています。 qiita.com wikipediaから引用すると、 tf-idfは文章中に含まれる単語の重要度を評価する手法の1つであり、主に情報検索やトピック分析などの分野で用いられている。 と記載されています。文書中にどの単語が重要かを測定するために …

ベイズ最適化 (その3):ハイパーパラメータ探索

前回の続きです。 udnp.hatenablog.com 目次 baseline Algorithm Randomized Search Grid Search GPyOpt Nevergrad 結果 所感 引用・参考元 ベイズ最適化が良く用いられる例だと思います。他にはハイパーパラメータの探索にはグリッドサーチや最適化計算を行…

ベイズ最適化 (その2):獲得関数

前回の記事ではベイズ最適化で使用されるガウス過程回帰(Gaussian Process Regression)についてまとめていきました。今回の記事では、ガウス過程を用いたベイズ最適化について行っていきたいと思います。よく用いられるのは、ハイパーパラメータの探索や、…

ベイズ最適化:ガウシアンプロセス

創薬を行っていくとき、定量的構造活性相関(QSAR)を用いればハイスループットスクリーニングが可能となりますが、本当に欲しいのは所望の特性を満たす化合物です。目標となる活性値や物性値を得るために用いられる方法は、 数理最適化 ベイズ最適化 強化学…

強化学習入門(理論)その2

強化学習理論のまとめ(その2)です。その1(強化学習の一般的な定義から方策勾配法まで)は以下から。 udnp.hatenablog.com DPG DDPG D4PG MADDPG 参考・引用文献 DPG paper 方策は現在の状態sでの行動aに対する確率分布としてモデル化されますが、Determin…

Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules

実装する前にChemical VAEについて論文概要をまとめます。原著は以下にあります。 https://pubs.acs.org/doi/abs/10.1021/acscentsci.7b00572 概要 SMILESをVariational Autoencoderで学習させ、潜在空間のベクトルから物性値の予測モデルを作成することで目…

強化学習入門(理論)

強化学習に必要な理論についてまとめていきます。様々な数式表記がありますが、「これからの強化学習」にできるだけ統一していきます。間違った記述があれば、ご指摘いただければ幸いです。日々アップデートしていきます。よろしくお願いいたします。 序文 M…

条件付き変分オートエンコーダ (conditional VAE, M2)

[変分オートエンコーダー (VAE, M1)]の続きです。 conditional VAE, M2 M1モデルに対して、ラベル付きのデータを入力できるようにしたモデルです。 モデル をクラスラベルを表すとします。 M2のグラフィカルモデルは下図のようになります。 Graphical Model:…

変分オートエンコーダー (VAE, M1)

はじめに Alan先生のラボの論文Chemical VAEsを理解するために、VAEについてまとめます。 Chem VAE 化学構造の文字列情報(SMILES)をVAEに適用しSMILESを生成しようとする試みです。Latent Spaceの尤度を最大とするような分子が生成されます。Inductive bia…

はじめに

はじめに Japan Digital Design(JDD)でリサーチャーとして働いています。また、国立情報学研究所(NII)でポスドクもしてます。 以下のような経歴です NII & JDD ← 総合研究大学院大学(国立情報学研究所)← AGC ← 九州大 公式のプロフィールはLinkedinを…