AI 모델(딥러닝 기초)/6. CNN
-
6. CNN(5)AI 모델(딥러닝 기초)/6. CNN 2023. 2. 19. 13:46
※ CNN 시각화 단계 AlexNet을 예로 들면 일반 사물 인식을 수행한 8층 신경망이다. 1번째 합성곱 계층 : 에지(색상이 바뀐 경계선), 블롭(국소적으로 덩어리진 영역) 등의 저수준 정보 추출 3번째 합성곱 계층 : 텍스처 5번째 합성곱 계층 : 사물의 일부 8번째 완전연결 계층 : 사물의 클래스 분류(일반 Object)에 뉴런이 반응 이렇게 계층이 깊어질수록 추출되는 정보가 더 추상화되며 고급 정보로 변화해 간다. 사물의 '의미'를 이해한 것이다. ※ LeNet - CNN의 원조인 네트워크 - 합성곱 계층과 풀링 계층을 사용 - Sigmoid 함수를 사용 - 서브샘플링을 하여 중간 데이터의 크기를 줄이는 방식을 사용 ※ AlexNet - 딥러닝 열풍을 불러 일으킨 네트워크 - 합성곱 계층과 풀링..
-
6. CNN(4)AI 모델(딥러닝 기초)/6. CNN 2023. 2. 18. 15:27
※ CNN 모델 구현 ■ CNN 모델 (Convolution-ReLU-Pooling)-(Affine-ReLU)-(Affine-Softmax) 의 순서로 흐른다. 이제 위 순서를 따라 3층 신경망을 가진 CNN 모델을 만들어보자. 1. 초기화 단계 - 합성곱 계층 출력 크기, 풀링 계층 출력 크기를 수식으로 설정 - 3층 신경망 구성을 위한 가중치 w1,w2,w3, 편향 b1,b2,b3 만들기 2. 계층 생성 - collection 모듈에 들어있는 OrderDict()를 불러와서 순서대로 정렬 - (Convolution-ReLU-Pooling)-(Affine-ReLU)-(Affine-Softmax) 순서대로 각 계층을 설정 3. 예측 predict, 손실함수 loss, 정확도 accuracy 함수 구현 4..
-
6. CNN(3)AI 모델(딥러닝 기초)/6. CNN 2023. 2. 17. 12:14
※ im2col CNN은 일반적으로 4차원 데이터를 가진다. 4차원 데이터를 단순하게 구현하기 위해서는 몇 겹의 for문을 사용해야하고 넘파이에 다중 for문을 사용하게 될 경우 성능이 매우 감소한다. 이를 막기 위한 트릭의 일종으로 im2col 함수를 살펴보자. ■ im2col : 입력 데이터를 필터링하기 좋게 전개하는 함수(4차원 데이터 -> 2차원 데이터 변환) im2col로 필터링 하기 좋게 입력 데이터를 전개하고, 이러한 전개를 필터를 적용하는 모든 영역에서 수행시킨다. 이처럼 입력데이터를 2차원으로 변형시킬 수 있다. 일반적으로는 위 그림처럼 필터 적용 영역이 겹치지 않도록 구현되지 않는다. 대부분 필터 적용 영역이 겹치게 되는데 이때 im2col로 전개하면 전개한 후의 원소 수가 원래 블록의..
-
6. CNN(2)AI 모델(딥러닝 기초)/6. CNN 2023. 2. 17. 11:08
※ 풀링 계층 - 세로, 가로 방향의 공간을 줄이는 연산 이와 같이 2×2 영역을 원소 하나로 집약하여 공간을 줄이는 방식이다. 위 그림은 최대풀링을 스트라이드 2로 처리하는 순서이다. 최대 풀링과 평균 풀링이 있는데 최대 풀링은 대상 영역에서 최댓값을 취하는 연산이고, 평균 풀링은 대상 영역의 평균을 계산한다. 이미지처리 분야에서는 최대 풀링을 주로 사용한다. 첫번째 그림 : 윈도우 중 2가 가장 큰 수 이므로 2를 출력 두번째 그림 : 윈도우 중 3이 가장 큰 수 이므로 3을 출력 세번째 그림 : 윈도우 중 4가 가장 큰 수 이므로 4를 출력 네번째 그림 : 윈도우 중 2가 가장 큰 수 이므로 2를 출력 ■ 참고 풀링의 윈도우 크기와 스트라이드는 같은 값으로 설정한다. ex) 윈도우가 3×3이면 스트..
-
6. CNN(1)AI 모델(딥러닝 기초)/6. CNN 2023. 2. 14. 11:03
※ CNN(합성곱 신경망)이란? - convolutional neural network의 약자로 이미지 인식과 음성 인식등 다양한 딥러닝 분야에서 사용한다. 특히 이미지 인식 분야에서 딥러닝을 활용할 경우 CNN을 기초로 한다. ■ 전체구조 - 합성곱 계층(Conv)과 풀링 계층(Pooling)이 새롭게 추가된다. Conv - ReLU - Pooling - Conv - ReLU - Pooling - ............. - Affine - ReLU - Affine - Softmax 이 구조를 기본으로 한다. 현재까지 신경망은 모든 뉴런과 연결된 Fully-connected-layer를 기본으로 하고 완전 연결 계층을 Affine 계층으로 구현했다. 하지만, 데이터의 형상이 무시된다는 완전연결 계층의 ..