化学系エンジニアがAIを学ぶ

PyTorchでディープラーニング、強化学習を学び、主に化学工学の問題に取り組みます

ディープラーニング

CNN(Convolutional Neural Network)を用いた画像識別の簡単な例

はじめに CNNによる画像識別の簡単な例として、下記の波形図の1つ目のピークが高いか2つ目のピークが高いかの識別をPyTorchを使って試みる。 データの準備 画像をCNNで使える配列の形に変換する方法はいくつかあると思うが、ここではpillowを用いた。波形の…

メモ: Pillowを用いた深層学習用の画像データ数値化

画像データの深層学習を行うためのPillowを用いた画像データ数値化のメモ。 次の適当な画像データを、深層学習に使えるように数値化する。 (testfig.png) from PIL import Image import numpy as np im = Image.open("./testfig.png") # 画像ファイル読み込…

ディープラーニングによる化学プラントの異常検知の簡単な例題

はじめに 例えば連続で運転し化学品を製造するプラントにおいて、何らかの原因で反応温度や圧力が異常に上昇したり、製品中の不純物が増加するなどして運転が継続できず、プラント停止を余儀なくされることがある。この場合、プラント設備の復旧や製品在庫管…

深層強化学習の簡単な例 〜Double DQN適用〜

はじめに 以前の記事で簡単な問題を対象にDQN、Experience Replayを適用してみたが、今回はさらにDouble DQNを追加してみる。なお下記サイトを参考にした。 Let’s make a DQN: Double Learning and Prioritized Experience Replay – ヤロミル https://www.re…

深層強化学習(Deep Q Network, DQN)の簡単な例 〜Experience Replay追加〜

はじめに 前回の記事でOpenAI Gymを使わず非常に簡単な問題を対象にDQNを適用してみたが、"Experience Replay"を入れていなかった。今回は前回の問題にExperience Replayを追加してみる。なおこれを実施するにあたり、下記サイトを参考にした。 第15回 CartP…

深層強化学習(Deep Q Network, DQN)の簡単な例

はじめに DQNを学ぼうとして色々と調べたが、どこもかしこもOpenAI Gymを使っていて、まずそれの扱いから考えないといけないのでつらい。ここではOpenAI Gymを使わず、非常に簡単な問題を対象にDQNを適用してみることとする。Python、PyTorchを用いる。 また…

ニューラルネットワークによる手書き数字の認識

はじめに scikit-learnライブラリに含まれる手書き数字データを用いて、ニューラルネットワークによる 手書き数字認識をやってみる。 データの準備 手書き数字データはサイズ 8 x 8で、グレースケールの階調が17段階となっている。具体的な手書き数字画像は …

ニューラルネットワークによるばらつきのあるデータへの近似

はじめに 前回は関数値そのものを学習させたが、今回は関数値をもとに作成したばらつきのあるデータを学習させて 関数をニューラルネットワークで表現できるかを見てみる。 以下の記事で同様の内容がtensorflowを用いて紹介されているが、 ここではPyTorchを…

ニューラルネットワークによる関数近似

はじめに PyTorchを用いてニューラルネットワークで関数近似を行うプログラムを作成する。 必要なモジュールのインポート 必ずしも必要でないが、ここではtorch.utils.dataをインポートしtorch.utils.data.TensorDataset、torch.utils.data.DataLoaderを 用…

ニューラルネットワークで論理演算子 OR を学習する

はじめに 業務にて深層強化学習の利用を目指す。まずは簡単な例からということで、PyTorchを用いてニューラルネットワークで論理演算子 OR を学習するプログラムを作成する。 論理演算子 OR のモデル 0または1を持つ2つの入力x1, x2の少なくとも一方が1であ…