SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Function
Approximation as
Supervised Learning
Sunggon Song
Contents
● Function Approximation: Parametric Approach
● Learning as Optimization
● When do we stop learning?
● Evaluation
● Linear Regression for Non-Linear Functions
2.1 Function Approximation(함수 근사값): Parametric
Approach
❏ Expected Cost Function(기대 비용함수)
❏ Empirical Cost Function(경험적 비용 함수)
2.1.1 Expected Cost Function(기대 비용 함수)
● f가 얼마나 잘 추정하는가?
○ y-hat이 출력 y로부터 얼마나 가까운지..
● y와의 차이인 D (y-hat, y)의 총합을 최소화 하는 θ를
찾는 것
● 불행히도 C(θ)는 (여러 가지 이유로) 정확하게 계산 될 수
없음
○ 그 중 가장 중요한 이유는 단순히 p 데이터가 무엇인지 알 수
없다는 것
2.1.2 Empirical Cost Function(경험적 비용 함수)
● 최종 목표는 기대 비용을 최소화하는 매개 변수 집합을
찾는 것
● 데이터 분포로부터 샘플에 접근 할 수 있기 때문에 Monte
Carlo 방법을 사용하여 기대 비용 함수 C(θ)를 근사화 할 수
있음
● 경험적 비용 함수는 쉽게 계산할 수 있기 때문에, 우리는
주로 기대 비용 함수가 아닌 경험적 비용 함수로 작업 할
것임
➢ Monte Carlo : 해석적 해를 구하기 어려운 다양한 분야의
문제를 확률모형과 난수를 이용하여 솔루션을 얻는
시뮬레이션 방법
2.2 Learning as Optimization(최적화 학습)
● Gradient-based Local Iterative Optimization
● Stochastic Gradient Descent
기대 비용을 최소화하는 매개 변수 집합을 찾는 과정
경험적 비용 함수 C를 입력 θ에 대해 최소화해야 함.
2.2.1 Gradient-based Local Iterative Optimization
● 함수의 기울기 ∇C가 줄어들어 0이 되는 방향으로 진행
● 학습률이라고 불리는, η는 GD 알고리즘의 가장 중요한
하이퍼 매개 변수 중 하나로 너무 크면 발산(over-shoot)
하게 되고, 너무 작으면 최소값을 찾지 못하고 학습을
종료하거나 너무 오래 걸리게 됨
2.2.2 Stochastic Gradient Descent(확률 적 경사 하강)
● 훈련 세트의 크기가 커지면서 C 및 ∇C를 계산하는 것이
점점 더 많은 계산이 요구됨. 각 GD 단계에 관련된이
엄청난 계산 비용으로 개선하기 위해 SGD 알고리즘이
생김
● SGD는 모든 데이터의 gradient를 평균내어 gradient
update를 하는 대신 ( ‘full batch’), 무작위 선택된 일부의
데이터로 ‘mini batch’를 형성하여 한 batch에 대한
gradient만을 계산하여 전체 parameter를 update하기
때문에 학습시간에 효율이 높음
2.2.2 Mini-batch
● TRAIN_SIZE:60000
● EPOCH_NUM=30
○ 학습용 데이터 전체를 한 번
사용했을 때 = 1 EPOCH
TRAIN_SIZE = x_train.shape[0]
BATCH_SIZE = 100 # 미니배치 크기
learning_rate = 0.1
EPOCH_NUM = 30
ITERS_NUM = EPOCH_NUM * int(TRAIN_SIZE / BATCH_SIZE)
print("TRAIN_SIZE:" + str(TRAIN_SIZE))
print("EPOCH_NUM:" + str(EPOCH_NUM))
print("BATCH_SIZE:" + str(BATCH_SIZE))
print("ITERS_NUM:" + str(ITERS_NUM))
for i in range(ITERS_NUM):
# 미니배치 획득
batch_mask = np.random.choice(TRAIN_SIZE, BATCH_SIZE)
x_batch = x_train[batch_mask]
t_batch = t_train[batch_mask]
...
Batch size ITERS_NUM Elapsed time training log
1 1800000 real 19m19.448s
user 40m4.232s
sys 77m0.652s
train acc, test acc | 0.0993, 0.1032
train acc, test acc | 0.9542, 0.9507
…
train acc, test acc | 0.99195, 0.9685
5 360000 real 2m52.016s
user 3m40.040s
sys 0m52.504s
train acc, test acc | 0.11043333333333333, 0.1108
train acc, test acc | 0.9443333333333334, 0.9453
…
train acc, test acc | 0.9983666666666666, 0.9749
10 180000 real 3m27.129s
user 8m41.528s
sys 13m22.132s
train acc, test acc | 0.0993, 0.1032
train acc, test acc | 0.9283333333333333, 0.9295
…
train acc, test acc | 0.9949833333333333, 0.9734
50 36000 real 1m51.819s
user 5m59.132s
sys 5m43.676s
train acc, test acc | 0.09736666666666667, 0.0982
train acc, test acc | 0.8735833333333334, 0.8783
…
train acc, test acc | 0.9770833333333333, 0.969
100 18000 real 1m49.133s
user 5m45.224s
sys 5m30.992s
train acc, test acc | 0.09035, 0.0892
train acc, test acc | 0.7869, 0.7886
…
train acc, test acc | 0.9620166666666666, 0.9573
600 3000 real 1m29.113s
user 4m40.844s
sys 4m16.912s
train acc, test acc | 0.09915, 0.1009
train acc, test acc | 0.11305, 0.1146
…
train acc, test acc | 0.9144666666666666, 0.9174
30000 60 real 1m43.637s
user 5m4.224s
sys 3m47.648s
train acc, test acc | 0.0993, 0.1032
train acc, test acc | 0.11236666666666667, 0.1135
…
train acc, test acc | 0.11236666666666667, 0.1135
2.3 When do we stop learning?
● Early Stopping
● Model Selection
SGD를 사용하여 대부분의 경우 매개 변수 세트를 반복적으로
정제하여 함수를 근사화
하지만 경험적 비용 함수의 최소값이 기대 비용 함수의 최소값과
일치한다는 보장이 없음
경험적 비용 함수를 완벽하게 최소화하는 매개 변수는 우리가
실제로 신경을 쓰는 기대 비용 함수에 대한 차선의 비용 일
가능성이 높음
2.3.1 Early Stopping(조기 중지)
● 조기 중지 - 모순을 피하는 방법으로 반복 최적화가 사용될 때만
적용
● 훈련 세트 (training set)와 검증 세트 (validation set)로
2세트로 나눔
● SGD (또는 GD)를 사용하여 몇 번씩 업데이트를 수행하면
유효성 검증 비용 함수는 현재 매개 변수 세트로 평가됨
● 단순성과 효율성으로 인해 초기 학습 중지 전략은 심층
학습과 일반 기계 학습에서 사실상 표준
● 명시 적으로 훈련 비용 함수를 최적화한다는 사실은이
최적화 과정에서 발견 된 매개 변수 세트가 관측 및
분석에서의 잡음을 포착 할 가능성이 있다는 것을 의미
2.3.2 Model Selection-1
● 최적화 또는 학습의 전체 과정은 가설의 전체 공간 H에 대한 최선의 가설을 찾는 과정
● 회귀의 경우, 가설 공간은 n 차 다항식 함수를 포함
● 신경망의 경우 이 공간에는 레이어 수, 비선형 성 유형, 각 레이어의 숨겨진 단위 수 등으로
정의되는 가능한 모든 모델 아키텍처가 포함
● 기대 비용 함수의 정의가 주어지면, 각 가설 M에 해당 비용 CM으로 점수를매길 수 있음
● 함수 근사화의 전체 목표는 최소 기대 비용 함수 C를 가진 가설 M을 찾는 것
2.3.2 Model Selection-2
● 오버 피팅 (overfitting)은 최적화 알고리즘이 기대 비용 함수의 국소 최소값을 초과하여
놓쳤다는 것을 의미하며 (경험적 비용 함수의 지역 최소값을 목표로했기 때문에) Validation
확인 비용을 기반으로 조기 정지 개념을 도입
● 전체 가설 공간 H의 작은 부분 집합 안에서 가장 좋은 가설만? 가설 공간의 또 다른 부분 집합이
기본 생성 함수 f에 더 잘 맞는 함수를 포함한다면?
2.3.2 Model Selection-3
● 가설 공간의 여러 부분 집합을 시도
○ 회귀 과제의 경우 선형 함수 (H1), 2 차 (2 차 다항식) 함수 (H2) 및 사인파 함수 (H3)를 사용
○ 각 하위 집합에 대해 반복 최적화 및 조기 정지를 사용하여 가장 좋은 가설을 선택
● 가설 중 하나를 어떻게 선택해야 하는가?
● 가장 작은 검증 비용 C val (M)을 가진 것을 선택
2.4 Evaluation
● 학습 된 함수 추정 f가 얼마나 근접 하는지를 알기위한 또 다른 메트릭이 필요
● 트레이닝세트를 두 개의 파티션이아니라세 개의 파티션으로분할해야 함
○ 훈련 세트 D-train, 검증 세트 D-val 및 시험 세트 D-test
● 훈련 비용 함수 C train, 검증 비용 함수 C val, 시험 비용 함수 C test를 포함
○ 이 테스트 비용 함수는 다른 가설이나 모델을 공정하게비교하는 데 사용
● 테스트 비용 측면에서 가장 효과가 있었다는 가설 선택
2.5 Linear Regression for Non-Linear Functions
아래와 같은 진정한 생성 함수를 근사화하는 간단한 선형 함수로 시작
W 은 가중치 행렬이고 이 가중치 행렬은 유일한 파라미터, 즉 θ = {W}
경험적 비용 함수
경험적 비용 함수의 기울기
경험적 비용 함수를 최소화하는 최상의 W를 찾기 위해 GD 또는 SGD와 같은 반복 최적화 알고리즘을 사용
또는 Validation 세트를 사용하여 최소 Validation 검사 비용 시점에서 최적화 알고리즘을 중지
2.5.1 Feature Extraction
● 왜 우리는 만족하지 못하는 걸까요?
● 첫째, 우리는 진정한 생성 함수 f가 선형 함수인지 여부를 확신하지 못함
● 둘째, 우리는 x가 주어 졌기 때문에 x가 입력을 얼마나 잘 나타내는 지 불분명
○ 예를들어, 에어 컨디셔너의 판매 예측
■ 입력x는 상점개업날짜이후의일 수
■ 출력y는 매일판매되는단위수
■ x와 y 사이의관계는선형적이지않음
● 에어컨판매량을예측하는데 가장중요한feature은 입력x에서빠지기때문
● 겨울철에판매가바닥을치고
● 여름철(5 월, 6 월 및 7 월경) 최고조
■ m (x) ∈ {1,2, ..., 12}는 x의 달이고α는 5
■ 예측성능을향상시킬수있는또 다른feature을 추가(예 요일)
2.5.1 Feature Extraction
● 파라 메트릭 함수 패밀리를 선택하게 될 좋은 일련의 Feature를 추출하는 전체
프로세스를 Feature Extraction이라고합니다.
● 이 Feature Extraction은 기계 학습에서 중요한 단계이며 컴퓨터 비전과 같은 많은 응용
프로그램의 핵심 부분에 있습니다 (대표적인 예는 SIFT).
● Feature Extraction은 종종 이 함수 근사가 적용되는 도메인에 대한 많은 지식이
필요
● 컴퓨터 비전에 선형 회귀를 사용하려면 관련 지식을 사용하여 적절한 feature 세트를 추출 필요
● 도메인 지식이 충분하지 않은 경우는 적절한Feature추출 실패할 수 있음
SIFT(Scale Invariant Feature Transform)
● SIFT는 영상에서 코너점 등 식별이 용이한 특징점들을 선택한 후에 각 특징점을 중심으로 한 로컬 패치(local
patch)에 대해 아래 그림과 같은 특징 벡터를 추출
● SIFT는 기본적으로 특징점 주변의 로컬한 gradient 분포특성(밝기 변화의 방향 및 밝기 변화의 급격한 정도)을
표현하는 feature이다.
● SIFT를 포함한 SURF, ORB 등의 local feature들은 대상의 크기변화, 형태변화, 방향(회전)변화에 강인하면서도
구분력이 뛰어난 어찌보면 서로 상충되는 목표를 동시에 만족시키고자 개발된 것들로서 통상적으로 원래 물체의
기하학적 정보는 무시하고 특징점 단위로 혹은 코드북(code book) 단위로 매칭을 수행한다.
Reference
https://www.quora.com/What-is-the-perf
ect-definition-of-bin-and-whats-the-differe
nce-between-feature-and-keypoint-in-SIFT
-algorithm
https://github.com/nyu-dl/NLP_DL_Lectu
re_Note/blob/master/lecture_note.pdf

Contenu connexe

Similaire à Function approximation as supervised learning

Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...gohyunwoong
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow양 한빛
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델Seong-Bok Lee
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basicsJinho Lee
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작DACON AI 데이콘
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsKyeongUkJang
 
DevRookie 리펙터링.pptx
DevRookie 리펙터링.pptxDevRookie 리펙터링.pptx
DevRookie 리펙터링.pptxMUUMUMUMU
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregressionHaYoungChoi17
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexityskku_npc
 
4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)Haesun Park
 
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)Amazon Web Services Korea
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Ki-Hwan Kim
 
DMA 아이디어 제출용.pptx
DMA 아이디어 제출용.pptxDMA 아이디어 제출용.pptx
DMA 아이디어 제출용.pptxssuser0e717a
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
C++ 프로젝트에 단위 테스트 도입하기
C++ 프로젝트에 단위 테스트 도입하기C++ 프로젝트에 단위 테스트 도입하기
C++ 프로젝트에 단위 테스트 도입하기Heo Seungwook
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptxultrasuperrok
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient태영 정
 

Similaire à Function approximation as supervised learning (20)

Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep models
 
DevRookie 리펙터링.pptx
DevRookie 리펙터링.pptxDevRookie 리펙터링.pptx
DevRookie 리펙터링.pptx
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregression
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
 
4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)
 
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)
딥러닝계의 블루오션, Apache MXNet 공헌하기 - 윤석찬 (AWS 테크에반젤리스트) 오규삼 (삼성 SDS)
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
 
DMA 아이디어 제출용.pptx
DMA 아이디어 제출용.pptxDMA 아이디어 제출용.pptx
DMA 아이디어 제출용.pptx
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
C++ 프로젝트에 단위 테스트 도입하기
C++ 프로젝트에 단위 테스트 도입하기C++ 프로젝트에 단위 테스트 도입하기
C++ 프로젝트에 단위 테스트 도입하기
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx
코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient
 

Plus de Sunggon Song

K8s in action chap15
K8s in action chap15K8s in action chap15
K8s in action chap15Sunggon Song
 
랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션Sunggon Song
 
서포트 벡터머신
서포트 벡터머신서포트 벡터머신
서포트 벡터머신Sunggon Song
 
대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크Sunggon Song
 
데이터처리와 통계 기본 머신러닝
데이터처리와 통계 기본 머신러닝데이터처리와 통계 기본 머신러닝
데이터처리와 통계 기본 머신러닝Sunggon Song
 
합성곱 신경망
합성곱 신경망합성곱 신경망
합성곱 신경망Sunggon Song
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
함수형사고 실용적사고
함수형사고 실용적사고함수형사고 실용적사고
함수형사고 실용적사고Sunggon Song
 
함수형사고 3장 양도하라
함수형사고 3장 양도하라함수형사고 3장 양도하라
함수형사고 3장 양도하라Sunggon Song
 
7가지 동시성 모델 람다아키텍처
7가지 동시성 모델  람다아키텍처7가지 동시성 모델  람다아키텍처
7가지 동시성 모델 람다아키텍처Sunggon Song
 
7가지 동시성 모델-2장
7가지 동시성 모델-2장7가지 동시성 모델-2장
7가지 동시성 모델-2장Sunggon Song
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장Sunggon Song
 

Plus de Sunggon Song (15)

K8s in action chap15
K8s in action chap15K8s in action chap15
K8s in action chap15
 
랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션랜덤Walks, 몬테카를로 시뮬레이션
랜덤Walks, 몬테카를로 시뮬레이션
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
서포트 벡터머신
서포트 벡터머신서포트 벡터머신
서포트 벡터머신
 
대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크
 
데이터처리와 통계 기본 머신러닝
데이터처리와 통계 기본 머신러닝데이터처리와 통계 기본 머신러닝
데이터처리와 통계 기본 머신러닝
 
합성곱 신경망
합성곱 신경망합성곱 신경망
합성곱 신경망
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
함수형사고 실용적사고
함수형사고 실용적사고함수형사고 실용적사고
함수형사고 실용적사고
 
함수형사고 3장 양도하라
함수형사고 3장 양도하라함수형사고 3장 양도하라
함수형사고 3장 양도하라
 
7가지 동시성 모델 람다아키텍처
7가지 동시성 모델  람다아키텍처7가지 동시성 모델  람다아키텍처
7가지 동시성 모델 람다아키텍처
 
7가지 동시성 모델-2장
7가지 동시성 모델-2장7가지 동시성 모델-2장
7가지 동시성 모델-2장
 
Ddd start 10장
Ddd start 10장Ddd start 10장
Ddd start 10장
 
DDD start 1장
DDD start 1장DDD start 1장
DDD start 1장
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
 

Dernier

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 

Dernier (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 

Function approximation as supervised learning

  • 2. Contents ● Function Approximation: Parametric Approach ● Learning as Optimization ● When do we stop learning? ● Evaluation ● Linear Regression for Non-Linear Functions
  • 3. 2.1 Function Approximation(함수 근사값): Parametric Approach ❏ Expected Cost Function(기대 비용함수) ❏ Empirical Cost Function(경험적 비용 함수)
  • 4. 2.1.1 Expected Cost Function(기대 비용 함수) ● f가 얼마나 잘 추정하는가? ○ y-hat이 출력 y로부터 얼마나 가까운지.. ● y와의 차이인 D (y-hat, y)의 총합을 최소화 하는 θ를 찾는 것 ● 불행히도 C(θ)는 (여러 가지 이유로) 정확하게 계산 될 수 없음 ○ 그 중 가장 중요한 이유는 단순히 p 데이터가 무엇인지 알 수 없다는 것
  • 5. 2.1.2 Empirical Cost Function(경험적 비용 함수) ● 최종 목표는 기대 비용을 최소화하는 매개 변수 집합을 찾는 것 ● 데이터 분포로부터 샘플에 접근 할 수 있기 때문에 Monte Carlo 방법을 사용하여 기대 비용 함수 C(θ)를 근사화 할 수 있음 ● 경험적 비용 함수는 쉽게 계산할 수 있기 때문에, 우리는 주로 기대 비용 함수가 아닌 경험적 비용 함수로 작업 할 것임 ➢ Monte Carlo : 해석적 해를 구하기 어려운 다양한 분야의 문제를 확률모형과 난수를 이용하여 솔루션을 얻는 시뮬레이션 방법
  • 6. 2.2 Learning as Optimization(최적화 학습) ● Gradient-based Local Iterative Optimization ● Stochastic Gradient Descent 기대 비용을 최소화하는 매개 변수 집합을 찾는 과정 경험적 비용 함수 C를 입력 θ에 대해 최소화해야 함.
  • 7. 2.2.1 Gradient-based Local Iterative Optimization ● 함수의 기울기 ∇C가 줄어들어 0이 되는 방향으로 진행 ● 학습률이라고 불리는, η는 GD 알고리즘의 가장 중요한 하이퍼 매개 변수 중 하나로 너무 크면 발산(over-shoot) 하게 되고, 너무 작으면 최소값을 찾지 못하고 학습을 종료하거나 너무 오래 걸리게 됨
  • 8. 2.2.2 Stochastic Gradient Descent(확률 적 경사 하강) ● 훈련 세트의 크기가 커지면서 C 및 ∇C를 계산하는 것이 점점 더 많은 계산이 요구됨. 각 GD 단계에 관련된이 엄청난 계산 비용으로 개선하기 위해 SGD 알고리즘이 생김 ● SGD는 모든 데이터의 gradient를 평균내어 gradient update를 하는 대신 ( ‘full batch’), 무작위 선택된 일부의 데이터로 ‘mini batch’를 형성하여 한 batch에 대한 gradient만을 계산하여 전체 parameter를 update하기 때문에 학습시간에 효율이 높음
  • 9. 2.2.2 Mini-batch ● TRAIN_SIZE:60000 ● EPOCH_NUM=30 ○ 학습용 데이터 전체를 한 번 사용했을 때 = 1 EPOCH TRAIN_SIZE = x_train.shape[0] BATCH_SIZE = 100 # 미니배치 크기 learning_rate = 0.1 EPOCH_NUM = 30 ITERS_NUM = EPOCH_NUM * int(TRAIN_SIZE / BATCH_SIZE) print("TRAIN_SIZE:" + str(TRAIN_SIZE)) print("EPOCH_NUM:" + str(EPOCH_NUM)) print("BATCH_SIZE:" + str(BATCH_SIZE)) print("ITERS_NUM:" + str(ITERS_NUM)) for i in range(ITERS_NUM): # 미니배치 획득 batch_mask = np.random.choice(TRAIN_SIZE, BATCH_SIZE) x_batch = x_train[batch_mask] t_batch = t_train[batch_mask] ... Batch size ITERS_NUM Elapsed time training log 1 1800000 real 19m19.448s user 40m4.232s sys 77m0.652s train acc, test acc | 0.0993, 0.1032 train acc, test acc | 0.9542, 0.9507 … train acc, test acc | 0.99195, 0.9685 5 360000 real 2m52.016s user 3m40.040s sys 0m52.504s train acc, test acc | 0.11043333333333333, 0.1108 train acc, test acc | 0.9443333333333334, 0.9453 … train acc, test acc | 0.9983666666666666, 0.9749 10 180000 real 3m27.129s user 8m41.528s sys 13m22.132s train acc, test acc | 0.0993, 0.1032 train acc, test acc | 0.9283333333333333, 0.9295 … train acc, test acc | 0.9949833333333333, 0.9734 50 36000 real 1m51.819s user 5m59.132s sys 5m43.676s train acc, test acc | 0.09736666666666667, 0.0982 train acc, test acc | 0.8735833333333334, 0.8783 … train acc, test acc | 0.9770833333333333, 0.969 100 18000 real 1m49.133s user 5m45.224s sys 5m30.992s train acc, test acc | 0.09035, 0.0892 train acc, test acc | 0.7869, 0.7886 … train acc, test acc | 0.9620166666666666, 0.9573 600 3000 real 1m29.113s user 4m40.844s sys 4m16.912s train acc, test acc | 0.09915, 0.1009 train acc, test acc | 0.11305, 0.1146 … train acc, test acc | 0.9144666666666666, 0.9174 30000 60 real 1m43.637s user 5m4.224s sys 3m47.648s train acc, test acc | 0.0993, 0.1032 train acc, test acc | 0.11236666666666667, 0.1135 … train acc, test acc | 0.11236666666666667, 0.1135
  • 10. 2.3 When do we stop learning? ● Early Stopping ● Model Selection SGD를 사용하여 대부분의 경우 매개 변수 세트를 반복적으로 정제하여 함수를 근사화 하지만 경험적 비용 함수의 최소값이 기대 비용 함수의 최소값과 일치한다는 보장이 없음 경험적 비용 함수를 완벽하게 최소화하는 매개 변수는 우리가 실제로 신경을 쓰는 기대 비용 함수에 대한 차선의 비용 일 가능성이 높음
  • 11. 2.3.1 Early Stopping(조기 중지) ● 조기 중지 - 모순을 피하는 방법으로 반복 최적화가 사용될 때만 적용 ● 훈련 세트 (training set)와 검증 세트 (validation set)로 2세트로 나눔 ● SGD (또는 GD)를 사용하여 몇 번씩 업데이트를 수행하면 유효성 검증 비용 함수는 현재 매개 변수 세트로 평가됨 ● 단순성과 효율성으로 인해 초기 학습 중지 전략은 심층 학습과 일반 기계 학습에서 사실상 표준 ● 명시 적으로 훈련 비용 함수를 최적화한다는 사실은이 최적화 과정에서 발견 된 매개 변수 세트가 관측 및 분석에서의 잡음을 포착 할 가능성이 있다는 것을 의미
  • 12. 2.3.2 Model Selection-1 ● 최적화 또는 학습의 전체 과정은 가설의 전체 공간 H에 대한 최선의 가설을 찾는 과정 ● 회귀의 경우, 가설 공간은 n 차 다항식 함수를 포함 ● 신경망의 경우 이 공간에는 레이어 수, 비선형 성 유형, 각 레이어의 숨겨진 단위 수 등으로 정의되는 가능한 모든 모델 아키텍처가 포함 ● 기대 비용 함수의 정의가 주어지면, 각 가설 M에 해당 비용 CM으로 점수를매길 수 있음 ● 함수 근사화의 전체 목표는 최소 기대 비용 함수 C를 가진 가설 M을 찾는 것
  • 13. 2.3.2 Model Selection-2 ● 오버 피팅 (overfitting)은 최적화 알고리즘이 기대 비용 함수의 국소 최소값을 초과하여 놓쳤다는 것을 의미하며 (경험적 비용 함수의 지역 최소값을 목표로했기 때문에) Validation 확인 비용을 기반으로 조기 정지 개념을 도입 ● 전체 가설 공간 H의 작은 부분 집합 안에서 가장 좋은 가설만? 가설 공간의 또 다른 부분 집합이 기본 생성 함수 f에 더 잘 맞는 함수를 포함한다면?
  • 14. 2.3.2 Model Selection-3 ● 가설 공간의 여러 부분 집합을 시도 ○ 회귀 과제의 경우 선형 함수 (H1), 2 차 (2 차 다항식) 함수 (H2) 및 사인파 함수 (H3)를 사용 ○ 각 하위 집합에 대해 반복 최적화 및 조기 정지를 사용하여 가장 좋은 가설을 선택 ● 가설 중 하나를 어떻게 선택해야 하는가? ● 가장 작은 검증 비용 C val (M)을 가진 것을 선택
  • 15. 2.4 Evaluation ● 학습 된 함수 추정 f가 얼마나 근접 하는지를 알기위한 또 다른 메트릭이 필요 ● 트레이닝세트를 두 개의 파티션이아니라세 개의 파티션으로분할해야 함 ○ 훈련 세트 D-train, 검증 세트 D-val 및 시험 세트 D-test ● 훈련 비용 함수 C train, 검증 비용 함수 C val, 시험 비용 함수 C test를 포함 ○ 이 테스트 비용 함수는 다른 가설이나 모델을 공정하게비교하는 데 사용 ● 테스트 비용 측면에서 가장 효과가 있었다는 가설 선택
  • 16. 2.5 Linear Regression for Non-Linear Functions 아래와 같은 진정한 생성 함수를 근사화하는 간단한 선형 함수로 시작 W 은 가중치 행렬이고 이 가중치 행렬은 유일한 파라미터, 즉 θ = {W} 경험적 비용 함수 경험적 비용 함수의 기울기 경험적 비용 함수를 최소화하는 최상의 W를 찾기 위해 GD 또는 SGD와 같은 반복 최적화 알고리즘을 사용 또는 Validation 세트를 사용하여 최소 Validation 검사 비용 시점에서 최적화 알고리즘을 중지
  • 17. 2.5.1 Feature Extraction ● 왜 우리는 만족하지 못하는 걸까요? ● 첫째, 우리는 진정한 생성 함수 f가 선형 함수인지 여부를 확신하지 못함 ● 둘째, 우리는 x가 주어 졌기 때문에 x가 입력을 얼마나 잘 나타내는 지 불분명 ○ 예를들어, 에어 컨디셔너의 판매 예측 ■ 입력x는 상점개업날짜이후의일 수 ■ 출력y는 매일판매되는단위수 ■ x와 y 사이의관계는선형적이지않음 ● 에어컨판매량을예측하는데 가장중요한feature은 입력x에서빠지기때문 ● 겨울철에판매가바닥을치고 ● 여름철(5 월, 6 월 및 7 월경) 최고조 ■ m (x) ∈ {1,2, ..., 12}는 x의 달이고α는 5 ■ 예측성능을향상시킬수있는또 다른feature을 추가(예 요일)
  • 18. 2.5.1 Feature Extraction ● 파라 메트릭 함수 패밀리를 선택하게 될 좋은 일련의 Feature를 추출하는 전체 프로세스를 Feature Extraction이라고합니다. ● 이 Feature Extraction은 기계 학습에서 중요한 단계이며 컴퓨터 비전과 같은 많은 응용 프로그램의 핵심 부분에 있습니다 (대표적인 예는 SIFT). ● Feature Extraction은 종종 이 함수 근사가 적용되는 도메인에 대한 많은 지식이 필요 ● 컴퓨터 비전에 선형 회귀를 사용하려면 관련 지식을 사용하여 적절한 feature 세트를 추출 필요 ● 도메인 지식이 충분하지 않은 경우는 적절한Feature추출 실패할 수 있음
  • 19. SIFT(Scale Invariant Feature Transform) ● SIFT는 영상에서 코너점 등 식별이 용이한 특징점들을 선택한 후에 각 특징점을 중심으로 한 로컬 패치(local patch)에 대해 아래 그림과 같은 특징 벡터를 추출 ● SIFT는 기본적으로 특징점 주변의 로컬한 gradient 분포특성(밝기 변화의 방향 및 밝기 변화의 급격한 정도)을 표현하는 feature이다. ● SIFT를 포함한 SURF, ORB 등의 local feature들은 대상의 크기변화, 형태변화, 방향(회전)변화에 강인하면서도 구분력이 뛰어난 어찌보면 서로 상충되는 목표를 동시에 만족시키고자 개발된 것들로서 통상적으로 원래 물체의 기하학적 정보는 무시하고 특징점 단위로 혹은 코드북(code book) 단위로 매칭을 수행한다.