목록지능형시스템/머신 러닝 (20)
Untitled

1. Self-Attention Mechanism Graph attention network (GAT) [1]를 이해하기 위해서는 먼저 self-attention mechanism에 대한 이해가 필요하다. 아래의 그림 1은 구글 AI 블로그의 예제를 이용하여 자연어 처리에서 self-attention이 어떻게 정의되고 이용되는지를 보여준다. 자연어 처리에서는 'it', 'them', '그것'과 같이 문맥을 고려해야 단어가 무엇을 의미하는지 알 수 있는 경우가 많다. 그림 1의 예제에서도 'it'이라는 단어가 'animal'을 의미하는지 'street'을 의미하는지 알기 위해서는 같이 입력된 문장 전체를 고려해야 한다. Self-attention은 어떠한 입력을 이해하기 위해 같이 입력된 요소들 중에서 무..

1. 거리 함수 (Distance Function) 통계, 데이터 마이닝, 머신 러닝 등에서는 데이터 간의 유사도를 수치화하기 위해 일반적으로 거리 함수 (metric function)을 이용한다. 가장 대표적인 거리 함수로는 Euclidean 거리가 있으며, 두 데이터 $\textbf{x}_1 \in \mathbb{R}^{d}$과 $\textbf{x}_2 \in \mathbb{R}^{d}$에 대해 식 (1) 같이 정의된다. $$ d_E(\textbf{x}_1, \textbf{x}_2) = \sqrt{\sum_{i=1}^{d} (\textbf{x}_{1, i} - \textbf{x}_{2, i})^2} \tag{1}$$ 또 다른 대표적인 거리 함수로는 각 축 방향으로의 분산까지 고려한 Mahalanobi..

1. 결정 구조 및 구조에 대한 그래프 기반 표현 과학이나 공학에서 흔히 일컬어지는 소재 (material)는 원자들이 일정 패턴으로 배열된 결정 구조 (crystal structure)를 의미한다. 흔히 말하는 흑연, 다이아몬드, 페로브스카이트 등이 이러한 결정 구조를 의미하며, 결정은 반도체나 배터리 등의 다양한 응용을 제작하기 위한 기본적이면서도 필수적인 재료로 이용되고 있다. 이러한 이유로 목적에 맞는 새로운 소재를 찾는 것, 즉 소재 개발 (material discovery)은 물리 및 화학 분야에서 가장 중요하게 연구되고 있다. 그러나 하나의 결정 구조는 그림 1과 같이 결정을 구성하는 각 원자들의 종류, 구성비, 배열 등, 거의 무한대에 가까운 조합으로 만들어지기 때문에 지금까지 소재 개발은..

1. 과소적합 (underfitting)과 과적합 (overfitting) 머신 러닝의 궁극적인 목표는 training dataset을 이용하여 학습한 모델을 가지고 test dataset를 예측하는 것이다. 이 때 test dataset은 학습 과정에서 참조할 수 없다고 가정하기 때문에 머신 러닝 모델은 training dataset만을 가지고 test dataset을 잘 예측하도록 학습되어야 한다. 기본적으로 머신 러닝 모델은 training loss가 작아지도록 학습을 진행하기 때문에 그림 1과 같이 학습이 계속 될수록 모델의 decision boundary는 점점 training dataset에 fitting된다. 이러한 학습 결과는 모델이 dataset에 내재된 어떠한 구조나 패턴을 일반화 (g..

1. 앙상블 (Ensemble) 방법 다양한 분야의 머신 러닝 문제를 챌린지의 형태로 해결하는 플랫폼인 Kaggle에서는 복잡한 딥 러닝 알고리즘보다 간단한 머신 러닝 모델을 앙상블 방법을 기반으로 결합한 알고리즘이 우승하는 것을 많이 볼 수 있다. 머신 러닝에서 앙상블은 단어 그대로 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법이다. 만약 머신 러닝 기술을 이용하여 실세계의 문제를 해결하고자 한다면 앙상블 방법을 반드시 이용할 수 있어야하며, 이는 앞서 설명한 바와 같이 Kaggle 챌린지에서 수 없이 증명되었다. 2. 가장 기본적인 앙상블 방법: 투표 기반 앙상블 강력한 성능에 비해 의외로 앙상블 방법의 개념은 매우 단순하다. 앙상블 개념의 핵심 개념은 다양한 종류의 여러 estimator를..

그림으로 보는 인공신경망의 종류 및 구조 그림 1은 다양한 인공신경망 (Artificial Neural Network, ANN)의 종류와 개념을 시각적으로 보여주며, 원본 그림은 The Asimov Institute에서 확인할 수 있다. 이 글에서는 그림 1의 구조를 바탕으로 머신 러닝 분야에서 활발히 이용되고 있는 몇 가지 인공신경망들의 기본적인 개념을 소개한다. 1. Deep Feedforward Network (DFN) DFN은 딥 러닝에서 가장 기본적으로 이용되는 인공신경망이다. 그림에서도 볼 수 있듯이 DFN은 입력층, 은닉층, 출력층으로 이루어져 있으며, 보통은 2개 이상의 은닉층을 이용한다. DFN에서 입력 데이터는 입력층, 은닉층, 출력층의 순서로 전파된다. 구조에서 알 수 있듯이 DFN은..

1. 그래프 데이터 대부분의 머신 러닝 알고리즘은 입력 데이터가 유클리드 공간 (Euclidean space)에 존재함을 가정하고 있다. 즉, 통계 데이터나 이미지처럼 입력 데이터가 벡터의 형태로 표현될 수 있어야 한다. 그러나 소셜 네트워크, 관계형 데이터베이스, 분자 구조 등과 같이 객체들과 그 객체들 간의 관계로 표현되는 데이터 (그림 1)는 기본적으로 아래와 같이 그래프로 표현된다. 소셜 네트워크: 사용자는 node로 표현되며, 친구 관계에 있는 사용자은 edge로 연결된다. 관계형 데이터베이스: 하나의 데이터베이스 또는 테이블은 node로 표현되며, 데이터간의 연관성이 있거나 쿼리를 처리하기 위해 참조해야하는 데이터베이스 또는 테이블은 edge로 연결된다. 분자 구조: 각 원자는 node로 표현..
1. 이미지 처리와 필터링 기법 필터링은 이미지 처리 분야에서 광범위하게 이용되고 있는 기법으로써, 이미지에서 테두리 부분을 추출하거나 이미지를 흐릿하게 만드는 등의 기능을 수행하기 위해 이용된다. 필터링은 행렬의 형태로 표현된 이미지에 대해 행렬로 표현된 필터를 동일하게 적용함으로써 수행된다. 일반적으로 행렬로 표현된 필터링된 이미지의 $i$번째 행, $j$번째 열의 픽셀인 $G_{ij}$는 다음과 같이 원본 이미지 $X$와 필터 $F$의 합성곱 (convolution)으로 계산된다: $$G_{ij} = (F*X)(i,j) = \sum_{m=0}^{F_H - 1} \sum_{n=0}^{F_W - 1} F_{m,n} X_{(i-m),(j-n)}. \tag{1}$$ 위의 식 (1)에서 $F_H$와 $F_W..
기존의 경사 하강법 (Gradient descent method)에서 특정 데이터만을 샘플링하여 학습하는 확률적 경사 하강법 (SGD)은 deep neural network를 학습시키기 위해 주로 이용되고 있는 최적화 기법이다. 미니 배치 단위로 정의되는 loss function을 $L$이라 할 때, SGD를 통한 neural network의 $i$번째 뉴런의 $j$번째 weight $w_{ij}$는 다음과 같이 update된다.$$w_{ij}^{(t+1)} = w_{ij}^{(t)} - \eta \frac{\partial L}{\partial w_{ij}^{(t)}}, \tag{1}$$이 때 $\eta$는 learning rate라고 하는 hyperparameter이고, $\frac{\partial L..
1. Bias와 variance 우리는 고집이 센 A와 귀가 얇은 B라는 두 명의 사람을 학습시켜야 하는 상황을 생각해볼 수 있다. A는 고집이 너무 강해서 아무리 학습을 시켜도 자신의 주관대로 판단하는 사람이다. 반대로 B는 귀가 너무 얇아서 옳은 것이든 틀린 것이든 학습시키는 그대로 받아들이는 사람이다. A와 B는 모두 장단점을 갖고 있지만, 아마도 가장 올바른 학습자는 자신의 주관이 있으면서도 새로운 것을 적당히 받아들이는 사람일 것이다.이러한 현상은 사람뿐 아니라, 머신 러닝에서 어떠한 regression model이나 classifier 등을 학습시킬 시에도 발생한다. 이때 고집이 세다는 것은 bias가, 귀가 얇다는 것은 각각 variance가 크다는 것과 같다. 아래의 [그림 1]에서 $g(..