본 강의는 유튜브에 올라와 있는 "시각적 이해를 위한 머신러닝"이라는 서울대 데이터 사이언스 대학원(GSDS) 강의를 보고 정리한 글입니다. 대학원을 다니지 않고도 이렇게 좋은 강의를 들을 수 있어서 강의를 공유해주신 이준석 교수님께도 너무 감사합니다. 초반 강의들은 시각적 이해 관련 설명을 하기 전이라 간단한 딥러닝에 대한 설명이 대부분입니다. 이전에 블로그에서 쓴 내용이랑 겹쳐서 링크만 걸어두고 가볍게 정리했습니다.
위 글은 알고 있는 내용은 제외하고 메모해두고 싶은 내용만 적어두었습니다. Loss Function & Optimization, DNN, 역전파에 대해 궁금하신 분은 [back-propagation 개념], [parameter와 hyperparameter]을 참고하시는게 좋을 것 같습니다.
3강. Loss Function & Optimization
기계가 결국 데이터 기반으로 어떤 판별능력을 학습하기 위해서는 W(가중치)라고 하는 숫자 연산들을 학습해야하고 이를 배우기 위해 필요한 접근법이 오늘 강의에서 배울 Optimization과 Loss Function이다.

1. Loss Function

Loss function 이 가져야하는 특징
1. 미분이 가능해야한다.
2. 정답에 가까울수록 작아져야하고, 정답과 틀릴수록 커져야 한다.
실제로 Loss Function이라는 것은 실질적인 Loss를 의미한다기 보다는 우리가 생각하는 Loss Function이 가져야하는 특징과 해당 문제의 도메인의 특성(ex. 분류대상의 갯수)을 가미해서 연구자가 정의한 함수라고 보는 것에 가깝다.
대표적인 Loss Function의 예시



2. Optimization
정답을 알려주는 W를 찾는데 있어서, Loss Function을 줄일 수 있도록 기울기 반대 방향으로 값을 조정하는 경사하강법을 사용한다.


- 종종 위 커브가 올라가는 경우가 있는데, 이는 연산량 & 시간 때문에 전체 loss를 측정하는게 아니라 batch에서의 loss를 측정하는 거라서 이상한 문제인 경우에는 이렇게 error rate가 올라가는 경우가 있다.
- 실제 이렇게 왔다갔다하기(noisy하기) 때문에 트레이닝을 마무리하는 시점을 프로그래밍하기가 어려운데 이에 대해서도 다양한 방법들이 존재한다.(Early Stopping 방법, 최근 10개의 평균보다 나빠지면 멈춘다 등 여러 조건을 걸어야 하고 어떻게 하느냐도 실험에 따라 매우 다양하다.)
3. Cross Validation
- 기계에게 우리가 학습시키려는건 학습데이터를 기억하는게 아니라 데이터에서 배울 수 있는 General한 패턴이다.
- 그래서, 별도로 이를 측정하기 위한 목적으로 별도의 데이터를 떼어두는게 중요하다.

4강. Neural network & Back propagation
사진이 너무 복잡하고 큰 데이터이기 때문에 딥러닝 이전까지는 사람들은 미리 이미지를 이해하는 Feature를 추출하고 이것과 label 사이의 Linear Classifier를 활용해왔다.

딥러닝 이후에는, Feature extraction까지 기계가 직접 학습시켜보게 하자는게 접근 방식

한 층에서의 역전파가 잘 설명된 그림이라서 캡쳐.
'Machine Learning > 공부 기록' 카테고리의 다른 글
랭체인 튜토리얼 (0) | 2024.01.31 |
---|---|
[허깅페이스] Diffusers Tutorial - 모델 사용하기 (0) | 2023.12.30 |
A/B 테스트에서의 양측검정 vs 단측검정 (0) | 2023.10.12 |
시각적 이해를 위한 머신러닝 5~7강 (1) | 2023.10.02 |
시각적 이해를 위한 머신러닝 1~2강 (Machine learning for Visual Understanding) (0) | 2023.09.28 |