일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 다항 논리 회귀
- serializer
- json to db
- API명세
- 와이어프레임
- js
- 팔로우 기능 에러
- 개인페이지
- 팀프로젝트 기획
- 장고
- 딥러닝
- docker
- 댓글지우기
- test.py
- 북마크한 목록 가져오기
- 댓글쓰기
- 프론트엔드
- ERD
- CNN
- 비밀번호 수정
- 백엔드
- class view
- 프로필사진 업로드
- Python
- 머신러닝
- 이진 논리 회귀
- python to json
- original set
- Django
- DRF
- Today
- Total
코딩 개발일지
머신러닝 기초 - CNN의 개념 / Pooling / Model 본문
Convolutional Neural Networks (합성곱 신경망)
합성곱(Convolution) 의 개념 이해하는 그림

1. [왼쪽 네모] X [오른쪽 네모] 각 요소들을 대응되게 곱한다.
2. 곱한 값을 모두 더한다
즉, 2+0+3+0+1+4+3+0+2=15
논문에서 이 방식을 이용한 디자인을 CNN 이라고 칭하였고, 이미지 처리에서 엄청난 성능을 보이는 것을 증명했다.
아직까지도 보편적으로 쓰이고, 이 논문발표 이후 딥러닝의 전성기가 시작됬다고 할 수 이따~~
아래의 예시를 한번 살펴보자
- 입력 이미지 크기: (10, 10, 3)
- 필터의 크기: (4, 4, 3)
- 필터의 개수 :2
- 출력 특성 맵의 크기: (10, 10, 2)

보통 padding 또는 margin을 줘서 디자인을 하게 된다.
이런식으로 합성곱을 적용시키고, 이런 합성곱들을 계속해서 적용시켜나가는 CNN의 구성은 보통 아래와 같다.

그림을 보면, Convolution 후, Pooling 을 하는것을 볼 수 있다.

- Max Pooling : 가장 높은 값을 추출
- Avg Pooling : 각 값의 평균값을 추출
Pooling이 끝난 후의 그림을 보자.
Pooling 통과한 특성 맵은 2차원이고 Fully Connected된 Layer는 1차원이므로 연산이 불가능다.
따라서 평탄화 계층(Flatten layer)를 사용해서 2차원을 1차원으로 펼치는 작업을 하게 된다.
<간단하게 평탄화 계층의 동작을 설명한 그림>

이제 비로소 완전연결 계층(=Dense=Fully connected) 에서 행렬 곱셈을 할 수 있게된다.
그 후 앞서 배운대로 (Dense=Fully connected) + (활성화 함수) 의 반복을 통해 점점 노드의 개수를 축소시키다가 마지막에 Softmax 활성화 함수를 통과하고 출력층으로 결과를 출력하게 된다 !!!!!!!!
다양한 CNN 모델

유명한 것들만 모아놓은 그림이다.
- AlexNet (2012)
- VGGNet (2014)
- GoogLeNet(=Inception V3) (2015)
- ResNet (2015)
- Transfer Learning (전이 학습)
과거에 문제를 해결하면서 축적된 경험을 토대로 그것과 유사한 문제를 해결하도록 신경망을 학습시키는 방법.
실무에서 무조건 한번씩 해본다고 생각하면 된다.
- Recurrent Neural Networks (순환 신경망) - RNN
음성, 문자, 자연어 처리 등 다양한 분야에서 사용됨.
순차적으로 등장하는 데이터 처리에 적합한 모델.
- Generative Adversarial Network (생성적 적대 신경망) - GAN
서로 적대(Adversarial)하는 관계의 2가지 모델(생성 모델과 판별 모델)을 동시에 사용하는 기술.
GAN은 위조지폐범과 이를 보고 적발하는 경찰의 관계로 설명할 수 있다.

- Generator (위조지폐범): 경찰도 구분 못하는 진짜같은 위조지폐를 만들자 !!!
- Discriminator (경찰): 진짜 지폐와 위조 지폐를 잘 구분해내자 !!!
이와같이 계속 진행되면 위조지폐범은 더욱 더 정교하게, 경찰은 더욱 더 판별을 잘하면서
서로 발전의 관계가 되어 원본과 구별이 어려운 가짜 이미지가 만들어지게 된다.
'AI 본 교육 > AI 10주차' 카테고리의 다른 글
머신러닝 기초 - CNN 실습 / 전이학습 실습 (3) | 2023.10.19 |
---|---|
머신러닝 기초 - 딥러닝 / Overfitting (0) | 2023.10.19 |
머신러닝 기초 - 이진/다항 논리 회귀 (Logistic regression) (1) | 2023.10.18 |
머신러닝 기초 - 선형회귀, original set, 간단한 용어 설명 (0) | 2023.10.17 |