正規化と標準化の使い分ける一般的な考え方

一般的には標準化を使用する。 正規化の場合、外れ値が大きく影響するためである。 ※画像データの場合は学習コストを下げるため、[0,1]の範囲に収まるよう255.0で割ることで正規化するのが一般的

正規化

使用ケース: - 画像(RGBの強さ[0,255]) - sigmoid, tanhなどの活性化関数を用いる、NNのいくつかのモデル

標準化

使用ケース: - ロジスティック回帰、SVM、NNなど勾配法を用いたモデル - kNN, k-meansなどの距離を用いるモデル - PCA, LDA(潜在的ディリクレ配分法), kernel PCA などのfeature extractionの手法

どちらも使用しないケース:

決定木、ランダムフォレスト

参照

qiita.com

機械学習におけるData Augmentationのまとめ【その2】

今回は前回紹介したData Augmentationの戦略を強化学習により探索するAuto Augmentの紹介を行う.

背景および目的

Data Augmentationは,問題(データセット)ごとに最適な適用方法の組み合わせ(解)が異なることが知られている. この問題を強化学習を用いて自動的に最適なDAの戦略を求めることを目的としている研究である.

概要

この研究の探索方法は,2つの構成から成り立っている.(AutoMLからインスパイアされている) まず1つ目は,controllerと呼ばれる.簡潔に言うと,ここはRecurrent Neural Networkがベースとなっており,探索空間の中からaccuracyを向上させるようなDAの組み合わせを経験的に学習するようになっている.具体的なアルゴリズムはProximal Policy Optimization (PPO)を選択している.次に2つ目は,controllerから出力される組み合わせを用いてNNモデル(何個かのモデルで検証している)によって学習・検証を行いaccuracyを計算する部分となっている. 最後に全体のおおまかな流れとしては,controllerでは各stepで2種類のDA手法の組み合わせを5個のsoftmaxとして生成される. 各softmaxの中身は (operation\,type, maginitude, probability),(operation\,type, maginitude, probability) となっている.

  • operation typeとは,DA手法の種類を指す(この研究では16種類のDA手法を用いている.)

  • maginitudeとは,選択されたDA手法の適用範囲の程度のことを示している. (例:この研究では各DA手法の適用範囲があらかじめ設定されている.例えばRotate(回転)手法の場合は[-30,30]の範囲が設定されている.各DA手法の適用範囲を10等分し,その10個から選択される.)

  • probabilityとは,選択されたDA手法の適用確率を意味している.適用確率は11段階構成となっており11個の中から選択される.

この出力される組み合わせを用いてchild modelではDAを適用し学習データの拡張を行い学習及び検証によってaccuracyを算出する。

最後にこの算出されたaccuracyと事前に出力していたsoftmaxを用いて強化学習を行い,よりaccuracyを向上させるような学習へ導くという流れとなっている.

この研究の成果と面白み

state-of-the-artと同程度あるいはそれ以上の結果を示したこと

CIFAR-10, CIFAR-100, SVHN, and ImageNet (without additional data)のデータセットで人間の手動によるaccuracyと同程度,それ以上の結果を示した.

転用の可能性

この研究の面白みは探索された組み合わせの解が,探索した際のデータセットと類似したデータセットの場合において探索によって導られた解を転用して用いる可能性を示唆している.

原文

https://arxiv.org/pdf/1805.09501.pdf

code(論文の著者たちのもの)

models/research/autoaugment at master · tensorflow/models · GitHub

※ただしこのコードは既に探索済のものであるため,上記の探索部分は一切ない.そこで探索アルゴリズム部分をトレースした大学院生のコードに改良を加えたものを近々共有するので参考にして下さい.

機械学習におけるData Augmentationのまとめ【その1】

Data Augmentationとは

一般的には,Data Augmentation(以下,DA)とは機械学習(Deep Learningなど)で性能を向上させるための技術のひとつである. 簡単な概要としては,学習用のデータに対し人工的なノイズなどを付加した画像を生成し,生成した画像を元の学習用データに追加することで性能の向上が期待される技術である.

DAを用いる方法

DAを用いる方法は2つに分類される.まず,機械学習では学習と検証という2つのフェーズを経て学習モデルが学習される.これらを踏まえ学習時に用いる方法が最も一般的なDAである.一方で学習時および検証時にもDAを用いる方法も存在し,この手法はTest Time Augmentationと呼ばれている.

Deep Learning(以下,DL)におけるDAの簡単な歴史

DLにおけるDAの歴史としては,DA関連の論文の多くでは2012年にAlexらがDAを用いたものを引用していることからAlexらの研究を基準に考えることが妥当だと考えることが出来る[1].それ以降様々なDAの種類が提案され続けている.最も一般的なDA手法はKerasなどでも実装されている手法などであるのでそれを参考していただきたい[2].著者の勝手な偏見でDAの手法のターニングポイントと考える手法は,年代順に挙げるとcutout[4]/Random Erasing[5], mixup[6], DAGANおよびshake-shake[7]の5手法であると考える.それぞれの手法についての紹介は今後行う予定である.

DAの面白い研究

DAについて面白い取組みをしている研究は,話題となったAuto Augmentであると考えている.この研究はニューラルネットのモデルを機械的に生成するための研究にインスパイヤされた研究で,機械的にDAの適用方法を最適化していく研究となっている.この研究についての詳しい内容は今後説明したいと考えている.

参考文献

  1. https://github.com/keras-team/keras-docs-ja
  2. Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: Proceedings of the Advances Neural Information Processing Systems 25 (NIPS), pp. 1097–1105 (2012)
  3. Devries, T. and Taylor, G. W.: Improved Regularization of Convolutional Neural Networks with cutout (2017). arXiv 1708.04552v1 1.
  4. Zhong, Z., Zheng, L., Kang, G., Li, S. and Yang, Y.: Random Erasing Data Augmentation (2017). arXiv 1708.04896. 6.Zhang, H., Cisse, M., Dauphin, Y. N. and Lopez-Paz, D.: mixup: Beyond Empirical Risk Minimization (2017). arXiv 1710.09412v1 1.
  5. Yamada, Y., Iwamura, M. and Kise, K.: ShakeDrop regularization (2018). arXiv1802.02375.