전체 글
-
Logistic Regression 정리머신러닝 2021. 10. 12. 11:06
로지스틱 회귀분석(Logistic Regression) 이란 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해 주는 지도 학습 알고리즘입니다. 쉽게 말하면, 선형회귀분석과 비슷한데 Y값이 확률로 되어 있기 때문에 하한, 상한이 [0, 1] 사이로 정해져 있습니다. 그리고 특정 threshold 값을 기준으로 삼아서 예측된 확률 값이 threshold 이상인 것과 미만인 것으로 분류를 하는 식입니다. 즉 1개 이상의 독립변수가 있을 때 이를 이용하여 데이터가 2개의 범주 중 하나에 속하도록 결정하는 이진 분류(binary classification) 문제를 풀 때 로지스틱 회귀분석을 많이 사용합니다. 로지스틱 회귀식은 다음과 ..
-
SRGAN Tensor flow 코드 구현 및 테스트pytorch & tensorflow 2021. 10. 7. 17:55
SRGAN을 텐서플로우로 모델 구현을 해보겠습니다. 논문에 대한 설명은 밑의 주소에 간단하게 정리 했습니다. https://hwanny-yy.tistory.com/18 SR-GAN 정리 및 코드 Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network 라는 제목으로 CVPR2017에 올라간 논문입니다. 2017년에는 좋은 논문들이 많이 나온것 같네요! SRGAN - Super Resolution.. hwanny-yy.tistory.com Generator SRGAN의 generator부분입니다. 중요부분으로는 residual block과 subpixel block입니다. Residual block에는 특별하게 ..
-
SR-GAN 정리 및 코드paper(논문 정리) 2021. 10. 6. 15:58
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network 라는 제목으로 CVPR2017에 올라간 논문입니다. 2017년에는 좋은 논문들이 많이 나온것 같네요! SRGAN - Super Resolution + GAN Super resolution 분야에서 사용된 GAN 모델이다. Super Resolution은 해상도를 높이는 것을 의미한다. 고전의 방법으로는 bicubic, linear 같은 방법으로 보간법(interpolation) 주변의 픽셀을 활용해서 확장된 영역의 픽셀을 채웠다. 딥러닝이 나오고 CV영역에서는 고전의 방법으로 하던 작업을 딥러닝으로 옮기고자 한다. 많은 super resolution을 위..
-
Logistic Regression [coursera 강의 정리]머신러닝 2021. 10. 5. 01:36
분류 문제 분류 문제는 정답이 0 또는 1 두개의 문제로 볼 수 있다. 선형회귀를 사용해서 분류문제를 해결하려고 하면 대부분의 상황에서 정상적으로 동작하지 않는다. 그래서 Logistic Regression을 사용하는데 분류문제인데 Regression이 붙는 이유는 역사적(?)으로 그렇게 불렸기 때문이라고 한다. 우선 h(x)는 그대로 선형회귀에서 사용했던 모델을 그대로 사용한다. (1차결합 식) 다만 g(z)라는 형태로 h(x)를 새롭게 사용하게되는데 g(z)는 sigmoid function이라고도 한다. Logisitic Function의 모양은 위의 그림과 같다. 결과값이 0일때 0.5가 되고 작으면 0으로 수렴하고 크면 1로 수렴한다. 쉽게 말하면 선형회귀의 값을 0~1사이의 값으로 만들고 싶고 ..
-
Normal eqation coursera 강의 정리머신러닝 2021. 10. 4. 22:54
앞에서는 선형회귀의 cost function을 통해 theta를 찾는 것에 대해 설명했다. 이번 강의에서는 gradient decent를 사용하지 않고 theta를 찾는 방법인 normal eqation에 대해 설명한다. m개의 샘플과 n개의 feature가 있을때 m x (n+1)의 행렬로 나타낼수 있다. 가설함수 h(x)는 같은 식으로 나타낼 수 있다. 이를 행렬식으로 나타낸다면 다음과 같다. theta에 전치시킨 벡터에 X벡터를 곱한것으로 나타낼 수 있다. 이전에는 theta를 찾기 위해 비용함수를 미분하여 0이되는 theta를 찾았지만 역행렬을 이용한다면 쉽게 미분을 하지않고 쉽게 찾을 수 있다. (X'X)의 역행렬만 구하면 theta를 바로 구할 수 있게 된다. gradient decent방법과..
-
Efficient net 정리paper(논문 정리) 2021. 10. 4. 19:22
Efficient net 말 그대로 효율적인 network를 의미한다. 딥러닝 모델을 설계할 때 어떻게 하는것이 효율적인지에 관해 얘기를 한다. NAS(neural architecture search)에 관해 얘기하는 것으로 기존의 모델 설계 방법과 상관관계를 분석하여 효율적인 모델이 어떻게 될 수 있는지를 얘기한다. compound scaling이라는 모델 scaling기법을 설명하고 있다. 논문이 하고자 하는 것을 한문장으로 나타내면 아래와 같다. In this paper, we want to study and rethink the process of scaling up ConvNets. model scaling 가장 핵심이 되는 내용이 그림 한장에 표현되어 있다. base line을 만들고 성능과 ..
-
FCN 논문 생각 정리paper(논문 정리) 2021. 10. 4. 17:16
Image task 정리 과거에는 이미지를 보고 분류를 하는 작업이 많은 연구가 이루어 졌다면 segmentation은 이미지 속 물체의 정확한 경계를 구분하는 것을 의미한다. 현재 이미지 속 객체를 처리하는 태스크는 크게 4개로 분류 할 수 있다. 1. image recognition : 이미지 인식으로 사진속 어떤 것이 있는지를 판단한다. 2. object detecion : 이미지 속 객체의 bounding box를 나타낸다. 한눈에 봐도 image recognition을 하고 그 다음에 위치까지 알아서 box를 그려야 하므로 조금더 어려운 작업이라고 볼 수 있다. 3. semantic segmentation : object별로 픽셀단위로 정확한 경계를 그리는 것을 의미한다. 말그대로 semanti..
-
resnet-36, resnet-50 구현 tensorflowpytorch & tensorflow 2021. 9. 29. 17:49
목표 basemodel로 널리 사용되고 있는 resnet에 대하여 간단하게 알아보고 블럭 구현및 테스트를 진행 해보자! resnet은 residual path --> skip connection이라고도 표현되는 구조를 고안했다. 이미지 처리를 딥러닝으로 하다 보면 문제점이 발생하는데 그것은 layer의 깊이와 관련되 있을 것이다. 일반적으로는 layer가 많고 깊에 쌓을 수록 좋은 성능을 보여준다. 하지만 위의 그림처럼 무조건 깊게만 하면 성능은 오히려 떨어지게 되는데... 깊어짐에 따라 overfitting문제가 발생할 수 있고 gradient vanishing 문제가 발생한다. 그렇기 때문에 무작정 층계만 많이 쌓으면 오히려 성능이 많이 저하되는 것을 볼 수 있다. 그것을 해결하기 위해 residua..