CS182 Lecture 1: Introduction
전 세계에는 6000여개 이상의 언어가 존재하지만, 자동번역(automated translation)은 2개의 언어만을 요구한다.
번역 모델의 종류
1. standard machine translation
- 각각 언어 pair 별 번역 모델이 존재하며 각각의 모델 사용
2. multilingual machine translation
- 하나의 모델로 어떤 언어든 어떤 언어로 번역
- 효율성 증가
- zero shot machine translation: 영어 > 한국어, 한국어>일본어 하면 영어>일본어도 구할 수 있다
- 여러 언어들의 mix(40% 스페인어, 60% 프랑스어) language 구성 가능
- A언어를 B 언어로 번역한다고 할 때 A 언어를 thought로 바꾼 뒤 thought를 B언어로 바꾸는 식으로 작동한다.
thought is a representation
deep learining을 사용해 data로부터 이 thought를 잘 학습하면 모든 언어들의 원할한 번역이 가능하다. 따라서 thougth를 학습하는 representation learning 이 딥러닝 모델의 목표가 된다.
representation learining
- 이미지, 음성, 텍스트 등 복잡한 형태의 input을 thought로 변환시켜 representation화
- 딥러닝은 자동적으로 가능하단 것이 장점
machine learning
- picture > computer program > object label
- input과 output의 관계를 data로부터 찾아내는 것. 위의 경우 input은 picture이고 output은 object label이다.
computer program
- function(inputs와 outputs 로 이루어진 rules의 집합)으로 output을 산출한다.
- data로부터 관계를 찾아냄
- key idea: 만약 rules가 inputs가 outs를 매핑하여 표현하기에 복잡하고 수많은 특이케이스, 예외케이스를 묘사해야 한다면, rules를 정하는 것보다 data 또는 예시를 제공하는 것이 훨씬 쉬운 방법이다.
- 이때 computre program은 theta와 x로 이루어진 함수 형태로, 파라미터 theta를 학습해서 좋은 파라미터를 찾는 것이 목표이다.
shallow learing
- fixed function for extracting features from x
- 데이터로부터 어떠한 feature를 추출해 이를 기반으로 output label 구함
- 이때 y를 구하는 rule은 건들지 않고 feature를 어떻게 뽑을지만 관여한다.
- alexnet 등장 전까지의 대세
from shallow learing to deep learning
- 딥러닝의 경우 shallow learning과 다르게 feature를 어떻게 선택할지 사람이 관여하지 않고, input을 넣으면 여러 layer들이 feature를 뽑아내고 그 feature를 학습시켜 output을 구하는 end-to-end 방식이다.
- feature가 learned features로 바뀐다
- 각 layer별로 feature가 생성되는데이때 high level layer일 수록 feature는 아래와 같은 특징을 갖는다.
- more abstract
- more invariant to nuisances(분위기의 영향 감소)
- easier to predicting label
- 즉 초기 layer에서는 직선적 명확한 특징을 갖지만 갈수록 데이터의 추상적 개념을 잡아낸다.
so, what is deep learning?
- 여러 layer를 사용해서 representation을 학습하는 것
- from input to internal representation to output
- neural network = all of multi-layer parametric function
- 파라미터들은 대체로 accuracy 등의 overall task objective에 의해 학습된다.(end-to-end)
cf. 타임라인
- 1957 퍼셉트론
- 1970 nueral networks의 기본적 한계
- ~2000 shallow learing
- 1986 backpropagation
- 1989 LeNet
- ~2006 dnn 주목받기 시작
- 2012 alexnet(gpu 사용시작)
what makes deep learining work?
- big model with many layers: layer가 더 깊을수록 모델 성능이 더 좋다. 물론 깊을수록 기울기 소실 문제가 발생할 수 있으므로 항상 그런 것은 아니다.
- large datasets: 복잡하고 추상적인 feature들을 학습하기 위해 데이터가 많을수록 좋다. mnist, caltech, cifar, ilsvrc등이 있다.
- enough compute to handle all this: 큰 모델과 많은 데이터를 감당할 수 있는 성능
underlying themes
- model이 data에서 features를 자동으로 찾는 end-to-end 방식이 인간이 직접 feature를 만드는 것보다 정확하다
- 효과적인 학습을 위해 bias를 추가한다고 할 때, learning bias vs inductive bias
- 데이터가 좋아서 모델이 좋은 거냐 모델 디자인을 잘해서 모델 성능이 좋은거냐
- 해당 모델이 데이터의 구조를 잘 받아들일 수 있다면 그 모델의 성능이 더 좋다.
- algorithms that scale:
- data가 증가하고 representational capacity, 계산이 추가할 때에도 잘 작동
더 공부하고 싶은 내용
- cuda 사용법
- resnet의 residual connection
- gpt-4
'AI Theory > Lectures' 카테고리의 다른 글
tf.constant() 함수 (0) | 2022.09.26 |
---|