AI Tech Day 2 (딥러닝 기초, 확률론)

이연걸·2021년 8월 3일
0
post-thumbnail

1. 오늘 일정

1) 학습
2) 피어세션

2. 학습 내용

AI Math

5강: 딥러닝

  1. 소프트맥스 연산

    소프트맥스 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산이다.
    분류 문제를 풀 때, 선형모델과 소프트맥스 함수를 결합하여 예측한다.

소프트맥스 -> 학습
원-핫 벡터 -> 추론 (원-핫 벡터는 최대값을 가진 주소만 1로 출력하기 때문에)

  1. 신경망

    신경망은 선형모델과 활성함수(activation function)를 합성한 함수이다.

  2. 활성함수

    활성함수는 비선형 함수로서 딥러닝에서 매우 중요한 개념이다.
    활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없어진다.
    시그모이드(sigmoid) 함수나 tanh 함수, ReLU 함수 등이 있다.
    시그모이드, tanh 함수는 그래디언트 소실 문제로 잘 쓰이지 않고 RuLU 함수를 많이 쓴다.

  3. 다층 퍼셉트론(MLP)

    신경망이 여러층 합성된 함수
    층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하다.

  4. 역전파 알고리즘

    딥러닝은 역전파(backpropagation) 알고리즘을 이용하여 각 층에 사용된 패러미터를 학습한다.
    각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로 계산한다.
    따라서 미분의 연쇄법칙을 활용할 수 있다.

6장. 확률론

  1. 딥러닝에서 확률론이 왜 필요한가?
  • 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있다.
  • 기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 된다.
  1. 확률분포

1) 이산확률변수 vs 연속확률변수

  • 확률변수는 확률분포에 따라 이산형연속형 확률변수로 구분된다.
  • 이산형 확률변수는 확률변수가 가질 수 있는 경우의 수를 모두 고려하여 확률을 더해서 모델링한다.

    P(XA)=XAP(X=x)P(X \in A) = \sum_{X \in A}P(X = x)

  • 연속형 확률변수는 데이터 공간에 정의된 확률변수의 밀도(density) 위에서의 적분을 통해 모델링**한다.

    P(XA)=AP(x)dxP(X \in A) = \displaystyle \int_{A} P(x)dx

2) 확률분포는 데이터의 초상화

P(x)=yP(x,y)P(x) = \sum_{y}P(x, y)
P(x)=yP(x,y)dyP(x) = \displaystyle \int_{y} P(x, y)dy

  • P(x)는 입력 x에 대한 주변확률분포로 y에 대한 정보를 주진 않는다.

3) 조건부확률과 기계학습

  • 조건부확률 P(yx)P(y|x)는 입력변수 xx에 대해 정답이 yy일 확률을 의미한다.
  • 로지스틱 회귀에서 사용했던 선형모델과 소프트맥스 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률을 해석하는데 사용된다.
  • 분류는 softmax, 회귀는 조건부 기대값을 활용한다.

4) 기대값이란?

기대값(expectation)은 데이터를 대표하는 통계량이면서 동시에 확률분포를 통해 다른 통계적 범함수를 계산하는데 사용된다.

  • 기대값을 이용해 분산, 첨도, 공분산 등 여러 통계량을 계산할 수 있다.

5) 몬테카를로 샘플링

  • 기계학습의 많은 문제들은 확률분포를 명시적으로 모를 때가 대부분이다.
  • 확률분포를 모를 때 데이터를 이용하여 기대값을 계산하려면 몬테카를로 (Monte Carlo) 샘플링 방법을 사용해야 한다.

EXP(X)[f(X)]1Ni=1Nf(X(i))E_{X \thicksim P(X)}[f(X)] \approx \frac{1}{N} \sum_{i=1}^{N} f(X^{(i)})

  • 몬테카를로 샘플링은 독립추출만 보장된다면 대수의 법칙(law of large number)에 의해 수렴성을 보장한다.

3. 피어 세션 정리

  • 모더레이터로서 5, 6강 요약 정리했음. (갤탭 연결해서 하니까 편하더라.)
  • Qna 시간 - 아직 초반이라서 질문이 많지는 않음.
  • 내일 조 소개위한 피피티 작성
  • 내일 과제 1,2,3에 대한 코드 리뷰 진행 예정

4. 과제 수행 과정

  • 오늘 나온 과제 4. Baseball과 5. Morsecode를 수행했다.
  • 쉬운 수준인데, 아무래도 클래스별로 나누는 등 프로그램형(?) 코딩을 한적이 없어서 조금 고전했다.

5. 회고

  • 그래도 아직까지는 과제 나오자마자 다 수행하고 있다. 앞으로도 이걸 목표로 한다.
  • 파이썬 강의 미루는 중이다.. 파이썬을 그래도 어느정도 알기 때문에..쩝 그래도 방심하지말고 이번주 내로 다듣자.
  • 특히, numpy, pandas 부분은 집중해서 듣자. 앞으로 계속 활용해야 하니까.

6. 내일 할 일

  • AI 7,8,9 강
  • 선택 과제 전부
  • 해당 강의 퀴즈
  • 시간남으면 파이썬
profile
AI가 세상을 바꾼다. 열심히 AI를 배워서 선한 영향력을 펼치는 개발자가 되고싶다. 인생은 Gradient Descent와 같지.

0개의 댓글