---
# System prepended metadata

title: 211125 피어세션
tags: [피어세션]

---

---
tags: '피어세션'
---

211125 피어세션
===

- 기록자 : 동규님
- 오늘의 한마디: 밖이 춥다.

진행 해야 될 것
---
- TodoList 리마인더
- 멘토링 정리

질문 정리
---


피어세션 진행
---
- Todo
    - 동규님: Deview 몇개 시청, 최종 프로젝트 조사, Don't Stop pretraining 기록 중, 면접질문 고민
    - 종현님: 오전 피부과, 5강 정리 끝, css 강의 들음, 리눅스 할 예정, Clova 조사
    - 석민님: special mission 다함. 3번이 postgresql 사용하는거, 최적화 101 nlp강의 들음, 결론적으로 nlp에서는 임베딩 레이어를 줄이거나 어텐션 레이어를 감소시키는 최적화 방법이 많이 쓰인다고 함.
    - 은진님: 최종 프로젝트 관련 논문 (멘토님 추천 + 카카오) 살펴보고 내용파악, 최적화 프로젝트 코드 수정(에러 ㅠ)
    - 태현님: 5강 강의 수강, special mission 1 하는 중, 면접질문 답을 고민해봤는데 명확히 작성하지는 못했음.
    - 채원님: 스페셜미션, Don't stop pretraining 재점검, 최종프로젝트 조사는 피어세션 끝나고 할 예정

- 면접 질문 토론

    7. W 3천만개를 동시에 조정해서 Total Loss가 감소 하게 되었습니다. 이때 각 Example 들 하나하나의 Loss도 모두 다같이 감소 하였을까요?
        - 그렇지 않다. 모델이 학습하는 objective는 모든 학습데이터로 정의된 loss surface 상에서의 gradient descent를 학습하는 것이고, 각각의 example들로만 정의된다면 데이터로부터 정의되는 학습 공간이 달라지게 되어 loss가 감소할 수도, 증가할 수도 있다.
    
    8. Gradient Descent를 하는 도중 W 3천만개 전체의 Gradient가 동시에 0이 될 가능성이 어느 정도 있을까요?
        - 우리의 모델이 결국에는 모든 파라미터들의 gradient가 작아지는 방향으로 학습을 이어나가는 것은 맞지만 3천만개나 되는 파라미터가 동시에 0이 되는 지점은 상식적으로 생각하면 굉장히 나오기 힘들 것 같고, optimization 알고리즘에 따라 gradient 변화가 적었던 파라미터에 대해 한번씩 그 변화량을 크게 키워주는 방식을 취하고 있기 때문에 모든 파라미터가 동시에 0으로 수렴되기는 굉장히 어렵다고 생각한다.
    
    9. GD를 하는 도중 어느 시점에 W 3천만개 중에서 1천만개의 Gradient가 0이었습니다. 하지만 2천만개의 Gradient는 0이 아니었기에 다같이 한번에 2천만개의 W를 조정하였습니다. 즉 GD를 한스텝 실행 하였습니다. 이렇게 조정 한 후에 다시 원래 Gradient가 0이었던 W들의 Gradient를 조사해 보면 그대로 0일까요?
        - 모델이 update에 사용하는 gradient는 정확히 그 지점에서 파라미터의 변화율에 관한 것이고 조금만 움직이더라도 gradient는 당연히 달라질 수 밖에 없다. 임의의 편미분 그래프만 생각해보더라도 값이 0이 되었던 지점이 계속해서 유지될리는 만무하다. 만약 gradient가 0이 되었던 파라미터가 계속 0으로 gradient 값이 유지된다면 모든 파라미터의 기울기 값이 0으로 수렴할 수도 있을것이다.
    
    10. 그렇다면, W 3천만개가 동시에 0이 될 가능성이 정말 없고, GD는 끊임 없이 실행할 수 있고, W는 계속 계속 영원히 조정 될 수 있는데, 왜 Total Loss는 무한히 줄어들지 않고 어느 시점에 이르면 증가, 감소를 반복 하면서 특정 값 이하로는 떨어지지 않는 듯한 양상을 보이게 될까요?
        - 앞서 말했듯 모델의 학습이 지속되다 보면 모든 파라미터들의 gradient가 작아지게 되고 학습 데이터의 Total loss 또한 굉장히 작아지게 되겠지만, 우리가 가진 모든 데이터를 정확하게 설명할 수 있도록 모델의 obejctive function (loss function + model architecture)을 설계하는 것 자체도 거의 불가능하고, 우리의 목표 자체가 학습데이터를 모두 맞추는 모델을 디자인하는 것이 아닌, 학습데이터를 통해 데이터에 존재하는 패턴과 representation을 학습하고 학습 단계에 보지 못한 실제 테스트 데이터에 대해서도 예측을 잘 수행하는 것이 목적이기 때문에 학습데이터의 Total loss를 무한히 줄이도록 설계를 할 이유도 없다.

- 최종프로젝트
    - https://www.notion.so/boostcamp-ai/611408d99e954b1dbf525b19dcba8fc7


내일 까지 계획
---

- 