Skip to content

Caffe:Tour:Solver

The solver orchestrates model optimization by coordinating the network’s forward inference and backward gradients to form parameter updates that attempt to improve the loss. The responsibilities of learning are divided between the Solver for overseeing the optimization and generating parameter updates and the Net for yielding loss and gradients.

Step

  1. 트레이닝 네트워크를 만든다.
  2. 반복적으로(iteratively) forward 및 backward를 호출하고 파라미터를 업데이트 한다.
  3. (주기적으로) 테스트 네트워크(Test networks)를 평가한다.
  4. 최적화 및 스냅샷을 만든다.

각 이터레이션(iteration)에서는...

  1. 출력(Output)손실(Loss)을 계산하기 위해 순방향(Forward)네트워크를 호출한다.
  2. 변화율(gradients)계산을 위해 역방향(Backward)네트워크를 호출한다.
  3. incorporates the gradients into parameter updates according to the solver method
  4. 변화율(gradients)을 개선도니 파라미터에 통합(incorporates)하기 위해 Solver Method를 거친다.
  5. Solver 상태를 LearningRate, History, Method 에 따라 업데이트한다.

Methods

Solver Methods는 일반적으로 손실 최소화(Loss minimization)에 대한 최적화 문제를 해결할 수 있다.

  • Stochastic Gradient Descent (type: "SGD"),
  • AdaDelta (type: "AdaDelta"),
  • Adaptive Gradient (type: "AdaGrad"),
  • Adam (type: "Adam"),
  • Nesterov’s Accelerated Gradient (type: "Nesterov") and
  • RMSprop (type: "RMSProp")

See also

Favorite site