좌표평면에서 그래프가 축과 만나는 지점을 절편이라고 한다. y=x+1에서 x절편은 -1, y절편은 1이다.
기울기는 x값의 변화량에 대한 y값의 변화량을 말한다. 1차 함수는 그 변화량이 어느 지점에서든 일정하다. y=x+1 의 기울기는 1이다. (dxdy=1)
딥러닝에서 gradient(경사)가 바로 기울기다. 경사 하강법을 공부할 때 자세히 알아보도록 하자.
2. 독립변수와 종속변수
y=x+1에서 변수는 y,x로 두 종류가 있다. x가 주어졌을 때 y가 결정되는 관계라면 x를 독립변수, y를 종속변수라고 한다.
초평면(hyperplane)
독립변수는 y=ax1+bx2+c처럼 여러 개일 수 있다. (a=0,b=0) 딥러닝에서는 x를 특징(feature)으로 본다. 보통 하나 이상의 특징이 있으므로 여러 개의 독립변수가 있는 상황이 일반적이다.
앞서 1차 함수를 직선이라고 했지만, 독립변수가 n개인 1차 함수는 기하학적 공간에서 ‘초평면(hyperplane)’으로 표현된다.
예를 들어 독립변수가 1개일 때는 2차원 공간의 직선, 독립변수가 2개일 때는 3차원 공간의 평면이 된다. 이것을 일반화하면 n개의 독립변수를 가진 함수는 (n+1)차원 공간에서 초평면이 된다.
아래는 3차원의 공간에서 평면으로 표현된 z=x+y 그래프다.
초평면은 분류(Classification)에서 결정경계(boundary)가 된다는 것을 알고 있으면 된다.
3. 가중입력 z
앞서 신경망에서는 뉴닛이 받는 가중 입력 z가 1차 함수 관계 z=w1x1+w2x2+w3x3+b 로 표현되었다.
가중치 w와 편향 b를 상수 파라미터라고 보면 가중 입력 z는 x1,x2,x3와 1차 함수 관계이다.
2차 함수
2차 함수는 포물선이다.
1. 최솟값과 최댓값
2차 함수는 최솟값과 최댓값을 갖는다는 특징이 있다. y=x2−1 처럼 최대차항이 양수라면 최솟값이 존재하고 y=−x2+1 처럼 음수라면 최댓값이 존재한다.
최소제곱법
2차 함수의 최솟값은 딥러닝에서 최소 제곱법의 기본이 된다. 최소제곱법은 “오차 제곱합”이라는 2차 함수를 만들고,
그 함수의 최솟값을 찾는 과정을 말한다. 신경망에서는 최적화 과정을 생각하면 된다.
2. hypersurface
2차 함수는 독립변수가 여러 개일 때 hypersurface가 된다. 1차 함수가 고차원 공간에서 초평면을 만든다면, 2차 함수는 그에 대응되는 곡면(포물면)을 만든다.
아래는 3차원 공간에서 곡면으로 표현된 z=x2+y2−2 그래프다.
지수함수
지수함수는 y=ax (a는 1이 아닌 양의 상수) 형태를 갖는다. 이때 a를 밑(base)이라고 하며 딥러닝에서는 a 값으로 주로 자연상수 e가 들어간다.
1. 자연상수 e
자연상수 e는 딥러닝의 지수적 표현에서 매우 자주 등장하는 상수이다. 이 값은 단순한 2.718... 인 숫자가 아니라, 특정 수열의 극한으로 정의된다.
아래에서는
an=(1+n1)n
라는 수열이 단조수렴함을 보이고, 그 극한값이 e가 됨을 확인한다.
수열이 수렴하기 위해서는 두 가지를 만족해야 한다.
단조 (monotonic)
유계 (bounded)
수열 an 단조 증가 증명
보조부등식 (x>−1)
ln(1+x)≥1+xx
lnx는 오목(concave)함수다. 오목 함수는 항상 접선보다 아래에 있으며, 평균기울기 ≥ 순간기울기 라는 특징을 가진다.
xf(x)−f(0)≥f′(x) 에서 f(x)=ln(1+x) 라면,
xln(1+x)−ln1≥1+x1
xln(1+x)≥1+x1
ln(1+x)≥1+xx
으로 해당 보조부등식을 활용할 수 있다.
단조 증가 증명
an=(1+n1)n에 양변 로그,
lnan=nln(1+n1)
1의 보조부등식에서 x=m1 라면,
ln(1+m1)≥m+11
이제 lnan+1−lnan>0 를 보조부등식을 활용하여 증명하면 된다.
lnan+1=(n+1)ln(1+n+11)≥n+2n+1
lnan=nln(1+n1)≥n+1n
구하고자 하는 값 lnan+1−lnan은 각각의 하한값을 뺀 값보다는 클 것이므로
lnan+1−lnan≥n+2n+1−n+1n
n+2n+1−n+1n=(n+1)(n+2)1>0
lnan+1−lnan>0
수열 an 유계(상한) 증명
위에서 an이 단조 증가함을 확인했다. 이제 an 어떤 값보다 항상 작다는 사실을 확인하자.
an을 전개하면,
(1+n1)n=k=0∑n(kn)nk1
(kn)=k!n(n−1)⋯(n−k+1)≤k!nk
임을 활용해
k=0∑n(kn)nk1≤k=0∑nk!nk⋅nk1=k=0∑nk!1
an≤k=0∑nk!1
k=0∑nk!1<k=0∑∞k!1=e
따라서,
an<e
수열 an의 극한값
an은 단조 증가하고 위로 유계이므로 단조수렴정리에 의해 극한이 존재한다. 그 극한값을 자연상수 e라고 정의한다.
수열의 극한을 L 이라고 하면,
L=n→∞lim(1+n1)n
lnL=n→∞limnln(1+n1)=n→∞lim1/nln(1+n1)
이때 00 꼴이므로
lnL=x→0limxln(1+x)=1
L=e
결론
e=n→∞lim(1+n1)n
이 과정을 통해 자연상수 e는 “단지 2.718...” 이 아니라
특정 수열이 단조 증가하며 유계 내에서 수렴해 얻어지는 값임을 알 수 있다.
2. 시그모이드 함수
해당 시리즈에서는 활성화 함수로 시그모이드 함수를 사용한다.
σ(x)=1+e−x1=1+exp(−x)1
시그모이드 함수는 자연상수를 포함하는 지수함수를 분모로 갖는 함수이다.
시그모이드함수는 단위 계단 함수(선형 응답 함수)와는 다르게 함수값이 0과 1 사이로 확률을 계산할 수 있고 어디서나 미분가능하다.
각각의 모델(신경망)에 적합한 활성화 함수를 사용하므로 시그모이드 함수 이외의 매우 다양한 활성화 함수가 존재한다. 대표적으로는 ReLU(렐루)와 Tanh(하이퍼볼릭 탄젠트), Softmax(소프트맥스) 등이 있다.
확률밀도 함수
신경망은 결국 컴퓨터가 연산한다. 따라서 모델을 동작시킬 때 가중치와 편향의 초깃값을 설정해야 한다. 주로 초깃값에는 정규분포를 따르는 난수를 넣는다. 이 경우 성능이 더 좋다고 한다.
정규분포란 확률밀도함수를 따르는 확률분포를 말한다.
확률분포에는 이산형 변수로 구성된 이산확률분포와 연속형 변수로 구성된 연속확률분포가 있다. 그 값이 연속적이면 분포표로 확인하지 않고 그래프로 표현한다. 그것이 확률밀도함수다. 확률밀도 함수 f(x)는 아래와 같다.
처음으로 전체 글이 이해될 뻔 했는데 문과생은 자연상수부터 모르겠어요 ㅜㅜ 수학 어려워요