Gom3rye

인공지능 중간 총정리 본문

Artificial Intelligence

인공지능 중간 총정리

Gom3rye 2022. 5. 6. 13:33

인공지능의 강/약 분류

강인공지능

- 온전히 사람처럼 행동/생각하는 로봇

 

약인공지능

- 자율 주행

- 온도 조절기

- 음성 비서

- 얼굴 인식

 

  • 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가지 기법

  1. ReLU 사용
  2. Residual block 사용
  3. Auxiliary classifier 사용

Batch computing

단일 sample을 input으로 넣는 게 아닌 여러 sample을 input으로 한번에 넣는 것

1. 전체 dataset에 대해 1번의 weight update를 하는 것은 불가능.

2. Matrix 연산이 더 빠르기 때문에 batch computing을 사용한다.

깊은 층의 신경망의 옅은 층의 신경망보다 좋은 이유

  1. 옅은 층의 신경망이 exponential하게 hidden unit을 더 필요로 함.
  2. 깊은 층이 non-linearity가 좋음.

합성곱신경망의 마지막 층이 전결합인 이유

-> 추출된 feature를 classification (mapping)해주기 위해서

Weight를 0으로 초기화하면 안되는 이유

  1. activation 함수로 tanh, ReLU 사용 시: weight가 0값으로 계속 고정
  2. 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