파이썬 딥러닝 입문 강좌의 맛보기 강의입니다.
딥러닝의 학습 방법은 크게 두 가지, 순전파와 역전파로 이루어지는데요. 먼저 순전파와 역전파를 간단히 알아보고 각각에 대해서도 알아보도록 하겠습니다. 순전파 같은 경우에는 저희가 이미 입력이 들어왔을 때, 훈련 데이터 입력이 들어왔을 때 입력층에 넣어주고 그리고 각각에 대한 가중치, 각 노드에 대한 가중치와 그 다음 가중치의 합을 만들죠. 가중치의 합을 만들고 그 다음에 편향 바이어스를 합해서 다음 은닉층으로 전달을 해주고요. 또한 은닉층에서도 각각 갖고 있는 가중치를 곱하고 바이어스를 더해서 저희가 이런 데이터들을 가지고 결국 출력에 이런 신경망을 차례대로 입력층, 은닉층, 출력층 순으로 입력층, 은닉층, 출력층 차례대로 쌓여있는 층을 지나면서 결과값을 최종 결과로 만들어내는 이 공부 방향을 저희가 순전파라고 합니다. 순전파가 입력층, 은닉층, 출력층 이렇게 차례대로 공부를 해나가는 방향이 순전파의 방향으로 학습이 진행되는 거라면 역전파의 경우에는 순전파를 통해서 저희가 나온 출력값이 있죠 이 출력값을 저희가 예측값이라고 그러고 y-hat이라고 불렀죠 그래서 y-hat과 실제 갖고 있는 정답 다시 말하면 실제 값은 y라면 예측값 y-hat의 차이를 말하는 거죠 그 차이를 저희가 오차 내지는 비용, 코스트 이렇게 말씀드렸죠 이 오차를 우리가 맨 끝에서 출력이 나오면 한 번 순전파를 통해서 학습한 출력의 결과가 예측값이 되고 실제 값에서 예측값을 빼게 되면 오차가 나오게 되죠 이 오차를 토대로 해서 이 오차가 되도록이면 0이 되는 점점 점점 0이 되는 방향으로 저희가 공부를 다시 시켜 나가야 되는데 어떻게 공부를 시키느냐 바로 딥러닝의 핵심이 되는 역전파 백프로파게이션을 가지고 공부를 좀 시키는 거죠 그래서 우리는 역전파 같은 경우에는 저희가 출력으로 나오는 이 값 중에 저희가 오차를 구했죠 이 오차를 토대로 해서 다시 은닉층으로 보내지고 또 은닉층에서 뭐가 수정되는 거죠 앞으로 보내지면서 가중치나 편향 같은 것들이 뭐가 수정이 되는 거죠 그래서 다시 앞으로 보내지고 은닉층에서 입력층까지 거꾸로 거슬러 올라가는 거죠 입력층에 해당됐던 가중치들도 모두 다 수정하게 되는 거죠 수정이 한 번 또 일어나고 이 그림에서는 다시 한 번 수정이 일어나고 오차 역전파를 통해서 수정이 역전파 한 번 다시 두 번 이렇게 두 번 일어나고 그럼 이제 가중치가 수정이 되겠죠 금방 역전파에 의해서 저희가 수정된 가중치를 다시 순전파로 공부를 시키는 거죠 그럼 두 번째 예측값이 나오겠죠 첫 번째 예측값이 만약에 Y1의 해시였다 라고 한다면 두 번째 가중치를 오차의 역전파를 통해서 저희가 수정한 거를 두 번째 예측값이 나오면 아까보다는 오차가 조금 줄어드는 방향으로 공부를 시켰기 때문에 아까보다는 오차가 예를 들면 여기 10이었으면 여기는 오차가 8쯤 이런 식으로 좀 줄어드는 방향으로 될 거예요 그래서 이 오차가 점점점점 0에 가깝게 될 때까지 오차 역전파를 통해서 이 오차를 토대로 해서 가장 출력층과 가장 붙어있는 은닉층의 가중치를 우리가 수정시키고 다시 또 앞으로 입력층에 해당되는 이 가중치까지 모두 다 수정시켜서 다시 수정된 데이터를 또 공부시키는 거죠 이런 반복 순전파와 역전파를 통해서 결국 순전파는 저희가 가중치와 가중합을 구하고 활성함수를 적용시켜서 예상값을 만들어내는 게 이제 순전파라면 그렇게 만들어진 예상값하고 실제 값의 차이를 보고 그 차이가 줄어드는 방향으로 가중치들을 수정해 나가는 거죠 이렇게 층을 거슬러 올라가면서 차례대로 저희가 이제 수정해 나가면서 공부하는 것을 오차역전파, 백프로파게이션이라고 얘기를 할 수 있다 라고 보시면 될 것 같고요 언제까지 그럼 이 순환의 방법, 순전파와 역전파 방법을 하냐면 오차가 최대한 에폭이나 이런 것들을 언제 몇 번 반복할지를 말을 해주게 되는데 그 동안 안에 가장 최소의 점, 오차의 최소점이 될 수 있을 때까지 가중치를 계속해서 저희가 업데이트해 나가면서 공부를 다시 하는 이런 학습이 바로 딥러닝 학습이다 라고 보시면 되겠습니다
