본문 바로가기

심층학습

(11)
Sequencial Model 1. Sequencial Model Sequencial Data, 순차 데이터는 객체들이 특정 순서를 가진 형태의 데이터입니다. 고로, 객체의 순서가 특성을 나타내는 중요한 요소입니다. 이러한 종류의 데이터는 많죠. 매일매일 요동치는 주가 데이터도 그 예고, 애플워치에서 측정한 나의 심장 박동 데이터도, DNA 염기서열도 순차 데이터의 일종입니다. 그리고 가장 대표적인 예시는 바로 글과 문장이죠. 자 그러면 이러한 글과 같은 Sequencial 데이터를 다루는 모델이 어려운 이유를 생각해보죠. 가장 큰 이유는 모델이 받아들이는 입력의 차원을 알 수 없다는 것입니다. 이미지의 경우 고정된 크기의 Input을 통해 고정된 크기의 Output이 나옵니다. 앞 포스팅 CNN을 참고하시면 쉽습니다. 하지만, 말은..
순환 신경망(Recurrent Neural Network) - Teacher Forcing & BPTT 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습, 사이토 고키 저술의 밑바닥부터 시작하는 딥러닝 등을 기반으로 작성합니다. 저번 포스팅에서 RNN에 대해서 개괄적으로 이해해보았으니, 이번 포스팅에서는 Teacher Forcing과 BPTT에 대해서 이해해보도록 하겠습니다. 1. Teacher Forcing 티쳐 포싱은 RNN에서 Target 단어를 디코더의 다음 입력으로 넣어주는 기법을 의미합니다. 예시를 통해 이해해보도록 하죠. 원래 예측하려는 결과값은 "Two People Running~"이라고 가정합시다. 이를 예측하기 위해 Two라는 단어를 입력했습니다...
순환 신경망(Recurrent Neural Network) - 개요 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습, 사이토 고키 저술의 밑바닥부터 시작하는 딥러닝 등을 기반으로 작성합니다. 이번 포스팅에서는 순환 신경망에 대해서 이해해보죠. 순환신경망은 순차적인 자료를 처리하는 신경망의 한 종류입니다. 합성곱 신경망은 이미지와 같이 격자 형태로 구현된 입력을 처리하는데 유리했죠. 순환신경망은 순차열(Sequence), 즉 순서가 존재하는 입력을 처리하는데 유리합니다. 0. RNN RNN의 Recurrent는 라틴어에서 온 말인데, "순환하다"라는 뜻을 가집니다. RNN은 결국 직역하면 순환하는 신경망이 됩니다. 이 순환의 의미..
합성곱 신경망 (Convolution Neural Network) - CNN의 동작 방식 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습 등을 기반으로 작성합니다. 지난 포스팅에서는 합성곱 신경망의 합성곱에 대해서 알아봤습니다. 이번 포스팅에서는 1. 합성곱이 무엇인가? 2. 합성곱을 사용하는 이유는 무엇인가? 3. 그래서 CNN은 어떻게 동작하는가? 이번에는 CNN의 동작 방식에 대해서 이해해보도록 하죠. 다음 그림은 Mnist Dataset에서 추출한 손글씨 그림입니다. 데이터 사이언스를 공부하는 이들에게는 아주 익숙한 데이터입니다. 이 그림은 손글씨의 숫자를 구별해내는 알고리즘을 개발하는데 큰 도움을 주었죠. 이 그림은 28*28 사이즈의 픽셀..
합성곱 신경망 (Convolution Neural Network) - 합성곱 신경망의 동기 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습 등을 기반으로 작성합니다. 지난 포스팅에서는 합성곱 신경망의 합성곱에 대해서 알아봤습니다. 이번 포스팅에서는 1. 합성곱이 무엇인가? 2. 합성곱을 사용하는 이유는 무엇인가? 3. 그래서 CNN은 어떻게 동작하는가? 이 중, 합성곱을 사용하는 이유에 대해서 좀 더 파헤쳐 보죠. 합성곱 신경망에서는 머신러닝 시스템을 개선하는데 도움이 되는 세 가지 개념을 사용합니다. 1. 희소 상호작용 2. 매개변수 공유 3. 등변 표현 0. 정상성(Stationarity) 정상성이란 확률론에서 시계열의 통계적 속성이 시간에 관계없..
합성곱 신경망 (Convolution Neural Network) - 합성곱의 이해 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습 을 기반으로 작성합니다. 이번 포스팅은 합성곱 신경망입니다. CNN이라는 이름으로 더 익숙할 거 같은데 영상이나 이미지를 다루는 컴퓨터 비전, 추천 시스템 등을 주도하는 획기적인 알고리즘이죠. 일단 이번 포스팅에서 이해해볼 것들은 1. 합성곱이 무엇인가? 2. 합성곱을 사용하는 이유는 무엇인가? 3. 그래서 CNN은 어떻게 동작하는가? 이 세 가지를 일단 중점적으로 파악해보죠. 1. 합성곱의 의미? 일단 합성곱의 정의는 다음과 같습니다. 합성곱 (合成-), 또는 콘벌루션 (convolution)은 하나의 함수와 또..
6장 심층 순방향 신경망 - 6.0 퍼셉트론의 이해 본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)및 오일석 저술의 기계학습 을 기반으로 작성합니다. 이번에는 신경망에 대해서 알아봅시다. 신경망은 인간의 뇌 속에 있는 뉴런의 구조를 본떠서 소프트웨어적으로 구현한 기계학습 모델입니다. 현재 기계학습 역사에서는 가장 오래된 모델이면서, CNN, RNN, LSTM 등의 가장 다양한 형태를 자랑합니다. 그리고 과거에는 SVM 등에 밀려서 사라질뻔한 분야였지만, 화려하게 부활해 기계학습의 대세가 되었죠. 이들이 과거에 밀렸던 이유는 뭘까요? 과거에는 신경망이 단층 퍼셉트론에 그쳐서 그렇습니다. 1969년 Minsky와 Papert의 저서 "Per..
5장 기계학습의 기초 - 5.3 초매개변수와 검증집합 이 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)을 기반으로 작성합니다. 머신러닝 모델을 결정짓는데에는 SVM, 선형 회귀 등 모델 자체에 대한 선택도 중요하지만, 초매개변수(Hyperparameter)를 결정짓는 것도 중요합니다. 예로 다항회귀식을 쓴다고 할 때, 회귀식의 차수는 모델의 용량을 결정하는 Hyperparameter가 될 것입니다. 앞서서 말씀드렸다시피, 차수가 높아지면 높아질 수록 훈련 집합에 대한 정확도는 훨씬 높아집니다. 다만 문제는 Overfitting이었죠. 그러면 이런 문제를 어떻게 극복할 수 있을까요? 그때 사용하는 집합이 검증집합(Validation Set)입..