-
딥러닝 공부- 합성곱 신경망 (CNN: Convolutional Neural Network)1AI 관련 2023. 1. 7. 01:57
http://www.yes24.com/Product/Goods/107664335
딥러닝 파이토치 교과서 - YES24
기본기에 충실한 딥러닝 파이토치 입문서!기초부터 CNN, RNN, 시계열 분석, 자연어 처리, 강화 학습, 생성 모델까지 파이토치로 구현하며 배운다!머신 러닝 핵심 알고리즘부터 파이토치 기초, 합성
www.yes24.com
http://www.yes24.com/Product/Goods/34970929
밑바닥부터 시작하는 딥러닝 - YES24
직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서 이 책은 라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며 즐겁게 배울 수 있는 본격 딥
www.yes24.com
#이 글은 위의 두책을 통해 배운 내용을 정리한 글이다.
합성곱 신경망은 음성 인식이나 이미지/ 영상 인식에서 주로 사용되는 신경망이다. 다차원 배열 데이터를 처리하도록 구성되어 컬리 이미지 같은 다차원 배열 처리에 특화되어 있으며, 다음과 같이 계층 다섯 개로 구성된다.
- 입력층
- 합성곱층
- 풀링층
- 완전연결층
- 출력층
입력층은 입력 이미지 데이터가 최초로 거치게 되는 계층이다. 이미지는 단순 1차원의 데이터가 아닌 높이, 너비, 채널의 값을 갖는 3차원 데이터이다.
합성곱층은 입력 데이터에서 특성을 추출하는 역할을 수행한다. 이 특성 추출은 입력 이미지가 들어왔을 때 이미지에 대한 특성을 감지하기 위한 커널이나 필터를 통해서 이루어 진다. 커널이나 필터는 이미지의 모든 영역을 훑으면서 특성을 추출하게 되는데 이렇게 추출된 결과물이 특성 맵 이다. 이때 스트라이드라는 지정된 간격에 따라 순차적으로 추출한다.
합성곱층의 행렬 크기를 요약하자면 이렇다
- 입력 데이터: W X H X D (W:가로 , H:세로 , D:채널 또는 깊이)
- 하이퍼 파라미터( 필터 개수:K, 필터 크기: F, 스트라이드: S,패딩:P)
- 출력 데이터:W' X H' X D' (W'=(W-F+2P)/S+1, H'=(H-F+2P)/S+1, D'=K)
풀링층은 합성곱층과 유사하게 특성 맵의 차원을 다운 샘플링하여 연산량을 감소시키고 주요한 특성 벡터를 추출하여 학습을 효과적으로 할 수 있게 한다. 이런 풀링 연산에는 최대 풀링과 평균 풀링이 있는데 대부분은 최대 풀링을 사용한다. 왜냐하면 각 커널별로 중요한 가중치를 갖는 값의 특성이 평균 풀링에서는 희미해 질 수 있기 때문이다. 풀링연산도 마찬가지로 스트라이드를 이용한다. 풀링층의 행렬 크기를 요약하자면 이렇다.
- 입력 데이터: W X H X D (W:가로 , H:세로 , D:채널 또는 깊이)
- 하이퍼 파라미터(필터 크기: F, 스트라이드: S)
- 출력 데이터:W' X H' X D' (W'=(W-F)/S+1, H'=(H-F)/S+1, D'=D)
완전연결층은 합성곱층과 풀링층을 거치면서 차원이 축소된 특성맵을 3차원 벡터에서 1차원 벡터로 펼쳐주는 역할을 한다.
출력층은 소프트맥스 활성화 함수를 사용해 입력받은 값을 0~1 사이의 값으로 출력한다. 이때 가장 높은 확률 값을 갖는 레이블이 최종 값으로 선정된다.
오늘은 여기까지 공부해봤다. 좀 간단하게 적었지만 위의 내용들 속에서도 많은 세부내용들이 있었다. 내일은 전이학습부터 이미지 분류에 주로 사용되는 합성곱 신경망의 유형을 공부해보겠다.
'AI 관련' 카테고리의 다른 글
딥러닝 프로젝트 정리 (0) 2023.01.18