sigmoid

    [실습] numpy로 만드는 단층 신경망 - 이진 분류 1

    [실습] numpy로 만드는 단층 신경망 - 이진 분류 1

    이번에는 이진분류를 위한 신경망을 만들어보려 한다. 우선 이진분류 문제가 무엇인지 알아보자 ✔︎ 이진 분류 이진 분류 문제는 '예', '아니오' 혹은 '0', '1' 같은 두 가지 값에 대하여 하나로 답하는 문제이다. 퍼셉트론의 선형 연산을 살펴보면 하나의 값 만을 출력한다. 즉 두 가지 값으로 결과를 표현할 수 없다는걸 알 수 있다. 초기에는 '임의의 임계치'를 설정하고 선형 연산 결과가 이 값을 넘는지에 따라 두 가지 값 중 하나를 출력하는 방법을 사용했는데, 이 방법은 미분 불가능 이라는 치명적인 문제점을 가지고 있다. 선형 연산에서는 일단 범위에 제한이 없는 실숫값을 계산하되, 이를 확률값의 성질에 맞게 즉 0~1 사이의 값을 갖도록 변환해주는 비선형 활성화 함수를 찾아내게 되는데 그게 바로 시그..

    활성화 함수 activation function

    활성화 함수 activation function

    신경망모델의 각 layer에서는 input 값과 W(가중치)를 곱하고 b(편향)를 더하는 연산을 통해 a=WX+b를 계산하고 마지막에 활성화 함수를 거쳐 h(a)를 출력한다. 이렇게 각 layer마다 활성화 함수를 거쳐 출력하는 이유가 무엇일까? XOR문제 - 선형분류기의 한계 인공신경망에 대한 연구가 한계를 맞게된 첫 과제는 바로 XOR문제였다. 아래 그림에서 확인할 수 있듯이 기존의 퍼셉트론은 AND와 OR문제는 해결할 수 있었지만 선형 분류기라는 한계에 의해 XOR과 같은 non-linear한 문제는 해결할 수 없었다. 그리고 이를 해결하기 위해 나온 개념이 hidden layer이다. 그러나 이 hidden layer도 무작정 쌓기만 한다고 해서 퍼셉트론을 선형분류기에서 비선형분류기로 바꿀 수 있..

    [DL] 오차 역전파 Error Backpropagation

    [DL] 오차 역전파 Error Backpropagation

    순전파 (Feedforward) Input에서 Output으로 가중치를 업데이트하면서 활성화 함수를 통해서 결과값을 가져오는 것을 순전파(foward)라고 한다. 역전파 (Backpropagation) 역전파 알고리즘은 input과 output 값을 알고 있는 상태에서 신경망을 학습 시키는 방법이다. 역전파 방법은 결과 값을 통해서 다시 역으로 input 방향으로 오차를 다시 보내며 가중치를 재업데이트 하는 것이다. 결과에 영향을 많이 미친 노드(뉴런)에 더 많은 오차를 돌려준다. 계산 그래프 (computational graph) 계산 그래프(computational graph)는 계산 과정을 그래프로 나타낸 것 그래프는 복수의 노드 node 와 에지 edge 로 표현된다. 문제 현빈 군은 슈퍼에서 사..