『NTN으로 시작하는 자연어처리와 딥러닝』
개념을 이해하기 위해서 간단하게 짚고 넘어가고자 핵심 키워드와 용어 들을 정리하였습니다. 이후에 소개하게 되는 내용에 대한 간략하게 먼저 설명하는 것이므로 쭉 읽어보고 넘어가시면 됩니다. 일종의 부록 사전 느낌으로 정리하였습니다.
NTN에서 다루는 NLP, Deep Learning 핵심 개념
NTN은 Neural Tensor Network의 약자로 스탠포드 대학교 교수인 Richard Socher (2013)가 "Reasoning With Neural Tensor Networks for Knowledge Base Completion"에서 지식을 넘어선 추론(Reasoning Over Knowledge)을 위해 제시한 딥러닝 모델입니다.
핵심 Keywords & Terms
논문에서 사용된 핵심 KEYWORDS는 다음과 같습니다. 내용의 이해를 위해서는 각 keyword, term들이 의미하는 바에 대한 사전 이해가 필요합니다.
NLP를 위한 기법으로 딥러닝을 사용하기 때문에 사실 NLP와 Deep Learning을 명확하게 구분지을 수 없으나 여기에서는 자연어처리와 관련된 문제에 대한 것과 관련이 있으면 NLP로 머신러닝의 일반적인 Learning technique과 가까운 것들을 Deep Learning으로 분류하였습니다.
NLP
- Word Vector Representation
- Semantic Word Vector Space
- Distance model
- Single Layer model
- Hadamard model
- Bilinear model
- contrastive max-margin objective function
- link prediction / relationship prediction
Deep Learning
- nonlinearity function
- scoring function
- L2 regularization
- L-BFGS, AdaGrad Optimization
- non-convex objective function
- threshold
- cross-validate
1. NLP keywords and terms 살펴보기
1-1) Word Vector Representation
우리가 사용하는 언어가 가진 단어의 개수는 굉장히 많기 때문에 one-hot encoding 방식으로는 수 많은 단어 차원(feature)에 대한 표현이 어려습니다(+ 단어 벡터 내적의 합이 0이 되어 단어가 유사성 발견이 어려운 문제 등을 포함)
일반적으로 단어의 의미적인 특성을 포함하는 분산화된 형태로 저차원의 벡터로 표현(word representation)하는 방법을 말합니다.
1-2) Semantic Word Vector Space
1-3) Distance model
1-4) Single Layer model
신경망 모형에서 말하는 퍼셉트론입니다. 퍼셉트론은 다음 포스트에서 상세한 내용을 살펴볼 수 있습니다. 일반적으로 g(Θ*W)의 형태를 말합니다.
☞ NTN에서는 거리 모델이 선형적이어서 nonlinearity를 위해 neural network를 사용하였고 이는 또 이후에 다루도록 하겠습니다.
1-5) Hadamard model
1-6) Bilinear Model
1-7) contrastive max-margin objective function
1-8) link prediction / relationship prediction
2. Deep Learning keywords and terms 살펴보기
2-1) nonlinearity function
게다가 hyper tangent를 비선형 함수를 사용하는데 back propagation을 사용하는 모델의 특성상 미분이 가능해야 하고, 미분 오차의 값을 전달했을 때 정보 손실이 적어야 하기 때문에 비선형 함수를 사용한다고 볼 수 있습니다.
2-2) scoring function
scoring function은 score를 계산하는 함수라는 의미인데 여기서 score라 함은 입력된 변수의 값과 파라미터의 값의 계산에 의해서 나타나는 singular 값이라고 할 수 있습니다. 해결하는 문제에 따라서 score 역시 정의가 달라집니다.
☞ NTN에서는 score가 의미하는 것은 거리상의 가까움을 뜻합니다. 앞에서 말한 것처럼 score가 클수록 거리가 가깝고 유사성이 높은 것으로 봅니다.
2-3) L2 Regularization
L2 Regularization은 과적합(Overffiting) 문제를 피하기 위해 사용되는 정규화 기법 중 하나로 parameter(또는 feature)들이 미치는 영향력을 줄여서 미세하지만 중요한 역할을 하는 변수/요인들의 영향도 고려할 수 있도록 하는 기법입니다. L2는 그러한 정규화 기법중 하나로 손실함수 또는 목적함수를 계산할 때 미리 설정한 λ(람다)에 오차를 더해 전체 손실(loss) 값을 높이는 것으으로 일종의 noise 또는 bias를 추가하는 방법이라고 볼 수 있습니다. 람다 값이 너무 커지면 underfitting 될 수 있어 초기 람다 값 설정이 중요합니다.
2-4) L-BFGS, AdadGrad
머신러닝에서 학습한다는 의미는 설정한 모델의 파라미터들을 조정하면서 최적의 모델을 만들어 나가는 것이라고 할 수 있습니다. 최적의 모델을 만들기 위한 최적화 Optimization는 머신러닝에서 중요한 문제입니다. 주로 사용하는 방법은 Gradient Descent 방법으로 학습 시점마다의 손실에 대한 기울기를 계산하여 손실이 적어지는 방향으로 파라미터를 조정하는 것입니다.
처음에는 Gradient Descent 방법을 사용했지만 전체 한 번의 학습을 위해서 전체 데이터 셋에 대하여 손실을 계산하기 때문에 계산이 많아 학습 데이터가 큰 경우에는 사용하기 어렵다는 문제가 있습니다. 따라서 더 빠른 최적화 기법들이 등장하였고 L-BFGS와 AdadGrad가 그러한 최적화 기법들입니다.최근에는 Stochastic Gradient Descent 방법, Adam 등이 많이 사용되고 있습니다.
2-5) Non-convex function
convex function(위)과 non-convex function(아래)은 그림으로 하는 설명이 가장 이해가 잘됩니다.
아래의 그림을 보면 convex function은 가장 아래 지점이 한 군데로 수렴(convergent)합니다. 이를 global optimum은 있고 local optimum은 없다고 합니다.
non-convex function은 울룩불룩한 형태로 최저 지점이 여러 개가 있고 local optimum이 여러 개가 있습니다. Gradient Descent 경사 하강법을 사용하게 되면 local optimum에 빠질 수 있는 이슈가 있습니다. 손실함수의 값이 더 내려가야 하는데 어떤 지점에서 기울기가 0이 되어 더 이상 내려가지 않는 문제라고 간단하게 말할 수 있습니다.
2-6) threshold
2-7) cross-validate
'Data Science > NLP with Deep Learning' 카테고리의 다른 글
NTN으로 시작하는 자연어처리와 딥러닝 (4) - 모델 학습 (0) | 2019.02.22 |
---|---|
NTN으로 시작하는 자연어처리와 딥러닝 (3) - NTN 신경망 구조 파악 및 이론적 배경 탐색 (3) | 2018.02.14 |
NTN으로 시작하는 자연어처리와 딥러닝 (2) - 일단 NTN 알기 : 새로운 사실의 발견 (0) | 2018.02.07 |
NTN으로 시작하는 자연어처리와 딥러닝 (0) - 들어가기 앞서 (0) | 2018.02.06 |
딥러닝으로 NLP 하자 (2) - word2vector, Word Vectors 기초 (3) | 2017.09.19 |
딥러닝으로 NLP 하자 (1) - NLP와 Deep learning 기초 (0) | 2017.09.19 |
댓글