Ai(24)
-
[밑바닥딥러닝] 11. 오차역전파법(backpropagation) 구현(2)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 8장에서 살펴보았던 2층 신경망 구현에서는 가중치에 대한 편미분을 수행해 이를 가중치 갱신에 반영하였다. https://humankind.tistory.com/57 [밑바닥딥러닝] 8. 2층 신경망 구현, 미니배치 학습 본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 지금까지 살펴본 신경망의 출력, 손실 함수, 그레디언트, 가중치 humankind.tistory.com 하지만 이는 시간 복잡도 측면에서 매우 비효율적인 방법이었고, 오차역전파법이 그 대안이 될 수 있다는 사실을 확인하도록 하자! 2층 신경망 구현 from..
2021.10.07 -
[밑바닥딥러닝] 10. 오차역전파법(backpropagation) 구현(1)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 지난 장에서는 덧셈 노드와 곱셈 노드에서의 순전파와 역전파 방법에 대해서 살펴보았다. 이번 장에서는 저 두 노드 이 외에도 다양한 계산 노드의 순전파/역전파 구현을 알아보도록 하자. 활성화 함수 구현 1. ReLU 계층 첫번째로 알아볼 활성화 함수는 ReLU 함수이다. 출처 : https://medium.com/@danqing/a-practical-guide-to-relu-b83ca804f1f7 ReLU 함수는 은닉층 노드에 적용되는 활성화 함수 중 하나로, 가중치 합(w1*x1 + w2*x2 + .... +b)이 0을 넘지 못한다면 해당 노드를 0으로 만들고, 0을 넘는다면 가중치 합 그대로를..
2021.10.07 -
[밑바닥딥러닝] 9. 오차역전파법(backpropagation) - 계산그래프
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 지난 장에서는 예측 모델에서 예측한 결과와 실제 값과의 차이를 통해 손실값을 계산하고 계산된 손실 값에서 가중치(및 편향)에 대해서 (가중치마다) 수치미분을 수행해 이를 가중치 갱신에 반영하여 학습시키는 방법에 대해서 알아보았다. 하지만 이는 시간 복잡도 측면에서 매우 비효율적인 방법이므로 이번 장에서 오차역전파법(Backpropagation)에 대해서 알아보도록 하겠다. 계산 그래프 오차역전파에 대해 알아보기 앞서서 계산 그래프가 무엇인지 살펴보고 계산 그래프를 사용했을 때의 이점에 대해서 알아보도록 하겠다. 개당 가격이 a원인 사과 n개를 주문하고 이에 대한 소비세가 t %라고 할 때 이를 ..
2021.10.03 -
[밑바닥딥러닝] 8. 2층 신경망 구현, 미니배치 학습
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 지금까지 살펴본 신경망의 출력, 손실 함수, 그레디언트, 가중치 업데이트, 미니 배치 학습을 모두 이용하여 2층 신경망을 구현하고, 실제로 신경망을 학습시켜보도록 하겠다. 2층 신경망 구현 class TwoLayerNet: def __init__(self, input_size, hidden_size, output_size, weight_init_std = 0.01): ### 가중치들을 초기화 def predict(self, x): ### 입력값 x와 가중치들을 바탕으로 출력값을 반환 def loss(self, x, t): ### 입력값 x를 통해 예측값을 계산하고 ### 타깃값 t..
2021.10.01 -
[밑바닥딥러닝] 6. 수치 미분, 편미분
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 기계학습에서 학습이 이루어지는 근간이자 수단이 바로 '미분'이다. 이 미분이란 무엇이고, 기계 학습에서 어떻게 이용될까? 수치 미분 / 편미분 In mathematics, the derivative of a function of a real variable measures the sensitivity to change of the function value (output value) with respect to a change in its argument (input value) 출처 : https://en.wikipedia.org/wiki/Derivative 위키디피아에 따르면 미분은 어떠한 ..
2021.10.01 -
[밑바닥딥러닝] 5. 신경망 학습 - 손실 함수, 미니 배치 학습
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 기계학습에서 '학습'이란 훈련 데이터(입력, 타깃)를 통해 가중치 매개변수의 값을 가장 최적의 방향으로 조정하는 과정을 말한다. 이번 장에서는 신경망에서 학습이 이루어지는 원리를 실습을 통해 알아보도록 하자. 훈련 데이터 기계학습에서는 예측 모델을 학습시키기 위해서 훈련 데이터(training data)를 사용한다. 훈련 데이터란 오로지 학습을 위해서 전체 데이터에서 일부분의 데이터를 따로 떼어놓은 데이터들이다. (이후에 훈련 데이터도 하이퍼 파라미터의 조정을 위해서 또 나눠지긴 하지만 일단은 위의 수준까지만 알아두자.) 훈련 데이터로 훈련시킨 예측 모델은 시험 데이터(test data)를 통해..
2021.09.30