본문 바로가기

책/밑바닥부터 시작하는 딥러닝

(11)
4장 신경망 학습 (1) 앞 장에서 퍼셉트론과 달리 신경망은 데이터로부터 매개변수를 스스로 학습할 수 있는 능력이 있다고 했다. 손실 함수 근데 학습을 하려면 뭔가 기준이 있어야 한다. 마치 우리가 공부를 하고 시험을 친 뒤 시험 성적을 가지고 잘했네, 못했네를 판가름하는 것 처럼. 손실 함수가 시험 역할을 하는 것이다. 신경망이 학습을 하고 손실 함수를 지표로 삼아 학습을 잘했는지, 못했는지 판가름할 수 있다. Sum of Squares for Error, 오차제곱합 $y_k$는 출력 $t_k$는 정답 레이블, k는 데이터의 차원수를 나타낸다. y = np.array([0.1, 0.2, 0.3, 0.4]) t = np.array([0, 0, 0, 1]) y는 소프트맥스의 출력이고 t는 원-핫 인코딩이다. y가 인덱스 3일 확률..
3장 신경망 퍼셉트론과 신경망의 차이는 매개변수(가중치, 편향)에 있다. 퍼셉트론은 사람이 직접 매개변수를 설정해야 하지만 신경망은 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력이 있다. 근데 이 능력은 다음장에서 배운다. 활성화 함수 - 입력 신호의 총합을 출력 신호로 변환하는 함수 이를 수식으로 나타내면 다음과 같다. 여기서 $h()$가 활성화 함수를 의미한다. 활성화 함수의 종류를 알아보자 Step function (계단 함수) 입력이 0을 넘으면 1을 출력하고, 그 외에는 0을 출력하는 함수이다. 신경망에서 step function을 활성화 함수로 사용하지는 않고 Sigmoid와 비교하기 위해 알아본다. def step_function(x): return np.array(x > 0, dtype=n..
2장 퍼셉트론 퍼셉트론이란? 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론 신호는 1이나 0 두가지 값을 가질 수 있다. x1, x2는 입력 신호, w1, w2는 가중치, y는 출력신호를 뜻한다. 원은 뉴런 혹은 노드라고 부른다. 입력 신호가 뉴런에 보내질 때 각각 고유한 가중치가 곱해지고 이것들의 총 합이 임계값 θ를 넘어서면 1, 아니면 0을 출력한다. 퍼셉트론은 복수의 입력 신호에 각각 고유한 가중치를 부여하는데 이 가중치가 결과를 결정하는 요소로 작용한다. 즉, 가중치가 클수록 해당 신호가 그만큼 더 중요하다는 뜻이다. 단순한 논리 회로 AND 게이트 두 입력이 모두 1일 때만 1을 출력한다. def AND(x1, x2): x = np.array([x1, x2]) w = np.arra..