본문 바로가기

딥러닝10

Bahdanau Attention 이번 포스팅에서는 Neural Machine Translation 영역에서 Attention Mechanism의 효시가된 Bahdanau Attention에 대해서 다뤄보겠습니다. Bahdanau Attention은 2014에 처음 등장한 이후, Attetion이라는 새로운 접근법 아래 활발한 연구와 발전을 이루며 기계 번역이 크게 성장했습니다. Why Attention? 지난 포스팅에서 Seq2Seq을 살펴봤습니다. 고정된 크기의 input과 output을 처리하던 전통적인 Recurrent Neural Networks에서 가변적 길이의 input, output을 처리할 수 있는 방법이었습니다. Seq2seq은 크게 Encoder Part와 Decoder Part로 구분되어 있습니다. Encoder에서.. 2021. 11. 24.
Gated Recurrent Units (GRU) Gated Recurrent Units (GRU) GRU는 게이트 메커니즘이 적용된 RNN 프레임워크의 일종으로 LSTM에 영감을 받았고, 더 간략한 구조를 가지고 있습니다. 아주 자랑스럽게도 한국인 조경현 박사님이 제안한 방법입니다. (Cho et al., 2014) GRU는 LSTM에 영감을 받은 만큼 굉장히 유사한 구조로 LSTM을 제대로 이해하고 있으면 쉽게 이해할 수 있습니다. LSTM은 이곳에 자세히 정리되어 있으니 가볍게 읽고 이어질 포스팅을 읽으면 더 유익할 것 같습니다. GRU의 작동원리 LSTM과 같은 그림을 이용해서 GRU를 이해해보겠습니다. 전체적인 흐름은 아래와 같습니다. 뭔가 되게 복잡해보이지만, LSTM을 이해하셨다면 생각보다 단순합니다. 하나씩 단계별로 살펴보도록 하겠습니다... 2019. 8. 15.
Long Short-Term Memory (LSTM) 이번 포스팅에서는 Long Short-Term Memory (LSTM)에 대하여 작성하고자 합니다. LSTM은 이전 포스팅에서 다룬 RNN의 발전된 형태입니다. RNN 구조의 큰 특징은 과거의 정보를 은닉층에 저장하는 것인데, Bengio et al., 1994에 Long-term dependency 문제로 과거의 정보를 충분히 활용할 수 없음을 알게되었습니다. 위 RNN의 단점을 보안한 모형 LSTM을 Hochreciter et al., 1997이 제안합니다. 먼저 Long-term dependency 문제가 어떤 것인지 살펴보고 LSTM의 구조와 작동원리에 대해서 살펴보도록 하겠습니다. The Problems of Long-term Dependencies 장기의존성 문제(the problems of .. 2019. 8. 15.
Word2vec 학습 개요 이전 포스팅에서 Word2vec에 대해서 다루었습니다. CBOW와 Skip-Gram 모두 학습할 목적함수의 계산 복잡도가 높았습니다. CBOW의 목적함수는 $$\mathcal{L}_{CBOW}=-u_{c}^{\top}\hat{v}+\log{\sum_{j=1}^{|V|}exp(u_{j}^{\top}\hat{v})}$$와 같으며, Skip-Gram의 경우 $$\mathcal{L}_{skip-gram}=-\sum_{j=0,j\ne m}^{2m}u_{c-m+j}^{\top}v_{c}+2m\log{\sum_{k=1}^{|V|}exp(u_{k}^{\top}v_{c})}$$였습니다. 계산 복잡도가 높다는 말은 $|V|$와 직접적인 관련이 있습니다. $|V|$는 분석하고자하는 데이터로 부터 구축한 사전의 단어의 .. 2019. 7. 28.
Convolution Neural Networks (합성곱 신경망) CNN 이란? CNN은 Convolutional Neural Networks의 줄임말로 인간의 시신경을 모방하여 만든 딥러닝 구조 중 하나입니다. 특히 convolution 연산을 이용하여 이미지의 공간적인 정보를 유지하고, Fully connected Neural Network 대비 연산량을 획기적으로 줄였으며, 이미지 분류에서 좋은 성능을 보이는 것으로 알려져있습니다. CNN의 간단한 역사 시신경의 구조 David H. Hubel과 Torsten Wiesel은 1959년 시각 피질에 구조에 대한 고양이 실험을 수행했습니다. 실험에서 시각 피질 안의 많은 뉴런들이 작은 local receptive field를 가진다는 사실을 밝혀냈습니다. Local의 의미는 보이는 것 중 일부 범위 안에 있는 시각 자.. 2019. 6. 23.
기울기 강하법 기본 본 포스팅에서는 답러닝 역전파 알고리즘에 적용되는 여러 기울기 강하법을 익히기 위한 기본 개념에 대해서 정리하려고 합니다. 초보적인 내용부터, Batch Gradient Descent, Stochastic Gradient Descent, Mini-Batch Gradient Descent까지 살펴보겠습니다. 기울기 강하법 (Gradient Descent Algorithms) 인공신경망의 가중치를 학습하기 위해서 기울기 강하법을 사용합니다. 기울기 강하법은 국소 최소값(Local Minimum)을 찾기 위한 수치적인 방법(numerical method)으로 기울기의 역방향으로 값을 조금씩 움직여 함수의 출력 값이 수렴할 때까지 반복하는 방법입니다 어떤 함수 $f$의 국소 최소값을 찾기 위한 기울기 강하법은 .. 2019. 6. 1.
Gradient Descent Algorithms 본 내용은 "An overview of gradient descent optimization algorithms."을 참고하여 작성하였습니다. 기울기 강하법 기본 포스팅에서 기울기 강하법의 기초적인 내용과 강하법시 이용되는 데이터의 크기에 따라서 Batch, Mini-Batch, Stochastic Gradient Descent를 구분했습니다. 위 세 가지 알고리즘을 편의상 앞에 "Vanilla(기본의)"를 붙여부르도록 하겠습니다. 용어의 혼란을 줄이기 위해 첨언하면, 통상적으로 딥러닝 프레임워크(tensorflow, keras 등)에 적용된 Batch Gradient라는 컨셉은 Mini-batch를 의미합니다. Challenges Vanilla Mini-batch Gradient Descent는 좋은 .. 2019. 5. 30.
Artificial Neural Network (인공신경망) Artificial Neural Network (인공신경망) 인공신경망(ANNs; Artificial Neural Networks)은 인간 뇌의 신경망에서 영감을 받은 분석방법으로, 입력($X$)과 반응($Y$)을 모두 알고서 학습하는 지도 학습(Supervised Learning)의 한 부분입니다. 생물학적 뉴런의 수상돌기(Dendrite)은 다른 신경세포로부터 입력(Inputs)을 받아들이는 역할을 합니다. 받아진 입력들은 세포체(Cell body)에서 정해진 방식에 따라 처리를 합니다. 이어서 축색(Axon)은 처리된 정보를 다른 신경세로 전달하는 역할을 합니다. 인공신경망은 생물학적 뉴런의 작동 과정을 흉내낸 것(정확히 같지는 않음)으로, 데이터를 입력(input)으로 받아, 가중치와 입력을 곱한.. 2019. 5. 24.
Perceptron (Deep Learning의 시작) 간략한 Deep Learning의 역사 F. Rosenblatt의 Perceptron모형부터 현재 GAN, R-CNN에 이르기 까지의 간략한 역사입니다. Deep Learning 관련 포스팅은 크게 역사 기반 진행될 예정입니다:) 먼저 Rosenblatt의 Perceptron 모형부터 시작하겠습니다. Perceptron (단층퍼셉트론) 퍼셉트론 모형은 1958년 F. Rosenblatt이 최초 고안한 모형으로 현재 딥러닝의 효시가 되었습니다. 퍼셉트론 모형은 단순히 입력 변수($x$)와 가충치($w$)의 곱이 thereshold($\theta$)보다 크면, 1, 아니면 0으로 분류하는 모형입니다. 간단히 수식으로 나타내면, $$x^{\top}w+b\geq\theta\rightarrow 1$$가 됩니다. .. 2019. 5. 24.
LIME (Local Interpretable Model-agnostic Explanations) 본 내용은 "Why should i trust you?: Explaining the predictions of any classifier." 논문의 내용을 참조하여 작성되었습니다. Introduction 의사결정을 위해 다양한 분야에서 머신러닝 기법이 활용되기 시작했습니다. 하지만 머신러닝 모형 대부분은 블랙박스(black box)모형이기에 해석이 어렵다는 단점이 있습니다. 최근 이를 해석하기 위한 연구가 활발히 진행되고 있습니다. 논문에서는 결과를 신뢰하는 것을 예측결과 신뢰도와 모형 신뢰도로 정의합니다. 예측결과를 신뢰(Trusting a prediction) 하는 것은 개별 예측결과를 믿고, 의사결정을 할 수 있는가에 대한 문제입니다. 예를 들어, 감기를 예측 하는 모형을 가정해보겠습니다. 어떤 사.. 2019. 5. 23.