반응형

머신러닝&딥러닝 52

Neural Tangent Kernel 리뷰

이번에 리뷰할 Neural Tangent Kernel (NTK) 논문은 NIPS 2018에 실린 논문으로 많은 인용수를 자랑하는 파급력 높은 논문입니다. 하지만 논문을 이해하려면 수학적 배경지식이 많이 필요해서 읽기가 어렵습니다. 다행히 설명을 잘해놓은 외국 블로그([2])가 있어 많은 참고를 하였습니다. 이 논문은 2 hidden layer와 infinite nodes의 neural network는 linear model로 근사하여 생각할 수 있고, 그 덕분에 문제를 convex 하게 만들어 해가 반드시 존재한다는 것을 보여줍니다. 어떻게 linear model로 근사하여 생각할 수 있다는 것인지 차근차근 알아보겠습니다. Taylor Expansion Taylor expansion은 매우 작은 영역에서..

강화학습 기초 다지기 (2) - 강화학습 문제 풀이 기법 (DP, MC, TD)

강화 학습은 최적 가치 함수를 찾거나 그것을 만드는 좋은 정책을 찾는 것을 목표로 한다. 하지만 이는 쉽지 않다. 이를 풀기 위한 여러 가지 방법이 있는데 유명한 방법 몇 개만 정리한다. 첫 번째로 환경에 대해서 알 때 동적 계획법(Dynamic Programming: DP) 방법을 사용할 수 있다. '환경'에 대해서 안다는 것은 상태와 행동에 대한 보상 함수 R과 상태천이 행렬 P를 안다는 의미다. 이는 현실적이지 않다는 단점이 존재하지만 매우 효율적이고 문제를 해결하기 쉽다는 장점이 있다. 동적 계획법은 큰 문제를 분할한 작은 문제의 최적 값이 큰 문제에서도 최적 값이어야 한다. 또한 큰 문제의 해를 구하기 위해서, 작은 문제의 최적 해를 재사용할 수 있어야 한다. 이때, 정책 평가(Policy Ev..

강화학습 기초 다지기 (1) - 마르코프

마르코프는 강화 학습 기초에 꼭 등장하는 개념이다. 이번 글에서는 마르코프와 관련된 개념들을 정리할 것이다. 마르코프 특성 (Markov Property) '마르코프 하다'라는 것은 미래 상태 $s_{t+1}$은 현재 상태 $s_{t}$에만 의존한다는 것을 의미한다. 다른 말로 하면 현재 상태를 알면, 그 이전의 모든 역사를 아는 것과 동일하게 미래 상태 $s_{t+1}$를 추론할 수 있다는 의미다. 이를 수식으로 표현하면 다음과 같이 나타낼 수 있다. $$ P(s_{t+1}|s_{t}) = P(s_{t+1}|s_{t}, s_{t-1},..., s_{0}) $$ 마르코프 과정 (Markov Process - MP : $$) 마르코프 특성을 만족하는 상태의 반복을 마르코프 과정(Markov process)..

다양한 Hyperparameter Optimization 방법 리뷰

Machine Learning 알고리즘들은 강력한 성능을 보여주고 있다. 하지만 데이터가 커지면서 좋은 HyperParameter(HP)를 찾는 것은 점점 비용이 많이 드는 어려운 문제가 되었다. 보통 찾아야 하는 HP는 여러 개이고 그 범위가 클 수도 있기 때문에 좋은 HP 조합을 찾는 것은 어렵다. 이런 문제는 과거부터 있었고 다양한 방법이 제시되어왔다. 이에 대해 간단히 정리해본다. 1. Manual Search Manual search는 사용하기 쉬운 방법이다. 사용자가 경험적으로 괜찮다고 여기는 HP 조합을 선정하여 tuning을 하는 방식이다. 경험이 부족하면 사용하기 어렵고 자동화된 알고리즘이 아니라 사용자의 시간을 많이 쓸 수 있다는 단점이 있다. 2. Grid Search Grid sea..

Graph Neural Network 설명 - Introduction to GNN

이 글은 graph neural network의 원리를 이해하고 앞으로 공부해나가는데 도움을 주기 위한 목적으로 작성되었습니다. 그러므로 너무 상세한 내용은 제거하고 전체적인 구조를 이해하는데 초점을 뒀습니다. Graph 그래프는 많은 데이터가 가지고 있는 구조이다. 대표적으로 social graph, molecular graph 등이 있다. figure 1처럼 여러 개의 node(혹은 vertex)와 edge가 연결되어 있는 구조를 말한다. social graph 라면 node가 한 명의 사람이 될 수 있을 것이고 edge는 그 사이의 관계가 될 수 있다. 사람들은 각자의 개성을 가지고 있고 다르므로 node에 이런 정보를 담을 수 있으며 다른 사람과의 관계 또한 직장 동료, 친구, 가족, 원수지간까지..

Neural Network Pruning - 모델 경량화

Intro Pruning은 neural network를 경량화하고자 할 때 사용하는 방법입니다. Figure 1은 pruning을 잘 보여주는 그림입니다. 모든 node가 연결이 되어있던 왼쪽 그림으로 오른쪽과 같이 synapse(혹은 edge)와 neuron(혹은 node)를 없애는 것입니다. 당연히 무작정 없애면 안 되고 보통은 parameter가 0에 가깝다거나 훈련을 거의 안 했다거나 하는 지표를 가지고 판단하여 pruning 하게 됩니다. 실제로는 그림처럼 아예 없앤다고 이해하기보다 0으로 만들었다고 생각하면 됩니다. (이는 pruning 방법에 따라 아예 없앨 수도 있긴 합니다.) Method Structured vs Unstructured Pruning은 경량화를 위한 필수 방법인만큼 여러 ..

논문 리뷰: BatchEnsemble: An Alternative Approach to Efficient Ensemble and Lifelong Learning

"BatchEnsemble: An Alternative Approach to Efficient Ensemble and Lifelong Learning" (ICLR 2020) - Wen et al. 여러 모델을 사용하여 Ensemble을 하면 보통 single model을 사용하는 것보다 좋은 성능을 가져온다. 하지만 모델을 여러 개 training 해야 하므로 모델 개수만큼 computational cost가 발생하게 된다. 이번 논문은 이런 단점을 극복하기 위해 나온 논문이다. Introduction 여러 사람이 함께 문제를 풀면 더 좋은 결과를 가져오는 경우가 많다. 이런 직관적 이유에서인지 Ensemble 방법은 오래전부터 사용해왔다. 실제 performance가 좋았고 많은 연구가 되어왔다. 단점..

논문 리뷰: Bayesian Meta-Learning for the Few-Shot Setting via Deep Kernels

"Bayesian Meta-Learning for the Few-Shot Setting via Deep Kernels" (NIPS 2020) - M Patacchiola et al. Meta-learning 은 new task의 적은 데이터를 빠르게 학습시켜 test 데이터를 잘 맞추고 싶을 때 사용하는 알고리즘이다. 대표적인 방법으로 gradient based meta learning의 MAML이 있다. 이번 논문은 gaussian process를 사용한 model-based meta learning 방법이다. neural process는 gaussian process를 흉내 낸 방법인 반면 이 논문은 직접 사용한다는 차이점이 있다. Introduction MAML과 같은 gradient-based m..

Multi-task learning & Meta-learning

이번 글은 Multi-task learning과 Meta-learning 알고리즘 비교와 특징을 비교하여 설명한다. Multi-task learning은 처음 딥러닝을 공부할 때부터 많이 들어온 알고리즘이다. 알고리즘의 목적은 여러 task를 함께 풀어내어 좋은 성능을 내는 것이다. 여러 task를 함께 학습하여 general 한 feature를 뽑게 하여 학습에 도움을 주며 한 번에 여러 개를 풀 수 있으므로 efficient 한 장점이 있다. Meta-learning은 익숙하지 않은 경우가 많을 것 같다. 논문은 많이 나왔지만 실제 사용하여 문제를 푸는 경우는 거의 못봤기 때문인 것 같다. 알고리즘의 목적은 unseen task에 대해 few 개의 데이터를 주었을 때 그것을 빠르게 학습하도록 만드는 ..

논문 리뷰: multi-task learning using uncertainty to weigh losses for scene geometry and semantics

"multi-task learning using uncertainty to weigh losses for scene geometry and semantics" (CVPR 2018) - Gal et al. multi-task learning 시 loss는 여러 task에 대한 sum으로 주게 된다. 이때 loss를 주는 비율이 중요한데 보통은 hyper-parameter로 주어진다. 그런데 이 논문은 Uncertainty를 사용하여 weight를 learning 하게 해 줄 수 있는 방법을 제시한다. Introduction Multi-task learning은 여러 task를 한 번에 풀어내는 neural network를 만들어내므로 efficient 한 장점이 있으며 shared representatio..

반응형