ころがる狸

ころがる狸のデータ解析ブログ

機械学習

【PyTorch×TPU】Google ColabでPyTorchを使ってみた

こんばんは、Dajiroです。今回はGoogle Colabratory(以下、Colab)におけるPyTorchの使い方についてご紹介します。ColabといえばGoogle社が無料で提供しているノートブック形式のPython計算環境です。通常のCPUに加え、GPUとTPUといった機械学習向けの計算環…

【Cycle GAN】GANによるスタイル変換の仕組み解説と実験

こんにちは、Dajiroです。今回は、GANを用いて画像のスタイルを変換できる【CycleGAN】の仕組みをご紹介します。スタイル変換とは、元の画像から別のスタイルの画像に変換できることを指します。6つの損失関数が登場するため中々複雑なモデルですが、1つ1つ…

【Conditional GAN】仕組み解説と画像生成の結果

こんにちは、Dajiroです。今回の記事では【ConditionalGAN】(条件付きGAN, CGAN)についてご紹介します。GANという機械学習技術を用いることで乱数から画像を自動生成できますが、CGANを用いるとどのような画像を生成するか条件付きで指定することができるよ…

【PyTorch】多入力多出力モデルの作り方

こんにちは、Dajiroです。今回は、PyTorchを使った複雑なネットワークの構築についてご紹介します。機械学習モデルを組んでいると、複数の種類の入力(画像と1次元配列状のデータなど)を使ったり、複数の種類の出力を得たい場合などがあります。そんなとき…

【CNN+Grad-CAM】仕組みの解説と画像の予測根拠可視化

こんばんは、Dajiroです。本ブログでは既に画像を予測する方法を学びましたが、今回はCNNによる画像予測の根拠についてご紹介します。その代表的な技術である(Guided) Grad-CAMについての仕組み解説と、実際に得られた予測根拠を見ていきます。画像認識につ…

【自然言語処理】単語埋め込みからSelf-Attention、2値分類まで。

こんにちは、Dajiroです。前回の技術記事を書いてからだいぶ日が空きました。本ブログでは機械学習に関する幅広い技術を解説しようと目論んでいるので、まだ扱ったことのない自然言語処理のネタををじっくりコトコト仕込んでいました。本記事では 単語埋め込…

【pytorch-pfn-extras+Ignite】画像分類のワークフロー解説

こんにちは、dajiroです。今日はPyTorchによる画像分類(CNN)に取り組んでみたいと思います。CNNの仕組み・実装方法に関してはウェブ上に十分な資料があると思うので、ここではPyTorchの学習部分を簡単に実装できるIgniteとpytorch-pfn-extrasいうライブラリ…

【半教師ありGAN】GANによるデータ拡張とMNISTの画像分類

こんにちは。2020年の上半期も終わりそうです。時間が経つのは本当に早いですね。個人的には、ブログをとにかく書きまくった半年でした。 それでは、本日の記事の紹介です! はじめに 半教師ありGANの仕組み 分類器の訓練 生成器の訓練 実装(省略) 実験結…

【機械学習+分子設計】分子生成モデルの主要トレンド

こんばんは。今日は材料科学・創薬分野で近年話題となっている機械学習を使った逆分子設計についてまとめてみたいと思います。逆分子設計というと、最初に望ましい機能を定義し、それに見合った材料を探索するという→の設計方針を指します。機械学習技術の進…

【DCGAN vs GAN】MNISTの生成画像比較と実装のコツ

こんにちは。先日、多層パーセプトロンモデルを使ったGAN(敵対的生成ネットワーク)で画像生成を行いました。しかし機械学習で画像と言えば、畳み込みニューラルネットワーク(CNN)ですよね。とうわけで生成器・識別器にCNNと転置CNNを使って効率的に画像を学…

【GAN + PyTorch】仕組みの解説とMNISTで画像生成

こんにちは。今日は敵対的生成ネットワーク(Generative Adversarial Network, GAN)を取り上げます。GANというと、適当な乱数から本物そっくりの画像を生成する技術として既にご存じかもしれません。画像以外にも物理モデルの生成や、化合物の構造生成などに…

【強化学習】方策勾配法の仕組みと学習のワークフロー

こんばんは。今日のテーマは方策勾配法です。前回の記事では強化学習の基礎から深層強化学習(DQN)までを扱いました。そこでは状態や行動の価値Qの見積もりをいかにして最適化するかという考え方が根底にありましたが、方策勾配法では価値ではなくエージェ…

【深層強化学習(DQN)】Q値で分かる深層強化学習

こんにちは。今日は、強化学習に関する入門記事を書きたいと思います。強化学習はニューラルネットワークとはまた違うノウハウがあり、腑に落ちるレベルでの理解をするのがなかなか難しい技術だと思います。実際、私は昨年初めて強化学習の勉強をしましたが…

【グラフ畳み込みニューラルネット解説】初心者向けの学習ポイント

こんにちは。今日はグラフ畳み込みニューラルネットワーク(GCN)を理解するための学習のポイントについて取り上げたいと思います。GCNは近年猛烈な勢いで開発が進められている技術で、大きな注目を集めている・・・ということを既に知っている読者の方は多…

【Graph Attention Networks解説】実装から読み解くGAT

こんにちは。機械学習の適用先としては、自然言語処理、画像解析、時系列解析など幅広い分野があるわけですが、今日はグラフ構造に対する機械学習モデルを紹介したいと思います。グラフで表現出るものは多く、例えば人間関係だとか、論文の引用・被引用関係…

【機械学習+材料科学】PyTorchとpymatgenによる物性予測入門

こんばんは。今日は、材料データベースを使った機械学習による物性予測をやってみたいと思います。いわゆるマテリアルズインフォマティクスと呼ばれる分野の話題です。既にQiitaなどを見るとランダムフォレストなどの手法を用いた実例があるわけですが、本稿…

【PyTorch+LSTM】LSTMの仕組みと米国株予測の実装

おはようございます。ゴールデンウイーク最終日です。連休中に時系列データ解析を中心に記事を書き、ARIMAモデル、状態空間モデル、次元圧縮、人口推移の可視化、そして本稿のPyTorchによるLSTMの紹介記事をまとめました。今日このトピックを取り上げた理由…

【次元削減】株価を二次元に埋め込んでみた(tsne,PCA,MDS)

こんにちは。ゴールデンウィーク2日目の日曜日の昼下がりです。データ解析をしつつ、外に出れない分どうぶつの森で散歩しています・・・ こちらが本日の記事の目次です。時間のない方は結果(差分化あり)だけご覧ください。次元圧縮すると米国株がセクター…

【python+株価+statsmodel】ARIMAモデルでダウ平均株価を解析してみた

こんにちは。ゴールデンウィーク始まりましたね。とりあえずこの5日間は、機械学習・統計解析の勉強をしつつどうぶつの森で島を開拓する予定でいます! ・・・・・・・・・ 今日はpythonで時系列データの解析を行いたいと思います。時系列データというと株…

【マテリアルズインフォマティクス】主要技術一覧

こんにちは。今日は材料と情報科学の融合領域の話題を取り上げたいと思います。材料科学の世界でも機械学習技術の活用は大きく進展しており、このような科学分野を一般にマテリアルズインフォマティクスと総称します。特定の技術のことを指すのではなく、技…

【機械学習+外挿】機械学習モデルで外挿してみた

こんばんは。今日も機械学習を使った実験です。一般に機械学習は内挿は得意ですが外挿は苦手だと言います。というわけで、sin関数の一部を学習させ、外挿するとどうなるのかを実験して確かめることにしました。予測誤差を出力できるガウス過程回帰に加えて、…

【ガウス過程回帰】カーネルの紹介とボストン住宅価格予測

こんばんは。最近、ガウス過程回帰(Gaussian Process Regression, GPR)なる技術を勉強する機会がありました。誤差付きで予測できる便利な技術、と理解していますがGPRとニューラルネットワーク(NN)はどちらが予測精度が高いの?という素朴な疑問があった…

【回帰モデル使い分け】線形重回帰、SVR、RF...

社会はコロナ禍の最中にありますが、それでも地球は回ると言いますか、コートのいらない気持ちの良い季節になりました。皆様、いかがお過ごしでしょうか? いきなりですが、シミュレーションデータなり、実測データなりが与えられたとします。それを分析して…

【ミニバッチ学習と学習率】低バッチサイズから始めよ

こんにちは。私は業務で3年ほど深層学習を扱っておりますが、まだまだ学ぶことが多いと感じています。深層学習ではGANのような魅力的な飛び道具も多くありますが、今日は学習率とバッチサイズという深層学習の基本的かつ重要なノウハウついて書いてみたいと…