과잉적합 -> 너무 많이 공부해도 문제
CNN -> Convolutional neural network
chat GPT -> 생성형 신경망
저급레벨과 고급레벨을 거치다보니 층이 깊어짐
입력에서 특징을 추출하고 그걸 분류한다.
특징추출도 여러 단계를 거침(처음엔 저급 특징이였다가 고급특징으로 감) (저급특징을 여러개 묶으면 고급특징이 됨)
층 l-1 과 층 l 에서 64개의 곱셈을 한다
이렇게 연결된 걸 fully connected 라 한다.
오른쪽 (b) 그림에서 j 는 i-1, i, i+1 과 계산하는 것처럼 자신과 가까운 점만 본다.
왼쪽 그림 : 64번 계산 , 오른쪽 그림 : 24번 계산
기호는 곱한 걸 더한다는 뜻
그림(a)는 1차원 컨볼루션
그림(b)는 2차원 컨볼루션
음성은 1차원이기 때문에 1차원 컨볼루션 사용
커널을 필터라고도 부른다.
커널은 weight
학습된 결과가 0.3, 0.4, 0.3
3x0.3 + 2x0.4 + 4x0.3 = 2.9
...
1x0.3 + 20x0.4 + 2x0.3 = 8.9
따라서 그림(a)에서는 6개의 데이터가 나온다
그림(b)는 36개의 데이터가 나온다.
그림(b)에서 fully connect 면 커널이 8x8 이 되야 한다.
덧대기는 영어로 padding 이라 한다.
그림 4-7 (a) 에서 입력이 8개면 결과가 6개가 되는 걸 방지하기 위해 양쪽 끝에 없던 데이터 0 0 을 붙인다
그러면 원영상이 8개면 결과가 8개 나온다.
그림 4-7 (b)는 카피 패딩이라고 하며 가장 왼쪽과 오른쪽에 있는 수 3 2를 맨 끝에 붙여주는 것이다.
그러면 원영상이 8개면 결과가 8개 나온다.
그림 4-8 (a) 에서 1, 20, 2의 결과는 8.9 가 나오는데 바이어스 0.2를 더하면 9.1 이 된다.
다른 수들도 똑같이 바이어스 0.2를 더해서 데이터를 출력한다.
-1 0 1
-1 0 1 -> 수직방향 에지 추출
-1 0 1
-1 -1 -1
0 0 0 -> 수평방향 에지 추출
1 1 1
다음과 같은 필터들을 엣지 필터라 한다. 필터에서 -1이 될지 1이 될지를 학습을 통해 결정한다.
다음 그림처럼 엣지필터에 따라 가로 선이 안나오거나 세로 선이 안나오게 된다.
커널만큼 출이 늘어난다.
fully connected 면 8x8 = 64개
커널이 3개면 8x3 = 24개
병렬분산 구조 -> 다른 층끼리 연산할 때 같이 연산하는 방식
전에는 한 픽셀씩 이동했는데 위 구조는 2픽셀씩 이동(보폭이 2인 상황)
보폭이 1이면 출력의 개수는 input 과 똑같고
보폭이 2이면 출력의 개수는 input / 2 과 똑같고
보폭이 3이면 출력의 개수는 input / 3 과 똑같다
보폭은 stride라 한다.
위 그림에서
는 R의 [0][0]부터 [2][2] 까지의 값
G의 [0][0]부터 [2][2] 까지의 값 x 커널 3개의 값 = 9
B의 [0][0]부터 [2][2] 까지의 값
풀링은 convolution 된 결과를 어떤 점을 주위에 이웃한 점에 평균값을 구해서 표현한다.(avg pooling)
convolution 된 결과를 어떤 점을 주위에 이웃한 점에서 최댓댓값을 구해서 표현한다.(max pooling)
convolution 된 결과를 어떤 점을 주위에 이웃한 점에서 최솟값을 구해서 표현한다.(max pooling)
64x64를 보폭을 2로 설정하면 32x32로 된다 컨볼루션도 보폭이 있지만 풀링도 보폭이 있다
입력이 들어가면 커널이 3개면 결과도 3개 나온다.
input -> convolution -> pooling -> output
'학교 > 인공지능' 카테고리의 다른 글
24번째 수업(0612) (0) | 2024.06.12 |
---|---|
23번째 수업(0611) (1) | 2024.06.11 |
21번째 수업(0530) (0) | 2024.05.30 |
20번째 수업(0529) (0) | 2024.05.29 |
19번째 수업(0523) (0) | 2024.05.23 |