합성곱 신경망
이미지 전체를 한 번에 계산하는 것이 아닌 이미지의 국소적 부분을 계산함으로써 시간과 자원을 절약하여 이미지의 세밀한 부분까지 분석가능한 신경망
합성곱 신경망은 이미지, 영상 처리에 유용
###5.1.2 합성곱 신경망 구조
- 합성곱 층의 구성
입력층
합성곱층
풀링층
완전연결층
출력층
과정
합성곱 신경망은 합성곱층과 풀링층을 거치며 입력 이미지의 주요 특성 벡터 추출
추출된 주요 특성 벡터들은 완전연결층을 거치면서 1차원 벡터로 변환
출력층에서 활성화 함수인 소프트맥스 함수를 사용해 최종 결과 출력
입력층 (input layer)
입력 이미지 데이터가 최초로 거치는 계층
이미지는 단순 1차원 데이터가 아닌, (높이, 너비, 채널)의 3차원 데이터
이때 채널은 이미지가 그레이스케일 → 1, 컬러 → 3 (RGB)
- 스트라이드가 1일 때 이동하는 과정
스트라이드(stride) : 필터를 적용하는 위치의 간격
스트라이드가 2이면 필터를 적용하는 윈도우가 2칸씩 이동
1단계 : 입력 이미지에 3x3 필터 적용
입력 이미지와 필터를 포개 놓고 대응되는 숫자끼리 곱한 후 더함
2단계 : 필터 1만큼 이동 후 같은 방식으로 연산
이후 단계 : 마지막 필터까지 이동
필터가 2개 이상인 합성곱은?
필터가 두 개 이상이면 필터 각각은 특성 추출 결과의 채널
풀링 연산의 기법
최대 풀링 (max pooling) : 대상 영역에서 최댓값 추출
평균 풀링 (average pooling) : 대상 영역에서 평균을 반환
→ 대부분은 최대 풀링 사용
최대 풀링 계산
주어진 스트라이드를 기준으로, 최댓값 선택
0=(3+(-1)+(-3)+1)/4
3=(12+(-1)+0+1)/4
0=(2+(-3)+3+(-2))/4
1=(0+1+4+(-1))/4
큰 데이터셋을 필요로 하는 문제점을 보완하기 위한 현실적인 해결책이 전이 학습
아주 큰 데이터셋을 써서 훈련된 모델의 가중치를 가져와 해결하려는 과제에 맞게 보정해서 사용하는 것
아주 큰 데이터셋을 사용하여 훈련된 모델을 사전 훈련된 모델(네트워크)라고 함
→ 비교적 적은 수의 데이터를 가지고도 원하는 과제 해결 가능
**사전 훈련된 네트워크의 합성곱층(가중치 고정)에 새로운 데이터를 통과시키고, 그 출력을 데이터 분류기에서 훈련
ex)Xception, Inception V3, ResNet50, VGG16, VGG19, MobileNet**
미세 조정 기법
특성 추출 기법에서 더 나아가 사전 훈련된 모델과 합성곱층, 데이터 분류기의 가중치를 업데이트하여 훈련시키는 방식
특성 추출이 잘못되었을 때 미세 조정 기법을 이용하여 새로운 이미지 데이터를 사용하여 네트워크의 가중치를 업데이트해서 특성을 다시 추출할 수 있음.
→ 사전 학습된 모델을 목적에 맞게 재학습시키거나 학습된 가중치의 일부를 재학습시키는 것
사전 훈련된 네트워크를 미세 조정하여 분석하려는 데이터 셋에 잘 맞도록 모델의 파라미터를 조정하는 기법
데이터셋이 크고 사전 훈련된 모델과 유사성이 작을 경우 : 모델 전체 재학습
데이터셋이 크고 사전 훈련된 모델과 유사성이 클 경우 : 합성곱층의 뒷부분(완전연결층과 가까운 부분)과 데이터 분류기 학습
데이터셋이 작고 사전 훈련된 모델과 유사성이 작을 경우 : 합성곱층의 일부분과 데이터 분류기 학습 → 데이터가 적어서 일부 계층에 미세 조정 기법 적용해도 효과가 없을 수 있기에 어디까지 새로 학습시켜야 할지 적당히 설정해주어야 함.
데이터셋이 작고 사전 훈련된 모델과 유사성이 클 경우 : 데이터 분류기만 학습. 많은 계층에 미세 조정 기법을 적용하면 오히려 과적합 발생 가능성 존재
CNN을 구성하는 각 중간 계층부터 최종 분류까지 입력된 이미지에서 특성이 어떻게 추출되고 학습하는지를 시각적으로 설명할 수 있어야 결과에 대한 신뢰성을 얻을 수 있음
출력층에 가까워질수록 원래 형태는 찾아볼 수 없음, 이미지 특징들만 전달되는 것 확인
그래프 신경망의 과정
1단계 : 인접 행렬
네트워크 존재 시 노드 n개를 nxn 행렬로 표현
인접 행렬 내의 값은 Aij는 i와 j의 관련성 여부’를 만족하는 값으로 채워짐
→ 인접 행렬 과정은 컴퓨터가 이해하기 쉽게 그래프로 표현하는 과정
2단계 : 특성 행렬
인접 행렬만으로 특성을 파악하기 어렵기에 단위 행렬 적용
각 입력 데이터에서 이용할 특성 선택
특성 행렬에서 각 행은 선택된 특성에 대해 각 노드가 갖는 값을 의미
→ 특성 행렬 과정을 거쳐 그래프 특성 추출
그래프 합성곱 네트워크
이미지에 대한 합성곱을 그래프 데이터로 확장한 알고리즘
그래프 합성곱 네트워크 구조