본문 바로가기
반응형

신경망8

딥러닝) 소프트맥스 함수로 출력층 설계 Machine Learning은 분류(classificaton)와 회귀(regression)로 나뉘며, 이 데이터 클래스에 따라 출력층에서 사용하는 활성화 함수가 다르다. 일반적으로 회귀에서는 항등 함수를 사용하고 분류에서는 소프트맥스 함수를 사용한다. 항등 함수(identity function)는 입력값을 그대로 출력하는 함수이고, 소프트맥스 함수(softmax function)는 다음과 같다. 1. 소프트맥스 함수 소프트맥스 함수는 분자는 k번째 입력 신호의 지수 함수로, 분모는 모든 입력 신호의 지수 함수의 합으로 이루어진 함수이다. 2. 소프트맥스 함수 구현 시 주의점 소프트맥스 함수는 지수 함수를 사용하는데, 지수 함수는 기하급수적으로 증가하는 함수이므로 오버플로 문제가 발생할 수 있다. 이러한.. 2021. 2. 14.
딥러닝) 다차원 배열, 신경망 구현 1. 넘파이를 사용하여 다차원 배열 작성 np.array 배열 작성 np.ndim 배열 차수 확인 shape 배열 형상 튜플로 확인 2. 넘파이를 사용하여 행렬의 곱 작성 np.dot 행렬의 곱 3. 3층 신경망 구현 init_network 함수는 가중치와 편향을 초기화하는 함수이고, forward 함수는 입력신호에서 출력값으로 변환하는 함수이다. 다음 포스팅에서는 소프트맥스 함수를 이용하여 출력층 설계하는 것을 다룰 것이다. 출처: 사이토 고키, 『밑바닥부터 시작하는 딥러닝』, 한빛미디어(2017), p77-90 2021. 2. 13.
딥러닝) 활성화 함수 Activation Functions 이번 포스팅에서는 신경망에서 활성화 함수로 어떤 함수를 이용하는 지 살펴볼 것이다. 신경망에서는 활성화 함수로 비선형 함수를 사용해야 한다. 그렇지 않고 선형 함수를 사용할 경우, 신경망의 층을 깊게하는 의미가 없어진다. 즉, 층을 깊게 해도 은닉층 없는 네트워크로 대체할 수 있게 된다. > 선형 함수란? 특정 입력값에 대한 출력값이 입력값의 상수배만큼 변하는 함수, f(x) = ax + b > 비선형 함수란? 직선 1개로는 그릴 수 없는 선형이 아닌 함수 ★예를 들어, h(x) = cx 를 활성화 함수로 사용한 3층 네트워크를 생각해보면 y(x) = h(h(h(x))) 가 된다. 계산해보면 y(x) = c*c*c*x 로 층을 쌓듯 세 번 계산하지만 y(x) = ax 로 치환할 경우, 은닉층이 없는 네트.. 2021. 2. 10.
딥러닝) 퍼셉트론에서 신경망 신경망은 데이터로부터 적절한 매개변수 값을 학습하는 성질이 있어서 퍼셉트론에서 사람이 수동적으로 가중치를 설정했던 것을 해결해준다. 신경망의 기본 구조는 아래 그림과 같다. 보다시피 뉴런이 연결되는 방식은 퍼셉트론과 유사하다. 신경망의 신호 전달 방법을 보기 위해 잠깐 퍼셉트론과 그 수식을 보면 다음과 같다. 여기서 h(x) 함수를 사용하였는데, 이렇게 입력 신호의 총합을 출력 신호로 변환하는 함수를 활성화 함수(actication function)라 한다. 활성화 함수는 입력 신호의 총합이 활성화를 일으키는지를 정한다. a는 입력 신호의 총합이고, y는 a를 활성화 함수 h( )에 적용하여 출력한 결과값이다. 활성화 함수의 처리 과정을 명시적으로 나타내면 아래 그림과 같다. 이 퍼셉트론을 보면 활성화 .. 2021. 2. 2.
728x90
반응형