논문 전문 : https://www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE10500689
[출처] Pradyumna TK, Asad Khan, Seung-June Lee, Younghwi Ko, Woojin Choi, Albert SJ Kang."SOH Estimation of the Battery using CNN and Impedance Spectrum."전력전자학회 학술대회 논문집.(2020):73-75.https://doi.org/10.1186/s10033-018-0268-8
※ The picture and content of this article are from the original paper.
[논문요약]
SOH Estimation of the Battery using CNN and Impedance Spectrum
최근 CNN으로 SOH 혹은 배터리 상태이상진단을 하는 논문들이 종종 나오고있습니다.
CNN은 Image Feature Extracting에 아주 유용하게쓰이는 딥러닝 기법인데요, 이걸 어떤 원리로 배터리에 쓰려고 하는지는 알겠으나, 아직도 의문점들이 많습니다.
성능이야 당연히 데이터 많이 때려박으면 해당 데이터가 시계열데이터든 뭐든간에 어떤 관계성 자체는 파악해내서 결과는 나오겠지요..
하지만, CNN을 쓰는 논문들을보면 항상 똑같은게, 다른 딥러닝 기법들이랑 성능비교를 진행하진 않습니다.
그냥 CNN으로 한번해봤다 정도의 느낌? 데이터 또한 Image처럼 고차원을 쓰는게 아니라 2,3 Column의 데이터에 Rank만 Time 데이터로 수천개때려박아서 2X2 Kernel을 써서 CNN을 하는데요. 이게 이미지적인 특징이 전혀 없다고봅니다.
그냥 센싱데이터 쭉 나열한것에서 Pooling하고, Dimension을 줄여나간다는 부분에 대해서 개인적으로는 오히려 원본데이터 쭉 갔다써서 ANN한거보다 Feature의 색이 점점 옅어져서 안좋아질수도 있다고 생각합니다.
오히려, Convolutional LSTM으로 LSTM의 내부 시퀀스안에 CNN의 성격을 투영해버리는 방식의 모델을 쓰는게 맞다고 보입니다.
Purpose
LSTM, GRU, Attention같은 많은 Time Series- Deep learning기법들을 토대로 배터리의 상태추정을 하는 논문들은 존재하는 관계로, 배터리 센싱데이터를 Image 학습시키듯이 CNN을 활용하여 Image적인 Feature Extracting을 통해 FCNN으로 SOH를 추정하고자 하는 논문입니다.
Contents
EIS임피던스 데이터를 2 Column으로 40개 Frequency에 대해 나열하고, 이것을 DCNN(Deep Convoltuional Neural Network)를 통해 Feature Extracting을 한 다음, FCNN으로 SOH를 구하는것이 프레임입니다.
[시험방법]
-충전
다양한 C-rate/SOC... 조건하에서 배터리 시험을 진행하고 각각의 시험마다 40개정도의 Frequency EIS를 찍습니다.
여기서 찍은 EIS 데이터(Real Impedance, Imaginary Impedance)를 Input Data로 학습합니다.
-방전
특정 고정된 C-rate로 매시험마다 방전을 진행하여 용량을 측정합니다.
이것을 통해, SOH를 계산하고 FCNN(Fully Connected Neural Network)의 Output Data로 학습합니다.
즉, 제가 한번 그려봤는데요
위의 Sequence대로 논문이 진행됩니다. 여기서 정말 큰 의문이, 논문에서는 3X3 Kernel 을 쓴다고 되어있는데요,
Input Data의 Domain은 2차원입니다. 2차원 데이터에 3X3 Kernel로 CNN을 하는거지..
Results
결과적으로는 배터리에서 가장 중요한 요소중 하나인 온도를 고정해놓았습니다.
온도에 따라서 EIS는 아주 파격적으로 변하기때문에 이것을 배제한다는거는 현업적용과는 거리가 먼, 논문을 위한 논문이라고 생각하고있습니다..
그래도 결과를 보자면, Loss 값은 잘따라가고 있습니다.
여러가지 제약조건에서 어느정도 약한 상관관계라도 있는 데이터를 Input, output으로 두면 데이터 양으로 승부보면 CNN이 아니라 무슨 모델이라도 어느정도 따라가겠죠
하지만, 끝까지 의문스러운것은 이렇게 그림으로도 Input Data를 2 Dimension으로 넣는다고 했는데, 바로 밑에 3X3 Kernel의 CNN을 쓴다고 하는점입니다. 이건 물리적으로 연산이 불가능하고, 데이터 사이즈보다 커널사이즈가 크면 Stride는 어떻게하는지 궁금하네요
궁금해서 조금 찾아봤는데, 답변들도 Kernal size는 Input data size보다 작아야한다고하는데요..
의문입니다...
https://www.quora.com/What-happens-when-a-filter-depth-is-bigger-than-the-input-volume-in-CNN
참고
1. Pradyumna TK, Asad Khan, Seung-June Lee, Younghwi Ko, Woojin Choi, Albert SJ Kang."SOH Estimation of the Battery using CNN and Impedance Spectrum."전력전자학회 학술대회 논문집.(2020):73-75.https://doi.org/10.1186/s10033-018-0268-8
댓글