활성화 함수(Activation Function)의 역할
신경망을 다루다 보면 활성화 함수(Activation Function)
라는 단어를 자주 듣게 됩니다.
신경망에서 활성화 함수는 입력값을 변형하여 출력값을 결정하는 중요한 역할을 합니다.
퍼셉트론이나 인공 신경망은 입력값을 단순히 더하는 것만으로는 복잡한 문제를 해결할 수 없습니다.
활성화 함수는 신경망이 단순한 규칙만 학습하는 것이 아니라, 더 복잡한 패턴도 학습할 수 있도록 돕습니다.
1. 활성화 함수가 필요한 이유
신경망에서 뉴런이 하는 일은 입력값을 받아 가중치를 곱하고 더한 후, 출력하는 것입니다.
활성화 함수가 없다면, 모든 뉴런은 단순히 입력값에 가중치를 곱하고 더하는 선형 연산(Linear Operation)
만 수행합니다.
이러한 선형 연산은 결국 하나의 직선
(또는 평면)으로 데이터를 구분하는 것과 같은 효과를 냅니다.
따라서 층을 여러 개 추가해도 같은 형태의 연산만 반복되므로, 신경망이 더 복잡한 패턴을 학습할 수 없습니다.
하지만 현실에서는 직선 하나로 구분할 수 없는 비선형 문제가 많습니다.
예를 들어 원 안에 있는 점들과 원 밖의 점들을 각각 다른 그룹으로 나누는 문제를 생각해보겠습니다.
이 경우 직선 하나로 데이터를 나누는 것은 불가능합니다.
2. 활성화 함수가 데이터를 변형하는 방법
활성화 함수는 단순한 곱셈과 덧셈만 수행하는 것이 아니라, 출력값을 변형하여 신경망이 곡선이나 복잡한 경계를 학습할 수 있도록 합니다.
즉, 입력값을 그대로 전달하는 것이 아니라 특정한 규칙에 따라 변형하는 것이 활성화 함수의 핵심 역할입니다.
출력값이 꺾이는 지점이란?
예를 들어 대표적 활성화 함수인 렐루(ReLU)
함수를 적용하면, 입력값이 0보다 작을 때는 0으로 바꾸고 0보다 크면 그대로 전달합니다.
이 함수는 입력값이 0을 기준으로 출력값이 갑자기 바뀌는 특징을 가집니다.
즉, 을 기준으로 그래프가 꺾이는 형태를 가지게 됩니다.
이렇게 값이 갑자기 변하는 지점을 비선형성이 추가되는 지점이라고 합니다.
3. 활성화 함수가 복잡한 패턴을 학습하는 방법
활성화 함수가 없다면 모든 층에서 같은 형태의 선형 연산만 반복되므로, 신경망이 학습할 수 있는 패턴이 제한됩니다.
하지만 활성화 함수를 사용하면 층을 지날 때마다 데이터가 비선형적으로 변형되므로, 신경망이 곡선으로 나누어진 데이터도 학습할 수 있습니다.
예를 들어, 층이 두 개인 신경망을 생각해보겠습니다.
-
첫 번째 층에서는 직선 하나로 데이터를 나누려고 하지만, 이를 완벽하게 나눌 수 없습니다.
-
두 번째 층에서 활성화 함수가 적용되면 출력값에 꺾이는 지점이 생겨, 더 다양한 형태로 구분 경계를 만들어 데이터를 분류합니다.
-
이를 반복하면 신경망이 단순한 직선이 아니라, 곡선이나 다중 경계를 사용해 데이터를 구분할 수 있게 됩니다.
이렇게 활성화 함수 덕분에 신경망은 복잡한 패턴을 학습할 수 있게 됩니다.
다음 수업에서는 대표적 활성화 함수 중 하나인 시그모이드 함수
에 대해 알아보겠습니다.
다음 중 빈칸에 가장 적절한 단어는 무엇일까요?
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말