SlideShare a Scribd company logo
ImageNet Classification with Deep
Convolutional Neural Network
gasin
CNNとは
• Convolutional Neural Netの略
• 畳み込み層と、プーリング層とfully-connected layerがある
• 畳み込み層・・いい感じに画像の特徴を抽出する(本質)
• プーリング層・・画像を圧縮してぼかす(一般化する意味も)
• fully-connected layer・・最終的な結果を計算する
• ニューラルネットの一種なので誤差逆伝播などを使うことで学
習できる。
1.Abstract
• ImageNet LSVRC-2010という、1.2*10^6枚の画像を1000個のクラ
スに分類するコンテストでいい成績残した。
• パラメータやニューロンはいっぱいある。
• 5つの畳み込み層があり、そのうちいくつかはプーリング層を
伴っていて、また、fully-connected layerが3つある。(もちろん
クラス分類だからソフトマックスが最後にある)
• 計算量減らすためにネットワークの辺を適当に切り落し、また、
とても強いGPUを使った。
• fully-connected layerでの過学習を防ぐために最近発明され
た”dropout”と呼ばれる正則化を行った。
2.Introduction
• MNISTなどの文字認識では数万オーダーの画像があればよかっ
たけど、画像認識ではもっと必要でImageNetに15*10^6ぐらい
データがあるからそれを使った。
• しかし、それだけデータがあっても画像認識の複雑性が大きす
ぎるので強い仮定をする必要があって、データ間のエッジをか
なり少なくした。(最善よりも多少は悪化するだろうが問題な
いだろうとして)
• CNNはかなり大きいけど、二次元の畳み込みを実装している
GPUはかなり強いので計算できる。
• メモリが大きくなったり、GPUがもっと強くなったらCNNを大
きくすることでもっといい結果が得られると予測される。
3.The Architecture
• Figure 2が今回のCNNの図。
5つの畳み込み層の後に3つのfully-connected layerがある。
• これから重要だと思われる順でこのネットワークの特徴につい
て述べる。
3.1 ReLU Nonlinearity
• 活性化関数にはシグモイド関数やらtanhなどが使われるが、こ
こではReLU(ランプ関数)を使っている。f(x)=max(x,0)という単
純なものである。Figure 1を見ればわかるように、学習が高速で
ある。また、このような実験ができるのも、辺を適当に捨てて
るからである。
• 過去にも活性化関数を変えようとした人はいて、f(x)=|tanh(x)|
としたらうまくいくということもあった。
• 速く学習出来たらたくさん学習出来て性能は向上するのでこれ
は大事。
3.2 Training on Multiple GPUs
• GTX 580 GPUは3GBしかなく、GPUが足りなかったため、二つの
GPUを並列化して使うことにした。
• この二つのGPUはホストを介さずに直接相互に読み書きができ
る。
• kernel(neuron)を共に半分ずつ持ち、特定の層においてのみ相互
を参照する。(Figure 2のように)
• 一つのときに比べて、少しだけ速度が上がった。
3.3 Local Response Normalization
• ReLU自体にはinputの制約はないが、正則化を行うことで入力を
一般化することができるので精度が改善されると予測される。
(実際に改善された)
• 3.3に書かれている式のように正則化する。
• 事前にカーネルが順に並べられていて、その近辺のカーネルを
用いて正則化をする。(LCNと呼ばれる正則化は、他のカーネ
ルは関係なく、カーネルごとに独立して正則化する)
• 畳み込み層の後に正則化を行う。(畳み込み→プーリング→正
則化という方法もある)
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の一部は重複している)
3.5 Overall Architecture
• 最後の層はソフトマックス関数を使っている
• ReLUは全ての層の出力において適用されている
• マックスプーリングをしている場所や、GPUの使われ方、畳み
込みをすることによるサイズの変化などはFigure 2を見ればわか
る。
4 Reducing Overfitting
• このCNNネットワークには6*10^7のパラメータがあるのにクラ
スは1000個しか存在しないため、一つのクラスあたり10bitも割
り当てられることとなり、過学習をしやすくなっている
• これの対策として、主に二つの手法を用いた。
4.1 Data Augmentation
• 過学習を防ぐ最も基本的な手段はデータを増やすこと。また、
ここで述べる画像処理は軽いので、GPUで学習してる間にCPU
で処理しており、計算量は実質0である。
• 一つ目の手法として、256*256の画像データを224*224に切り出
し、また、それらの左右対称の画像を生成することでデータ量
を32*32*2=2048倍にできる。(テストのときには中央+4隅の
224*224とそれの左右対称画像の10枚についてニューラルネッ
トを通して、それらの出力を平均して結果を決める)
• 画像の色について、PCA(主成分分析)をしている。よく理解で
きていないが、この処理を行うと、色の激しさや照明などによ
る影響を緩和することができるらしい。
4.2 Dropout
• 多くのニューラルネットの予測値を統合することは有効だが、
大きなニューラルネットではコストがかかりすぎるので、
Dropoutという手法を用いる。
• Dropoutとは各ニューロンの出力を50%の確率で0にするという
もの。これを行うことで過学習を防ぐことができると期待され
る。(複数のネットワークを扱っているようになるため)
• テスト時には、全てのニューロンの出力の値を0.5倍する。
5 Details of leaning
• ハイパーパラメータについての記述
• バッチサイズ128で確率的勾配分布法(128個のサンプルごとにパラ
メータを更新という感じ)
• モメンタムは0.9(前のパラメータの変化量をどれだけ加味するか)
• 重み減衰は0.0005(元々は正則化をするためのもので、ここでは訓練
誤差を小さくする意味もあるらしい)
• 重みの更新は式の通り
• 重みの初期値は[-0.01,0.01]のガウス分布に従ってつけた
• バイアスは1または0(1はReLUに正の値を渡すことで初期の学習を加
速させるため)
• 学習係数はヒューステリクスに決めており、初期値は0.01で、改善
が止まったら学習係数を0.1倍している。
6 Results
• ILSVRC-2010 において、top-1で失敗率が37.5%、top-5で失敗率
が17.0%という、圧倒的な精度で一位を取った。
• その他、このニューラルネットで成功した事例の列挙。
6.1 Qualitative Evaluations
• Figure 3のように、何か指示を与えたわけではないのに、GPU1
とGPU2で役割を分担しているように見える。(GPU1は色の非
依存性を示していて、GPU2は色の特徴を示しているように見え
る)
• Figure 4が示すようにクラス分類をしている。
• 画像の類似度を評価する方法として、4096次元のユークリッド
距離を求めるという方法が考えられるが意味のない輪郭を抽出
してしまうだろうから、この方法を用いるには画像を圧縮する
自動符号化器を訓練することが必要になるだろう。
7 Discussion
• この結果は、大きなニューラルネットが教師あり学習に効果的
だということを示している。なぜなら、一つでも層を除くと精
度が落ちるからだ。
• 教師なし学習をデータセットに適応した場合、精度がより改善
されることは予測されたが、今回は簡潔さを優先してそれをあ
えて行わなかった。
• もし、より大きな計算資源を手に入れ、大きなニューラルネッ
トを構成したら、より精度が上がることが期待される。究極的
には動画などにもこの技術を応用していきたい。
参考文献
• http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
• http://may46onez.hatenablog.com/entry/2016/01/08/142843
• 「深層学習」 著 岡谷貴之

More Related Content

What's hot (20)

PPTX
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
Deep Learning JP
 
PDF
(2021年8月版)深層学習によるImage Classificaitonの発展
Takumi Ohkuma
 
PDF
semantic segmentation サーベイ
yohei okawa
 
PPTX
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
Deep Learning JP
 
PDF
Prml5 6
K5_sem
 
PPTX
[DL輪読会]A closer look at few shot classification
Deep Learning JP
 
PPTX
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
Deep Learning JP
 
PPTX
[DL輪読会]GQNと関連研究,世界モデルとの関係について
Deep Learning JP
 
PDF
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
 
PPTX
[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions
Deep Learning JP
 
PDF
[DL輪読会]RobustNet: Improving Domain Generalization in Urban- Scene Segmentatio...
Deep Learning JP
 
PPTX
[DL輪読会]MetaFormer is Actually What You Need for Vision
Deep Learning JP
 
PDF
深層学習によるHuman Pose Estimationの基礎
Takumi Ohkuma
 
PPTX
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
Deep Learning JP
 
PDF
Visualizing Data Using t-SNE
Tomoki Hayashi
 
PPTX
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
KCS Keio Computer Society
 
PDF
[論文紹介] Convolutional Neural Network(CNN)による超解像
Rei Takami
 
PPTX
PyTorch, PixyzによるGenerative Query Networkの実装
Shohei Taniguchi
 
PDF
Deformable Part Modelとその発展
Takao Yamanaka
 
PDF
Deeply-Recursive Convolutional Network for Image Super-Resolution
harmonylab
 
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
Deep Learning JP
 
(2021年8月版)深層学習によるImage Classificaitonの発展
Takumi Ohkuma
 
semantic segmentation サーベイ
yohei okawa
 
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
Deep Learning JP
 
Prml5 6
K5_sem
 
[DL輪読会]A closer look at few shot classification
Deep Learning JP
 
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
Deep Learning JP
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
Deep Learning JP
 
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
 
[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions
Deep Learning JP
 
[DL輪読会]RobustNet: Improving Domain Generalization in Urban- Scene Segmentatio...
Deep Learning JP
 
[DL輪読会]MetaFormer is Actually What You Need for Vision
Deep Learning JP
 
深層学習によるHuman Pose Estimationの基礎
Takumi Ohkuma
 
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
Deep Learning JP
 
Visualizing Data Using t-SNE
Tomoki Hayashi
 
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
KCS Keio Computer Society
 
[論文紹介] Convolutional Neural Network(CNN)による超解像
Rei Takami
 
PyTorch, PixyzによるGenerative Query Networkの実装
Shohei Taniguchi
 
Deformable Part Modelとその発展
Takao Yamanaka
 
Deeply-Recursive Convolutional Network for Image Super-Resolution
harmonylab
 

Similar to Image net classification with deep convolutional neural network (20)

PPTX
ImageNet Classification with Deep Convolutional Neural Networks
Kouhei Nakajima
 
PPTX
mi-8. 人工知能とコンピュータビジョン
kunihikokaneko1
 
PPTX
Convolutionl Neural Network 入門
maruyama097
 
PPTX
【初学者向け】10分でつかむ!CNNの構造
marika_hotani
 
PDF
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Daiki Shimada
 
PPTX
画像認識 6.3-6.6 畳込みニューラル ネットワーク
Shion Honda
 
PPTX
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
KokiTakamiya
 
PDF
Characeter-Level CNN
tdualdir
 
PPTX
Alex net-survey-
shunkimurakami
 
PDF
SAS ViyaのCNNを活用したProcess Innovation ~機械は解析図表をどう見ているのか~
SAS Institute Japan
 
PDF
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
Daichi Hayashi
 
PPTX
MIRU2014 tutorial deeplearning
Takayoshi Yamashita
 
PDF
IEEE ITSS Nagoya Chapter
Takayoshi Yamashita
 
PPTX
Image net classification with Deep Convolutional Neural Networks
Shingo Horiuchi
 
PDF
R-CNNの原理とここ数年の流れ
Kazuki Motohashi
 
PPTX
TensorFlowとCNTK
maruyama097
 
PDF
深層学習 - 画像認識のための深層学習 ①
Shohei Miyashita
 
PPTX
Graph Convolutional Network 概説
KCS Keio Computer Society
 
PDF
深層学習 - 画像認識のための深層学習 ②
Shohei Miyashita
 
PDF
Convolutional Neural Network @ CV勉強会関東
Hokuto Kagaya
 
ImageNet Classification with Deep Convolutional Neural Networks
Kouhei Nakajima
 
mi-8. 人工知能とコンピュータビジョン
kunihikokaneko1
 
Convolutionl Neural Network 入門
maruyama097
 
【初学者向け】10分でつかむ!CNNの構造
marika_hotani
 
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Daiki Shimada
 
画像認識 6.3-6.6 畳込みニューラル ネットワーク
Shion Honda
 
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
KokiTakamiya
 
Characeter-Level CNN
tdualdir
 
Alex net-survey-
shunkimurakami
 
SAS ViyaのCNNを活用したProcess Innovation ~機械は解析図表をどう見ているのか~
SAS Institute Japan
 
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
Daichi Hayashi
 
MIRU2014 tutorial deeplearning
Takayoshi Yamashita
 
IEEE ITSS Nagoya Chapter
Takayoshi Yamashita
 
Image net classification with Deep Convolutional Neural Networks
Shingo Horiuchi
 
R-CNNの原理とここ数年の流れ
Kazuki Motohashi
 
TensorFlowとCNTK
maruyama097
 
深層学習 - 画像認識のための深層学習 ①
Shohei Miyashita
 
Graph Convolutional Network 概説
KCS Keio Computer Society
 
深層学習 - 画像認識のための深層学習 ②
Shohei Miyashita
 
Convolutional Neural Network @ CV勉強会関東
Hokuto Kagaya
 
Ad

Image net classification with deep convolutional neural network

  • 1. ImageNet Classification with Deep Convolutional Neural Network gasin
  • 2. CNNとは • Convolutional Neural Netの略 • 畳み込み層と、プーリング層とfully-connected layerがある • 畳み込み層・・いい感じに画像の特徴を抽出する(本質) • プーリング層・・画像を圧縮してぼかす(一般化する意味も) • fully-connected layer・・最終的な結果を計算する • ニューラルネットの一種なので誤差逆伝播などを使うことで学 習できる。
  • 3. 1.Abstract • ImageNet LSVRC-2010という、1.2*10^6枚の画像を1000個のクラ スに分類するコンテストでいい成績残した。 • パラメータやニューロンはいっぱいある。 • 5つの畳み込み層があり、そのうちいくつかはプーリング層を 伴っていて、また、fully-connected layerが3つある。(もちろん クラス分類だからソフトマックスが最後にある) • 計算量減らすためにネットワークの辺を適当に切り落し、また、 とても強いGPUを使った。 • fully-connected layerでの過学習を防ぐために最近発明され た”dropout”と呼ばれる正則化を行った。
  • 5. 3.The Architecture • Figure 2が今回のCNNの図。 5つの畳み込み層の後に3つの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(主成分分析)をしている。よく理解で きていないが、この処理を行うと、色の激しさや照明などによ る影響を緩和することができるらしい。
  • 13. 4.2 Dropout • 多くのニューラルネットの予測値を統合することは有効だが、 大きなニューラルネットではコストがかかりすぎるので、 Dropoutという手法を用いる。 • Dropoutとは各ニューロンの出力を50%の確率で0にするという もの。これを行うことで過学習を防ぐことができると期待され る。(複数のネットワークを扱っているようになるため) • テスト時には、全てのニューロンの出力の値を0.5倍する。
  • 14. 5 Details of leaning • ハイパーパラメータについての記述 • バッチサイズ128で確率的勾配分布法(128個のサンプルごとにパラ メータを更新という感じ) • モメンタムは0.9(前のパラメータの変化量をどれだけ加味するか) • 重み減衰は0.0005(元々は正則化をするためのもので、ここでは訓練 誤差を小さくする意味もあるらしい) • 重みの更新は式の通り • 重みの初期値は[-0.01,0.01]のガウス分布に従ってつけた • バイアスは1または0(1はReLUに正の値を渡すことで初期の学習を加 速させるため) • 学習係数はヒューステリクスに決めており、初期値は0.01で、改善 が止まったら学習係数を0.1倍している。
  • 15. 6 Results • ILSVRC-2010 において、top-1で失敗率が37.5%、top-5で失敗率 が17.0%という、圧倒的な精度で一位を取った。 • その他、このニューラルネットで成功した事例の列挙。
  • 16. 6.1 Qualitative Evaluations • Figure 3のように、何か指示を与えたわけではないのに、GPU1 とGPU2で役割を分担しているように見える。(GPU1は色の非 依存性を示していて、GPU2は色の特徴を示しているように見え る) • Figure 4が示すようにクラス分類をしている。 • 画像の類似度を評価する方法として、4096次元のユークリッド 距離を求めるという方法が考えられるが意味のない輪郭を抽出 してしまうだろうから、この方法を用いるには画像を圧縮する 自動符号化器を訓練することが必要になるだろう。
  • 17. 7 Discussion • この結果は、大きなニューラルネットが教師あり学習に効果的 だということを示している。なぜなら、一つでも層を除くと精 度が落ちるからだ。 • 教師なし学習をデータセットに適応した場合、精度がより改善 されることは予測されたが、今回は簡潔さを優先してそれをあ えて行わなかった。 • もし、より大きな計算資源を手に入れ、大きなニューラルネッ トを構成したら、より精度が上がることが期待される。究極的 には動画などにもこの技術を応用していきたい。