관리 메뉴

데이터 과학

인공신경망에서 함수 본문

인공지능/기초 인공신경망

인공신경망에서 함수

티에스윤 2024. 3. 31. 16:09

오류역전파는 정방향(forward) 알고리즘으로 순차적으로 연산을 진행하는 알고리즘입니다. 

 

앞에 있는 행렬을 학습하고 입력값과 가중치(weight) 값을 연산하면 출력값이 나타나는데 이 출력값을 그냥 반영하면 안 되고 이를 변형해야 합니다. 

 

https://tsyoon.tistory.com/144

 

인공신경망에서 행렬

인공 신경망에서 행렬 이론은 중요한 역할을 합니다. 인공 신경망에서 입력 데이터와 가중치를 행렬로 표현하고, 이를 행렬 곱셈을 통해 계산하는 것이 기본적인 방법 중 하나입니다. 이를 통해

tsyoon.tistory.com

 

위 행렬 예제에서 가중치에 있는 값을 입력값과 연산을 해 봅시다.

W1 = [[0.1, 0.2, 0.3], 
          [0.4, 0.5, 0.6]]
h = W1 * x = [[0.1, 0.2, 0.3],    [[1],     [[1.9], 
                     [0.4, 0.5, 0.6]]     [2]]  =   [4.8]]

 

[ 3.2  3.8  4.4]

 

이 값으로 결과가 나오는데 이 결과가 각각 h1, h2, h3로 설정이 됩니다. 

 

여기서 이 값을 그대로 반영하며 값의 범위가 커지게 됩니다. 값이 무한정으로 커진다면 범위안에 계산이 어렵고 정규화가 어렵다는 이야기입니다. 

0과 1사이의 범위 안에 두고 정규화를 하면 값의 범위도 지정할 수 있고 연산도 간편하겠죠. 

 

이를 위해 함수를 지정합니다. 

초창기에는 스텝 함수를 사용하였는데 스텝 함수는 0과 1의 결과로만 나오기에 너무 극단적입니다.

좀 더 현실적으로 사용할 수 있는 함수를 반영해야겠죠. 

 

이에 대해 적용한 함수가 시그모이드(sigmoid)입니다. 

비선형 함수이며 0과 1사이의 값을 로지스틱으로 표현할 수 있습니다. 

 

 

https://tsyoon.tistory.com/46

 

인공신경망에서 시그모이드 함수

인공신경망에 대해서 공부하려면 함수(function)의 의미에 대해 이해를 해야 합니다. 퍼셉트론을 사용할 때 함수의 개념을 이용하여 경계를 기준으로 값을 변환시키는 형태로 알고리즘을 작성하

tsyoon.tistory.com

 

위 내용을 이해하여 시그모이드 함수의 기본 사용 방법을 익혀 봅시다. 

 

이후에는 손실함수를 사용하여 오차를 줄이는 방법을 사용합니다.