파이토치12 [PyTorchZeroToAll] 9. Softmax Classifier 이번 시간에는 신경망에서 폭넓게 쓰이는 softmax classifier에 대해서 알아보도록 하겠다. 손으로 쓴 숫자들이 0~9 사이에서 무엇인지를 알아보는 MNIST 데이터셋이다. 이것은 classification 문제이고, 하나의 입력을 받아서 0 또는 1의 하나의 출력을 내는 이미 존재하는 logistic regression model을 사용할 수 있을 것이다. 그러나 우리는 0~9까지의 10개가 가능하기 때문에 출력이 10개인 것이 더 합당할 것이다. 이것을 어떻게 구현하고 출력을 예측해야할 것인가? 우리는 matrix 곱셈을 이용해서 이것을 계산할 수 있다. 저번 시간에 왼쪽 행렬과 같이 입력이 2개일 때, 가중치 행렬이 2 x 1의 형식이어서, 출력 결과를 올바르게 낼 수 있었다. 그렇다면, .. 2020. 1. 27. [PyTorchZeroToAll] 8. PyTorch DataLoader 이번 시간에는 우리가 사용할 큰 데이터를 더 빠르게 로드하는 법에 대해 알아보도록 하겠다. 저번 시간에는 위와 같이 모든 데이터를 로드한 뒤에 각각을 ,로 구분해서 x_data와 y_data로 하나하나 구분했다. 훈련 단계에서도 모든 데이터들을 모델에 하나하나 모두 넣어서 예측값을 얻었다. 위의 예시에는 데이터가 700여개였기 때문에 크기가 작아서 모든 데이터를 하나하나 처리하기 어렵지 않았다. 하지만 만약 데이터의 크기가 매우 커지면 이런 식으로 하나하나 처리하기 어려워질 것이고 효율적이지 않다. 그래서 우리는 batch라는, 데이터를 일정한 크기로 묶어서 처리할 것이다. epoch, batch의 크기, 반복 횟수에 대한 정의는 위와 같다. epoch는 전체 데이터를 다루지만, batch는 일정한 크기.. 2020. 1. 27. [PyTorchZeroToAll] 7. Wide and Deep 저번 시간에는 linear model로 logistic regression을 구현했다. 위의 예시는 하나의 입력을 받아서 하나의 출력을 내는 결과를 보여주고 있다. 하나의 입력밖에 안 받기 때문에 forward하기에 충분하지 않을 수 있다. 그래서 더 좋은 결과를 얻기 위해서 여러 개의 입력을 준다고 해보자. 이번에는경험이라는 입력까지 넣어보자. 학점과 경험이라는 두 개의 입력을 받아서 과연 홍콩과기대에 합격할 수 있을지 예측하는 모델을 만드는 것이다. 이것을 해결하기 위해서는 행렬의 곱셈 연산에 대해서 알아야한다. 위와 같이 일반화하면 입력이 여러 개여도 곱셈 연산을 수행할 수 있다. 우리의 경우에는 입력이 2개이고, 출력이 한 개이기 때문에 위와 같이 코드를 작성하면 된다. 그래서 넓게, Wide라는.. 2020. 1. 27. [PyTorchZeroToAll] 6. Logistic Regression 저번 시간에는 linear regression을 pytorch로 구현해보았다. 이번 시간에는 logistic regression을 pytorch로 구현해보도록 하겠다. linear regression의 예에서는 실수를 입력으로 받고, 실수를 출력으로 내보냈다. 그런데 실생활에서는 0 or 1으로만 나뉘는 경우도 많이 있다. n 시간 공부했을 때 시험을 통과할지 떨어질지, 이 GPA, GRE 성적으로 홍콩과기대의 박사 과정에 통과할 수 있을지 아닐지, 일본과의 축구 경기에서 이길지 질지, 마음에 드는 이성에게 프로포즈할지 아닐지 이런 예들이 해당된다. 그렇다면 이런 0 또는 1의 결과는 어떤 입력과 출력을 우리의 모델에 주어야할까? 위의 식에 해당하는 시그모이드 함수를 사용한다. 입력이 커질수록 출력이 1.. 2020. 1. 23. 이전 1 2 3 다음