6. Machine learning algorithms
1. 머신러닝 알고리즘 타입(6)
① Supervised leaning(지도 학습)
- 각 예제는 레이블이나 목표값과 연결됨.(지도자 O)
- x로부터 y를 예측하도록 학습. p(x|y)로 추정해 예측함.(x가 주어졌을 때 y가 나올 확률)
ex. 회귀, 분류, 구조화된 출력문제(이미지, 문장, 음성) 등
② Unspuervised learning(비지도 학습)
- 지도자가 없음. 가이드 없이 스스로 데이터를 이해해야함.
- 데이터 구조의 유용한 특성을 학습.
- 확률 분포 p(x)를 학습.
ex. 군집화, 밀도 추정
③ Semi-supervised learning(반지도 학습)
- 일부 예제는 지도 학습처럼 목표값(레이블)을 포함하고, 다른 예제는 포함 안함.
④ Multi-instance learning(다중 인스턴스 학습)
- 모든 예제 집합이 레이블 지정되어 있지만(특정 클래스 예제를 포함하는지 여부로),
집합의 개별 구성원에는 레이블이 없음.
⑤ Reinforcement learning(강화 학습)
- 학습 시스템과 환경 사이에 피드백 루프가 존재함.
⑥ Self-supervised learning(자기 지도 학습)
- 데이터의 일부분을 레이블로 사용하는 것.
데이터: "기계가 생각하는 것이 정확히 무엇을 의미하는지"
훈련 입력: "기계가 ( ? ) 하는 것이 정확히 무엇을 의미하는지"
정답: "생각"
7. Neural networks design
1. deep neural network에서 알아야하는 개념들(8)
- Vanishing gradient problem(그래디언트 소실 문제): 레이어가 많아짐에 따라 기울기가 너무 작아져 학습이 어려워지는 문제.
- Objectives:딥뉴럴 네트워크가 수행해야하는 것.
- Optimizers: 가중치를 조정해 손실함수를 최소화하도록하는 것.
- Regularization: 과적합을 방지.
- Initialization: 가중치 등을 초기값으로 설정.
- Output Units: 출력층에 적용되는 함수(소프트맥스, 활성화 함수 등)
- Dropout: regularization의 종류 중 하나
- Data augmentation: 데이터 셋의 다양성을 증가시키는 기술.
2. Neural Network Structures(9)
- Fully connected neual networks
- Convolution neural networks(CNN)
- Recurrent neural networks(RNN)
- Gated
- Long short-term memory
- Attention based
- Transformer
- Generative adversarial networks(GAN)
- Wavenet
3. Deep Neuaral Network에서의 문제점
(1) Vanishing gradient problem
해결 방법: ReLU, Residual net
(2) Overfitting problem
: 깊은 네트워크 성능 > 얕은 네트워크 성능인 경우: 훈련데이터에 대한 성능은 향상하지만, 테스트 데이터에 대해서는 서능 감소
- 해결방법: 많은 양의 labeled data(데이터 증강, 레이블 안된 데이터들로 해결, 자기 지도학습), Regularization
(3) 지역 최솟값
8. Vanishing gradient problem
1. 문제 상황
: gradient가 역방향으로 전파되면서 거의 제로에 수렴하는 문제.
2. 해결방법1: ReLU 함수 사용!
3. 해결방법2: Residual Net
: 해당 레이어의 입력값 x + (입력값과가중치 합성곱을 한 뒤 활성화함수에넣어 나온 값. t)를 다음 레이어의 인풋으로 넣는다. 그러면 0으로 수렴되던 이전의 t는 x가 함께 더해져 크기가 0으로 수렴되지 않음.
: 추가적으로 새로운 gradient flow도 생기게됨. 레이어를 거치지 않고, 직접적으로 뒤쪽 레이어로 흐를 수 있음. 더하기 연산자의 backward는 그대로 가므로, 소실되지 않고 전달할 수 있음.
4. Neural network 설계 시 고민할 점
- Network topology(네트워크 요소의 배열)
- 활성화 함수 비선형? 선형?
- loss 함수 어떤거?
- Objectives: 분류,회귀, 생성
- optimizer: 가중치 어떻게 수정?
- regularization: 어떻게 overfitting 피함?
'Computer Science > Artificial Intelligence' 카테고리의 다른 글
[인공지능] SP04. Deep neural networks (0) | 2023.10.18 |
---|---|
[인공지능] SP03. Shallow neural networks (0) | 2023.10.18 |
[인공지능] 5장 Training Multi-layer preceptron (0) | 2023.10.01 |
[인공지능] 4장 Learning: Gradient descent algorithm (2) | 2023.10.01 |
[인공지능] 3장 Solving non-linear problems (0) | 2023.10.01 |