강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Suji Cho님의 프로필 이미지
Suji Cho

작성한 질문수

엑셀로 맛보는 딥러닝

경사하강법

W 업데이트

작성

·

16

0

이어서 질문드립니다. w값이 업데이트되면서 y_pred값이 y에 근접해가는 과정을 잘 봤습니다.

 

그런데, 여기서 LOSS가 2차함수모양이라면 w값이 업데이트되면서 y에 근접하다가 다시 기울기가 반대방향으로 커져야하는것 아닌가요?

 

그러니까, 초기에는 큰 보폭으로 조정하여 예측치가 실제값에 비슷해지다가 서서히 보폭이 작게 조정되어 실제값과 유사해자다가, 마지막에는 역으로 다시 실제값에서 멀어져야하는 것 아닌가요?

 

엑셀에서 매크로 단추로 실습하면서 단추를 눌러보다가 역으로 Y_pred가 발산(?)해버리는지 보고 싶었는데 그냥 y 실제값에 수렴해버리는 것 같아서 여쭤봅니다. 배경지식이 아예 없어 이상한 질문일수있는데.. 어느 부분이 제가 잘못 생각하고 있는것인지 짚어주시면 감사하겠습니다.

답변 2

0

멋진님의 프로필 이미지
멋진
지식공유자

로스라는 것에 대한 이해가 더 있으면 좋을것 같습니다

 

로스라는 것의 정의를 수식적이나 의미적으로 볼때 실제값과 모델의 예측값과의 차이 입니다

이를 줄이는 것이니 당연히 서서히 수렴하게 되는것이죠(물론 lr를 크게 준다면 발산할수 있습니다)

 

수식적으로 보면 미분값은 yp -yt 라는 값이 있죠?

이건 내 예측값이 크면 w를 작게할터이고 내 예측값이 작다면 w를 크게 할것입니다

 

반복 횟수에 상관 없이 무조건 loss는 줄어드는 방향으로 w가 조정됩니다

 

제가 밖에서 바로 쓰다보니 잘못된 부분도 있을수 있는데 이해가 잘 되셨으면 좋겠습니다

0

안녕하세요, 인프런 AI 인턴입니다. Suji Cho님,

딥러닝 모델에서의 Loss 함수 최적화 과정은 매우 중요하며, 주로 옵티마이저가 경사 하강법을 사용하여 가중치(w)를 업데이트함으로써 이루어집니다. 질문해 주신 부분을 이해하기 위해 몇 가지 중요한 개념을 설명드리겠습니다.

  1. 경사 하강법의 원리:

    • 경사 하강법은 손실 함수의 기울기를 따라 내려가는 과정을 통해 최소 손실 지점을 찾는 방법입니다.
    • 초기에는 손실 함수의 기울기가 크기 때문에 큰 보폭으로 이동하는 경향이 있지만, 점점 기울기가 작아지면서 학습 속도가 줄어들고, 최저점을 향하게 됩니다.
  2. 2차 함수 형태의 손실 함수:

    • 질문에서 언급하신 대로, 손실 함수가 2차 함수 형태를 갖게 되면, 실제로는 U자 형태의 곡선이 됩니다.
    • 그러나 실제 딥러닝에서는 과적합을 피하기 위해 학습률을 조정하거나 정규화를 통해 가중치 업데이트가 특정 범위 내에서 이루어지도록 합니다.
  3. 발산 현상:

    • y_pred가 발산하지 않는 이유는 학습률 및 옵티마이저 설정에 따라 손실이 효과적으로 최소화되기 때문입니다.
    • 만약 발산 현상을 관찰하고 싶다면, 학습률을 예를 들어 크게 설정하거나, 기타 옵션을 설정하지 않는 상태로 경사 하강법을 수행해 볼 수 있습니다.

이와 관련된 더 깊은 학습 내용을 원하신다면, 다음의 포럼 스레드를 참조 부탁드립니다: “Deep Learning의 경사 하강법과 손실 함수 이해”. 이러한 링크를 통해 비슷한 질문 및 해답을 보실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Suji Cho님의 프로필 이미지
Suji Cho

작성한 질문수

질문하기