Data Science/Neural Network 5

RNN 계열 신경망 모델

1. Vanilla NN 2. RNN 1) NN vs. RNN NN은 INPUT을 sequential 하게 받을 수 없어서 보통 bag-of-words 으로 대신 표현함 (순서고려X) RNN은 하나의 cell(or neuron) 을 재사용해서 sequential 한 데이터를 INPUT으로 받음 2) RNN vector (1) static RNN vs. dynamic RNN dynamic RNN (deprecated) : 문장의 길이(seq_len)만큼 recurrent가 일어남 별도로 각 문장마다 길이가 얼마인지를 명시해줘야함 static RNN : 문장의 길이(seq_len)가 고정 되있음 보통 별도의 padding이나 truncating이 필요 dynamic이 더 합리적으로 보이는데 오히려 복잡도 등..

TensorFlow Seq2seq Library (contrib)

[TensorFlow Seq2seq Library (contrib)] (tf v1.12기준) https://www.tensorflow.org/api_guides/python/contrib.seq2seq tensorflow Seq2seq Library는 seq2seq모델과 dynamic decoding을 위한 모듈로써 tf.contrib.rnn 기반으로 만들어졌다. tensorflow seq2seq library 내 2가지 주요한 컴포넌트 1) attention wrapper (for tf.contrib.rnn.RNNCell) 2) 객체지향 dynamic decoding framework 1. Attention attention wrapper는 다른 RNNCell을 감싸고 attention을 구현하는 RN..

Neural Machine Translation (seq2seq) Tutorial

Neural Machine Translation (seq2seq) Tutorial 1. Background on Neural Machine Translation 과거에 전통적인 phrase-based translation system들은 source 문장들을 여러개의 chunks로 쪼개고 그 다음 phrase-by-phrase로 해석했다. 이방법은 번역결과에 있어서 disfluency를 초래했는데 사람이 해석하는 것처럼 정확하게 작동하지 않았다. NMT는 기존의 방식에서 벗어나 사람이 전체 문장을 읽고 그 의미를 이해한 다음에 번역 결과를 생성하는 것처럼 번역을 한다. [Enc-dec 구조] : encoder는 source 문장을 meaning vector로 변환하고 번역을 위해 decoder에 보낸다...

Partial Derivative(편미분) and Chain Rule(체인룰) in Neural Network

이 포스트는 기본적으로 NN(Neural network)에 대한 기본적인 이해가 있는 대상을 위해 작성되었습니다.또한, 제목에 표시한 것처럼 NN에서의 편미분과 체인룰에 대한 내용이며 Gradient Descent(경사감소법)를 직접적으로 다루지는 않습니다. Partial Derivative = 편미분 (Partial Derivative = Gradient = A Partial Derivate of a Specific Error)Chain Rule = 체인룰 / 합성곱 [편미분 : Partial Derivative] y값에 영향을 미치는 변수(variable/x값)가 많을 때, 변수 하나가 미치는 영향을 구하기 위해 사용 why to use in NN? : NN에서는 Gradient Descent(경사감..

ReLU를 사용하는 이유

[ReLU란?] (수식)h=max(0,a) where a=Wx+b (그래프) 왼편은 일반적인 활성화 함수의 형태이고 우측은 gradient descent에 사용되는 역함수를 취했을 때의 형태이다. [ReLU의 대표적인 장점] - Sparsity- Vanishing Gradient 위 장점은 sigmoid 함수와의 비교했을 때 이다.ReLU가 나오기 전에는 주로 sigmoid가 많이 쓰였으므로 sigmoid와 비교하는 것이 옳다. sigmoid는 tanh와 비슷한 경향이 있다. 단, tanh는 sigmoid에 비해 Vanishing Gradient가 개선된 경우이지 극복한 것은 아니다. [ReLU를 사용하는 이유] 1) Sparsity (a가 0보다 작을 때 / a≤0) (Sparse 하다는 것은?) sp..