どこから見てもメンダコ

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

ハムスターでもわかるProximal Policy Optimization (PPO)②TF2による実装

PPOをTensorflow2で実装しBipedalWalker-v3を攻略します。手法解説は①を参照ください。 [PPOシリーズ] 【強化学習】ハムスターでもわかるProximal Policy Optimization (PPO)①基本編 - どこから見てもメンダコ ハムスターでもわかるProximal Policy Optimi…

ハムスターでもわかるProximal Policy Optimization (PPO)①基本編

シンプルなようで厄介な強化学習アルゴリズム PPO (Proximal Policy Optimization) を実装レベルの細かいテクニックまで含めて解説します。 ※TRPOの理解が前提です horomary.hatenablog.com [PPOシリーズ] ハムスターでもわかるProximal Policy Optimization…

Pythonの分散並列処理ライブラリRayの使い方

いままでありがとうmultiprocessing。そしてこんにちはRay Rayとは 基本的な使い方 並列化していないコード Rayによる並列化コード 待ち合わせ処理: ray.get 逐次処理: ray.wait クラス単位でのサブプロセス化 リソースの設定: ray.init クラスターでの分…

ハムスターでもわかるTRPO ③tensorflow2での実装例

強化学習初学者の鬼門であるTRPO(Trust region policy optimization)を丁寧に解説し、tensorflow2で実装します。その③。 [TRPOシリーズ一覧] ① ハムスターでもわかるTRPO ①基本編 - どこから見てもメンダコ ② ハムスターでもわかるTRPO ②制約付き最適化問題…

ハムスターでもわかるTRPO ②制約付き最適化問題をどう解くか

強化学習初学者の鬼門であるTRPO(Trust region policy optimization)を丁寧に解説し、tensorflow2で実装します(その②)。 [TRPOシリーズ一覧] ① 【強化学習】ハムスターでもわかるTRPO ①基本編 - どこから見てもメンダコ ② 【強化学習】ハムスターでもわか…

ハムスターでもわかるTRPO ①基本編

強化学習初学者の鬼門であるTrust Region Policy Optimization (TRPO、信頼領域ポリシー最適化)を丁寧に解説し、tensorflow2で実装します。 [TRPOシリーズ一覧] ① ハムスターでもわかるTRPO ①基本編 - どこから見てもメンダコ ② ハムスターでもわかるTRPO ②…

TRPOにおける共役勾配法とHessian-free

[TRPOシリーズ一覧] ① 【強化学習】ハムスターでもわかるTRPO ①基本編 - どこから見てもメンダコ ② 【強化学習】ハムスターでもわかるTRPO ②制約付き最適化問題をどう解くか - どこから見てもメンダコ ③ 【強化学習】ハムスターでもわかるTRPO ③tensorflow2…

TD3の解説・実装(強化学習)

Tensorflow2で連続値制御のための強化学習手法 TD3 (Twin Delayed DDPG)を実装し二足歩行を学習します。 画像元:https://starwars.disney.co.jp/character/at-at-walker.html はじめに:TD3とは 1. Clipped Double Q learning 2. Target Policy Smoothing 3…

DDPGでPendulum-v0(強化学習, tensorflow2)

はじめに DDPG (Deep Deterministic Policy Gradient) とは DDPGのネットワーク構造 Q関数 (Critic) の更新 学習を安定させるためのテクニック 1. Soft-Target 2. 探索ノイズ DDPGの問題点 実装 結果:Pendulum-v0 後継手法:TD3, SAC 備考: DDPGはoff-poli…

A2CでのBreakout攻略 (multiprocessing利用)

はじめに A2C (Advantage Actor Critic) は A3Cのバリアントであり、A3Cから非同期 (Asynchronous) 要素を除いた手法です。 A3Cはいろいろ盛り込んでて属性過多な手法だったので、手法の発表後にそれぞれの要素が性能にどの程度の寄与があったのかが検証され…

A3CでCartPole (強化学習)

深層強化学習において分散並列学習の有用性を示した重要な手法であるA3Cの解説と Tensorflow 2 での実装を行います。 [1602.01783] Asynchronous Methods for Deep Reinforcement Learning A3C: Asynchronous Actor Critic Asynchronous (非同期) とは A3C…

DQN(Deep Q Network)のtensorflow2実装

はじめに 準備:CartPole環境の作成 アルゴリズム概要 Q関数 Experiece Replayの実装 ベルマンエラーの計算 結果 関連: horomary.hatenablog.com CartPole-v1 with DQN pic.twitter.com/5OYfLzpV2S— めんだこ (@horromary) 2020年5月10日 はじめに [1312.56…

JupyterLab で D3.js × Python

D3.jsが役に立つケース Pythonにおいてインタラクティブデータ可視化のほとんどのユースケースはbokehyやPlotly などのライブラリにより実現可能です。 しかしいくつかのユースケースではライブラリの提供する自由度の制限により本当に表現したいことが実現…

Dataclassをjson形式でシリアライズ

Data ClassesはPython3.7からの新機能です。その名の通りデータを保持するためのクラスを簡潔に記述することができます。 Dataclassはdataclasses_jsonパッケージを使うことによりお手軽にjson形式へ変換できます。 github.com json形式でシリアライズできる…

Python初心者講習のためのJupyterHub

JupyterHubを利用して管理者が用意したPythonチュートリアル用 jupyter notebookをユーザーがブラウザからすぐに実行できる環境を構築します。 JupyterHubによる、不特定多数のユーザーがブラウザからアクセスするだけでPythonを実行できる環境の提供 Docker…

機械学習モデルの局所的な解釈(LIMEとSHAP)

有名な機械学習モデル解釈ツールであるLIMEとSHAPを試します。 はじめに 最近、機械学習モデルの解釈可能性についての非常に良い書籍を読みました。 ※下記リンク先で全文公開されていますのでぜひ読んでみてください。 とくに気に入ったのが、"2.1 Importanc…

optunaでsklearnモデルやXGBにハイパーパラメータチューニング機能をつける

RidgeCVは便利だよね sklearn.linear_modelのRidgeCVはfitメソッドにより内部で交差検証を行ってハイパーパラメータのチューニングまで自動で実行してくれる便利なクラスです。 探索してくれるのは正則化の強度パラメータであるalphaだけで、かつその範囲も…

Mask-RCNNで細胞画像のインスタンスセグメンテーション

はじめに 3D空間スキャンなどのソリューションを提供しているmatterport社がMask-RCNNの実装をOSSとしてgithubに公開してくれているので細胞画像のインスタンスセグメンテーションをやってみました。 github.com matterport.com この実装の最大の特徴は矩形…

AutoML Visionでお手軽Object Detection(工業製品の傷検出)

Google Cloud AutoML Visionがいつの間にか物体検出に対応していました。 定義済みカテゴリの検出だけでなく、自作データセットのラベル付けから物体検出器の訓練・テストまでをGUIで行えるサービスです。 cloud.google.com www.atmarkit.co.jp というわけで…

遺伝的アルゴリズムで特徴量選択

はじめに pythonによる進化計算アルゴリズムのフレームワークであるdeapを使用して、機械学習モデリングのための特徴選択を遺伝的アルゴリズムで行ってみます。 github.com 逐次的な特徴量選択アルゴリズムと比較した場合、遺伝的アルゴリズムを使って嬉しい…

kerasで化合物SeqToSeq Autoencoder

化合物VAEを作ろうとしたのですが、VAEは思ったよりややこしかったのでとりあえず化合物AEをしました。 はじめに 化合物構造(smiles)を入力し、次元圧縮した後に化合物構造(smiles)を復元するautoencoderモデルを作成します。 VAEではないので化合物生成に…

RDkitで分子骨格に基づく化合物セットのクラスタリング

多様性を保ちながらできるだけコンパクトに あなたは大規模な化合物データセットからin silicoスクリーニングを行い、有望な5000化合物のリストを作成しました。 しかし、この化合物リストをアッセイ担当の研究者に渡すと 「5000化合物もアッセイできるわけ…

Object detection APIで自作データセットを訓練する②

[前回] horomary.hatenablog.com label_map.pbtxtの作成 label_map.pbtxtはラベル名とidを対応づけるファイルです。 TFrecordに格納したimage/object/class/labelとimage/object/class/textに対応するようにしましょう。 # label_map.pbtxt 記入例 item { id…

Object detection APIで自作データセットを訓練する①

はじめに 前回やった”TensorFlowのObject detection APIで東方キャラの顔認識”の手順を記録しておきます。 horomary.hatenablog.com ※基本的に下記リンクで公開されている手順を参考にしています。ありがとうすごい人。 github.com Object detection APIとは…

PILでPNG画像をJPEG形式で保存したらなんか黒くなった

やりたいこと 以下のようなpng画像をjpeg形式にして保存しなおす。 エラー内容 from PIL import Image image = Image.open(PNG_FILE) image.save("out.jpg","JPEG",quality=95) # 出力 OSError: cannot write mode RGBA as JPEG PILでpng画像を読み込み、そ…

DeepChemによる化合物フィンガープリント-水溶解性回帰モデルをLIMEで解析

LIMEというモデル解釈ツールを使用してDeepChemで作成した回帰モデルの解析を行います。 本稿はDeepChemのモデル解釈チュートリアルを参考に作成しています。 ※化合物ではなく一般的なテーブルデータから作成されたモデルにLIMEを適用する例は下記を参照くだ…

Deepchem④(XGBで回帰)

kaggleで大人気のxgboostもDeepchemで使用することができます。 XGBoost Documentation — xgboost 0.80 documentation 準備 例によってdelaney水溶解度データセットを読み込みます。featurizerは適当にRDKitDescriptors()にしました。 import deepchem as dc…

Deepchm③(グラフ畳み込みで回帰)

分子グラフの畳み込みモデルでdelaney-水溶解度データセットの回帰を行います。 csvデータのロード 例のごとくdelaney水溶解度データセットをロードします。 MPNNモデルやCoulomb matrix featurizerなどを使いたい場合は立体構造が必要ですが、ConvMolFeatur…

RDkitで分子フィンガープリントの生成

RDkitで各種の分子フィンガープリントの生成を行います。 マルチSDF読み込み delaney水溶解度データセットから作成したマルチSDFを読み込みます。 horomary.hatenablog.com from rdkit import Chem mols = Chem.SDMolSupplier('delaney_multi.sdf') for mol …

RDkitでSMILESからSDFの作成

SDF形式にすることで、立体構造を要求する処理が可能になるのはもちろんですが、目的変数と化合物構造を紐づけておくことができるので間違いが起こりにくいという利点があります。 サンプルデータ 例のごとくdeepchem付属のdelaney水溶解度データセットを使…