*제가 공부하고 이해한대로 적은 글입니다. 틀린부분이 매우 높은 확률로 있을 수 있습니다.*
*지적은 정말 환영입니다.*
loss landscape또는 loss surface라 하는 것은 말그대로 loss의 표면을 보여주는 것을 말합니다.
deep learning에는 local optimum이라는 문제점이 있습니다.
local optimum이 뭐냐면 현재 loss를 땅 위에서 구르는 공이라 생각해봅시다.
땅 에는 뭉툭한/뾰족한, 얕은/깊은 구덩이들이 있습니다.
저희는 이 공이 뭉툳하고 깊은 구덩이로 가길 원합니다. (high generalization, low loss)
하지만 이 공이 얕거나 뾰족한 무튼 저희가 가장 바라는 구덩이가 아닌 다른 구덩이에 빠져버리는걸 local optimum이라 합니다.
반대로 저희가 원하는 구덩이는 global optimum이라 합니다.
하지만 인공지능은 블랙박스라하죠 학습중에 local에 빠지는지 global에 빠지는지 알 수가 없습니다.
근데 학습중에 학습이 완료됐는데 자꾸 성능이 안 나올때 즉 local optimum에 빠진다 판단 될때 이 loss landscape로 부터 어느정도의 인사이트를 얻을 수 있습니다. 자꾸 local optimum이 나오길래 loss landscape를 만들었는데 모습이 위 사진의 왼쪽과 같다면 모델을 오른쪽처럼 만들어야 겠지요. 물론 굳이 모델을 바꾸지 않고 local optimum에 빠지지 않게하는 다른 방법도 있겠지만.
그렇다면 블랙박스인 인공지능에서 저런 그래프는 어떻게 만드냐?
일단 인공지능의 모든걸 나타내는 loss landscape는 그릴 수 없습니다. 왜냐 저희가 보는 그래프는 최대 3차원인데 인공지능은 매우 높은 차원의 데이터를 다루기 때문이죠.
그래서 파라미터를 PCA를 통해 저차원 데이터로 변환 한다음(스칼라또는 2차원벡터) 바뀐 파라미터를 기준으로 잡고 랜덤으로 방향 2개를 잡아 δ, η로 둡니다. 그럼 그래프의 임의의 좌표를 a,b라 두고 그래프를 다음과 같이 그립니다.
f(a,b) = Loss(θ + aδ + bη)
그리고 scale invariance때문에 loss surface가 제대로 측정되지 않아서 이를 해결하는 filter wise normalization이라는 방법이 있는데, 난 모르겠다 loss surface도 제대로 이해 못하겠는데..
'deep learning' 카테고리의 다른 글
SeqGan 논문 겉햝기 (1) | 2023.09.26 |
---|---|
transformer 논문리뷰 (0) | 2023.01.27 |