KR102238248B1 - 머신러닝을 이용한 배터리 진단 방법 - Google Patents

머신러닝을 이용한 배터리 진단 방법 Download PDF

Info

Publication number
KR102238248B1
KR102238248B1 KR1020190093576A KR20190093576A KR102238248B1 KR 102238248 B1 KR102238248 B1 KR 102238248B1 KR 1020190093576 A KR1020190093576 A KR 1020190093576A KR 20190093576 A KR20190093576 A KR 20190093576A KR 102238248 B1 KR102238248 B1 KR 102238248B1
Authority
KR
South Korea
Prior art keywords
learning
data
learning model
battery
machine learning
Prior art date
Application number
KR1020190093576A
Other languages
English (en)
Other versions
KR20210016154A (ko
KR102238248B9 (ko
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 KR1020190093576A priority Critical patent/KR102238248B1/ko
Publication of KR20210016154A publication Critical patent/KR20210016154A/ko
Application granted granted Critical
Publication of KR102238248B1 publication Critical patent/KR102238248B1/ko
Publication of KR102238248B9 publication Critical patent/KR102238248B9/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/367Software therefor, e.g. for battery testing using modelling or look-up tables
    • 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/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Secondary Cells (AREA)
  • Tests Of Electric Status Of Batteries (AREA)

Abstract

본 발명은 머신러닝을 이용한 배터리 진단 방법에 관한 것으로, 보다 상세하게는 머신러닝을 통해 전기자동차에 사용되는 배터리의 잔여 시간을 실시간으로 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 함으로써 사용자가 전기자동차의 운행 가능 시간을 용이하게 확인할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법에 관한 것이다.
본 발명은 배터리의 상태 진단을 위한 머신러닝에 사용될 학습 데이터들을 생성하는 학습 데이터 생성단계와, 생성된 학습 데이터들을 이용하여 머신러닝을 수행할 학습모델을 설계하는 학습모델 설계단계와, 설계된 학습모델에 학습 데이터들을 입력하여 배터리 상태 진단을 위한 머신러닝 학습을 수행하는 학습단계 및 머신러닝 학습 수행결과에 대한 정확도를 분석하여 학습모델을 평가하는 학습모델 평가단계를 포함하여 구성된 것을 특징으로 한다.

Description

머신러닝을 이용한 배터리 진단 방법{Battery diagnostic methods using machine learning}
본 발명은 머신러닝을 이용한 배터리 진단 방법에 관한 것으로, 보다 상세하게는 머신러닝을 통해 전기자동차에 사용되는 배터리의 잔여 시간을 실시간으로 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 함으로써 사용자가 전기자동차의 운행 가능 시간을 용이하게 확인할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법에 관한 것이다.
일반적으로, 전기자동차는 구동에너지를 화석연료의 연소로부터가 아닌 전기에너지로부터 얻는 자동차를 뜻하는 것으로, 최근 들어 환경 오염이 심각한 사회문제로 대두됨에 따라 자동차 산업에서도 전기자동차가 도입되어 사용되고 있다.
최근에는 일반적으로 사용하는 원거리용 자동차 이외에, 소형의 근거리용 자동차 예컨대 골프카트, 농어촌용 등으로 전기자동차의 활용범위가 확대되고 있으며, 그에 따라 전기자동차에 대한 수요도 지속적으로 증가하고 있는 추세이다.
이러한 전기자동차의 성능을 결정하는 가장 중요한 구성 요소는 배터리이므로, 최근들어 배터리의 성능 개선 및 배터리 관리 시스템(BMS;Battery management System)에 대한 연구가 활발히 진행되고 있다.
이와 관련하여, 전기자동차의 운행 가능 시간을 예측하는 것은 주행 계획 수립에 있어 매우 중요한데, 전기자동차의 운행 가능 시간을 예측하기 위해서는 배터리의 잔여 시간을 확인할 수 있어야 한다.
종래의 내연기관 자동차의 경우 연료통에 남아 있는 연료의 양을 측정하는 것이 물리적으로 어렵지 않았으나, 전기자동차의 경우 배터리의 용량을 물리적으로 측정하는 것은 불가능하다.
또한, 배터리는 용량 자체가 사용함에 따라 변하고, 배터리의 전류와 파워의 출력이 시간에 따라 변하는 양상을 가지기 때문에 전기자동차를 얼마나 더 운행할 수 있는지 확인하기가 어렵다.
한편, 머신러닝(Machine Learning)은 기계가 사람처럼 학습하는 것을 뜻하는 것으로 컴퓨터 스스로 데이터를 수집하고 분석하여 미래를 예측하는 과정을 의미한다.
최근 들어, 다양한 분야에서 머신러닝 기법을 이용하여 미래를 예측할 수 있도록 하는 기술들이 연구되고 있는데, 이 중 일례로 대한민국 등록특허공보 제10-1792975호에는 수치적 시뮬레이션 데이터 기반 배터리의 수명 상태 예측 방법이 게재되어 있다.
상기 종래기술은 머신러닝 기법을 이용하여 배터리의 수명을 예측할 수 있도록 구성된 것에 그 특징이 있으나, 이는 단순히 사용자가 배터리의 교체시기를 알 수 있도록 하는 것이므로 사용자가 전기자동차를 얼마나 더 운행할 수 있는지를 실시간으로 확인하기가 어렵다는 단점이 있다.
또한, 상기 종래기술은 전압, 전류, 온도의 세 가지 변수만 존재하여 입력 데이터가 단조롭고 패턴 파악시 전압에 편행된 모델을 생성하기가 쉽다는 단점이 있을 뿐만 아니라, 실제 주행 패턴에 대한 고려가 없으므로 정확성이 떨어진다는 문제점이 있었다.
따라서, 수요가 증가하고 있는 전기자동차의 운행 가능시간을 실시간으로 예측할 수 있도록 하는 새로운 배터리 진단 방법이 요구되고 있는 실정이다.
1. 대한민국 등록특허공보 제10-1792975호(2017. 11. 02. 공고)
본 발명은 상기와 같은 종래기술의 문제점들을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 머신러닝을 통해 전기자동차에 사용되는 배터리의 잔여 시간을 실시간으로 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 함으로써 사용자가 전기자동차의 운행 가능 시간을 용이하게 확인할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법을 제공함에 있다.
또한, 본 발명은 사용자의 단순한 사용패턴을 분석하여 우수한 성능으로 배터리의 방전 경고를 예측할 수 있도록 함과 동시에 입력 변수의 다양화를 통해 복잡한 사용패턴에서도 높은 정확도를 갖는 결과를 획득할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법을 제공함에 다른 목적이 있다.
상기와 같은 목적들을 달성하기 위한 본 발명은,
배터리의 상태 진단을 위한 머신러닝에 사용될 학습 데이터들을 생성하는 학습 데이터 생성단계와, 생성된 학습 데이터들을 이용하여 머신러닝을 수행할 학습모델을 설계하는 학습모델 설계단계와, 설계된 학습모델에 학습 데이터들을 입력하여 배터리 상태 진단을 위한 머신러닝 학습을 수행하는 학습단계 및 머신러닝 학습 수행결과에 대한 정확도를 분석하여 학습모델을 평가하는 학습모델 평가단계를 포함하여 구성된 것을 특징으로 한다.
이때, 상기 학습 데이터 생성단계는, 머신러닝에 사용될 학습 데이터들을 1차적으로 선정하는 데이터 선정단계와, 머신러닝 학습을 통해 구현하고자 하는 정답 레이블을 생성하는 정답 레이블 생성단계와, 상기 데이터 선정단계에서 선정된 학습 데이터들을 확장 및 변형하여 학습모델에 입력될 변수들을 결정하는 데이터 전처리 단계 및 시계열 데이터 학습이 가능하도록 데이터의 패턴을 판별할 구간의 크기를 설정하고, 전처리된 변수들을 학습모델에 입력될 입력 데이터의 형태로 생성시키는 입력데이터 생성단계를 포함하여 구성된 것을 특징으로 한다.
또한, 상기 데이터 선정단계에서는 NASA 배터리 데이터 중 전류 1A로 단순 방전 실험을 진행한 13개의 RW25 데이터와, 5분 간격으로 -5A 에서 5A 사이의 랜덤한 전류로 배터리의 충방전 실험을 진행한 39개의 RW 데이터를 1차 데이터로 선정하는 것을 특징으로 한다.
그리고, 상기 정답 레이블 생성단계에서는 배터리의 전압이 완전 방전되기 3분 전부터 경고를 발생시킬 수 있도록 하기 위하여 경고의 발생 여부를 판별할 수 있도록 하는 변수의 값을 데이터의 정답 레이블로 생성하는 것을 특징으로 한다.
또한, 상기 데이터 전처리 단계에서는 전압의 변화량, 정규화된 전압, 노이즈 변화를 없애고 표준화한 전류, 표준화된 온도 및 표준화된 전력을 학습모델에 입력할 변수들로 결정하는 것을 특징으로 한다.
그리고, 상기 학습모델 설계단계는, 학습 데이터 생성단계에서 생성된 학습 데이터들을 이용하여 머신러닝 학습을 수행하기 위한 학습모델구조를 선정하는 모델 구조 선정단계와, 학습모델의 성능에 영향을 줄 수 있는 패턴 분석 기준시간의 크기 및 학습모델에 존재하는 뉴런의 은닉출력 개수를 설정하는 시퀀스 길이 및 은닉출력 개수 설정단계를 포함하여 구성된 것을 특징으로 한다.
여기서, 상기 모델 구조 선정단계에서는 시계열 데이터를 분석하여 정답을 예측하는 순환신경망(RNN)을 학습모델로 선정하고, 상기 순환신경망의 내부 셀로는 LSTMCell을 선정하는 것을 특징으로 한다.
그리고, 상기 학습단계는, 학습모델 설계단계에서 설계된 학습모델을 이용하여 머신러닝 학습을 수행할 때 사용하는 목적함수와 최적화기를 결정하는 목적함수 및 최적화기 결정단계와, 상기 학습모델에 입력될 최종 학습 데이터를 생성하여 머신러닝 학습을 수행하는 최종 학습 데이터 생성단계를 포함하여 구성된 것을 특징으로 한다.
또한, 상기 최종 학습 데이터 생성단계는, 머신러닝 학습을 수행하는 과정에서 편향된 학습이 이루어지지 않도록 학습모델에 입력될 학습 데이터를 균등화하는 데이터 밸런싱 단계와, 균등화된 학습 데이터를 결합시키는 데이터 결합단계 및 결합된 데이터들을 섞어 혼합시키는 데이터 셔플링 단계를 포함하여 구성된 것을 특징으로 한다.
또한, 상기 학습모델 평가단계는, 학습단계에서 수행된 머신러닝 학습의 수행 결과에 대한 정확도를 측정하여 최적 학습모델을 선정하는 최적 학습모델 선정단계와, 선정된 최적 학습모델을 저장하는 최적 학습모델 저장단계를 포함하여 구성된 것을 특징으로 한다.
본 발명에 따르면, 전기자동차에 사용되는 배터리의 잔여 시간을 머신러닝을 통해 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 하여 사용자가 전기자동차의 운행 가능 시간을 실시간으로 예측할 수 있도록 함으로써 안전사고의 발생을 미연에 방지할 수 있을 뿐만 아니라, 사용자가 배터리의 소모가 적은 안전운전 습관을 갖도록 하여 전기자동차 및 배터리의 수명을 연장시킬 수 있도록 하는 뛰어난 효과를 갖는다.
또한, 본 발명에 따르면 사용자의 단순한 사용패턴을 분석하여 우수한 성능으로 배터리의 방전 경고를 예측할 수 있도록 함과 동시에 입력 변수의 다양화를 통해 복잡한 사용패턴에서도 높은 정확도를 갖는 배터리 잔여시간 예측 결과를 획득할 수 있는 효과를 추가로 갖는다.
도 1은 본 발명에 따른 머신러닝을 이용한 배터리 진단 방법을 순차적으로 나타낸 흐름도.
도 2는 본 발명에서 학습 데이터로 사용되는 NASA 배터리 데이터의 전압 변화를 나타낸 그래프.
도 3의 (a),(b)는 NASA 배터리 데이터에 대한 정답 레이블을 시각화하여 나타낸 도면.
도 4는 NASA 배터리 데이터의 전압값을 기준으로 정답값을 생성한 것을 나타낸 도면.
도 5는 학습 데이터로 사용될 입력 변수의 종류에 따른 학습모델의 성능 평가 결과를 나타낸 그래프.
도 6은 시계열 데이터의 입력 형태로 데이터셋을 만드는 과정을 나타낸 도면.
도 7은 본 발명에서 학습모델로 사용되는 순환신경망(RNN)을 개념적으로 나타낸 도면.
도 8은 순환신경망 구조에서 사용되는 RNN셀, BasicLSTM셀 및 LSTM셀의 내부 구조를 시각화하여 나타낸 도면.
도 9는 BasicLSTM셀을 사용한 순환신경망과, LSTM셀을 사용한 순환신경망을 이용하여 각각 학습한 후의 검증 결과를 비교하여 나타낸 도면.
도 10은 학습모델 설계과정에서 시퀀스 길이와 은닉출력개수에 따른 학습모델의 성능 차이를 비교하여 나타낸 도면.
도 11은 본 발명에서 최종적으로 사용되는 학습모델의 구조를 개념적으로 나타낸 도면.
도 12는 도 11에 나타낸 학습모델을 이용하여 학습을 진행한 결과를 나타낸 도면.
도 13은 도 1에 나타낸 본 발명 중 학습단계에서 최종 학습 데이터를 생성하는 과정을 나타낸 도면.
도 14는 세 개의 학습 데이터를 이용한 반복 학습에서 가장 높은 정확도를 측정하는 방식을 나타낸 도면.
도 15는 학습 반복횟수에 따른 정확도와 오차의 편화를 나타낸 그래프.
도 16은 학습 과정에서 생성되는 오차율과 정확도를 나타낸 그래프.
도 17은 배터리의 방전 패턴에 대한 실제값과 예측값의 차이를 나타낸 그래프.
도 18은 랜덤한 충방전 패턴을 학습한 학습모델을 단순 방전 데이터로 평가한 예측 결과를 나타낸 그래프.
도 19는 본 발명에 사용된 학습모델의 학습결과를 정리하여 나타낸 도면.
이하, 첨부된 도면을 참고로 하여 본 발명에 따른 머신러닝을 이용한 배터리 진단 방법의 바람직한 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명에 따른 머신러닝을 이용한 배터리 진단 방법을 순차적으로 나타낸 흐름도이고, 도 2는 본 발명에서 학습 데이터로 사용되는 NASA 배터리 데이터의 전압 변화를 나타낸 그래프이며, 도 3의 (a),(b)는 NASA 배터리 데이터에 대한 정답 레이블을 시각화하여 나타낸 도면이고, 도 4는 NASA 배터리 데이터의 전압값을 기준으로 정답값을 생성한 것을 나타낸 도면이며, 도 5는 학습 데이터로 사용될 입력 변수의 종류에 따른 학습모델의 성능 평가 결과를 나타낸 그래프이고, 도 6은 시계열 데이터의 입력 형태로 데이터셋을 만드는 과정을 나타낸 도면이며, 도 7은 본 발명에서 학습모델로 사용되는 순환신경망(RNN)을 개념적으로 나타낸 도면이고, 도 8은 순환신경망 구조에서 사용되는 RNN셀, BasicLSTM셀 및 LSTM셀의 내부 구조를 시각화하여 나타낸 도면이며, 도 9는 BasicLSTM셀을 사용한 순환신경망과, LSTM셀을 사용한 순환신경망을 이용하여 각각 학습한 후의 검증 결과를 비교하여 나타낸 도면이고, 도 10은 학습모델 설계과정에서 시퀀스 길이와 은닉출력개수에 따른 학습모델의 성능 차이를 비교하여 나타낸 도면이며, 도 11은 본 발명에서 최종적으로 사용되는 학습모델의 구조를 개념적으로 나타낸 도면이고, 도 12는 도 11에 나타낸 학습모델을 이용하여 학습을 진행한 결과를 나타낸 도면이며, 도 13은 도 1에 나타낸 본 발명 중 학습단계에서 최종 학습 데이터를 생성하는 과정을 나타낸 도면이고, 도 14는 세 개의 학습 데이터를 이용한 반복 학습에서 가장 높은 정확도를 측정하는 방식을 나타낸 도면이며, 도 15는 학습 반복횟수에 따른 정확도와 오차의 편화를 나타낸 그래프이고, 도 16은 학습 과정에서 생성되는 오차율과 정확도를 나타낸 그래프이며, 도 17은 배터리의 방전 패턴에 대한 실제값과 예측값의 차이를 나타낸 그래프이고, 도 18은 랜덤한 충방전 패턴을 학습한 학습모델을 단순 방전 데이터로 평가한 예측 결과를 나타낸 그래프이며, 도 19는 본 발명에 사용된 학습모델의 학습결과를 정리하여 나타낸 도면이다.
먼저, 이하에서 설명할 본 발명에서 사용될 프로그래밍 언어는 Python의 3.6.5 버전이고, 머신러닝 패키지는 Tensorflow-gpu 1.7.1 버전을 사용하였으며, 학습모델 생성을 위한 하드웨어 환경은 GPU(Geforce GTX 1080ti)를 사용하였다.
본 발명은 머신러닝을 통해 전기자동차에 사용되는 배터리의 잔여 시간을 실시간으로 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 함으로써 사용자가 전기자동차의 운행 가능 시간을 용이하게 확인할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법에 관한 것으로, 그 구성은 도 1에 나타낸 바와 같이 크게, 학습 데이터 생성단계(S10), 학습모델 설계단계(S20), 학습단계(S30) 및 학습모델 평가단계(S40)를 포함하여 이루어진다.
먼저, 상기 학습 데이터 생성단계(S10)는 배터리의 상태 진단을 위한 머신러닝에 사용될 학습 데이터들을 생성하는 단계에 관한 것으로, 데이터 선정단계(S12), 정답 레이블 생성단계(S14), 데이터 전처리단계(S16) 및 입력데이터 생성단계(S18)를 포함하여 이루어진다.
보다 상세히 설명하면, 상기 데이터 선정단계(S12)는 배터리의 상태 진단을 위한 머신러닝 학습에 사용될 학습 데이터들을 1차적으로 선정하는 단계에 관한 것으로, 본 발명에서는 NASA 사전진단 센터에서 실험한 배터리 데이터 중 하나로서 배터리들의 반복 사용 횟수에 대한 성능 차이를 실험한 자료인 Randomized Battery Usage Data Set(이하, 'NASA 배터리 데이터'라 한다.)를 학습 데이터로 선정하였다.
상기 NASA 배터리 데이터는 단순 방전 실험뿐만 아니라 복잡한 충방전 규칙으로 실험을 하여 전기자동차의 실제 배터리 사용패턴과 유사한 데이터를 포함하고 있는 장점이 있다.
상기 NASA 배터리 데이터는 실험의 진행에 따라 변화되는 전압, 전류 및 온도를 1초 단위로 기록한 형태로, 상기 데이터 선정단계(S12)에서는 NASA 배터리 데이터 중 전류 1A로 단순 방전 실험을 진행한 RW25 Reference Discharge 데이터(이하, 'RW25 데이터'라 함)와, 5분 간격으로 -5A에서 5A 사이의 랜덤한 전류로 배터리의 충방전 실험을 진행한 RW9 Random Walk Charging and Discharging 데이터(이하, 'RW9 데이터'라 함)를 1차 학습 데이터로 선정하여 전기자동차의 실제 배터리 사용패턴과 최대한 유사한 결과를 얻을 수 있도록 하였다.
이때, 상기 RW25 데이터와 RW9 데이터는 실험의 반복 횟수에 따라 각각 13개의 실험 데이터 및 39개의 실험 데이터가 존재하는데, 이는 배터리의 노후화된 정도를 의미한다.
즉, 상기 RW25 데이터의 경우 배터리의 노후화를 13단계로 구분하였고, 상기 RW9 데이터는 배터리의 노후화를 39단계로 구분한 것으로, 모든 단계의 데이터들을 학습 데이터로 사용할 경우 배터리의 노후화를 고려한 상태 진단을 할 수 있게 된다.
참고로, 도 2는 RW25 데이터와 RW9 데이터의 시간에 따른 전압 변화를 나타낸 그래프이다.
다음, 상기 정답 레이블 생성단계(S14)는 머신러닝 학습을 통해 구현하고자 하는 정답 레이블을 선정하는 단계에 관한 것으로, 본 발명은 배터리의 상태를 머신러닝을 통해 진단할 수 있도록 한 것에 주목적이 있으므로 배터리의 전압이 3.2V, 즉 완전 방전으로 떨어지기 3분 전부터 경고를 발생시킬 수 있도록 하는 알고리즘을 구성하였다.
상기 RW9 데이터의 경우 5분 간격으로 데이터의 전류 패턴을 바꾸었기 대문에 전류사용에 따른 전압 패턴과 방전 패턴을 적절하게 찾을 수 있도록 하기 위하여 경고 발생시간을 3분으로 결정하는 것이 바람직하다.
경고 발생 여부를 판별하기 위해서 배터리가 방전 위험 상태인지를 알려주는 NG(t) 변수를 도입하여, 상기 NG(t) 변수의 값을 정답 레이블로 선정한다.
보다 상세히 설명하면, 상기 NG(t) 값은 한 시점(t=t0)에서 배터리의 전압이 3.2V 이하로 떨이지면, 그 시점의 3분 이전 시점부터 전압이 3.2V 이하로 떨어진 시점까지 1의 값을 부여한다.
즉, T를 경고 발생 설정시간(예를 들면, 완전 방전 3분전일 때 T=3)이라고 한다면, 후술할 학습단계(S30)에서 입력으로 넣는 샘플 x(t)에 대하여, x(t)의 레이블(label)인 F(t)는
Figure 112019078924239-pat00001
... (1)로 정의된다.
여기서, n은 0≤n<(T*60)의 범위에 있는 시간이고, f(t)는 t시점에서의 전압값을 나타내고, F(t)의 결괏값 1은 3분 이내에 배터리의 방전이 발생될 수 있는 주의 상태, 즉 경고를 발생시키는 상태를 의미한다.
도 3의 (a),(b)는 각각 RW25 데이터 및 RW9 데이터에 대한 정답 레이블을 시각화하여 나타낸 것으로, 도 3의 (a)에서 확인할 수 있는 바와 같이, 배터리의 완전 방전이 발생하기 이전의 특정시간, 즉 3분 전부터 NG(t) 값은 1이고, 그 외의 구간에서의 NG(t) 값은 0이 된다.
또한, 도 3의 (b)의 경우 위쪽에 표현된 그래프가 RW9 데이터의 전압이고, 아래쪽에 표현된 선이 NG(t)의 값을 나타낸다.
도 4는 전술한 정답 레이블 생성단계(S14)에서 생성된 정답 레이블을 나타낸 것이다.
다음, 상기 데이터 전처리단계(S16)는 데이터 선정단계(S12)에서 선정된 학습 데이터 즉, 1차 학습 데이터들을 확장 및 변형하여 학습모델에 입력될 변수들을 결정하는 단계에 관한 것으로, 머신러닝에 의한 학습 결과에 대한 정확성을 향상시키기 위하여 변수들을 확장 및 변형시키는 단계이다.
즉, 1차 학습 데이터에 포함된 변수는 전압, 전류, 온도 3가지만 존재하여 입력데이터가 단조롭고 패턴을 파악할 때 정답 레이블 규칙에 따라 전압에 편향된 학습모델을 생성시키기 쉽다.
따라서, 상기 데이터 전처리단계(S16)에서는 후술할 학습모델에 다양한 변수를 포함하는 입력 데이터를 제공할 수 있도록 하기 위하여 1차 학습 데이터에 포함된 세 가지 변수를 확장 및 변형하여, 전압의 변화량(Vd), 특정 범위로 정규화(normalization)된 전압(Vm), 노이즈 변화를 없애고 표준화(standardization)한 전류(Irn), 표준화된 온도(Tn), 전압과 전류에 의해 연산된 표준화된 전력(Pn)의 5가지를 학습모델에 입력할 변수들로 결정한다.
도 5는 입력 변수의 종류에 따른 학습모델의 성능 평가 결과를 나타낸 것으로, x축은 방전 경고시간이고, y축은 정확도를 나타낸다.
상기 도 5에서 확인할 수 있는 바와 같이, 방전 경고시간이 3분일 경우, 전압의 변화량(Vd), 노이즈 변화를 없애고 표준화한 전류(Irn), 온도(T) 및 전력(P)의 4가지 변수를 사용한 것이 87.62%로 가장 높게 나타났으나, 방전 경고시간이 3분, 5분 및 8분일 경우를 전체적으로 고려하면, 상기 5개의 변수들 즉, Vd, Vm, Irn, Tn, Pn을 사용한 입력데이터가 가장 높은 정확도를 나타내므로, 가장 좋은 성능을 보일 수 있음을 확인할 수 있다.
다음, 상기 입력데이터 생성단계(S18)는 시계열 데이터 학습이 가능하도록 데이터의 패턴을 판별할 구간의 크기를 설정하고, 전처리된 변수들을 학습모델에 입력될 입력 데이터의 형태로 생성시키는 단계에 관한 것으로, 이 과정을 통해 학습모델에 입력되는 데이터는 1초당 패턴 판별 구간의 크기(sequence length)만큼 학습모델에 입력될 수 있게 된다.
도 6은 입력데이터 생성단계(S18)에서 시계열 데이터의 입력 형태로 데이터셋을 만드는 과정을 나타낸 디자인 매트릭스로, [Data Length, Input dim(3)]으로 이루어진 2차원 데이터를 원하는 시계열 데이터의 길이 단위로 분리하고 입력 변수는 3개에서 5개로 확장하여 [(Data Length - Sequence Length + 1), Sequence Length, Input dim(5)]의 형태로 만들어 입력데이터 Input data X를 만든다.
상기 입력데이터에 대한 정답 NG data Y는 [Data Length - Sequence Length + 1), Output dim(1)]의 형태로 구성된다.
다음, 상기 학습모델 설계단계(S20)는 학습 데이터 생성단계(S10)에서 생성된 학습 데이터들을 이용하여 배터리 상태 진단을 위한 머신러닝 학습을 수행할 학습모델을 설계하는 단계에 관한 것으로, 모델 구조 선정단계(S22)와 시퀀스 길이 및 은닉출력개수 설정단계(S24)를 포함하여 이루어진다.
보다 상세히 설명하면, 상기 모델 구조 선정단계(S22)는 학습 데이터 생성단계(S10)에서 생성된 학습 데이터들을 이용하여 머신러닝 학습을 수행하기 위한 학습모델구조를 선정하는 단계에 관한 것으로, 본 발명은 실시간으로 배터리 정보를 파악하여 일정 시간 이후 배터리의 방전을 예측할 수 있도록 하는 것에 일목적이 있으므로, 기존에 공지된 다양한 신경망 구조 중 시계열 데이터를 분석하여 정답을 예측할 수 있도록 하는 순환신경망(RNN; Recurrent Neural Network)을 학습 모델로 선정하였다.
즉, 상기 순환신경망은 기존의 신경망들과는 다르게 Hidden state로 표현되는 기억을 갖는다는 장점이 있는 것으로, 이러한 기억은 지금까지의 입력 데이터를 요약한 정보를 의미한다.
보다 상세히 설명하면, 상기 순환신경망은 도 7에 나타낸 바와 같이, 시간이 지남에 따라 Hidden state의 값을 다시 현재의 입력으로 받을 수 있도록 구성된 것으로, 순환신경망의 셀 A는 X의 데이터를 입력으로 받고, 현재 셀 A의 상태와 계산 결과 h를 출력하며, 이후 새로운 X 데이터와 이전 셀의 상태값을 입력으로 받고 새로운 현재 상태와 결과 h를 출력할 수 있도록 구성된 것이다.
이러한 순환신경망의 구조로는 고정된 크기의 입력과 시계열 출력을 특징으로 하는 'one to many' 구조와, 시계열 입력과 고정된 크기의 출력을 특징으로 하는 'many to one' 구조 및 시계열 입출력을 특징으로 하는 'many to many' 구조가 있는데, 본 발명에서는 시계열 데이터를 입력으로 하고, 고정된 하나의 예측 결과를 출력하는 'many to one' 구조를 사용하기로 한다.
한편, 상기 순환신경망은 이전의 정보를 현재의 문제해결에 활용할 수 있다는 장점은 있으나, 순환적으로 과거 셀의 상태값을 가져올 때 시간의 격차가 길어질수록 학습하는 정보를 계속 보존하기 어려운 장기 의존성 문제가 발생될 수 있다.
따라서, 상기 모델 구조 선정단계(S22)에서는 장시간의 시계열 데이터를 분석할 수 있도록 하기 위하여 순환신경망의 내부 셀로 LSTM(Long Short Term Memory)Cell을 선정하는 것이 바람직하다.
또한, 완전 연결(fully connected) 계층을 추가하여 순환신경망 계층에서 출력한 값들을 하나의 예측값으로 변환할 수 있도록 구성되어 있다.
상기 LSTM은 현재 상태의 값에 영향을 주는 Gate를 갖는 것에 특징이 있는 것으로, '0'이라는 값을 갖게 되면 해당 구성요소가 미래의 예측 결과에 아무런 영향을 주지 않게 되고, '1'이라는 값을 갖게 되면 해당 구성요소가 미래의 예측 결과에 영향을 주게 되어 순환신경망이 갖는 장기간이 걸친 시간 의존성을 학습시키기 어렵다는 단점을 해소할 수 있게 된다.
상기 LSTM cell로는 도 8에 나타낸 바와 같이, 현재 상태의 값을 Gate에 입력으로 연결해주는 핍홀결합(peephole connections)이 없는 BasicLSTMCell과, 핍홀결합이 존재하는 LSTMCell이 있는데, 상기 두 개의 셀(cell)을 순환신경망의 내부 셀로 각각 적용하여 학습한 후 학습결과를 분석해 본 결과, 도 9에 나타낸 바와 같이, 우측에 표시된 LSTMCell을 사용한 순환신경망을 이용한 학습결과가 좌측에 표시된 BasicLSTMCell을 사용한 순환신경망을 이용한 학습결과 보다 정답에 가깝게 나타나는 것을 확인할 수 있었다.
따라서, 상기 모델 구조 선정단계(S22)에서는 순환신경망을 학습모델로 선정하면서, 순환신경망의 내부 셀로는 핍홀결합이 존재하는 LSTMCell을 사용하는 것이 바람직하다.
다음, 상기 시퀀스 길이 및 은닉출력 개수 설정단계(S24)는 학습모델의 성능에 영향을 줄 수 있는 패턴 분석 기준시간의 크기 및 학습모델에 존재하는 뉴런의 은닉출력 개수를 설정하는 단계에 관한 것이다.
즉, 상기 모델 구조 선정단계(S22)에서 선정된 순환신경망은 시간의 영향을 받는 머신러닝 학습 알고리즘이므로 패턴을 측정하고자 하는 패턴 분석 기준시간의 크기(Sequence length)에 따라 성능이 크게 달라질 수 있고, 순환신경망 내부에 존재하는 뉴런(neuron)의 은닉출력 개수에 따라 모델 성능이 달라질 수 있다.
상기 두 가지 인자는 머신러닝 학습과정에서 내부 메모리를 많이 사용하므로 적절한 크기를 정하여 최적의 성능을 보일 수 있도록 조절할 필요가 있다.
이에 따라, 상기 시퀀스 길이 및 은닉출력 개수 설정단계(S24)에서는 패턴 분석 기준시간의 크기를 조절하는 Sequence-length 인자와 LSTMCell에서 출력하는 결과의 수를 조절하는 Hidden-dim 인자를 수정하면서 학습모델의 성능 향상 테스트를 실시하여 최적의 패턴 분석 기준시간의 크기, 즉 시퀀스 길이(Sequence length)와 은닉출력 개수를 설정하게 된다.
도 10은 위와 같은 테스트 결과를 나타낸 것으로, 가로축은 [Sequence-length/Hidden-dim]을 의미하고, 두 개의 막대는 각각 정확도와 오차(RMSE; Root Mean Square Error)의 수치를 나타낸다.
상기 도 10에서 확인할 수 있는 바와 같이, 시퀀스 길이와 은닉출력 개수의 차이에 따른 오차, 즉 학습모델의 성능의 차이는 크지 않은 것으로 나타났지만 [Sequence-length/Hidden-dim]가 [150/15] 및 [200/10]인 경우 가장 좋은 성능을 나타내는 것을 확인할 수 있다.
또한, 상기와 같은 테스트 결과, 시퀀스 길이와 은닉출력(Hidden node)의 개수를 늘릴수록 좋은 결과가 나타나는 것은 아니라는 것을 확인할 수 있고, 내부메모리를 많이 소모하는 상기 두 가지 인자들의 크기 조절을 통해 학습데이터를 늘리거나 내부 가중치를 늘릴 수 있다는 것을 알 수 있다.
한편, 도 11은 상기와 같은 과정을 통해 설계된 multi layers와 LSTMCell 요소들로 구성된 순환신경망 구조를 나타낸 것으로, 상기 순환신경망 구조로 이루어진 학습모델을 이용하여 훈련데이터로 학습을 진행한 결과, 도 12에 나타낸 바와 같이, 학습이 반복될수록 loss 값은 줄어들고, 정확도는 증가하는 흐름으로 나타나, 배터리 진단을 통한 방전 경고를 알려주는 예측모델의 학습이 정상적으로 이루어지는 것을 확인할 수 있다.
다음, 상기 학습단계(S30)는 학습모델 설계단계(S20)에서 설계된 학습모델에 학습 데이터 생성단계(S10)에서 생성된 학습 데이터를 입력하여 배터리 상태 진단을 통한 방전 경고에 대한 머신러닝 학습을 수행하는 단계에 관한 것으로, 목적함수 및 최적화기 결정단계(S32)와 최종 학습 데이터 생성단계(S34)를 포함하여 이루어진다.
보다 상세히 설명하면, 상기 목적함수 및 최적화기 결정단계(S32)는 학습모델 설계단계(S20)에서 설계된 학습모델을 이용하여 머신러닝 학습을 수행할 때 사용할 목적함수(objective function)와 loss를 최소화하기 위한 최적화기(Optimizer)를 결정하는 단계에 관한 것으로, 본 발명에서는 상기 목적함수로 cross entropy를 사용하고, 최적화기로는 Adam optimizer를 사용한다.
이에 대해 간략히 설명하면, 일반적으로 목적함수로 널리 쓰이는 것 중 하나는 모델의 예측값과 실제 표적값과의 차이를 제곱해서 모두 더한 값들의 평균으로 정의되는 MSE(Mean Square Error)인데, 상기 MSE를 목적함수로 사용할 경우 Sigmoid 함수의 특성으로 인한 학습 저하 문제가 발생되는 문제점이 있다.
상기 목적함수로 cross entropy를 사용할 경우 local minima 즉, 주변보다는 낮지만 전체적으로 최솟값은 아닌 부분을 없애면서 오차가 더 큰 입력값에 대해서는 더 많이 업데이트하고, 오차가 더 작은 입력값에 대해서는 더 적게 업데이트하는 결과를 얻을 수 있을 뿐만 아니라, 전술한 학습 저하 문제가 발생하지 않는 장점이 있다.
다음, 상기 최적화기로는 경사하강법(Gradient Descent)과 Stochastic Gradient Descent(SGD) 방법이 주로 사용되는데, 상기 경사하강법의 경우 한 번 스텝을 내디딜 때마다 전체 데이터에 대한 오차 함수를 계산해야 하므로 너무 많은 계산량이 필요하다는 단점이 있고, 상기 SGD의 경우 계산속도가 빠르다는 장점은 있으나 다소 부정확할 수 있다는 단점으로 인해 단순한 SGD만으로 최적화기를 구성하기에는 한계가 있으므로, 본 발명에서는 SGD의 변형인 Momentum과 RMS prop의 방식을 합친 Adam optimizer를 사용한다.
상기 Momentum은 경사하강법을 통해 이동하는 과정에 일종의 관성을 주는 방법으로, 학습률의 값 자체는 같지만 매개변수를 변경하여 학습률이 '처음에는 크게 그리고 점점 작게'라는 개념이 되도록 학습률을 조정할 수 있는 방법이다.
또한, 상기 RMS prop는 학습률을 자동으로 조정하는 Adagrad라는 기법에서 경사의 제곱의 누적합이 무한으로 증가하여 학습이 오래 진행될수록 학습의 스텝 크기가 급격하게 작아지게 되어 학습을 더 이상 진행할 수 없게 되는 문제를 해결하기 위한 방법으로, 경사의 제곱의 누적합이 아닌 지수평균으로 대체하여 무한정 커지지는 않으면서 최근 변화량의 변수 간 상대적인 크기 차이는 유지할 수 있도록 하는 방법이다.
따라서, 상기 Momentum과 RMS prop의 방식을 합친 알고리즘인 Adam optimizer는 Momentum 방식과 유사하게 지금까지 계산해온 기울기의 지수 평균을 저장하고, RMS prop와 유사하게 기울기의 제곱값의 지수평균을 저장하여 학습률을 줄여나가고 속도를 계산하여 학습의 갱신강도를 적응적으로 조정해 나갈 수 있는 장점이 있다.
다음, 상기 최종 학습 데이터 생성단계(S34)는 학습모델에 입력될 최종 학습 데이터를 생성 및 입력하여 머신러닝 학습을 수행하는 단계에 관한 것으로, 데이터 밸런싱 단계(S34a), 데이터 결합단계(S34b) 및 데이터 셔플링 단계(S34c)를 포함하여 이루어진다.
보다 상세히 설명하면, 상기 데이터 밸런싱 단계(S34a)는 학습모델 설계단계(S20)에서 설계된 학습모델에 입력될 학습 데이터를 균등화시키는 단계에 관한 것으로, 머신러닝 학습 과정에서 학습이 편향되게 일어나는 것을 방지하기 위한 과정이다.
즉, 학습 데이터에서 정답 레이블로 선정된 NG(t)의 값이 1이 되어 경고를 발생시키는 패턴 데이터의 개수와, NG(t)의 값이 0이 되어 경고를 발생시키지 않는 패턴의 데이터 개수가 균일하지 않으면 학습이 편향되게 일어날 수 있으므로, 학습모델에 입력될 학습 데이터 생성시 NG(t)의 값이 1일 때와 0일 때의 패턴 데이터의 수를 균등하게 선택하는 것이다.
이때, 데이터의 수를 맞추기 위하여 선택되지 않는 데이터가 있으므로 매 학습이 반복될 때마다 선택 알고리즘을 실행하여 균등하게 선택되는 데이터를 랜덤으로 바꾸어주는 것이 바람직하다.
다음, 상기 데이터 결합단계(S34b)는 균등화 과정이 완료된 데이터들을 서로 합쳐주는(combining) 과정이고, 상기 데이터 셔플링 단계(S34c)는 데이터 결합단계(S34b)에서 합쳐진 데이터를 섞어서 혼합(shuffling)시키는 과정이다.
즉, 도 13에 나타낸 바와 같이, 학습 데이터의 길이가 다른 세 가지 데이터 A, B, C가 있다고 할 때, 먼저 정답 레이블, 즉 NG(t)의 값이 1이 되는 데이터 패턴의 개수를 기준으로 하여 균등화시키는 데이터 밸런싱 작업을 수행하고, 밸런싱 처리된 데이터를 서로 합쳐주는 combining 과정을 거친 후, 셔플링(shuffling) 과정을 통해 데이터를 섞으면 세 가지 데이터 A, B, C가 적절하게 혼합된 최종 학습 데이터를 생성할 수 있게 된다.
따라서, 상기 학습단계(S30)에서는 학습모델 설계단계(S20)에서 설계된 학습모델에 상기 최종 학습 데이터를 입력하여 배터리의 진단을 통해 배터리의 방전을 경고할 수 있도록 하는 머신러닝 학습을 진행하게 된다.
다음, 상기 학습모델 평가단계(S40)는 머신러닝 학습 수행결과에 대한 정확도(Accuracy)와 오차(RMSE)를 분석하여 학습모델을 평가하는 단계에 관한 것으로, 최적 학습모델 선정단계(S42)와 최적 학습모델 저장단계(S44)를 포함하여 이루어진다.
보다 상세히 설명하면, 상기 최적 학습모델 선정단계(S42)는 학습단계(S30)에서 수행된 머신러닝 학습의 수행 결과에 대한 정확도를 측정하여 최적 학습모델을 선정하는 단계에 관한 것으로, 이를 위해 상기 RW25 데이터와 RW9 데이터의 노화도가 다른 데이터셋을 이용하여 데이터 전처리단계(S16), 입력데이터 생성단계(S18) 및 최종 학습 데이터 생성단계(S34)를 거친 최종 시험 데이터를 생성한 후 학습모델에 입력하여 성능평가를 실시하였다.
상기 최적 학습모델 선정단계(S42)에서는 도 14에 나타낸 바와 같이, 편향된 평가가 이루어지지 않도록 하기 위하여 세 개의 최종 시험 데이터(test data 1,2,3)를 학습모델에 입력한 후 반복 학습에서의 가장 높은 정확도를 측정하게 되는데, 머신러닝 학습을 수행하는 과정에서 도 15에 나타낸 바와 같이, 정확도가 점진적으로 증가하다가 다시 감소하고 또 다시 증가하는 경우가 발생된다.
이러한 경우 Early stopping 기법을 사용하여 정확도가 감소하면 학습을 멈추지만, 그 이후 발생되는 학습을 통해 더 좋은 성능을 내는 모델을 만드는 경우가 있으므로 상기 Early stopping 기법을 사용하여 최적의 모델을 찾는 것은 바람직하지 않다.
따라서, 상기 최적 학습모델 선정단계(S42)에서는 학습하는 모델의 성능이 최곳값을 경신할 때마다 모델의 가중치 정보를 저장하고, 최초 설정한 모든 학습의 반복이 끝났을 때 성능이 가장 좋았던 모델을 다시 찾아내 최종적인 성능평가를 진행한 후 최적 학습모델을 선정한다.
다음, 상기 최적 학습모델 저장단계(S44)는 최적 학습모델 선정단계(S42)에서 선정된 최적 학습모델을 기록장치에 저장하는 단계에 관한 것으로, 저장된 최적 학습모델을 클라우드(cloud)에 저장하여 다수의 전기자동차 사용자들이 인터넷을 통해 클라우드에 접속하여 저장된 최적 학습모델을 통해 배터리를 진단할 수 있도록 구성할 수도 있다.
한편, 상기와 같은 과정에 의해 선정된 최적 학습모델의 적합성을 검증하기 위해 성능평가 실험을 실시하였는데, 상기 성능평가 실험은 비선형 특성의 실험, 운전패턴 특성 실험, 노화 배터리 특성 실험 및 노화된 배터리 특성을 고려한 학습모델 실험의 네 가지를 실시하였다.
먼저, 비선형 특성의 실험의 경우 배터리 데이터의 비선형적인 방전 패턴으로 방전 경고를 예측하기 위하여, RW25 데이터, 즉 단순 방전 데이터를 최적 학습모델에 입력하여 머신러닝 학습을 수행하였다. 이때, 최적 학습모델의 평가는 학습에 쓰이지 않은 RW25 데이터를 사용하여 예측의 정확도를 구하였다.
즉, 머신러닝 학습에는 RW25 데이터셋의 1번 데이터를 사용하고, 평가를 위해 RW25 데이터셋의 2번 데이터를 사용한 결과, 머신러닝 학습과정에서 측정되는 오차율과 정확도를 나타낸 도 16에서 확인할 수 있는 바와 같이 머신러닝 학습이 안정적으로 이루어졌음을 알 수 있다.
또한, 도 17은 배터리의 방전 패턴에 대하여 실제값과 본 발명에 의한 예측값을 시각화하여 나타낸 것으로, 파란색 선은 실제 정답 레이블의 값이고, 초록색 점은 예측값이며, 빨간색 점선은 NG(t)의 값 1이 발생되는 시점을 기준으로 전후 1분을 표시한 경계선이다.
그리고, 도 19에 나타낸 표의 1번 실험결과에 비선형 특성의 실험에 대한 성능평가 결과를 정리하였는데, 정확도는 98.89%이고, 오차(RMSE)는 0.1043으로 거의 정확한 예측을 하고 있음을 확인할 수 있다.
다음, 운전패턴 특성 실험과 관련하여 전기자동차의 배터리는 사용자의 다양한 운전 패턴으로 인해 복잡한 충방전 패턴을 나타내는 것을 고려하여 임의적인 충방전으로 실험된 RW9 데이터를 이용하여 최적 학습모델을 훈련하였다.
즉, 머신러닝 학습(train)에는 RW9 데이터셋의 1번 데이터를 사용하고, 평가(test)를 위해 RW9 데이터셋의 2번 데이터를 사용한 결과, 도 19에 나타낸 표의 2번 실험결과에서 확인할 수 있는 바와 같이, 정확도는 85.76%이고, 오차(RMSE)는 0.3417로 다양한 패턴의 충방전 데이터도 비교적 정확하게 예측할 수 있는 것을 알 수 있다.
또한, RW9 데이터셋의 1번 데이터로 학습된 최적 학습모델의 비선형 데이터 예측에 대한 평가를 위해 RW25 데이터로 평가를 진행하였을 때, 실제값과 예측값을 시각화한 도 18에 나타낸 바와 같이, 오차(RMSE)는 다소 크지만, 0.5를 기준으로 NG(t)의 값이 0 또는 1로 정해지기 때문에 정확도는 매우 높은 것을 확인할 수 있다.
즉, 도 19에 나타낸 표의 2번 실험결과에서 확인할 수 있는 바와 같이, 정확도가 99.72%로 측정되어 단순한 패턴에 대해서는 매우 우수한 예측을 할 수 있음을 알 수 있다.
다음, 노화 배터리 특성 실험은 배터리의 노화도가 배터리의 충방전 패턴에 영향을 끼쳐 최적 학습모델의 성능을 저하시키는지 여부를 확인하기 위한 것으로, 먼저 단순 방전 데이터인 RW25 데이터 셋의 1번 데이터를 머신러닝 학습에 사용하고, 노후화가 가장 많이 진행된 RW25 데이터 셋의 13번 데이터를 평가를 위해 사용한 결과, 도 19의 3번 실험결과 제1열에서 확인할 수 있는 바와 같이, 정확도가 99.16%이고, 오차(RMSE)가 0.0933으로 측정되어 전술한 RW25 데이터 셋의 2번 데이터를 평가를 위해 사용했던 경우의 정확도 98.89% 보다 정확도가 오히려 더 높아진 것을 알 수 있다.
즉, 노후화된 배터리의 전압 감소율이 노후화되지 않은 배터리의 전압 감소율 보다 크기 대문에 배터리의 방전을 예측하는 변수 중 하나인 전압 변화량에서 더 확연한 특성을 얻을 수 있기 때문에 단순 방전 데이터의 경우 배터리가 노후화 될 수록 더 정확한 예측을 할 수 있는 것을 확인할 수 있다.
또한, 랜덤 충방전 특성을 갖는 데이터인 RW9 데이터 셋의 1번 데이터를 머신러닝 학습에 사용하고, 노후화가 중간 정도 진행된 RW9 데이터 셋의 21번 데이터와 노후화가 많이 진행된 RW9 데이터 셋의 36번 데이터를 평가를 위해 사용한 결과, 도 19의 3번 실험결과 제2열 및 제3열에서 확인할 수 있는 바와 같이, 21번 데이터와 36번 데이터의 정확도가 각각 72.45%와 67.45%로 나타나 전술한 RW9 데이터 셋의 2번 데이터를 평가를 위해 사용했던 경우의 정확도 85.76%에 비해 점점 낮아지는 것으로 나타나, 배터리의 노화도에 의해 랜덤한 충방전 패턴 데이터를 예측하는 것은 쉽지 않은 것을 확인할 수 있다.
마지막으로, 노화된 배터리 특성을 고려한 학습모델 실험은 전술한 노화 배터리 특성 실험에서 확인한 배터리 노후화에 따른 최적 학습모델의 성능 저하 문제를 해결하기 위하여 실시한 것으로, 다양한 노화도를 갖는 데이터를 모두 학습 데이터로 이용하여 실험을 진행하였다.
즉, 랜덤 충방전 특성을 갖는 데이터인 RW9 데이터 셋 중 노화도가 가장 낮은 1번 데이터와 노화도가 중간인 19번 데이터 및 노화도가 가장 심한 39번 데이터를 통합하여 학습 데이터를 생성하고, 최적 학습모델에 입력하여 머신러닝 학습을 진행 한 후, 노화 배터리 특성 실험에서 평가를 위해 사용된 RW9 데이터 셋 중 2번, 21번 및 36번 데이터를 다시 사용하여 실험을 진행한 결과, 도 19의 4번 실험결과에서 확인할 수 있듯이, 각각의 정확도는 85.81%, 75.06%, 72.09%로 전술한 노화 배터리 특성 실험에서 확인한 정확도 보다 각각 0.05%, 2.61%, 4.64% 상승한 것을 확인할 수 있다.
상기와 같은 실험결과를 통해 배터리의 노화도는 배터리의 잔여시간 예측에 중요한 요소가 됨을 알 수 있으며, 머신러닝 학습시 노화가 진행된 배터리 데이터를 포함시키는 경우 보다 성능이 좋은 학습모델을 만들 수 있는 것을 확인할 수 있다.
따라서, 전술한 바와 같은 본 발명에 따른 머신러닝을 이용한 배터리 진단 방법에 의하면, 전기자동차에 사용되는 배터리의 잔여 시간을 머신러닝을 통해 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 하여 사용자가 전기자동차의 운행 가능 시간을 실시간으로 예측할 수 있도록 함으로써 안전사고의 발생을 미연에 방지할 수 있을 뿐만 아니라, 사용자가 배터리의 소모가 적은 안전운전 습관을 갖도록 하여 전기자동차 및 배터리의 수명을 연장시킬 수 있게 되고, 사용자의 단순한 사용패턴을 분석하여 우수한 성능으로 배터리의 방전 경고를 예측할 수 있도록 함과 동시에 입력 변수의 다양화를 통해 복잡한 사용패턴에서도 높은 정확도를 갖는 배터리 잔여시간 예측 결과를 획득할 수 있는 등의 다양한 장점을 갖는 것이다.
전술한 실시예들은 본 발명의 가장 바람직한 예에 대하여 설명한 것이지만, 상기 실시예에만 한정되는 것은 아니며, 전기자동차에 사용되는 배터리 이외에도, 항공우주분야 등 배터리의 잔여시간 예측이 중요한 다양한 분야에서 활용될 수 있는 등 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변형이 가능하다는 것은 당업자에게 있어서 명백한 것이다.
본 발명은 머신러닝을 이용한 배터리 진단 방법에 관한 것으로, 보다 상세하게는 머신러닝을 통해 전기자동차에 사용되는 배터리의 잔여 시간을 실시간으로 진단하고, 배터리의 방전을 사전에 경고할 수 있도록 함으로써 사용자가 전기자동차의 운행 가능 시간을 용이하게 확인할 수 있도록 하는 머신러닝을 이용한 배터리 진단 방법에 관한 것이다.
S10 : 학습 데이터 생성단계 S12 : 데이터 선정단계
S14 : 정답 레이블 생성단계 S16 : 데이터 전처리단계
S18 : 입력데이터 생성단계 S20 : 학습모델 설계단계
S22 : 모델 구조 선정단계
S24 : 시퀀스 길이 및 은닉출력개수 설정단계
S30 : 학습단계 S32 : 목적함수 및 최적화기 결정단계
S34 : 최종 학습 데이터 생성단계 S34a : 데이터 밸런싱 단계
S34b : 데이터 결합단계 S34c : 데이터 셔플링 단계
S40 : 학습모델 평가단계 S42 : 최적 학습모델 선정단계
S44 : 최적 학습모델 저장단계

Claims (10)

  1. 배터리의 상태 진단을 위한 머신러닝에 사용될 학습 데이터들을 생성하는 학습 데이터 생성단계와,
    생성된 학습 데이터들을 이용하여 머신러닝을 수행할 학습모델을 설계하는 학습모델 설계단계와,
    설계된 학습모델에 학습 데이터들을 입력하여 배터리 상태 진단을 위한 머신러닝 학습을 수행하는 학습단계 및
    머신러닝 학습 수행결과에 대한 정확도를 분석하여 학습모델을 평가하는 학습모델 평가단계를 포함하되,
    상기 학습 데이터 생성단계는,
    머신러닝에 사용될 학습 데이터들을 1차적으로 선정하는 데이터 선정단계와,
    머신러닝 학습을 통해 구현하고자 하는 정답 레이블을 생성하는 정답 레이블 생성단계와,
    상기 데이터 선정단계에서 선정된 학습 데이터들을 확장 및 변형하여 학습모델에 입력될 변수들을 결정하는 데이터 전처리 단계 및
    시계열 데이터 학습이 가능하도록 데이터의 패턴을 판별할 구간의 크기를 설정하고, 전처리된 변수들을 학습모델에 입력될 입력 데이터의 형태로 생성시키는 입력데이터 생성단계를 포함하여 구성되고,
    상기 데이터 선정단계에서는 NASA 배터리 데이터 중 전류 1A로 단순 방전 실험을 진행한 13개의 RW25 데이터와, 5분 간격으로 -5A 에서 5A 사이의 랜덤한 전류로 배터리의 충방전 실험을 진행한 39개의 RW 데이터를 1차 데이터로 선정하며,
    상기 정답 레이블 생성단계에서는 배터리의 전압이 완전 방전되기 3분 전부터 경고를 발생시킬 수 있도록 하기 위하여 경고의 발생 여부를 판별할 수 있도록 하는 변수의 값을 데이터의 정답 레이블로 생성하고,
    상기 데이터 전처리 단계에서는 전압의 변화량, 정규화된 전압, 노이즈 변화를 없애고 표준화한 전류, 표준화된 온도 및 표준화된 전력을 학습모델에 입력할 변수들로 결정하는 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1항에 있어서,
    상기 학습모델 설계단계는,
    학습 데이터 생성단계에서 생성된 학습 데이터들을 이용하여 머신러닝 학습을 수행하기 위한 학습모델구조를 선정하는 모델 구조 선정단계와,
    학습모델의 성능에 영향을 줄 수 있는 패턴 분석 기준시간의 크기 및 학습모델에 존재하는 뉴런의 은닉출력 개수를 설정하는 시퀀스 길이 및 은닉출력 개수 설정단계를 포함하여 구성된 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
  7. 제 6항에 있어서,
    상기 모델 구조 선정단계에서는 시계열 데이터를 분석하여 정답을 예측하는 순환신경망(RNN)을 학습모델로 선정하고, 상기 순환신경망의 내부 셀로는 LSTMCell을 선정하는 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
  8. 제 1항에 있어서,
    상기 학습단계는,
    학습모델 설계단계에서 설계된 학습모델을 이용하여 머신러닝 학습을 수행할 때 사용하는 목적함수와 최적화기를 결정하는 목적함수 및 최적화기 결정단계와,
    상기 학습모델에 입력될 최종 학습 데이터를 생성하여 머신러닝 학습을 수행하는 최종 학습 데이터 생성단계를 포함하여 구성된 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
  9. 제 8항에 있어서,
    상기 최종 학습 데이터 생성단계는,
    머신러닝 학습을 수행하는 과정에서 편향된 학습이 이루어지지 않도록 학습모델에 입력될 학습 데이터를 균등화하는 데이터 밸런싱 단계와,
    균등화된 학습 데이터를 결합시키는 데이터 결합단계 및
    결합된 데이터들을 섞어 혼합시키는 데이터 셔플링 단계를 포함하여 구성된 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
  10. 제 1항에 있어서,
    상기 학습모델 평가단계는,
    학습단계에서 수행된 머신러닝 학습의 수행 결과에 대한 정확도를 측정하여 최적 학습모델을 선정하는 최적 학습모델 선정단계와,
    선정된 최적 학습모델을 저장하는 최적 학습모델 저장단계를 포함하여 구성된 것을 특징으로 하는 머신러닝을 이용한 배터리 진단 방법.
KR1020190093576A 2019-07-31 2019-07-31 머신러닝을 이용한 배터리 진단 방법 KR102238248B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190093576A KR102238248B1 (ko) 2019-07-31 2019-07-31 머신러닝을 이용한 배터리 진단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190093576A KR102238248B1 (ko) 2019-07-31 2019-07-31 머신러닝을 이용한 배터리 진단 방법

Publications (3)

Publication Number Publication Date
KR20210016154A KR20210016154A (ko) 2021-02-15
KR102238248B1 true KR102238248B1 (ko) 2021-04-12
KR102238248B9 KR102238248B9 (ko) 2022-01-17

Family

ID=74560556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190093576A KR102238248B1 (ko) 2019-07-31 2019-07-31 머신러닝을 이용한 배터리 진단 방법

Country Status (1)

Country Link
KR (1) KR102238248B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240083312A (ko) 2022-12-05 2024-06-12 현대자동차주식회사 건식 전극 혼합물의 진단시스템

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102620444B1 (ko) * 2021-03-04 2024-01-03 한국에너지기술연구원 배터리 상태 추정 장치 및 배터리 상태 추정 모델 학습 장치
KR102573964B1 (ko) * 2021-03-15 2023-09-01 금오공과대학교 산학협력단 배터리 soh 예측 장치 및 방법
JP2024509525A (ja) * 2021-06-18 2024-03-04 エルジー・ケム・リミテッド 二次電池の低電圧不良予測装置および方法、並びにその装置を含む電池制御システム
KR20230020280A (ko) * 2021-08-03 2023-02-10 주식회사 엘지에너지솔루션 배터리 검사 장치 및 배터리 검사 시스템
KR20230057894A (ko) * 2021-10-22 2023-05-02 주식회사 엘지에너지솔루션 배터리 팩 내의 이상 징후 셀 검출 장치 및 방법
KR102636122B1 (ko) * 2021-10-28 2024-02-14 콤비로 주식회사 딥러닝을 이용한 시장규모 예측 장치 및 그 방법
WO2023194833A1 (en) * 2022-04-08 2023-10-12 Ses Holdings Pte. Ltd. Methods of operating electrochemical storage devices based on anomaly clustering, and software and systems including same
CN114742297B (zh) * 2022-04-11 2024-05-24 中国第一汽车股份有限公司 动力电池的处理方法
KR20240088379A (ko) * 2022-12-13 2024-06-20 주식회사 엘지에너지솔루션 전지 모듈의 충격 해석 모델을 학습하는 방법 및 전지 모듈의 충격 해석 결과를 예측하는 방법
CN118195836A (zh) * 2024-05-14 2024-06-14 数安在线(北京)信息技术有限公司 基于机器学习的新能源汽车电能管理方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170212829A1 (en) * 2016-01-21 2017-07-27 American Software Safety Reliability Company Deep Learning Source Code Analyzer and Repairer
KR101992051B1 (ko) * 2018-03-19 2019-06-21 충북대학교 산학협력단 배터리 잔량 예측 방법 및 배터리 잔량 예측 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160541B1 (ko) * 2010-12-08 2012-06-27 주식회사티움리서치 전지 잔여용량 예측방법
KR20180055192A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 배터리 상태를 추정하는 방법 및 장치
KR101792975B1 (ko) 2017-04-25 2017-11-02 한국기술교육대학교 산학협력단 수치적 시뮬레이션 데이터 기반 배터리의 수명 상태 예측 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170212829A1 (en) * 2016-01-21 2017-07-27 American Software Safety Reliability Company Deep Learning Source Code Analyzer and Repairer
KR101992051B1 (ko) * 2018-03-19 2019-06-21 충북대학교 산학협력단 배터리 잔량 예측 방법 및 배터리 잔량 예측 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240083312A (ko) 2022-12-05 2024-06-12 현대자동차주식회사 건식 전극 혼합물의 진단시스템

Also Published As

Publication number Publication date
KR20210016154A (ko) 2021-02-15
KR102238248B9 (ko) 2022-01-17

Similar Documents

Publication Publication Date Title
KR102238248B1 (ko) 머신러닝을 이용한 배터리 진단 방법
Rauf et al. Machine learning in state of health and remaining useful life estimation: Theoretical and technological development in battery degradation modelling
KR102354112B1 (ko) 인공 지능에 기반하여 배터리의 상태를 추정하는 장치 및 방법
You et al. Real-time state-of-health estimation for electric vehicle batteries: A data-driven approach
US11226374B2 (en) Data-driven model for lithium-ion battery capacity fade and lifetime prediction
CN112036084B (zh) 一种相似产品寿命迁移筛选方法和***
Sainct et al. Efficient methodology for seismic fragility curves estimation by active learning on Support Vector Machines
Gong et al. State-of-health estimation of lithium-ion batteries based on improved long short-term memory algorithm
CN106503689A (zh) 基于粒子群算法的神经网络局部放电信号模式识别方法
CN106980877A (zh) 一种基于粒子群算法优化支持向量机的***振动预测方法
Wang et al. A method based on improved ant lion optimization and support vector regression for remaining useful life estimation of lithium‐ion batteries
CN109670196A (zh) 电池形成和循环程序的自动筛选和优化
CN109711707B (zh) 一种船舶动力装置综合状态评估方法
CN116401954A (zh) 一种锂电池循环寿命的预测方法、预测装置、设备及介质
Ardeshiri et al. Gated recurrent unit least-squares generative adversarial network for battery cycle life prediction
Thodi et al. Fourier neural operator for learning solutions to macroscopic traffic flow models: Application to the forward and inverse problems
CN112597687B (zh) 一种基于少样本学习的涡轮盘结构混合可靠性分析方法
Zhang et al. Online state of health estimation for lithium-ion batteries based on gene expression programming
Navidi et al. Physics-informed machine learning for battery degradation diagnostics: A comparison of state-of-the-art methods
Aliberti et al. Comparative Analysis of Neural Networks Techniques for Lithium-ion Battery SOH Estimation
Jiao et al. A methodology for state of health estimation of battery using short-time working condition aging data
Gaskell et al. Approximate Bayesian inference for individual-based models with emergent dynamics
Zequera et al. Data Science-based Techniques for Modelling and Diagnostics of Battery Cells Based on End-of-Life criteria
Kumarappa et al. Machine learning-based prediction of lithium-ion battery life cycle for capacity degradation modelling
Fang et al. Quantifying the influence of continuous and discrete design decisions using sensitivities

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction