본문 바로가기

공부방/Upstage AI Lab 4기

학습일지 | 딥러닝과 파이토치

딥러닝 = 텐서 연산 모음

파이토치는 데이터를 텐서 객체로 다루기 때문에 데이터를 텐서로 바꿔야 한다. 그리고 모델을 불러와 학습시키고 예측 결과를 내놓게 한다. 결과가 나오면 오차를 손실함수로 수치화하고, 손실 함수가 최소가 되도록 하는 최적화 알고리즘을 거치면서 모델이 최적의 파라미터를 찾아 업데이트한다. 

 

전이학습(Pretrained Model)

말 그대로 이미 한번 학습을 시켜놓은 모델. 학습한 task에 대해서 일반적인 성능을 가지고 있다. 갓 업계에 입문한 쌩신입에게 기본적인 것을 가르쳐준 단계랄까. 아무것도 모르는 사람을 처음부터 가르쳐서 전문가로 만드는 것보다 기본은 알고 있는 사람에게 좀 더 심화 지식을 가르치는 것이 수월한 것처럼, (누군가 이미 잘 만들어놓은) 프리트레인된 모델을 가져와 업그레이드 시키는 것이 효율적이다. 

Fine tuning, 전이학습의 한 방법으로 파인튜닝이 있다. 파인튜닝은 좀 더 미세하게 조정한다는 그 이름처럼, 프리트레인된 모델을 그대로 쓰거나, 레이어를 추가한 뒤에 원하는 작업에 맞는 데이터를 넣어 모델을 추가로 학습시키는 방법. (파인튜닝의 방법에도 여러가지가 있음)

Domain Adaptation, 도메인 어뎁테이션
이것도 전이학습의 방법 중 하나. 다른 도메인에 있는 같은(?) 작업을 잘 할 수 있도록 만드려는 것..? 사진 데이터로 이뤄진 도메인에서 학습한 모델을 애니메이션 데이터로 이뤄진 도메인에서도 잘 작동할 수 있도록 만드는, 도메인간의 차이를 극복하려는 것이 도메인 어뎁테이션.

이 외의 다른 학습 방법들: Multi-task learning, Zero-shot learning, One/few shot learning

 

파이토치:
딥러닝 프레임워크 중 하나.

모델에게 학습 데이터를 주고 훈련시키는 과정을 함수 몇 개만 써서 쉽게 할 수 있게 만든 라이브러리같은 것. TensorFlow나 JAX, MXNet 등의 다른 딥러닝 프레임워크도 있지만, PyTorch가 가장 잘 나감. (State-of-the-art, SOTA) 모델들중 대부분이 파이토치를 사용해서 만들어졌고, 허깅페이스에 공개된 모델들도 대부분 파이토치 기반. 컴퓨터 비전이나 거대 언어 모델 분야에서도 파이토치 (오픈소스의 힘?!) 참고로 파이토치는 메타에서 만듬. 메타.. 메타버스 한다더니 인공지능에 진심이였구나..