본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Study/인공지능학습

자연로그와 자연상수 e 심화학습

by 마즈다 2017. 3. 25.
반응형


자연로그! 너 죽고 나 죽자! - 고등 수학을 초등학생처럼 배워보기~


지난 글에서 내가 문돌이라는 것을 무기 삼아 겨우 자연상수 설명 조금하고 자연로그는 그저 그런게 있는갑다 하고
그냥 넘어가버렸다. 하지만 역시…뒤처리가 안된 것 마냥 여전히 찜찜하기 그지없다. 그래서 한 번 더 자연로그를
이해하는데 도전해보기로 하였다. 과연 잘 설명이 될 지는 모르겠으나 이미 언급한 바와 같이 이러한 과정 하나하나가
분명 앞으로 나아가는 길이라 믿는다.


문돌이 혹은 수포자의 한계


어떤 수학 공식을 풀이 한다는 것, 왜 그런 공식이 도출 되었나 하는 것은 곧 수학의 입장에서는 검증을 하는 것, 다시
말해 ‘증명’을 하는 것이다. 그런데 아이러니컬 하게도 증명을 하게 되면 처음의 단순했던 식이 매우 복잡해진다.
이것은 문돌이나 수포자(이하 우리들…-.-)의 수와 연산에 대한 알레르기에 불을 붙이는 격이다. 하지만 이 과정을 
거치지 않고는 ‘이해’라는 한 단어에 접근할 수 없다.


그렇다면 어떻게 해야 이 알레르기를 극복할 수 있을까…최근 여러가지 수학 공식을 정리하면서 개인적으로 터득한
것을 정리해보고자 한다. ‘개인적’인, 지극히 ‘개인적인’ 방법이며 이 방법이 누구에게나 통한다고 장담할 수는 없다.


  1. 너무나 당연한 이야기부터 해볼까? 적어도 각 연산자의 또는 수학 기호의 의미는 알아야 한다. 굳이 그 성질이나 활용까지 이해하지는 못하더라도 적어도 개념은 알아야 한다. 예를 들어 우리들의 가장 큰 적 중 하나인 적분을 생각해보자. ∫(인테그랄, integral)이라는 기호가 정확히 뭔진 모르겠지만 어떤 범위 내에서 어떤 값들을 무한히 더해가는 것이라는 것 정도는 알아야 한다.
  2. ‘치환’에 유의해야 한다. 다른 말로 하면 가장 처음에 주어지는 ‘등식(=)’을 유심히 봐야 한다. 나는 최근까지 그 의미를 몰랐다. f(𝒙) = a𝒙 + b라는 것이 증명이 진행되어감에 따라 a𝒙 + b 대신 f(𝒙)를 사용해도 된다는 의미인지를 까맣게 몰랐다. 그래서 도대체 f(𝒙)라는 것은 어떤 의미일까을 계속 궁금해 했다. 이밖에도 길어질 수 있는 공식을 간단하게 표현하기 위해 치환을 자주 한다. 간단하게는 한 개의 변수에서부터 복잡하게는 어떤 수식을 하나의 문자로 바꾸어 쓰는 것이다. 이 것을 놓치게 되면 증명에 마지막에 가서 우리는 ‘음…도대체 이 문자는 언제부터 여기에 있었지?’하는 지극히 근혜스러운 고민을 하게 되고 만다.
  3. 2번과 같은 맥락에서 수학 공식을 풀이할 때는 단지 길어서 보기 힘든 공식을 ‘단순화’하기 위한 장치들을 많이 사용한다. 우리들은 이 부분을 이해하지 못한다. 심지어는 이렇게 축약된 부분을 다시 길게 늘여놔야 더 잘 이해하는 경우도 있다. 대체로 이런 장치들은 치환에 의해 이루어지므로 2번과 잘 연결해서 생각해야 한다.
  4. 마지막 방법도 매우 당연한 이야기다. 바로 끈기있게 보고 또 봐야 한다는 것이다. 길고 긴 증명의 과정을 따라가다보면 돌연 어느 단계에서 ‘왜 이 공식의 좌변과 우변이 같은 것이지?’라는 의문이 드는 그런 단계가 있다. 마치 몇만 광년은 워프한 듯한 지극히 아득한 느낌으로 양 변의 공식이 동일하다는 것을 이해하지 못하는 순간…아는 사람만 알 것이다. 인터스텔라급 괴리감이다…-.- 이 과정에서 1번과 2번의 자세가 필요하다.


이러한 마음가짐으로 자연로그에 대해 다시 한 번 알아보고자 한다.


다시 미분으로


처음 회귀분석과 관련된 수학 내용을 정리할 때 미분을 한 번 정리했었고 그 때 주로 참고했던 자료가 바로 위키백과의
미분 항목이었다. 그런데 앞서 설명한 그 알레르기 때문에 그냥 내가 필요한 내용만을 보고 나머지는 현기증을 느끼며
피해갔던 것이 실수였다. 바로 그 미분을 설명하는 내용 중에 자연스럽게 자연로그가 도출되고 있었던 것이다.


지금부터 우리들의 입장에서 아주 지겨울 정도로 자세하게 하나 하나 되짚어볼 것이다.


단서가 된 항목은 바로 ‘지수 함수의 미분’이었다. 우선 미분에 대해 다시 한 번 짚어보자. 미분이란 어떤 연속적인 곡선
(엄밀하게는 맞는 표현이 아니지만 우선은 이렇게 표현하자)에 대해 특정 위치에서의 기울기를 구하는 것이라고 했다.
위키의 표현으로 말하자면 평균변화율을 구할 수 있을 때 이 평균 변화율의 극한이 바로 특정 위치의 기울기(를 갖는
접선)라고 할 수 있는 것이다. 최초 출발은 여기다. 아래 공식을 이해하도록 해보자.



사실 우리네 입장에서 공식만 가지고 이해하긴 어렵다. 이해할 수 있다면 이고생도 안한다…-.- 그러니 그래프를
보면서 차근차근 알아보자. 



일단 ∆는 라틴어 델타의 대문자로 주로 변화량을 의미한다. 즉 ∆ 𝒙라는 것은 얼마인지는 모르겠지만 𝒙의 변화량을 
의미한다. 즉 아래 그래프에서 보면 𝒙는 𝒙에서부터 𝒙 + ∆ 𝒙까지 변한 것이다. 이에 대해 𝒙에 대한 함수인 𝑓(𝒙)는 
𝑓(𝒙)에서부터 𝑓(𝒙 + ∆ 𝒙)까지 변했다. 이 내용을 𝒙를 기준으로 설명하면 바로 위의 공식이 나오는 것이다. 𝒙의 변화량
∆ 𝒙에 대한 𝑓(𝒙)의 변화량 ∆ 𝑓(𝒙)의 비율이란 바로 이런 의미이다.


그리고 이 평균 변화율에 대해 극한을 적용한 것이 바로 순간변화율(미분계수)이며 우리가 미분을 통해서 얻고자 하는
값인 것이다(극한에 대한 이해는 위키에 있는 아래 이미지를 참고하자).


By Brnbrnz - 자작, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=43249235


일단 이 순간 변화율 공식을 기억해두자.


지수 함수 미분하기


우선 아래 링크(위키피디아의 미분에 대한 문서)의 ‘지수 함수의 미분’을 같이 보면서 살펴보자


https://ko.wikipedia.org/wiki/미분


특정 조건만 만족하면 많은 함수들을 미분할 수 있다. 그리고 그 많은 예가 위키에 잘 설명이 되어있다. 여기서는 그 중
지수 함수에 대한 미분을 살펴볼 것이다. 이전에는 그냥 자연로그가 있어서 그걸 사용하기만 했는데 이 지수 함수의
미분 과정에서 자연로그가 톡 튀어나온다. 신기하게도…


먼저 수학 알레르기를 극복할 수 있는 방법을 상기하자. 그리고 위키에 설명된 지수 함수의 미분 내용의 첫 줄을 살펴
보자. 𝑓(𝒙) = b^ 𝒙라는 등식이 제일 처음 보인다. 그리고 이 함수의 도함수(순간변화율을 얻을 수 있는 함수)가
다음과 같이 표시되어있다.



설명에 ∆ 𝒙를 ℎ로 표기한다고 했으니 다시 ℎ를 ∆ 𝒙로 돌려놓고 보면 다음과 같이 된다(편의상 순간변화율에서 극한을
제거하고 평균변화율만 보자).



그런데 제일 처음 등식에서 𝑓(𝒙) = b^ 𝒙라고 하였으니 𝑓(𝒙 + ∆ 𝒙) = b ^ (𝒙 + ∆ 𝒙)가 성립하고 따라서 위 식에서
b^ 𝒙를 𝑓(𝒙)로 b ^ (𝒙 + ∆ 𝒙)를 𝑓(𝒙 + ∆ 𝒙)로 바꾸어 놓으면 우리가 최초에 확인했던 평균변화율과 동일한 공식이
나온다. 이렇게 해서 지수 함수 𝑓(𝒙) = b^ 𝒙에 대한 도함수를 확인했다.


이후 내용은 이 도함수에 대한 풀이 과정이다. 비교적 어렵지 않은 내용이므로 조금만 검색을 하면서 보면 이해할 수 
있다. 그런데…'이때 상수 𝑘를'이라는 문장 바로 다음에 난데없이 자연로그가 튀어나왔다. 우변의 공식은 앞서 
진행된 풀이에 등장했던 공식이므로 당연한 등장인데 이 공식이 ln 𝑏와 같다고 하니 이 우변의 공식을 지지고 볶으면 
뭔가 자연로그에 대한 단서가 나온다는 것이렷다. 매번 이해도 못하는 자연로그를 가져다 쓰다가 처음으로 자연로그가
없는 상태에서 자연로그를 도출하게 되었다. 이제 본격적으로 어떻게 아래 공식이 자연로그가 되는지 확인해보자.



위의 등식에서 우측의 식이 어떻게 해서 자연로그로 이어지는 지를 분석해볼 것이다. 역시나 가장 먼저 할 일은
바로 ‘치환’이다. 우측 식에서 가장 복잡한 분자 𝑏^ℎ - 1을 𝑡라고 하자. 즉 𝑡 = 𝑏^ℎ - 1가 되는 것이다. 그런데 우리는
지금 지수에 대해서 알고자 하는 것이니 𝑏^ℎ를 기준으로 식을 바꾸어보면 𝑏^ℎ = 𝑡 + 1로 놓을 수 있다. 여기서 한 번
더! 분모가 ℎ이니 마지막에 바꾼 식을 ℎ에 대해 정리한다. 그러면 우리는 최초의 식에서 2개의 항을 다음과 같이
바꿔놓을 수 있다.



이 때 lim의 밑이 ℎ →0에서 𝑡 →0으로 바뀌었는데 이 것은 극한의 성질을 조금 이해해야 한다. 극한이란 
엄밀하게 말하면 정확한 어떤 수가 아닌 ‘어떤 수에 가장 근접하는 상태’라고 봐야 한다. 하지만 계산의 편의를 
위해 화살표 우측의 수라고 생각해도 무관하다. 그렇게 봤을 때 ℎ →0으로 무한히 가는 경우 

𝑏^ℎ - 1 = 𝑏^0 - 1 = 1 - 1 = 0

위 등식이 성립하므로 𝑏^ℎ - 1 = 𝑡라는 조건에 의해 결국 𝑡또한 0이 된다. 이 조건으로 인해 𝑏^ℎ - 1이 𝑡로 
치환된 식에서는 lim의 밑을 𝑡 →0로 놓을 수 있는 것이다.


원래의 식을 치환한 항들로 대체하면 다음과 같이 변경된 식이 나온다.



여기까지는 이해가 되었는가? 여기서 한가지만 더하자. 미지수가 분자와 분모에 모두 존재하니 아무래도 뭔가 더
복잡해 보인다. 그러니 미지수를 분모쪽으로 모두 몰아버리자. 이러한 방법도 식을 간단하기 위해 매우 자주 쓰이는
방법이다. 자~원래의 식의 결과를 변화시키지 않고 처리하려면? 1을 곱하면 된다. 다만 1을 어떻게 표현하는가가
관건이다. 결과부터 보자.



절묘하지 않은가? 나만 그런가? 분자의 미지수를 없애기 위해 1이라는 수를 (1/𝑡) / (1/𝑡) 로 바꾸었다. 분모와
분자가 같기만 하면 1이니까. 그래서 분모는 조금 복잡해졌지만 분자는 𝑡 * (1/𝑡) = 1로 미지수를 없애고 
1이라는 아주 쉬운 수로 바뀌었다. 이런 너무도 당연해보이는 기법들이 우리들에게는 그토록 어려운 것이다…ㅠ.ㅠ
이렇게 정리된 식은 다음과 같다.



분모를 한 번 더 정리해보자. 로그의 성질에 의해 다음과 같이 바꿀 수 있다.



드디어 나왔다! 기억하시는가? 자연상수 e의 식을! 다시 한 번 보자.



극한이 변수 t에 대해 적용되므로 극한을 t에 대해서만 놓고보면 결국 자연상수 e가 튀어나온다. 
그리고 이제 정말 마지막 정리이다.



이후 진행은 위에 링크한 위키피디아의 ‘지수 함수의 미분’항목을 참고하면 되겠다. 특이한 것은 그 내용의 마지막에
보면 지금까지 진행된 식의 𝑏라는 상수가 자연상수 𝑒일 경우, 즉 자연상수 e가 밑이 되는 지수 함수는 미분을 해도 그
도함수가 처음 형태와 동일하다는 것이며 아마도 이 성질이 매우 유용한 것 같다


정리


자연상수 e가 처음 발견된 것은 수학자 네이피어가 로그를 계산하는 과정에서라고 한다. 결국 어찌보면 자연상수보다
자연로그가 더 먼저 발견되었다고 할 수 있겠다. 어쨌든 지수함수를 미분하다보니 자연로그가 자연스럽게 도출이 되는
과정을 보았다. 적어도 자연로그와 자연상수 𝑒가 밑도 끝도 없이 뿅! 하고 태어난 것은 아니라는 것은 알 수 있게 
되었다.


이렇게 까지 해도 여전히 이해가 안가는 부분은 남아있지만 그 것은 아마도 실제로 자연로그와 자연상수 𝑒가 얼마나
유용하게 사용되는지 그 실례를 많이 접하지 못해서이리라. 하지만 그 건 어디까지나 이과충과 공돌이의 영역이므로
우리는 이정도 선에서 만족해도 될 것 같다.


도대체 텐서플로우 공부해보자고 시작해서 이게 웬 난리인지 모르겠다…ㅠ.ㅠ
이제부터는 다시 본연의 텐서플로우로 돌아가야겠다.
남들은 다 얼굴 이미지 분석하고 막 그러고 있던데…ㅠ.ㅠ

반응형