본문 바로가기

Machine Learning2

옵티마이저(Optimizer) 설명, 의미, 고찰 - SGD? Adam? 딥러닝을 배우면서 optimizer에 대하여 한번쯤은 듣게 될거다. 하지만 이게 정확히 뭔지 모르고 그냥 대충 Adam을 사용하면 된다~ 정도로 알고 있을거다. 그게 맞다....(?) 물론 초급적인 과정에서는 그게 맞다. 하지만 조금만 깊이 가면, transformer 까지만 가면 반드시 차이를 알아야 한다. 딥러닝에서는 다양한 알고리즘을 사용한다. 그리고 이 다양한 알고리즘에서 파생된 여러가지 종류의 레이어가 있다. 가장 대표적인 것이 다음 3가지다. 활성화 함수, 손실 함수, 최적화 함수 이 세가지는 정확하게 이해해야한다. 안그러면 서로 헷갈리기도 하고 자꾸 찝찝한 마음이 들거다. 여기서 최적화 함수가 다른말로 옵티마이저. optimizer 이다. 정의 옵티마이저를 한줄로 정의하면 '최소의 loss로.. 2023. 10. 12.
오차 역전파(back propagation) 설명, 의미, 고찰 정의 오차 역전파(Backpropagation)는 인공 신경망에서 가중치를 조정하여 출력을 원하는 결과에 가깝게 만들기 위해 사용되는 알고리즘. 쉽게 설명해주겠다. 신경망은 일종의 함수라고 볼 수 있다. 이 함수의 가중치(w1, w2, w3)는 학습을 할 수록 업데이트 된다. 가중치 업데이트를 어떻게 할 것인가에 대한 알고리즘이 back propagation이다. 아래 딥러닝의 전체 과정에서 보면 어디에 위치한 과정인지 볼 수 있다. (인풋 입력 -> 네트워크 통과 -> 출력 -> 손실함수 계산 -> !오차 역전파! -> 가중치 업데이트) -> 처음부터 반복 오차 역전파를 잘 하는법 오차 역전파를 잘 하려면 다음과 같은 조건을 만족하면 된다. 1. 오차를 잘 구한다. 2. 경사 하강법을 이용해 직전 가중.. 2023. 9. 18.