ディープラーニング

スポンサーリンク
Python

最適化問題(TSP)を深層強化学習で解いてみた

今回は数理最適化問題を深層強化学習で解くアプローチについて書きます。 前回、巡回セールスマン問題(TSP)について、混合整数計画問題(MIP)としての解き方をPuLPで実装しました。 今回は、TSPについて深層強化学習を使った解き方をPyTorchで試してみます。
Python

Grad-CAM、Grad-CAM++、Score-CAMを実装・比較してみた

今回は表題の通り、画像系深層学習の判断根拠手法について、近年人気のある手法「Grad-CAM」と、その改良版「Grad-CAM++」、さらに去年論文発表されたばかりの「Score-CAM」を、TensorFlow/Kerasで実装・比較してみます。
Python

Bi-LSTM学習におけるバッチごとの系列長調整について

深層学習でのBi-LSTMなどの系列学習において、バッチごとに系列長を調整できるようにしてみます。 例えば、Kaggleのカーネルコンペなどで、自然言語の分類をLSTMなどで学習させる場合、バッチごとに系列長を調整する方が、学習精度・実行時間短縮に効果があるようです。
Chainer

Dropoutによる近似ベイズ推論について2

以前に、Dropoutによる近似ベイズ推論に関する記事をあげました。 上記では、ソフトマックス関数の出力値の平均を、カテゴリカル分布のパラメータと見て、その不確実性をエントロピーとして算出していました。
Python

TensorFlow Eager Executionを試してみた

TensorFlow 1.5が公開され、TensorFlowをDefine by Runで実行できる「Eager Execution for TensorFlow」が追加されました。 今回はTensorFlowにDefine by Runモードが追加されると聞いて少し気になっていましたので、実際に動かしてみて操作感を確認してみました。
Chainer

Dropoutによる近似ベイズ推論について

割と今更ですが、深層学習において、汎化性能を保つための工夫の一つであるDropoutを使って推論を行うことが、近似的にベイズ推論になっているという論文がありますので、それについて記します。 また、実際に試験的にMNIST画像分類で推論をしてみて、様子について確認してみようと思います。
Chainer

Chainerによる転移学習とファインチューニングについて(VGG16、ResNet、GoogLeNet)

画像系の深層学習では、学習済みモデルの重みを利用する「転移学習」や「ファインチューニング」と呼ばれる手法がよく利用されます。 ILSVRCなどの画像認識コンペで優秀な成績を収めたモデルのネットワークアーキテクチャを深層学習のライブラリで構築し、公開されている学習済みの重みファイルを読み込ませて利用するという流れで実装します。
Python

白線の教師なしセマンティックセグメンテーションを頑張ってみた

セマンティックセグメンテーションは、画像系ディープラーニングの一種で、画素レベルでそれが何かを認識するタスクを行う手法です。 教師なし学習である程度アノテーションの補助はできるようにならないかを考えてみます。 例えば、RGB情報(色)でのクラスタリングや、学習済みモデルによる転移学習で、ある程度、画素レベルの特徴分けができるかをやってみます。
Chainer

深層強化学習でシステムトレードしてみたかった

今回は以下のアルゴリズムで、株価のデータから、システムトレードをするエージェントを学習させてみました。 DQN Double DQN Dueling Double DQN Dueling Double DQN + Prioritized Experience Replay
Chainer

Kaggleの氷山コンペに参加してみた

表題の通り、Kaggleの氷山コンペにソロで参加していましたので、簡単にですが、その時の手法とか結果とか書いてみます。 コンペ自体は、1月末の時点で終了しています。 簡単にいえば、人工衛星から撮られた海の写真に、船か氷山かが写っており、それがどちらなのかを分類するタスクです。
Chainer

Chainerでファインチューニングして特徴量抽出してみた

前回は、花の画像データセットで、VGG16の学習済みモデルを使って特徴量を抽出してみました。 今回は表題の通り、タグ付け情報を用いてファインチューニングを行った後に、特徴量を抽出して様子を見てみようと思います。
Chainer

Chainerで転移学習・特徴量抽出して類似度を測ってみた

前回は自己符号化器で画像の画素値を次元圧縮し、得られた特徴量を使って類似度計算を行ってみました。 今回は、モデルを一から学習するのではなく、転移学習で得られた特徴量を使って類似度計算してみます。 深層学習のライブラリは、実装が楽だったため、Chainerを使いました。
Python

TensorFlowで自己符号化器で特徴量抽出して類似度を測ってみた

表題の通り、画像データセットから自己符号化器で特徴を学習し、類似度を測ってみました。 データセットはKaggleからお借りし、ライブラリはTensorFlowを使いました。 画像処理と自己符号化器、そしてTensorFlowの勉強のためにやってみました。
Python

TensorFlowでニューラルネットワーク、CNNを実装してみた

今回は、TensorFlowでニューラルネットワーク、<!-- 再帰的ニューラルネットワーク、 -->畳み込みニューラルネットワークの実装について記します。 以前にChainerやPyTorchでも各種ニューラルネットワークを実装していますので、今回も同様のタスクを実装してみます。
Python

PyTorchで深層強化学習(DQN、DoubleDQN)を実装してみた

以前に勉強したDeep Q-Network(DQN)を、やっぱり離散的な状態を返す簡単なゲームでなく、連続的な状態のゲームにも適用してみたいと思い、久しぶりにまた勉強しました。 最近の深層強化学習の研究を見てみたところ、DQNからさらに進化していて、A3Cなるものまで登場していましたので、少しばかりそちらについても触れてみます。
Chainer

CNN、RNNで文章分類を実装してみた

深層学習において文脈情報を学習させる方法としては、再帰的ニューラルネットワーク(RNN)を用いる方法と畳み込みニューラルネットワーク(CNN)を用いる方法があります。 今回はそれぞれの方法で、文章を学習させてラベル分類を行うモデルを、Chainerを使って実装しました。
Python

PyTorchでニューラルネットワーク、RNN、CNNを実装してみた

今回は、PyTorchでニューラルネットワーク、再帰的ニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。 以前にChainerの実装をまとめたときのものと同じタスクを実装してみて、比較しやすいようにしてみました。
Chainer

Attention Seq2Seqで対話モデルを実装してみた

最近は、深層学習の技術の発展によって、自然言語処理界隈でも深層学習を利用する例で賑わってきている印象です。 今回は上記書籍にも紹介されている、Attention Model + Sequence to Sequence Modelを使った対話モデルをChainerで実装してみました。
Chainer

Chainerでニューラルネットワーク、RNN、CNNを実装してみた

RNNの実装の勉強もしました。 今回は整理と備忘録も込めて、Chainerでニューラルネットワーク、リカレントニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。
Chainer

Open AI GymのFrozenLakeを深層強化学習(DeepQ-Network)で解いてみた

前回、強化学習で解いた問題を、今回は深層強化学習(Deep Q-Network、以降DQN)で解いてみます。 DQNを使うほどの問題ではないのですが、実装の勉強のため、簡単な問題で解いてみました。 前回も少し触れましたが、DQNは、Q学習の行動価値関数 $Q(s, a)$ の近似関数を深層学習で求める手法です。
Chainer

Chainerでニューラルネットワーク及び畳み込みニューラルネットワークを実装してみた

今回、Chainerを触ってみまして、MNISTの画像認識アルゴリズムを、ニューラルネットワークと畳み込みニューラルネットワークで実装してみました。 ちなみに、他にもTensorFlowも使ってみたのですが、自分としてはひとまずChainerの方がコード感覚としてしっくりきましたので、こちらを使ってみました。
スポンサーリンク