Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Res net fingerprint

46 views

Published on

I developed a fingerprint recognition using machine-learning.
Specifically,I prepared 50 sets of 5 fingerprints per one person,
and using CNN or ResNet developed 50 classes classification program.

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Res net fingerprint

  1. 1. 榎本観 ResNetによる指紋認証
  2. 2. データ • 50人分の指紋画像を5枚ずつ用意。 一人ずつ3枚分を訓練データ • 1枚分をtestデータ (最終的にモデルの精度を確認) • 1枚分をvalidデータ (訓練する中で、うまく予測できているか確認)
  3. 3. 方針 • ニューラルネットワークをもちいた50値分類で、それぞれの人の指紋 を見分ける(実用的には、Yes or Noの2値分類で十分)。 • 機械学習において、例えば画像なら、読み込ませるデータの縮小、 回転などに弱いので、今回は回転のみ考慮して訓練データを水増し (一応これもテクニックの名前)した。 現在用いられている指紋認証アルゴリズムについて概説すると、 特徴的な部分(指紋の三角形に見える部分など)から渦の中心までの 距離は人によって決まっていて、それを検出しているらしい。
  4. 4. CNN概要 • 普通のCNN(畳み込みニューラルネットワーク)で指紋判別プログラムを作成してみた。 CNN・・・畳み込みで特徴量を抽出する層を組み合わせたニューラルネットワークのこと。 畳み込み・・・端的に言えばフーリエ級数(変換)と本質的に似る。 結果:精度50%前後
  5. 5. ResNetを実装した。 機械学習では、層を深くすることが重要である といくつかの論文で指摘されている。 ⇨層数を増やしたい! しかし、勾配消失、勾配発散の問題あり (ロス関数の勾配によってモデルを修正するた め、モデルが修正できない、あるいは機能しな くなってしまうことがある。) ⇨恒等写像を加えると、うまくいく! Residual Net (ResNet)概要
  6. 6. ResNetの実装 1. Batch Normalization 2. Gloval Average Pooling 3. Shortcut Connection VGGというモデルに着想を得て、1,2を実装した 普通のCNN(畳み込みニューラルネットワーク) と、さらに独自テクニック3を実装したネットワーク を比較検討している(He et al. 2016)。
  7. 7. 1. Batch Normalization • 勾配消失、爆発を防ぐための手法であり、ResNetでは各convolutional層(畳み込 み層)の最後に入っている。 𝑥𝑖 = 𝑥 𝑖−𝜇 𝜎2+𝜀 ( 𝜖は小さい正数、桁落ちによる値の発散を防ぐため) 正則化効果(パラメータの値を微妙に変化させることで特殊なパターンを学習してし まい、訓練データ以外のデータに対応できなくなってしまうことがあり、これを下学習 という。学習パラメータの自由度を下げることで、 これを防ぐ)がある。
  8. 8. 2. Gloval Average Pooling • たくさんある層の最後に加えるテクニックの 一つで、ResNetでも実装されている。 • 最後の畳み込み層から出てきた画像の画 素平均(それぞれのピクセルの画素の値の 平均)をとる。 • なぜかよくわからないが精度はこのテクニッ クを実装しないのと比べるといいらしい。
  9. 9. 3. Shortcut Connection • ResNet独自の最重要テクニック。 • 従来の機械学習モデルの、 「行列を掛けて活性化関数に入れる」という2 層の1.5層目に「恒等写像」を加えるとかなりう まく行った。 従来のモデルの各層 yn+1 = 𝑓𝑛(𝑥 𝑛) ResNet yn+1 = 𝑓𝑛 𝑥 𝑛 + 𝑥 𝑛 ResNetの名前の由来・・・恒等写像の残渣(Residual)を調整(学習)させるため
  10. 10. 結果 深さ18のResNetという意味である、ResNet18で訓練させ、testデータを入力する と精度62 %を達成した。ちなみに、実際に使われている指紋認証アルゴリズムで は、精度99 %以上のものもあるようです。 今回は畳み込みフィルタは、ライブラリとして誰かが作ったのをそのまま持ってき ただけだが、指紋の特徴量を抜き出せるようなフィルタを自分で作って実装したら、 さらなる精度向上も見込めるだろう。 反省 引用文献URL ・論文 • https://qiita.com/mine820/items/1e49bca6d215ce88594a • https://stackoverflow.com/questions/44512126/how-to-calculate-gradients-in-resnet-architecture • https://www.google.co.jp/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwiH2bPxkr3fAhXIWbwKHbauC3EQjhx6BAgBEAM&url= http%3A%2F%2Ftimdettmers.com%2F2015%2F03%2F26%2Fconvolution-deep- learning%2F&psig=AOvVaw2l0VhVqCM4W4TjsH2iyxnJ&ust=1545901718284556 • He, Kaiming & Zhang, Xiangyu & Ren, Shaoqing & Sun, Jian. (2016). Deep Residual Learning for Image Recognition. 770-778. 10.1109/CVPR.2016.90.

×