[0001][0001] 본 발명의 실시예는 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템에 관한 것으로, 좀 더 구체적으로는 인공지능 기법 중 하나인 강화학습(Reinforcement learning) 알고리즘을 이용하여 열 유체 시스템을 정밀 제어하기 위해 현실세계에서의 강화학습 알고리즘을 수행하는 것과 더불어 학습시간을 단축시키기 위하여 현실세계에서 얻어진 데이터를 활용하여 디지털 트윈 환경에서의 가속화 강화학습을 병행할 수 있는 시스템에 관한 것이다.
[0002][0002] 인공신경망(ANN)의 활용은 사진이미지를 분류하는데 있어서 성공적으로 적용 가능함이 확인된 바 있으며, 이러한 기술의 발달은 비전인식, 음성인식, 패턴인식 등의 다양한 분야에 적용되고 있다.
[0003][0003] 또한, 기존의 기계적 요소들을 제어하기 위해 활용되었던 고전적인 PID 제어기법은 물리변수 상태에 따른 가치함수(Q-value)에 기반하여 비선형적인 상태에서도 제어가 가능한 심층강화학습(Deep Reinforcement Learning) 기법인 소위 DQN 기법으로 발전하고 있다.
[0004][0004] 지도학습 기술은 비전인식, 음성인식, 패턴인식 등이 기 확보된 라벨링(Labeling)된 빅데이터에 기반하여 인공신경망의 네트워크를 학습시키는 지도학습의 개념인데 반하여, 심층강화학습 기술은 미리 준비된 빅데이터 없이 해당 알고리즘 스스로가 환경(Environment)에 반응하여 최적의 가치(Q-value)를 찾아가면서 데이터를 쌓아가는 방식이다.
[0005][0005] 이러한 기술적인 특징에 기인하여 지도학습 및 강화학습은 각각의 장단점을 가지고 있는데, 지도학습 기술은 준비된 충분한 양의 데이터만 존재한다면 인공신경망을 빠르게 학습시킬 수 있는 반면에 스스로 의미 있는 데이터를 획득하지는 못한다. 그리고, 강화학습 기술은 스스로 환경에 대응하여 현재상태(present state, S)에서의 탐색(Exploitation) 및 탐험(Exploration)을 통해 반응(Action, A)하고 그 행동에 대한 가치를 판단하며 보상 및 벌점(Reward, R)을 받고, 다음상태(next state, S')로 전이하고 다음상태(next state, S')에서의 반응(Action, A')을 수행하는 SARS'A'(이하, SARSA) 알고리즘을 통하여 사전에 준비된 빅데이터 없이도 스스로 의미 있는 결과를 도출할 수 있다.
[0006][0006] 상술한 강화학습의 장점에도 불구하고 그 동안 현실세계에서의 강화학습 적용은 다소 제약적이기 때문에, 주로 아타리 게임, 알파고, 알파스타와 같이 컴퓨터 가상현실에서의 적용이 선행되었다. 이렇게 강화학습이 제약적인 이유는 현실세계에서는 통제된 환경을 구현하기에 외부교란 문제 등 어려움이 있을 수 있으며, 현실세계의 반응속도(Response time)등이 문제가 된다. 강화학습의 경우는 계산이 수렴하기 위하여 보통 백에서 만 단위 이상(100~10,000)의 에피소드(Episode)를 수행하게 되는데, 이러한 에피소드의 숫자는 현실세계에서 1년, 10년, 100년이 걸릴 수도 있는 상당한 시간이다.
[0007][0007] 이에 따라, 종래에는 현실세계에서의 에피소드 숫자를 줄이기 위하여 상태(State) 및 반응(Action) 노드의 개수를 최소화하고, 보상체계를 단순화 하는 등 문제를 가급적 단순화시켜 계산을 신속히 수렴시키는 방안이 연구되었다.
[0008][0008] 그러나, 열 유체 시스템(Thermo-fluid system)의 경우에는 기체 및 액체 등 매질의 열적 반응속도(Thermal response time)가 느려서 하나의 에피소드에서 조차 하나의 타임스텝(S→S')을 이동하는데 최소 수분에서 수십 분이 소요되므로, 이를 해결하여 의미 있는 강화학습을 수행할 수 있는 시스템 개발이 필요한 실정이다.
[0009][0009] 공개특허공보 제10-2020-0081066호(공개일자: 2020년07월07일) 등록특허공보 제10-2212390호(등록일자: 2021년01월29일)
[0010][0010] 본 발명의 실시예는, 현실세계에서의 현상을 가상세계에서 구현하는 디지털 트윈을 적용하여 현실세계의 열 유체 시스템에서 얻은 초기의 강화학습결과를 기초로 가상세계에서 빠르게 학습시킴으로써 열 유체 시스템에서의 의미 있는 강화학습 결과를 얻는 시간을 단축시킬 수 있는 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템을 제공한다.
[0011][0011] 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템은, 현실세계의 열 유체 시스템에 대한 강화학습을 수행하는 현실세계 강화학습 수행부; 상기 현실세계 강화학습 수행부를 통해 얻어진 초기 강화학습 수행결과로부터 현재상태를 나타내는 물리량 데이터를 각각 관측하고, 관측된 물리량 데이터를 기초로 가상세계의 강화학습진행에서 필요한 강화학습 데이터를 설정하고, 상기 강화학습 데이터에 포함된 구성요소들을 인덱스화하여 도메인을 생성하고, 생성된 도메인 상에서 현재상태와 다음상태의 구성요소 간을 매칭하여 리스트화된 강화학습 상태 데이터를 생성하여 공유하는 데이터 관리부; 현실세계 및 가상세계에서의 강화학습을 위하여 동일 구조의 인공신경망과 보상체계를 구성하고, 현실세계 및 가상세계 상호 간의 인공신경망 학습결과를 공유하여 디지털 트윈환경을 구성하는 인공신경망 설정부; 및 현실세계에서의 강화학습을 통해 상기 도메인 상에서 생성된 상기 리스트화된 강화학습 상태 데이터 및 상기 인공신경망 학습결과와, 상기 동일 구조의 인공신경망과 보상체계를 이용하여 현실세계에서 강화학습을 수행한 후, 디지털 트윈환경의 가상세계에서 강화학습을 최종 계산치에 수렴할 때까지 수행하되, 현실세계에서 열 유체 시스템의 열 응답 시간(Thermal Response Time)을 생략하여 가속화된 강화학습을 수행하는 가상세계 강화학습 수행부를 포함한다.
[0012][0012] 또한, 상기 물리량 데이터는, SARSA 알고리즘을 통해 관측되는 현재상태변수(S), 액션(A), 보상(R), 다음상태변수(S'), 다음액션(A')과, 시간변화율(ds/dt, ds'/dt)을 포함하고, 상기 현재상태변수(S)는, 열 유체 매질 또는 에너지원의 현재상태를 나타내는 물리량을 나타내고, 상기 다음상태변수(S')는, 열 유체 매질 또는 에너지원의 다음상태를 나타내는 물리량을 나타내고, 상기 액션(A)과 상기 다음액션(A')은, 열 유체 시스템의 독립적 기계요소에 대한 운전출력의 증감수치(±dcom1, ±dcom2, ±dcom3, ..., ±dcom(n_out))로 정의되어, 상기 현재상태변수(S)에서 상기 다음상태변수(S')로 이동 시 상기 독립적인 기계요소에 대한 운전출력의 특정 값으로의 점진적인 변화를 나타내고, 상기 시간변화율(ds/dt, ds'/dt)은, 상기 물리량 중 일부에 대한 시간에 따른 증감수치를 나타낼 수 있다.
[0013][0013] 또한, 상기 인공신경망 설정부는, 현실세계 및 가상세계의 강화학습진행을 위한 인공신경망의 입력노드 및 출력노드에 대하여 상기 현재상태변수(S) 및 액션(A)을 각각 설정하고, 상기 입력노드에 대한 상기 강화학습 데이터는, 상기 현재상태변수(S)에 대한 물리량(s1, s2, ... s(n_in))과 상기 현재상태변수(S)에 대한 물리량의 시간변화율(ds1/dt, ..., ds(m_in)/dt)을 포함하고, 상기 출력노드에 대한 상기 강화학습 데이터는, 상기 액션(A)과 관련된 기계요소의 운전출력에 대한 증감수치(±dcom1, ±dcom2, ±dcom3, ..., ±dcom(n_out))를 포함할 수 있다.
[0014][0014] 또한, 상기 인공신경망 설정부는, 상기 SARSA 알고리즘 진행 시 다음상태변수(S')로의 전이를 위한 액션(A)의 선택 시 액션(A)과 관련된 기계요소의 운전출력에 대한 증감수치 중 증가분(+dcom) 또는 감소분(-dcom)을 선택하고, 상기 입력노드에서 시간변화율(ds1/dt, ..., ds(m_in)/dt)과 관련된 상태변수의 개수(m_in)는 시간변화율(ds1/dt, ..., ds(m_in)/dt)을 제외한 상태변수(s1, s2, ... s(n_in))의 개수(n_in)보다 같거나 작도록 설정하고, 상기 출력노드의 개수는 열 유체 시스템의 작동과 관련된 독립적 기계요소 개수(n_out)에서 양과 음의 변화율을 고려하여 2배(2xn_out)의 개수를 갖도록 설정할 수 있다.
[0015][0015] 또한, 상기 운전출력의 증감수치와 상기 운전출력의 특정 값은, 열 유체 시스템의 기계요소에 대한 변위(q_i) 및 변위의 증감(±dq_i) 또는 속도(w_i) 및 속도의 증감(±dw_i)을 포함할 수 있다.
[0016][0016] 또한, 상기 데이터 관리부는, 상기 현재상태변수(S)에서의 운전점(com1, com2, com3, ..., com(nout))에 대하여 도메인 상에서 인덱스(num1, num2, ..., num(nout))를 생성하되, 현재 운전점에서의 액션(A) 선택에 대해 N회 반복 측정을 통한 인덱스를 각각 추가하여 총 'nout + 2' 차원의 조합 배열(nout개의 컴포넌트 차원과 액션(A)에 대한 1차원과, N회 반복정보에 대한 1차원의 조합 배열)의 강화학습 상태 데이터에 대한 리스트를 생성하여 저장할 수 있다.
[0017][0017] 또한, 상기 데이터 관리부는, 상기 N회 반복 측정을 통해 도메인 상의 모든 포인트에서 적어도 한 번 이상의 강화학습 상태 데이터가 생성되면, 상기 강화학습 상태 데이터에 대하여 상기 N번의 데이터 평균을 산출하여 모든 운전점 조합([num1][num2], ..., [num(nout)])에 액션선택 조합[2*nout]을 고려한 'nout + 1' 차원의 조합 배열에 평균화된 강화학습 상태 데이터 리스트를 매칭하여 상기 가상세계 강화학습 수행부로 제공할 수 있다.
[0018][0018] 또한, 상기 가상세계 강화학습 수행부는, 상기 액션(A)에 따른 상기 현재상태변수(S)에서 상기 다음상태변수(S')로 타임스텝을 진행하되, 가상세계의 강화학습 알고리즘이 수행할 수 있는 가장 빠른 타임스텝으로 가속하여 강화학습을 수행할 수 있다.
[0019][0019] 또한, 상기 데이터 관리부는, 상기 N이 100이상인 경우 상기 평균화된 강화학습 상태 데이터 리스트의 매칭 대신, 각 상태변수들에 대한 확률적 분포로서 각 상태변수 값에 대한 리스트를 매칭하여 상기 가상세계 강화학습 수행부로 제공할 수 있다.
[0020][0020] 또한, 상기 데이터 관리부는, 현실세계의 강화학습을 통해 도메인 상의 모든 포인트 조합에 대하여 상기 N회 이상의 강화학습 상태 데이터에 대한 리스트 획득 대신, 루프문을 통해 도메인 상의 모든 인덱스 조합에서의 강화학습 상태 데이터에 대한 리스트를 일괄적으로 자동 생성할 수 있다.
[0021][0021] 또한, 상기 데이터 관리부는, 상기 액션(A)에 따른 상기 현재상태변수(S)에서 상기 다음상태변수(S')로 타임스텝을 진행하는 경우, 상기 다음상태변수(S')에 대한 시간변화율(ds'/dt)과 관계없는 물리량이 측정오차 이외에 시간종속적인 변화가 없을 때까지의 안정화 시간(T steady )을 기준으로 50% 내지 100% 사이 중 어느 특정 퍼센트의 시간 값으로 타임스텝의 간격을 설정(50%~100% of T steady )하고, 설정된 타임스텝의 간격에 대한 데이터를 기록할 수 있다.
[0022][0022] 또한, 상기 가상세계 강화학습 수행부는, 가상세계에서 강화학습이 완료되면, 인공신경망에 가중치 및 편향값을 포함하는 학습 결과를 저장한 후, 상기 현실세계 강화학습 수행부로 제공하고, 상기 현실세계 강화학습 수행부는, 업데이트된 현실세계의 물리량 데이터를 기초로 추가적인 강화학습을 수행하고, 상기 현실세계 강화학습 수행부와 상기 가상세계 강화학습 수행부는, 현실세계와 가상세계의 강화학습을 교번적으로 반복 수행할 수 있다.
[0023][0023] 본 발명에 따르면, 현실세계에서의 강화학습 초기단계에서 얻어지는 데이터 (현실세계에서의 열 유체 시스템이 가질 수 있는 컴포넌트의 운전값(com(i))들과 액션 값들의 조합에 대하여 강화학습에 필요한 데이터(S t , A t , R t , S t+ 1 )가 매칭된 데이터)를 가상세계에서 활용하여 강화학습을 수행함으로써 열응답시간(Thermal Response Time)을 기다릴 필요 없이 최대한 짧은 타임스텝으로 가속화된 강화학습을 수행할 수 있다.
[0024][0024] 또한, 가상세계에서 수렴된 최종 계산치(인공신경망의 네트워크 값, 가중치 및 편향값)를 이용하여 현실세계에서의 열 유체 시스템 컴포넌트를 제어함으로써, 비선형적인 제어 조건에서도 정밀하게 제어할 수 있는 강화학습의 장점을 취하고, 현실세계에서의 응답 시간으로 인하여 장시간이 걸리는 단점을 극복할 수 있다.
[0025][0025] 이에 따라, 열 유체의 매질을 이용하고 전기, 가스, 석유, 석탄, 원자력, 신재생에너지 등의 에너지원을 사용하여 냉/난방하거나 열 교환 및 공급하기 위한 열 유체 시스템(Thermo-fluid system)에 있어서, 열 유체 시스템을 구성하고 있는 각 기계요소 컴포넌트들을 최적 제어하고, 현실적인 시간 내에 강화학습이 이루질 수 있다.
[0026][0026] 도 1은 본 발명의 실시예에 따른 가속화 강화학습 수행 시스템에 적용된 디지털 트윈의 구성을 나타낸 도면이다. 도 2는 본 발명의 실시예에 따른 현실세계와 가상세계에서의 강화학습에 대한 연계 구성을 나타낸 도면이다. 도 3은 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템의 세부 구성을 나타낸 블록도이다. 도 4는 본 발명의 실시예에 따른 강화학습을 구현하기 위한 인공신경망을 설명하기 위해 나타낸 도면이다. 도 5는 본 발명의 실시예에 따른 열 유체 시스템의 기계요소와 액션에 대한 도메인을 나타낸 도면이다. 도 6은 본 발명의 실시예에 따른 보상체계(상점, 벌점, 리셋)의 영역에 따라 강화학습 시 운전되는 컴포넌트의 운전점 영역을 나타낸 도면이다. 도 7은 본 발명의 실시예에 따른 보상체계(상점, 벌점, 리셋)를 설명하기 위해 나타낸 도면이다. 도 8은 본 발명의 실시예에 따른 현실세계에서 강화학습으로 얻은 특정 도메인에서의 상태변수 측정 저장 값에 대한 예시를 나타낸 도면이다. 도 9는 본 발명의 실시예에 따른 도 6에 도시된 도메인 내 모든 인덱스 조합에 대한 강화학습에 필요한 상태 데이터 리스트(상태변수 리스트)를 자동으로 획득하기 위한 루프문을 나타낸 도면이다. 도 10은 본 발명의 실시예에 따른 현실세계에서의 타임스텝을 결정하는 방법을 예시적으로 나타낸 도면이다. 도 11은 본 발명의 실시예에 따른 열 유체 시스템의 기계요소 컴포넌트 및 액션에 대한 도메인 상에서 현실세계의 강화학습 수행 시 나타나는 패턴을 예시적으로 도시한 그래프이다. 도 12는 본 발명의 실시예에 따른 가상세계의 강화학습 없이 현실세계에서 강화학습을 계속해서 수행할 때 나타나는 패턴을 예시적으로 도시한 그래프이다. 도 13은 본 발명의 실시예에 따른 가상세계의 강화학습 후 현실세계에서 강화학습을 계속해서 수행할 때 나타나는 패턴을 예시적으로 도시한 그래프이다. 도 14는 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 방법을 나타낸 흐름도이다.
[0027][0027] 본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
[0028][0028] 본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
[0029][0029] 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
[0030][0030] 아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
[0031][0031] 우선, 본 발명의 실시에에 따른 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 구성에 대한 설명에 앞서, 본 실시예를 이해하기 위한 구성 개념에 대하여 먼저 설명한다.
[0032][0032] 도 1은 본 발명의 실시예에 따른 가속화 강화학습 수행 시스템에 적용된 디지털 트윈의 구성을 나타낸 도면이다.
[0033][0033] 도 1을 참조하면, 현실세계에서의 열 유체 시스템은 여러 기계요소 컴포넌트로 구성되어 있으며, 가속화 강화학습 수행 시스템(1000)은 현실세계에서 열 유체 시스템의 기계요소 컴포넌트를 제어할 수 있고, 열 유체 시스템의 컴포넌트, 및 열 유체 시스템 또는 주변환경에 대한 상태변수를 관측하고 할 수 있다. 또한, 가속화 강화학습 수행 시스템(1000)은 강화학습 알고리즘 또는 강제적인 루프문에 의하여 열 유체 시스템의 기계요소 컴포넌트를 제어할 수 있으며, 강화학습 알고리즘이 진행되면서 관측된 데이터(컴포넌트 운전정보 및 상태변수 정보)를 바탕으로 가상세계를 구성할 수 있다.
[0034][0034] 이러한 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템(1000)은, 열 유체의 매질을 이용하고 전기, 가스, 석유, 석탄, 원자력, 신재생에너지 등의 에너지원을 사용하여 냉/난방 하거나 열 교환 및 공급하기 위한 열 유체 시스템(Thermo-fluid system)을 구성하는 각종 기계요소 컴포넌트들을 주어진 보상체계에 의하여 강화학습시키고, 현실세계에서의 강화학습의 속도를 가속화하기 위해 기계요소 컴포넌트들이 동작하는 도메인 상의 모든 포인트 조합에서 최소한 한 번 이상(N)의 데이터가 얻어지면, 해당 데이터를 활용하여 현실세계에서의 학습이 아닌 가상세계에서의 알고리즘으로 가속화하여 강화학습을 수행할 수 있다.
[0035][0035] 도 2는 본 발명의 실시예에 따른 현실세계와 가상세계에서의 강화학습에 대한 연계 구성을 나타낸 도면이다.
[0036][0036] 도 2에 도시된 바와 같이, 현실세계에서의 강화학습과 가상세계에서의 강화학습이 연동되는 강화학습 알고리즘 측면에서 디지털 트윈을 구성하고, 일반적인 강화학습은 현실세계 또는 가상세계 개별환경에서 독립적으로 구현된다. 가상세계에서의 강화학습은 알파고와 알파스타와 같이 현실세계에서의 측정이나 관측 없이 순수하게 컴퓨터 내부의 데이터로만 진행되는 반면, 현실세계에서의 강화학습은 현실에 존재하는 실체를 대상으로 관측하고 학습하며 제어한다. 특히, 현실의 열 유체 시스템에서의 강화학습은 열적 응답 시간(Thermal Response Time)이 존재하는 관계로 하나의 상태(S t )에서 액션을 취하고(A t ), 다음상태(S t+1 )로 안정화되기까지 타임스텝 시간(Dt)이 수분에서 수시간까지 걸릴 수 있다.
[0037][0037] 강화학습은 현실세계에서의 강화학습이든, 가상세계에서의 가상학습이든 주어진 보상체계 및 알고리즘 하에서 에피소드 단위로 진행되는데, 복잡한 보상체계를 가지고 있고, 상태변수의 개수가 많고, 복잡한 문제일수록, 보통 수 백에서 수만 에피소드 이후에 수렴하는 것이 특징이며, 하나의 에피소드가 여러 개의 타임스텝으로 구성됨을 고려할 때, 현실의 열 유체 시스템의 경우에는 모든 에피소드를 종료하고 수렴하기까지 수주에서 수개월 족히 걸리는 경우가 일반적이다.
[0038][0038] 따라서, 도 2에서와 같이 현실 세계에서의 열 유체 시스템이 가질 수 있는 컴포넌트의 운전값(com(i))들과 액션 값들의 조합에 대하여 '(S t , A t , R t , S t+1 )' 값들이 매칭된 데이터를 획득한다면, 최종 수렴하기 전까지 계속하여 현실세계에서의 강화학습을 수행할 필요 없이 확보된 매칭 데이터를 바탕으로 컴퓨터에서 최대한 짧은 타임스텝으로 가속화된 강화학습을 수행하여 빠르게 수렴시킬 수 있다. 가상세계에서의 강화학습에서는 매칭된 컴포넌트의 값(com(i))들과 액션 값들의 조합을 활용하여 진행되며, 진행되는 강화학습 알고리즘은 동일하지만, 가상세계에서는 열적 응답 시간(Thermal Response Time)의 고려 없이 컴퓨터 장치가 구현할 수 있는 최대의 빠른 속도로 계산될 수 있다.
[0039][0039] 이하에서는 첨부된 도면을 참조하여 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템에 대하여 보다 상세히 설명한다.
[0040][0040] 도 3은 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템의 세부 구성을 나타낸 블록도이고, 도 4는 본 발명의 실시예에 따른 강화학습을 구현하기 위한 인공신경망을 설명하기 위해 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 열 유체 시스템의 기계요소와 액션에 대한 도메인을 나타낸 도면이고, 도 6은 본 발명의 실시예에 따른 보상체계(상점, 벌점, 리셋)의 영역에 따라 강화학습 시 운전되는 컴포넌트의 운전점 영역을 나타낸 도면이고, 도 7은 본 발명의 실시예에 따른 보상체계(상점, 벌점, 리셋)를 설명하기 위해 나타낸 도면이고, 도 8은 본 발명의 실시예에 따른 현실세계에서 강화학습으로 얻은 특정 도메인에서의 상태변수 측정 저장 값에 대한 예시를 나타낸 도면이고, 도 9는 본 발명의 실시예에 따른 도 6에 도시된 도메인 내 모든 인덱스 조합에 대한 강화학습에 필요한 상태 데이터 리스트(상태변수 리스트)를 자동으로 획득하기 위한 루프문을 나타낸 도면이며, 도 10은 본 발명의 실시예에 따른 현실세계에서의 타임스텝을 결정하는 방법을 예시적으로 나타낸 도면이다.
[0041][0041] 도 3을 참조하면, 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템(1000)은, 현실세계의 열 유체 시스템에 대한 최적 제어를 위해 현실세계와 디지털 트윈 환경을 이루는 가상세계에서 가속화된 강화학습을 수행하는 시스템으로, 현실세계 강화학습 수행부(100), 인공신경망 설정부(300) 데이터 관리부(200), 인공신경망 설정부(300) 및 가상세계 강화학습 수행부(400) 중 적어도 하나를 포함할 수 있다.
[0042][0042] 상기 현실세계 강화학습 수행부(100)는, 현실세계의 열 유체 시스템에 대한 강화학습을 수행하며, 미리 정해진 강화학습의 초기단계를 수행한 후 얻어진 데이터들을 데이터 관리부(200)로 제공할 수 있다. 이러한 현실세계 강화학습 수행부(100)는 후술하는 가상세계 강화학습 수행부(400)에서 필요로 하는 최소한의 현실세계에서의 데이터를 데이터 관리부(200)를 통해 공유하며, 최소한의 현실세계의 데이터를 기로초 연이어서 가상세계에서의 강화학습을 빠르게 수행할 수 있다. 가상세계에서의 강화학습이 완료되면 해당 학습 결과와 현실세계에서 업데이트된 상태 데이터를 기초로 추가적인 강화학습을 수행할 수 있다. 즉, 현실세계 강화학습 수행부(100)와 가상세계 강화학습 수행부(400)는, 현실세계에서의 강화학습 상태 데이터가 미리 설정된 양(데이터의 양)만큼 누적되면, 현실세계와 가상세계의 강화학습을 교번적으로 반복 수행할 수 있다. 이때, 현실세계와 가상세계와의 강화학습을 교번적으로 반복 수행할 시, 인공신경망 설정부(300)는 동일한 구조의 인경신경망을 공유하고, 인공신경망의 신경망 결과값(각 노드 네트워크들의 신경망 가중치와 편향값)을 공유할 수 있다.
[0043][0043] 상기 데이터 관리부(200)는, 현실세계 강화학습 수행부(100)를 통해 얻어진 초기 강화학습 수행결과(현실세계에서 수행되는 강화학습 중 미리 정해진 초기단계로부터 얻어진 데이터)로부터 현재상태를 나타내는 물리량 데이터를 각각 관측하고, 관측된 물리량 데이터를 기초로 가상세계의 강화학습진행에서 필요한 강화학습 데이터를 설정할 수 있다.
[0044][0044] 상기 물리량 데이터는, SARSA 알고리즘을 통해 관측되는 현재상태변수(S), 액션(A), 보상(R), 다음상태변수(S'), 다음액션(A')과, 시간변화율(ds/dt, ds'/dt)을 포함할 수 있다. 여기서, 현재상태변수(S)는, 열 유체 매질 또는 에너지원의 현재상태를 나타내는 물리량을 나타내고, 다음상태변수(S')는, 열 유체 매질 또는 에너지원의 다음상태를 나타내는 물리량을 나타낼 수 있다. 여기서, 물리량은 열 유체 시스템에서 측정된 온도, 습도, 공기청정도, 유속, 압력, 제품능력, 제품출력, 에너지사용량, 혹은 독립적인 물리량이 조합된 물리량 등을 포함할 수 있다.
[0045][0045] 상기 액션(A)과 다음액션(A')은, 열 유체 시스템의 독립적 기계요소에 대한 운전출력의 증감수치(±dcom1, ±dcom2, ±dcom3, ..., ±dcom(n_out))로 정의되어, 현재상태변수(S)에서 다음상태변수(S')로 이동 시 독립적인 기계요소에 대한 운전출력의 특정 값으로의 점진적인 변화를 나타낼 수 있다. 여기서, 액션(A)과 다음액션(A')은, 열 유체 시스템의 독립적 기계요소의 운전출력 특정값 (com1, com2, com3, ..., com(n_out))이 아닌 운전출력의 증감(±dcom1, ±dcom2, ±dcom3, ..., ±dcom(n_out)) 만으로 정의되며, 액션 및 다음액션(±dcom1', ±dcom2', ±dcom3', ..., ±dcom(n_out)')을 포함하여 상태변수(S)에서 다음상태 변수(S')로 이동할 때 독립적인 기계요소의 운전출력의 특정 값으로의 갑작스런 변화가 아닌 점진적인 변화만을 포함할 수 있다.
[0046][0046] 상기 시간변화율(ds/dt, ds'/dt)은, 상술한 물리량(온도, 습도, 공기청정도, 유속, 압력, 제품능력, 제품출력, 에너지사용량, 혹은 독립적인 물리량) 중 일부에 대한 시간에 따른 증감수치를 나타내며, 운전출력의 증감수치와 운전출력의 특정 값은, 열 유체 시스템의 기계요소에 대한 변위(q_i) 및 변위의 증감(±dq_i) 또는 속도(w_i) 및 속도의 증감(±dw_i)을 포함할 수 있다.
[0047][0047] 상기 데이터 관리부(200)는, 강화학습 데이터에 포함된 구성요소들을 인덱스화하여 도메인을 생성하고, 생성된 도메인 상에서 현재상태와 다음상태의 구성요소 간을 매칭하여 리스트화된 강화학습 상태 데이터를 생성할 수 있다.
[0048][0048] 좀 더 구체적으로, 현재상태변수(S)에서의 기계요소 별 운전점(com1, com2, com3, ..., com(nout))에 대하여 도메인 상에서 인덱스(num1, num2, ..., num(nout))를 생성하되, 현재 운전점에서의 액션(A) 선택에 대해 N회 반복 측정을 통한 인덱스를 각각 추가하여 총 'nout + 2' 차원 즉, nout 개의 컴포넌트 차원과 액션(A)에 대한 1차원과, N회 반복정보에 대한 1차원의 조합 배열의 강화학습 상태 데이터에 대한 리스트를 생성하여 저장할 수 있다. 현실세계에서의 강화학습은 주어진 강화학습 보상체계 및 알고리즘 상 접근 가능한 모든 기계요소 컴포넌트의 현재상태(S)에서의 운전점(com1, com2, com3, ..., com(nout))에 대해 인덱스화(num1, num2, ..., num(nout))를 수행하여 현재 컴포넌트 운전점에서 다음 액션(운전출력의 증감)을 선택하는 경우, 해당 선택(경우의 수 = 2*nout)에 대한 인덱스를 추가하고, 상술한 'N'에 대한 인덱스를 추가함으로써 총 'nout + 2' 차원의 조합 배열에서의 현재 상태변수의 리스트(즉, y[num1][num2]...[num(nout)][2*nout][N] = [s1, s2, ..., s(n_in), ds1/dt, ..., ds(m_in)/dt]))를 저장할 수 있다. 만약, 현실세계에서 측정오차 없이 반복되는 'N'에 대하여 동일한 상태변수를 생성하는 경우 'N'에 대한 하나의 차원을 생략해도 무방하나, 보통 'N'번을 반복함에 따라 상태변수의 각 원소들은 평균과 편차를 갖는 특정 분포에 따르게 된다.
[0049][0049] 또한, 'N'회 반복 측정을 통해 도메인 상의 모든 포인트에서 적어도 한 번 이상의 강화학습 상태 데이터가 생성되면, 강화학습 상태 데이터에 대하여 'N'번의 데이터 값에 대한 평균을 산출하여 모든 운전점 조합([num1][num2], ..., [num(nout)])에 액션선택 조합[2*nout]을 고려한 'nout + 1' 차원의 조합 배열에 대하여 평균화된 강화학습 상태 데이터 리스트를 매칭하여 가상세계 강화학습 수행부(400)로 제공할 수 있다.
[0050][0050] 좀 더 구체적으로, 현실세계에서 강화학습 수행 시 기계요소 컴포넌트들이 동작하는 포인트 및 액션(Action)의 모든 조합의 도메인(Domain) 상의 모든 포인트에서 적어도 한 번 이상(N)의 데이터를 얻게 되면, N번의 데이터 평균을 내어 모든 컴포넌트 운전점 조합([num1][num2], ..., [num(nout)])에 액션선택 조합[2*nout]을 고려한 'nout + 1' 차원의 조합 배열에 평균된 상태변수 리스트를 매칭하고, 그 이후에 현실세계에서의 강화학습이 아닌 가상세계에서의 강화학습을 수행하도록 평균화된 해당 상태변수 리스트를 가상세계 강화학습 수행부(400)로 제공할 수 있다. 이때, 가상세계에서의 강화학습은 현실세계에서의 타임스텝 대신 컴퓨터 프로그램이 수행할 수 있는 가장 빠른 타임스텝으로 가속화하여 진행할 수 있으며, 평균된 상태변수 리스트를 매칭하는 대신에 'N' 값이 '100' 이상이면 각 상태변수에 대한 확률적 분포로서 상태변수 값의 리스트를 매칭할 수도 있다.
[0051][0051] 도 5에서는 현실 세계에서의 열 유체 시스템이 가질 수 있는 컴포넌트(com(i))의 값들과 액션 값들의 조합에 대하여 인덱스화하여 다음 상태변수(S t+1 )의 리스트와 매칭하는 개념을 도시하고 있다. 발명의 이해를 돕기 위하여, 이하 2개의 기계요소(component 1, component 2) 를 가지는 열 유체 시스템에 대하여 설명한다. 2개의 기계요소는 각각 num1, num2 의 제어 인덱스를 가지고 있다. 도 5에 도시된 바와 같이, 'component 1'은 5개(num1 = 0, 1, 2, 3, 4), 'component 2'는 6개(num2 = 0, 1, 2, 3, 4, 5)의 제어 포인트를 가지고 있다. 기계요소의 제어포인트는 상술한 바와 같이 %출력(0~100% 사이 값), 변위, 속도 일 수 있으며, 제어포인트가 많아 질수록 'num1' 및 'num2'의 인덱스 개수는 많아질 수 있으며, 매우 많은 조합이 발생할 수 있다(단, 도 6에 도시된 바와 같이 보통 제한적인 영역에서 학습함). 컴포넌트들에 대한 조합뿐만 아니라, 액션(A t )의 선택에 있어서도 다음 상태(S t+1 )의 원소[s1', s2', ..., ds(m_in)'/dt]들이 달라질 수 있으며, 이는 열적 응답 시간(Thermal Response Time)이 존재하여 다음 물리량(s'(i))이 아직 안정화 되기 전 이거나, 시간 변화율을 나타내는 원소(ds'(i)/dt)가 있기 때문이거나, 상태 이동경로(path)에 의존적이기 때문이다. 따라서, 컴포넌트 개수가 'nout'개라면, 액션의 1차원을 고려하여, 'nout +1' 차원에서의 조합 배열을 고려할 수 있다. 도 5에 도시된 경우, 총 5 * 6* (2*nout) = 5*6*4 = 120개의 도메인(Domain) 포인트 조합을 나타내고 있다. 각각의 조합 포인트에서 다음 상태변수(S t+1 )에 대한 리스트[s1', s2', ..., ds(m_in)'/dt]를 저장하게 되면, 그 이후에는 현실세계에서의 강화학습 없이도 가상세계에서 '(S t , A t )→ (S t +1 )'의 전이상태를 알 수 있다.
[0052][0052] 도 6은 강화학습에서 정의되는 보상체계(상점, 벌점, 리셋)에 의해 실제 작동되는 영역을 예시적으로 도시한 것으로, 강화학습 수행 시 하나의 에피소드는 보통 상태변수의 조건문으로 판단하여 미리 정하여진 보상체계 범위를 벗어나면 벌점을 받고, 다음 에피소드로 넘어가는 구조이다. 따라서, 모든 도메인 포인트 조합에 대하여 상태변수 리스트에 대한 데이터를 얻을 필요 없이 보상영역 내(에피소드 작동영역)에서의 데이터만 확보하면 가상세계에서의 가속화 학습이 가능하다.
[0053][0053] 도 7은 강화학습에서 정의되는 보상체계를 예시적으로 도시한 것으로, '상점영역'과 '벌점 및 에피소드 리셋' 영역으로 구분되며, 상점영역은 액션(A t ) 후 변화된 다음상태변수(S t+1 ) 원소들의 일부에 대한 '(s'(i), ds'(i)/dt)' 및/또는 그 원소들의 함수 'f(s'(i), ds'(i)/dt)'의 제약식으로 표현될 수 있다. 이때, 제약식은 상한치 및 하한치를 가지고 표현되며, 상한치 혹은 하한치 중 어느 하나만 갖도록 설계될 수도 있다.
[0054][0054] 도 8에는 도 6의 보상체계에 의한 작동영역 내에서 도메인 포인트 조합에 대한 상태변수 데이터를 저장 방법을 도시하고 있다. 현실세계에서의 측정 방법과 마찬가지로, 측정 오차에 의하여 여러 번(N번)의 도메인 조합 포인트에서 반복 측정이 필요할 수 있으며, 이러한 경우, 반복 'N'회에 대한 인덱스를 추가하여 총 'nout+2' 차원(컴포넌트 수 nout, 액션선택 1, N반복 1)의 조합 배열에서 다음상태변수(S t+1 )의 리스트를 저장할 수 있다. 만약, 현실세계에서 측정오차 없이 반복 'N'에 대하여 동일한 상태변수를 생성한다면 'N'에 대한 하나의 차원을 생략해도 되지만, 보통은 'N'번 반복함에 따라 상태변수의 각 원소들이 평균과 편차를 갖는 특정 분포를 따르게 된다.
[0055][0055] 도 8의 (a)에 도시된 바와 같이, 다음상태변수가 '[s1', s2', ds2'/dt]'의 3개로서, 상태를 나타내는 물리량 s1', s2'과 하나의 물리량의 시간변화율 ds2'/dt 로 구성될 수 있는데, 도 8의 (a)의 첫 번째 테이블에서는 현재의 상태 (S= [s1, s2, ds2/dt])에서, 컴포넌트(com1, com2)의 운전점(인덱스)이 각각 '1'과 '3' 이며, 4개의 선택가능 한 액션 중 인덱스가 3인 액션(-dcom2)을 선택하고, 현실세계에서의 열적 응답 시간(Thermal Response Time)을 고려하여 설정한 타임간격(Dt)을 기다린 후, 다음 상태변수[s1', s2', ds2'/dt]를 측정한 후 저장할 있다. 첫 번째 테이블(a)에서 측정된 반복회수(N)는 '3'이며, 각각의 측정값은 [-0.02, 2,898, 0.016], [-0.016, 2.911, 0.016], [-0.022, 2.877, 0.014]이다.
[0056][0056] 도 8의 (b)에 도시된 바와 같이 현재의 상태(S= [s1, s2, ds2/dt])에서, 컴포넌트 (com1, com2)의 운전점(인덱스)이 각각 '4'과 '2'이며, 4개의 선택가능 한 액션 중 인덱스 '0'인 액션(+dcom1)을 선택하고, 현실세계에서의 열적 응답 시간(Thermal Response Time)을 고려하여 설정한 타임간격(Dt)을 기다린 후, 다음상태변수 [s1', s2', ds2'/dt]를 측정하고 저장할 수 있다. 도 8의 (b)에서 측정된 반복회수(N)는 '5'이며, 각각의 측정값은 [0.002, 2,898, -0.016], [0.001, 2.911, -0.016], [-0.002, 2.877, -0.014], [-0.002, 2.877, -0.014], [0.002, 2.902, -0.015]이다.
[0057][0057] 도 6에 도시된 실제 작동영역 내의 컴포넌트 각 운전점 조합에서 최소한 한번 이상(N=1)의 현실세계 데이터가 얻어지면, 가상세계에서의 강화학습 알고리즘이 작동하는데 무리가 없으나, 현실세계에서의 측정 데이터에 대한 오차가 존재하는 경우, 여러 번을 측정하고 측정된 값들에 대한 평균을 산출하여 적용할 수 있다. 도 8의 (a) 및 (b)에서, 다음상태변수의 평균 값은 각각 [-0.019, 2.895, 0.015], [0.000, 2.893, -0.015]이며, 충분히 반복 데이터가 쌓여(ex. N ₃ 100) 특정 분포의 형태를 띈다면 확률적으로 랜덤하게 다음상태변수를 부여하는 것도 가능하다.
[0058][0058] 상기 데이터 관리부(200)는, 현실세계의 강화학습을 통해 도메인 상의 모든 포인트 조합에 대한 강화학습 상태 데이터에 대한 리스트를 획득 하는 대신에, 강제적으로 루프문(loop statement)을 통해 도메인 상의 모든 인덱스 조합에서의 상태 데이터에 대한 리스트를 자동 생성할 수도 있다.
[0059][0059] 좀 더 구체적으로, 현실세계 강화학습을 통한 도메인상의 모든 포인트 조합에 대하여 상태변수 리스트를 얻는 경우, '탐험'보다는 '탐색' 과정에 치우쳐 특정 포인트 조합에 대하여만 'N'개의 데이터가 생성되는 것을 방지하기 위해 애초에 현실세계에서의 강화학습을 수행하는 것 대신, 현실세계에서의 타임스텝을 적용하여 도메인에서의 모든 인덱스 조합에서의 상태변수 리스트를 루프문(loop statement)으로 자동 획득하는 현실세계에서의 강제적인 학습 방법을 적용하고, 그 이후에 가상세계에서의 강화학습을 수행할 수도 있다.
[0060][0060] 현실세계에서의 강화학습은 열 유체 시스템의 특성상 어느 하나의 에피소드(episode) 중, 액션(A)에 따른 타임스텝(S→S')을 진행함에 있어서, S'의 시간 변화율과 관계없는 물리량 원소들{s1', s2', s3' ... s(n_in)'}이 어느 정도 안정화되어, 측정오차 이외의 더 이상의 시간 종속적인(time dependent) 변화가 감지되지 않을 때까지의 시간(T steady )에 대비하여 50% 내지 100% 사이의 어느 특정 퍼센트의 T steady 값으로 현실세계에서의 타임스텝 간격(Dt = 50~100% of T steady )을 부여하며, 한번 정하여진 퍼센트는 현실세계의 강화학습에서 변화하지 않는다.
[0061][0061] 도 9는 현실세계에서의 강화학습을 수행하는 것을 대신(또는 추가)해, 도 6에 도시된 도메인 내 모든 인덱스 조합에 대하여 강제적인 루프문(loop statement)으로 상태변수 리스트를 자동으로 획득하는 일례를 나타내고 있다. 좀 더 구체적으로 도 9는 현실세계의 강화학습을 통해 필요한 데이터를 획득하는 경우, 특정 포인트 조합에만 치우쳐서 'N'개의 데이터가 생성되는 것을 방지하기 위하여, 애초에 현실세계에서의 강화학습 대신에 현실세계에서의 타임스텝을 적용하여 도메인에서의 모든 인덱스 조합에서의 상태변수 리스트를 루프문으로 자동으로 획득하는 과정을 나타낸다. 또한, 이와 같은 루프문은 도 5에 도시된 2개의 기계요소 컴포넌트(com1, com2)의 제어포인트가 각각 5개, 6개이며, 총 4개의 액션에 대한 루프문을 이용해 강제적으로 다음 상태변수 리스트에 대한 데이터를 저장(write문)할 수 있다. 이때, write문의 앞뒤로 현실세계에서의 열적 응답 시간 (Thermal Response Time)을 고려하여, 다음상태변수(S') 중 시간 변화율과 관계없는 물리량 원소들{s1', s2', s3' ... s(n_in)'}이 어느 정도 안정화되어, 측정오차 이외의 더 이상의 시간 종속적인(time dependent) 변화가 감지되지 않을 때까지의 안정화 시간T steady )과 대비하여 50% 내지 100% 사이의 어느 한 특정 퍼센트(x %)의 T steady 값으로 현실세계에서의 타임스텝 간격(Dt = x% of T(steady))을 부여한 후 데이터를 저장(write 문)하며, 데이터 저장 후에는 '(1-x)%'의 남은 시간을 다시 기다려 안정화시킬 수 있다.
[0062][0062] 이때, 도 10에서와 같이 열 유체 시스템의 반응 특성곡선에 따라서, 50% 내지 100% 사이의 'x' 값을 정하여 타임스텝의 간격(Dt = x% of T(steady))을 설정해야 하며, 다음상태변수 (S')의 원소들이 시간변화율과 관계없는 물리량들{s1', s2', s3' ... s(n_in)'}로만 구성되는 경우, T steady 에 근접하도록 'x'값을 설정(ex. 0.9 ~ 1.0) 할 수 있다. 이와 반대로, 상태전이과정(S→S')의 중간에서 순간적인 시간변화율이 중요한 경우 'x'값을 좀 더 작은 값(ex. 0.5 ~ 0.9)으로 설정하여, 안정화 되기 전의 다음상태변수 값을 저장할 수도 있다.
[0063][0063] 상기 인공신경망 설정부(300)는, 현실세계 및 가상세계에서의 강화학습을 위하여 동일 구조의 인공신경망과 보상체계를 구성하고, 현실세계 및 가상세계 상호 간의 인공신경망 학습결과를 공유하여 디지털 트윈환경을 구성하며, 이를 위해 현실세계 및 가상세계의 강화학습 진행을 위한 인공신경망의 입력노드 및 출력노드에 대하여 현재 상태변수(S) 및 액션(A)을 각각 설정할 수 있다.
[0064][0064] 예를 들어, 도 4에 도시된 바와 같이, 인공신경망의 입력노드(Input Layer)에는 열 유체 매질 혹은 에너지원의 현재상태를 나타내는 (n_in)개의 물리량(ex. 온도, 습도, 공기청정도, 유속, 압력, 엔탈피, 제품능력, 제품출력, 에너지사용량 등)과 이들 중 일부 (m_in)개의 물리량에 대한 시간 변화율을 포함할 수 있으며, 인공신경망의 출력노드(Output Layer)에는 열 유체 시스템을 구성하는 핵심 기계요소의 출력 혹은 변위(ex. 팬의 % 출력, 펌프 % 출력, 압축기 % 출력, 히터 출력%, EEV 개도 등의 출력 혹은 기계요소의 변위(각도, 위치) 혹은 속도 등)의 증감수치를 포함할 수 있다. 이와 같이 본 실시예에서 출력노드를 기계요소의 출력(변위와 속도)의 순시치로 정의하지 않고, 증감수치로 정의하는 이유는, 액션노드의 개수를 줄여서 강화학습의 수렴성을 향상시키고, 점진적인 변화를 구현하기 위해서이다.
[0065][0065] 도 4에 도시된 바와 같이, 입력노드에 대한 강화학습 데이터는, 현재상태변수(S)에 대한 물리량들(s1, s2, ... s(n_in))의시간변화율(ds1/dt, ..., ds(m_in)/dt)을 더 포함할 수 있다. 입력노드(s1, s2, ..., s(n_in), ds1/dt, ..., ds(m_in)/dt)에서 시간변화율과 관련된 상태변수의 개수(m_in)는 시간변화율을 제외한 상태변수의 개수(n_in)보다 같거나 작도록 설정할 수 있다. SARSA 알고리즘 진행 시 다음상태변수(S')로의 전이를 위한 액션(A)을 선택할 경우에는 액션(A)과 관련된 기계요소의 운전출력에 대한 증감수치 중 증가분(+dcom) 또는 감소분(-dcom)을 선택하되, 출력노드의 개수는 열 유체 시스템의 작동과 관련된 독립적 기계요소 개수(n_out)에서 양과 음의 변화율을 고려하여 2배(2*n_out)의 개수를 갖도록 설정할 수 있다.
[0066][0066] 좀 더 구체적으로는, 입력노드로서의 상태변수(S)의 선택에 있어서 현재상태(S)에서의 물리량과 해당 물리량들의 시간변화율(s1, s2... s(n_in), ds1/dt....ds(m_in)/dt) 을 포함할 수 있다. 그리고, 출력노드에서는 액션(A)의 여러 기계요소의 운전출력의 증감선택사항(±dcom1, ±dcom2, ±dcom3...±dcom(n_out))을 출력노드에 배정하고, SARSA 알고리즘을 진행할 때 다음상태변수(S')로의 전이를 위한 액션(A) 선택에 있어서 여러 기계요소의 운전출력의 증감 중 하나의 특정 기계요소의 증가분(+dcom) 또는 감소분(-dcom)만을 선택할 수 있다. 이때, 입력노드에서의 시간변화율과 관련된 시간변화율 상태변수의 개수(m_in)는 시간변화율을 제외한 입력노드 상태변수의 개수(n_in) 보다 같거나 작도록 설정하며, 출력노드에서의 노드 개수는 열 유체 시스템의 작동과 관련 있는 독립적인 기계요소 개수인 'n_out'에서 양/음의 변화율을 고려하여 '2*n_out'의 개수를 갖도록 하는 것이 바람직하다.
[0067][0067] 따라서, 'nout' 개의 주요한 기계요소가 존재한다면 기계요소의 제어를 위하여 '2*nout' 개의 기계요소 제어출력 (변위와 속도 포함)의 증감을 위한 출력노드 설정이 필요하다. 입력층(Input Layer)의 노드와 출력층(Output Layer)의 노드 사이에는 2개 이상의 은닉층이 필요하고, 은닉층 노드의 개수는 출력층의 노드, 입력층의 노드보다 2~3배 많게 설정한 후, 인공신경망의 각 노드들은 완전연결(Fully Connected)되어 구성될 수 있다.
[0068][0068] 상기 가상세계 강화학습 수행부(400)는, 현실세계에서와 동일하게 정의된 강화학습 보상체계에 따라 현실세계에서의 데이터를 바탕으로 강화학습을 수행할 있다. 좀 더 구체적으로는, 현실세계에서의 강화학습을 통해 상기 도메인 상에서 생성된 상기 리스트화된 강화학습 상태 데이터 및 상기 인공신경망 학습결과와, 상기 동일 구조의 인공신경망과 보상체계를 이용하여 현실세계에서 강화학습을 수행한 후, 디지털 트윈환경의 가상세계에서 강화학습을 최종 계산치에 수렴할 때까지 수행하되, 현실세계에서 열 유체 시스템의 열 응답 시간(Thermal Response Time)을 생략하여 가속화된 강화학습 알고리즘을 수행할 수 있다..
[0069][0069] 이때, 액션(A)에 따른 현재상태변수(S)에서 다음상태변수(S')로 타임스텝을 진행함에 있어서, 가상세계의 강화학습 알고리즘이 수행할 수 있는 가장 빠른 타임스텝으로 가속하여 강화학습을 수행할 수 있다. 즉, 이미 동일한 인공신경망 설정부(200)로 현실세계 강화학습 수행(100) 및 데이터 관리부(200)를 통하여 현재 상태변수(S)에서 임의의 액션(A)을 선택할 때 다음 상태변수(S')를 예측 할 수 있으므로, 현실세계에서의 열적 응답 시간 (Thermal Response Time)을 기다리지 않고 빠르게 타임스텝을 진행할 수 있다. 다만 가상세계에서의 강화학습을 통하여 다양한 경로(path) 에 대한 가치함수(Q-value)를 극대화하는 최적점을 찾고자 여러 번의 에피소드 반복이 필요하다.
[0070][0070] 상기 가상세계 강화학습 수행부(400)는, 가상세계에서 강화학습이 완료되면, 인공신경망에 가중치 및 편향값을 포함하는 학습 결과를 저장하고, 현실세계 강화학습 수행부(100)는, 업데이트된 가상세계의 강화학습 상태 데이터를 기초로 추가적인 강화학습을 추가 수행하고, 현실세계 강화학습 수행부(100)와 가상세계 강화학습 수행부(400)는 현실세계와 가상세계의 강화학습을 교번적으로 반복 수행할 수 있다. 즉, 본 실시예에 따른 열 유체 시스템은 필요에 따라서, 현실세계에서의 데이터들이 외부환경 요인에 인하여 변화하는 경우, 또는 열 유체 시스템의 노후화에 의하여 측정 데이터들이 점진적으로 변화하는 경우를 반영하기 위하여, 현실세계와 가상세계에서의 강화학습을 주기적 및 교번적으로 수행할 수 있다.
[0071][0071] 도 11은 본 발명의 실시예에 따른 열 유체 시스템의 기계요소 컴포넌트 및 액션에 대한 도메인 상에서 현실세계의 강화학습 수행 시 나타나는 패턴을 예시적으로 도시한 그래프이고, 도 12는 본 발명의 실시예에 따른 가상세계의 강화학습 없이 현실세계에서 강화학습을 계속해서 수행할 때 나타나는 패턴을 예시적으로 도시한 그래프이며, 도 13은 본 발명의 실시예에 따른 가상세계의 강화학습 후 현실세계에서 강화학습을 계속해서 수행할 때 나타나는 패턴을 예시적으로 도시한 그래프이다.
[0072][0072] 도 11에 도시된 바와 같이, 현실세계에서 강화학습을 진행할 때, 현실세계에서의 열 유체 시스템이 반응할 수 있는 타임스텝(Dt)으로 강화학습을 진행할 수 있으며, 에피소드 5(Ep. 5)에 이르러, 도 7에 도시된 보상체계에 의한 도 6에 도시된 작동영역 내 모든 기계요소 컴포넌트와 액션 조합에 대한 도메인(Domain)에서의 다음상태변수(S')에 대한 정보 획득이 종료될 수 있다.
[0073][0073] 다만, 모든 도메인 조합에서의 단편적인 경험을 끝마쳤다 하더라도 강화학습은 하나의 타임스텝 이동에 의한 가치평가뿐만 아니라, 강화학습 할인율(Discount factor)를 반영하여 과거의 행동에 의한 가치(Q-value)까지 장기적으로 판단하기 때문에, 도 12에 도시된 바와 같이 최종 해인 에피소드 1000 (Ep. 1000)에 도달할 때까지 계속적으로 장기간의 학습시간이 소요될 수 있다.
[0074][0074] 그러나, 도 13에서와 같이 모든 도메인 조합에서 단편적으로 경험한 'Ep. 5' 이후에는 저장된 데이터를 활용하여 가상세계에서 가속화하여 에피소드(Ep') 진행이 가능하다(Ep'. 6 ~ Ep'. 999).
[0075][0075] 따라서, 도 12에 도시된 'Ep. 5 ~ Ep. 999'의 그래프와 도13에 도시된 'Ep'. 5 ~ Ep'. 999'의 진행양상을 비교해 볼 때, 도 13에 도시된 가상세계에서 가속화된 강화학습의 진행으로서 동일한 결과를 획득하되, 시간 축약적으로 결과를 획득할 수 있다.
[0076][0076] 도 14는 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 방법을 나타낸 흐름도이다.
[0077][0077] 도 14에 도시된 본 발명의 실시예에 따른 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 방법(S1300)은 상술한 가속화 강화학습 수행 시스템(1000)을 방법론에 관한 것으로, 구체적으로는 현실 세계에서의 열 유체 시스템의 강화학습 알고리즘 정의를 위하여, 기계요소(Component)와 상태변수(State),
[0078][0078] 액션(Action), ANN 구조를 정의하는 단계(S1310), 현실세계에서의 강화학습 알고리즘의 하이퍼파라미터 및 현실세계의 열 유체 시스템 반응속도(response time)을 고려하여 타임스텝을 결정하는 단계(S1320), 기계요소의 작동포인트 및 액션(Action)을 인덱스화 하고, 인덱스화된 모든 도메인(Domain)에서 최소한 하나 이상(N≥1)의 상태변수 리스트가 얻어질 때까지, 현실세계의 강화학습을 수행하거나, 강화학습 없이 도메인에서의 모든 인덱스 조합에 대한 상태변수 리스트를 루프문으로 자동으로 획득하는 단계(S1330), 모든 인덱스 도메인 조합에서의 상태변수 리스트 데이터를 활용하여 가상세계에서의 강화학습알고리즘을 가속으로 학습하는 단계(S1340), 강화학습 인공신경망에 가중치 및 편향값을 포함하는 학습 결과를 저장하는 단계(S1350), 및 현실세계에서 주기적으로 업데이트되는 현실세계에서의 데이터를 저장하고 강화학습 제어를 수행하는 단계(S1360)를 포함할 수 있다.
[0079][0079] 상기의 과정을 수행한 후, 주기적으로 업데이트된 현실세계 데이터가 존재하는지 여부를 판단하고, 업데이트 된 현실세계 데이터가 존재하는 경우 업데이트된 현실세계를 기반으로 'S1330'단계로 돌아가 해당 단계를 수행하며, 업데이트 된 현실세계 데이터가 존재하지 않는 경우 'S1360'단계로 돌아가 해당 단계를 수행할 수 있으며, 이와 같이 현실세계에서의 강화학습 상태 데이터가 미리 설정된 양보다 누적되면, 현실세계와 가상세계의 강화학습을 교번적으로 반복 수행할 수 있다.
[0080][0080] 이상에서 설명한 것은 본 발명에 의한 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
[0081][0081] 1000: 디지털 트윈 기법을 적용한 열 유체 시스템의 가속화 강화학습 수행 시스템 100: 현실세계 강화학습 수행부 200: 데이터 관리부 300: 인공신경망 설정부 400: 가상세계 강화학습 수행부