스크린샷 2021-04-19 오후 5 37 53

스크린샷 2021-04-19 오후 5 39 15

함수 : 어떠한 input 을 넣었을 때 ‘어떠한 과정, 규칙,방법에 의해서’ output 이 나왔는지. 이 때 input 이 여러 개 이면 다변수

스크린샷 2021-04-19 오후 5 41 17

스크린샷 2021-04-19 오후 5 41 40

인풋 값이 어떠한 규칙에 의해서 노란 선으로 바뀌었음.

input 이 2개,output 이 2개여도 (즉 각각 다른 규칙, 총 두 가지 규칙이 적용) 원리는 마찬가지.

스크린샷 2021-04-19 오후 5 44 35

[0,0] 은 규칙이 적용된 후에도 값이 아웃풋 값이 바뀌지 않고 [0,0] 에 유지되었음.

스크린샷 2021-04-19 오후 5 45 48

이렇게 시각화를 친절하게 해주는 채널이라니 ㅠㅠ ! 네 제가 3brown1blue 글로벌 팬입니다

인풋 2개를 넣어서 아웃풋은 3개가 나오는 것도 비슷한 원리이다.

스크린샷 2021-04-19 오후 5 49 09

스크린샷 2021-04-19 오후 5 49 33

스크린샷 2021-04-19 오후 5 49 45

편미분

저번 시간에 배운 한 축만 고정시킨 슬라이싱한 단면으로 보는 설명이 이어졌다.

스크린샷 2021-04-19 오후 5 52 10

미분 : “ 상대방 변화는 내 변화의 몇 배? “

스크린샷 2021-04-19 오후 5 54 19

편미분은 결국 input 이 여러 개 이고 output 값은 이 모든 input 에 영향을 받는데 상대방 변화는 내가 지정한 특정 input 의 변화의 몇 배인지를 알아내는 것.

스크린샷 2021-04-19 오후 5 55 00

가령 Z=f(x,y) 라는 이런 그래프를 그렸을 때

스크린샷 2021-04-19 오후 6 01 57

인풋값 (-1,1) 에서의 x 로의 편미분 값을 알고 싶다면

스크린샷 2021-04-19 오후 6 02 39

x 는 -1 에서 자유롭게 변하면서 y 는 1 에 고정되어있는 면을 기준으로 슬라이싱.

스크린샷 2021-04-19 오후 6 03 48

스크린샷 2021-04-19 오후 6 04 27

슬라이싱된 면(x 는 -1 에서 자유롭게 변할 수 있지만 y 는 고정된 면) 에서의 z 좌표값

스크린샷 2021-04-19 오후 6 04 38

미분 계수 = 기울기 이므로 -2 임을 그림으로도 확인 가능 !

스크린샷 2021-04-19 오후 6 05 50

마찬가지로 인풋값 (-1,1) 에서의 y 로의 편미분 값을 알고 싶다면

이번에는 x 는 -1 고정되어있고 y 는 자유롭게 변하는 면을 기준으로 슬라이싱

스크린샷 2021-04-19 오후 6 06 35

똑같이 면을 꺼내어보면

스크린샷 2021-04-19 오후 6 06 53

스크린샷 2021-04-19 오후 6 07 24

스크린샷 2021-04-19 오후 6 09 41

미분값을 그래프와 같이 보면 미분값 = 순간변화율 = 고정된 x 값에서 매우 극소량의 변화를 생각하다보면 결국 거의 개눈 감치듯이 스쳐지나가는 기울기 (기울어진 정도) = 기울어진 정도는 x 변화량과 y 변화량에 의한 그 사이 끼인 각으로부터 결정되므로 tangent line 이라고도 불림

스크린샷 2021-04-19 오후 6 12 41

편미분도 똑같은 방식으로 정의할 수 있음. 그리고 편미분은 d 가 아니라 저렇게 기울어진 ∂ 로 나타낸다고 함 !

스크린샷 2021-04-19 오후 6 18 08

그러면 인풋 값이 여러 개인 다변수 함수에선 x 로도 편미분할 수 있고 , y 로도 편미분할 수 있고, 또 양 쪽으로 이차 미분할 수도 있고 복잡한데 이럴 때 tree 를 그려서 생각하면 쉬움.

스크린샷 2021-04-19 오후 6 21 44

그리고 신기한 것은 x 로 먼저 미분한 후 y 로 미분한 것이나, y 로 먼저 미분하고 x 로 미분한 것이나 최종 이차미분 결과는 같다는 것 !

스크린샷 2021-04-19 오후 6 23 16

🔻: 다변수함수에서 각 변수로의 편미분을 다 모아둔 벡터

스크린샷 2021-04-19 오후 6 29 26

gradient is the direction of the steepest ascent

🔻 벡터를 가지고 벡터장을 그릴 수도 있음. 사실 몇 번 아는 내용도 알고 익숙해서 그렇구나 하고 듣다가 여기서부터 이해력에 버퍼링에 걸리기 시작하였다

스크린샷 2021-04-19 오후 6 34 29

IMG_C017876EC4B2-1

내가 찬찬히 이해한 바로는 상대방 변화는 내 변화의 몇 배인지 전미분을 구하려면 결국, 두 인풋 x,y에 모두 영향을 받아서 복합적으로 바뀌기 때문에

전미분 : (∂f/∂x)* dx + (∂f/∂y)* dy

dx 와 dy 는 등산이라고 치면 조금씩 산을 타고 가는데 순간순간 x 축,y 축으로 밟는 걸음걸이.

여기 그림의 미변수 함수로 치면 df= (2x) * dx + (2y) * dy ; 즉 하늘색 화살표가 가리키는 지점은 (-2,-4)

즉 df (=output 값의 변화량) 은 input x 와 y 에 의해 결정되는데 x 와 y 값이 크면 클수록 전체 output 값의 변화량도 커지고 (화살표의 색깔), 벡터장의 화살표 방향은 output 값이 어느 방향으로 커질지를 결정한다. ;

표시해 둔 하늘색 화살표는 [-1,-2] 에서의 gradient 이다. 현재 산에서 [-1,-2] 지점에 있다고 하면 위 그림을 직관적으로 봐도 산 정상에 (제일 높은 output 값이 있는 지점) 으로 가기 위한 최선의 (제일 쉽고 빠른 길) 은 [-1,-2] 의 gradient 방향으로 스텝을 밟는 것이다.

한 마디로 내가 등산을 하면서 어느 특정 지점에 있는데, 정상은 찍고 싶고, 또 몸은 천근만근이고, 그럴 때 gradient 가 네비게이션 역할을 한다고 생각하는게 제일 이해가 잘 갔다. 이 이유는 내적의 정의랑 연관이 있다고 어느정도 이해했다. 칸 아카데미 강의에서 차차 자세하게 다룬다고 한닷 !

TMI

아마 없겠지만 혹시라도 스쳐가면서 제 블로그 정리글을 보신 사람이 있다면… 보지 마십시오. 그다지 도움이 안 될꺼에요 ㅎ~ㅎ 제가 이해하기 위해서 몸부림 치는 과정입니다. (내가 조금 잘 아는 전문가여서 가독성있게 글을 쓰면 정말 영양가 있는 딥러닝 블로그가 되겠지만 ㅠㅠ 나중에 또 정리할 기회가 있겠지) please please 칸 아카데미 강의를 보세요.