딥러닝 기초 11

딥러닝(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) #2_ XOR using Neural Nets(NN)

안녕하세요. 문범우입니다.이번 포스팅에서는 XOR문제에 대한 이야기를 해보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. XOR 문제의 개요 지난 포스팅에서 딥러닝에 대한 개념과 그 동안의 역사에 대해서 알아보며, XOR문제가 매우 까다로운 문제로 다가왔음을 알아보았습니다. 그럼 그 골치덩이 문제를 어떻게 풀 수 있을까요? 먼저, 그때에 그 문제에 부딪혔던 이유 중 하나는, XOR문제가 단순히 하나의 모델로는 풀이가 불가능하다라는 증명 및 사실들 때문이었습니다. 그렇다면, 하나의 모델이 아닌 2개, 3개, 다수의 모델을 이용하면 어떨까요? ..

머신러닝(ML) #8_ Softmax classifier 의 cost 함수

안녕하세요. 이번 포스팅에서는 지난 포스팅에 이어 Softmax classifier의 cost 함수에 대해서 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Softmax classifier 우리가 지난 포스팅에서 학습한바와 같이, 위의 사진에서 오른쪽에 x 표가 되어있는 것보다는 제일좌측에 있는 하나의 행렬을 곱함으로써 하나의 벡터로써 결과가 나오게 됩니다. 즉 위와 같이 간단하게 생각해볼 수 있고, 빨간색 글씨 처럼 위에서 부터 a, b, c가 될 확률로 볼 수 있습니다.그런데 빨간색으로 나와있는 숫자보다, 우측 알파벳 옆에 쓰인 ..

머신러닝(ML) #7_ Multinomial classification의 개념

안녕하세요.이번 포스팅에서는 Multinomial classification의 개념에 대해 알아보도록 하겠습니다. * 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.관련한 상세 내용은 아래 링크를 참고해주세요.https://hunkim.github.io/ml/ 1. Multinomial classification 이란? 앞으로 몇개의 포스팅에서 우리는 여러개의 클래스가 있을때 그것을 예측하는 Multinomial clssification, 그리고 그 중에서도 가장 많이 사용되는 softmax classification에 대해서 알아봅니다.먼저 Multinomial classification 이란 무엇일까요? 우리는 지난 포스팅을 통해 Logistic regre..