2022. 8. 4. 21:40ㆍML, DL/CS182
CS 182: Deep Learning
Head uGSI Brandon Trabucco btrabucco@berkeley.edu Office Hours: Th 10:00am-12:00pm Discussion(s): Fr 1:00pm-2:00pm
cs182sp21.github.io
모델을 소개하며 언어 모델의 예시를 들었는데, A 언어에서 B 언어로 바꾸는 standard translation과 달리, 모든 언어의 쌍에 대해 translation이 가능한 multilingual model의 경우, 먼저 A 언어에서 "thought"로 바꾼 후 그 "thought"에서 B 언어로 바꾸는 식으로 작동한다고 한다. 그래서 이 "thought"가 곧 representation이 되고, deep learning을 사용해 data로부터 이 thought를 잘 학습한다면 모든 언어들에 대해 원활한 번역이 가능해진다.
결국, 이 "representation"을 잘 학습하는 것이 딥러닝 모델의 목표가 된다.
머신러닝은, input과 output 간의 어떤 관계를 data를 통해서 찾아내는 것이다. input을 어떤 output으로 변환해 주는 rule을 직접 개발하는 것이 아닌, 데이터로부터 찾아내는 것이다.
f는 input과 parameter로 이루어진 함수이고, 이 함수를 통해 output을 산출한다. 여기서 parameter는 학습 가능하다. 정확히는 이 parameter를 학습해서 좋은 parameter를 찾아내는 것이 목표이다.
더 자세한 이해를 위해, 먼저 "Shallow"한 learning을 살펴보자.
데이터로부터 어떠한 feature를 추출해 이를 이용해 output label을 구하는 것인데, y를 구하는 rule은 건들지 않으나 feature를 어떻게 뽑을지에 대해는 사람이 관여한다. 그러나, 좋은 feature를 구하는 것은 정말로 어렵다.
그러나 Deep learning에선 사람이 이를 설정해주지 않고, input을 넣으면 여러 layer들을 통해 여러 feature들을 뽑아내고 다시 그 뽑아낸 feature를 학습시켜서 output을 뽑는다(end-to-end learning).
이렇게 되면 자연스럽게 각 layer별로 feature들이 생성되는데, high-level feature일수록
- More abstract
- More invariant to nuisances
- Easier for predicting label
의 특징을 가진다. 위의 이미지에서 나온 feature의 시각화에서 알 수 있듯, 처음 layer에선 직선적인 명확한 특징을 드러내나 갈수록 코, 눈, 얼굴 등의 추상적인 개념을 잡아내는 모습을 보인다.
이렇게 여러 layer를 사용해서 representation을 학습하는 것이 deep learning이다.
모든 multi-layer parametric function은 neural network라고 불리고,
parameter들은 accurary 등의 overall task objective에 의해 학습된다(항상 그렇지는 않다).
딥러닝이 가능하게 해 주는 요소는 다음과 같다.
1. Big models with many layers - ILSVRC에서 더 깊은 모델이 더 적은 error rate를 기록하고 있다.
물론 항상 그런 것은 아니라고 한다.
2. Large datasets with many examples - 복잡하고 추상적인 feature들을 학습하기 위해선 보다 많은 데이터가 필요
ImageNet에는 1.5 million의 이미지가 있다.
3. Enough compute to handle all this - 계산 횟수가 성능과 비례하지는 않으나, 이 계산 능력을 감당할 수 있어야 함.
이와 관련된 2가지 견해가 있는데,
많은 데이터와 계산 능력이 필요하니 딥러닝은 비싸다! 라는 의견과
데이터와 계산 능력만 감당 가능하면 좋은 모델이 나오니 딥러닝은 좋은 방법이다! 라는 의견이 있다고 한다.
Underlying thema는 위와 같다.
- Model이 data로부터 feature를 자동적으로 찾게 하는 것이(end-to-end) 인간이 만든 feature보다 정확하다.
- 학습을 효과적으로 하기 위해 bias를 사용할 수도 있다. 그런데 이렇게 사전 지식을 주입시켜 주어야 하는가, 아니면 기계가 알아서 찾게 해야 하는가?
- Data가 증가하고 capacity가 더해질 때도 모델이 잘 작동하는 능력: Algorithms that scale
'ML, DL > CS182' 카테고리의 다른 글
[CS182] Lecture 4 - Optimization (0) | 2022.08.07 |
---|---|
[CS182] Lecture 3 - ML Basics 2 (0) | 2022.08.05 |
[CS182] Lecture 2 - ML Basics 1. (0) | 2022.08.04 |
[CS182] Lecture 6 - Convolutional Networks (0) | 2022.08.02 |
[CS182] Lecture 5 - Backpropagation (0) | 2022.08.02 |