機械学習

TensorFlowのRNNを追ってみる

TensorFlowのRNN実装はサンプルが少なく、 かつそういったサンプルコードでは、 限定された一部のAPIしか使っていないなど全体を網羅しづらい感じがあるので、 なるべく全体感を思い出しやすいように、自分用にメモ。 (と言う割に基本的なAPIしか使ってない…

PyTorchでGPUメモリが解放されないときの対処法

PyTorchのDataLoaderのバグでGPUメモリが解放されないことがある. nvidia-smiで見ても該当プロセスidは表示されない. 下のコマンドで無理やり解放できる. ps aux|grep <username>|grep python|awk '{print $2}'|xargs kill</username>

Neural Style Transferを音に応用した研究たち

結論としては今のところ上手くいっていないように見える. 今後の進展にとても期待. Audio texture synthesis and style transfer https://dmitryulyanov.github.io/audio-texture-synthesis-and-style-transfer/ 初出はなんとブログ。 Gatysらの一番最初の…

Deep Image Priorを試す

Deep Image Prior https://arxiv.org/abs/1711.10925 「画像とはこういうもの」という事前情報がCNNの構造自体にそもそも備わっている、 というところを出発点として、大量の画像データセットによる学習を必要とせず、単一画像のみ用いて学習を行ってその画…

conditional DRAGANでのラベルの与え方

conditional GANのラベルの与え方は色々あり、 毎回どうすれば良いかよくわからず迷ってしまう。 githubの実装をみると様々に書かれている。 文献を読むよりも色んな人の実装を漁るほうが知見が貯まるこの頃。 今回はMNISTに対してDRAGANを用いて、 その中で…

SwishをCIFAR10で試してみる

Swish: a Self-Gated Activation Function https://arxiv.org/abs/1710.05941 ReLUの代わりになる活性化関数Swishの提案。 Swishの形はシンプル。 $$ f(x) = x \cdot σ (x) $$ ReLUとの違いは,non-monotonicityとsmoothnessだと思う. 小さい負の入力はReLU…

Adversarial Examplesに興味がある

Intriguing properties of neural networks https://arxiv.org/abs/1312.6199 adversarial exampleを勉強したくて読んだ。 メモ。 本文ではDNNの直観的でない以下の2つの性質について触れている 個別ユニットを観察するのも、複数ユニットの組合せを観察する…

DRAGAN + SRResNetでいらすとや画像生成する

MakeGirlsMoeは 驚異的な生成画像の質で、お盆休み中の世間を驚かせた。 このMakeGirlsMoeの ネットワーク構造(SRResNet) 目的関数(DRAGAN) を使っていらすとや画像を生成してみる。 DRAGANについては、以前に記事を書いている。 当時あまり注目されていない…

pix2pixで車載画像の昼夜の変換を試す

最近、業務の忙しさと、 別件で進行しているモデルのパラメータチューニングの収束しなさから、 ブログ更新をしばらく行っていなかった。 一旦、更新が途絶えてしまうと、なかなかモチベーション的に再開しづらいので、 以前も試したことのあってお手軽なpix…

pix2pixの枠組みを利用した動画の異常検知

Abnormal Event Detection in Videos using Generative Adversarial Nets https://arxiv.org/abs/1708.09644 異常検知の難しさ 既存の異常データセットのサンプルサイズが小さいこと 異常の定義がはっきりしていないこと これらの課題に対して、正常なパター…

教師なし学習で生成画像を制御できそうなinfoGANを試す

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets https://arxiv.org/abs/1606.03657 教師なし学習で生成画像を制御できそうなinfoGANを試してみる。 生成してみた画像がこちら 背景 GANの学習ではG(…

GANによる医療画像の異常検知

Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery https://arxiv.org/abs/1703.05921 まず下準備として,正常な画像を訓練データとして使い,GANを学習させる. 学習後のGANの はlatent space representatio…

シミュレータで生成した画像に現実感を付与する(SimGAN)

Learning from Simulated and Unsupervised Images through Adversarial Training https://arxiv.org/abs/1612.07828 概要 学習のための画像がない場合や不足している場合,シミュレータ等を使い人工的に画像を生成することがある. しかしシミュレータで生…

Voxel heatmapで三次元姿勢推定

Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose https://arxiv.org/abs/1611.07828 3次元関節推定問題に対して、 volumetric heatmapを回帰させる 反復的なネットワークで段階的に精度を上げる 関連研究 CNNによる三次元姿勢推定でよ…

人体構造の制約を GANでimplicitに教示して姿勢推定するメモ

Adversarial PoseNet: A Structure-aware Convolutional Network for Human Pose Estimation https://arxiv.org/abs/1705.00389 関連研究 姿勢推定ではDCNN(Deep Convolutional Neural Nets)でheatmapを回帰する手法が一般的 しかし、以下の場合では現実では…

OpenPose論文メモ

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields arXiv:https://arxiv.org/abs/1611.08050 概要 CNNの組合せで画像内の人物姿勢を検知を達成 NP-hard問題をrelaxationを設けて解く top-downアプローチ(人を検知→検知した人それぞれの…

Stacked Hourglassによる姿勢推定メモ

Stacked Hourglass Networks for Human Pose Estimation https://arxiv.org/abs/1603.06937 概要 stacked hourglassな形状のネットワークを使って姿勢推定する 画像の全ての大きさの情報を捉えて利用できる hourglassを連結、hourglassごとに教師データを与…

Convolutional Pose Machinesメモ

Convolutional Pose Machines https://arxiv.org/abs/1602.00134 姿勢認識の研究の流れを追うため、とりあえずガンガン読んでいく。 あとで綺麗にまとめたい。 関連研究 pictorial structures 部位間の空間的関係を木構造のグラフィカルモデルで記述 四肢が…

Multi-Resolution Heatmap Regressorによる姿勢推定メモ

Efficient Object Localization Using Convolutional Networks https://arxiv.org/abs/1411.4280 関連研究 DeepPose (DeepPose論文メモ - 緑茶思考ブログ) Toshev et. al,は"FLIC"や"LSP"のデータセットでSOTA 関節位置を回帰問題として直接解く RGB画像から…

DeepPose論文メモ

DeepPose: Human Pose Estimation via Deep Neural Networks http://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Toshev_DeepPose_Human_Pose_2014_CVPR_paper.pdf 関連研究 人体をlocalなパーツが連結したものと見る手法 Figure Drawing Pi…

【cs231n】深度画像をもとにCNNで姿勢推定する手法メモ

cs231nの授業レポートを読んだ。 http://cs231n.stanford.edu/reports/2016/pdfs/426_Report.pdf Li 2014のモデルをほぼそのまま使っている 上記との違う点は 入力が3チャンネルではなく、1チャンネルであること conv2の後の正規化をしないこと 出力は各関節…

深層学習の認識タスクにおいて、データ量を増やすと精度がどの程度向上するか

Revisiting Unreasonable Effectiveness of Data in Deep Learning Era https://arxiv.org/abs/1707.02968 データを増やすとどうなるか (a)モデルサイズや(b)計算力は向上しているが、(c)データセットサイズの変化は小さい。 データセットが大きくなれば、…

DRAGANでいらすとや画像を生成してみる

DRAGAN arXiv:https://arxiv.org/abs/1705.07215 “How to train your DRAGAN"というタイトルの論文で、 変なタイトルだなぁ..と思っていたが、 このタイトルの元ネタとして、アメリカの3DCGアニメがあるのを知った。 (日本名はヒックとドラゴンというらしい…

誕生日のパラドックスを応用してGANによる生成データの分布の多様性を評価する

Do GANs actually learn the distribution? An empirical study https://arxiv.org/abs/1706.08224 GANによって生成されたデータの分布の多様性を評価する論文。 この論文では誕生日のパラドックスを使った少しトリッキーな分析をしている。 実際のGANの生成…

Conditional GANをMNISTとCIFAR-10で試してみる

Conditional Generative Adversarial Nets https://arxiv.org/abs/1411.1784 cGANは条件付き確率分布を学習するGAN。 スタンダードなGANでは,指定の画像を生成させるといったことが難しい. 例えば0,1,…9の数字を生成させるよう学習させたGANに対しては, …

cGANによるマンガの色付け論文メモ

cGAN-based Manga Colorization Using a Single Training Image arXiv:https://arxiv.org/abs/1706.06918 概要 学習データとしてマンガを集めるのが難しい 普通マンガは白黒しかない copyrightの問題 自動色つけ手法としてpix2pixがあるが,大量の訓練データ…

maxoutに関するメモ

DeepLearningBookで読んだmaxoutについてのメモ. MaxoutはReLUを一般化したもの. Maxoutユニットは個の値からなるユニットの集合である. 他の活性化関数と違ってmaxoutでは,前層ユニットからmaxout内の各ユニットへの線形変換のパラメータを学習する. …

pix2pixで白黒動画に色をつけてみる

Image-to-Image Translation with Conditional Adversarial Networks arXiv:https://arxiv.org/abs/1611.07004 project:https://phillipi.github.io/pix2pix/ 白黒動画のcolorizationをpix2pixを使って行ってみたというのが本記事の主旨 pix2pixの概要 画像…

BatchNormalizationの初出論文メモ

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift arXiv:https://arxiv.org/abs/1502.03167 Internal Covariance Shiftの問題 ニューラルネットワークでは,入力となるデータの分布が白色化されていると学習…

ResNetは様々な長さのパスをもつネットワークのアンサンブルとみなせる

Residual Networks Behave Like Ensembles of Relatively Shallow Networks arXiv:https://arxiv.org/abs/1605.06431 ResNetの初出の論文を読んだが、 なぜ深層の学習がうまく行ったのか不明瞭だった。 本論文ではその「なぜ?」の部分に対する解釈を与えて…