반응형
Notice
Recent Posts
Recent Comments
Link
Today
Total
07-05 05:44
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
관리 메뉴

iOS 개발 기록 블로그

딥러닝 신경망의 내적, 3층 신경망 전체 코드 본문

Deep Learning

딥러닝 신경망의 내적, 3층 신경망 전체 코드

crazydeer 2021. 12. 23. 22:00
반응형

신경망의 내적

위에 신경망에서 x1과 x2가 각각 1과 2이면 y1과 y2의 값은 무엇일까?

 

x1*1 + x2*2 = y1

x1*3 + x2*4 = y2

x1*5 + x2*6 = y3

 

 

그러면 위 신경망에서 만들어진 가중의 총합인 y값을 시그모이드 함수를 통과시켜서 나온 y_hat을 출력해보자

 

 

 

3층 신경망 구현하기

3층 신경망 (hidden 2층) 전체 코드

 

시그모이드 함수

오즈비율 그래프에서 로짓 함수에서 시그모이드 함수로 발전하였다.

오즈 비율(Odds Ratio) 그래프는 실패할 확률 대비 성공할 확률을 말합니다.

로짓 함수는 오즈비 함수에 로그를 사용한 함수를 말합니다.

시그모이드는 로짓함수에서 P(확률) 값을 계산하기 편하도록 지수 형태로 바꾼 함수입니다.

 

 

입력값 1, 2와 가중치 2행 3렬의 [[1,3,5], [4,5,6]]을 이용하여 나온 [9, 13, 17]을 시그모이드 함수를 통과해보면 아래와 같습니다.

출력층 (3층)의 항등함수에 값이 입력되기 전의 y3 값을 출력해봅시다.

출력층 함수는 그동안 흘러왔던 확률들의 숫자를 취합하여 결론을 내줘야 하는 함수입니다.

예를 들어 강아지인지 고양이인지 분류하는 신경망이 있다고 가정하면 마지막 출력층에서

'이 입력 이미지들은 각각 몇 퍼센트의 확률로 강아지다.'라는 기능을 해줘야 한다는 것입니다.

이와 같은 분류의 경우 softmax (소프트맥스) 함수를 사용합니다.

반면 회귀 분석의 경우 항등함수를 사용하곤 합니다.

회귀 case의 예로는 독립 변수가 콘크리트 재료로 자갈 200kg, 시멘트 2포대이고 종속 변수로 콘크리트 강도의 문제에 항등 함수를 사용합니다. 

 

 

항등 함수 (identity function)

가중치를 딕셔너리에 담아봅시다.

 

 

1층, 2층, 3층 코드를 하나의 함수로 생성해봅시다. 

함수명: forward(network, x))

 

 

반응형