kullback-leibler divergence(KL 발산)의 간략한 설명

공부/확률, 통계|2019. 9. 9. 11:43

KL 발산은 두 개의 확률분포 P, Q가 있을 때, Q에 대한 P의 상대적인 비대칭값을 나타낸다[1]. 다른 말로 표현하면, KL 발산은 두 확률분포의 다름의 정도를 나타낸다고 말할 수 있다[2]. KL 발산을 식으로 나타내면 다음과 같다. 

 

$D_{KL}(P\parallel Q) = \sum_{i}^{\, }P(i)log{\frac{P(i)}{Q(i)}}$

 

Q를 사전확률분포, P를 사후확률분포로 본다면, $D_{KL}(P\parallel Q)$은 사전확률에서 사후확률로 변하면서 얻은 정보의 양으로 해석할 수 있다[2]. 

 

어떤 논문에서는 간혹 KL 발산을 KL distance, 즉 거리의 개념으로 쓰기도 하는데 $D_{KL}(P\parallel Q)$와 $D_{KL}(Q\parallel P)$는 다른 값을 갖기 때문에 엄밀히 따지면 거리의 개념은 아니다.

 

이번 포스팅은 간략하게 KL 발산의 개념을 이해하기 위해 발췌 정리했다. 좀 더 깊은 이해를 원하는 분들은 아래 링크들을 참고하시길 바랍니다. 

 

 

<참고자료>

[1] https://blog.naver.com/sancholok/30113530188, 에이미, "Kullback-leibler(KL) divergence"

[2] https://brunch.co.kr/@chris-song/69#comment, Chris송호연, "정보 이론 2편: KL-Divergence"

전역 선행성(global precedence)이란?


전역 선행성(global precedence)란 사람의 시각 체계는 어떤 시각 정보 내에 전역 수준의 정보와 국지 수준의 정보가 포함되어 있을 때 전역 수준의 정보를 먼저 처리한다는 것을 의미합니다. 우선 전체적인 구조를 파악한 후에 세부적으로 어떤 내용이 들어있는지를 살핀다는 뜻입니다. 한마디로 나무보다 숲을 먼저 본다는 것이죠. 

 

아래 그림들을 살펴볼까요? 

출처: [2] 

 

여러분은 전체적인 형태인 T가 먼저 보이시나요? 아니면 국지적인 T, +, S가 먼저 보이시나요? 저는 아무 생각없이 보면 전체 형태인 T가 먼저 보이는 것 같습니다. 

 

대체적으로 전역 선행성이 국지 선행성(local precedence)보다 우세하다고 합니다. 전역 특성을 국지 특성보다 더 빨리 캐치한다는 뜻이죠. 

 

 

<참고자료>

[1] https://terms.naver.com/entry.nhn?docId=274045&cid=41990&categoryId=41990, 네이버 지식백과, "전역 선행성"

[2] https://en.wikipedia.org/wiki/Global_precedence, 위키피디아(영문), "Global precedence"

subthreshold, near-threshold, suprathreshold의 의미


threshold는 문턱값, 임계값, 역치 등으로 번역하곤 하는데, 보통 어떤 반응을 일으키기 위해 요구되는 최소한의 자극의 세기를 의미한다. 쉽게 말해 자극의 세기가 threshold 값을 넘으면 반응을 일으키고, threshold 값을 넘지 못하면 반응이 일어나지 않는다. 

 

subthreshold는 반응을 일으키기에는 불충분한 자극의 세기를 의미한다. sub-는 "~보다 적은"이란 뜻을 갖고 있다.

 

near-threshold는 threshold와 비슷하거나 살짝 더 커서 반응을 일으킬 수 있는 자극의 세기를 의미한다.

 

suprathreshold는 반응을 일으키기에 충분히 큰 자극의 세기를 의미한다. supra-는 "~위의"란 뜻을 지닌다. 

 

이상의 내용을 수학적으로 나타내면, 다음과 같다.

 

subthreshold < threshold <= near-threshold < suprathreshold

 

 

<참고자료>

[1] https://digital.library.adelaide.edu.au/dspace/bitstream/2440/100193/2/02whole.pdf, Kitchener, "Subthreshold and Near-Threshold Techniques for Ultra-Low Power CMOS Design"

[2] https://www.physiologyweb.com/glossary/s/supra_threshold.html, Physiologyweb, "Supra-threshold"

한계효용체감의 법칙이란?


공학 관련 논문을 peer review하는 중에 뜬금없이 경제용어가 너무 많이 등장해서 당황스럽다. 나는 경제를 알지 못하는 사람, 경알못이다. 그러나 제대로 심사하기 위해서 어쩔 수 없이 경제 용어들을 살펴보고 있다. 

 

오늘은 "한계효용체감의 법칙(the law of diminishing marginal utility)"에 대해 정리하려고 한다. 

 

우선 경제학에서 중요한 단어인 효용(utility)은 무슨 뜻일까? 효용은 어떤 재화나 서비스를 이용할 때 얻을 수 있는 주관적인 만족도를 의미한다. 그러면 한계효용(marginal utility)은 무엇일까? 한계효용은 동일한 재화나 서비스를 "하나 더 이용할 때" 느끼는 추가적인 만족도(효용)를 의미한다. 

 

한계효용체감의 법칙(고센의 제1법칙이라고도 불림)은 어떤 재화나 서비스의 소비량이 증가함에 따라 한계효용은 감소한다는 것을 의미한다. 한계효용체감에서 체감은 우리가 통상적으로 생각하는 "느낌"과 관련된 뜻의 단어가 아니라, 단계별로 점차 줄어듬(diminishing)을 의미하는 단어다. 

 

명확한 이해를 위해 예를 들어 보자. A라는 사람은 명품시계를 좋아한다. 그래서 하나하나 수집해간다. 처음 명품시계를 샀을 때 느끼는 만족도는 100이었다. "야! 대박이다. 짱 멋있네!" 그 다음 명품시계를 샀을 때 느끼는 만족도는 50으로 줄었다. "오, 꽤 괜찮은데?" 또 다시 명품시계를 샀을 때 느끼는 만족도는 30으로 줄었다. "멋지네." 또 돈을 모아 명품시계를 샀을 때 느끼는 만족도는 20으로 줄었다. "시계 하나 더 생겼네" 이처럼 A는 계속해서 수집하다보니 언젠가 새로운 명품시계를 샀는데 거의 감흥이 없었다. "시계네." 이것이 바로 한계효용체감의 법칙이다. 이것을 그래프로 나타내면 아래와 같을 것이다. 

 

 

 

 

 

소비량이 늘어감에 따라 총 만족도가 계속 증가하는 것이 아니라 늘어나다가 일정한 수준에 수렴하게 된다. 한계효용이 점차 줄어들었기 때문이다. 다른 말로 새로운 소비로 인한 추가적인 만족도가 점차 감소했기 때문이다. 

 

따라서 어떤 동일한 물건을 많이 가질수록, 또는 어떤 서비스를 많이 받을수록 무조건 만족도가 높아지는 것이 아니다. 이것은 우리 삶에서 매일 경험하는 일이다. 어떤 것을 처음 경험했을 때, 처음 소비했을 때가 가장 좋지, 그 경험을 몇번을 반복하다보면 결국은 식상해진다. 무조건 많이 한다고, 무조건 많다고 행복한게 아니라는 것이다. 이것이 바로 한계효용체감의 법칙이다. 이름이 어려워서 그렇지 사실 굉장히 쉬운 개념이다. 한계효용체감의 법칙은 경제에만 적용되는 것이 아니라 우리 삶에 전반적으로 적용되는 법칙이다. 

 

 

 

<참고자료>

[1] https://ko.wikipedia.org/wiki/%ED%9A%A8%EC%9A%A9, 위키백과 "효용"

[2] https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B3%84%ED%9A%A8%EC%9A%A9, 위키백과 "한계효용"

[3] https://terms.naver.com/entry.nhn?docId=3575236&cid=58885&categoryId=58885, 네이버지식백과 "한계효용 체감의 법칙"

[4] https://blog.naver.com/woogikang/221520625535, 강박사 "한계효용"

[IQA] 미리 훈련된 CNN으로 얻은 특성맵들의 품질로 이미지의 품질을 평가하는 모델, DeepSim


안녕하세요. 비스카이비전의 심교훈입니다. 오늘은 Fei Gao 등에 의해 2017년에 제안된 DeepSim이란 이미지품질평가(image quality assessment, IQA) 모델에 대해서 소개해드리려고 합니다. 이 모델에 관한 original paper의 제목은 "DeepSim: Deep similarity for image quality assessment"입니다. 

 

저자들은 다른 과제를 위해, 예를 들어 이미지 분류 과제를 위해 미리 훈련된(pretrained) 컨볼루션 신경망(convolutional neural network, CNN) 모델이 이미지 품질 평가(IQA)에 효과적으로 사용될 수 있을지에 대해 질문을 던졌습니다. 그들의 답은 Yes입니다. 미리 훈련된 CNN 모델이 IQA에 유용하게 쓰일 수 있음을 저자들은 이 논문을 통해 밝혔습니다. 또한 딥러닝 모델 내의 다양한 요소들, 예를 들어 전처리, 활성화, 최대 풀링, 소프트맥스, 망의 깊이 등이 IQA 성능에 어떤 영향을 미치는지를 조사했습니다. 

 

저자들은 미리 훈련된 VGG16에 원본 이미지와 왜곡 이미지를 입력해서 얻은 여러 층에 존재하는 여러 개의 특성맵들의 구조 유사도(structural similarity)를 비교해서 얻은 여러 개의 품질 점수들을 종합함으로 왜곡 이미지의 품질 점수를 결정했다. 참고로 VGG16은 2014년 ImageNet 대회에서 2등을 차지했던 이미지 분류 모델입니다. 그들은 구조 유사도를 계산할 때 SSIM 알고리즘을 이용했습니다. 아래 그림은 저자들이 제안한 Full-reference IQA 알고리즘의 구조도입니다. 

 

DeepSim은 어떻게 작동하는가? [출처: 해당 논문]

 

그들은 실험을 통해 테스트 이미지를 224 x 224로 축소시키고 평균 훈련 이미지를 빼주는 전처리 과정은 IQA 성능에 도움이 된다고 판명을 내렸습니다. 테스트 이미지의 크기를 축소시킴없이 평균 훈련 이미지를 테스트 이미지의 크기에 맞춘 것을 빼준 것에 비해 좀 더 나은 예측 정확도를 보였습니다. 

 

또한 중후반 층의 특성맵이 IQA 성능에 좀 더 유용함을 확인했습니다. 중후반 층의 특성 맵의 유사도가 주관 품질 점수와 더 높은 상관도를 보였습니다(아래 그림 참고).

 

출처: 해당 논문

 

또한 위 그래프에서 알 수 있는 것은 ReLU 활성화와 최대 풀링을 거친 특성 맵들이 IQA에 효과적이라는 것입니다.  

 

저자들은 여러 특성맵에서 얻은 품질 점수를 종합할 때 다양한 풀링 전략을 시도했습니다. 평균 풀링, 백분위 풀링, 표준편차(SD) 풀링, 평균 절대 편차(MAD) 풀링, SD와 MAD를 가중합한 풀링, 이렇게 다섯 개 전략을 시도했습니다. 저자들은 그 중 가장 나은 전략은 먼저 각 층의 점수를 평균 낸 다음에 그것을 다시 평균내는 것, 즉 평균 풀링이라고 보고했습니다.

 

이 논문의 작은 문제점:

- 저자들은 SROCC, KROCC를 계산할 때도 non-linear fitting을 사용한 것 같습니다. 이것은 잘못된 것입니다. PLCC, RMSE를 계산할 때만 non-linear fitting을 해줘야 합니다.