본문 바로가기
Computer Science/Artificial Intelligence

[인공지능] 6장/ 7장/ 8장

by na1-4an 2023. 10. 17.

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 피함?