ݺߣ

ݺߣShare a Scribd company logo
합성곱 신경망
아꿈사 송성곤
합성곱 신경망
합성곱 신경망(Convolutional Neural Network, CNN)은 주로
이미지 인식에 응용되는 피드포워드 신경망이다.
Fully connectetd와 달리 인접한 층과 층사이에 특정한
유닛만이 결합을 갖는다.
감수 영역 (receptive field)
CNN은 시각 피질(visual cortex)에 대한 신경학적
지식으로부터 힌트를 얻어 만들어 졌다.
시야의 특정 위치에 특정한 방향이
굵기의 선분이 제시되었을 때만
선택적으로 시각 피질이 반응을 보임
단순 세포와 복잡 세포
특정 입력 패턴에 반응을 보이는 2가지 세포
단순세포 복잡 세포
엄격한 위치 선택성을 갖음
중간층의 유닛하나가 단순 세포 모형
엄격한 위치 선택성이 없고 입력 패턴이
조금 벗어나도 반응
출력층의 유닛이 복잡 세포의 모형
전체적인 구조
합성곱 + 풀링층 … + fully connected layer
합성곱 + 합성곱 + 풀링층 … + fully connected layer
합성곱 - 정의
이미지 필터
사이즈
W * W H * H
픽셀 인덱스
(i, j) (p, q)
픽셀값 xij
hpq
합성곱 - 합성곱의 작용
필터가 나타내는 특징적인 명암 구조를 이미지로 부터
추출하는 작용
합성곱 - 패딩
결과 이미지가 입력이미지 작아짐
결과 이미지가 작아지지 않도록 입력이미지 주위로 패딩 설정
합성곱 - stride
필터의 적용위치를 이동하기 위한 간격을 stride라 하고
stride값이 s일때 출력 이미지 크기는 약 1/s배가 된다.
Stride값이 큰 경우 이미지 특징을 놓칠수 있고 성능이 오히려
저하됨
합성곱층
합성곱층 : 합성곱 연산을 하는 단층 신경망
채널 개수 : K
그레이 스케일 이미지 : 채널 K=1개
다채널(예 : RGB) 이미지 : 채널 K=3개 이상, K=16~256개
중간층의 출력을 이미지라 부르지 않고 맵(map)이라 부름
합성곱층
K채널 입력 이미지에 3개의 필터를 적용하여 3채널 이미지맵을 출력
가중치 : hpqkm
합성곱층 특징
● 국소적인 결합
● 가중치 공유 (weight sharing, weight tying) : 출력층의 같은
채널에 속하는 모든 유닛에서 공유된다.
● CNN의 가중치는 필터 그 자체
● CNN의 파라미터 최적화 : 경사 하강법
● 역전파법으로 합성곱층의 델타와 필터의 오차 기울기가 계산됨
가중치 : hpqkm
풀링층은 합성곱층 바로 뒤에 보통 배치됨
합성곱층의 추출한 자질의 위치감도를 약간 저하시켜 대상이 되는 자질값의
이미지내에서의 위치가 조금씩 변화하는 경우에도 풀링층의 출력이
변화하지 않도록 해준다.
풀링층
Max pooling
Average pooling Lp pooling
P == 1 : average
P == ∞ : max pooling
사이즈 : 3 * 3, s(stride) : 3, 제로패딩 1, max pooling
풀링층
사이즈 : 3 * 3, s(stride) : 2, 제로패딩 2, max pooling
풀링층
● 층간 결합이 국소적으로 제한
● 가중치는 고정값으로 조절할수 없고, 학습에 따라 변화할
수 있는 파라미터 없음
풀링층 특징
정규화층 - LCN
주변밝기에 따라서 이미지의 밝기나 대비가 크게 변함
따라서, 이미지의 명암을 모종의 방법으로 정규화하는 방법
필요
대상이미지로 부터 평균을 뺀다음 CNN의 입력으로 사용
정규화층 - LCN
LCN- Local contrast normalization : 이미지 한장 한장 개별적 처리
한개층으로 처리가 가능하고, 가중치는 고정값으로 조절할수
없고, 학습에 따라 변화할 수 있는 파라미터 없음
● 감산 정규화 (subtractive normalization)
● 제산 정규화 (divisive normalization)
정규화층 - 단일채널 이미지 정규화
단일채널 이미지의 감산 정규화
- 이미지의 각 픽셀의 명암에서 Pij에 포함되는 픽셀의
명암값의 평균을 빼는 것
- 가중치를 곱한 평균을 사용하는 경우 wpq
는 다음과 같은
성질을 가지며 중앙부가 최대이고 주변으로 갈수록
감소함
- 중앙부를 중시하고 주변부의 영향력을 상대적으로 줄이기 위한
방법
정규화층 - 단일채널 이미지 정규화
단일채널 이미지의 제산 정규화
- 감산 정규화와 비슷하지만 추가로 픽셀값의 분산을
필요로 함
- 명암의 차이가 작은 국소 영역의 경우에 대비해 상수값 c로 분모가
0이 되는것을 방지
정규화층 - 단일채널 이미지 정규화
감산 정규화
제산 정규화
정규화층 - 다채널 이미지 정규화
다채널 이미지의 감산 정규화
- K 채널로 이루어진 이미지 xijk
를 대상으로 할 때, 가중치를
곱한 평균
정규화층 - 다채널 이미지 정규화
다채널 이미지의 제산 정규화
- 이미지의 모든 채널에 걸친 국소 영역 Pij
의 분산
생물의 시각 특성 (내용의 차이에는 민감하지만 밝기나 대비의
절대적 차이에는 둔감)을 설명하는 모형
기울기 계산
● 합성곱 계층의 계산
○ 가중치 W는 H*H*K인 M개인 필터에 대한 개수 hpqkm
을 합성곱 연산
기울기 계산
● 역전파 계산
○ 같은 필터의 계수가 몇번이고 W에 출현하는 것을(weight sharing)
고려
○ h는 hpqkm
을 H*H*K*M개 늘어놓은 벡터
○ wij
는 h와 tji
벡터의 내적 결과
○ W의 기울기
○ h에 대한 기울기
■ Tr
은 tjir
을 (j, i)성분으로 갖는 행렬
○ l층의 는 l+1층의 와 l+1층 가중치로 계산
○ Pj
는 H*H인 감수영역
실제 예 : 물체 유형인식
물체 유형 인식을 통해서 합성곱층 적용 예를 확인
ImageNet
❏ 이미지넷 (ImageNet) - 100 만 장이 넘는 이미지 데이터셋
❏ ILSVRC(ImageNet Large Scale Visual Recognition Challenge) - 이미지 인식 기술
대회
❏ 분류 classification - 1 , 000 개의 클래스 구분
실제 예 : CNN 모델 구조
2012년 ILSVRC에서 Krizhevsky연구진의 CNN 구조를 사용
실제 예 : CNN 모델 구조
fc6 fc7층에 dropout(p = 0.5)적용
학습 곡선 추이
변화가 심한 가는선이 훈련 오차이고 굵은 선이 테스트 오차
실제 예 : 물체 유형인식
왼쪽이 테스트에 사용된 이미지 예이고 오른쪽이 입력전에 이미지에서 빼는 평균 영상
실제 예 : 물체 유형인식
(a)fc6층의 출력
(b) (a)의 히스토 그램
(c)fc7층의 출력
(d) (c)의 히스토 그램
(e)fc8층의 출력(softmax적용전)
(f) softmax적용 후
실제 예 : 물체 유형인식
CNN의 테스트 결과
높은 인식율을 보였지만
Japanese spaniel를 papillon으로
Crane를 snowplow로 각각 오답
착각을 포함하는 행동 자체가 사람과 유사
VGG
❏ VGG 는 합성곱 계층과 풀링 계층으로 구성되는 CNN
❏ VGG16/VGG19 - '합성곱 계층, 완전연결 계층'을 16/19층으로 심화
❏ 풀링 계층을 두어 크기를 절반으로 줄이는 처리
❏ VGG는 구성이 간단하여 응용에 용이하여 기술자에 인기
GoogLeNet
❏ 그림의 사각형이 합성곱 계층과 풀링 계층등의 계층
❏ 세로 방향 깊이뿐 아니라 가로 방향도 깊다
❏ 가로 방향에 ‘폭’를 인셉션 구조라 함
GoogLeNet - Inception block
❏ 1 × 1 크기의 필터를 사용한 합성곱 계층을 많은 곳에서
사용
❏ 1 × 1 의 합성곱 연산은 매개변수 제거와 고속 처리에 기여
ResNet (Residual Network)
❏ 마이크로소프트의 팀이 개발한 네트워크
❏ ResNet에서는 스킵 연결 (skip connection)을 도입
❏ 층이 지나치게 깊으면 학습이 잘 되지 않고, 성능이 떨어지는 문제
해결
❏ 입력 데이터를 합성곱 계층을 건너뛰어 출력에 바로 더하는 구조 -
신호 감쇠를 막아줌
ResNet (Residual Network)
❏ VGG 신경망을 기반으로 스킵연결을 도입해 층을 깊게 함
❏ 오류율 : 3.5 %
Reference
❏ 밑바닥부터 시작하는 딥러닝(사이코 고키 저, 이복연
옮김). - 한빛미디어
❏ 딥러닝 제대로 시작하기(오카타니 타키유키 저, 심효섭
옮김) - 제이펍

More Related Content

합성곱 신경망

  • 2. 합성곱 신경망 합성곱 신경망(Convolutional Neural Network, CNN)은 주로 이미지 인식에 응용되는 피드포워드 신경망이다. Fully connectetd와 달리 인접한 층과 층사이에 특정한 유닛만이 결합을 갖는다.
  • 3. 감수 영역 (receptive field) CNN은 시각 피질(visual cortex)에 대한 신경학적 지식으로부터 힌트를 얻어 만들어 졌다. 시야의 특정 위치에 특정한 방향이 굵기의 선분이 제시되었을 때만 선택적으로 시각 피질이 반응을 보임
  • 4. 단순 세포와 복잡 세포 특정 입력 패턴에 반응을 보이는 2가지 세포 단순세포 복잡 세포 엄격한 위치 선택성을 갖음 중간층의 유닛하나가 단순 세포 모형 엄격한 위치 선택성이 없고 입력 패턴이 조금 벗어나도 반응 출력층의 유닛이 복잡 세포의 모형
  • 5. 전체적인 구조 합성곱 + 풀링층 … + fully connected layer 합성곱 + 합성곱 + 풀링층 … + fully connected layer
  • 6. 합성곱 - 정의 이미지 필터 사이즈 W * W H * H 픽셀 인덱스 (i, j) (p, q) 픽셀값 xij hpq
  • 7. 합성곱 - 합성곱의 작용 필터가 나타내는 특징적인 명암 구조를 이미지로 부터 추출하는 작용
  • 8. 합성곱 - 패딩 결과 이미지가 입력이미지 작아짐 결과 이미지가 작아지지 않도록 입력이미지 주위로 패딩 설정
  • 9. 합성곱 - stride 필터의 적용위치를 이동하기 위한 간격을 stride라 하고 stride값이 s일때 출력 이미지 크기는 약 1/s배가 된다. Stride값이 큰 경우 이미지 특징을 놓칠수 있고 성능이 오히려 저하됨
  • 10. 합성곱층 합성곱층 : 합성곱 연산을 하는 단층 신경망 채널 개수 : K 그레이 스케일 이미지 : 채널 K=1개 다채널(예 : RGB) 이미지 : 채널 K=3개 이상, K=16~256개 중간층의 출력을 이미지라 부르지 않고 맵(map)이라 부름
  • 11. 합성곱층 K채널 입력 이미지에 3개의 필터를 적용하여 3채널 이미지맵을 출력 가중치 : hpqkm
  • 12. 합성곱층 특징 ● 국소적인 결합 ● 가중치 공유 (weight sharing, weight tying) : 출력층의 같은 채널에 속하는 모든 유닛에서 공유된다. ● CNN의 가중치는 필터 그 자체 ● CNN의 파라미터 최적화 : 경사 하강법 ● 역전파법으로 합성곱층의 델타와 필터의 오차 기울기가 계산됨 가중치 : hpqkm
  • 13. 풀링층은 합성곱층 바로 뒤에 보통 배치됨 합성곱층의 추출한 자질의 위치감도를 약간 저하시켜 대상이 되는 자질값의 이미지내에서의 위치가 조금씩 변화하는 경우에도 풀링층의 출력이 변화하지 않도록 해준다. 풀링층 Max pooling Average pooling Lp pooling P == 1 : average P == ∞ : max pooling
  • 14. 사이즈 : 3 * 3, s(stride) : 3, 제로패딩 1, max pooling 풀링층
  • 15. 사이즈 : 3 * 3, s(stride) : 2, 제로패딩 2, max pooling 풀링층
  • 16. ● 층간 결합이 국소적으로 제한 ● 가중치는 고정값으로 조절할수 없고, 학습에 따라 변화할 수 있는 파라미터 없음 풀링층 특징
  • 17. 정규화층 - LCN 주변밝기에 따라서 이미지의 밝기나 대비가 크게 변함 따라서, 이미지의 명암을 모종의 방법으로 정규화하는 방법 필요 대상이미지로 부터 평균을 뺀다음 CNN의 입력으로 사용
  • 18. 정규화층 - LCN LCN- Local contrast normalization : 이미지 한장 한장 개별적 처리 한개층으로 처리가 가능하고, 가중치는 고정값으로 조절할수 없고, 학습에 따라 변화할 수 있는 파라미터 없음 ● 감산 정규화 (subtractive normalization) ● 제산 정규화 (divisive normalization)
  • 19. 정규화층 - 단일채널 이미지 정규화 단일채널 이미지의 감산 정규화 - 이미지의 각 픽셀의 명암에서 Pij에 포함되는 픽셀의 명암값의 평균을 빼는 것 - 가중치를 곱한 평균을 사용하는 경우 wpq 는 다음과 같은 성질을 가지며 중앙부가 최대이고 주변으로 갈수록 감소함 - 중앙부를 중시하고 주변부의 영향력을 상대적으로 줄이기 위한 방법
  • 20. 정규화층 - 단일채널 이미지 정규화 단일채널 이미지의 제산 정규화 - 감산 정규화와 비슷하지만 추가로 픽셀값의 분산을 필요로 함 - 명암의 차이가 작은 국소 영역의 경우에 대비해 상수값 c로 분모가 0이 되는것을 방지
  • 21. 정규화층 - 단일채널 이미지 정규화 감산 정규화 제산 정규화
  • 22. 정규화층 - 다채널 이미지 정규화 다채널 이미지의 감산 정규화 - K 채널로 이루어진 이미지 xijk 를 대상으로 할 때, 가중치를 곱한 평균
  • 23. 정규화층 - 다채널 이미지 정규화 다채널 이미지의 제산 정규화 - 이미지의 모든 채널에 걸친 국소 영역 Pij 의 분산 생물의 시각 특성 (내용의 차이에는 민감하지만 밝기나 대비의 절대적 차이에는 둔감)을 설명하는 모형
  • 24. 기울기 계산 ● 합성곱 계층의 계산 ○ 가중치 W는 H*H*K인 M개인 필터에 대한 개수 hpqkm 을 합성곱 연산
  • 25. 기울기 계산 ● 역전파 계산 ○ 같은 필터의 계수가 몇번이고 W에 출현하는 것을(weight sharing) 고려 ○ h는 hpqkm 을 H*H*K*M개 늘어놓은 벡터 ○ wij 는 h와 tji 벡터의 내적 결과 ○ W의 기울기 ○ h에 대한 기울기 ■ Tr 은 tjir 을 (j, i)성분으로 갖는 행렬 ○ l층의 는 l+1층의 와 l+1층 가중치로 계산 ○ Pj 는 H*H인 감수영역
  • 26. 실제 예 : 물체 유형인식 물체 유형 인식을 통해서 합성곱층 적용 예를 확인
  • 27. ImageNet ❏ 이미지넷 (ImageNet) - 100 만 장이 넘는 이미지 데이터셋 ❏ ILSVRC(ImageNet Large Scale Visual Recognition Challenge) - 이미지 인식 기술 대회 ❏ 분류 classification - 1 , 000 개의 클래스 구분
  • 28. 실제 예 : CNN 모델 구조 2012년 ILSVRC에서 Krizhevsky연구진의 CNN 구조를 사용
  • 29. 실제 예 : CNN 모델 구조 fc6 fc7층에 dropout(p = 0.5)적용
  • 30. 학습 곡선 추이 변화가 심한 가는선이 훈련 오차이고 굵은 선이 테스트 오차
  • 31. 실제 예 : 물체 유형인식 왼쪽이 테스트에 사용된 이미지 예이고 오른쪽이 입력전에 이미지에서 빼는 평균 영상
  • 32. 실제 예 : 물체 유형인식 (a)fc6층의 출력 (b) (a)의 히스토 그램 (c)fc7층의 출력 (d) (c)의 히스토 그램 (e)fc8층의 출력(softmax적용전) (f) softmax적용 후
  • 33. 실제 예 : 물체 유형인식 CNN의 테스트 결과 높은 인식율을 보였지만 Japanese spaniel를 papillon으로 Crane를 snowplow로 각각 오답 착각을 포함하는 행동 자체가 사람과 유사
  • 34. VGG ❏ VGG 는 합성곱 계층과 풀링 계층으로 구성되는 CNN ❏ VGG16/VGG19 - '합성곱 계층, 완전연결 계층'을 16/19층으로 심화 ❏ 풀링 계층을 두어 크기를 절반으로 줄이는 처리 ❏ VGG는 구성이 간단하여 응용에 용이하여 기술자에 인기
  • 35. GoogLeNet ❏ 그림의 사각형이 합성곱 계층과 풀링 계층등의 계층 ❏ 세로 방향 깊이뿐 아니라 가로 방향도 깊다 ❏ 가로 방향에 ‘폭’를 인셉션 구조라 함
  • 36. GoogLeNet - Inception block ❏ 1 × 1 크기의 필터를 사용한 합성곱 계층을 많은 곳에서 사용 ❏ 1 × 1 의 합성곱 연산은 매개변수 제거와 고속 처리에 기여
  • 37. ResNet (Residual Network) ❏ 마이크로소프트의 팀이 개발한 네트워크 ❏ ResNet에서는 스킵 연결 (skip connection)을 도입 ❏ 층이 지나치게 깊으면 학습이 잘 되지 않고, 성능이 떨어지는 문제 해결 ❏ 입력 데이터를 합성곱 계층을 건너뛰어 출력에 바로 더하는 구조 - 신호 감쇠를 막아줌
  • 38. ResNet (Residual Network) ❏ VGG 신경망을 기반으로 스킵연결을 도입해 층을 깊게 함 ❏ 오류율 : 3.5 %
  • 39. Reference ❏ 밑바닥부터 시작하는 딥러닝(사이코 고키 저, 이복연 옮김). - 한빛미디어 ❏ 딥러닝 제대로 시작하기(오카타니 타키유키 저, 심효섭 옮김) - 제이펍