느린 일지/부스트캠프 AI Tech 4기

[학습 일지 / day 17] git 학습 및 스터디 준비

neulvo 2022. 10. 11. 23:41

오늘은 이고잉 님의 git 수업을 수강하였다.

git 강좌는 한 번인가 들어본 적이 있고

그 후에는 실무 때문에 또 프로젝트 때문에

몇몇 명령어만 익혀서 사용하곤 했었다.

 

그러니까 사실 잘 모르고 썼던 느낌이 강했다.

그런데 이고잉 님 수업을 들으니

체계가 잡히지 않았던 용어와 개념들이

자기 자리를 알아서 착착 찾아갔달까

정말 도움이 되는 명품 강의였다.

 

그런데 이제 문제는 git 수업 듣고 나니

지쳐버렸다는 거지

아침에 Transformer 공부도 하기도 했으니까

저녁 시간은 억지로라도 Transformer 스터디 자료를 만드려는 나와

더는 못하겠다고 뻗어버리는 나와의 신경전으로 모두 보내버렸다.

 

진전은 있었지만 많은 진전은 아니었다.

내일 충분히 다 할 수 있겠지?

그러길 바란다. 마감 시간의 기적을 믿어보자.

 

오늘 트랜스 포머 공부한 내용 중에

특기할 만한 부분과 git Todo 목록을 정리해두고 마무리하겠다.

 


디코더에 <s>가 입력된 상황이라면 트랜스포머 모델은 다음 영어 단어 I를 맞추도록 학습됩니다. 
하지만 학습 과정에서 모델에 이번에 맞춰야할 정답인 I를 알려주게 되면 학습하는 의미가 사라집니다.
따라서 정답을 포함한 미래 정보를 셀프 어텐션 계산에서 제외하게 됩니다. 
이 때문에 디코더 블록의 첫번째 어텐션을 
마스크 멀티-헤드 어텐션(Masked Multi-Head Attention)이라고 부릅니다. 
그림16과 같습니다. 
마스킹은 확률(코드5의 attn_scores_softmax에 대응)이 0이 되도록 하여, 
밸류와의 가중합에서 해당 단어 정보들이 무시되게끔 하는 방식으로 수행됩니다.

 

그림12 우측을 보면 잔차 연결을 두지 않았을 때는  
f1 ,  f2 ,  f3 을 연속으로 수행하는 경로 한 가지만 존재하였으나, 
잔차 연결을 블록마다 설정해둠으로써 모두 8가지의 새로운 경로가 생겼습니다. 
다시 말해 모델이 다양한 관점에서 블록 계산을 수행하게 된다는 이야기입니다.
딥러닝 모델은 레이어가 많아지면 학습이 어려운 경향이 있습니다. 
모델을 업데이트하기 위한 신호(그래디언트)가 전달되는 경로가 길어지기 때문입니다. 
잔차 연결은 모델 중간에 블록을 건너뛰는 경로를 설정함으로써 
학습을 용이하게 하는 효과까지 거둘 수 있습니다.

 

* 딥러닝 모델 학습은 모델 출력과 정답 사이의 오차(error)를 최소화하는 방향을 구하고 
이 방향에 맞춰 모델 전체의 파라미터(parameter)들을 업데이트하는 과정입니다. 
이때 오차를 손실(loss), 오차를 최소화하는 방향을 그래디언트(gradient)라고 합니다. 
오차를 최소화하는 과정을 최적화(optimization)라고 합니다.

 

TO DO

1. 프로젝트 폴더를 만든다.

2. 저장소를 만든다. (git init)

3. 파일을 만들고 2개의 커밋을 만든다.
work1.txt => 1
work2.txt => 2
work3.txt => 2

git status
git add FILE_NAME
git commit -m "COMMIT MESSAGE"

4. 시간 여행을 해보세요.
git log --oneline -all
git checkout "commit id"
git checkout master

5. 브랜치를 만들고 작업할 수 있도록 체크아웃하세요.
git branch exp
git checkout exp

6. 서로 다른 브랜치에서 작업한다.
exp 브랜치 : exp.txt
master 브랜치 : master.txt 커밋

7. 병합한다.
git merge exp
vi editor :wq 를 이용해서 내용을 저장한다.

 

이상이다. 오늘도 수고 많았다. 내일은 일찍 일어나야지. 화이팅!!!

728x90