강명호 강사님
적절한 하이퍼 파라미터를 설정하지 않으면 성능이 확 떨어집니다 (빨간펜)
하이퍼 파라미터는 범위를 좁혀가는 것이 중요합니다
합성곱 신경망
Convolutional Neural Network
CNN 이미지의 합성곱 : 이미지 위에서 필터를 이동시키면서 겹치는 부분의 원소별 곱셈의 합 연산
Feature Extraction : 중요한 특징을 뽑아내는 단계
↓
Classfication : 데이터를 그룹에 따라 분류하는 단계
↓
Probabilistic Distribution : 분류 결과에 대한 확신을 확률로 표현하는 단계
Convolution & Pooling & Flatten
Feature Maps 특징 맵, 필터/커널을 이용하여 추출한 특성
Flatten Layer 반죽처럼 꾹꾹 누르기
Pooling 취합
Convolution 과 Pooling 을 조합
ReLU와 배치 노말라이제이션도 진행
Kernel 의 크기에 따라서 점점 사이즈를 줄임
FCN Fully Connected Layer
Hadamard product 아디마르 곱
겉을 0으로 패딩하다
채널을 여러 개 두어서 하나로
입력 데이터 : 채널 3개
필터 : 채널 3개
3x3x3 필터가 여러 개
출력 데이터도 여러 개
표기 순서 (C, H, W)
C : Channel 채널
H : Height 높이
W : Width 너비
풀링 : 대표값을 뽑는다
풀링은 묶어서 최대값 또는 평균값을 구한다
4차원일 경우
너무 많은 연산 필요
im2col : image to column
행렬을 펼쳐서 합성곱 연산 횟수를 줄이는 방법
Yann LeCun 은 제프리 힌튼의 제자격
F1 : Fully Conected Layer
Alex 가 만든 모델
제프리 힌튼, 수트리 해번?
세이프 슈퍼인텔리전스(Safe Superintelligence, SSI)
224 x 224 로 사이즈 규격화 (50,176)
파라미터가 많아진다
층이 많아진다
차원이 크기 때문에 많은 데이터가 필요
데이터 증강 기술 사용
TOP 5 Error : 상위 5개 예측 안에 정답이 포함되지 않는 경우 오류로 처리
사람은 5%는 틀립니다
ImageNet Large Scale Recognition Challenge
인간의 벽을 깼음
실습용으로 많이 사용
Visual Geometry Group
모든 계층에 3x3 필터를 반복 적용
다운 샘플링 : max pooling
채널 수는 나오지 않지만
64, 128, 256, 512
Inception 개념
깊게 쌓으면 정확도가 높아진다
5x5 영역에 입력
가중치 총 25개 필요
3x3 필터가 돌아다님
가중치 총 9개 필요
gray scaled
rotated 90도 회전
cropped 일부만 잘라내기
flipped 좌우 변경?
0.25를 계속해서 곱하다보면 소실
대안으로 ReLu 함수 사용
"루트N" 분의 1
이미지 크기 x 이미지 개수
(28 x 28 x 1)
Flatten 과정
일렬로 표현
마지막에 이미지 추출 시도
Transfer Learning
모국어를 잘 익히면
다른 언어를 잘 배움
Frozen 고정, 얼리기
인간의 레벨 5% 를 넘어서는 모델
ResNet 34
ResNet 50
2048 사이즈를 512로 줄이고 Softmax 진행
224 x 224 크기로 이미지 입력
잔차 러닝
1x1 은 항등함수
그대로 복사
원래는 의미 없지만
깊이 쌓기 위해 진행
똑같은 값을 복제
필터의 갯수가 여러개 있을 수 있음
아웃풋 여러개 일 수 있음
채널의 개념
필터를 64개를 사용
인풋데이터 : 256개 (채널로 생각)
256개 필터
64개로 줄이겠다
256개 중 64개만 적용
중간에 컨볼루션으로 섞어줌
64개로 채널을 줄이기
적은 채널에서 3x3 컨볼루션 진행
채널을 줄여서 계산을 빠르게 하기
목적
1. 연산량 줄이기
2. 층을 깊게 하기
사이즈를 줄이기 위해 /2
색깔이 바뀔 때 다운사이징 진행
7x7, 채널수, 필터수 : 64
average pooling 평탄화
Fully Conected Layer : 1000개로 구성
FLOP의 복수, 몇 번 FLOP이 필요한지 계산
Floating Point Operations Per Second
부동 소수점 연산 수
인공지능 모델에서는 계산의 복잡도를 측정하는 중요한 지표로 사용
MNIST : 숫자 손글씨 이미지 분류
KMNIST
EMNIST
CIFAR : 캐나다
STL10 : 스탠포드
입력의 숫자 : 64
출력의 숫자 : 3
채널이 늘어나는 것은 평탄화 쪽으로 가고 있다
다운 사이징을 통해서 풀링할 때마다 내려갑니다