AI73 [PyTorchToAll] 4. Back-propagation 이번 시간에는 매우 중요한 개념인 역전파(Back-propagation)에 대해서 다루도록 하겠다. 저번 시간에는 x를 입력으로 받고, y hat을 출력으로 하는 매우 간단한 선형 모델에 대해서 배웠다. 우리는 손실 함수를 가중치로 미분하여 gradient를 계산하는 training 과정을 거쳤다. 저번 시간에는 간단한 네트워크였기 때문에 올바른 가중치를 구하기 위해 일일이 gradient를 계산하는 것이 가능했지만 만약 매우 복잡한 네트워크를 만나게 된다면 이 과정이 너무 오래 걸릴 수 있다. chain rule을 이용하여 계산 그래프를 이용하면 더 쉽게 계산할 수 있다. 먼저 chain rule에 대해서 알아보겠다. 위에서 설명하듯이 g_(g underscore)함수는 x를 입력으로 받아서 g를 출력.. 2020. 1. 22. [3분 딥러닝] 3. 파이토치로 구현하는 ANN 이번 시간에는 파이토치를 이용하여 가장 기본적인 인공 신경망인 ANN(Artificial Neural Network)을 구현해보도록 하겠다. 구체적으로는 텐서와 Autograd 패키지, 경사하강법으로 이미지 복원하기, 신경망 모델 구현하기를 해볼 것이다. 파이토치가 행렬 계산이 많은 딥러닝의 특성을 담아서 파이썬과 조금 다르다. 텐서(tensor)가 가장 기본적인 자료구조로서 그 예이다. ※ 3.1 텐서와 Autograd ● 3.1.1 텐서의 차원 자유자재로 다루기 ⊙ 파이토치 임포트 ⊙ 텐서 텐서는 파이토치에서 다양한 수식을 계산하는 데 사용하는 가장 기본적인 자료구조이다. 수학의 벡터나 행렬을 일반화한 개념으로, 숫자들을 특정한 모양으로 배열한 구조이다. 텐서에서 중요한 개념은 차원, 랭크(rank).. 2020. 1. 21. [3분 딥러닝] 1. 딥러닝과 파이토치 3분 딥러닝 카테고리에는 한빛미디어의 펭귄브로의 3분 딥러닝 파이토치맛이라는 책의 내용을 정리하도록 하겠다. 1장에서는 딥러닝의 기본 지식을 쌓고, 여러 머신러닝 방식에 대해 알아본다. 딥러닝을 구현하기 위해 텐서플로, 케라스 등 여러 방법이 있는데 그 중에서 파이토치가 무엇이고 왜 좋은지 알아보도록 하겠다. ● 인공지능과 머신러닝 인공지능은 인간의 사고를 인공적으로 모방한 모든 것이다. 인공지능이 큰 개념이라면 그 안에 머신러닝, 그 안에 딥러닝이 있다. 머신러닝은 주어진 데이터를 가지고 통계학적인 모델을 학습시켜 인공지능을 구현하는 방법이고, 딥러닝은 머신러닝의 수많은 학습법 중 한 갈래인 것이다. 초기의 인공지능은 입력부터 출력까지 각각의 단계를 사람이 일일이 지정해주었는데 머신러닝은 그것에서 더 .. 2020. 1. 21. [PyTorchZeroToAll] 3. Gradient Descent 이번 시간에는 손실 함수의 최소값을 알기 위해서 사용하는 gradient descent 알고리즘에 대해 알아보도록 하겠다. 저번 시간에 배웠듯이 가중치값을 달리하면서 에러의 평균값들을 알아내서 손실 그래프를 그릴 수 있었다. 우리는 손실 함수의 값을 최소로 하는 가중치를 사용하여 모델을 훈련시키고 싶은 것이다. 그렇다면 이번에는 Linear Regression Error에 대해 알아보도록 하겠다. 위 예에서는 파란 선이 맞는 weight을 사용한 것이므로 우리는 주황색이든 초록색이든 선에서 시작해서 파란선으로 가까이 가게 해야한다. 우리가 해야할 것은 손실 함수를 최소로 하게 하는 가중치 weight을 찾는 것이고, 이것을 pytorch에서는 argmin 함수로 알아낼 수 있다. 위의 arg_w_minl.. 2020. 1. 21. 이전 1 ··· 6 7 8 9 10 11 12 ··· 19 다음