Gom3rye
인공지능 중간 총정리 본문
인공지능의 강/약 분류
강인공지능
- 온전히 사람처럼 행동/생각하는 로봇
약인공지능
- 자율 주행
- 온도 조절기
- 음성 비서
- 얼굴 인식
- Rule-based system은 불확실성에 취약하다.
- 퍼셉트론의 학습은 STDP로 이루어질 수 있다.
- MLP의 학습 시 활성의 순전파가 이루어진다.
심층신경망을 학습하는 데에 필요한 것
- 순전파에서 계산된 활성 값
- 활성 함수의 미분 값
- 지난 학습 단계에서 계산된 weight
- learning rate
(필요하지 않은 것은 순전파에서 계산된 손실 값)
합성곱신경망
- 합성곱신경망에서 weight는 공유된다.
- 합성곱신경망에서 풀링은 연산량을 줄이기 위해 사용된다.
- Zero padding은 가장자리에서 정보 손실을 줄여준다.
- CNN은 영상 입력에 대해 효과적으로 사용된다.
계산 문제
학습 데이터셋의 크기가 10,000이고 미니배치의 크기가 10일 때, 1 에포크당 일어나는 weight update의 횟수는 몇 번인가?
-> 1000번
여러 CNN 모델
- YOLO: 입력 이미지 1장당 1번의 CNN 순전파만 이루어져 추론 속도를 개선한다.
- GoogLeNet: 다양한 크기의 receptive field를 고려하고 bottleneck으로 연산량을 줄인다.
- MobileNet: depthwise separable convolution을 활용하여 연산량을 줄인다.
- VGG: 큰 필터 하나를 사용하는 대신 작은 필터 여러개를 사용한다.
정칙화 기법
- 학습 데이터를 증강 시키는 것
- 은닉 뉴런의 개수를 줄이는 것
- 학습을 일찍 종료하는 것
- Weight의 크기를 제한하는 것
Universal approximation theorem
-> 단일 은닉층을 가진 MLP로 세상 모든 함수를 근사할 수 있다는 이론
Gradient vanishing problem을 해결할 수 있는 3가지 기법
- ReLU 사용
- Residual block 사용
- Auxiliary classifier 사용
Batch computing
단일 sample을 input으로 넣는 게 아닌 여러 sample을 input으로 한번에 넣는 것
1. 전체 dataset에 대해 1번의 weight update를 하는 것은 불가능.
2. Matrix 연산이 더 빠르기 때문에 batch computing을 사용한다.
깊은 층의 신경망의 옅은 층의 신경망보다 좋은 이유
- 옅은 층의 신경망이 exponential하게 hidden unit을 더 필요로 함.
- 깊은 층이 non-linearity가 좋음.
합성곱신경망의 마지막 층이 전결합인 이유
-> 추출된 feature를 classification (mapping)해주기 위해서
Weight를 0으로 초기화하면 안되는 이유
- activation 함수로 tanh, ReLU 사용 시: weight가 0값으로 계속 고정
- sigmoid 사용 시: weight가 column (혹은 row) 단위로만 update됨
Bottleneck block
-> 1x1 convolution을 수행하여 channel size를 조절시켜 줌.
과적합이 발생하는지 여부를 알 수 있는 방법
- Epoch별 validation loss (accuracy)를 추출하여 training accuracy와의 격차를 모니터링함.
- 격차가 벌어지기 시작하면 overfitting 발생.
728x90
반응형
'Artificial Intelligence' 카테고리의 다른 글
기말고사 정리 (0) | 2022.06.26 |
---|---|
MLP(Multi-Layer Perception) (0) | 2022.04.17 |
What is Artificial Intelligence? (0) | 2022.03.22 |