Error control codes(ECC)의 일종인 LDPC (low-density parity check) codes는 가장 우수한 성능의 ECC 중 하나이다. 그런데, LDPC codes의 decoding algorithm은 neural network로 설명이 가능하다. (사실, decoding algorithm으로 사용되는 belief propagation algorithm이 AI에서 시작된 방법이기 때문에 당연한 말이긴 하다.)
LDPC codes와 neural network두 가지 group의 node들을 생각해보자. 여기서 각 node들은 neuron의 cell body이다. 예를 들어, belief propagarion algorithm의 일종인 sum-product algorithm의 경우, group 1은 덧셈 연산만 하고, group 2는 곱셈 연산만 한다. 이처럼 LDPC codes는 서로 다른 연산을 하는 두 가지 종류의 neuron들로 구성되어 있는 것이다.
각각의 node들은 edge들에 의해 연결되어 있는데, 각각의 edge는 때로는 input wire의 역할을 하고 때로는 output wire의 역할을 한다. 이 edge들을 통해 node에서 연산된 결과가 전파된다.
LDPC codes의 성능을 결정하는 요소LDPC codes의 성능은 다음 세 가지 요소에 의해 결정된다. 여기서 성능은 얼마나 많은 error를 정정할 수 있는지를 말하는 것이다.
1) input wire를 통해 node에 입력되는 정보의 신뢰도2) node 내의 연산3) node들 간의 연결'1) 입력되는 정보의 신뢰도'와 '2) node의 연산'이 decoding 성능을 결정한다는 것은 쉽게 생각할 수 있다. 보다 정확한 channel model을 통해 입력되는 정보의 신뢰도를 높이려 하는 것은 1)과 관련되어 있고, 각 node에서 어떤 연산(예를 들어, 덧셈 또는 곱셈)을 하는지는 2)와 관련되어 있는 것이다.
하지만, '3) node들 간의 연결'이 decoding 성능을 결정한다는 것은 흥미로운 일이다. 실제로 LDPC codes를 design한다는 것은 각 node들의 연결을 결정하는 것이고, node들 간의 연결에 따라 LDPC code의 decoding 성능은 크게 달라진다.
node들 간의 연결과 brain신기한 것은 뇌(brain)에서도 node의 역할을 하는 neuron들 간의 연결이 상당히 중요하다는 것이다. MIT의
승현준(Sebastian Seung) 교수는
TED에서 neuron들 간의 연결이 얼마나 중요한지에 대해 설명했다. 그가 TED에서 말한 것은 다음 두 문장으로 요약된다.
I am more than my genes. I am my connectome. 즉, 유전자 자체가 우리를 결정하는 것이 아니고, neuron 간의 연결(connectome)이 우리를 결정한다는 것이다. LDPC codes의 decoding algorithm 성능이 각 node들 간의 연결에 의해 결정된다는 것과 neuron 간의 연결이 brain에서 중요한 역할을 한다는 것에는 흥미로운 analogy가 있다.
cf. 승현준 교수의 TED는 한글 자막도 제공한다. :)
최근 덧글