ai, 머신러닝을 공부하는 데 있어 미적분, 선형대수, 확률 및 통계는 정말 중요한 과목들이다.
이 중에서 선형대수, 확통은 최근 학교 수업으로 공부하여 나름 자신있지만
미적분은 1학년 때 공부하고 머릿속에서 많이 잊어버려... 복습이 필요한 상횡이 되었다.
하지만 당장 머신러닝 학교 수업을 들어야 하는 나에게
스튜어트 칼큘러스 책을 처음부터 끝까지 다 복습하기엔 시간이 다소 tight했고
나의 현 상황에 맞춰 'ai에 필요한 미적분을 빠르게 요약하여 가르쳐주는 수업'을 찾게 되었고
메타코드에서 딱 적절한 강의를 발견해 수강하게 되었다.
앞으로 수업을 들으며 본 카테고리에 공부한 내용을 중요한 내용 위주로 간략히 정리해보려고 한다.
강의 수강을 위한 메타코드 주소는 다음과 같다.
목차
1. OT
2. 미분 들어가며
(제가 저의 말로 다시 정리해서 쓴 글이기에 가벼운 말투가 많이 등장합니다. 양해 부탁드립니다.)
* 서포터즈 활동을 통해 강의 수강 비용을 지원받았음을 알립니다.
1. OT
앞서 말했듯이 ai 공부를 위해선 크게 3가지 수학이 필수적이다.
선형대수, 미적분, 확통.
이 강의에선 미적분 중 미분을 중점으로 1챕터에서 다루고, 최적화에 대해 2챕터에서 다룬다고 한다.
8~10시간 만에 compact하게 다룰 것이므로 미분/적분 중 ai 공부에 있어 비교적 중요성이 떨어지는 적분보단,
미분에 집중해서 공부 후 이를 이용한 최적화까지 학습한다.
특히 AI 논문을 이해하기 위해선 수식에 익숙해져야 하는데(별다섯개!!), 그러한 내용들까지 본 강의에서 다룬다.
ex. nlp 할 때 쓰는 model엔 주로 transformer, LSTM, seq2seq (왼쪽으로 갈 수록 최신 모델)이 있는데, 저 세 model이 어떤 차이냐, 어떤 특징이 있냐 물어보면, (ai를 제대로 공부하지 않은 사람은) 왼쪽으로 갈 수록 성능이 좋아용~~ 최신에 나온 거니까용~~ 라고 말할 수밖에 없음.
근데... 그건 옆집 초등학생도 할 수 있는 답변임.
우리) 저 model이 어떤 연산(operation)으로 되어 있길래 성능 상의 차이가 있는 거고, 왜 연산 속도가 다르지? 대체 어떤 행렬연산이 각각 들어갔길래 연산속도가 차이가 날까?
이걸 대답 못할거면 우린 파인 튜닝을 할 수가 없음.
그냥 바닐라 모형 받아서 쓰는 것밖에 못하는 거임 ㅋㅋ
그걸 받아서 우리가 튜닝하고, 레이어를 바꾸고, 여러 하이퍼파라미터를 조정하고, 센스있게 바꾸고 할 수 있어야 우리를 돈주고 써먹을 수 있지 ㅇㅇ
근데 그걸 하려면 저런 수학적 지식들이 있어야 하고, 논문을 읽을 수 있어야 한다.
그러니 수학 열심히 하자!!
2. 미분 - 들어가며
미분 정의 : 순간변화율을 찾는 것.
머신러닝 : 특정 목적함수를 최적화하는 알고리즘.
목적 함수 : 어떠한 목적에 따라 모델을 학습시켜 최적화하고자 하는 함수.
최적화 (문제를 해결) : 특정 목적 함수를 최대화 또는 최소화하는 파라미터를 찾는 것.
cf) 확통에서 배웠던 MLE와 머신러닝 수업에서 배운 LSM을 기억해보자!!
전자는 likelyhood를 최대화, 후자는 cost function을 최소화하고 싶은 거였음.
여기서 '최적화'란 경우에 따라 최대화, 최소화로 갈릴 듯함.
step1) 최적화 문제 <- 결국 gradient 문제
step2) gradient <- 편미분으로 이루어진 벡터
step3) 미분 <- 최적화를 푸는 데 필수적인 도수
** 최적화 문제를 푸는 데 미분이 반드시 필요한 건 아니긴 한데...
ML까지는 최적화 문제 해결에 미분이 필수라곤 할 수 없었으나, (꼭 ML이 아니어도 그냥 일반적인 최적화도 마찬가지. 미분 없이 알고리즘만으로 해결할 수 있는 경우도 있음.)
ex. 유전 알고리즘 같은 거. 미분 없이, 최적화 알고리즘 만으로 푸는 접근 방식의 일종임.
근데 현대에는 딥러닝의 시도가 들어갔자너. 딥러닝은 사실상 최적화에 미분이 필수.
뭐 딥러닝도 유전 알고리즘 같은 걸로 풀 수는 있음. 근데, 그건 가능하다일 뿐이지, 그게 최적의 해를 도출하냐, 그리고 계산이 효율적이냐? 를 따지는 건 다른 문제임. 최적의 해로 간다고 해도 연산이 비효율적이거나 시간이 많이 걸릴 수도 있고... 그래서 딥러닝에서는 최적화에 미분이 필수라고 생각해도 됨. 미분으로 최적화하는 게 거의 정답이다.
기울기 관련 기본 내용은 고등학교 미적분 수준과 동일.
'Mathematics > Calculus' 카테고리의 다른 글
[미분과 최적화] 메타코드 강의 후기_미분가능성 (0) | 2024.09.29 |
---|