딥러닝 15

딥러닝(DeepLearning) #9_NN의 꽃, RNN(Recurrent Neural Network)

안녕하세요. 이번 포스팅에서는 Neural Network에서도 가장 재밌고, 꽃이라고 하는 Recurrent Neural Network(RNN)에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Sequence(or Series) Data 우리가 사용하는 데이터들 중에서는 sequence data들이 매우 많이 있습니다.예를 들어, 우리가 이야기하는 자연어에서도 단순히 하나의 단어에 대해서만 이해해서 전체적인 이해를 할 수 있는 것이 아니라, 그전에 이야기했던 단어들을 모두 이해해야 합니다. 이러한 데이터를 sequence da..

딥러닝(DeepLearning) #8_pooling and others

안녕하세요. 문범우입니다. 지난 포스팅에서 CNN에 대해서 알아보았습니다.이번 포스팅에서는 이어서, CNN에서의 pooling과 나머지 것들에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Pooling Convolution Neural Network의 전체적인 구조를 위의 그림과 같이 확인해보면, Convolution과 RELU가 붙어져 있으며 중간에 한번씩 POOL을 하게 됩니다. 이때 진행되는 POOL이라는 것이 무엇인가 알아보도록 하겠습니다. pooling이라는 것을 먼저 간단히 생각해본다면, sampling이라고 생각..

딥러닝(DeepLearning) #7_CNN(Convolutional Neural Networks) introduction

안녕하세요. 문범우입니다.이번포스팅에서는 Convolutional Neural Networks에 대해 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Convolutional Neural Networks 이번 포스팅에서 사용되는 슬라이드는 대부분 위의 사진에 나와 있는 주소에서 가져오게 되었습니다. 우리가 알아볼 Convolutional Neural Networks의 기본적인 개념은 고양이 실험에서 시작되었습니다. 고양이에게 어떤 이미지를 보여줬더니, 그림을 읽어들이는 뉴런들이 동시에 동작하는 것이 아니라, 특정 그림의 특정 부분에 대..

딥러닝(DeepLearning) #6_ Dropout and Ensemble

안녕하세요. 문범우입니다.이번 포스팅에서는 dropout과 model ensemble에 대해서 살펴보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Dropout 우리가 dropout을 하는 이유는 바로 아래와 같은 overfitting 때문입니다. 우리가 과거에 알아봤던 것처럼, 훈련 data에 있어서는 100%의 accuracy를 내지만, 실제로 test data에 있어서는 높은 예측율을 내지 못하게 되는 현상이죠. 위와 같이, 파란색 그래프, training 에서는 에러율이 점점 낮아지지만, 실제로 빨간색 그래프처럼 test data를..

딥러닝(DeepLearning) #5_ Restricted Belief Machine & Xavier initialize

안녕하세요. 문범우입니다.이번에는 지난 포스팅에 이어서 딥러닝을 잘하는 방법 중 weight의 초기값을 설정하는 방법에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. RBM(Restricted Belief Machine) 우리가 지난 포스팅에서 위의 그림과 같은 Vanishing gradient 문제에 대해서 알아보았습니다.그리고 이 문제에 대해서는 Hilton 교수님께서는 4가지 이유를 꼬집었습니다. 위의 4가지 항목중 제일 아래에 있는 것은 우리가 지난 포스팅에서 sigmoid함수 대신, ReLU함수를 사용함으로써 해결할 ..

딥러닝(DeepLearning) #4_ ReLU::Rectified Linear Unit

안녕하세요. 문범우입니다.오늘은 ReLU(Rectified Linear Unit)에 대해서 알아보겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. NN for XOR 우리가 지난 시간에 XOR문제를 위와 같은 모델로 하여 풀이를 진행해보았습니다.실제로 텐서플로우를 이용하여 구현해보기도 하였습니다.그때 각 유닛의 결과에 우리가 Sigmoid 함수를 붙여서 결과값이 0~1이내로 출력되게 했었습니다. 이러한 Sigmoid함수를 activation function 이라고 합니다.각 모델들에게 어떤 값을 보내게 될 때 일정값 이상이면 active되게 하고 그..

텐서플로우(Tensor Flow) #12_ Neural Network for XOR problem

안녕하세요.이번 포스팅에서는 우리가 딥러닝 이론에서 배웠던 XOR 문제를 텐서플로우로 해결해보도록 하겠습니다.이론적인 부분은 아래 글에서 설명드렸기에, 코드에 대한 이야기를 주로 할 것 같습니다. 딥러닝에 대한 기본적인 이론이기에 잘 이해가 안되시는 분들은 아래 글을 참고해주세요. 딥러닝(DeepLearning) #1_ 딥러닝의 시작딥러닝(DeepLearning) #2_ XOR using Neural Nets(NN) 딥러닝(DeepLearning) #3_ Backpropagation * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. XOR data set 먼저..

딥러닝(DeepLearning) #3_ Backpropagation

안녕하세요. 문범우입니다.이번 포스팅에서는 Backpropagation에 대해서 알아보겠습니다.지난 포스팅에서 XOR문제를 풀어보았는데, 정확하게 W나 b에 대한 값을 구하지는 못하였습니다. 그럼 이런 상황에서 어떻게 W와 b를 구하는지, 정확하게는 backpropagation이 어떻게 사용되는 것인지 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Intro 먼저, 우리가 어떻게 W나 b와 같은 값을 구할 수 있을까요?우리가 그동안 다루어 보았던 Gradient의 개념을 이용합니다. 우리는 보통 결과로 나오는 Y값을 통해 Cost함수..

딥러닝(DeepLearning) #1_ 딥러닝의 시작

안녕하세요. 문범우입니다. 이번 포스팅에서는 딥러닝의 기본 개념으로써 딥러닝의 시작과 XOR문제, 그리고 '딥'의 출현에 대해서 이야기 해보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. 딥러닝의 시작 많은 과학자들은 인간이 고민하고 어려워 하는 문제들에 대해서 기계가 해결시켜주기를 바랬습니다.그리고 그 시작으로 먼저 인간의 뇌를 분석하기 시작했습니다. 그리고 분석된 뇌에 대해서 수학적으로 식을 세우고, 풀어냈습니다. 이를 간단히 하여 위와 같은 그림으로 나타내게 되었습니다.지난 포스팅들에서도 확인했던 그림들입니다.그리고 이러한 구조를 직접..

머신러닝(ML) #10_ Learning and test data sets

안녕하세요.이번 포스팅에서는 머신러닝 모델이 얼마나 잘 동작하는지 알아보는 방법에 대해서 이야기하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Performance evaluation 우리는 지난 포스팅들을 통해, 머신러닝 모델을 만들고 데이터를 통해 학습을 시켰습니다.그런데 그 모델이 얼마나 훌륭한가, 얼마나 성공적으로 예측할 수 있을까를 어떻게 평가할 수 있을까요?우리가 만든 모델에 A라는 데이터를 통해서 훈련을 시켰는데 그 A를 토대로 그대로 평가한다면 어떨까요?당연히, 100%의 예측률을 보일 것입니다.예를 들면, 여러분들이 시험공부를 할..