본문 바로가기

카테고리 없음

[Paper Review] Semantics-Native Communication with Contextual Reasoning

URL: https://arxiv.org/abs/2108.05681

 

Semantics-Native Communication with Contextual Reasoning

Spurred by a huge interest in the post-Shannon communication, it has recently been shown that leveraging semantics can significantly improve the communication effectiveness across many tasks. In this article, inspired by human communication, we propose a n

arxiv.org

 

INTRODUCTION

ML을 활용한 수많은 Semantic communication 연구들이 있었고 2가지로 분류할 수 있다. 하나는 knowledge 혹은 knowledge graph를 이용해 semantic coding 하는 semantic-empowered communication이고, 다른 하나는 agents 간의 communication에서 자연스럽게 representation을 추출하는 emergent communication 방식이다. 전자는 context의 변화와 time-varying semantics에 대처하지 못하는 한계가 있고, 후자는 이론적 배경이 부족하다는 한계가 있다.

 

 

IDEA

기존 semantic coding에 사용된 ML은 pattern recognition을 다루는 System 1 ML 방식이다. System 1 ML 대신 reasoning을 수행하는 System 2 ML을 도입하면 contextual learning이 가능할 것이고, 이를 활용해 semantic coding을 수행하면 semantic communication이 가능할 것이다.

 

METHOD

System 1 SNC

semantic communication

  • Observation-to-concept mapping (O2C)
    O2C
    O2C는 특정 agent가 observation에 대해 어떤 concept을 도출하는지를 나타내는 conditional probability distribution이다. 각각 다른 agent는 각기 다른 파라미터 a를 갖기 때문에, 같은 observation을 보더라도 이를 서로 다른 concept에 mapping 할 것(이해할 것)이다. 따라서 서로 다른 agent는 서로 다른 state를 갖고 있다고 정의할 수 있다.

  •  Entity-to-concept mapping (E2C)
    E2C
    E2C는 noise-free한 O2C이다. Agent의 인식에서 발생하는 nuisance가 전혀 없을 때의 representation mapping이다.

    E2C는 O2C의 empirical mean을 이용해 다음처럼 approximation 할 수 있다.  

Deconceptualizer (C2E)

C2E

E2C와 Bayes rule을 이용해 concept를 entity로 되돌리는 C2E를 구할 수 있다.

 

System 2 SNC

system 2 SNC는 앞서 설명한 E2C, C2E에 contextual reasoing의 개념이 추가된다. 즉, speaker가 concept를 symbolize 하기 전에 listener의 인식 방식을 예측하고, 이에 맞는 semantic coding 방식을 찾는다는 뜻이다.

 

논문에서 드는 예시인 Rabbit Referential Game은 내용도 재밌고 흥미롭기 때문에 다루고 넘어가자 

A World가 speaker, lister 그리고 3개의 entity = ("a sitting rabbit"(e1) , "a jumping rabbit"(e2), "a rabbit jumping through a ring"(e3))로 이루어져 있다고 가정하자. 여기에 Concept C = {c_rabbit, c_jumping, c_ring}이 있을 때 speaker에게 주어진 임무는 concept 1개만 가지고 1개의 entity를 mapping 하여 총 3개의 entity를 각각 설명해야 하는 임무이다. (concept to entity는 전단사 함수이다) 여기서 드는 첫 번째 의문은 'jumping이라는 concept이 없는데 어떻게 e2를 설명하지'이다. Listener에게 뛰어다니는 토끼를 설명하려는데 '뛰어다닌다'라는 concept이 없다면 설명하는 것은 불가능해 보인다.

 

하지만, listener가 entity와 C에 대해 알고 있다면 어떨까? 하나의 concept만을 이용해 하나의 entity를 설명해야하는 Speaker 입장에서는 listener가 최대한 이성적으로 판단하기를 기대해볼 수 있다. C의 3개의 멤버 중 가장 특이한 녀석은 c_ring이다. e3에 unique 하게 등장하기 때문에 e3를 설명하는 단어를 하나 선정하자면 c_ring가 적당해 보인다. 남은 concept는 c_rabbit과 c_jumping인데 e3가 사라진 시점에서 c_jumping은 오직 e2에만 등장하기 때문에 e2를 설명하기 위해 c_jumping을 사용하면 될 것 같다. 남은 e1와 c_rabbit은 자연스럽게 매핑된다.

 

Information theory를 이용해 설명할 수도 있는데, e1은 c_rabbit을 갖지만 e2는 c_rabbit과 c_jumping을 둘다 갖기 때문에, c_rabbit만을 갖고 있는 e1의 entropy를 최소화하면 symbol의 length를 줄일 수 있다는 식으로도 설명할 수 있다.

 

원래라면 하나의 entity를 설명하기 위해 여러 concept를 사용해야 했지만 speaker가 listener이 rational한 판단을 내릴 수 있다고 믿음으로써 설명에 필요한 concept의 개수를 줄일 수 있다.

 

핵심은 위의 과정은 모두 speaker의 추측속에서 일어난 일이라는 것이다. Speaker와 listener가 실제로 communication 하면서 mapping rule을 합의한 것이 아니라 speaker 단에서 listener가 이렇게 받아들일 것이다~라고 추측함으로써 communication 과정 이전에 최적의 rule을 임의로 정한다는 뜻이다. 이 과정이 contextual reasoning이며, 본 논문에선 혼자 SNC를 수행한다는 뜻에서 self-SNC라고 한다. 

 

System 2 Semantic Coding의 핵심 과정은 Self-SNC를 이용해 rE2C(rational conceptualizer) 와 rC2E(rational deconceptualizer)를 구하는 것이다. rE2C는 entity에서 meaningful concept를 찾는 것이고, rC2E는 그 반대 과정이다. 이를 listener와 speaker로 설명하면, rE2C는 speaker가 생각한 최적의 rule이고 rC2E는 speaker가 예상한 'speaker는 내가 보낸 메시지를 이렇게 해석하면 될 거야'라고 이해하면 된다.

 

이제부터 조금 어려워진다.

P는 speaker의 communication context로 speaker의 parameter a, listener parameter a'가 있을 때, 모든 entity, concept에 대한 prior distribution이다. 풀어서 설명하면 분자는 speaker는 a의 state에 있고, lister는 a'의 state에 있을 때 어떤 entity를 c의 어떤 concept로 mapping할 확률이고 분모는 모든 entity와 concept에 대한 mapping 확률이다. 즉 P는 a와 a'가 있을 때, e에서 c가 나올 확률을 예측하는 distribution이다. 위 설명이 익숙하지 않은 독자를 위해 직관적으로 설명하자면 P는 'speaker가 listener의 state를 알고 있다면 e를 보고 c의 의미를 도출할 거야'를 뜻한다고 이해하면 된다.

 

Q는 그 반대로 c에서 e를 도출해낼 확률을 예측한다. 

P와 반대로 'listenr가 speaker의 state를 알고 있다면 c를 보고 e를 떠올릴 수 있을 거야'를 뜻한다.

 

object function G는 P와 Q를 이용해 어떻게 semantic coding이 이루어지는지를 보여준다.

M은 모든 (e, c)에 대한 mutual communication context이다.

 

G의 목적은 speaker와 lister 사이의 공통된 communication context를 구하는 것으로, 그 과정에서 보내는 정보를 최대한 압축하면서 필요한 정보만을 남기는 것을 목적으로 한다. alpha와 beta 값이 커질수록 정보를 많이 압축하려고 하는 것을 식을 통해 알 수 있다.

 

Mutual convergence

 M, P, M, Q의 순서대로 iterate 하게 update 함으로써 M P Q를 각각 converge 시킬 수 있다. 

 

또한 convergence 이후, multiple symbol의 개수를 greedy algorithm을 통해 구하는 과정 또한 논문에서 설명하고 있다.

 

RESULT

t가 작으면 (학습을 덜 시키면) alpha, beta가 커짐에 따라 reliability가 높아지는 경향을 띤다. 하지만 t가 100, 200으로 늘어남에 따라 alpha, beta의 최적 값은 1.5 근처에서 형성되는 모습을 보인다. 즉 빠른 convergence가 능사가 아님을 보여준다. 이는 System 2 ML의 특징인데, resoning을 학습시킬 때는 slow convergence가 오히려 rationality를 더 잘 학습하기 때문이다.

 

Fig 6은 reliability와 latency의 trade-off를 보여준다. t=200일 때 1번의 communcation만으로 매우 높은 reliability 향상을 보여주었지만, 그만큼 convergence가 오래 걸린다는 뜻이기도 하다. 통신에서 latency는 중요한 문제이다. 아무리 잘 맞는 총이라도 장전이 오래 걸리면 실전성이 없듯이, reliability가 높아진다 하더라도 convergence가 오래걸린다면 이는 문제가 되기 때문에 이는 짚고 넘어가야 할 부분이다.