본문 바로가기

Neural network8

Single Image Super-Resolution with Convolutional layers Single Image Super-Resolution with Convolutional layers SRCNN SRCNN은 convolutional layers를 이용하여 super resolution을 진행하는 매우 단순한 모델이지만 처음으로 super-resolution 분야에 convolutional layer를 사용한 모델이다. 3개의 layer를 가지고 있으며 feature extraction과 mapping, reconstruction으로 나뉘게 된다. Patch extraction은 보통 우리가 알고 있는 convolutional layer를 적용시킨 부분으로 feature를 뽑아내는 과정이고, Non-linear mapping은 1X1 convolution을 적용시키는 과정, 마지막으로 r.. 2019. 7. 10.
Autoencoder & Generative adversarial network Autoencoder & Generative adversarial network Neural network가 이미지를 만들 수 있다면, classification을 하는 것은 자연스럽게 따라오는 일이다. Unsupervised learning은 label을 가지고 있지 않는 데이터를 학습하는 모델로 데이터의 특징을 모델이 직접 추출하여 판단하는 것을 말한다. Unsupervised learning에서 이미지를 만드는 모델로 대표적인 것이 autoencoder model과 GAN 모델이다. Autoencoder 모델은 이미지를 생성하기 위해 input과 똑같은 이미지를 label로 하여 network를 학습시키는 모델이다. Encoder부분과 Decoder 부분으로 나뉘어져 있으며 가운데 bottlenec.. 2019. 7. 8.
머신러닝 실습 with Tensorflow 8장 - ReLu & Dropout & Xavier - 머신러닝 실습 with Tensorflow 8장- ReLu & Dropout & Xavier - 6장에서 Softmax를 사용하여 MNIST test data를 학습시킨 모델을 하였다. 이번에는 같은 데이터를 사용하여 Accuracy를 높이는 방법을 찾기 위한 실습을 진행할 것이다. 6장의 코드를 참고한 후 어떻게 변하는지를 체크하면 좋을 것 같다. 먼저 NN에 대한 학습 방법을 사용할 것이다. 6장에서 사용한 예시에서는 layer라는 것이 존재하지 않았다. 하나의 데이터를 넣어 바로 결과가 나오는 과정을 거쳤는데 Neural Network의 방법을 사용하여 여러 개의 layer를 만들어 학습시킬 수 있다. layer를 만들 때에는 shape에 대한 값이 매우 중요하다. Weight의 경우 들어오는 in.. 2017. 6. 12.
머신러닝 실습 with Tensorflow 7장 - Neural Network for XOR problem - 머신러닝 실습 with Tensorflow 7장- Neural Network for XOR problem - XOR 문제는 Neural Network를 시작시킨 문제라고 생각해도 과언이 아니다. 이전의 문제들은 W와 b의 하나의 값만을 이용하여 Linear regression을 통해 해결이 가능하였다. 하지만 XOR의 문제는 하나의 W와 b의 값으로 예측하는 것이 불가능하였다. 그래서 나온 방법이 Neural Network이다. 또 다른 layer를 만들어서 1차 결과 값을 새로운 layer의 입력 값으로 넣는 과정을 통해 최종 결과 값을 도출하는 것이다. 따라서 Neural Network에 대한 tensorflow 구현의 첫 번째로 XOR 문제를 풀어볼 것이다. 우선 x_data와 y_data는 정해져.. 2017. 6. 11.
머신러닝(Machine Learning) 15장 - ConvNet(Convolutional Neural Network) - 머신러닝(Machine Learning) 15장- ConvNet(Convolutional Neural Network) - Neural Network를 구성하는 방식은 여러 가지로 나눌 수 있다. 일렬로 regression을 나열할 수도 있고 입력 값을 여러 개를 받은 후 이를 모아서 다른 결과 값으로 나타나게 하는 방식이 있을 수 있다. 전자의 경우 앞에서 계속 배웠던 모델의 형태이고 후자의 경우는 이번에 학습할 ConvNet이라고 할 수 있다. ConvNet의 경우 처음에 고양이 실험으로부터 고안되었다. 고양이가 모니터 화면에서 움직이는 막대를 보는데 특정 부분에 따라 인식하는 뉴런이 다르다는 결론이 나왔다. 따라서 여러 개의 입력 값을 다르게 받아서 전체의 막대를 인식하는 것이다. 처음 특정 이미지가.. 2017. 6. 2.
머신러닝(Machine Learning) 14장 - 딥러닝 weight 초기화의 중요성 - 머신러닝(Machine Learning) 14장- 딥러닝 weight 초기화의 중요성 - 처음 딥러닝을 학습시킬 때 임의의 Weight 값을 넣게 된다. Weight이라는 값은 학습에 의해 계속 값을 바꾸어 가며 Cost function이 가장 작은 값을 가지게 하는 weight 값을 나타나게 된다. 그런데 같은 구조의 딥러닝을 실행시켜도 weight 값의 초기 값에 따라 cost function의 값을 최소화시키는데 걸리는 시간과 데이터의 수가 다르게 나타날 수 있다. 다음의 모델들은 sigmoid와 ReLU의 함수를 사용한 각각의 데이터 모델을 나타내는데 ReLU의 경우 하나의 모델은 바로 cost function이 최소화 되는 과정을 가는 반면에 다른 모델은 더 많은 데이터가 들어가야만 최소화가 되.. 2017. 6. 1.
머신러닝(Machine Learning) 13장 - ReLU function - 머신러닝(Machine Learning) 13장- ReLU function - XOR 문제를 해결하는 방법으로 Multiple logistic regression이라는 방법을 사용하는 Neural Network를 사용하였다. Neural Network는 logistic regression을 사용하는 만큼 sigmoid function을 이용하여 결과 값을 도출하였다. sigmoid function은 값의 결과를 0과 1로 나타나게 되므로 Activation function이라고 불렸다. 특정 범위가 되면 활성화되고 아니면 비활성화가 되는 것을 나타내기 때문이다. Neural Network는 layer로 regression의 부분을 나누게 된다. 맨 처음 입력 값이 들어오는 부분은 Input layer라고.. 2017. 6. 1.
머신러닝(Machine Learning) 5장 - Logistic (Regression) Classification - 머신러닝(Machine Learning) 5장- Logistic (Regression) Classification - Logistic Classification은 Classification 알고리즘들 중에서 굉장히 정확도가 높은 알고리즘으로 알려져 있다. 따라서 실제 문제에도 바로 적용해볼 수 있을 정도로 좋은 알고리즘이다. 또한 머신러닝의 Neural Network과 Deep Learning의 중요한 요소로 작용하기 때문에 자세히 알아놓아야 한다. 이번 시간에는 Classification 중에서 Binary Classification으로 둘 중에 무엇에 속하는지를 판별하는 알고리즘을 생각할 것이다. 예를 들면 스팸 감시가 될 수 있다. 특정 메일이 왔을 때 그 메일이 스팸인지 아닌지에 대한 판별이 필요.. 2017. 5. 24.