일차원 배열을 계산할 때
가중치
8-1. 합성곱 신경망의 구성 요소
<키워드 정리>
합성곱
: 밀집층과 비슷하게 입력과 가중치를 곱하고 절편을 더하는 선형 계산
하지만. 각 합성곱은 입력 전체가 아니라 일부만 사용하여 선형 계산을 수행
- 가중치의 갯수와 크기는 하이퍼파라미터 (경험에 의해 정해줘...)
- 2차원 입력에도 적용할 수 있음
필터 혹은 커널
: 합성곱 신경망(CNN)에서 뉴런을 필터라고 부름
- 뉴런의 갯수를 이야기할 때는 필터 / 입력에 곱해지는 가중치를 의미할 때는 커널이라고 부르자
- 이미지 쪽에서는 필터 / 텍스트 쪽에서는 커널이라는 용어 많이 사용함
- 입력의 차원에 따라 필터의 차원 결정(같아야 함)
특성맵
: 합성곱 층이나 풀링 층의 출력 배열을 의미.
필터 하나가 하나의 특성 맵을 만듦. 합성곱 층에서 5개의 필터를 적용하면 5개의 특성맵이 만들어짐
패딩
: 합성곱 층의 입력 주위에 추가한 0으로 채워진 픽셀(가상의 원소(0)을 추가)
keras.layers.Conv2D(10, kernel_size=(3,3), activation='relu', padding='same', strides=1)
ㆍ 밸리드 패딩 : 패딩을 사용하지 않는 것
- 원본 배열의 원소가 합성곱 연산에 참여하는 정도가 서로 다르다
ㆍ 풀 패딩 : 원본 배열 원소의 연산 참여도가 동일
ㆍ 세임 패딩 : 출력 배열의 길이를 원본 배열의 길이와 동일하게 만든다
스트라이드
: 합성곱 층에서 필터가 입력 위를 이동하는 크기(기본값 1)
풀링
: 가중치가 없고 특성 맵의 가로, 세로 크기를 줄이는 역할 수행 (차원을 줄이는 것은 아님!!)
- 풀링연산을 통해 합성곱과 활성화 함수가 적용되어 특성 맵이 만들어지고 특성 맵이 풀링층을 통과하여 또 다른 특성 맵이 생성
- 풀링의 크기 지정해(반드시 정사각형x)
- 폴링은 절대 중복 연산이 안됨. 풀링의 크기에 따라 스트라이드 값 자동으로 만들어져
ㆍ max 풀링
: 최댓값 사용
- 원본 배열의 원소가 합성곱 연산에 참여하는 정도가 서로 다르다
- keras.layers.MaxPooling2D(2)
- 숫자 하나 넣으면 자동으로 (2,2)로 만들어져
- 가로, 세로 다르게 하려면 (2,3)과 같은 방법으로
ㆍ average 풀링
: 평균값 사용
- 이미지쪽에서는 일반적으로 맥스 풀링 이용(average 풀링 뭉게질 수 있어)
💡합성곱 신경망 구조❗
ㆍ합성곱 층
: 1. 이미지, 2.커널(필터) => 3. 특성맵=> 활성화 함수(Relu)
이미지 데이터를 활성함수로
from tensorflow import keras keras.Layers.Conv2D(10, kernel_size=(3, 3), activation='relu')
ㆍ풀링 층
: 풀링 => 특성맵 => 1차원
1차원으로 펼쳐서 dense에 넘겨주는
특성맵의 사이즈를 줄여줘
가중치 계산안해 활성화 함수 필요없어
ㆍ완전 연결 층(밀집층)
: 출력층 =:> 활성화 함수(softmax)
실제로 분류 출력값
딥러닝에서 층이 많으면 많을 수록 정확한 값
다만, 과도하게 많을 필요는 없음
8-2.
8-3
가중치에 따라 특성이 어떻게 뽑히는지
가중치, 특성맵 등 시각화로 다 보여줘
가중치를 높이고 낮춰서 이미지의 특성을 뽑아내는 것
가중치 높으면 밝아지고
가중치 낮
정리
합성곱 신경망 하려면
1. 합성곱 층이 필요해
2. 풀링 층이 필요해
3. 밀집 층이 필요해
기본
세밀하게하려면
합성곱
풀링
합성곱
풀링
밀집
세부 옵션 면
합성곱
풀링
합성곱
풀링
은닉
드롭아웃
밀집
경사하강법 optimizer
내가 직접 에폭값 조정? 알아서? => checkpoint만들어줘야 해 / 최적합 했을 때 중지하려면 earlystopping
두가지 객체를 콜백이라는 매개변수한테 리스트 형태로 전달
'MLOps 개발자 양성과정 > ml&dl' 카테고리의 다른 글
[Day-58] 생활코딩 1 (0) | 2023.03.17 |
---|---|
[Day-57] chap.09 텍스트를 위한 인공 신경망(순환 신경망 (0) | 2023.03.17 |
[Day-55] chap07.딥러닝_인공신경망 (0) | 2023.03.13 |
[Day-54] chap.06_비지도 학습 (0) | 2023.03.12 |
[Day-53] chap.05_트리 알고리즘 (0) | 2023.03.10 |