Ⅰ. 서 론
최근 고급 정보 기반 기술을 사용하여 전력망의 효율, 신뢰성 및 유연성을 높이고 추가 전기 설비 인프라 를 구축해야하는 비율을 줄이는 것을 목적으로 하는 스마트 그리드 기술이 주목받고 있다(Srinivasa et al., 2009). 스마트 그리드는 다양한 정보 통신 기술(ICT) 응용 분야에 적용할 수 있는 지능형 전력망이다. 또한, 전력 공급업체와 소비자 간의 전력 사용을 실시간으로 상호 교환할 수 있도록 기존의 전력망을 지원한다. 스 마트 그리드가 적용된 정보 통신 기술 응용 분야 중에 전력선 통신 기반의 에너지 저장 기술이 있다. 만약 전기자동차 충전 시스템이 널리 적용된다면 전력선 통신 기반의 에너지 저장 기술이 에너지 수요를 분산시 키는 효과를 발휘할 것으로 예상된다(Galli et al., 2011). 국제 표준화기구인 ISO/IEC는 전기자동차 충전 시스 템의 통신 기술로 전력선 통신 기술을 채택하였다. 이에 따라 전기자동차의 안정적인 지원을 위해 전력선 통 신이 전기자동차 충전 시스템에 적용되었을 때 발생할 수 있는 문제에 대해 정의하고 해결하려는 연구들이 활발히 진행되고 있다.
전력선 통신 기반의 전기자동차 충전 시스템의 주요한 문제 중 하나가 잡음에 의한 오류의 발생이다. 전 력선 통신 기반의 충전 시스템은 여러 전기 장치들이 전력선으로 연결되어 있어 전기 장치들의 전원을 끄고 켬이 무작위로 일어난다. 이러한 무작위적인 전원의 끄고 켬이 연결되어 있는 전력선에서 임펄스성 잡음을 발생시킨다(Ferreira et al., 1996). 또한, 전기 장치의 임피던스 불일치로도 전력선에서 임펄스성 잡음이 발생 하기도 한다. 이렇게 발생한 임펄스성 잡음이 데이터를 전송하는데 있어서 심각한 오류를 발생시키는 원인 이 된다. 그리고 전력선 통신 기반의 전기자동차 충전 시스템의 채널이 복잡한 회선 네트워크의 전달 함수를 가지고 있어 다중 경로가 발생하여 다수 장치들의 신호가 수신기로 도달할 수 있어 간섭을 일으킬 수 있다. 그러므로 신뢰성 있는 데이터를 전송하기 위해서 잡음과 간섭의 문제를 해결할 필요가 있다.
딥 러닝 기술은 최근 4차 산업혁명으로 화두가 되고 있는 기술이다. 딥 러닝 기술이 최근에 등장한 기술 로 보이지만 이전부터 연구가 진행되어오고 있었으며 개발된 알고리즘들이 좋은 성능을 보임에도 불구하고 과적합과 긴 학습시간으로 인해 실용적이지 않다는 문제가 있어 딥 러닝 기술이 이용되는 일이 드물었다. 그 러나 시간이 지남에 따라 과적합을 회피할 수 있는 알고리즘들이 개발되고 효율적으로 학습하는 알고리즘의 개발과 하드웨어 기술의 발전으로 이전의 딥 러닝 기술이 가지고 있던 문제들이 해결되면서 딥 러닝 기술이 다양한 분야에 적용되고 있다. 본 논문에서는 딥 러닝 기술을 통신 분야에 적용시켜 통신환경에서 오류가 생 겼을 때 오류를 발견하고 정정하는 기존의 오류정정부호 기법을 딥 러닝 알고리즘 모델로 바꾸어 오류의 발 견과 정정을 수행하는 딥 러닝 기반의 오류정정부호 기법을 이용한다.
본 논문의 구성은 다음과 같다. 2장에서는 전기자동차의 충전 시스템에 대해 소개하고 3장에서는 오류정 정부호에 대해 설명하며 4장에서는 딥 러닝 알고리즘에 대해 설명한다. 5장에서는 딥 러닝 기반의 오류정정 부호 기법을 설명하고 6장에서는 전기자동차의 충전시스템에서 딥 러닝 기반의 오류정정부호 기법을 적용시 켜 시뮬레이션을 진행하고 그 결과를 보여주며 7장에서 결론을 보여 논문을 마무리한다.
Ⅱ. 전기자동차의 충전 시스템
이번 장에서는 IEC(2011)에서 기술한 전기자동차 충전 시스템의 개념을 소개한다. 전기자동차 충전 시스 템은 1,000V 표준 교류 공급 전압 (IEC 60038에 따라) 이하를 사용하는 저속 충전 방식 기반의 교류 충전 스 테이션과 직류 1,500 V 이하의 직류 전압을 사용하는 고속충전 방식 기반의 직류 충전 스테이션으로 분류된 다. ISO/IEC는 IEC 61851 전기자동차의 전도성 충전 시스템을 표준화하기 위해 노력하고 있다(IEC, 2011). 더 욱이, 전기자동차 충전에 중요한 것은 전기자동차 커플러와 전기자동차 충전 시스템을 연결하는 차량 입구 의 방식, IEC 62196 플러그, 콘센트, 차량 커넥터이다. 전기자동차의 전도성 충전은 표준화가 진행 중이다 (Toeltsch and Molisch, 2001). 교류 충전소는 교류 전력으로부터 전기를 받아 전기자동차로 공급하고, 전기자 동차에서 수신된 교류 전력을 온-보드 충전기를 경유하여 직류 전력으로 변환하고 변환된 전력을 배터리에 충전한다. 직류 충전 스테이션은 교류 전력에서 전기를 받아 직류 전력으로 변환하고 배터리에서 충전합니 다. 두 개의 스테이션 모두 사용자 충전 정보를 위한 입출력 (I/O) 시스템, 제어 시스템, 더 똑똑한 계량기, 그 리고 충전 시스템을 위한 조작 시스템과 전기자동차 충전을 제어하기 위한 통신 시스템을 가진 청구 시스템 을 연결하는 통신 시스템을 필요하다. 전기자동차의 충전 시스템의 통신 시스템으로 전력선 통신을 포함한 다양한 통신 시스템이 고려되고 있다. 전력선 통신은 주로 제어 시스템에 적합하다. 제어 시스템의 경우 다 량의 데이터를 전송하기 보다는 신뢰성 있는 데이터를 오류 없이 전송해야하므로 무선통신보다는 유선통신 이 적합하며 전력선통신을 이용할 경우 추가적인 선로의 설치가 필요하지 않아 추가 설치비용이 없다. 그러 므로 전력선 통신으로 오류가 없는 제어신호를 보내기 위해 신호의 오류를 발견하고 정정하는 오류정정부호 기법이 필요하다. <Fig. 1>은 전기자동차의 충전 시스템을 보여준다.
Ⅲ. 오류정정부호
이진 정보가 한 지점에서 다른 지점으로 이동할 때 항상 1이 0으로 0이 1로 되는 것과 같은 오류가 발생 할 수 있는 가능성이 있다. 이 가능성은 매체의 결점, 전기적 잡음, 구성요소의 실패, 부실한 연결 등 다양한 요소로 인해 발생한다. 이렇게 발생하는 오류를 발견하고 정정하기 위해 오류정정부호 기법을 사용한다 (Gomez et al., 1996). 현재까지 다양한 오류정정부호 기법이 개발되었고 개발 진행 중이다. 오류정정부호 기 법은 여분의 또는 추가의 비트를 정보 비트에 추가한다. 추가된 비트들은 각 정보에 특정 구조를 추가하고 오류로 구조가 변경되면 변경을 발견하고 수정할 수 있다. 오류정정부호 기법은 데이터의 정확성과 완전성 을 보장하기 위해 사용된다. 전자 데이터 전송 또는 저장 시스템은 완벽하지 않으며 일정 비율로 오류를 만 든다. 또한, 데이터 전송 속도와 저장 밀도가 증가함에 따라 오류율도 증가한다.
오류정정부호 기법은 기본적으로 정보 비트에 여분의 비트를 추가하여 코드워드를 만들어 내는 인코딩과 정과 수신한 데이터에서 올바른 정보 비트를 추출하는 디코딩과정으로 구성되어 있다. 코드워드란 정보 비 트에 여분의 비트를 추가하여 만든 비트의 집합이다. 인코딩과정은 디코딩과정과 달리 오류의 발견이나 정 정이 없어 구성이 간단하나 디코딩과정은 오류의 발견과 정정으로 통해 올바른 정보 비트를 추출해야하기 때문에 복잡하게 이루어져 있으며 좋은 성능의 오류정정부호 기법은 디코딩과정이 효율적인 것을 뜻하게 된 다. 오류정정부호 기법으로 주로 블록 코드와 컨볼루셔널 코드가 있다(Wells and Richard, 1999). 블록 코드는 고정된 수의 정보 비트를 고정된 수의 코드 비트로 대응하며 기억장치 없고 컨볼루셔널 코드는 고정된 수의 정보 비트를 고정된 수의 코드 비트로 대응하더라도 디코딩과정에서 이전 현재의 코드 비트뿐만 아니라 이 전 입력의 코드비트도 고려한다.
Ⅳ. 딥 러닝 알고리즘
이번 장에서는 딥 러닝 알고리즘 중 인공신경망에 대해 설명한다.
1. 인공신경망
인공 신경망은 실제 신경계의 추상 시뮬레이션이며 매우 많이 상호 연결된 정보처리 장치(뉴런)로 구성되 어 있다(Berber, 2004). 인공 신경망은 훈련되며 프로그래밍되지 않는다. 인공신경망의 뉴런은 매우 많이 상호 연결되어 있어서 뉴런의 상태는 가중치에 따라 연결되는 많은 다른 뉴런의 잠재력에 영향을 미친다. 인공신 경망에서 연결 가중치는 적응형이며 처리 단위에는 선형 활성화 함수가 없다. 인공신경망은 부정확하고 신 뢰할 수 없는 요소를 사용할 수 있지만 중복된 분산 구조 때문에 잡음이 있는 입력과 뉴런의 오류에 강력하 다. 또한, 학습 시간에 받은 정보의 표현이나 조직을 만들 수 있다. 일반적인 뉴런 모델은 상호 연결된 가중 치 wij를 가지는 다중 입력 비선형 모델이며 가중치는 시냅스 가중치 또는 강도라고 한다. 비선형 제한 또는 임계 함수Ψ(uj)는 셀의 몸체로 표현된다. 가장 단순한 모델은 아래의 식과 같이 가중 입력을 합산하고 비선 형 임계 함수를 통해 결과를 전달한다.
여기서 Ψ는 활성화 함수로 불리는 비선형 임계 함수, θj는 바이어스로 불리는 외부 한계점, wij는 시냅스 가중치 또는 강도, xi는 입력, n은 입력의 수, yi는 전달되는 출력이다. 때때로 θj는 wj0으로 표현되어 식 (1) 이 다음과 같이 표현될 수 있다.(2)
<Fig. 2>(Haroon et al., 2013)는 인공신경망 뉴런의 모델을 나타낸다. 활성화 레벨 또는 뉴런의 상태는 출력 신호에 의해 측정된다. 예를 들어, 뉴런이 활성이면 yj = 1, 뉴런이 비활성이면 yj = 0이다. 기본 뉴런 모델에 서 출력 신호는 일반적으로 입력 신호들의 가중 합계와 단조롭게 증가하는 시그모이드 함수에 의해 결정된 다. 시그모이드 함수는 수학적으로 다음과 같이 표현할 수 있다(Lin and Ming-Bo, 2000).(3)
여기서 γ는 양수의 상수 변수이며 시그모이드 함수의 기울기의 가파름 정도를 결정한다. 기본의 인공신 경망은 비선형성과 임계값을 특징으로 가진다.
2. 역전파 알고리즘
시냅스 가중치의 적응 학습 접근법은 다층 퍼셉트론으로 확장될 수 있다. 단순화를 위해 입력층, 은닉층, 출력층 이 3개의 층으로 구성된 다층 퍼셉트론을 고려한다. 네트워크의 동작은 입력과 출력의 쌍을 기준으 로 결정된다. 입력과 출력 쌍은 일반적으로 +1(on)과 –1(off)로 표현되는 뉴런의 안정된 상태로 표현된다. 특 정 일에 대한 다층 퍼셉트론의 학습은 주어진 입력에 대해 원하는 출력이 생성되도록 모든 시냅스 가중치의 값을 찾는 것과 같다. 따라서 다층 퍼셉트론의 학습은 원하는 출력 신호 djp와 실제 출력 신호 yjp 사이의 오 차가 최소가 되도록 모든 가중치를 조정하는 것으로 구성된다. 일반적인 역전파는 평균 오차 제곱 함수를 최 소화하기 위해 가파른 하강 경사법을 사용한다(Berber, 2004). p번째 학습 데이터 셋의 지역 오차 함수는 다 음과 같이 표현할 수 있다.(4)
전역 오차 함수는 다음과 식과 같이 표현할 수 있다.
<Fig. 3>(Haroon et al., 2013)은 세 개 층의 퍼셉트론의 표준 역전파 알고리즘을 보여준다
Ⅴ. 딥 러닝 기반의 오류 정정부호
딥 러닝 기반 채널 디코딩은 실제 신경망를 완전히 훈련시키기에는 너무 많은 코드 워드가 존재하게 되는 현상인 차원의 저주로 인해 연구가 관심 밖이 되었다. 그러나 코드 워드의 작은 부분에 대한 학습으로부터 전체 코드북을 추론할 수 있는 어떤 형태의 디코딩 알고리즘을 학습한다면 신경망를 실용적인 블록 길이에 대해 훈련이 가능하다는 연구 결과가 나오게 되면서 딥 러닝 기반 채널 디코딩의 연구가 진행되고 있다 (Gruber et al., 2017). 디코딩 알고리즘을 학습하려면 코드 자체가 컨볼루션 또는 대수 코드의 경우와 같이 간 단한 인코딩 규칙을 기반으로하는 일부 구조를 가져야한다. Gruber et al.(2017)에서 구조화된 코드가 무작위 코드보다 학습하기 쉽고 신경망의 학습 과정에서 본 적이 없는 코드 워드를 해독할 수 있는지에 대해 설명 하고 있다. 신경망 디코딩은 블록의 길이에 따라 훈련의 복잡성이 기하급수적으로 늘어나 많은 데이터를 보 내야하는 상황에는 적합하지 않으나 제어신호와 같이 적은 데이터를 보내야하는 상황에는 적합하다.
딥 러닝 기반 채널 디코딩은 잡음이 섞인 코드워드의 디코딩에 신경망을 사용한다. 송신기에서는 k개의 정보 비트는 길이 N의 코드 워드로 인코딩되고 코딩된 비트는 변조되어 잡음 채널을 통해 전송된다. 수신기 에서는 잡음이 석인 코드워드가 수신되고 디코더는 대응하는 정보 비트를 복원한다. 반복적인 디코딩과정과 비교할 때 신경망을 사용하는 디코더는 각 계층을 한 번만 통과함으로써 결과를 도출하기 때문에 낮은 대기 시간의 구현을 가능하게 한다. 일반적으로 신경망을 학습하기 위해 라벨링된 훈련 데이터를 얻는 것은 어려 우나 딥 러닝 기반 채널 디코딩에서는 인조 신호를 다루기 때문에 원하는 만큼의 훈련 샘플을 생성할 수 있 다. 또한, 잡음이 섞인 코드워드가 생성되면 송신된 정보 비트를 분명히 알 수 있기 때문에 라벨링된 원하는 신경망의 출력을 얻을 수 있다. 훈련 데이터 셋을 작게 유지하기 위해 신경망을 변조와 잡음 추가 계층을 가 지는 신경망으로 확장한다. <Fig. 4>(Gruber et al., 2017)는 딥 러닝 기반 채널 디코딩 과정을 나타낸다. 딥 러 닝 기반 채널 디코딩을 이용하여 k 비트의 데이터가 인코딩과 변조, 송수신, 복조, 디코딩 과정을 거쳐 k 비 트의 데이터로 복원되는 과정을 보이고 있다. 딥 러닝 기반 채널 디코딩의 신경망을 학습시킬 때 사용하는 손실 함수는 로그-우도비(LLR : Log Likelihood Ratio)를 사용하며 추가 백색 가우시안 잡음 채널과 이진위상 천이변조방식을 사용한다면 다음과 같이 표현될 수 있다.(5)(6)
여기서 σ2는 잡음 전력이고 y는 수신된 채널 값이다. 이러한 처리 단계는 잡음 분산과 신경망에 대한 추 가 입력을 안다면 임의의 훈련 가능한 파라미터없이 추가 층으로 구현할 수 있다. 출력층의 정보 비트를 2k 길이의 원핫코드(one-hot-coded)벡터로 표현하는 것은 또 다른 변형이다. 그러나 본 논문에서는 k를 큰 값으 로 다루지 않기 때문에 출력층의 정보 비트를 변형하지 않는다. 딥 러닝 기반 채널 디코딩의 성능은 신경망 의 구조에 따라 좌우되며 Gruber et al.(2017)에 신경망의 구조와 전체 데이터 셋의 학습 횟수에 따른 성능비 교가 각각 나타나져 있다.
Ⅵ. 시뮬레이션 결과
본 논문에서는 전력선 통신을 이용하는 전기자동차의 충전 시스템에서 제어신호의 오류의 발견과 정정에 딥 러닝 기반의 채널 디코딩을 적용시켜 시뮬레이션을 진행하였다. 구조가 있는 코드로써 극 부호(Polar code)를 이용하며 잡음 채널은 추가 백색 가우시안 잡음 채널이며 변조방식으로는 이진위상천이변조방식을 채택하여 16비트의 코드워드를 8비트의 정보비트로 디코딩하는 시뮬레이션을 진행하였다. 또한, 딥 러닝 기 반의 채널 디코딩에 사용되는 인공신경망의 구조는 Gruber et al.(2017)에서 좋은 성능을 보인 각각 1024개, 512개, 256개의 뉴런으로 구성되는 3개의 은닉층으로 구성되어 있으며 10만개의 인조신호 데이터셋을 만들 고 이 데이터셋에 대해 천 번의 훈련을 수행하여 뉴런들의 가중치를 설정하였다. 약 68만개의 가중치가 훈련 되었으며 훈련된 인공신경망을 이용하여 디코딩하는 과정은 약 15밀리초의 시간이 소비되었다. <Fig. 6>은 시뮬레이션 결과를 나타낸다. 최대 사후 확률 추정은 잡음이 섞인 정보가 본래의 어떤 정보인지를 결정할 때 최적의 기준이 되는 이론적인 방법으로 디코딩과정 후 정보가 얼마나 올바르게 추정되었는지에 대한 성능을 확인할 때 기준으로 사용될 수 있다. 시뮬레이션 결과에서 최대 사후 확률 추정과 제안한 기법이 동일한 비 트오류율을 가질 때 신호 대 잡음비가 제안한 기법이 최대 사후 확률 추정보다 최소 약 0.1dB에서 최대 약 0.7dB까지 적은 값을 가지는 것을 확인할 수 있다. 즉, 제안한 기법은 최대 사후 확률 추정보다 적은 전력을 이용하여 동일한 비트오류율을 가질 수 있다. 또한, 천 번의 반복적인 시뮬레이션을 진행하여 제안한 기법의 비트오류율이 최대 사후 확률 추정의 비트오류율보다 평균적으로 약 3배 더 낮은 것을 확인하였다. 이를 통 해 동일한 전력을 사용할 경우 제안한 기법이 최대 사후 확률 추정보다 적은 오류가 발생한다는 것을 알 수 있다. 제안한 기법의 필요한 전력 면이나 오류 발생 면에서 우수하므로 전력선 통신을 이용하는 전기자동차 의 충전 시스템에서의 제어신호에 딥 러닝 기반의 채널 디코딩 방법을 적용하는 것이 적합하다는 것을 확인 할 수 있다. <Fig. 5>
Ⅶ. 결 론
본 논문에서는 전력선 통신을 이용하는 전기자동차의 충전 시스템에 대해 알아보았고 실시간으로 오류가 없는 신호가 전송되어야하는 제어 시스템에서 제어신호를 전송하기 위해 오류정정부호를 사용하여 오류정 정부호에 대해 살펴보았다. 또한, 제어신호와 같이 한 번에 많은 데이터 용량을 전송할 필요가 없는 경우 오 류정정부호에서 딥 러닝 기반의 채널 디코딩 방식을 이용하면 더욱 좋은 성능을 보일 수 있다는 것을 확인 하였다. 이렇게 확인한 딥 러닝 기반의 채널 디코딩 방식을 전력선 통신을 이용하는 전기자동차의 충전 시스 템의 제어 신호에 적용하여 시뮬레이션을 진행하였고 결과를 확인하였다. 시뮬레이션의 결과로 비트 오류율 로 성능을 비교하였고 딥 러닝 기반의 채널 디코딩 방식이 좋은 성능을 보인다는 것을 확인하였다. 현재까지 딥 러닝 기반의 채널 디코딩 방식은 코드 길이가 길수록 기하급수적으로 늘어나는 계산량으로 인해 현재의 하드웨어를 고려해보면 길이가 긴 코드보다는 짧은 길이를 가지는 코드에 적합하지만 하드웨어가 더더욱 발 전하게 된다면 긴 코드 길이에도 적합한 방식이 될 것으로 예상되어진다. 또한, 통신이 실시간으로 이루어지 기 위해서는 많은 계산량을 처리하는 과정에서의 지연이 없어야 되므로 고성능의 처리장치가 필요하다. 현 재 사용되는 제어기의 처리장치는 시뮬레이션에서 사용된 처리장치보다 성능이 좋지 않은 점과 고성능 처리 장치의 가격 및 발열 문제 등을 고려해보면 당장의 현실화는 힘들 것으로 생각되어진다.