1. CNN(Convolutional Neural Networks)
* 합성곱 인공 신경망
* 전통적인 뉴럴 네트워크에 컨볼루셔널 레이어를 붙인 형태
* 컨볼루셔널 레이어를 통해 입력 받은 이미지에 대한 특징(Feature)을 추출하게 되고, 추출한 특징을 기반으로 기존의 뉴럴 네트워크에 이용하여 분류
2. Convolution 연산
* 컨볼루션 연산을 진행하면 출력 텐서의 크기가 작아짐
* 패딩 : 입력값 주위로 0을 넣어서 입력값의 크기를 인위적으로 키워 결과값이 작아지는 것을 방지
* 2D 컨볼루션 : 컬러이미지에서는 2D 컨볼루션 연산을 수행
* 풀링 : 중요한 특징을 추출하고 차원을 축소하기 위해 풀링 연산을 사용. MaxPool 또는 AvgPool사용
* 스트라이드 : 필터를 적용하는 간격을 설정
* 드롭 아웃(dropout) 레이어
* 오버피팅을 막기 위해 사용하는 레이어
* 학습중일 때 랜덤하게 값을 발생하여 학습을 방해함으로 학습용 데이터의 결과가 치우치는 것을 방지함
* FC레이어
* 이미지를 분류 또는 예측하기 위해 사용되는 레이어
3. CNN을 구성하는 레이어
* Conv2D : 특징 추출
* ReLU : 활성화 함수
* MaxPool2D: 차원 축소
* Conv2D : 특징 추출
* ReLU : 활성화 함수
* MaxPool2D: 차원 축소
* ...
* Flatten : 다차원에서 1차원으로 변경
* Linear : 선형회귀
* ReLU : 활성화 함수
* ...
* Sigmoid / Softmax 함수에 대한 출력
4. CNN 체험하기
'딥러닝과 머신러닝' 카테고리의 다른 글
Transfer Learning, Image Agumentation (2024-06-24) (1) | 2024.06.24 |
---|---|
간단한 CNN model 만들기 (2024-06-20) (0) | 2024.06.20 |
Activation Functions, Backpropagaion(2024-06-20) (0) | 2024.06.20 |
neuron, Perceptron (2024-06-20) (0) | 2024.06.20 |
Data Loader(2024-06-20) (0) | 2024.06.20 |