본문 바로가기

지능형시스템/머신러닝18

[머신 러닝/딥 러닝] 그래프 어텐션 네트워크 (Graph Attention Network) 구조 및 설명 1. Self-Attention Mechanism Graph attention network (GAT) [1]를 이해하기 위해서는 먼저 self-attention mechanism에 대한 이해가 필요하다. 아래의 그림 1은 구글 AI 블로그의 예제를 이용하여 자연어 처리에서 self-attention이 어떻게 정의되고 이용되는지를 보여준다. 자연어 처리에서는 'it', 'them', '그것'과 같이 문맥을 고려해야 단어가 무엇을 의미하는지 알 수 있는 경우가 많다. 그림 1의 예제에서도 'it'이라는 단어가 'animal'을 의미하는지 'street'을 의미하는지 알기 위해서는 같이 입력된 문장 전체를 고려해야 한다. Self-attention은 어떠한 입력을 이해하기 위해 같이 입력된 요소들 중에서 무.. 2021. 8. 1.
[머신 러닝/딥 러닝] Metric Learning의 개념과 Deep Metric Learning 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.. 2020. 9. 6.
[머신 러닝/딥 러닝] CGCNN: 인공지능과 소재 개발 (Artificial Intelligence and Material Discovery) 1. 결정 구조 및 구조에 대한 그래프 기반 표현 과학이나 공학에서 흔히 일컬어지는 소재 (material)는 원자들이 일정 패턴으로 배열된 결정 구조 (crystal structure)를 의미한다. 흔히 말하는 흑연, 다이아몬드, 페로브스카이트 등이 이러한 결정 구조를 의미하며, 결정은 반도체나 배터리 등의 다양한 응용을 제작하기 위한 기본적이면서도 필수적인 재료로 이용되고 있다. 이러한 이유로 목적에 맞는 새로운 소재를 찾는 것, 즉 소재 개발 (material discovery)은 물리 및 화학 분야에서 가장 중요하게 연구되고 있다. 그러나 하나의 결정 구조는 그림 1과 같이 결정을 구성하는 각 원자들의 종류, 구성비, 배열 등, 거의 무한대에 가까운 조합으로 만들어지기 때문에 지금까지 소재 개발은.. 2020. 3. 20.
[머신 러닝] 과적합 (Overfitting)과 Validation Dataset의 개념 1. 과소적합 (Underfitting)과 과적합 (Overfitting) 머신러닝에서 우리의 목표는 training dataset $\mathcal{D}_{train}$을 이용하여 모델을 학습하고, 학습된 모델을 이용하여 관측되지 않았던 새로운 데이터에 대해 예측을 수행하는 것이다. 머신러닝 연구 및 개발에서는 $\mathcal{D}_{train}$에 포함되지 않는 데이터를 모아서 test dataset $\mathcal{D}_{test}$를 구성하고, $\mathcal{D}_{test}$에 대해 모델의 성능을 측정함으로써 새로운 데이터에 대한 모델의 성능을 평가한다. $\mathcal{D}_{test}$는 학습 과정에서 참조할 수 없기 때문에 머신러닝 모델은 $\mathcal{D}_{train}$만을.. 2019. 12. 25.
[머신 러닝] 앙상블 (Ensemble) 방법의 이해 1. 앙상블 (Ensemble) 방법 다양한 분야의 머신 러닝 문제를 챌린지의 형태로 해결하는 플랫폼인 Kaggle에서는 복잡한 딥 러닝 알고리즘보다 간단한 머신 러닝 모델을 앙상블 방법을 기반으로 결합한 알고리즘이 우승하는 것을 많이 볼 수 있다. 머신 러닝에서 앙상블은 단어 그대로 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법이다. 만약 머신 러닝 기술을 이용하여 실세계의 문제를 해결하고자 한다면 앙상블 방법을 반드시 이용할 수 있어야하며, 이는 앞서 설명한 바와 같이 Kaggle 챌린지에서 수 없이 증명되었다. 2. 가장 기본적인 앙상블 방법: 투표 기반 앙상블 강력한 성능에 비해 의외로 앙상블 방법의 개념은 매우 단순하다. 앙상블 개념의 핵심 개념은 다양한 종류의 여러 estimator를.. 2019. 12. 24.
[머신 러닝/딥 러닝] 인공신경망 (Artificial Neural Network, ANN)의 종류와 구조 및 개념 그림으로 보는 인공신경망의 종류 및 구조 그림 1은 다양한 인공신경망 (Artificial Neural Network, ANN)의 종류와 개념을 시각적으로 보여주며, 원본 그림은 The Asimov Institute에서 확인할 수 있다. 이 글에서는 그림 1의 구조를 바탕으로 머신 러닝 분야에서 활발히 이용되고 있는 몇 가지 인공신경망들의 기본적인 개념을 소개한다. 1. Deep Feedforward Network (DFN) DFN은 딥 러닝에서 가장 기본적으로 이용되는 인공신경망이다. 그림에서도 볼 수 있듯이 DFN은 입력층, 은닉층, 출력층으로 이루어져 있으며, 보통은 2개 이상의 은닉층을 이용한다. DFN에서 입력 데이터는 입력층, 은닉층, 출력층의 순서로 전파된다. 구조에서 알 수 있듯이 DFN은.. 2019. 12. 23.
[머신 러닝/딥 러닝] 그래프 합성곱 신경망 (Graph Convolutional Network, GCN) 1. 그래프 데이터 대부분의 머신 러닝 알고리즘은 입력 데이터가 유클리드 공간 (Euclidean space)에 존재함을 가정하고 있다. 즉, 통계 데이터나 이미지처럼 입력 데이터가 벡터의 형태로 표현될 수 있어야 한다. 그러나 소셜 네트워크, 관계형 데이터베이스, 분자 구조 등과 같이 객체들과 그 객체들 간의 관계로 표현되는 데이터 (그림 1)는 기본적으로 아래와 같이 그래프로 표현된다. 소셜 네트워크: 사용자는 node로 표현되며, 친구 관계에 있는 사용자은 edge로 연결된다. 관계형 데이터베이스: 하나의 데이터베이스 또는 테이블은 node로 표현되며, 데이터간의 연관성이 있거나 쿼리를 처리하기 위해 참조해야하는 데이터베이스 또는 테이블은 edge로 연결된다. 분자 구조: 각 원자는 node로 표현.. 2019. 11. 28.
[머신 러닝/딥 러닝] 합성곱 신경망 (Convolutional Neural Network, CNN)과 학습 알고리즘 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.. 2019. 2. 6.
[머신 러닝/딥 러닝] 인공 신경망을 위한 확률적 경사 하강법 기존의 경사 하강법 (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.. 2018. 12. 24.
[머신 러닝/딥 러닝] 인공신경망 (Artificial Neural Network, ANN)과 역전파 알고리즘 (Backpropagation Algorithm) Artificial neural network (ANN)는 딥 러닝의 가장 핵심적인 기술로써, 신경 세포인 neuron을 추상화한 artificial neuron으로 구성된 네트워크이다. ANN은 일반적으로 어떠한 형태의 function이든 근사할 수 있는 universal function approximator로도 알려져 있다. 이 글에서는 ANN을 구성하는 가장 작은 요소인 artificial neuron부터 multi-layer ANN과 이를 학습시키기 위한 algorithm에 대해 서술한다. 1. Neuron과 artificial neuronNeuron은 생물체의 신경계를 이루는 신경 세포를 말하며, artificial neuron은 생물체의 neuron을 구성하는 dendrite, soma, a.. 2018. 4. 21.
[머신 러닝] 은닉 마르코프 모델 (Hidden Markov Model, HMM)의 개념과 학습 알고리즘 Markov model은 어떠한 날씨, 주식가격 등과 같은 어떠한 현상의 변화를 확률 모델로 표현한 것이다. Hidden Markov model (HMM)은 이러한 Markov model에 은닉된 state와 직접적으로 확인 가능한 observation을 추가하여 확장한 것이다. HMM은 observation을 이용하여 간접적으로 은닉된 state를 추론하기 위한 문제를 풀기 위해 사용된다. 아래의 [그림 1]은 은닉된 state와 그에 따른 observation의 개념을 나타낸다. HMM을 이용해 우리가 풀고자 하는 문제는 관측 가능한 것은 오직 $y_t$뿐이며, $y_t$는 $q_t$에 종속적으로 발생한다고 할 때, $y_t$의 sequence를 통해 $q_t$의 sequence를 추론하는 것이다. .. 2018. 4. 16.
[머신 러닝/강화 학습] Markov Decision Process (MDP) 강화 학습은 주로 Markov decision process (MDP)라는 확률 모델로 표현된다. MDP는 의사결정 과정을 확률과 그래프를 이용하여 모델링한 것으로써, "시간 $t$에서의 상태는 $t-1$에서의 상태에만 영향을 받는다"는 first-order Markov assumption을 기반으로 고안되었다. First-order Markov assumption을 확률로 나타내면 식 (1)과 같다. $$p(s_t|s_0, s_1, ..., s_{t-1}) = p(s_t|s_{t-1}) \tag{1}$$ 이 글에서는 MDP에 대해 설명하기 전에 MDP의 기본 모델이 되는 Markov reward process에 대해 먼저 서술한다. 1. Markov reward process Markov reward .. 2018. 4. 11.