-
2. 신경망(1)AI 모델(딥러닝 기초)/2. 신경망 2022. 12. 26. 13:36728x90
지난 시간 퍼셉트론에 이어 퍼셉트론이 발전된 형태인 신경망에 대해서 알아보자.
신경망은 입력층 -> 은닉층 -> 출력층의 순서로 은닉층이 많아질 수록 복잡한 형태를 가진다.
신경망은 겉으로 보기에는 퍼셉트론과 큰 차이를 느낄 수 없지만, 가장 핵심적인 차이가 "활성화 함수"라고 할 수 있다.
※ 활성화 함수란?
- 입력신호의 총합을 출력신호로 변환하는 함수.
- 입력 신호의 총합이 활성화를 일으키는지 아닌지를 정하는 역할을 함.
■ 활성화 함수의 처리 과정
신경망과 퍼셉트론의 차이점을 제대로 볼 수 있는 예시 그림이다. 이 그림을 보면 퍼셉트론에는 없던 h(a)함수를 포함하는 큰 노드가 하나 더 있는 것을 알 수 있다. 이런 활성화 처리 과정의 노드를 하나 더 포함하고 있는 것, 활성화 함수 h(a)가 존재한다는 것이 신경망의 특징이다.
■ 활성화 함수
활성화 함수에는 계단함수, Sigmoid 함수, ReLu 함수 등이 있는데 먼저 이번 시간에는 계단함수를 알아보자.
계단 함수란?
- 임계값을 경계 출력이 바뀌는 함수
- 퍼셉트론에서 사용하는 활성화 함수
-5.0 ~ 5.0 사이의 범위 내의 계단함수를 구현해 보았다.
def step_function(x): return np.array(x>0, dtype = np.int)
이렇게 간단하게 구현을 할 수 있는데, numpy의 기능을 사용하여 x>0 이상인 경우 true 배열로 만들어 int형으로 형변환된 1을 출력시키고, 아닌 경우 false 배열로 만들어 int형으로 형변환된 0을 출력시키는 형식을 이용했다.
다음 시간에는 이 계단함수를 신경망의 유연성에 맞추어 발전시킨 Sigmoid함수와 ReLu함수를 알아보자.
728x90