KR20190117186A - 학습 기반 채널코드 디코딩 방법 및 장치 - Google Patents

학습 기반 채널코드 디코딩 방법 및 장치 Download PDF

Info

Publication number
KR20190117186A
KR20190117186A KR1020180040391A KR20180040391A KR20190117186A KR 20190117186 A KR20190117186 A KR 20190117186A KR 1020180040391 A KR1020180040391 A KR 1020180040391A KR 20180040391 A KR20180040391 A KR 20180040391A KR 20190117186 A KR20190117186 A KR 20190117186A
Authority
KR
South Korea
Prior art keywords
channel code
neural network
learning
codeword
type
Prior art date
Application number
KR1020180040391A
Other languages
English (en)
Inventor
서지훈
이주열
김근영
명정호
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020180040391A priority Critical patent/KR20190117186A/ko
Publication of KR20190117186A publication Critical patent/KR20190117186A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Error Detection And Correction (AREA)

Abstract

학습 기반 채널코드 디코딩 방법 및 장치가 개시된다. 일실시예에 따른 학습 기반 서비스 제공 장치는 인코딩을 통해 생성된 코드워드를 수신하고, 인코딩에 이용된 채널코드의 유형을 판단하고, 채널코드의 유형에 기초하여, 기 학습된 뉴럴 네트워크를 획득하고, 획득된 뉴럴 네트워크로 코드워드를 인가하여, 코드워드를 디코딩할 수 있다.

Description

학습 기반 채널코드 디코딩 방법 및 장치{LEARNING-BASED CHANNEL CODE DECODING METHOD AND APPARATUS}
실시예들은 학습을 통해 채널코드 디코딩을 수행하기 위한 방법, 장치 및 시스템에 관한 것이다.
데이터를 무선 채널을 통해 전송하기 위해서는 송수신 빔 형성, 전력할당, 채널코딩 등 다양한 기술이 필요하다. 채널코딩에 있어서, 인코딩은 비교적 쉽고 저 복잡도로 처리될 수 있지만, 디코딩은 복잡도가 높기 때문에 빠른 처리속도를 위해서는 정확도가 떨어지는 문제가 있다. 최적 성능을 내는 MAP(Maximum A Posteriori) 디코더는 실제 환경에서 사용하기에는 복잡도가 너무 높아 적합하지 않다.
기계학습은 빅데이터, GPU(Graphics Processing Unit) 기반 고속 컴퓨팅 및 다양한 알고리즘의 개발에 의해 다양한 분야에서 활용되고 있고, 잠재적인 응용 가능성으로 많은 관심을 끌고 있다. 따라서, 채널코딩의 디코더를 구현함에 있어 딥러닝을 활용하는 기법의 연구가 요구된다.
실시예들은 딥러닝 기법을 이용하여 채널코딩의 디코더를 구현하고자 한다.
실시예들은 채널코딩의 디코더를 구현함에 있어 구현 복잡도와 계산 복잡도를 줄이고자 한다.
실시예들은 다양한 채널부호에 대한 범용 디코더를 구현하여, 비용, 공간 및 전력 사용의 효율을 높이고자 한다.
일실시예에 따른 학습 기반 채널코드 디코딩 방법은 인코딩을 통해 생성된 코드워드를 수신하는 단계; 상기 인코딩에 이용된 채널코드의 유형을 판단하는 단계; 상기 채널코드의 유형에 기초하여, 기 학습된 뉴럴 네트워크를 획득하는 단계; 및 상기 획득된 뉴럴 네트워크로 상기 코드워드를 인가하여, 상기 코드워드를 디코딩하는 단계를 포함한다.
일실시예에 따르면, 상기 코드워드를 디코딩하는 단계는 상기 뉴럴 네트워크의 출력에 기초하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 뉴럴 네트워크를 획득하는 단계는 채널코드들의 유형들에 대응하는 파라미터들을 기록하는 데이터베이스로부터, 상기 판단된 유형에 대응하는 적어도 하나의 파라미터를 획득하는 단계; 및 상기 획득된 파라미터에 기초하여, 상기 유형에 대응하는 뉴럴 네트워크를 획득하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 파라미터는 상기 유형에 대응하는 뉴럴 네트워크의 학습 Eb/N0(energy per bit to noise power spectral density ratio), 레이어 수, 각 레이어의 노드 수, 활성화 함수, 가중치 및 바이어스 중 적어도 하나를 포함할 수 있다.
일실시예에 따르면, 상기 뉴럴 네트워크는 메시지들과 상기 메시지들을 상기 채널코드에 따른 인코딩하여 생성된 코드워드들에 기초하여 학습될 수 있다.
일실시예에 따르면, 상기 채널코드의 유형을 판단하는 단계는 상기 코드워드를 전송하는 송신기와의 통신에 기초하여, 상기 채널코드의 유형을 판단하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 코드워드는 전송을 위해 변조될 수 있다.
일실시예에 따르면, 상기 코드워드는 잡음이 적용될 수 있다.
일실시예에 따른 채널코드 디코딩을 위한 학습 방법은 트레이닝 메시지들을 획득하는 단계; 상기 트레이닝 메시지들을 제1 유형의 채널코드에 따른 인코딩하여 생성된 트레이닝 코드워드들을 획득하는 단계; 상기 트레이닝 코드워드들을 뉴럴 네트워크로 인가하는 단계; 상기 뉴럴 네트워크의 출력에 기초하여 예측된 메시지들과 상기 트레이닝 메시지들에 기초하여, 상기 뉴럴 네트워크의 제1 파라미터들을 최적화하는 단계; 및 상기 제1 유형과 상기 제1 파라미터들을 연관시키고, 제2 유형과 제2 파라미터들을 연관시키는 단계를 포함한다.
일실시예에 따르면, 상기 제1 파라미터들을 최적화하는 단계는 상기 예측된 메시지들과 상기 트레이닝 메시지들에 기초한 손실 함수의 값이 작아지도록 상기 뉴럴 네트워크의 제1 파라미터들을 최적화하는 단계를 포함할 수 있다.
일실시예에 따른 채널코드 디코딩을 위한 학습 방법은 복수의 유형들에 대응하는 복수의 파라미터들을 저장하는 단계를 더 포함할 수 있다.
일실시예에 따른 학습 기반 채널코드 디코딩 방법은 인코딩을 통해 생성된 코드워드를 수신하는 단계; 상기 인코딩에 이용된 채널코드의 유형을 판단하는 단계; 상기 채널코드의 유형 및 상기 코드워드에 기초하여 입력 벡터를 생성하는 단계; 및 상기 입력 벡터를 기 학습된 뉴럴 네트워크로 인가하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계를 포함한다.
일실시예에 따르면, 상기 뉴럴 네트워크는 메시지들과 상기 메시지들에 대응하는 입력 벡터들에 기초하여 학습되고, 상기 입력 벡터들은 채널코드들의 유형들 및 코드워드들에 기초하여 생성될 수 있다.
일실시예에 따른 학습 기반 채널코드 디코딩 방법은 인코딩을 통해 생성된 코드워드를 수신하는 단계; 상기 코드워드에 기초하여 입력 벡터를 생성하는 단계; 및 상기 입력 벡터를 기 학습된 뉴럴 네트워크로 인가하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계를 포함한다.
일실시예에 따르면, 상기 뉴럴 네트워크는 메시지들과 상기 메시지들에 대응하는 입력 벡터들에 기초하여 학습되고, 상기 입력 벡터들은 코드워드들에 기초하여 생성될 수 있다.
일실시예에 따른 장치는 하드웨어와 결합되어 상술한 방법들 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램에 의해 제어될 수 있다.
실시예들은 딥러닝 기법을 이용하여 채널코딩의 디코더를 구현할 수 있다.
실시예들은 채널코딩의 디코더를 구현함에 있어 구현 복잡도와 계산 복잡도를 줄일 수 있다.
실시예들은 다양한 채널부호에 대한 범용 디코더를 구현하여, 비용, 공간 및 전력 사용의 효율을 높일 수 있다.
도 1은 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 순서도이다.
도 2는 일실시예에 따른 뉴럴 네트워크가 최적화되는 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 뉴럴 네트워크의 파라미터를 획득하는 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 채널코드의 유형을 결정하는 동작을 설명하기 위한 도면이다.
도 5는 일실시예에 따른 학습 기반 채널코드 디코딩의 시스템을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 학습 기반 채널코드 디코딩 장치를 설명하기 위한 도면이다.
도 7은 일실시예에 따른 채널코드 디코딩을 위한 학습 방법을 설명하기 위한 순서도이다.
도 8은 일실시예에 따른 채널코드 디코딩을 위한 학습 방법을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 도면이다.
도 10은 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 도면이다.
도 11은 일실시예에 따른 장치의 구성의 예시도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인식하는데 적용될 수 있다. 실시예들은 사용자 인식을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인식하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
일실시예에 따르면, 학습 기반 채널코드 디코딩 장치(이하, 디코딩 장치라 함)는 학습을 통해 구현된 디코더를 활용하여, 채널코드에 따른 인코딩을 통해 생성된 코드워드를 디코딩할 수 있다. 디코딩 장치는 복수의 채널코드들 각각에 최적화된 뉴럴 네트워크의 파라미터들을 기록한 데이터베이스를 조회하여, 현재 상황에 필요한 뉴럴 네트워크의 파라미터를 획득할 수 있다. 디코딩 장치는 코드워드를 디코딩하기 위한 뉴럴 네트워크의 파라미터를 이용하여, 뉴럴 네트워크를 구현할 수 있다. 디코딩 장치는 구현된 뉴럴 네트워크를 이용하여 코드워드를 디코딩할 수 있다. 디코딩 장치는 새로운 코드워드를 획득할 수 있고, 새롭게 획득된 코드워드를 디코딩하기 위한 뉴럴 네트워크의 파라미터를 데이터베이스로부터 획득할 수 있다. 디코딩 장치는 획득된 파라미터를 이용하여 뉴럴 네크워크를 구현하고, 새롭게 획득된 코드워드를 디코딩할 수 있다. 디코딩 장치는 상황에 따라 적합한 파라미터를 뉴럴 네트워크에 탑재하여, 다양한 유형의 채널코드에 대응하는 코드워드를 디코딩할 수 있다. 디코딩 장치는 다양한 유형의 채널코드에 대한 디코딩을 수행하는 범용 디코더로 활용될 수 있다.
도 1은 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 순서도이다.
도 1을 참조하면, 일실시예에 따른 디코딩 장치는 인코딩을 통해 생성된 코드워드를 수신할 수 있다(101). 코드워드는 채널코드에 따른 인코딩에 의해 생성될 수 있다. 디코딩 장치는 채널코드에 따른 정보의 디코딩을 수행하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 디코딩 장치는 서버, 단말 또는 이들의 조합으로 구현될 수 있다. 디코딩 장치는 디코딩을 수행하기 위한 신호, 명령 또는 정보를 처리할 수 있다.
채널 코딩(channel coding) 또는 순방향 오류 정정(forward error correction)은 전송 공간에서 발생한 오류를 검출하고, 검출된 오류를 정정할 수 있도록 정보를 인코딩하는 기법이다. 채널 코딩은 메시지에 리던던시(redundancy)를 부가하는 인코딩을 수행하여 무선 통신 및 저장 장치 등의 채널에서 발생할 수 있는 오류 검출과 오류 정정을 가능하게 한다.
도 1을 참조하면, 일실시예에 따른 디코딩 장치는 인코딩에 이용된 채널코드의 유형을 판단할 수 있다(102). 디코딩 장치는 뉴럴 네트워크를 이용하기 위해 채널코드의 유형을 판단할 수 있다. 채널코드는 채널 코딩에서 채용된 것이고, 디코딩 장치는 채널코드의 유형을 미리 알고 있고, 수신된 정보로부터 판단할 수 있다.
도 1을 참조하면, 일실시예에 따른 디코딩 장치는 채널코드의 유형에 기초하여, 기 학습된 뉴럴 네트워크를 획득할 수 있다(103). 뉴럴 네트워크는 코드워드를 디코딩하기 위하여 미리 학습될 수 있고, 디코딩 장치는 채널코드의 유형에 대응하는 뉴럴 네트워크를 획득할 수 있다. 디코딩 장치는 채널코드의 유형에 대응하는 뉴럴 네트워크를 구현하기 위해 뉴럴 네트워크의 파라미터를 획득하고, 획득된 파라미터를 이용하여 뉴럴 네트워크를 최적화할 수 있다. 기 학습된 뉴럴 네트워크로 인가되거나 기 학습된 뉴럴 네트워크로부터 출력되는 데이터의 유형은 다양하게 변형될 수 있다. 뉴럴 네트워크는 CNN(Convolutional neural network), RNN(Recurrent Neural Network) 등 다양한 유형의 네트워크로 구현될 수 있다.
도 1을 참조하면, 일실시예에 따른 디코딩 장치는 획득된 뉴럴 네트워크로 코드워드를 인가하여 코드워드를 디코딩할 수 있다(104). 예를 들어, 디코딩 장치는 코드워드에 기초하여, 뉴럴 네트워크의 입력 레이어에 대응하는 입력 벡터를 생성하고, 생성된 입력 벡터를 입력 레이어에 인가할 수 있다. 뉴럴 네트워크의 출력 레이어는 출력 벡터를 생성하고, 디코딩 장치는 뉴럴 네트워크의 출력 벡터에 기초하여 코드워드를 생성하기 위해 인코딩된 메시지를 예측할 수 있다. 여기서, 뉴럴 네트워크는 메시지들을 채널코드에 따른 인코딩하여 생성된 코드워드들에 기초하여 학습될 수 있다. 이하, 도 2를 참조하여 채널코드의 유형 별로 뉴럴 네트워크가 구현되는 실시예가 설명된다.
도 2는 일실시예에 따른 뉴럴 네트워크가 최적화되는 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 디코딩 장치는 뉴럴 네트워크(201)를 초기화할 수 있다. 초기화된 뉴럴 네트워크(201)는 특정 유형의 채널코드에 대응하는 파라미터가 탑재되기 이전의 뉴럴 네트워크일 수 있다.
디코딩 장치는 제1 코드워드를 수신하고, 제1 코드워드에 대응하는 채널코드의 유형을 판단할 수 있다. 일실시예에 따르면, 제1 코드워드의 송신기는 어떤 채널코드를 사용할 것인지에 대한 정보를 수신기로 전송할 수 있고, 디코딩 장치는 송신기로부터 전송된 정보에 기초하여 제1 코드워드에 대응하는 채널코드의 유형을 판단할 수 있다. 일실시예에 따르면, 송신기와 수신기는 각 상황과 자원에 있어서 어떤 채널코드가 사용될 것인지 미리 알고 있고, 디코딩 장치는 미리 정해진 방식에 따라 채널코드의 유형을 판단할 수 있다. 디코딩 장치는 채널코드의 유형이 제1 유형인 것으로 판단할 수 있다. 디코딩 장치는 제1 코드워드가 제1 유형의 채널코드에 대응하는 것에 응답하여, 제1 유형의 채널코드에 대응하는 파라미터를 획득할 수 있다. 디코딩 장치는 획득된 파라미터를 이용하여 뉴럴 네트워크(202)를 최적화할 수 있다. 디코딩 장치는 수신된 제1 코드워드를 최적화된 뉴럴 네트워크(202)를 이용하여 디코딩할 수 있다.
디코딩 장치는 새로운 제2 코드워드를 수신하고, 제2 코드워드에 대응하는 채널코드의 유형을 판단할 수 있다. 디코딩 장치는 제2 코드워드가 제2 유형의 채널코드에 대응하는 것에 응답하여, 제2 유형의 채널코드에 대응하는 파라미터를 획득할 수 있다. 디코딩 장치는 획득된 파라미터를 이용하여 뉴럴 네트워크(203)를 최적화할 수 있다. 디코딩 장치는 새롭게 수신된 제2 코드워드를 최적화된 뉴럴 네트워크(203)를 이용하여 디코딩할 수 있다.
도 3은 일실시예에 따른 뉴럴 네트워크의 파라미터를 획득하는 동작을 설명하기 위한 도면이다.
일실시예에 따르면, 디코딩 장치는 데이터베이스(301)로부터 뉴럴 네트워크의 파라미터를 획득할 수 있다. 데이터베이스(301)는 상응하는 채널코드들의 유형들과 파라미터들을 기록할 수 있다. 디코딩 장치는 디코딩하고자 하는 코드워드에 대응하는 채널코드의 유형을 판단하고, 데이터베이스(301)를 조회하여, 채널코드의 유형에 대응하는 뉴럴 네트워크의 파라미터를 획득할 수 있다. 디코딩 장치는 획득된 파라미터에 기초하여, 채널코드의 유형에 대응하는 뉴럴 네트워크를 획득할 수 있다. 데이터베이스(301)는 디코딩 장치의 내부 또는 외부의 메모리 또는 서버에 기록되어 유지되거나, 클라우드 형태로 구현될 수 있다. 데이터베이스(301)가 구현되는 양상은 다양하게 변형 또는 응용될 수 있다.
도 4는 일실시예에 따른 채널코드의 유형을 결정하는 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 디코딩 장치는 송신기(401)로부터 수신기(402)가 수신한 코드워드를 획득할 수 있다. 코드워드는 메시지를 채널코드에 따른 인코딩하여 생성되고, 송신기(401)는 코드워드를 전송할 수 있다. 디코딩 장치는 수신기(402)와 연결될 수 있다. 디코딩 장치는 수신기(402)가 수신한 코드워드를 디코딩하기 위해 채널코드의 유형을 판단할 수 있다.
송신기(401)와 수신기(402)는 통신을 통해 채널코드의 유형을 결정할 수 있다. 일실시예에 따르면, 송신기(401)와 수신기(402)는 미리 정의된 규약에 따라 특정 유형의 채널코드의 코드워드를 송수신할 수 있다. 일실시예에 따르면, 송신기(401)와 수신기(402)는 표준 등에 의해 다양한 MCS(Modulation & Coding Scheme)를 탑재할 수 있고, 상황 별로 어떠한 MCS를 사용할지 미리 인식하고 있거나 협상(negotiation)을 통해 결정할 수 있다. 수신기(402) 측에서 디코딩 대상의 채널코드의 유형이 결정되면, 디코딩 장치는 결정된 유형에 적합한 정보를 데이터베이스로부터 조회할 수 있다. 디코딩 장치는 결정된 채널코드의 유형에 기초하여 뉴럴 네트워크의 파라미터를 획득할 수 있다.
도 5는 일실시예에 따른 학습 기반 채널코드 디코딩의 시스템을 설명하기 위한 도면이다.
도 5를 참조하면, 기 학습된 뉴럴 네트워크(506)에 의해 채널코드 디코딩이 수행되는 내용이 설명된다. 뉴럴 네트워크(506)는 입력 레이어(Input layer), 복수의 히든 레이어(Hidden layer)들 및 출력 레이어(Output layer)를 포함하고, 각 레이어들 사이에는 가중치들(weights)과 바이어스들(biases)이 정의될 수 있다. 디코딩 장치는 학습을 통해 최적화가 완료된 가중치들(weights)과 바이어스들(biases)을 뉴럴 네트워크(506)에 적용하여 디코딩을 수행할 수 있다.
일실시예에 따르면, k 비트(k bits)의 메시지 M(501)은 채널코드에 따른 인코딩에 의해 N 비트(N bits)의 코드워드(502)로 변환될 수 있다. 일실시예에 따르면, 채널코드는 BCH(Bose-Chadhuri-Hocquenghem), RM(Reed Muller), RS(Reed-Solomon), Turbo, LDPC(Low-Density Parity-Check), Polar 등 다양한 유형의 채널코드일 수 있다. 코드워드(502)는 송신기의 전송에 적합한 형태로 변조(503)될 수 있다. 변조된 코드워드에는 잡음(504)이 적용될 수 있다. 변조와 잡음이 적용된 코드워드는 송신기로부터 수신기로 전송될 수 있다.
디코딩 장치는 수신기가 수신한 코드워드를 뉴럴 네트워크(506)의 입력 레이어에 적합한 형태로 처리할 수 있다. 일실시예에 따르면, S/P(Serial to Parallel) 변환기(505)에 의해 코드워드는 뉴럴 네트워크(506)의 입력 레이어에 적합한 형태로 변환될 수 있다. 디코딩 장치는 코드워드에 따른 신호를 뉴럴 네트워크(506)로 인가할 수 있다.
뉴럴 네트워크(506)의 출력 레이어는 출력을 생성할 수 있다. 변조되고, 잡음이 포함된 코드워드는 뉴럴 네트워크(506)의 포워드 전파(forward propagation) 과정을 거치게 되고, 뉴럴 네트워크(506)는 출력을 생성한다. 일실시예에 따르면, P/S(Parallel to Serial) 변환기(507)에 의해 뉴럴 네트워크(506)의 출력은 메시지
Figure pat00001
(508)로 변환될 수 있다.
Figure pat00002
(508)은 뉴럴 네트워크(506)에 의해 예측된 메시지로서, 코드워드 (N, k)(502)를 생성하기 위해 인코딩된 메시지 M(501)와 대응한다.
도 6은 일실시예에 따른 학습 기반 채널코드 디코딩 장치를 설명하기 위한 도면이다.
도 6을 참조하면, 디코딩 장치는 데이터베이스(601), 콘트롤러(602) 및 학습-기반 디코더(603)를 포함한다. 콘트롤러(602)는 데이터베이스(601)로부터 필요한 정보를 조회하고, 디코더(603)를 제어할 수 있다. 다만, 디코딩 장치는 콘트롤러(602) 또는 학습-기반 디코더(603) 만으로 구현될 수 있고, 나머지 구성들과 연계하여 디코딩을 수행할 수 있으며, 구성요소의 양상은 다양하게 변형될 수 있다.
데이터베이스(601)는 뉴럴 네트워크를 구현하기 위한 파라미터를 채널코드의 유형 별로 기록할 수 있다. 뉴럴 네트워크의 파라미터는 뉴럴 네트워크 내 노드(node)들을 연결하는 엣지(edge)에 부여된 가중치 등을 포함할 수 있고, 뉴럴 네트워크는 입력 레이어(input layer), 히든 레이어(hidden layer), 출력 레이어(output layer), 각 레이어들의 노드(node) 수, 노드들의 연결 양상 등의 정보에 의해 표현될 수 있다. 일실시예에 따르면, 파라미터는 채널코드의 유형에 대응하는 뉴럴 네트워크의 학습 Eb/N0(energy per bit to noise power spectral density ratio), 레이어 수, 각 레이어의 노드 수, 활성화 함수, 가중치, 바이어스 및 Dropout 비율을 포함한다.
콘트롤러(602)는 채널코드의 유형 별로 뉴럴 네트워크를 학습시켜, 뉴럴 네트워크의 파라미터를 최적화할 수 있다. 일실시예에 따르면, 콘트롤러(602)는 Polar의 채널코드에 기초하여 뉴럴 네트워크를 학습시키고, 학습된 뉴럴 네트워크의 파라미터를 데이터베이스(601)에 기록할 수 있다. 그 다음으로, 콘트롤러(602)는 LDPC의 채널코드에 기초하여 뉴럴 네트워크를 학습시키고, 학습된 뉴럴 네트워크의 파라미터를 데이터베이스(601)에 기록할 수 있다. 이와 같은 방식으로, 콘트롤러(602)는 다양한 유형의 채널코드 별로 뉴럴 네트워크를 학습시키고, 채널코드의 유형 별로 파라미터를 데이터베이스(601)에 기록할 수 있다. 콘트롤러(602)는 학습 또는 디코딩을 위해 뉴럴 네트워크를 초기화할 수 있다. 콘트롤러(602)는 디코더(603)를 제어하여 채널코드의 유형에 따른 디코딩을 수행할 수 있다.
도 7은 일실시예에 따른 채널코드 디코딩을 위한 학습 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 일실시예에 따른 채널코드 디코딩을 위한 학습 장치(이하, 학습 장치라 함)는 트레이닝 메시지들을 획득할 수 있다(701). 트레이닝 메시지는 디코딩하고자 하는 메시지로서, 뉴럴 네트워크를 학습시키기 위해 수집될 수 있다. 학습 장치는 채널코드 디코딩을 위한 뉴럴 네트워크를 학습시키는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 학습 장치는 서버, 단말 또는 이들의 조합으로 구현될 수 있다. 학습 장치는 학습을 수행하기 위한 신호, 명령 도는 정보를 처리할 수 있다.
학습 장치는 트레이닝 메시지들을 제1 유형의 채널코드에 따른 인코딩하여 생성된 트레이닝 코드워드들을 획득할 수 있다(702). 트레이닝 코드워드는 트레이닝 메시지를 인코딩하여 생성된 것으로, 뉴럴 네트워크를 학습시키기 위해 수집될 수 있다. 트레이닝 코드워드는 학습을 위해 변조되고, 잡음이 적용될 수 있다.
학습 장치는 트레이닝 코드워드들을 뉴럴 네트워크로 인가할 수 있다(703). 트레이닝 코드워드들은 뉴럴 네트워크의 입력 레이어에 적합한 형태로 변형되어 인가될 수 있다.
학습 장치는 뉴럴 네트워크의 출력에 기초하여 예측된 메시지들과 트레이닝 메시지들에 기초하여, 뉴럴 네트워크의 제1 파라미터들을 최적화할 수 있다(704). 학습 장치는 뉴럴 네트워크의 파라미터를 최적화하여 뉴럴 네트워크를 학습시킬 수 있다. 도 8을 참조하면, 학습 장치는 트레이닝 코드워드들(802)을 뉴럴 네트워크(801)로 인가하여, 뉴럴 네트워크(801)에 의해 예측된 메시지들(803)을 획득할 수 있다. 학습 장치는 예측된 메시지들(803)과 트레이닝 메시지들(804)을 이용하여 뉴럴 네트워크(801)를 학습시킬 수 있다.
다시, 도 7을 참조하면, 학습 장치는 뉴럴 네트워크에 의해 예측된 메시지들이 트레이닝 메시지들에 가까워지도록 뉴럴 네트워크의 제1 파라미터들을 최적화할 수 있다. 학습 장치는 뉴럴 네트워크에 의해 예측된 메시지들과 트레이닝 메시지들에 기초한 손실 함수의 값이 작아지도록 뉴럴 네트워크의 제1 파라미터들을 최적화할 수 있다. 뉴럴 네트워크를 학습시키는 기법에는 SGD(Stochastic Gradient Descent) 및 백 전파(back propagation) 등 다양한 방식이 채용될 수 있다.
학습 장치는 제1 유형과 제1 파라미터들을 연관시키고, 제2 유형과 제2 파라미터들을 연관시킬 수 있다(705). 일실시예에 따르면, 학습 장치는 BCH의 채널코드에 대응하는 파라미터를 데이터베이스에 기록하고, LDPC의 채널코드에 대응하는 파라미터를 데이터베이스에 기록할 수 있다. 학습 장치는 복수의 유형들에 대응하는 복수의 파라미터들을 데이터베이스에 저장할 수 있다. 상술한 바와 같이, 디코딩을 위해 필요한 파라미터는 데이터베이스로부터 조회될 수 있다.
도 9는 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 도면이다.
일실시예에 따르면, 디코딩 장치는 기 학습된 뉴럴 네트워크(901)를 이용하여 디코딩을 수행할 수 있다. 디코딩 장치는 채널코드에 따른 인코딩을 통해 생성된 코드워드(903)를 수신할 수 있다. 디코딩 장치는 인코딩에 이용된 채널코드의 유형(902)을 판단할 수 있다. 디코딩 장치는 채널코드의 유형(902) 및 코드워드(903)에 기초하여 입력 벡터를 생성할 수 있다. 디코딩 장치는 채널코드의 유형(902) 및 코드워드(903)으로부터 뉴럴 네트워크(901)의 입력 레이어에 적합한 형태로 입력 벡터를 생성할 수 있다. 디코딩 장치는 생성된 입력 벡터를 뉴럴 네트워크(901)로 인가하여 코드워드(903)를 생성하기 위해 인코딩된 메시지(904)를 예측할 수 있다.
뉴럴 네트워크(901)는 채널코드의 유형과 코드워드에 기초한 입력으로부터 코드워드를 생성하기 위해 인코딩된 메시지를 예측하도록 미리 학습될 수 있다. 일실시예에 따르면, 뉴럴 네트워크(901)는 트레이닝 메시지들과 트레이닝 메시지들에 대응하는 트레이닝 입력 벡터들에 기초하여 학습될 수 있다. 여기서, 트레이닝 입력 벡터들은 트레이닝 채널코드들의 유형들 및 트레이닝 코드워드들에 기초하여 생성될 수 있다. 디코딩 장치는 뉴럴 네트워크(901)를 이용하여 채널코드의 유형에 대응하는 파라미터의 조회 없이 디코딩을 수행할 수 있다.
도 10은 일실시예에 따른 학습 기반 채널코드 디코딩 방법을 설명하기 위한 도면이다.
일실시예에 따르면, 디코딩 장치는 기 학습된 뉴럴 네트워크(1001)를 이용하여 디코딩을 수행할 수 있다. 디코딩 장치는 채널코드에 따른 인코딩을 통해 생성된 코드워드(1002)를 수신할 수 있다. 디코디 장치는 코드워드(1002)에 기초하여 입력 벡터를 생성할 수 있다. 디코딩 장치는 코드워드(1002)으로부터 뉴럴 네트워크(1001)의 입력 레이어에 적합한 형태로 입력 벡터를 생성할 수 있다. 디코딩 장치는 생성된 입력 벡터를 뉴럴 네트워크(1001)로 인가하여 코드워드(1002)를 생성하기 위해 인코딩된 메시지(1003)를 예측할 수 있다.
뉴럴 네트워크(1001)는 코드워드에 기초한 입력으로부터 코드워드를 생성하기 위해 인코딩된 메시지를 예측하도록 미리 학습될 수 있다. 일실시예에 따르면, 뉴럴 네트워크(1001)는 트레이닝 메시지들과 트레이닝 메시지들에 대응하는 트레이닝 입력 벡터들에 기초하여 학습될 수 있다. 여기서, 트레이닝 입력 벡터들은 트레이닝 코드워드들에 기초하여 생성될 수 있다. 디코딩 장치는 뉴럴 네트워크(1001)를 이용하여 채널코드의 유형에 대응하는 파라미터의 조회 없이 디코딩을 수행할 수 있다.
도 11은 일실시예에 따른 장치의 구성의 예시도이다.
도 11을 참조하면, 장치(1101)는 프로세서(1102) 및 메모리(1103)를 포함한다. 프로세서(1102)는 도 1 내지 도 10를 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 10를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(1103)는 학습 기반 채널코드 디코딩 방법 또는 채널코드 디코딩을 위한 학습 방법이 구현된 프로그램을 저장할 수 있다. 메모리(1103)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1102)는 프로그램을 실행하고, 장치(1101)를 제어할 수 있다. 프로세서(1102)에 의하여 실행되는 프로그램의 코드는 메모리(1103)에 저장될 수 있다. 장치(1101)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.
많은 무선 통신 시스템에서는 다양한 채널/사용 환경에 대응할 수 있도록 다양한 MCS (Modulation & Coding Scheme)를 탑재하고 있으며, MCS의 종류에 따라 다양한 채널코딩 방식이 사용될 수 있다. 또한 3GPP(3rd Generation Partnership Project)의 UMTS(Universal Mobile Telecommunication System), LTE(Long Term Evolution) 등의 시스템을 비롯하여 많은 무선 통신 시스템은 AMC(Adaptive Modulation and Coding) 기술을 사용하기 때문에 통신이 수행되고 있는 중에도 MCS가 수시로 바뀔 수 있다. 5G(Generation)로 알려진 3GPP의 NR(New Radio) 표준의 eMBB(enhanced Mobile Broadband) 사용 시나리오를 위한 무선 프레임 구조에서 제어(control) 채널은 극 코드를 사용하고 데이터 채널은 LDPC 코드를 사용한다. 무선 통신 시스템은 2개 이상의 채널코딩 방식을 사용하고 있고, 각각을 인코딩/디코딩하기 위해 각 채널코딩 방식을 위한 인코더와 디코더를 탑재하고 있는데, 이러한 탑재는 기기 단가의 상승 요인이 되며 소형단말의 공간활용, 전력소모 등의 문제도 야기할 수 있다.
일실시예에 따른 디코딩 장치는 적어도 하나의 뉴럴 네트워크를 이용하여 다양한 채널코드의 유형에 대응하는 디코딩을 수행할 수 있기 때문에, 각 채널코드의 유형별로 디코더를 탑재할 필요가 없어 비용, 공간 및 전력소모를 절약할 수 있다. 일실시예에 따른 디코딩 장치는 기계학습을 이용하여 구현 복잡도를 줄일 수 있다. 채널코드의 디코딩은 계산량이 많고 복잡한데, 일실시예에 따른 디코딩 장치는 기 학습된 뉴럴 네트워크를 이용하여 디코딩에 따른 계산 복잡도를 줄일 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
401: 송신기
402: 수신기

Claims (20)

  1. 인코딩을 통해 생성된 코드워드를 수신하는 단계;
    상기 인코딩에 이용된 채널코드의 유형을 판단하는 단계;
    상기 채널코드의 유형에 기초하여, 기 학습된 뉴럴 네트워크를 획득하는 단계; 및
    상기 획득된 뉴럴 네트워크로 상기 코드워드를 인가하여, 상기 코드워드를 디코딩하는 단계
    를 포함하는
    학습 기반 채널코드 디코딩 방법.
  2. 제1항에 있어서,
    상기 코드워드를 디코딩하는 단계는
    상기 뉴럴 네트워크의 출력에 기초하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계
    포함하는,
    학습 기반 채널코드 디코딩 방법.
  3. 제1항에 있어서,
    상기 뉴럴 네트워크를 획득하는 단계는
    채널코드들의 유형들에 대응하는 파라미터들을 기록하는 데이터베이스로부터, 상기 판단된 유형에 대응하는 적어도 하나의 파라미터를 획득하는 단계; 및
    상기 획득된 파라미터에 기초하여, 상기 유형에 대응하는 뉴럴 네트워크를 획득하는 단계
    를 포함하는,
    학습 기반 채널코드 디코딩 방법.
  4. 제3항에 있어서,
    상기 파라미터는 상기 유형에 대응하는 뉴럴 네트워크의 학습 Eb/N0(energy per bit to noise power spectral density ratio), 레이어 수, 각 레이어의 노드 수, 활성화 함수, 가중치 및 바이어스 중 적어도 하나를 포함하는,
    학습 기반 채널코드 디코딩 방법.
  5. 제1항에 있어서,
    상기 뉴럴 네트워크는 메시지들과 상기 메시지들을 상기 채널코드에 따른 인코딩하여 생성된 코드워드들에 기초하여 학습된,
    학습 기반 채널코드 디코딩 방법.
  6. 제1항에 있어서,
    상기 채널코드의 유형을 판단하는 단계는
    상기 코드워드를 전송하는 송신기와의 통신에 기초하여, 상기 채널코드의 유형을 판단하는 단계
    를 포함하는,
    학습 기반 채널코드 디코딩 방법.
  7. 제1항에 있어서,
    상기 코드워드는 전송을 위해 변조된,
    학습 기반 채널코드 디코딩 방법.
  8. 제1항에 있어서,
    상기 코드워드는 잡음이 적용된,
    학습 기반 채널코드 디코딩 방법.
  9. 트레이닝 메시지들을 획득하는 단계;
    상기 트레이닝 메시지들을 제1 유형의 채널코드에 따른 인코딩하여 생성된 트레이닝 코드워드들을 획득하는 단계;
    상기 트레이닝 코드워드들을 뉴럴 네트워크로 인가하는 단계;
    상기 뉴럴 네트워크의 출력에 기초하여 예측된 메시지들과 상기 트레이닝 메시지들에 기초하여, 상기 뉴럴 네트워크의 제1 파라미터들을 최적화하는 단계; 및
    상기 제1 유형과 상기 제1 파라미터들을 연관시키고, 제2 유형과 제2 파라미터들을 연관시키는 단계
    를 포함하는,
    채널코드 디코딩을 위한 학습 방법.
  10. 제9항에 있어서,
    상기 제1 파라미터들을 최적화하는 단계는
    상기 예측된 메시지들과 상기 트레이닝 메시지들에 기초한 손실 함수의 값이 작아지도록 상기 뉴럴 네트워크의 제1 파라미터들을 최적화하는 단계
    를 포함하는,
    채널코드 디코딩을 위한 학습 방법.
  11. 제9항에 있어서,
    복수의 유형들에 대응하는 복수의 파라미터들을 저장하는 단계
    를 더 포함하는,
    채널코드 디코딩을 위한 학습 방법.
  12. 제9항에 있어서,
    상기 제1 파라미터들은 상기 제1 유형에 대응하는 뉴럴 네트워크의 학습 Eb/N0(energy per bit to noise power spectral density ratio), 레이어 수, 각 레이어의 노드 수, 활성화 함수, 가중치 및 바이어스 중 적어도 하나를 포함하는,
    채널코드 디코딩을 위한 학습 방법.
  13. 제9항에 있어서,
    상기 트레이닝 코드워드들은 전송을 위해 변조된,
    채널코드 디코딩을 위한 학습 방법.
  14. 제9항에 있어서,
    상기 트레이닝 코드워드들은 잡음이 적용된,
    채널코드 디코딩을 위한 학습 방법.
  15. 인코딩을 통해 생성된 코드워드를 수신하는 단계;
    상기 인코딩에 이용된 채널코드의 유형을 판단하는 단계;
    상기 채널코드의 유형 및 상기 코드워드에 기초하여 입력 벡터를 생성하는 단계; 및
    상기 입력 벡터를 기 학습된 뉴럴 네트워크로 인가하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계
    를 포함하는
    학습 기반 채널코드 디코딩 방법.
  16. 제15항에 있어서,
    상기 뉴럴 네트워크는 메시지들과 상기 메시지들에 대응하는 입력 벡터들에 기초하여 학습되고,
    상기 입력 벡터들은 채널코드들의 유형들 및 코드워드들에 기초하여 생성된,
    학습 기반 채널코드 디코딩 방법.
  17. 인코딩을 통해 생성된 코드워드를 수신하는 단계;
    상기 코드워드에 기초하여 입력 벡터를 생성하는 단계; 및
    상기 입력 벡터를 기 학습된 뉴럴 네트워크로 인가하여, 상기 코드워드를 생성하기 위해 인코딩된 메시지를 예측하는 단계
    를 포함하는
    학습 기반 채널코드 디코딩 방법.
  18. 제17항에 있어서,
    상기 뉴럴 네트워크는 메시지들과 상기 메시지들에 대응하는 입력 벡터들에 기초하여 학습되고,
    상기 입력 벡터들은 코드워드들에 기초하여 생성된,
    학습 기반 채널코드 디코딩 방법.
  19. 적어도 하나의 명령을 기록하는 메모리; 및
    상기 명령을 실행하는 프로세서
    를 포함하고,
    상기 프로세서는
    인코딩을 통해 생성된 코드워드를 수신하고,
    상기 인코딩에 이용된 채널코드의 유형을 판단하고,
    상기 채널코드의 유형에 기초하여, 기 학습된 뉴럴 네트워크를 획득하고,
    상기 획득된 뉴럴 네트워크로 상기 코드워드를 인가하여, 상기 코드워드를 디코딩하는,
    학습 기반 채널코드 디코딩 장치.
  20. 적어도 하나의 명령을 기록하는 메모리; 및
    상기 명령을 실행하는 프로세서
    를 포함하고,
    상기 프로세서는
    트레이닝 메시지들을 획득하고,
    상기 트레이닝 메시지들을 제1 유형의 채널코드에 따른 인코딩하여 생성된 트레이닝 코드워드들을 획득하고,
    상기 트레이닝 코드워드들을 뉴럴 네트워크로 인가하고,
    상기 뉴럴 네트워크의 출력에 기초하여 예측된 메시지들과 상기 트레이닝 메시지들에 기초하여, 상기 뉴럴 네트워크의 제1 파라미터들을 최적화하고,
    상기 제1 유형과 상기 제1 파라미터들을 연관시키고, 제2 유형과 제2 파라미터들을 연관시키는,
    학습 기반 채널코드 디코딩 장치.

KR1020180040391A 2018-04-06 2018-04-06 학습 기반 채널코드 디코딩 방법 및 장치 KR20190117186A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180040391A KR20190117186A (ko) 2018-04-06 2018-04-06 학습 기반 채널코드 디코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180040391A KR20190117186A (ko) 2018-04-06 2018-04-06 학습 기반 채널코드 디코딩 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190117186A true KR20190117186A (ko) 2019-10-16

Family

ID=68421703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180040391A KR20190117186A (ko) 2018-04-06 2018-04-06 학습 기반 채널코드 디코딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190117186A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102349810B1 (ko) * 2020-08-07 2022-01-10 금오공과대학교 산학협력단 오토 디코더를 활용한 고속의 rm 부호 디코딩 방법
KR102349814B1 (ko) * 2020-08-07 2022-01-10 금오공과대학교 산학협력단 제어 비트를 갖는 오토 디코더를 사용한 채널 디코딩 방법
CN115441993A (zh) * 2022-09-01 2022-12-06 中国人民解放军国防科技大学 一种信道编解码方法、装置、设备及存储介质
WO2024043541A1 (ko) * 2022-08-25 2024-02-29 삼성전자주식회사 무선 통신 시스템에서 블라인드 검출을 수행하는 수신기 및 그 동작 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102349810B1 (ko) * 2020-08-07 2022-01-10 금오공과대학교 산학협력단 오토 디코더를 활용한 고속의 rm 부호 디코딩 방법
KR102349814B1 (ko) * 2020-08-07 2022-01-10 금오공과대학교 산학협력단 제어 비트를 갖는 오토 디코더를 사용한 채널 디코딩 방법
WO2024043541A1 (ko) * 2022-08-25 2024-02-29 삼성전자주식회사 무선 통신 시스템에서 블라인드 검출을 수행하는 수신기 및 그 동작 방법
CN115441993A (zh) * 2022-09-01 2022-12-06 中国人民解放军国防科技大学 一种信道编解码方法、装置、设备及存储介质
CN115441993B (zh) * 2022-09-01 2024-05-28 中国人民解放军国防科技大学 一种信道编解码方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110741553B (zh) 用于前向纠错解码的神经网络
KR102374715B1 (ko) 채널 폴라리제이션 메커니즘으로 데이터를 인코딩 및 디코딩하는 시스템
KR20190117186A (ko) 학습 기반 채널코드 디코딩 방법 및 장치
US11580396B2 (en) Systems and methods for artificial intelligence discovered codes
KR102433645B1 (ko) 무선 통신 시스템에서 복호화 방법 및 장치
JP7228042B2 (ja) 符号化方法及び装置並びに復号化方法及び装置
CN111712835A (zh) 数据传输系统中的信道建模
KR20110135597A (ko) 행렬 네트워크 코딩을 사용하는 장치 및 방법
US20230262728A1 (en) Communication Method and Communication Apparatus
CN112236782A (zh) 通信系统中的端到端学习
US11876531B2 (en) Smart decoder
US10892783B2 (en) Apparatus and method for decoding polar codes
KR20200062653A (ko) 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치
KR20190123801A (ko) 폴라 코드의 부호율 조정 방법 및 장치
KR102213345B1 (ko) 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
US8451912B2 (en) Method and system for optimizing quantization for noisy channels
CN110730009B (zh) 一种基于深度学习的校验子输入rs码译码方法
WO2019200971A1 (zh) 一种极化Polar码的译码方法及通信设备
KR101567732B1 (ko) 격자코드를 활용한 버퍼 기반 양방향 릴레이 통신 시스템
Meenalakshmi et al. Deep learning-enabled polar code decoders for 5G networks and beyond
Khan et al. Link to system interfacing for multiple input and multiple output wireless system using maximum likelihood receiver
Wu et al. Low complexity detection based on selective message passing for SCMA systems
CN109951191B (zh) 非系统Raptor码的渐进式译码方法及装置
KR102186144B1 (ko) 다중 입력 다중 출력 시스템에서 채널 관련 정보 송/수신 장치 및 방법
CN116938401A (zh) 数据的传输方法和通信装置