티스토리 뷰

본 포스팅은 edwith에서 제공되는 딥러닝을 이용한 자연어처리 강좌를 참고하여 만들어졌습니다.
https://www.edwith.org/deepnlp/joinLectures/17363

 

1)  Supervised Learning(Machin Learning) 이란?

기존의 개발 방법은 문제를 정확하게 specification하고 그러한 문제를 풀어가는 알고리즘을 찾는 것이었다. 하지만 Machin Learning은 문제가 정확하게 specification되어 있지 않고, 수 많은 데이터와 그 데이터데 대한 정답 label이 주어진다. 즉, 정답이 주어진 데이터로부터 알고리즘을 만든다!

 

2) 개발자가 해야 할 것은?

  1. How do we decide/design a hypothesis set?
  2. How do we decode a loss function?
  3. How do we optimize the loss funntion?

 

2. Hypothesis Set - Neural Networks

1) what is a neural network ? 

  • A neural network is an (arbitrary) directed acyclic graph(DAG).
  • Forward Computation (because acyclic graph)

 

3. Loss Function

실제 값과 예측 값이 차이가 생겼을 때 얼마나 큰 차이가 생겼는지 계산해주는 함수!

  1. MSE
  2. Cross-entropy

4. Optimizer

1) Loss Minimization

  • What we now know
    1. How to build a neural network with an arbitrary architecture
    2. How to define a per-example loss as a negative log-probaility
    3. Define a signle directed acyclic graph containing both
  • What we now need to know
    1. Choose an optimization algorithm
    2. How to use the optimization algoruthm to estimate parameters
  1. Random guided search : 고차원이 되었을 때 효율성이 떨어짐
  2. Gradient-based optimization : 손실함수의 미분계수를 이용해서 손실함수의 최소값을 구하게 된다. 미분계수 자체가 극한값을 의미하기 때문에 learning rate가 굉장히 작은 값일 때 의미를 갖는다. 

그렇다면 미분을 어떻게 계산할 것인가? Backpropagation!

2) Stochastic Gradient Descent(SGD)

3) 여러가지 Optimizer

- SGD에서 learning rate를 어떻게 정할 것이냐에 대한 논의로 시작하여 여러 optimizer가 나왔다!

출처 : https://www.slideshare.net/yongho/ss-79607172 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함