기본 콘텐츠로 건너뛰기

라벨이 activation_function인 게시물 표시

[matplotlib]quiver()함수

활성함수

내용 시그모이드함수(Sigmoid function) ReLU 함수 하이퍼볼릭탄젠트함수 활성함수(activation function) 활성함수는 가중치 합계를 계산하고 여기에 편향을 추가하여 뉴런의 활성화 여부를 결정합니다. 즉, 이 함수를 통과하면서 선형함수의 결과를 비선형으로 전환됩니다. 선형함수는 입력과 출력사이에 상수배의 관계를 의미합니다. 즉, 동일한 변화를 가지는 것으로 직선의 형태를 보이지만 비선형은 직선으로 표시할 수 없습니다. 선형함수의 반복은 그 관계를 변화시킬 수 없으므로 입력 층에 대한 신호의 변화를 명확히 하기 위해 비선형 함수 즉, 활성함수를 사용하여야 합니다. 결과적으로 활성화 함수는 미분가능한 비선형 결과를 반환합니다. 활성화함수는 다양한 종류가 있으며 그 중 일반적으로 사용하는 몇 가지를 살펴보면 다음과 같습니다. 시그모이드함수(Sigmoid function) 시그모이드 함수는 식 1과 같으며 모든 값은 (0, 1) 구간내로 변환합니다. $$\begin{equation}\tag{1} \begin{aligned}&\text{sigmoid} ;\\ & f(x)=\frac{1}{1+\exp(-x)} \end{aligned} \end{equation}$$ 인공 뉴런은 임계값을 기준으로 활성화 여부를 결정합니다. 입력이 임계값을 초과할 때 값 1을 취하고 반대의 경우는 0을 취합니다. 딥러닝은 그라디언트 기반 학습으로 임계값 단위에 대한 매끄럽고 미분 가능한 근사값의 출력이 가능하여야 합니다. 시그모이드 함수는 이러한 조건을 충족하는 함수입니다. 그러나 입력이 0에 가까울 때 시그모이드 함수는 선형 변환에 접근합니다. x=torch.arange(-10, 10, 0.001, requires_grad=True) y=torch.sigmoid(x) plt.plot(x.detach().numpy(), y.detach().numpy()) plt.xlabel("x...