Ⅰ. 서론
스마트 그리드에 대한 관심이 지속적으로 증가함에 따라 전력 소비 최적화 방법도 많이 활용되고 있다. 전력 소비 최적화 방법으로, 침입 부하 모니터링(intrusive load monitoring, ILM) 기술은 가전제품들의 전력 소비량을 읽고 사용자의 사용 패턴을 인식하는 것이다. 이 방법은 각 가전제품들마다 전력 소비량을 알아낼 수 있는 장치를 필요로 한다. 그로 인한 비용 문제로 인해 현실적으로 적용하기가 어렵다. 침입 부하 모니터링(ILM)의 문제점을 해결하기 위하여, 가전제품들의 전력 소비량이 모두 집계된 총 전력 소비량으로 각 가전제품들의 종류들을 알아내는 기술로서 비 침입 부하 모니터링 (NILM)이 사용된다. 비 침입 부하 모니터링(NILM) 기술은 1980년대에 MIT의 George W. Hart에 의해 발명되었다. NILM 기술은 집계된 전력에서 전력 소비 패턴을 분석하여, 사용자에게 전력 사용에 대한 정보를 제공함으로써 에너지 관리를 통해 경제적으로 최대 12%를 절약할 수 있다[1].
집계된 전력만 가지고 가전제품들을 분류하는 것은 어렵다. 가전제품들을 분류하는 정확도를 높이기 위하여 일부 논문에서, 전력 데이터뿐만 아니라 다른 측정 기능까지 사용하여 기기를 측정했다. 주파수를 측정하는 장치를 이용하여 푸리에 변환을 통해 전력 사용량을 예측하는 방법이 있다. 주파수를 이용하여 전력 사용량을 예측하는 방법은 높은 정확도를 보여주지만, 인프라 구축 비용과 연산 복잡도로 인해 구현에 어려움이 있다. 또한, 다른 논문에서는 비용을 최소화하는 방법인 비지도 (unsupervised) 비 침입 부하 모니터링(NILM)을 제안한다. 하지만, 이 경우에는 비용을 최소화하고 활용도도 높고 적은 정보로 각각의 가전제품을 분류할 수 있지만, 본 논문에서 제안하는 지도(supervised) 비 침입 부하 모니터링 (NILM) 보다 정확도가 낮은 문제점이 있다.
본 논문에서는 추가적으로 측정하는 기능 없이 집계된 데이터와 각 가전제품의 라벨링을 통하여 집계된 데이터를 예측하고 각각의 가전제품들을 분류하는 지도 비 침입 부하 모니터링을 제안한다. 데이터 전처리를 통해 각각의 가전제품들의 power on-off state로 전환하고, LSTM 예측 모델을 통해 집계된 power on-off state를 예측하여 데이터 후처리를 통해 각각의 가전제품들의 state를 구분한다. 데이터 후처리된 예측 state와 실제 state를 비교하여 정확도를 측정한다.
본 논문은 다음과 같이 구성되어있다. Ⅱ장에서는 순환신경망(Recurrent Neural Network, RNN)을 소개하고 Ⅲ장에서는 장단기 메모리(LSTM)에 대해 설명한다. Ⅳ장에서는 제안하는 시스템 모델과 데이터 처리 방법에 대해 설명하고 Ⅴ장에서는 시뮬레이션 결과를 제시한다. 마지막으로 Ⅵ장에서 결론으로 마무리한다[11].
Ⅱ. 순환신경망(RNN)
RNN은 은닉 층의 노드에서 활성화 함수를 통해 나온 결과 값을 출력 층 방향으로도 보내면서, 다시 은닉 층 노드의 다음 계산의 입력으로 보내는 특징을 갖고 있다.
xt는 입력 층의 입력 벡터, yt는 출력 층의 출력 벡터이다. 은닉 층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드를 셀(cell)이라고 한다. 이 셀은 이 전의값을 기억하려고 하는 일종의 메모리 역할을 수행하므로 이를 메모리 셀 또는 RNN 셀이라고 표현한다. 이 때 은닉 층의 메모리 셀은 각각의 시점(time step)에서 바로 이전 시점에서의 은닉 층의 메모리 셀에서 나온 값을 자신의 입력으로 사용하는 재귀적 활동을 한다. 그래서 현재 시점을 변수 t라고 둔다. 이는 현재 시점 t에서의 메모리 셀이 갖고 있는 값은 과거의 메모리 셀들의 값에 영향을 받는다는 것을 의미한다[4]. 메모리 셀이 출력 층 방향으로 또는 다음 시점 t+1 의 자신에게 보내는 값을 은닉 상태(hidden state)라고 한다. 즉, t-1 시점의 메모리 셀이 보낸 은닉 상태 값을 t시점의 은닉 상태 계산을 위한 입력 값으로 사용한다.
그림 1. 은닉 상태 값의 결정.
앞서 말한 RNN에서 현재 시점 t에서의 은닉 상태 값을 ht라고 정의하면, 은닉 층의 메모리 셀은 ht를 계산하기 위해서 총 두 개의 가중치를 갖게 된다. 하나는 입력 층에서 입력 값을 위한 가중치 Wx 이고, 하나는 t-1의 시점에서의 은닉 상태 값인 ht-1 을 위한 가중치 Wh 이다. 이해를 위해 그림 1를 참고하면 된다. ht, yt를 식으로 식 (1), 식 (2)와 같이 정의할 수 있다.
\(h_{t}=\tanh \left(W_{x} x_{t}+W_{h} h_{t-1}+b\right)\) (1)
\(y_{t}=f\left(W_{y} h_{t}+b\right)\) (2)
식 (1)에서 ht는 은닉 층에서의 상태 값이고 yt는 출력 층에서의 결과 값이다. 식 (2)에서 f는 비선형 활성화 함수 중 하나를 의미한다. 활성화 함수에 관한 내용은 바로 다음 문단에서 설명한다. ht를 계산하기 위한 활성화 함수로 식 (1)처럼 하이퍼볼릭탄젠트 함수(tanh)가 사용되지만, 렐루 함수(Rectified Linear Unit, ReLU)로 바꿔 사용하는 시도도 있다. 하지만, 본 논문에서 제안한 모델에서는 은닉 층에서의 상태 값들을 tanh함수로 지정한다. 출력 층의 결과 값 yt는 상황에 따라 활성화 함수를 다르게 사용하여, 결과 값을 계산한다. 활성화 함수에 대한 자세한 내용은 밑에 설명한다.
1. 활성화 함수: tanh 비선형 함수, ReLU 함수
tanh 비선형 함수는 그림 2와 같은 그래프로 나온다. 이 함수는 함수 값을 [-1, 1]로 제한시킨다.
그림 2. 하이퍼볼릭탄젠트 함수의 그래프.
tanh 비선형 함수는 함수의 중심 값을 0으로 설정하여 기존 함수에서 발생하는 최적화 과정에서 느려지는 문제를 해결한다. 본 논문에서는, 최적화 과정에서 이점을 보이는 tanh 함수를 모델로서 활용한다.
\(\tanh (x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}\) (3)
ReLU 함수는 그림 3와 같은 그래프로 나온다. 이 함수는 현재 가장 활용도가 높은 활성화 함수이다. 이 함수는 gradient가 backpropagation 시 사라지는 현상이 발생하는 Sigmoid 함수와 다르게 gradient가 사라지는 문제가 발생하지 않는다. 또한, exponential 함수를 실행하지 않아 layer를 deep하게 쌓을 수 있고, Sigmoid 함수나 tanh함수보다 6배 정도 빠르게 학습이 된다. 하지만, x<0 일 때 gradient가 0이므로 만약 입력 값이 0보다 작을 경우 네트워크를 학습시킬 때 뉴런들이 활성화 되지 않는다.
그림 3. 렐루 함수의 그래프.
\(\operatorname{ReLU}(x)=\max (0, x)\) (4)
Ⅲ. LSTM
1997년 Jurgen Schmidhuber와 Sepp Hochreiter 에 의해 발명된 LSTM은 네트워크는 여러 응용 분야에서 높은 정확성을 보여주었다. 2000년대 들어와서는, 음성인식 분야, 필기체 인식, 패턴 인식 분야까지 확장되었다. LSTM은 다양한 분야에서 활용할 수 있는 가능성이 많기 때문에 현재도 연구가 진행되고 있다[7].
그림 4. 장단기 메모리의 구조.
LSTM의 구조는 그림 4와 같이 구성되어있다. LSTM 은 은닉 층의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 필요한 정보를 추출한다.
LSTM은 은닉 상태(hidden state)를 계산하는 식이 전통적인 RNN보다 조금 더 복잡해졌으며 셀 상태(cell state)라는 값을 추가한 것이다. 그림 4에서는 t시점의 셀 상태를 Ct로 표현하고 있다. LSTM은 RNN과 비교하여긴 시퀀스의 입력을 처리하는데 탁월한 성능을 보인다[8].
Ⅳ. 시스템 모델과 데이터 처리
1. LSTM 예측 모델
본 논문에서는 LSTM을 기반으로 가전제품 전력 사용을 예측하는 모델을 제안한다. Ⅱ장에서 설명했듯이 RNN은 이전의 셀에서 나온 계산 결과로 입력이 다음 셀에 들어간다.
이전의 계산결과에만 의존적이기 때문에 short-term 일 때는 좋은 성능을 보여주지만, long-term일 때는 정확도가 매우 낮아진다. 이러한 RNN의 단점들을 보완하기 위해서 본 논문에서는 LSTM을 제안한다[9].
그림 5. 우리가 제안하는 장단기 메모리 모델.
본 논문에서는 2일 간의 가전제품 전력 기록을 3초 간격으로 총 57, 600개의 데이터를 학습시키는long-term 의 경우를 고려하였다. 본 논문에서 제안한 LSTM 모델은 과거 값을 얼마나 저장해서 예측할지 지정하는 변수인 Time step size를 5, 15, 30으로 나누어서 정확도를 분석한다. Time step size 는 그림 5을 참고하면, 다음 셀에 들어가는 입력 값이 나올 때 이전의 출력 값에만 의존하는 것이 아니라 과거의 값을 얼마나 저장해서 과거의 여러 셀에서 나온 출력 값들을 의존하여 현재 셀에 입력 값으로 들어가게끔 한다. Time step size가 너무 크면 과거의 값에 너무 의존하여, overfitting 현상이 발생하고 너무 적으면 RNN처럼 이전의 과거 값에만 의존하여 underfitting 현상이 발생하기 때문에 적절한 값을 설정해야 한다. 그래서 본 논문에서는 Time step size에 따른 정확도를 분석하여 최적의 Time step size 값을 Ⅴ 장에서 제시한다[10].
2. 데이터 처리
본 논문에서는 REDD에서 하루 전력 에너지 사용 데이터를 가져온다. 각 가전제품의 전력 사용량을 각 가전제품마다 에너지 크기에 따라 power on-off state를 추출한다. 각 가전제품이 power on state 이면, 1이 되고 power off state 이면, 0으로 설정한다. 이러한 방식으로 6개의 가전제품을 합산한 전체 총 state는 64가지가 되고, 7개의 경우 128가지, 7개의 경우 256가지의 state가 나오게 된다. 2진법처럼 가장 오른쪽부터 가전제품의 power on-off state를 설정한다. 예를 들어, 오븐-냉장고-형광등-드라이어-난로 이런 순으로 배열을 한다고 하자. state가 24 인 값이 출력되면, 이진법으로 계산했을 때 110002이 나온다. 그렇게 되면, 앞서 말한 가전제품 순서로 오븐, 냉장고는 power on state가 되고, 형광등, 드라이어, 난로는 power off state가 출력된다. 이와 같은 방식으로 6개, 7개의 가전제품의 power on-off state를 추출한다[5].
모델에서 예측한 출력 값은 실수형태로 출력되기 때문에 데이터 후처리가 필요로 한다. 데이터 후처리 방식에 따라서 정확도가 크게 달라진다. 그래서 본 논문에서는 최적의 데이터 후처리 방법을 찾아 제안하고 다른 방식의 데이터 후처리 방법을 비교하여 Ⅴ장에서 제시한다.
Ⅴ. 실험 및 결과
1. 데이터 처리방법
제안된 시스템 모델을 표 1과 표 3에 표시된 Time step size와 데이터 처리 방법을 바꾸며 시뮬레이션을 진행한다. 또한 appliance의 개수를 다르게 하여 정확도를 비교한다.
표 1. 데이터 처리 방법
표 3. Time step size의 시뮬레이션.
첫 번째 시뮬레이션은 표 1의 나온 parameter를 바꾸며 진행한다. 전자제품의 개수마다 data processing 방법을 바꾸며 진행한다. 표 2와 같은 정확도가 나온다. 여기서 정확도는 식 (5) 으로 정의된다.
표 2. 데이터 처리방법에 따른 정확도.
\(\text { accuracy }=\frac{\text { the } \nu \text { mber of correctstates }}{\text { the } 2 \text { mber of the whole states }} \times 100(\%)\) (5)
정확도는 모델에서 예측하여 실제 모델 데이터와 같은 state의 개수를 전체 state 개수를 나누어 정의된다. 표 2에 나온 정확도는 개수 size를 6으로 두고 진행된다. 표 2를 보면, Round함수로 data processing을 했을 때 다른 data processing 보다 훨씬 정확도가 높게 나오는 것을 알 수 있다. Round함수는 모델에서 나온 float-type의 결과 값을 가장 가까운 정수로 정수 형태로 변환시켜주는 data processing방법이다. Round up 은 올림, Round down은 내림이다. 표2에 나오듯이 가장 가까운 정수로 맵핑시키는 Round함수를 이용할 때가장 높은 정확도를 갖게 된다. 또한, 전자제품의 개수가 늘어날수록 정확도는 낮아지게 되는데 ROUND 함수는 다른 함수보다 높은 정확도가 나오지만, 다른 data processing 방법들은 현저히 낮은 정확도를 보이게 된다. 그림 6, 그림 7, 그림 8는 실제 시뮬레이션을 진행하여 그래프로 나타낸 것이다.
그림 6. 반올림 데이터 처리.
그림 7. 올림 데이터 처리
그림 8. 내림 데이터 처리.
그림 6는 왼쪽부터 전자제품의 개수가 6개, 7개, 8개로 배치되어있다. Round은 모델의 출력 값을 반올림 하여 맵핑시키는 방법이다. 전자제품이 6개일 때 거의 다 예측이 맞는 것을 볼 수 있다. 전자제품의 개수가 7, 8개일 때 각각 86%, 72%의 정확도가 나오는 것을 볼 수 있다.
그림 7는 왼쪽부터 전자제품의 개수가 6개, 7개, 8개로 배치되어있다. Round up은 모델의 출력 값을 올림 하여 맵핑시키는 방법이므로, 그림 7과 그림 6를 비교하면 그림 7이 더 많이 위로 튀어 오르는 것을 볼 수 있다.
그림 8도 왼쪽부터 전자제품의 개수가 6개, 7개, 8개로 배치되어있다. Round down은 모델의 출력 값을 내림 하여 맵핑시키는 방법이므로, 그림 8과 그림 6를 비교하면 그림 8이 더 많이 아래로 수렴하여 예측 값이 많이 틀리는 것을 볼 수 있다.
2. Time step size 크기 설정
이번 장에서는 표 3처럼 전자제품 개수별로 Time step size를 다르게 하여 시뮬레이션을 진행된다. 이 시뮬레이션에서는 앞에 데이터 처리 파트에서 정확도가 가장 높게 나온 Round함수 데이터 처리 방법을 사용하여 진행된다.
표 3를 바탕으로 시뮬레이션을 돌리니, 밑에 나와 있는 그림처럼 그래프가 나오고, 표 4처럼 정확도가 나온다. 그림 9, 그림 10, 그림 11은 전자제품 개수에 따른 Time step size를 비교해서 보여준다.
표 4. 각 Time step size의 정확도
그림 9는 전자제품이 6개일 때의 Time step size 별로 나눠서 보여주는 그래프다. 왼쪽부터 Time step size 가 6, 15, 30 순으로 나열한다. 표 4를 참고하여 보면, 왼쪽부터 98%, 95.6%, 95.8%의 정확도를 보여준다.
그림 9. Time step size에 따른 6개 가전제품의 상태.
그림 10는 전자제품이 6개일 때의 Time step size 별로 나눠서 보여주는 그래프다. 왼쪽부터 Time step size 가 6, 15, 30 순으로 나열한다. 표 4를 참고하여 보면, 왼쪽부터 86%, 75.%, 87%의 정확도를 보여준다.
그림 10. Time step size에 따른 7개 가전제품의 상태.
그림 11는 전자제품이 6개일 때의 Time step size 별로 나눠서 보여주는 그래프다. 왼쪽부터 Time step size 가 6, 15, 30 순으로 나열한다. 표 4를 참고하여 보면, 왼쪽부터 73.6%, 47%, 56%의 정확도를 보여준다.
그림 11. Time step size에 따른 8개 가전제품의 상태.
위에 그림과 정확도를 모두 살펴보면 대체적으로 Time step size가 6일 때가 가장 안정적인 정확도를 갖고 있다. 하지만, 그렇다고 해서 본 논문에서 Time step size가 6일 때가 가장 좋으니, 다른 모든 종류의 예측 모델을 정할 때 Time step size를 6으로 설정하라는 것이 아니다. 본 논문에서 사용하는 데이터의 특징을 살펴보면, 과거 데이터의 영향을 많이 받지 않는 것을 알 수 있다. 과거의 영향을 많이 받는 데이터로 시뮬레이션을 진행했다면, Time step size를 크게 설정한 시뮬레이션이 정확도가 가장 높을 것으로 예상된다. 본 논문에서는 데이터의 특징과 모델의 특징에 따라 적절한 Time step size를 설정해야 한다는 것을 알려준다.
Ⅵ. 결론
본 논문에서는 다른 논문들과 달리 많은 입력들을 필요치 않고 시간만을 이용하여 전력수요 패턴을 파악한다. 전력량이 측정된 데이터를 전처리를 통해 각 가전제품들의 power on-off 상태로 바꿔준다. 이 때 각 가전제품들의 상태를 합치는데 각 가전제품들의 상태는 0(off)와 1(on)이기 때문에 2진법으로 각 가전제품들의 상태를 합쳐 LSTM 모델에 입력으로 설정해준다. 학습된 모델을 통해 가전제품들의 상태를 예측한 결과를 실제 상태 값과 비교하여 보여준다.
다른 논문에서는 집계된 전력 데이터로는 학습이 잘 안 되어, 다른 진동수를 측정하는 장치와 온도, 습도를 측정하는 새로운 입력 장치를 설치하여, 정확도를 높인다. 하지만, 이러한 방식은 비용을 추가시키는 방법이기 때문에 본 논문에서는 입력장치를 추가하는 방법을 사용하지 않는다. 본 논문에서 입력장치를 추가하지 않고 가전제품 6개인 경우에는 최대 약 98%의 정확도가 측정된다. 가전제품이 점점 늘어날 경우 72% 정확도로 떨어지는 것으로 측정된다. 가전제품의 개수가 늘어날수록 예측해야 하는 state의 개수가 2배씩 증가하기 때문에 정확도가 떨어진다. 입력과 출력을 정수 형태로 설정하지 않고 분류하는 형태로 설정해주면 문제를 해결할 것으로 보인다. 본 논문에서는 정수 형태로 입력을 넣고 출력을 하면, 실수 형태로 나와서 데이터 후처리를 통해 정수 형태로 변환해주는데 그 때 정확도가 떨어지게 된다. 분류 형태로 바꾸게 되면 이러한 오차를 줄여줄 수 있을 것으로 보인다. 향후에는 본 논문과 같은 모델을 활용하여 더 많은 가전제품들을 더 높은 정확도로 분류하고 예측하여, 에너지를 효율적으로 관리하는 시스템이 발전하기를 기대한다.
참고문헌
- G. W. Hart, "Nonintrusive appliance load monitoring," in Proceedings of the IEEE, Vol. 80, No. 12, pp. 1870-1891, 1992. DOI: https://doi.org/10.1109/5.192069
- K. C. Armel, A. Gupta. G. Shrimali, and A. Albert, "Is disaggregation the holy grail of energy efficiency? The case of electricity," Energy Policy, Vol. 52, (C), pp. 213-234, 2013. DOI: https://doi.org/10.1016/j.enpol.2012.08.062
- F. Marisa, D. A. Ana and R. Bernardete, "An experimental study on electrical signature identification of non-intrusive load monitoring (NILM) systems," in Adaptive and Natural Computing Algorithms, Vol. 6594, pp. 31-40, 2011. DOI: https://doi.org/10.1007/978-3-642-20267-4_4
- A. G. Ruzzelli, C. Nicolas, A. Schoofs and G. M. P. O'Hare, "Real-time recognition and profiling of appliances through a single electricity sensor," in proc. 2010 7th Annual IEEE Communications Society Conference on Sensor, pp. 1-9, 2010. DOI: https://doi.org/10.1109/SECON.2010.5508244
- R. Herrero, Jorge, L. Murciego, Alvaro, Barriuso, Alberto, Hernandez, Daniel, Villarrubia, "Non intrusive load monitoring (NILM): a state of the art," in Advances in Intelligent Systems and Computing, pp. 125-138, 2018. DOI: https://doi.org/10.1007/978-3-319-61578-3_12
- Kwang Ho Kim, Byunghoon Chang, Hwang Kyu Choi, "Deep learning based short-term electric load forecasting models using one-hot encoding," Journal of IKEEE, Vol. 23, No. 3, pp. 852-857, 2019. DOI: https://doi.org/10.7471/IKEEE.2019.23.3.852
- Y. Zhang and X. Lu, "A Speech Recognition Acoustic Model Based on LSTM -CTC," in proc. 2018 IEEE 18th International Conference on Communication Technology (ICCT), pp. 1052-1055, 2018. DOI: https://doi.org/10.1109/ICCT.2018.8599961
- M. Kaselimi, N. Doulamis, A. Doulamis and A. Voulodimos, "Bayesian-optimized bidirectional LSTM regression model for non-intrusive load monitoring," in proc. ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 2747-2751, 2019. DOI: https://doi.org/10.1109/ICASSP.2019.8683110.
- H. Rafiq, H. Zhang, H. Li and M. K. Ochani, "Regularized LSTM based deep learning model: first step towards real-time non-intrusive load monitoring," in proc. 2018 IEEE International Conference on Smart Energy Grid Engineering (SEGE), pp. 234-239, 2018. DOI: https://doi.org/10.1109/SEGE.2018.8499519
- Byung-Gi Hwang, "Evaluation of LSTM Model for Inflow Prediction of Lake Sapgye," in Journal of the Korea Academia-Industrial cooperation Society, Vol. 22, No. 4, pp. 287-294, 2021. DOI: https://doi.org/10.5762/KAIS.2021.22.4.28
- Joon-Ho Seon and Young-Ghyu Sun, "Classification Method of Multi-State Appliances in Non-intrusive Load Monitoring Environment based on Gramian Angular Field," The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 21, No. 3, pp.183-191, Jun. 30, 2021. DOI: https://doi.org/10.7236/JIIBC.2021.21.3.183