ころがる狸

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

PyTorch

【エネルギーベースモデル】EBMの仕組みと拡散モデルとのつながり

こんにちは。今回は、深層学習における生成モデルの1つであるエネルギーベースモデル(EBM)について解説します。EBMは深層学習のブレイク以前からある伝統的な技術ですが、最近Googleが発表したImagen等の超高精度生成モデルで使われる拡散モデルと深い関…

【生成モデル】正規化フローでMNISTの画像生成

こんにちは。育児のため時間がとれずブログ更新を1年放置していました。今後はしっかりと勉強時間を確保して、記事執筆を頑張っていきたいと思います!さて、今回は機械学習分野でもっとも注目を集めている技術の1つである生成モデルを取り上げます。生成モ…

【gMLP解説】イラストで理解する最新の機械学習モデルgMLPの仕組み

ここ数年、機械学習分野では自己注意(self-attention)と呼ばれる仕組みに基づいた学習モデルが様々なアプリケーションに適用され、その性能・汎用性の高さから大きな注目を集めていました。代表的なモデルがTransformerと呼ばれるもので確固たる地位を築いて…

【PyTorch+Numpy】Dataloaderに潜むありがちなバグ

PyTorchは素晴らしい機械学習フレームワークですが、データ読み込みに使うDatasetとNumpyによる乱数発生の組み合わせは思わぬバグの発生源となっているようです。2021年4月10日に投稿されたこちらの記事がTwitter上で話題になっています。 tanelp.github.io …

一次元畳み込みニューラルネットワークとハイパラ探索

機械学習の分野で最も有名なモデルに畳み込みニューラルネットワーク(CNN)と呼ばれるものがあります。2012年にCNNが画像認識処理において卓越した性能を示したことで科学や生活の在り方は大きく変わりました。この手法は画像(2次元データ)のみならず波形…

【SAM】最新オプティマイザーで画像分類の精度検証!

みなさんご無沙汰しております、Dajiroです。久しぶりのブログ投稿です。ここ半年ほど、データベースやAPI、AWSの勉強で忙しかったのですが、ようやく機械学習に帰ってこれました。今回の記事では、最新のオプティマイザであるSAM(sharpness aware minimizat…

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

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

【PyTorch×転移学習】学習済みモデルライブラリTIMMのご紹介

こんにちは、dajiroです。今回は高精度な画像分類を行うのに便利なライブラリTIMMをご紹介します。PyTorchでは画像分類用の学習済みモデルが公式で提供されていますが、使われているモデルがやや古く栄枯盛衰の激しい機械学習の世界では現代最高レベルの予測…

【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いうライブラリ…

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

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

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

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

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

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

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

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