SlideShare a Scribd company logo
Active Object Localization with
Deep Reinforcement Learning
1
2016. 7.
김홍배, 한국항공우주연구원
第32回CV勉強会「ICCV2015読み会」, 皆川卓也
소개 논문
 Active Object Localization with Deep Reinforcement Learning
• Juan C. Caicedo, and Svetlana Lazebnik
• 물체검출 작업에 Deep Q-Network을 사용
2
DEEP Q-NETWORK (DQN)
 Q Learning이라는 강화학습 알고리즘에 Convolutional Neural
Network을 적용
 아래 논문에서 기계에 컴퓨터게임을 하는 방법을 학습시켜 3/7로
인간을 이김
• Mnih, V., et al., “Playing Atari with Deep Reinforcement
Learning”, NIPS Deep Learning Workshop, 2013
• Mnih, V., et al., “Human-level control through deep
reinforcement learning”, Nature, 518 (7540), 529–533. 2015
3
강화학습이란 ?
「어떤 환경에 있어서 Agent가 현재의 상태를 관
측하여 취하여야 하는 행동(Action)을 결정하는 문
제를 다루는 기계학습의 일종. Agent는 행동을 선
택함으로써 보수(Reward) 를 얻는다. 강화학습은
일련의 행동을 통하여 보수가 가장 많게 얻을 수 있
도록 정책(policy)을 학습한다.」(Wikipedia)
4
강화학습이란?
Agent
상태 : s
시간: t
행동: 𝑎
관측
정책: 𝜋(𝑠)
5
상태 : s’
강화학습이란?
Agent
시간: t+1
행동: 𝑎
정책: 𝜋(𝑠)
6
시간 : t+1
관측
보수 : 𝑟𝑡
학습으로 구함
강화학습이란?
정책: 𝜋(𝑠')
상태 : s’
Agent
7
어떻게 정책을 학습할까 ?
아래와 같이 보수의 합의 기대치가 최대가 되도록 지금의 행동을 결정
𝑅𝑡 = 𝑟𝑡 + 𝛾𝑟𝑡 +1 + 𝛾2 𝑟𝑡 +2 + ⋯ + 𝛾 𝑇−𝑡 𝑟 𝑇
보수의 합
감쇄율
장래의 보수
𝜋∗(𝑠) = argmax 𝔼[𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎]
𝑎
상태 s일때、보수의 합의 기대치가 최대가
되도록 행동 a를 선택
강화학습이란?
8
Q LEARNING
𝑄∗(𝑠, a)
상태 s、행동 a의 조합의 “좋고” “나쁨”을
점수로 가르쳐주는 함수
상태 s일때、보수의 합의 기대치가 최대가 되도록 행동 a를 선택
𝜋∗(𝑠) = argmax 𝔼 𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎
𝑎
상태 s에서 행동 a를 취할 경우, 이후로 최적인 행동
을 계속 취할 경우에 얻게 되는 보수의 합의 기대치
𝜋를 대신해서 함수 Q를 학습
9
Q LEARNING
𝜋를 대신해서 함수 Q를 학습
𝜋∗(𝑠) = argmax 𝑄∗(𝑠, 𝑎)
𝑎
함수 𝑄의 변수 𝜃를
학습에 의해 구한다.
확률적 구배강하법(SGD, Stochastic Gradient Descent)
𝜃𝑖 +1 = 𝜃𝑖 − 𝛼𝛻𝜃 𝑖
𝐿(𝜃𝑖 )
Learning rate 손실함수(Loss function)
Q(s, a; θ∗)
10
Q LEARNING
기준값(보수의 합의 최대 기대치)
존재하지 않음
 손실함수의 정의
𝜃𝑖 +1 = 𝜃𝑖 − 𝛼𝛻𝜃 𝑖
𝐿(𝜃𝑖 )
L(ϴ𝑖)=
1
2
𝑄∗
𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖
2
11
Q LEARNING
𝑄∗(𝑠, 𝑎) = 𝑟𝑡 + 𝛾 max 𝑄∗(𝑠′, 𝑎′)
𝑅𝑡 = 𝑟𝑡 + 𝛾𝑟𝑡+1 + 𝛾2 𝑟𝑡+2 + ⋯ + 𝛾 𝑇−𝑡 𝑟𝑇
보수의 합
𝑅𝑡 = 𝑟𝑡 + 𝛾𝑅𝑡+1
𝑄∗(𝑠, 𝑎) = 𝔼 [𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎]
𝑎에 의해 바뀐 상태𝑎′
12
Q LEARNING
 손실함수
L(ϴ𝑖)=
1
2
𝑄∗
𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖
2
𝑄∗(𝑠, 𝑎) = 𝑟𝑡 + 𝛾 max 𝑄∗(s′, 𝑎′)
𝑎′
13
Q LEARNING
 손실함수
지금의 변수를
이용해서 근사화
L(ϴ𝑖) =
1
2
𝑄∗
𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖
2
=
1
2
𝑟𝑡 + 𝛾 max 𝑄∗(s′, 𝑎′) − 𝑄 𝑠, 𝑎; ϴ𝑖
2
≈
1
2
𝑟𝑡 +𝛾 max 𝑄(𝑠′ , 𝑎′ ; 𝜃𝑖) − 𝑄 𝑠, 𝑎; ϴ𝑖
2
𝑎′
𝑎′
14
Q LEARNING
 손실함수의 구배(Gradient)
𝛻𝜃 𝑖 𝐿 𝜃𝑖
= −( 𝑟𝑡 + 𝛾 max 𝑄(𝑠', 𝑎' ;𝜃𝑖) − 𝑄(𝑠,𝑎;𝜃𝑖 )) 𝛻𝜃 𝑖 𝑄(𝑠,𝑎;𝜃𝑖 )
L(ϴ𝑖) =
1
2
𝑟𝑡 +𝛾 max 𝑄(𝑠′ , 𝑎′ ; 𝜃𝑖 ) − 𝑄 𝑠, 𝑎; ϴ𝑖
2
𝑎′
𝑎′
15
Deep Q-Network의 정의
𝑄(𝑠, 𝑎2)
Deep CNN
𝜃𝑖
・・
𝑄(𝑠, 𝑎 𝐿)
s
𝑄(𝑠, 𝑎1)
 함수 𝑄(𝑠, 𝑎; 𝜃 𝑖)를 CNN로 나타낸다.
 입력이 상태 s, 출력이 각 행동에 따른 Q값
16
Deep Q-Network의 학습
𝑄(𝑠, 𝑎2)
Deep CNN
𝜃𝑖
・・
𝑄(𝑠, 𝑎 𝐿)
st
𝑄(𝑠, 𝑎1)
1. 상태 𝑆𝑡 를 입력시, 𝑄(𝑠𝑡 , 𝑎; 𝜃 𝑖)가 최대가 되는 행동 𝑎 𝑡를 선택
• 단 확률 𝜀으로 랜덤하게 선택
17
2. 행동 𝑎𝑡 에 의 해 상 태 𝑆𝑡 +1과 보수 𝑟𝑡 를 얻는다.
𝑎𝑡
𝑠𝑡 → 𝑠𝑡+
1
Agent
환경
𝑟𝑡
Deep Q-Network의 학습
18
𝑄(𝑠𝑡 +1, 𝑎1)
𝑄(𝑠𝑡 +1, 𝑎2)
Deep CNN
𝜃𝑖
・・
・・
・
𝑄(𝑠𝑡+1, 𝑎 𝐿)
𝑠
t+1
3. 상태 𝑆𝑡 +1를 입력하고 max 𝑎 𝑄(𝑠𝑡 +1, 𝑎; 𝜃𝑖 ) 를 구한다.
Deep Q-Network의 학습
19
𝑦𝑖Deep CNN
𝜃𝑖
・
・
𝑄(𝑠𝑡 , 𝑎 𝐿)
𝑠𝑡
𝑄(𝑠𝑡 , 𝑎1)
4. 다음을 정답으로 해서 변수 𝜃 𝑖를 갱신한다.
𝑦𝑖 = 𝑟𝑡 + γ max 𝑎 𝑄(𝑠𝑡 +1, 𝑎; 𝜃𝑖 )
Deep Q-Network의 학습
L(ϴ𝑖) =
1
2
𝑦𝑖 − 𝑄 𝑠𝑡, 𝑎; ϴ𝑖
2 𝜃𝑖 +1= 𝜃𝑖 − 𝛼𝛻𝜃 𝑖
𝐿(𝜃𝑖 )
20
본론
21
DQN로 물체검출
 Agent : Bounding Box
 행동, a : Bounding Box의 이동/형상변경
 상태, s : Box내의 이미지 특징 벡터 + 행동이력
 보수, r : 정답(Ground Truth)과의 오버랩비율
22
 행동 (X9)
• 상하좌우 이동, 확대/축소, 형상변화(가늘게/넙적하게), 종료
• 이동 및 크기변화의 크기는 Box 크기에 비례(α = 0.2)
DQN로 물체검출
23
 상태
• Bounding Box내 이미지로부터 특징 벡터를 구함
 CNN에서 구한 4,096x1 벡터
• 과거의 행동이력
 직전 10회의 행동까지
 각각의 행동은 9x1 Binary 벡터로 표시
(취한 행동에 “1”, 나머지는 “0”)
 10 x 9 = 90x1 벡터
• 4096+90 = 4186x1 벡터를 DQN의 입력으로 한다.
DQN로 물체검출
24
 보수
b
g
𝐼𝑜𝑈 𝑏, 𝑔 =
𝑎𝑟𝑒𝑎(𝑏 ∩ 𝑔)
𝑎𝑟𝑒𝑎(𝑏 ∪ 𝑔)
𝑅 𝑎( 𝑠, 𝑠‘) = 𝑠𝑖𝑔𝑛 (𝐼𝑜𝑈(𝑏′, 𝑔) − 𝐼𝑜𝑈(𝑏, 𝑔))
Agent
Ground Truth
정답과의 오버랩 비율
(Intersection over Union)
Trigger(종료)이외의행동에대한보수
오버랩 비율이 커지면 1 , 작아지면 - 1
DQN로 물체검출
25
b
g 𝐼𝑜𝑈 𝑏, 𝑔 =
𝑎𝑟𝑒𝑎(𝑏 ∩ 𝑔)
𝑎𝑟𝑒𝑎(𝑏 ∪ 𝑔)
Agent
Ground Trut
h
오버랩 비율이 임계치, 𝜏 이상이면 +𝜂、이하면 −𝜂
+𝜂 𝑖𝑓 𝐼𝑜𝑈 𝑏, 𝑔 ≥ 𝜏
−𝜂 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
 보수
정답과의 오버랩 비율
Trigger(종료)에대한보수
𝑅w( 𝑠, 𝑠‘) =
DQN로 물체검출
26
네트웍 구성
 이미지 크기는 224x224
 특징추출은 Pre-trained CNN을 사용
90x1
224x224 pixels
27
Agent의 학습
 Ε-GREEDY알고리즘
 확률 ε로 랜덤하게 행동을 선택
• 그 이외에는 가장 Q값이 큰 행동으로
• 본 방법에서는 학습시 정답 데이터를 알고 있으므로
보수가 “+”인 행동 중에서 랜덤하게 선택
 ε 은 학습이 진행됨에 따라 작아진다.
28
 Experience Replay
 과거의 (𝑠 𝑡, 𝑎 𝑡, 𝑟𝑡, 𝑠𝑡 +1)를 replay-memory에 보존
 DQN의 학습 시, 보존된 replay-memory로부터
랜덤하게 선택된 미니뱃치로 재학습
Agent의 학습
29
AGENT에 의한 물체검출
DQN
𝑠
Restart
25%smaller
start box size
Put it on an
image corner
Do Action
Y
Y
total 200
steps over ?
Y
N
𝑎
Trigger ?
N
40 steps
over ?
N
30
실험 (PASCALVOC2007)
 Pascal VOC 20
07
31
RECALL의 평가
32
물체검출까지의 STEP수의 분포
33
행동이력의 예
34
복수 물체검출의 예
35
검출실패의 예
36
SENSITIVITY ANALYSIS
 물체의 외형(Occlusion, Truncation, Size, Aspect Ratio,Viewpoint of
Objects, Visibility of parts)에 대한 민감도 해석
37
RUNTIME
 K-40 GPU 1대
 CNN에 의한 특징검출 (4.5ms)
 Q-network (3.2 ms)
 평균 1.54sec/image
38
결론
 강화학습을 사용해서 TOP-DOWN으로 물체
검출을 하는 방법을 제안
하나의 OBJECT에 대하여 11~25 정도의
영역밖에 보지 않았는데도 검출가능
39

More Related Content

What's hot (20)

PPTX
強化学習 DQNからPPOまで
harmonylab
 
PDF
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
Takatoshi Matsuo
 
PDF
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Go Maeda
 
PDF
【メタサーベイ】Neural Fields
cvpaper. challenge
 
PDF
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
Deep Learning JP
 
PPTX
OSS強化学習フレームワークの比較
gree_tech
 
PPTX
トランザクション入門
Kumazaki Hiroki
 
PDF
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
Deep Learning JP
 
PDF
ドメイン駆動設計 本格入門
増田 亨
 
PDF
Introduction to A3C model
WEBFARMER. ltd.
 
PPTX
対立強化学習による鬼ごっこゲームでのスキル獲得(RSJ2018ポスター)
marieooshima
 
PDF
GoによるiOSアプリの開発
Takuya Ueda
 
PDF
[DL輪読会]AlphaStarとその関連技術
Deep Learning JP
 
PDF
グラフデータ分析 入門編
順也 山口
 
PDF
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
 
PDF
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
 
PDF
使ってみませんか?pg_hint_plan
NTT DATA OSS Professional Services
 
PDF
ailia SDK ハンズオン ~1時間で体感するAIを使ったコンピュータビジョン~
HitoshiSHINABE1
 
PPTX
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
 
PDF
[DL輪読会]Inverse Constrained Reinforcement Learning
Deep Learning JP
 
強化学習 DQNからPPOまで
harmonylab
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
Takatoshi Matsuo
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Go Maeda
 
【メタサーベイ】Neural Fields
cvpaper. challenge
 
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
Deep Learning JP
 
OSS強化学習フレームワークの比較
gree_tech
 
トランザクション入門
Kumazaki Hiroki
 
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
Deep Learning JP
 
ドメイン駆動設計 本格入門
増田 亨
 
Introduction to A3C model
WEBFARMER. ltd.
 
対立強化学習による鬼ごっこゲームでのスキル獲得(RSJ2018ポスター)
marieooshima
 
GoによるiOSアプリの開発
Takuya Ueda
 
[DL輪読会]AlphaStarとその関連技術
Deep Learning JP
 
グラフデータ分析 入門編
順也 山口
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
 
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
 
使ってみませんか?pg_hint_plan
NTT DATA OSS Professional Services
 
ailia SDK ハンズオン ~1時間で体感するAIを使ったコンピュータビジョン~
HitoshiSHINABE1
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
 
[DL輪読会]Inverse Constrained Reinforcement Learning
Deep Learning JP
 

Viewers also liked (20)

PDF
Deep Object Detectors #1 (~2016.6)
Ildoo Kim
 
PPTX
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
홍배 김
 
PDF
Recurrent Instance Segmentation (UPC Reading Group)
Universitat Politècnica de Catalunya
 
PDF
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
현호 김
 
PDF
Kgc2012 온라인 게임을 위한 게임 오브젝트 설계
kgun86
 
PDF
2015 py con word2vec이 추천시스템을 만났을때
choi kyumin
 
PDF
SSD: Single Shot MultiBox Detector (UPC Reading Group)
Universitat Politècnica de Catalunya
 
PPTX
Learning to remember rare events
홍배 김
 
PPTX
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
홍배 김
 
PPTX
Visualizing data using t-SNE
홍배 김
 
PPTX
A neural image caption generator
홍배 김
 
PPTX
알기쉬운 Variational autoencoder
홍배 김
 
PPTX
Learning by association
홍배 김
 
PPTX
Binarized CNN on FPGA
홍배 김
 
PPTX
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
홍배 김
 
PPTX
Normalization 방법
홍배 김
 
PPTX
Explanation on Tensorflow example -Deep mnist for expert
홍배 김
 
PPTX
MNIST for ML beginners
홍배 김
 
PPTX
Meta-Learning with Memory Augmented Neural Networks
홍배 김
 
PPTX
Convolution 종류 설명
홍배 김
 
Deep Object Detectors #1 (~2016.6)
Ildoo Kim
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
홍배 김
 
Recurrent Instance Segmentation (UPC Reading Group)
Universitat Politècnica de Catalunya
 
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
현호 김
 
Kgc2012 온라인 게임을 위한 게임 오브젝트 설계
kgun86
 
2015 py con word2vec이 추천시스템을 만났을때
choi kyumin
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
Universitat Politècnica de Catalunya
 
Learning to remember rare events
홍배 김
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
홍배 김
 
Visualizing data using t-SNE
홍배 김
 
A neural image caption generator
홍배 김
 
알기쉬운 Variational autoencoder
홍배 김
 
Learning by association
홍배 김
 
Binarized CNN on FPGA
홍배 김
 
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
홍배 김
 
Normalization 방법
홍배 김
 
Explanation on Tensorflow example -Deep mnist for expert
홍배 김
 
MNIST for ML beginners
홍배 김
 
Meta-Learning with Memory Augmented Neural Networks
홍배 김
 
Convolution 종류 설명
홍배 김
 
Ad

Similar to Q Learning과 CNN을 이용한 Object Localization (20)

PDF
Introduction toDQN
Curt Park
 
PDF
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
 
PDF
Dqn break
Juntae Kim
 
PDF
Reinforcement learning v0.5
SANG WON PARK
 
PDF
파이썬과 케라스로 배우는 강화학습 저자특강
Woong won Lee
 
PDF
Rl from scratch part5
Shinwoo Park
 
PDF
Deep neural networks cnn rnn_ae_some practical techniques
Kang Pilsung
 
PPTX
Anomaly detection practive_using_deep_learning
도형 임
 
PDF
CS294-112 Lecture 06
Gyubin Son
 
PPTX
ML + 주식 phase 2
HoChul Shin
 
PPTX
13-DfdasdfsafdsafdasfdasfdsadfasfdsafNN.pptx
HinPhmXun1
 
PDF
Coursera Machine Learning (by Andrew Ng)_강의정리
SANG WON PARK
 
PPTX
강화학습 & Unity ML Agents
Hyunjong Lee
 
PDF
RLCode와 A3C 쉽고 깊게 이해하기
Woong won Lee
 
PDF
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
혜승 이
 
PDF
CS294-112 Lecture 13
Gyubin Son
 
PDF
From maching learning to deep learning
Yongdae Kim
 
PDF
Rl from scratch part4
Shinwoo Park
 
PPTX
Deep learning overview
강민국 강민국
 
Introduction toDQN
Curt Park
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
 
Dqn break
Juntae Kim
 
Reinforcement learning v0.5
SANG WON PARK
 
파이썬과 케라스로 배우는 강화학습 저자특강
Woong won Lee
 
Rl from scratch part5
Shinwoo Park
 
Deep neural networks cnn rnn_ae_some practical techniques
Kang Pilsung
 
Anomaly detection practive_using_deep_learning
도형 임
 
CS294-112 Lecture 06
Gyubin Son
 
ML + 주식 phase 2
HoChul Shin
 
13-DfdasdfsafdsafdasfdasfdsadfasfdsafNN.pptx
HinPhmXun1
 
Coursera Machine Learning (by Andrew Ng)_강의정리
SANG WON PARK
 
강화학습 & Unity ML Agents
Hyunjong Lee
 
RLCode와 A3C 쉽고 깊게 이해하기
Woong won Lee
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
혜승 이
 
CS294-112 Lecture 13
Gyubin Son
 
From maching learning to deep learning
Yongdae Kim
 
Rl from scratch part4
Shinwoo Park
 
Deep learning overview
강민국 강민국
 
Ad

More from 홍배 김 (19)

PDF
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
홍배 김
 
PPTX
Gaussian processing
홍배 김
 
PPTX
Lecture Summary : Camera Projection
홍배 김
 
PPTX
Learning agile and dynamic motor skills for legged robots
홍배 김
 
PPTX
Robotics of Quadruped Robot
홍배 김
 
PPTX
Basics of Robotics
홍배 김
 
PPTX
Recurrent Neural Net의 이론과 설명
홍배 김
 
PPTX
Convolutional neural networks 이론과 응용
홍배 김
 
PPTX
Anomaly detection using deep one class classifier
홍배 김
 
PPTX
Optimal real-time landing using DNN
홍배 김
 
PPTX
The world of loss function
홍배 김
 
PPTX
Machine learning applications in aerospace domain
홍배 김
 
PPTX
Anomaly Detection and Localization Using GAN and One-Class Classifier
홍배 김
 
PPTX
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
홍배 김
 
PPTX
Brief intro : Invariance and Equivariance
홍배 김
 
PPTX
Anomaly Detection with GANs
홍배 김
 
PPTX
Focal loss의 응용(Detection & Classification)
홍배 김
 
PPTX
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
 
PPTX
머신러닝의 자연어 처리기술(I)
홍배 김
 
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
홍배 김
 
Gaussian processing
홍배 김
 
Lecture Summary : Camera Projection
홍배 김
 
Learning agile and dynamic motor skills for legged robots
홍배 김
 
Robotics of Quadruped Robot
홍배 김
 
Basics of Robotics
홍배 김
 
Recurrent Neural Net의 이론과 설명
홍배 김
 
Convolutional neural networks 이론과 응용
홍배 김
 
Anomaly detection using deep one class classifier
홍배 김
 
Optimal real-time landing using DNN
홍배 김
 
The world of loss function
홍배 김
 
Machine learning applications in aerospace domain
홍배 김
 
Anomaly Detection and Localization Using GAN and One-Class Classifier
홍배 김
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
홍배 김
 
Brief intro : Invariance and Equivariance
홍배 김
 
Anomaly Detection with GANs
홍배 김
 
Focal loss의 응용(Detection & Classification)
홍배 김
 
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
 
머신러닝의 자연어 처리기술(I)
홍배 김
 

Q Learning과 CNN을 이용한 Object Localization

  • 1. Active Object Localization with Deep Reinforcement Learning 1 2016. 7. 김홍배, 한국항공우주연구원 第32回CV勉強会「ICCV2015読み会」, 皆川卓也
  • 2. 소개 논문  Active Object Localization with Deep Reinforcement Learning • Juan C. Caicedo, and Svetlana Lazebnik • 물체검출 작업에 Deep Q-Network을 사용 2
  • 3. DEEP Q-NETWORK (DQN)  Q Learning이라는 강화학습 알고리즘에 Convolutional Neural Network을 적용  아래 논문에서 기계에 컴퓨터게임을 하는 방법을 학습시켜 3/7로 인간을 이김 • Mnih, V., et al., “Playing Atari with Deep Reinforcement Learning”, NIPS Deep Learning Workshop, 2013 • Mnih, V., et al., “Human-level control through deep reinforcement learning”, Nature, 518 (7540), 529–533. 2015 3
  • 4. 강화학습이란 ? 「어떤 환경에 있어서 Agent가 현재의 상태를 관 측하여 취하여야 하는 행동(Action)을 결정하는 문 제를 다루는 기계학습의 일종. Agent는 행동을 선 택함으로써 보수(Reward) 를 얻는다. 강화학습은 일련의 행동을 통하여 보수가 가장 많게 얻을 수 있 도록 정책(policy)을 학습한다.」(Wikipedia) 4
  • 5. 강화학습이란? Agent 상태 : s 시간: t 행동: 𝑎 관측 정책: 𝜋(𝑠) 5
  • 6. 상태 : s’ 강화학습이란? Agent 시간: t+1 행동: 𝑎 정책: 𝜋(𝑠) 6
  • 7. 시간 : t+1 관측 보수 : 𝑟𝑡 학습으로 구함 강화학습이란? 정책: 𝜋(𝑠') 상태 : s’ Agent 7
  • 8. 어떻게 정책을 학습할까 ? 아래와 같이 보수의 합의 기대치가 최대가 되도록 지금의 행동을 결정 𝑅𝑡 = 𝑟𝑡 + 𝛾𝑟𝑡 +1 + 𝛾2 𝑟𝑡 +2 + ⋯ + 𝛾 𝑇−𝑡 𝑟 𝑇 보수의 합 감쇄율 장래의 보수 𝜋∗(𝑠) = argmax 𝔼[𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎] 𝑎 상태 s일때、보수의 합의 기대치가 최대가 되도록 행동 a를 선택 강화학습이란? 8
  • 9. Q LEARNING 𝑄∗(𝑠, a) 상태 s、행동 a의 조합의 “좋고” “나쁨”을 점수로 가르쳐주는 함수 상태 s일때、보수의 합의 기대치가 최대가 되도록 행동 a를 선택 𝜋∗(𝑠) = argmax 𝔼 𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎 𝑎 상태 s에서 행동 a를 취할 경우, 이후로 최적인 행동 을 계속 취할 경우에 얻게 되는 보수의 합의 기대치 𝜋를 대신해서 함수 Q를 학습 9
  • 10. Q LEARNING 𝜋를 대신해서 함수 Q를 학습 𝜋∗(𝑠) = argmax 𝑄∗(𝑠, 𝑎) 𝑎 함수 𝑄의 변수 𝜃를 학습에 의해 구한다. 확률적 구배강하법(SGD, Stochastic Gradient Descent) 𝜃𝑖 +1 = 𝜃𝑖 − 𝛼𝛻𝜃 𝑖 𝐿(𝜃𝑖 ) Learning rate 손실함수(Loss function) Q(s, a; θ∗) 10
  • 11. Q LEARNING 기준값(보수의 합의 최대 기대치) 존재하지 않음  손실함수의 정의 𝜃𝑖 +1 = 𝜃𝑖 − 𝛼𝛻𝜃 𝑖 𝐿(𝜃𝑖 ) L(ϴ𝑖)= 1 2 𝑄∗ 𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖 2 11
  • 12. Q LEARNING 𝑄∗(𝑠, 𝑎) = 𝑟𝑡 + 𝛾 max 𝑄∗(𝑠′, 𝑎′) 𝑅𝑡 = 𝑟𝑡 + 𝛾𝑟𝑡+1 + 𝛾2 𝑟𝑡+2 + ⋯ + 𝛾 𝑇−𝑡 𝑟𝑇 보수의 합 𝑅𝑡 = 𝑟𝑡 + 𝛾𝑅𝑡+1 𝑄∗(𝑠, 𝑎) = 𝔼 [𝑅𝑡 |𝑠𝑡 = 𝑠, 𝑎𝑡= 𝑎] 𝑎에 의해 바뀐 상태𝑎′ 12
  • 13. Q LEARNING  손실함수 L(ϴ𝑖)= 1 2 𝑄∗ 𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖 2 𝑄∗(𝑠, 𝑎) = 𝑟𝑡 + 𝛾 max 𝑄∗(s′, 𝑎′) 𝑎′ 13
  • 14. Q LEARNING  손실함수 지금의 변수를 이용해서 근사화 L(ϴ𝑖) = 1 2 𝑄∗ 𝑠, 𝑎 − 𝑄 𝑠, 𝑎; ϴ𝑖 2 = 1 2 𝑟𝑡 + 𝛾 max 𝑄∗(s′, 𝑎′) − 𝑄 𝑠, 𝑎; ϴ𝑖 2 ≈ 1 2 𝑟𝑡 +𝛾 max 𝑄(𝑠′ , 𝑎′ ; 𝜃𝑖) − 𝑄 𝑠, 𝑎; ϴ𝑖 2 𝑎′ 𝑎′ 14
  • 15. Q LEARNING  손실함수의 구배(Gradient) 𝛻𝜃 𝑖 𝐿 𝜃𝑖 = −( 𝑟𝑡 + 𝛾 max 𝑄(𝑠', 𝑎' ;𝜃𝑖) − 𝑄(𝑠,𝑎;𝜃𝑖 )) 𝛻𝜃 𝑖 𝑄(𝑠,𝑎;𝜃𝑖 ) L(ϴ𝑖) = 1 2 𝑟𝑡 +𝛾 max 𝑄(𝑠′ , 𝑎′ ; 𝜃𝑖 ) − 𝑄 𝑠, 𝑎; ϴ𝑖 2 𝑎′ 𝑎′ 15
  • 16. Deep Q-Network의 정의 𝑄(𝑠, 𝑎2) Deep CNN 𝜃𝑖 ・・ 𝑄(𝑠, 𝑎 𝐿) s 𝑄(𝑠, 𝑎1)  함수 𝑄(𝑠, 𝑎; 𝜃 𝑖)를 CNN로 나타낸다.  입력이 상태 s, 출력이 각 행동에 따른 Q값 16
  • 17. Deep Q-Network의 학습 𝑄(𝑠, 𝑎2) Deep CNN 𝜃𝑖 ・・ 𝑄(𝑠, 𝑎 𝐿) st 𝑄(𝑠, 𝑎1) 1. 상태 𝑆𝑡 를 입력시, 𝑄(𝑠𝑡 , 𝑎; 𝜃 𝑖)가 최대가 되는 행동 𝑎 𝑡를 선택 • 단 확률 𝜀으로 랜덤하게 선택 17
  • 18. 2. 행동 𝑎𝑡 에 의 해 상 태 𝑆𝑡 +1과 보수 𝑟𝑡 를 얻는다. 𝑎𝑡 𝑠𝑡 → 𝑠𝑡+ 1 Agent 환경 𝑟𝑡 Deep Q-Network의 학습 18
  • 19. 𝑄(𝑠𝑡 +1, 𝑎1) 𝑄(𝑠𝑡 +1, 𝑎2) Deep CNN 𝜃𝑖 ・・ ・・ ・ 𝑄(𝑠𝑡+1, 𝑎 𝐿) 𝑠 t+1 3. 상태 𝑆𝑡 +1를 입력하고 max 𝑎 𝑄(𝑠𝑡 +1, 𝑎; 𝜃𝑖 ) 를 구한다. Deep Q-Network의 학습 19
  • 20. 𝑦𝑖Deep CNN 𝜃𝑖 ・ ・ 𝑄(𝑠𝑡 , 𝑎 𝐿) 𝑠𝑡 𝑄(𝑠𝑡 , 𝑎1) 4. 다음을 정답으로 해서 변수 𝜃 𝑖를 갱신한다. 𝑦𝑖 = 𝑟𝑡 + γ max 𝑎 𝑄(𝑠𝑡 +1, 𝑎; 𝜃𝑖 ) Deep Q-Network의 학습 L(ϴ𝑖) = 1 2 𝑦𝑖 − 𝑄 𝑠𝑡, 𝑎; ϴ𝑖 2 𝜃𝑖 +1= 𝜃𝑖 − 𝛼𝛻𝜃 𝑖 𝐿(𝜃𝑖 ) 20
  • 22. DQN로 물체검출  Agent : Bounding Box  행동, a : Bounding Box의 이동/형상변경  상태, s : Box내의 이미지 특징 벡터 + 행동이력  보수, r : 정답(Ground Truth)과의 오버랩비율 22
  • 23.  행동 (X9) • 상하좌우 이동, 확대/축소, 형상변화(가늘게/넙적하게), 종료 • 이동 및 크기변화의 크기는 Box 크기에 비례(α = 0.2) DQN로 물체검출 23
  • 24.  상태 • Bounding Box내 이미지로부터 특징 벡터를 구함  CNN에서 구한 4,096x1 벡터 • 과거의 행동이력  직전 10회의 행동까지  각각의 행동은 9x1 Binary 벡터로 표시 (취한 행동에 “1”, 나머지는 “0”)  10 x 9 = 90x1 벡터 • 4096+90 = 4186x1 벡터를 DQN의 입력으로 한다. DQN로 물체검출 24
  • 25.  보수 b g 𝐼𝑜𝑈 𝑏, 𝑔 = 𝑎𝑟𝑒𝑎(𝑏 ∩ 𝑔) 𝑎𝑟𝑒𝑎(𝑏 ∪ 𝑔) 𝑅 𝑎( 𝑠, 𝑠‘) = 𝑠𝑖𝑔𝑛 (𝐼𝑜𝑈(𝑏′, 𝑔) − 𝐼𝑜𝑈(𝑏, 𝑔)) Agent Ground Truth 정답과의 오버랩 비율 (Intersection over Union) Trigger(종료)이외의행동에대한보수 오버랩 비율이 커지면 1 , 작아지면 - 1 DQN로 물체검출 25
  • 26. b g 𝐼𝑜𝑈 𝑏, 𝑔 = 𝑎𝑟𝑒𝑎(𝑏 ∩ 𝑔) 𝑎𝑟𝑒𝑎(𝑏 ∪ 𝑔) Agent Ground Trut h 오버랩 비율이 임계치, 𝜏 이상이면 +𝜂、이하면 −𝜂 +𝜂 𝑖𝑓 𝐼𝑜𝑈 𝑏, 𝑔 ≥ 𝜏 −𝜂 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒  보수 정답과의 오버랩 비율 Trigger(종료)에대한보수 𝑅w( 𝑠, 𝑠‘) = DQN로 물체검출 26
  • 27. 네트웍 구성  이미지 크기는 224x224  특징추출은 Pre-trained CNN을 사용 90x1 224x224 pixels 27
  • 28. Agent의 학습  Ε-GREEDY알고리즘  확률 ε로 랜덤하게 행동을 선택 • 그 이외에는 가장 Q값이 큰 행동으로 • 본 방법에서는 학습시 정답 데이터를 알고 있으므로 보수가 “+”인 행동 중에서 랜덤하게 선택  ε 은 학습이 진행됨에 따라 작아진다. 28
  • 29.  Experience Replay  과거의 (𝑠 𝑡, 𝑎 𝑡, 𝑟𝑡, 𝑠𝑡 +1)를 replay-memory에 보존  DQN의 학습 시, 보존된 replay-memory로부터 랜덤하게 선택된 미니뱃치로 재학습 Agent의 학습 29
  • 30. AGENT에 의한 물체검출 DQN 𝑠 Restart 25%smaller start box size Put it on an image corner Do Action Y Y total 200 steps over ? Y N 𝑎 Trigger ? N 40 steps over ? N 30
  • 37. SENSITIVITY ANALYSIS  물체의 외형(Occlusion, Truncation, Size, Aspect Ratio,Viewpoint of Objects, Visibility of parts)에 대한 민감도 해석 37
  • 38. RUNTIME  K-40 GPU 1대  CNN에 의한 특징검출 (4.5ms)  Q-network (3.2 ms)  평균 1.54sec/image 38
  • 39. 결론  강화학습을 사용해서 TOP-DOWN으로 물체 검출을 하는 방법을 제안 하나의 OBJECT에 대하여 11~25 정도의 영역밖에 보지 않았는데도 검출가능 39