20240723 모각코 활동 4회차
오늘의목표
1.cnn공부 - 정의와 구조 살펴보기
2.resnet공부 - 정의와 구조 살펴보기
딥 러닝 : 심층 신경망을 주로 다루는 ai분야. 심층 신경망은 신경망을 여러 계층으로 구성한 것.
기존 신경망의 큰 단점 : 입력 데이터의 구조 고려 안 함. -> 이미지와 같은 공간적 구조를 가지는 데이터 다루기 적합하지 않음.
기존 신경망에서의 단점(공간적 구조 데이터 다루기 어려움)을 극복하기 위해 cnn 등장
CNN
합성곱 신경망
-2차원 구조를 고려하는 신경망
-가중치와 바이어스로 이루어진 뉴런으로 구성
- 입력데이터를 받고, 처리한 후 특정한 결과를 출력함.
-입력 계층에 들어온 미가공 이미지 데이터에 해당하는 클래스를 예측하는 것이 목적.
-예측된 클래스는 출력 계층의 결과 값 형태(클래스 점수 변환됨)로 출력됨.
-계층의 종류
1. 입력층
- 미가공 이미지 데이터를 받음.
2. 합성곱층
- 합성곱 연산을 수행함.
- 커널(n m의 행렬)로 이미지(높이 너비)를 처음부터 끝까지 겹쳐 훑는다. 겹쳐지는 부분의 각 이미지와 원소의 값을 곱해서 모두 더한 값을 출력함.
- 스트라이드 : 커널이 입력을 훑는데, 이 때의 보폭을 뜻함.
- 이 때 출력되는 것(입력으로부터 커널을 사용하여 합성곱 연산을 통해 나온 결과)은 '출력 특성 맵(output feature map)' 이라 함.
- CNN에서는 합성곱 계층의 입출력 데이터를 특성 맵(feature map) 이라 함.
-
3.ReLU층
- 인공신경망에서 사용되는 활성화함수 f(x) = max(0, x) -> 입력값이 0보다 크면 그 값을 그대로 출력하고, 0 이하면 0을 출력.
4. 풀링층
- 특성 맵을 다운샘플링하여 특성 맵의 크기를 줄임.
- 합성곱 연산과 유사함 (커널과 스트라이드 개념이 존재)
- 최대풀링 : 커널과 겹치는 영역 안에서 최대값을 추출
- 평균풀링 : 커널과 겹치는 영역 안에서 평균값을 추출
RESNET
CNN의 한 종류
-신경망의 깊이가 깊어짐에 따라 발생하는 훈련 문제를 해결하기 위해 '잔여학습'이라는 개념을 도입함.
- 훈련 문제 : 기존 모델들은 레이어를 깊게 쌓을수록 더 성능이 좋아질 것이라고 예상했지만 실제로는 20층 이상부터 성능이 낮아지는 현상이 발생.
- 잔여학습 : 스킵연결(입력값이 일정층들을 건너뛰어서 출력에 더할 수 있게 하는 역할) -> 기존신경망은 k번째 층과 (i+1)번째 층의 연결로 이루어져있는데, resnet은 (i+r)층의 연결을 허용(shortcut connection).
-
-최대 152개 층까지 쌓을 수 있게 됨.
]