딥러닝은 인공신경망(neural network)이라는 인공지능분야의 모형이 발전된 형태로서, 계층구조로 이루어진 인공신경망의 내부계층(hidden layer)이 여러 단계로 이루어진 구조이다. 딥러닝에서의 주요 모형은 합성곱신경망(convolutional neural network), 순환신경망(recurrent neural network), 그리고 심층신뢰신경망(deep belief network)의 세가지라고 할 수 있다. 그 중에서 현재 흥미로운 연구가 많이 발표되어서 관심이 집중되고 있는 모형은 지도학습(supervised learning)모형인 처음 두 개의 모형이다. 따라서 본 논문에서는 지도학습모형의 가중치를 최적화하는 기본적인 방법인 오류역전파 알고리즘을 살펴본 뒤에 합성곱신경망과 순환신경망의 구조와 응용사례 등을 살펴보고자 한다. 본문에서 다루지 않은 모형인 심층신뢰신경망은 아직까지는 합성곱신경망 이나 순환신경망보다는 상대적으로 주목을 덜 받고 있다. 그러나 심층신뢰신경망은 CNN이나 RNN과는 달리 비지도학습(unsupervised learning)모형이며, 사람이나 동물은 관찰을 통해서 스스로 학습한다는 점에서 궁극적으로는 비지도학습모형이 더 많이 연구되어야 할 주제가 될 것이다.
딥러닝은 인공신경망(neural network)이라는 인공지능분야의 모형이 발전된 형태로서, 계층구조로 이루어진 인공신경망의 내부계층(hidden layer)이 여러 단계로 이루어진 구조이다. 딥러닝에서의 주요 모형은 합성곱신경망(convolutional neural network), 순환신경망(recurrent neural network), 그리고 심층신뢰신경망(deep belief network)의 세가지라고 할 수 있다. 그 중에서 현재 흥미로운 연구가 많이 발표되어서 관심이 집중되고 있는 모형은 지도학습(supervised learning)모형인 처음 두 개의 모형이다. 따라서 본 논문에서는 지도학습모형의 가중치를 최적화하는 기본적인 방법인 오류역전파 알고리즘을 살펴본 뒤에 합성곱신경망과 순환신경망의 구조와 응용사례 등을 살펴보고자 한다. 본문에서 다루지 않은 모형인 심층신뢰신경망은 아직까지는 합성곱신경망 이나 순환신경망보다는 상대적으로 주목을 덜 받고 있다. 그러나 심층신뢰신경망은 CNN이나 RNN과는 달리 비지도학습(unsupervised learning)모형이며, 사람이나 동물은 관찰을 통해서 스스로 학습한다는 점에서 궁극적으로는 비지도학습모형이 더 많이 연구되어야 할 주제가 될 것이다.
Deep learning model is a kind of neural networks that allows multiple hidden layers. There are various deep learning architectures such as convolutional neural networks, deep belief networks and recurrent neural networks. Those have been applied to fields like computer vision, automatic speech recog...
Deep learning model is a kind of neural networks that allows multiple hidden layers. There are various deep learning architectures such as convolutional neural networks, deep belief networks and recurrent neural networks. Those have been applied to fields like computer vision, automatic speech recognition, natural language processing, audio recognition and bioinformatics where they have been shown to produce state-of-the-art results on various tasks. Among those architectures, convolutional neural networks and recurrent neural networks are classified as the supervised learning model. And in recent years, those supervised learning models have gained more popularity than unsupervised learning models such as deep belief networks, because supervised learning models have shown fashionable applications in such fields mentioned above. Deep learning models can be trained with backpropagation algorithm. Backpropagation is an abbreviation for "backward propagation of errors" and a common method of training artificial neural networks used in conjunction with an optimization method such as gradient descent. The method calculates the gradient of an error function with respect to all the weights in the network. The gradient is fed to the optimization method which in turn uses it to update the weights, in an attempt to minimize the error function. Convolutional neural networks use a special architecture which is particularly well-adapted to classify images. Using this architecture makes convolutional networks fast to train. This, in turn, helps us train deep, muti-layer networks, which are very good at classifying images. These days, deep convolutional networks are used in most neural networks for image recognition. Convolutional neural networks use three basic ideas: local receptive fields, shared weights, and pooling. By local receptive fields, we mean that each neuron in the first(or any) hidden layer will be connected to a small region of the input(or previous layer's) neurons. Shared weights mean that we're going to use the same weights and bias for each of the local receptive field. This means that all the neurons in the hidden layer detect exactly the same feature, just at different locations in the input image. In addition to the convolutional layers just described, convolutional neural networks also contain pooling layers. Pooling layers are usually used immediately after convolutional layers. What the pooling layers do is to simplify the information in the output from the convolutional layer. Recent convolutional network architectures have 10 to 20 hidden layers and billions of connections between units. Training deep learning networks has taken weeks several years ago, but thanks to progress in GPU and algorithm enhancement, training time has reduced to several hours. Neural networks with time-varying behavior are known as recurrent neural networks or RNNs. A recurrent neural network is a class of artificial neural network where connections between units form a directed cycle. This creates an internal state of the network which allows it to exhibit dynamic temporal behavior. Unlike feedforward neural networks, RNNs can use their internal memory to process arbitrary sequences of inputs. Early RNN models turned out to be very difficult to train, harder even than deep feedforward networks. The reason is the unstable gradient problem such as vanishing gradient and exploding gradient. The gradient can get smaller and smaller as it is propagated back through layers. This makes learning in early layers extremely slow. The problem actually gets worse in RNNs, since gradients aren't just propagated backward through layers, they're propagated backward through time. If the network runs for a long time, that can make the gradient extremely unstable and hard to learn from. It has been possible to incorporate an idea known as long short-term memory units (LSTMs) into RNNs. LSTMs make it much easier to get good results when training RNNs, and ma
Deep learning model is a kind of neural networks that allows multiple hidden layers. There are various deep learning architectures such as convolutional neural networks, deep belief networks and recurrent neural networks. Those have been applied to fields like computer vision, automatic speech recognition, natural language processing, audio recognition and bioinformatics where they have been shown to produce state-of-the-art results on various tasks. Among those architectures, convolutional neural networks and recurrent neural networks are classified as the supervised learning model. And in recent years, those supervised learning models have gained more popularity than unsupervised learning models such as deep belief networks, because supervised learning models have shown fashionable applications in such fields mentioned above. Deep learning models can be trained with backpropagation algorithm. Backpropagation is an abbreviation for "backward propagation of errors" and a common method of training artificial neural networks used in conjunction with an optimization method such as gradient descent. The method calculates the gradient of an error function with respect to all the weights in the network. The gradient is fed to the optimization method which in turn uses it to update the weights, in an attempt to minimize the error function. Convolutional neural networks use a special architecture which is particularly well-adapted to classify images. Using this architecture makes convolutional networks fast to train. This, in turn, helps us train deep, muti-layer networks, which are very good at classifying images. These days, deep convolutional networks are used in most neural networks for image recognition. Convolutional neural networks use three basic ideas: local receptive fields, shared weights, and pooling. By local receptive fields, we mean that each neuron in the first(or any) hidden layer will be connected to a small region of the input(or previous layer's) neurons. Shared weights mean that we're going to use the same weights and bias for each of the local receptive field. This means that all the neurons in the hidden layer detect exactly the same feature, just at different locations in the input image. In addition to the convolutional layers just described, convolutional neural networks also contain pooling layers. Pooling layers are usually used immediately after convolutional layers. What the pooling layers do is to simplify the information in the output from the convolutional layer. Recent convolutional network architectures have 10 to 20 hidden layers and billions of connections between units. Training deep learning networks has taken weeks several years ago, but thanks to progress in GPU and algorithm enhancement, training time has reduced to several hours. Neural networks with time-varying behavior are known as recurrent neural networks or RNNs. A recurrent neural network is a class of artificial neural network where connections between units form a directed cycle. This creates an internal state of the network which allows it to exhibit dynamic temporal behavior. Unlike feedforward neural networks, RNNs can use their internal memory to process arbitrary sequences of inputs. Early RNN models turned out to be very difficult to train, harder even than deep feedforward networks. The reason is the unstable gradient problem such as vanishing gradient and exploding gradient. The gradient can get smaller and smaller as it is propagated back through layers. This makes learning in early layers extremely slow. The problem actually gets worse in RNNs, since gradients aren't just propagated backward through layers, they're propagated backward through time. If the network runs for a long time, that can make the gradient extremely unstable and hard to learn from. It has been possible to incorporate an idea known as long short-term memory units (LSTMs) into RNNs. LSTMs make it much easier to get good results when training RNNs, and ma
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
그 중에서 현재 흥미로운 연구가 많이 발표되어서 관심이 집중되고 있는 모형은 처음 두 개의 모형이다. 따라서 본 논문에서는 합성곱 신경망과 순환 신경망의 구조, 최적화 방법, 그리고 응용사례 등을 살펴보고자 한다.
식에서 η는 학습률(learning rate)로서 η>0이다. 이제 일차편도함수를 효율적으로 구하는 방법인 오류역전파(error backpropagation) 알고리즘을 살펴보자. 이 알고리즘은 Rumelhart et al.
가설 설정
1. 입력패턴 xn을 신경망의 입력계층에 입력하여 (1)과 (2)에 따라 순방향으로 값을 전달한다. 그 과정에서 각 노드의 출력값인 zj를 저장해 놓는다.
제안 방법
본 논문의 서술 순서는 다음과 같다. 우선 인공신경망의 가중치를 최적화하는 기본적인 방법인 오류역전파 알고리즘을 다음절에서 살펴보고, 다음으로 합성곱 신경망의 특징과 응용사례, 그 다음절에서 순환신경망과 그 응용사례를 마지막으로 마무리를 하겠다.
이 모형은 대략 6천만개의 가충치가 있으며 학습시간으로 GTX 580 3GB GPU를 사용하여 6~7일 정도가 소요되었다. 이 모형은 활성화 함수로 ReLU (max(0,x))를 사용하여 학습시간을 단축시키고, dropout이라는 방식으로 과적합을 방지하고, 또 학습영상을 변형하여 입력패턴의 수를 늘리는 방법으로 모형의 인식률을 높였다. 그 결과 당시의 다른 모형의 인식 오류율의 절반에 가까운 오류율을 달성하는 성과를 얻었다.
지금까지 딥러닝의 기본 알고리즘과 주요 모형을 살펴보고 몇 가지 응용사례도 살펴보았다. 그러나 본문에서 살펴본 사례는 다양한 응용사례의 극히 일부분에 지나지 않는다.
이론/모형
그러나 본문에서 살펴본 사례는 다양한 응용사례의 극히 일부분에 지나지 않는다. 본문의 내용 중에 오류역전파 알고리즘에 대한 내용은 Bishop(2006)을 참조하였으며, 최신의 응용사례나 Python 코드에 관해서는 여러 블로그나 웹사이트에 있는 내용을 참조하였다. 딥러닝의 전반 적인 내용은 (H2)를 참조하였고, CNN에 관련해서는 (H4)를, RNN에 관련해서는 (H3) 혹은 (H5) 를, 그리고 LSTM에 관한 자세한 설명은 (H6)을 참조하였다.
성능/효과
이 모형은 활성화 함수로 ReLU (max(0,x))를 사용하여 학습시간을 단축시키고, dropout이라는 방식으로 과적합을 방지하고, 또 학습영상을 변형하여 입력패턴의 수를 늘리는 방법으로 모형의 인식률을 높였다. 그 결과 당시의 다른 모형의 인식 오류율의 절반에 가까운 오류율을 달성하는 성과를 얻었다. 그러한 이유로 현재의 많은 합성곱신경망 모형은 10~20개의 ReLU 계층과 수십억 개의 노드간 연결이 있고 수억 개의 가중치를 학습시킨다.
후속연구
모형이 동작하는 원리를 떠나서 그 결과만을 보면 인공지능이 마치 사물을 이해할 수 있는 경지에 이른 것처럼 보이기도 한다. 이와 같은 응용사례에 비추어 본다면, 비록 기계학습이나 그것이 발전한 인공지능이라는 것은 하나의 소프트웨어에 지나지 않지만 그 기능은 사람만이할 수 있다고 여겨졌던 영역의 일부를 모방할 수있는 경지에 도달하고 있으며 그 영역을 가까운 미래에 더욱 확장할 것으로 기대된다.
질의응답
핵심어
질문
논문에서 추출한 답변
딥러닝에서 관심을 모으고 있는 모형은 어떤 모형인가?
딥러닝에서는 여러 가지 모형이 있는데 그 중에서 관심을 모으고 있는 모형은 합성곱 신경망 (convolutional neural network), 순환신경망 (recurrent neural network), 심층신뢰신경망(deep belief network)의 세가지라고 할 수 있다. 그 중에서 현재 흥미로운 연구가 많이 발표되어서 관심이 집중되고 있는 모형은 처음 두 개의 모형이다.
shared weight란 특징과 sub-sampling이란 과정이 일반적인 신경망 모형과 다르기 때문에 필요한 알고리즘을 수정하는 방법은?
다만 shared weight란 특징과 sub-sampling이란 과정이 일반적인 신경망 모형과 다르기 때문에 알고리즘을 조금 수정할 필요가 있다. 우선 shared weight에 대해서는 가중치가 서로 다른 경우와 동일한 방법으로 일차편도함수를 계산한 후에 동일한 가중치에 대하여는 일차편도함수의 값을 모두 더해주는 과정을 적용하면 된다. sub-sampling을 통하여 패턴이 압축되는 경우에는 오류를 역전파 할 때 반대방향의 연산을 해주어야 하므로 up-sampling을 통하여 확장해주는 과정이 필요하다. 그런데 sub-sampling의 방식이 응용사례에 따라 다르므로 경우에 따라 다르게 적용할 필요가 있다.
딥러닝은 어떤 구조를 갖는가?
, 2015). 딥러닝은 인공신경망(neural network)이라는 인공지능분야의 모형이 발전된 형태로서, 계층구조로 이루어진 인공신경망의 내부계층(hidden layer)이 여러 단계로 이루어진 구조이다. 최근의 딥러닝 모형은 내부계층이 많아져서 노드(node) 를 연결하는 가중치(weight, 연결강도를 의미함) 의 수가 최대 수십억 개가 되기도 한다(LeCun et al.
참고문헌 (17)
Bishop, C., Pattern Recognition and Machine Learning, Springer, 2006.
Cho, K., A. Courville and Y. Bengio, "Describing Multimedia Content using Attention-based Encoder-Decoder Networks," arXiv preprint arXiv:1507.01053, 2015.
Fukushima, K., "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position," Biological Cybernetics, vol.36, no.4(1980), 193-202.
Krizhevsky, A., I. Sutskever and G. Hinton, "ImageNet classification with deep convolutional neural networks," Proc. Advances in Neural Information Processing Systems 25, 2012, 1090-1098.
LeCun, Y., Y. Bengio, and G. Hinton, "Deep Learning," Nature 521, 2015, 436-444.
Salakhutdinov, R. and Hinton, G., "Deep Boltzmann machines," Proc. International Conference on Artificial Intelligence and Statistics, 2009, 448-455.
Vinyals, O., A. Toshev, S. Bengio and D. Erhan, "Show and tell: a neural image caption generator," Proc. International Conference on Machine Learning, Available at http://arxiv.org/abs/1502.03044 (Downloaded 2014).
※ AI-Helper는 부적절한 답변을 할 수 있습니다.