1. 학습한 내용
① DNN의 문제를 해결하기 위한 CNN
일반 DNN은 기본적으로 1차원 형태의 데이터를 사용합니다. 때문에 이미지가 입력값이 되는 경우, 이것을 flatten시켜서 한줄 데이터로 만들어야 하는데 이 과정에서 이미지의 공간적/지역적 정보(spatial/topological information)가 손실되게 됩니다. 또한 추상화과정 없이 바로 연산과정으로 넘어가 버리기 때문에 학습시간과 능률의 효율성이 저하됩니다.
CNN은 이미지를 날것(raw input) 그대로 받음으로써 공간적/지역적 정보를 유지한 채 특성(feature)들의 계층을 빌드업합니다. CNN의 중요 포인트는 이미지 전체보다는 부분을 보는 것, 그리고 이미지의 한 픽셀과 주변 픽셀들의 연관성을 살리는 것입니다.
② CNN 주요 컨셉
- Convolution (입력된 이미지를 필터로 훑으면서, Inner Product를 진행)
- Zero Padding (가장자리의 손실이 발생하는 부분도 계산하기 위해서 0으로 구성된 테두리 패딩)
- Stride (필터를 훑는 간격)
- The Order-3 Tensor 3차원 형성의 합성곱 연산 (이미지의 경우 R, G, B 채널로 구성, 3차원 데이터의 합성곱 연산에서 주의할 점은 입력 데이
터의 채널 수와 필터의 채널 수가 같아야 한다)
③ Convolution 연산 후 shape 확인 실습 (PyTorch)
https://github.com/s2angji/Daegu_AI_School/blob/main/6%EC%9B%94/2%EC%A3%BC%EC%B0%A8/0607/%EC%8B%A4%EC%8A%B5/ex_01.py
2. 학습내용 중 어려웠던 점
3. 해결방법
4. 학습소감
- Infinyx 연구원이신, 강호용 강사님의 강의 내용을 들을 수 있어서 영광입니다.