데이터 스터디/DL 25

05. 경사 하강법

이제 결론적으로 우리가 앞에서 살펴봤던 loss function을 최소화해줘야한다. 이를 위해서는 우리는 가중치에 대해서 미분하는 과정을 거치게 된다. 경사 하강법 그래서 미분한 함수가 최소가 되는 지점, 다시 말해서 접선의 기울기가 0에 가까워지는 지점을 단계적으로 차근차근 밟아가는 경사하강법을 거친다. 이때 배치 크기에 따라서 경사하강법 방법도 달라지는데, 배치라는 건 매개변수 값을 조정하기 위해서 사용하는 데이터의 양을 말한다. 그래서 전체 데이터를 갖고 매개변수의 값 조정할지/ 아니면 정해준 일정한 양을 가지고 조정할지에 따라서 경사하강법의 방법은 달라진다. 아는사람은 이미 알겠지만 전체 데이터 쓰는 건 batch 경사 하강법, 사용자가 지정해주면 minibatch 하강법이다. 1. 배치 경사 하..

04. 신경망 학습 - loss function

학습은 훈련데이터로부터 우리의 매개변수의 최적값을 자동으로 획득하는 단계이다. 여기서 매개변수는 2개, 기울기와 편향이다. 이때 최적값은 실제값과 예측값이 가장 비슷한 지점에서 만들어지겠다. 다시 말하면 loss function을 최소화하는 방향으로 학습을 해야한다는 의미이다. 손실함수의 종류 그래서 loss function의 종류로는 먼저 MSE가 있다. 신경망이 추정한 출력값에서 실제 값과의 차이가 얼마나 되는지를 알려주는 함수고 연속형 변수 예측에 사용된다. 직접 함수로 정의하면 다음과 같이 작성할 수 있다. 보시는 것 처럼 compile() 메소드를 사용해서 학습 방식에 대한 환경설정을 이렇게 해주면 된다. Compile은 세 개의 인자를 입력으로 받는데 1) optimizer, 2) loss f..

03. 신경망 추론 - 활성화 함수, 출력층 함수

신경망 추론 활성화 함수(activation function) 추론은 마지막 출력층 값이 뭔지 알아내는 과정이다. 따라서 입력신호랑 가중치 곱하고 편향 더한 이 총합을 출력신호로 변환하는 함수가 필요하다. 그리고 우리는 이를 활성화 함수라고 부른다. 활성화함수 처리과정을 보시면, 가중치가 있는 입력 신호와 편향의 총합을 계산한 걸 a라고 뒀을때 이걸 활성화함수 h()에 넣어서 y값을 출력하는 일련의 과정을 거치고 있다. 활성화 함수의 종류 활성화함수의 종류로는 단층에서는 step function, 계단함수를 쓰고 다층에서는 시그모이드나 렐루같은 비선형 함수를 사용한다. 계단함수 : 0이 계속해서 나오다가 특정 임계값을 넘기면 1로 바뀌는 모습. 위 예시에서는 임계값을 0으로 설정해서 x가 0을 넘으면 1..

02. 인공신경망

인공신경망 신경망은 그림처럼 입력층, 은닉층, 출력층에 뉴런을 적절히 배치해준 형태이다. 신경망에서 수행하는 작업은 크게 두 단계로 나눌 수 있는데, 추론과 학습이다. - 추론은, 가중치와 뉴런의 값을 곱하고 그리고 뉴런 값에 영향을 받지 않는 이 편향도 같이 더해줌으로써 다음 뉴런의 값을 얻어내는 과정을 말한다. - 학습은 최적의 매개변수를 찾아가는 과정이다. (여기서 매개변수는 2개인데 하나는 가중치고 하나는 편향이다.) 이 두 매개변수는 신경망이 학습될 때 수시로 갱신되는 친구들이고, 이때 학습이 얼마나 잘됐는지 알아보는 척도로 loss function을 사용해준다.

01. 퍼셉트론

인공신경망에 대해서 간단히 개념을 짚어볼까한다. 우선 퍼셉트론부터 !! 퍼셉트론 신경망의 기본 단위는 뉴런이다. 이 하나의 뉴런에서 다수의 신호를 입력 받아 하나의 신호를 출력하는 알고리즘을 퍼셉트론이라고 한다. 이때 x1, x2가 입력신호로 들어가고 y가 출력 신호로 나온다. 그리고 w1,w2가 가중치가 되겠고 이들을 둘러싸고 있는 원을 뉴런 다른 말로 노드라고 표현한다. 퍼셉트론 작동 방식 퍼셉트론이 작동하는 방식은 일단 입력신호x1, x2가 뉴런에 보내질 때 각각의 고유한 가중치 w1, w2와 각각 곱해진다. 그래서 이 신호들의 총합이 정해진 임계치를 넘어설 때 1을 출력하고, 임계치보다 작거나 같을 때는 0을 출력하게 된다. 이렇게 신경망이 작동하는 걸 뉴런이 활성화된다라고도 말할 수 있다. 이때..