01 Introduction - PAI-yoonsung/lstm-paper GitHub Wiki
1 Introduction
This article is an tutorial-like introduction initially developed as supplementary material for lectures focused on Artificial Intelligence.
์ด ์ํฐํด์ ์ธ๊ณต์ง๋ฅ ๊ฐ์๋ฅผ ๋ชฉ์ ์ผ๋ก ํ ๋ณด์กฐ ์๋ฃ๋ก์จ ์ ์๋ ํํ ๋ฆฌ์ผ ๊ฐ์ ์๊ฐ๋ฌธ์ ๋๋ค.
The interested reader can deepen his/her knowledge by understanding Long Short-Term Memory Recurrent Neural Networks (LSTM-RNN) considering its evolution since the early nineties.
์ธ๊ณต์ง๋ฅ์ ๊ด์ฌ์ด ์๋ ๋ ์๋ค์ด๋ผ๋ฉด, LSTM-RNN ์ 90๋ ๋ ์ด๋ถํฐ์ ์งํ์ ๋ํด ์์๋ณด๋ ๊ฒ์ผ๋ก ๋ ๊น์ ์ง์์ ์ต๋ํ ์ ์์ ๊ฒ์ ๋๋ค.
Todays publications on LSTM-RNN use a slightly different notation and a much more summarized representation of the derivations.
์ค๋๋ ์ LSTM-RNN ๋ฐํ๋ฌผ๋ค์ ์ฝ๊ฐ ๋ค๋ฅธ ํ๊ธฐ๋ฒ๊ณผ ๋์ฑ ์ถ์ฝ๋ ํ์๋ฌผ๋ค์ ํ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Nevertheless the authors found the presented approach very helpful and we are confident this publication will find its audience.
ํ์ง๋ง, ๊ธ์ด์ด๋ ์ ๊ณต๋๋ ์ ๊ทผ๋ฒ์ด ๋งค์ฐ ๋์์ด ๋๊ณ ์ด ๋ฐํ๋ฌผ์ด ๋ฃ๋ ์ด๋ค์ ์ฐพ์ ๊ฒ์ด๋ผ ์์ ํฉ๋๋ค.
Machine learning is concerned with the development of algorithms that automatically improve by practice. Ideally, the more the learning algorithm is run, the better the algorithm becomes.
๋จธ์ ๋ฌ๋์ ์ค์ฉ์ ์ผ๋ก ๋ฐ์ ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๊ฐ๋ฐ๊ณผ ํจ๊ป ์์ฐ์ค๋ฝ๊ฒ ๊ณ ๋ ค๋์ต๋๋ค. ์ด์์ ์ผ๋ก, ํ์ต ์๊ณ ๋ฆฌ์ฆ์ด ์คํ๋ ์๋ก ๋ ๋์ ์๊ณ ๋ฆฌ์ฆ์ด ๋์์ต๋๋ค.
It is the task of the learning algorithm to create a classifier function from the training data presented.
์ด๊ฒ์ ์ฃผ์ด์ง ํ์ต ๋ฐ์ดํฐ๋ก๋ถํฐ ๋ถ๋ฅ ํจ์๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์ต ์๊ณ ๋ฆฌ์ฆ ํ ์คํฌ์ ๋๋ค.
The performance of this built classifier is then measured by applying it to previously unseen data.
์ด ๋ถ๋ฅ๊ธฐ์ ์ฑ๋ฅ์ ์ด์ ์ ๋ชจ๋ธ์ด ํ์ตํ ์ ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฉ์์ผ๋ณด๋ ๊ฒ์ผ๋ก ์ธก์ ๋์์ต๋๋ค.
Artificial Neural Networks (ANN) are inspired by biological learning systems and loosely model their basic functions.
ANN ์ ์๋ฌผํ์ ํ์ต ์์คํ ๋ค๋ก๋ถํฐ ์๊ฐ์ ๋ฐ์, ์ด๋ค์ ๊ธฐ์ด์ ์ธ ๊ธฐ๋ฅ๋ค์ ๋์จํ๊ฒ ๋ชจ๋ธ๋งํฉ๋๋ค.
Biological learning systems are complex webs of interconnected neurons.
์๋ฌผํ์ ํ์ต ์์คํ ์ ๋ด๋ฐ๋ค์ด ์๋ก ์ฐ๊ฒฐ๋ ๋ณต์กํ ๊ทธ๋ฌผ๋ง์ ๋๋ค.
Neurons are simple units accepting a vector of real-valued inputs and producing a single real-valued output.
๋ด๋ฐ๋ค์ ์ค์ ์ ๋ ฅ๊ฐ์ ๋ฒกํฐ๋ฅผ ๋ฐ์๋ค์ด๊ณ ๋จ์ผ ์ค์ ์ถ๋ ฅ๊ฐ์ ์์ฐํ๋ ๊ฐ๋จํ ์ ๋๋ค์ ๋๋ค.
The most common standard neural network type are feed-forward neural networks.
๊ฐ์ฅ ํํ๊ณ ๊ธฐ๋ณธ์ ์ธ ์ ๊ฒฝ๋ง ํ์ ์ feed-forward ์ ๊ฒฝ๋ง์ ๋๋ค.
Here sets of neurons are organised in layers: one input layer, one output layer, and at least one intermediate hidden layer.
๋ด๋ฐ์ ์ธํธ๋ค์ ๋ค์์ ๋ ์ด์ด๋ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค: input ๋ ์ด์ด ํ๋, output ๋ ์ด์ด ํ๋, ์ต์ ํ ๊ฐ์ ์ค๊ฐ hidden ๋ ์ด์ด
Feed-forward neural networks are limited to static classification tasks.
Feed-forward ์ ๊ฒฝ๋ง์ ์ ์ ์ธ ๋ถ๋ฅ ๋ฌธ์ ๋ค์๋ง ๊ตญํ๋์ด์์ต๋๋ค.
Therefore, they are limited to provide a static mapping between input and output.
๋๋ฌธ์, ํด๋น ์ ๊ฒฝ๋ง์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ์ฌ์ด์ ์ ์ ๋งคํ์ ์ ๊ณตํ๋ ๊ฒ๋ง์ผ๋ก ์ญํ ์ด ์ ํ๋ฉ๋๋ค.
To model time prediction tasks we need a so-called dynamic classifier.
์๊ฐ ์์ธก ๋ฌธ์ ๋ฅผ ๋ชจ๋ธ๋งํ๊ธฐ ์ํด์ , ๋์ ๋ถ๋ฅ๊ธฐ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
We can extend feed-forward neural networks towards dynamic classification.
์ฐ๋ฆฌ๋ feed-forward ์ ๊ฒฝ๋ง์ ๋์ ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํ๋๋ก ํ์ฅํ ์ ์์ต๋๋ค.
To gain this property we need to feed signals from previous timesteps back into the network.
์ ๊ฒฝ๋ง์ด ์ด๋ฌํ ์์ฑ์ ๊ฐ๊ฒ ํ๊ธฐ ์ํด, ์ฐ๋ฆฌ๋ ์ด์ ์ ํ์์คํญ๋ค๋ก๋ถํฐ์ ์ ํธ๋ค์ ๋คํธ์ํฌ๋ก ๋ค์ ๋๋๋ ค์ค ํ์๊ฐ ์์ต๋๋ค.
These networks with recurrent connections are called Recurrent Neural Networks (RNN) [74], [75].
์ด๋ฌํ ๋ํ์ดํ๋ ์ฐ๊ฒฐ์ ๊ฐ๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ RNN ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
RNNs are limited to look back in time for approximately ten timesteps [38], [56].
RNN ๊ตฌ์กฐ๋ ์ฝ 10๊ฐ์ ํ์์คํญ ์ ๋๋ง ๋๋์๊ฐ ์ ์๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
This is due to the fed back signal is either vanishing or exploding.
์๋ํ๋ฉด ์๋ต์ผ๋ก ๋ฐ๋ ์ ํธ๋ค์ด ์ฌ๋ผ์ ธ๊ฐ๊ฑฐ๋ ์ฆํญ๋ผ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค.
This issue was addressed with Long Short-Term Memory Recurrent Neural Networks (LSTM-RNN) [22], [41], [23], [60].
ํด๋น ์ด์๋ LSTM RNN ๊ตฌ์กฐ์ ๋ฑ์ฅ์ผ๋ก ํด๊ฒฐ๋์์ต๋๋ค.
LSTM networks are to a certain extend biologically plausible [58] and capable to learn more than 1,000 timesteps, depending on the complexity of the built network[41].
LSTM ์ ๊ฒฝ๋ง์ ์๋ฌผํ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋๋ก, ๋ํ ๋คํธ์ํฌ์ ๋ณต์ก๋์ ๋ฐ๋ผ์ 1,000 ํ์์คํญ ์ด์์ ํ์ตํ ์ ์๋๋ก ํ์ฅ๋์์ต๋๋ค.
In the early, ground-breaking papers by Hochreiter [41] and Graves [34], the authors used different notations which made further development prone to errors and inconvenient to follow.
์ด์ ์ Hochreiter ์ Graves ์ ํ๊ธฐ์ ์ธ ๋ ผ๋ฌธ์์๋, ์๊ฐ๋ค์ด ์๋ก ๋ค๋ฅธ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ์ ์ฌํ ๊ฐ๋ฐ ์ ์๋ฌ๋ฅผ ์ผ์ผํค๋ ๊ฒฝํฅ์ด ์์๊ณ , ๋ฐ๋ผ๊ฐ๊ธฐ ๋ถํธํ ์ ์ด ์์์ต๋๋ค.
To address this we developed a unified notation and did draw descriptive figures to support the interested reader in understanding the related equations of the early publications.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ํต์ผํ๋ ํ๊ธฐ๋ฒ์ ๊ฐ๋ฐํ์๊ณ , ๋ ์๋ค์ด ์ด๊ธฐ ๋ฐํ๋ฌผ๋ค๊ณผ ์ฐ๊ด๋ ๋ฐฉ์ ์์ ๋ํ ์ดํด๋ฅผ ๋๋๋ก ๊ธฐ์ ์ ์ธ ๋ํ๋ค์ ๊ทธ๋ ธ์ต๋๋ค.
In the following, we slowly dive into the world of neural networks and specifically LSTM-RNNs with a selection of its most promising extensions documented so far.
์ดํ์๋, ์ฐ๋ฆฌ๋ ์ ๊ฒฝ๋ง์ ์ธ๊ณ, ๊ทธ ์ค์์๋ ํนํ ๊ฐ์ฅ ์ด๋ง๋ฐ๋ ๋ฌธ์ ํ์ฅ์ฑ์ ์ง๋ LSTM-RNN์ ์ค์ฌ์ผ๋ก ์ฒ์ฒํ ์ ์ํด๋ณผ ๊ฒ์ ๋๋ค.
We successively explain how neural networks evolved from a single perceptron to something as powerful as LSTM.
์ฐ๋ฆฌ๋ ์ฑ๊ณต์ ์ผ๋ก ์ด๋ป๊ฒ ์ ๊ฒฝ๋ง์ด ๋จ์ผ ํผ์ ํธ๋ก ์์ LSTM๊ณผ๋ ๊ฐ์ด ๊ฐ๋ ฅํ๊ฒ ์งํํ๋์ง์ ๋ํ์ฌ ์ค๋ช ํ์์ต๋๋ค.
This includes vanilla LSTM, although not used in practice anymore, as the fundamental evolutionary step.
์ด๊ฒ์ ๊ธฐ๋ณธ LSTM ์ ํฌํจํฉ๋๋ค. ๋ ์ด์ ์ค์ ์์ ์ฌ์ฉ๋์ง๋ ์์ง๋ง, ๊ธฐ๋ณธ์ ์ธ ์งํ ๋จ๊ณ๋ก์จ ์์๋ณผ ๊ฒ์ ๋๋ค.
With this article, we support beginners in the machine learning community to understand how LSTM works with the intention motivate its further development.
์ด ์ํฐํด๋ก, ์ฐ๋ฆฌ๋ ๋จธ์ ๋ฌ๋ ์ปค๋ฎค๋ํฐ์ ์ด์ฌ์๋ค์ด LSTM์ ์ฌํ ๊ฐ๋ฐ ๋๊ธฐ์ ํจ๊ป ์ด๋ป๊ฒ ์๋๋๋ ์ง์ ๋ํ ์ดํด๋ฅผ ๋์ธ ๊ฒ์ ๋๋ค.
This is the first document that covers LSTM and its extensions in such great detail.
์ด๊ฒ์ LSTM๊ณผ ํ์ฅ์ฑ์ ๋ํด ์์ธํ ์์ ํ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ ๋๋ค.
dictionary
supplementary material : ๋ณด์กฐ ์๋ฃ
notation : ํ๊ธฐ๋ฒ
derivations : ํ์๋ฌผ(?)
Ideally : ์ด์์ ์ผ๋ก
loosely : ๋์จํ๊ฒ
recurrent : ๋ํ์ดํ๋, ์ฌ๋ฐํ๋
was addressed : ํด๊ฒฐ๋๋ค
prone : ~ํ๋ ๊ฒฝํฅ์ด ์๋
intention : ์๋