More Related Content
What's hot (20)
PPTX
[DL輪読会]EfficientDet: Scalable and Efficient Object DetectionDeep Learning JP
PPTX
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)Deep Learning JP
PPTX
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksDeep Learning JP
PDF
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)MLSE
PPTX
[DL輪読会]Xception: Deep Learning with Depthwise Separable ConvolutionsDeep Learning JP
PDF
[DL輪読会]RobustNet: Improving Domain Generalization in Urban- Scene Segmentatio...Deep Learning JP
PPTX
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted WindowsDeep Learning JP
PDF
[論文紹介] Convolutional Neural Network(CNN)による超解像Rei Takami
PDF
Deeply-Recursive Convolutional Network for Image Super-Resolutionharmonylab
Similar to Image net classification with deep convolutional neural network (20)
PPTX
ImageNet Classification with Deep Convolutional Neural NetworksKouhei Nakajima
PDF
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2Daiki Shimada
PPTX
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークKokiTakamiya
PPTX
Image net classification with Deep Convolutional Neural NetworksShingo Horiuchi
Image net classification with deep convolutional neural network
- 2. CNNとは
• Convolutional Neural Netの略
• 畳み込み層と、プーリング層とfully-connected layerがある
• 畳み込み層・・いい感じに画像の特徴を抽出する(本質)
• プーリング層・・画像を圧縮してぼかす(一般化する意味も)
• fully-connected layer・・最終的な結果を計算する
• ニューラルネットの一種なので誤差逆伝播などを使うことで学
習できる。
- 6. 3.1 ReLU Nonlinearity
• 活性化関数にはシグモイド関数やらtanhなどが使われるが、こ
こではReLU(ランプ関数)を使っている。f(x)=max(x,0)という単
純なものである。Figure 1を見ればわかるように、学習が高速で
ある。また、このような実験ができるのも、辺を適当に捨てて
るからである。
• 過去にも活性化関数を変えようとした人はいて、f(x)=|tanh(x)|
としたらうまくいくということもあった。
• 速く学習出来たらたくさん学習出来て性能は向上するのでこれ
は大事。
- 7. 3.2 Training on Multiple GPUs
• GTX 580 GPUは3GBしかなく、GPUが足りなかったため、二つの
GPUを並列化して使うことにした。
• この二つのGPUはホストを介さずに直接相互に読み書きができ
る。
• kernel(neuron)を共に半分ずつ持ち、特定の層においてのみ相互
を参照する。(Figure 2のように)
• 一つのときに比べて、少しだけ速度が上がった。
- 8. 3.3 Local Response Normalization
• ReLU自体にはinputの制約はないが、正則化を行うことで入力を
一般化することができるので精度が改善されると予測される。
(実際に改善された)
• 3.3に書かれている式のように正則化する。
• 事前にカーネルが順に並べられていて、その近辺のカーネルを
用いて正則化をする。(LCNと呼ばれる正則化は、他のカーネ
ルは関係なく、カーネルごとに独立して正則化する)
• 畳み込み層の後に正則化を行う。(畳み込み→プーリング→正
則化という方法もある)
- 9. 3.4 Overlapping Pooling
• 例えば、6*6のマップを2*2のマップにプーリングする場合、従
来の方法ならば6*6から3*3を4つ取り出して3*3を1*1に変換す
ることで2*2のマップを作っていた。しかし、overlapping
poolingでは、6*6から4*4を4つ取り出して4*4を1*1に変換する
ことで2*2のマップを作るというようなことをする。(もちろ
ん、4*4の一部は重複している)
- 10. 3.5 Overall Architecture
• 最後の層はソフトマックス関数を使っている
• ReLUは全ての層の出力において適用されている
• マックスプーリングをしている場所や、GPUの使われ方、畳み
込みをすることによるサイズの変化などはFigure 2を見ればわか
る。
- 11. 4 Reducing Overfitting
• このCNNネットワークには6*10^7のパラメータがあるのにクラ
スは1000個しか存在しないため、一つのクラスあたり10bitも割
り当てられることとなり、過学習をしやすくなっている
• これの対策として、主に二つの手法を用いた。
- 12. 4.1 Data Augmentation
• 過学習を防ぐ最も基本的な手段はデータを増やすこと。また、
ここで述べる画像処理は軽いので、GPUで学習してる間にCPU
で処理しており、計算量は実質0である。
• 一つ目の手法として、256*256の画像データを224*224に切り出
し、また、それらの左右対称の画像を生成することでデータ量
を32*32*2=2048倍にできる。(テストのときには中央+4隅の
224*224とそれの左右対称画像の10枚についてニューラルネッ
トを通して、それらの出力を平均して結果を決める)
• 画像の色について、PCA(主成分分析)をしている。よく理解で
きていないが、この処理を行うと、色の激しさや照明などによ
る影響を緩和することができるらしい。
- 14. 5 Details of leaning
• ハイパーパラメータについての記述
• バッチサイズ128で確率的勾配分布法(128個のサンプルごとにパラ
メータを更新という感じ)
• モメンタムは0.9(前のパラメータの変化量をどれだけ加味するか)
• 重み減衰は0.0005(元々は正則化をするためのもので、ここでは訓練
誤差を小さくする意味もあるらしい)
• 重みの更新は式の通り
• 重みの初期値は[-0.01,0.01]のガウス分布に従ってつけた
• バイアスは1または0(1はReLUに正の値を渡すことで初期の学習を加
速させるため)
• 学習係数はヒューステリクスに決めており、初期値は0.01で、改善
が止まったら学習係数を0.1倍している。
- 16. 6.1 Qualitative Evaluations
• Figure 3のように、何か指示を与えたわけではないのに、GPU1
とGPU2で役割を分担しているように見える。(GPU1は色の非
依存性を示していて、GPU2は色の特徴を示しているように見え
る)
• Figure 4が示すようにクラス分類をしている。
• 画像の類似度を評価する方法として、4096次元のユークリッド
距離を求めるという方法が考えられるが意味のない輪郭を抽出
してしまうだろうから、この方法を用いるには画像を圧縮する
自動符号化器を訓練することが必要になるだろう。