10/14일 주는 그룹 스터디를 진행하며 Deep Learning과 PyTorch 온라인 강의를 듣는 주였습니다. 저희 팀 분위기 짱짱 좋음...!🤩
딥러닝의 발전 5단계
5단계는 현재 text를 다룰 때만 해당이 되기 때문에 text로 예시를 들면...
1. SW 1.0 방식 (Rule based programming)
- input을 넣어 output을 도출해낼 때 필요한 연산들을 다 사람의 손으로 계산한 것
- e.g. 입력된 text가 긍정적인지 부정적인지 판단하고 싶을 때 필요한 연산들을 다 사람이 설계한 것 (-> hand-designed program)
2. SW 1.5 방식 (Conventional machine learning)
- 입력된 text에서 이러한 특징들을 뽑아야돼 하는 것은 사람이 설계하고 ( -> hand-designed features), 그러한 특징들이 이러한 값일 때 긍정이야 부정이야 판단하는 것은 기계가 스스로 알아낼 수 있게 한 것 ( -> mapping from features)
3. SW 2.0 방식 (Deep Learning)
- input이 들어오면 output이 나올 때까지의 필요한 모든 계산을 다 기계가 알아서 할 수 있게 하는 것
4. 4단계 (Pre-training & Fine-tuning)
- 3단계(Deep Learning)까지는 task 별로 모델을 다 따로 만들었어야해서 비효율적이었다. 이런 비효율성을 극복하고자 한 것이 4단계.
- 3단계의 Features를 뽑는 부분만 미리 잘 학습해놓고 (3단계의 Features -> 4단계의 Pre-trained model), task별로 mapping하는 부분만 살짝 학습을 하자 (3단계의 Mapping from features -> 4단계의 Fine-tuned model). 그래서 모델개발의 효율성을 높인 단계가 4단계.
5. SW 3.0 방식 (Big Model & zero/one/few shot)
- Pre-training을 많이 한 다음에 ( -> Big model), 실제로 기계가 어떤 task를 수행해야하는지를 문장으로 입력을 넣어줬더니 Fine-tuning 없이 기계가 알아서 task를 수행하더라 (또는 in-context learning이 되더라 또는 알아서 output을 생성해내더라) 라는게 5단계.
교사학습 vs 비교사학습 vs 강화학습
AI 발전 과정 5단계
이 외에도 Deep Learning 강의에서는 성능 고도화 방법 (e.g. 과적합, 최적화 알고리즘, 데이터 증강, etc.), 모델 구조들 (e.g. CNN (합성곱 신경망), RNN (순환 신경망), etc.) 등을 배웠습니다. 또한 PyTorch는 이번 강의를 통해서 처음 접했는데, 텐서조작, DNN/CNN/RNN 구현, 전이학습 등등에 관한 것들을 배웠습니다.
개인적으로 너무너무 유익한 강의들이었다고 생각하고, 평소에 대충 알고있던 개념들을 확실히 알 수 있음에 너무 좋은 강의들이었다고 생각합니다. 또한 각각의 이론들이 어떻게 시작됐나부터 깊게 파헤쳐서 이해시켜주는 강의라 앞으로도 종종 듣고 싶어질 강의들이었다고 생각합니다...!