KR20200010973A - 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법 - Google Patents

자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법 Download PDF

Info

Publication number
KR20200010973A
KR20200010973A KR1020180129219A KR20180129219A KR20200010973A KR 20200010973 A KR20200010973 A KR 20200010973A KR 1020180129219 A KR1020180129219 A KR 1020180129219A KR 20180129219 A KR20180129219 A KR 20180129219A KR 20200010973 A KR20200010973 A KR 20200010973A
Authority
KR
South Korea
Prior art keywords
output value
control
artificial intelligence
base line
control system
Prior art date
Application number
KR1020180129219A
Other languages
English (en)
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 PCT/KR2019/007812 priority Critical patent/WO2020004974A1/en
Priority to US16/454,816 priority patent/US11662696B2/en
Publication of KR20200010973A publication Critical patent/KR20200010973A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Feedback Control In General (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)

Abstract

자동 제어 인공지능 장치가 개시된다. 본 발명의 실시 예에 따른 자동 제어 인공지능 장치는, 제어 시스템의 제어에 따른 출력값을 획득하는 수집부, 및, 상기 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 상기 하나 이상의 베이스 라인과 상기 출력값의 갭에 따른 보상 중 적어도 하나를 설정하고, 상기 하나 이상의 베이스 라인과 상기 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행함으로써, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 인공지능부를 포함한다.

Description

자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법{AUTOMATIC CONTROL ARTIFICIAL INTELLIGENCE DEVICE AND METHOD FOR UPDATE CONTROL FUNCTION}
본 발명은, 제어 시스템의 복수의 동작 목표에 따라 베이스 라인이나 보상을 설정하고, 베이스 라인과 출력값의 갭을 기초로 강화 학습을 수행하여, 제어 시스템의 제어값을 출력하는 제어 함수를 업데이트 하는 자동 제어 인공지능 장치에 관한 것이다.
인공 지능(artificial intelligence)은 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미한다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
한편 피드백 제어는 폐루프를 구성하여 피드백에 의해서 제어량과 목표값을 비교하고 그것을 일치시키도록 정정 동작을 행하는 제어를 의미하며, 이러한 피드백 제어는 온도조절기를 사용하는 가정 난방 컨트롤러에서부터 기계나 프로세스를 통제하기 위해 사용되는 대형 산업 통제 시스템에 이르기까지 널리 이용되고 있다.
한편 실제 응용 분야에 많이 사용되는 피드백 제어 기법으로 비례-적분-미분 제어(Proportional?Integral?Derivative control, 이하 PID 제어라 함)를 들 수 있다.
PID 제어는 비례 제어, 적분 제어 및 미분 제어를 조합한 것으로, 제어하고자 하는 대상의 현재값을 획득하여 이를 설정값(Set Point, SP)와 비교하여 오차(error)를 계산하고, 오차값을 이용하여 제어에 필요한 제어값을 계산하는 구조로 되어 있다.
한편 PID 제어에서, 비례항, 적분항 및 미분항으로 구성되는 PID 제어 함수에 의하여 제어값이 산출되며, 비례항은 오차값에 비례하고, 적분항은 오차값의 적분에 비례하며, 미분항은 오차값의 미분에 비례한다.
그리고, 비례항, 적분항 및 미분항은 각각, 비례항의 이득(gain)인 비례 이득 파라미터, 적분항의 이득(gain)인 적분 이득 파라미터, 미분항의 이득(gain)인 미분 이득 파라미터를 포함할 수 있다.
PID 파라미터는, PID 함수에 포함되는 각 항들에 대한 이득(gain)을 포함할 수 있다. 즉 PID 파라미터는, 비례 이득 파라미터, 적분 이득 파라미터 및 미분 이득 파라미터를 PID 파라미터를 포함할 수 있다.
제어 함수에서 출력되는 제어값은 PID 파라미터에 대한 의존도가 강하기 때문에, 적절한 PID 파라미터의 설정은 시스템의 최적화의 핵심이라 할 수 있다.
다만 기존의 PID 파라미터의 설정은, 인간의 경험과 직관을 바탕으로 인간이 직접 설정하는 방식으로 진행이 되었기 때문에, 최적의 파라미터를 산출하기가 불가능한 문제가 발생할 수 있었다.
또한 매우 많은 경험과 매우 훌륭한 직관을 가져서 최적에 가까운 파라미터를 산출할 수 있는 인간이 있다고 가정 하더라도, 제어 시스템의 설치 장소에 따라 외부 환경이 상이해 지기 때문에, 인간의 경험과 직관은 특정 장소에 설치된 제어 시스템에만 적용될 수 있는 것일 뿐, 모든 제어 시스템에 범용적으로 사용될 수 없다는 문제가 있었다.
또한 경험과 직관은 사람마다 편차가 심하기 때문에, 매우 많은 경험과 매우 훌륭한 직관을 가져서 최적에 가까운 파라미터를 산출할 수 있는 인간이 제어 시스템의 관리자로 있다고 하더라도, 관리자의 교체 시에는 파라미터 설정의 질이 떨어지는 문제가 발생할 수 있었다.
또한 계절, 날짜, 기타 변수 들이 작용하여 환경 조건이 변경되면서, 현재 환경 조건에 맞는 최적의 PID 파라미터는 달라질 수 있다. 다만 인간의 직관과 경험으로는, 이러한 환경 조건의 변경에 대하여 적절히 대응하여 파라미터를 최적화 할 수 없다는 문제가 있었다.
본 발명의 목적은 상술한 문제점을 해결하기 위함으로, 본 발명은, 제어 시스템의 복수의 동작 목표에 따라 베이스 라인이나 보상을 설정하고, 베이스 라인과 출력값의 갭을 기초로 강화 학습을 수행하여, 제어 시스템의 제어값을 출력하는 제어 함수를 업데이트 하는 자동 제어 인공지능 장치를 제공하기 위함이다.
본 발명의 실시 예에 따른 자동 제어 인공지능 장치는, 제어 시스템의 제어에 따른 출력값을 획득하는 수집부, 및, 상기 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 상기 하나 이상의 베이스 라인과 상기 출력값의 갭에 따른 보상 중 적어도 하나를 설정하고, 상기 하나 이상의 베이스 라인과 상기 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행함으로써, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 인공지능부를 포함한다.
이 경우 상기 하나 이상의 베이스 라인은, 제1 베이스 라인을 포함하고, 상기 인공지능부는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하여, 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득할 수 있다.
이 경우 상기 인공지능부는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)의 위치에 따라 상이한 보상(reward)를 부여할 수 있다.
한편 상기 제1 베이스 라인은, 상기 제어 시스템의 최대 제어에 따른 상기 출력값의 변화를 나타내는 제1 라인 및 설정값과 일치하는 제2 라인을 포함하고, 상기 인공지능부는, 상기 출력값이 상기 설정값에 도달하기까지의 제1 시간 동안 상기 제1 라인을 추종하고 상기 출력값이 상기 설정값에 도달한 후의 제2 시간 동안 상기 제2 라인을 추종하는 것을 목표로 상기 강화 학습을 수행할 수 있다.
이 경우 상기 제1 시간과 상기 제2 시간은 비례 관계일 수 있다.
한편 상기 하나 이상의 베이스 라인은, 제2 베이스 라인을 더 포함하고, 상기 인공지능부는, 상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득할 수 있다.
이 경우 상기 인공지능부는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하고, 상기 제2 베이스라인과 상기 출력값 사이의 갭(Gap)을 기초로 벌점(penalty)을 부여할 수 있다.
이 경우 상기 벌점(penalty)의 크기는 상기 보상(reward) 의 크기보다 클 수 있다.
한편 상기 인공지능부는, 상기 출력값이 상기 제2 베이스 라인 상의 일 지점과 일치하는 경우, 상기 제어 함수에 사용된 하나 이상의 파라미터를 폐기할 수 있다.
한편 상기 인공지능부는, 환경 조건의 변화에 따라 상기 제1 베이스 라인을 재 설정할 수 있다.
한편 본 발명의 실시 예에 따른 제어 함수의 업데이트 방법은, 제어 시스템의 제어에 따른 출력값을 획득하는 단계, 상기 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 상기 하나 이상의 베이스 라인과 상기 출력값의 갭에 따른 보상 중 적어도 하나를 설정하는 단계, 및, 상기 하나 이상의 베이스 라인과 상기 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행함으로써, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계를 포함한다.
이 경우 상기 하나 이상의 베이스 라인은, 제1 베이스 라인을 포함하고, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하여, 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계를 포함할 수 있다.
이 경우 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)의 위치에 따라 상이한 보상(reward)를 부여하는 단계를 포함할 수 있다.
한편 상기 제1 베이스 라인은, 상기 제어 시스템의 최대 제어에 따른 상기 출력값의 변화를 나타내는 제1 라인 및 설정값과 일치하는 제2 라인을 포함하고, 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계는, 상기 출력값이 상기 설정값에 도달하기까지의 제1 시간 동안 상기 제1 라인을 추종하고 상기 출력값이 상기 설정값에 도달한 후의 제2 시간 동안 상기 제2 라인을 추종하는 것을 목표로 상기 강화 학습을 수행할 수 있다.
이 경우 상기 제1 시간과 상기 제2 시간은 비례 관계일 수 있다.
한편 상기 하나 이상의 베이스 라인은, 제2 베이스 라인을 더 포함하고, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계는, 상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계를 포함할 수 있다.
이 경우 상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계는, 상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하고, 상기 제2 베이스라인과 상기 출력값 사이의 갭(Gap)을 기초로 벌점(penalty)을 부여하는 단계를 포함할 수 있다.
이 경우 상기 벌점(penalty)의 크기는 상기 보상(reward) 의 크기보다 클 수 있다.
한편 상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계는, 상기 출력값이 상기 제2 베이스 라인 상의 일 지점과 일치하는 경우, 상기 제어 함수에 사용된 하나 이상의 파라미터를 폐기하는 단계를 포함할 수 있다.
한편 제어 함수의 업데이트 방법은, 환경 조건의 변화에 따라 상기 제1 베이스 라인을 재 설정하는 단계를 더 포함할 수 있다.
본 발명은 인공지능 에이전트에게 학습의 환경을 제공하고, 방대한 데이터를 인공지능 에이전트가 학습하게 함으로써, 출력값을 결정짓는 다양한 변수들에도 불구하고 최적의 파라미터를 산출할 수 있는 장점이 있다.
또한 본 발명은 베이스 라인이라는 명확한 목표를 인공지능에게 부여하고, 인공지능은 베이스 라인과의 갭을 최소화 하는 방향으로 학습을 수행하기 때문에, 인공지능의 학습 능력과 학습 속도를 향상시킬 수 있는 장점이 있다.
또한 베이스 라인 중 제1 라인은 제어 시스템의 최대 제어에 따른 출력값을 나타내며, 베이스 라인 중 제2 라인은 특정 동작에서의 설정값을 나타낸다. 따라서 본 발명에 따르면, 설정값에 빨리 도달하라는 목표 및 출력값의 오버슛이나 출렁거림을 줄이는 등 시스템의 안정화를 위한 목표를 인공지능에게 동시에 부여할 수 있는 장점이 있다.
또한 본 발명의 제1 라인은 제어 시스템이 설치된 환경에서 최대 제어에 의한 출력값에 기초하여 설정된다. 즉 제1 라인은 제어 시스템이 설치된 환경의 특성을 반영하여 설정되고, 인공지능은 제1 라인을 추종하는 것을 목표로 강화 학습을 수행하기 때문에, 본 발명에 따르면 제어 시스템이 설치된 환경에 부합하는 최적의 제어 함수를 찾을 수 있는 장점이 있다.
또한 본 발명은 갭의 위치에 따라 부여되는 보상의 크기를 변경함으로써 다양한 동작 목표들을 중요도에 따라 다양하게 조합하고, 상응하는 최적의 파라미터를 획득할 수 있는 장점이 있다.
또한 본 발명은 에너지의 투입이 클수록 더 오랫동안 출력값을 모니터링 한 후 강화 학습을 수행함으로써, 최적의 파라미터를 산출할 수 있는 장점이 있다.
또한 본 발명은 복수의 베이스 라인을 설정하고, 출력값이 베이스 라인을 추종 또는 회피하는 최적의 파라미터를 인공지능이 학습하게 함으로써, 다양한 목표를 달성할 수 있는 최적의 파라미터를 산출할 수 있는 장점이 있다.
또한 본 발명은 환경 조건의 변화가 있는 경우 베이스 라인을 변경하고, 변경된 베이스 라인을 추종하는 것을 목표로 강화 학습을 다시 수행함으로써, 환경 조건의 변화에 대응하여 파라미터를 최적화 할 수 있는 장점이 있다.
또한 본 발명은, 순환 신경망을 이용하여 출력값의 패턴을 미리 학습함으로써, 출력값의 패턴이 환경(Envrionment)으로써 에이전트(Agent)에게 제공되기 때문에, 강화 학습에 소요되는 시간을 대폭 감소 시킬 수 있는 장점이 있다.
도 1은 본 발명의 실시 예에 따른 인공지능 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시 예에 따른, 베이스 라인을 설정하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른, 제2 라인 및 인공지능부가 베이스 라인을 추종하는 것을 목표로 강화학습을 수행하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른, 갭의 위치에 따라 상이한 보상을 부여하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른, 베이스 라인과 출력값의 비교 범위를 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른, 추가적인 베이스 라인을 설정하고, 추가적인 베이스 라인을 회피하는 것을 목표로 강화학습을 수행하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른, 출력값과 제2 베이스 라인 상의 일 지점이 일치하는 경우, 파라미터를 폐기하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예에 따른, 환경 조건의 변화에 따라 베이스 라인을 재 설정하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른, 인공지능 장치 및 제어 시스템의 동작 방법을 설명하기 위한 순서도 이다.
도 10은 본 발명의 실시 예에 따른, 출력값의 패턴을 미리 학습시키는 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예에 따른, 순환 신경망을 이용하여 출력값의 패턴을 획득하는 방법 및 출력값의 패턴에 기초하여 강화 학습을 수행하는 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 실시 예에 따른, 제어 시스템, 수집부 및 인공지능부가 통합적으로 구성되는 인공지능 장치를 도시한 도면이다.
도 13는 본 발명의 실시 예에 따른, 제어 시스템과 인공지능 장치가 별도로 구성되고, 인공지능 장치에서 출력값을 수집하는 실시 예를 설명하기 위한 블록도이다.
도 14는 본 발명의 실시 예에 따른, 복수의 제어 시스템에 각각 대응하는 인공지능 장치가 제어 센터에 통합적으로 구성되는 실시 예를 설명하기 위한 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 실시 예에 따른 자동 제어 인공지능 장치를 설명하기 위한 블록도이다.
본 발명에서 용어“자동 제어 인공지능 장치”는 용어 “인공지능 장치”와 혼용되어 사용될 수 있다.
본 발명의 실시 예에 따른 인공지능 장치(100)는 제어 시스템에 제어 함수를 제공할 수 있다.
여기서 제어 시스템은, 공조 시스템, 에너지 관리 시스템, 모터 제어 시스템, 인버터 제어 시스템, 압력 제어 시스템, 유량 제어 시스템, 냉/난방 시스템 등, 현재값을 수집하고, 수집한 현재값, 설정값 및 제어 함수를 이용하여 제어값을 출력하고, 출력된 제어 값에 따른 제어를 수행하는 모든 시스템을 의미할 수 있다.
예를 들어 공조 시스템에서, 현재값은 현재 온도(즉, 기존의 밸브 제어에 따른 출력값), 설정값은 목표 온도일 수 있다. 또한 현재값과 설정값의 오차는 제어 함수에 입력되고, 제어 함수는 제어 값을 산출하여 공조 시스템에 제공할 수 있다. 이 경우 공조 시스템은 제어 값에 따른 제어, 즉 제어값에 따른 밸브(valve)의 개방 등을 수행할 수 있다.
다른 예를 들어 에너지 관리 시스템에서, 현재값은 현재 충전량(즉, 기존의 충전량 제어에 따른 출력값), 설정값은 목표 충전량일 수 있다. 또한 현재값과 설정값의 오차는 제어 함수에 입력되고, 제어 함수는 제어값을 산출하여 에너지 관리 시스템에 제공할 수 있다. 이 경우 에너지 관리 시스템은 제어값에 따른 제어, 즉 제어값에 따른 충전량의 조절을 수행할 수 있다.
다른 예를 들어 모터 제어 시스템에서, 현재값은 모터의 현재 속도(즉, 기존의 속도 제어에 따른 출력값), 설정값은 모터의 목표 속도일 수 있다. 또한 현재값과 설정값의 오차는 제어 함수에 입력되고, 제어 함수는 제어값을 산출하여 모터 제어 시스템에 제공할 수 있다. 이 경우 모터 제어 시스템은 제어값에 따른 제어, 즉 제어값에 따른 모터의 속도 조절을 수행할 수 있다.
한편 인공지능 장치는 수집부(110) 및 인공지능부(120)를 포함할 수 있다.
수집부(110)는 제어 시스템의 제어에 따른 출력값을 획득할 수 있다. 여기서 제어 시스템의 제어에 따른 출력값은 제어 시스템의 제어 대상이 제어 시스템의 제어에 의하여 나타내는 상태를 의미할 수 있다.
예를 들어 공조 시스템의 경우 제어 대상은 온도일 수 있으며, 제어 시스템의 제어에 따른 출력값은 공조 시스템의 온도 제어에 따라 나타나거나 변경되는 온도를 의미할 수 있다.
다른 예를 들어 모터 제어 시스템에서 제어 대상은 모터의 속도일 수 있으며, 제어 시스템의 제어에 따른 출력값은 모터 제어 시스템의 속도 제어에 따라 나타나거나 변경되는 모터의 속도를 의미할 수 있다.
한편 제어 시스템의 제어에 따른 출력값은, 현재값으로 사용될 수 있다. 즉 제어 시스템의 출력값을 현재값으로 하고, 현재값과 설정값의 오차를 제어 함수에 다시 입력하는 방식으로, 피드백 제어 루프(feedback control loop)가 구성될 수 있다.
한편 출력값은 인공지능 장치에서 직접 센싱될 수도 있으며, 또는 다른 시스템 또는 장치로부터 수신될 수 있다.
구체적으로, 수집부(110)는 제어 시스템의 제어에 따른 출력값을 감지하기 위한 센싱부를 구비할 수 있다.
예를 들어 제어 대상이 온도인 경우 수집부(110)는 온도 센서를 포함할 수 있으며, 제어 대상이 압력인 경우 수집부(110)는 압력 센서를 포함할 수 있다.
그리고, 인공지능 장치(100)와 제어 시스템이 분리되어 구성되는 경우, 제어 시스템에서 출력값을 감지하고, 인공지능 장치(100)의 수집부(110)는 제어 시스템으로부터 출력값을 수신할 수 있다. 이 경우 수집부(110)는 제어 시스템과 통신하기 위한 통신 모듈을 포함할 수 있다.
한편 인공지능 장치(100)와 제어 시스템이 분리되어 구성되더라도, 제어 시스템이 출력값을 감지하는 것과는 별도로, 수집부(110)에서도 자체적으로 출력값을 감지하는 방식도 가능하다.
한편 도시하지는 않았으나, 인공지능 장치(100)는 저장부를 포함할 수 있다. 저장부에는 제어 함수, 출력값의 패턴, 강화 학습을 위한 응용 프로그램, 순환 신경망을 이용하여 시계열 데이터를 학습하기 위한 응용 프로그램 등이 저장될 수 있다.
한편 제어 시스템의 제어 방식에 의하여 간단히 설명하도록 한다.
한편 본 발명에서 업데이트 되는 제어 함수는, 하나 이상의 파라미터를 포함하는, 피드백 제어(Feedback Control)의 제어함수일 수 있다.
수학식 1의 PID 제어 함수의 예를 들어, 본 발명에서 사용되는 용어를 설명하도록 한다.
Figure pat00001
PID 제어는 산업 제어시스템에서 널리 사용되는 제어루프(Control loop) 피드백 기법(feedback mechanism)이다.
PID 제어는 비례 제어, 적분 제어 및 미분 제어를 조합한 것으로, 제어하고자 하는 대상의 현재값을 획득하고, 획득한 현재값을 설정값(Set Point, SP)와 비교하여 오차(error)(
Figure pat00002
)를 계산하고, 오차값을 이용하여 제어에 필요한 제어값(Control Value, CV)(
Figure pat00003
)을 계산하는 구조로 되어 있다.
난방 시스템의 예를 들어 설명하면, 현재값은 현재 온도, 설정값(Set Point, SP)은 목표 온도, 오차(error)(
Figure pat00004
)는 현재 온도와 목표 온도와의 차이를 의미할 수 있다.
한편 PID 제어에서는, 비례항(
Figure pat00005
), 적분항(
Figure pat00006
) 및 미분항(
Figure pat00007
)으로 구성되는 PID 제어 함수에 의하여 제어값(Control Value, CV)(
Figure pat00008
)이 산출될 수 있다.
이 경우 비례항(
Figure pat00009
)은 오차값(
Figure pat00010
)에 비례하고, 적분항(
Figure pat00011
)은 오차값(
Figure pat00012
)의 적분에 비례하며, 미분항(
Figure pat00013
)은 오차값(
Figure pat00014
)의 미분에 비례한다.
그리고, 비례항, 적분항 및 미분항은 각각, 비례항의 이득(gain)인 비례 이득 파라미터(
Figure pat00015
), 적분항의 이득(gain)인 적분 이득 파라미터(
Figure pat00016
), 미분항의 이득(gain)인 미분 이득 파라미터(
Figure pat00017
)를 포함할 수 있다.
PID 파라미터는, PID 함수에 포함되는 각 항들에 대한 이득(gain)을 포함할 수 있다. 즉 PID 파라미터는, 비례 이득 파라미터(
Figure pat00018
), 적분 이득 파라미터(
Figure pat00019
) 및 미분 이득 파라미터(
Figure pat00020
)를 포함할 수 있다.
PID 제어기의 출력은 제어값(Control Value, CV)(
Figure pat00021
)이며, 제어값(Control Value, CV)(
Figure pat00022
)은 제어 시스템에서 입력으로 사용될 수 있다. 다시 말해서 제어값(Control Value, CV)(
Figure pat00023
)은 조작 변수(Manipulated Mariable, MV)를 의미할 수 있다.
그리고 제어 시스템은 제어값(Control Value, CV)(
Figure pat00024
)에 대응하는 제어를 수행할 수 있다.
난방 시스템의 예를 들어 설명하면, 제어 함수에 의하여 80프로의 제어값(Control Value, CV)(
Figure pat00025
)이 출력된 경우, 난방 시스템은 80프로의 제어 값(Control Value, CV)(
Figure pat00026
)에 대응하는 제어, 즉 밸브를 80프로 개방하는 제어를 수행할 수 있다.
한편 제어 시스템의 제어에 따른 출력값은, 제어 시스템의 제어 대상이 제어 시스템의 제어에 의하여 나타내는 상태를 의미할 수 있다. 다시 말해서, 출력값은 프로세스 변수(Process Variable, PV)를 의미할 수 있다.
예를 들어 난방 시스템의 경우, 제어 대상은 온도이며, 출력값은 난방 시스템의 제어에 의하여 유지되거나 변경되는 온도를 의미할 수 있다.
한편 제어 시스템은 출력값을 감지하고, 출력값을 상술한 현재값으로 사용할 수 있다. 이러한 방식으로 제어루프(Control loop)가 형성되고, 피드백 기법(feedback mechanism)에 의한 제어가 수행되게 된다.
한편 인공지능부(120)는, 강화 학습을 기반으로 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 할 수 있다.
강화 학습(Reinforcement Learning)은 에이전트(Agent)가 매순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습(Reinforcement Learning)은 마르코프 결정 프로세스(Markov Decision Process, MDP)에 의하여 수행될 수 있다.
마르코프 결정 프로세스(Markov Decision Process, MDP)를 간단히 설명하면, 첫번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세번째로 에이전트가 무엇을 잘하면 점수를 주고 무엇을 못하면 벌점을 줄지 정의하며, 네번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 행동 정책을 도출하게 된다.
이러한 마르코프 결정 과정은 본 발명의 실시 예에 따른 인공지능부(120)에도 적용될 수 있다.
구체적으로 첫번째로 인공지능부(120)에게는 인공지능부(120)가 제어 함수를 업데이트 하기 위해 출력값이나 출력값의 패턴이 제공되는 환경이 주어지며, 두번째로 목표 달성을 위하여 출력값이 베이스 라인을 추종하도록 인공지능부(120)가 행동할 것을 정의하고, 세번째로 인공지능부가 베이스 라인을 추종할수록 보상(reward)을 부여하며, 네번째로 인공지능부(120)는 보상(reward)의 총합이 최대가 될 때까지 반복 학습하여, 최적의 제어 함수를 도출하게 된다.
이 경우 인공지능부(120)는 제어 함수에 따른 출력값에 기초하여, 피드백 제어 함수를 업데이트 할 수 있다.
구체적으로, 제어 시스템이 제어 함수로부터 제공된 제어값에 대응하는 제어를 수행하는 경우, 인공지능부(120)는 제어시스템의 제어에 따른 출력값이 목표를 달성할 수 있도록 피드백 제어 함수의 하나 이상의 파라미터를 업데이트 할 수 있다.
그리고 인공지능부(120)는 강화 학습에 의하여, 제어 함수의 파라미터를 변경하는 행동을 취하고, 행동에 따른 상태(출력값)와 보상(reward)을 획득하며, 이에 따라 보상(reward)을 최대화 하는 정책(policy)을 획득할 수 있다.
이 경우 인공지능부(120)가 달성해야 하는 목표는 보상(reward)이 주어지는 지점, 보상(reward)의 크기 등에 의해 설정될 수 있다.
그리고 인공지능부(120)는 시행착오(try and error) 방식으로 제어 함수의 파라미터를 다양하게 변경할 수 있다. 또한 파라미터가 변경된 제어 함수에 따라 출력값이 획득되는 경우, 획득된 출력값에 보상(reward)을 부여하여 보상(reward)을 최대화 하는 정책(policy)을 획득할 수 있다.
한편, 강화 학습에 의하여 인공지능부(120)가 달성해야 하는 최고의 정책(best policy)을 미리 설정하고, 인공지능부(120)이 최고의 정책(best policy)을 추종하도록 행동하게 하면, 인공지능부(120)의 학습량을 대폭 줄일 수 있다.
따라서 본 발명은 강화 학습에 의하여 인공지능부(120)가 달성해야 하는 최고의 정책(best policy)을 미리 설정할 수 있다.
이 경우 인공지능부(120)가 달성해야 하는 최고의 정책(best policy)은 제어 시스템의 제어에 따른 출력값의 이상적인 변화를 의미할 수 있다.
여기서 제어 시스템의 제어에 따른 출력값의 이상적인 변화를 베이스 라인(base line)이라 명칭할 수 있다.
그리고 인공지능부(120)는 제어 시스템의 제어에 따른 출력값이 상술한 베이스 라인(base line)을 추종하는 것을 목표로, 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 할 수 있다.
이와 관련해서는 도 2를 참고하여 구체적으로 설명한다.
도 2는 본 발명의 실시 예에 따른, 베이스 라인을 설정하는 방법을 설명하기 위한 도면이다.
베이스 라인(base line)은, 제어 시스템의 최대 제어에 따른 출력값의 변화를 나타내는 제1 라인을 포함할 수 있다.
구체적으로 제1 라인은, 제어 함수의 최대 제어값에 따라 제어 시스템이 최대 제어를 수행하는 경우에 나타나는 출력값의 변화를 나타낼 수 있다.
난방 시스템의 예를 들어 설명하면, 제어 함수에 의하여 최대 100프로의 제어값이 출력되는 경우, 난방 시스템은 100프로의 제어값에 대응하는 제어, 즉 밸브를 100프로 개방하는 제어를 수행할 수 있다.
이 경우 제1 라인은 밸브를 100프로 개방했을 때, 제어 대상인 온도의 변화를 의미할 수 있다.
한편 제어 시스템의 최대 제어에 따른 출력값의 변화(210)가 그대로 제1 라인이 될 수 있다.
다만 이에 한정되지 않으며, 제어 시스템의 최대 제어에 따른 출력값의 평균 변화율(220)이 제1 라인이 될 수도 있다.
예를 들어, 난방 시스템이 제1 시점(t1)에 제1 온도(T1)에서 동작을 시작하고, 최대 제어를 수행하여 제2 시점(t2)에 제2 온도(T2)에 도달한 경우, 제1 라인은 제1 시점(t1)에서 제2 시점(t2)에 도달하기 까지 온도의 평균 변화율을 나타낼 수 있다.
한편 인공지능부(120)는 제어 시스템이 설치된 환경에서 제1 라인을 설정할 수 있다.
구체적으로 인공지능부(120)는 제어 시스템이 설치된 환경에서 제어 시스템이 최대 제어를 수행하도록 제어 시스템을 제어할 수 있다.
예를 들어 제어 시스템이 건물 내 특정 방의 파이프에 난방용 물을 공급하는 밸브 시스템인 경우, 인공지능 장치(120)는 특정 방의 파이프에 난방용 물을 공급하는 밸브 시스템이 밸브를 최대로 개방하도록 제어할 수 있다.
인공지능 장치(100)와 제어 시스템이 분리되어 구성되는 경우, 인공지능부(120)는 제어 시스템이 최대 제어를 수행하도록 하기 위한 제어 명령을 제어 시스템에 전송할 수 있다.
반면에, 인공지능 장치(100)와 제어 시스템이 통합적으로 구성되는 경우, 인공지능부(120)는 최대 제어를 수행하도록 동작부를 직접 제어할 수 있다.
한편 제어 시스템이 최대 제어를 수행하는 중, 인공지능부(120)는 제어 시스템의 최대 제어에 따른 출력값을 획득할 수 있다. 그리고 인공지능부(120)는 획득한 출력값에 기초하여 제1 라인을 설정할 수 있다.
도 3은 본 발명의 실시 예에 따른, 제2 라인 및 인공지능부가 베이스 라인을 추종하는 것을 목표로 강화학습을 수행하는 방법을 설명하기 위한 도면이다.
베이스 라인(220)의 제1 라인(221)은 제어 시스템의 최대 제어에 따른 출력값의 변화를 의미하는 것으로써, 도 2에서 이미 설명한 바 있다.
여기서 제1 라인(221)을 설정하는 의미는, 설정값에 빨리 도달한다는 목표를 인공지능부(120)에게 제공하기 위한 것일 수 있다.
한편 베이스 라인(220)은 제2 라인(222)을 더 포함할 수 있다.
여기서 제2 라인(222)을 설정하는 의미는, 설정값에 도달한 후, 출력값의 오버슛(overshoot)을 줄이거나 출력값이 설정값 이상 및 이하로 출렁거리는 것을 줄이는 목표를 인공지능부(120)에게 제공하는 것일 수 있다.
따라서 제2 라인(222)은 설정값과 일치할 수 있다. 여기서 설정값은 특정 동작을 수행하는 경우 출력값이 도달해야 하는 목표 값일 수 있다.
예를 들어 현재 온도가 24도이며 온도를 30도로 상승시키라는 동작 명령이 수신된 경우, 제어 시스템은 온도를 30도로 상승시키는 동작을 수행할 수 있다. 이 경우 인공지능부(120)는 제어 시스템의 최대 제어 시 온도의 평균 변화율을 나타내는 제1 라인 및 30도에 일치하도록 형성되는 제2 라인을 포함하는 베이스 라인을 설정할 수 있다.
다른 예를 들어 예를 들어 현재 온도가 24도이며 온도를 27도로 상승시키라는 동작 명령이 수신된 경우, 제어 시스템은 온도를 27도로 상승시키는 동작을 수행할 수 있다. 이 경우 인공지능부(120)는 제어 시스템의 최대 제어 시 온도의 평균 변화율을 나타내는 제1 라인 및 27도에 일치하도록 형성되는 제2 라인을 포함하는 베이스 라인을 설정할 수 있다.
한편 인공지능부(120)는 제어 시스템의 제어에 따른 출력값이 베이스 라인(220)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
여기서 베이스 라인을 추종하는 것을 목표로 한다는 의미는, 제어 시스템의 제어에 따른 출력값이 베이스 라인(220)에 최대한 접근하는 것을 목표로 한다는 의미일 수 있다.
또한 인공지능부(120)는 제어 시스템의 제어에 따른 출력값이 베이스 라인(220)을 추종하는 것을 목표로 강화 학습을 수행함으로써, 제어 함수의 하나 이상의 파라미터를 획득할 수 있다.
구체적으로 인공지능부(120)는 시행착오 (try and error) 방식으로 제어 함수의 파라미터를 다양하게 변경하면서, 제어 시스템의 제어에 따른 출력값(310, 320)을 획득할 수 있다.
그리고 인공지능부(120)는 베이스 라인(220)과 출력값 사이의 갭(Gap)을 기초로 리워드(reward)를 부여하여, 제어 시스템의 제어에 따른 출력값이 베이스 라인(220)을 가장 가깝게 추종하는 하나 이상의 파라미터를 획득할 수 있다.
구체적으로 인공지능부(120)는 하나 이상의 지점, 또는 모든 지점에서 베이스 라인(220)과 출력값 사이의 갭(Gap)을 산출할 수 있다.
그리고, 베이스 라인(220)과 출력값 사이의 갭이 작을수록 높은 보상 보상(reward)이 부여될 수 있으며, 인공지능부(120)는 보상(reward)을 최대화 하는 하나 이상의 파라미터를 획득할 수 있다.
예를 들어 제1 파라미터를 포함하는 제어 함수의 제어값에 따라 제어 시스템이 제어를 수행한 경우에 나타나는 출력값을 제1 출력값(310)이라 가정하고, 제2 파라미터를 포함하는 제어 함수의 제어값에 따라 제어 시스템이 제어를 수행한 경우에 나타나는 출력값을 제2 출력값(320)이라 가정하여 설명한다.
제1 출력값(310)과 베이스 라인(220) 사이의 갭(G1, G3, G5, G7, G9, G11, G13, G15)은, 제2 출력값(320)과 베이스 라인(220) 사이의 갭(G2, G4, G6, G8, G10, G12, G14, G16)보다 작다.
즉 제2 파라미터를 사용하였을 때보다 제1 파라미터를 사용하였을 때 더 높은 보상(reward)이 부여되게 된다. 이 경우 인공지능부(120)는 제1 파라미터를 출력값이 베이스 라인을 가장 가깝게 추종 하는 파라미터로써 획득할 수 있다.
이러한 방식으로 인공지능부(120)는 계속적으로 강화 학습을 수행함으로써, 제어 시스템의 제어에 따른 출력값이 베이스 라인을 가장 가깝게 추종하는 파라미터를 획득할 수 있다.
그리고 제어 시스템의 제어에 따른 출력값이 베이스 라인을 가장 가깝게 추종하는 새로운 파라미터를 획득한 경우, 인공지능부(120)는 기존의 제어 함수의 파라미터를 새롭게 획득한 파라미터로 변경함으로써, 기존의 제어 함수를 업데이트 할 수 있다.
한편 도 3에서 도시한 갭(G1, G3, G5, G7, G9, G11, G13, G15)은, 몇 개의 지점에서의 출력값과 베이스 라인의 거리로써 표현한 것으로, 갭을 나타내는 일례에 불과하다.
예를 들어 출력값과 베이스 라인과의 갭은 출력값과 베이스 라인 사이의 공간의 면적을 의미할 수 있다.
즉 제1 파라미터를 사용하였을 때의 제1 출력값(310)과 베이스 라인(220) 사이의 공간의 면적은, 제2 파라미터를 사용하였을 때의 제2 출력값(320)과 베이스 라인(220) 사이의 면적보다 작을 수 있다. 이 경우 제2 파라미터를 사용하였을 때보다 제1 파라미터를 사용하였을 때 더 높은 보상(reward)이 부여되며, 인공지능부(120)는 제1 파라미터를 출력값이 베이스 라인을 가장 가깝게 추종하게 하는 파라미터로써 획득할 수 있다.
즉 본 명세서에서 설명하는 갭(Gap)은 베이스 라인과 출력값의 차이를 의미할 수 있다.
제어 시스템의 제어에 따른 출력값은 제어 시스템의 제어에 의해서만 결정되는 것이 아니라, 매우 다양한 변수에 의해서 결정되게 된다.
난방 시스템의 예를 들면, 제어 시스템의 제어에 따른 출력값은 계절, 날씨, 시간, 날짜, 공간의 넓이, 창문이 열려있는지, 공간 내 사람 수, 방문이 열려있는지, 단열재 등 매우 다양한 변수가 복합적으로 작용하여 결정되게 된다.
인간이 이렇게 다양한 변수들을 분석하여 최적의 파라미터를 산출하는 것은 불가능 하기 때문에, 기존의 PID 파라미터의 설정은 인간의 경험과 직관을 바탕으로 인간이 직접 설정하는 방식으로 진행이 되었다. 유사한 예로써, 엄청나게 많은 경우의 수가 존재하는 바둑에서, 바둑 기사들이 경험과 직관을 바탕으로 수를 찾아내는 것을 들 수 있다.
다만 본 발명은 인공지능 에이전트에게 학습의 환경을 제공하고, 방대한 데이터를 인공지능 에이전트가 학습하게 함으로써, 출력값을 결정짓는 다양한 변수들에도 불구하고 최적의 파라미터를 산출할 수 있는 장점이 있다. 유사한 예로써, 엄청나게 많은 경우의 수가 존재하는 바둑에서, 인공지능이 기보를 학습하여 최적의 수를 찾아내는 것을 들 수 있다.
또한 다양한 변수가 작용하고 동작 할 때마다 설정값이 변경될 수 있는 제어 시스템의 동작 환경에 있어서, 인공지능의 목표를 어떻게 설정해야 하는지가 문제될 수 있다.
다만 본 발명은 베이스 라인이라는 명확한 목표를 인공지능에게 부여하고, 인공지능은 베이스 라인과의 갭을 최소화 하는 방향으로 학습을 수행하기 때문에, 인공지능의 학습 능력과 학습 속도를 향상시킬 수 있는 장점이 있다.
또한, 베이스 라인 중 제1 라인은 제어 시스템의 최대 제어에 따른 출력값을 나타내며, 베이스 라인 중 제2 라인은 특정 동작에서의 설정값을 나타낸다. 따라서 본 발명에 따르면, 설정값에 빨리 도달하라는 목표 및 출력값의 오버슛이나 출렁거림을 줄이는 등의 시스템의 안정화를 위한 목표를 인공지능에게 동시에 부여할 수 있는 장점이 있다.
또한 동일한 제어 시스템이 동일한 동작을 수행하더라도, 제어 시스템이 설치된 장소에 따라 출력값은 상이해질 수 있다.
예를 들어 더운 기후의 태국에 설치된 난방 시스템과 추운 기후의 러시아에 설치된 난방 시스템이 똑같이 밸브를 80프로 열더라도, 태국에서의 출력값의 평균 변화율과 러시아에서의 출력값의 평균 변화율은 상이할 수 있다.
다른 예를 들어, 단열이 잘되는 제1 빌딩과 단열이 잘 되지 않는 제2 빌딩에서의 출력값의 평균 변화율은 서로 상이할 수 있다.
다만 본 발명의 제1 라인은 제어 시스템이 설치된 환경에서 최대 제어에 의한 출력값에 기초하여 설정된다. 즉 제1 라인은 제어 시스템이 설치된 환경의 특성을 반영하여 설정되고, 인공지능은 제1 라인을 추종하는 것을 목표로 강화 학습을 수행하기 때문에, 본 발명에 따르면 제어 시스템이 설치된 환경에 부합하는 최적의 제어 함수를 찾을 수 있는 장점이 있다.
한편 본 발명에 따른 인공지능부는, 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 하나 이상의 베이스 라인과 출력값의 갭에 따른 보상 중 적어도 하나를 설정하고, 하나 이상의 베이스 라인과 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행할 수 있다.
여기서 제어 시스템의 복수의 동작 목표는, 출력값이 설정값에 빨리 도달하는 목표, 출력값의 출렁임을 줄이는 목표, 출력값의 오버슛을 줄이는 목표, 출력값이 추종해야 하는 목표, 출력값이 회피해야 하는 목표 중 적어도 하나를 포함할 수 있다.
먼저, 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인과 출력값의 갭에 따른 보상을 설정하여 강화 학습을 수행하는 방법을 설명한다.
도 4는 본 발명의 실시 예에 따른, 갭의 위치에 따라 상이한 보상을 부여하는 방법을 설명하기 위한 도면이다.
인공지능부(120)는 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인과 출력값의 갭에 따른 보상을 설정할 수 있다.
예를 들어 인공지능부(120)는 출력값이 추종해야 하는 목표에 따라 베이스 라인(220)을 설정하고, 출력값이 설정값에 빨리 도달하는 목표에 따라 제1 라인(221)과 출력값 사이의 갭에 대한 보상을 설정하고, 출력값의 오버슛을 줄이고 출렁임을 줄이기 위한 목표에 따라 제2 라인(222)과 출력값 사이의 갭에 대한 보상을 설정할 수 있다.
이 경우 인공지능부(120)는 베이스 라인과 출력값 사이의 갭(Gap)의 위치에 따라 상이한 보상(reward)을 부여할 수 있다.
구체적으로, 인공지능부(120)는 제1 라인(221)과 출력값 사이의 갭을 기초로 제1 보상을 부여하고, 제2 라인(222)과 출력값 사이의 갭을 기초로 제2 보상을 부여할 수 있다. 이 경우 제1 보상과 제2 보상은 서로 상이할 수 있다.
예를 들어 제1 파라미터를 포함하는 제어 함수의 제어값에 따라 제어 시스템이 제어를 수행한 경우에 나타나는 출력값을 제1 출력값(410)이라 가정하고, 제1 보상이 제2 보상보다 크다고 가정하여 설명한다.
베이스 라인(220)과 제1 출력값(410) 사이의 갭(G21, G23, G25, G27, G29)은 제1 라인(221)과 제1 출력값(410) 사이의 갭(G21, G23) 및 제2 라인(222)과 제1 출력값(410) 사이의 갭(G25, G27, G29)을 포함할 수 있다.
한편 제1 라인(221)과 제1 출력값(410) 사이의 갭(G21, G23)이 작을수록 제1 보상이 부여되며, 제2 라인(222)과 제1 출력값(410) 사이의 갭(G25, G27, G29)이 작을수록 제2 보상이 부여된다. 또한 제1 보상은 제2 보상보다 클 수 있다.
예를 들어 제1 라인(221)과 제1 출력값(410) 사이의 제1 갭(G21)이 10이고, 제2 라인(222)과 제1 출력값(410) 사이의 제2 갭(G29)이 10이 경우, 제1 갭(G21)에는 5의 보상이, 제2 갭(G29)에는 2의 보상이 부여될 수 있다.
따라서, 제1 보상이 제2 보상보다 큰 상태에서 베이스 라인을 추종하는 최적의 제어 함수를 획득한 경우, 최적의 제어 함수에 따른 출력값은 제2 라인(222)보다 제1 라인(221)에 더욱 접근한 형태일 수 있다. 즉 최적의 제어 함수에 따른 출력값과 제1 라인(221)의 갭은, 최적의 제어 함수에 따른 출력값과 제2 라인(222)의 갭보다 작을 수 있다.
예를 들어 제1 보상이 제2 보상보다 큰 경우에 최적의 제어 함수에 따른 출력값이 제1 출력값(410)이라고 가정하는 경우, 제1 출력값(410)은 제2 라인(222)보다 제1 라인(221)에 더욱 접근한 형태일 수 있다.
반대로, 제2 파라미터를 포함하는 제어 함수의 제어값에 따라 제어 시스템이 제어를 수행한 경우에 나타나는 출력값을 제2 출력값(420)이라 가정하고, 제1 보상이 제2 보상보다 작다고 가정하여 설명한다.
베이스 라인(220)과 제2 출력값(420) 사이의 갭(G22, G24, G26, G28, G30)은 제1 라인(221)과 제2 출력값(420) 사이의 갭(G222, G24) 및 제2 라인(222)과 제2 출력값(420) 사이의 갭(G26, G28, G30)을 포함할 수 있다.
한편 제1 라인(221)과 제2 출력값(420) 사이의 갭(G22, G24)이 작을수록 제1 보상이 부여되며, 제2 라인(222)과 제2 출력값(420) 사이의 갭(G26, G28, G30)이 작을수록 제2 보상이 부여된다. 또한 제1 보상은 제2 보상보다 작을 수 있다.
예를 들어 제1 라인(221)과 제2 출력값(420) 사이의 제1 갭(G22)이 10이고, 제2 라인(222)과 제2 출력값(420) 사이의 제2 갭(G28)이 10이 경우, 제1 갭(G22)에는 2의 보상이, 제2 갭(G28)에는 4의 보상이 부여될 수 있다.
따라서 제1 보상이 제2 보상보다 작은 상태에서 베이스 라인을 추종하는 최적의 제어 함수를 획득한 경우, 최적의 제어 함수에 따른 출력값은 제1 라인(221)보다 제2 라인(222)에 더욱 접근한 형태일 수 있다. 즉 최적의 제어 함수에 따른 출력값과 제2 라인(222)의 갭은, 최적의 제어 함수에 따른 출력값과 제1 라인(221)의 갭보다 작을 수 있다.
예를 들어 제1 보상이 제2 보상보다 작은 경우에 최적의 제어 함수에 따른 출력값이 제2 출력값(420)이라고 가정하는 경우, 제2 출력값(420)은 제1 라인(221)보다 제2 라인(222)에 더욱 접근한 형태일 수 있다.
앞서, 제1 라인(221)을 설정하는 의미는, 설정값에 빨리 도달한다는 목표를 인공지능부(120)에게 부여하는 것이고, 제2 라인(222)을 설정하는 의미는, 설정값에 도달한 후, 출력값의 오버슛(overshoot)을 줄이거나 출력값이 설정값 이상 및 이하로 출렁거리는 것을 줄이는 목표를 인공지능부(120)에 부여하는 것이라 설명한 바 있다.
즉 본 발명은 갭의 위치에 따라 상이한 보상을 부여하는 방식으로 다양한 동작 목표에 가중치를 부여한 후, 인공지능이 가중치가 부여된 동작 목표에 따른 최적의 파라미터를 찾아내도록 할 수 있다.
예를 들어 제1 출력값(410)을 참고하면, 제1 라인(221)과 출력값의 갭에 더 높은 보상을 부여하는 경우에는 출력값이 설정값에 도달하는 시점(t3)이 빨라지나, 오버슛(overshoot)이 커지거나 출력값이 설정값 이상 및 이하로 출렁거리는 것이 심해진다. 따라서 설정값까지의 빠른 제어 측면에서는 유리하나, 전력 사용량 및 시스템 안정화 측면에서는 불리할 수 있다.
다른 예를 들어 제2 출력값(420)을 참고하면, 제2 라인(222)과 출력값의 갭에 더 높은 보상을 부여하는 경우에는 출력값이 설정값에 도달하는 시점(t4)이 늦어지고, 오버슛(overshoot)이 작아지거나 출력값이 설정값 이상 및 이하로 출렁거리는 것이 작아질 수 있다. 따라서 설정값 까지의 빠른 제어 측면에서는 불리하나, 전력 사용량 및 시스템 안정화 측면에서는 유리할 수 있다.
즉 본 발명은 갭의 위치에 따라 부여되는 보상의 크기를 변경함으로써 다양한 동작 목표들을 중요도에 따라 다양하게 조합하고, 상응하는 최적의 파라미터를 획득할 수 있는 장점이 있다.
한편 앞선 설명에서는 제1 라인과 출력값 사이의 갭과 제2 라인과 출력값 사이의 갭에 상이한 보상을 부여한다고 설명하였으나 이에 한정되지 않으며, 보상의 크기는 동작 목표에 따라 다양한 방식으로 부여될 수 있다.
예를 들어 오버슛(overshoot)을 최소화 하는 동작 목표에 높은 가중치를 부여하기를 원하는 경우, 다른 갭(G27, 29)보다 베이스 라인(220)과 오버슛(overshoot)이 발생하는 위치의 갭(G25)에 더 큰 보상이 부여될 수 있다.
다른 예를 들어 출력값이 설정값 이상 및 이하로 출렁거리는 것을 줄여서 시스템의 빠른 안정화에 높은 가중치를 부여하기 원하는 경우, 다른 갭(G25) 보다 출력값이 설정값 이상 및 이하로 출렁거림이 발생하는 위치의 갭(G27, G29)에 더 큰 보상이 부여될 수 있다.
도 5는 본 발명의 실시 예에 따른, 베이스 라인과 출력값의 비교 범위를 설명하기 위한 도면이다.
인공지능부(120)는 제어 시스템의 제어에 따른 출력값(510)이 베이스 라인(220)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
이 경우 인공지능부(120)는 출력값(510)이 설정값(T2)에 도달하기 까지 출력값(510)이 제1 라인(221)을 추종하고, 출력값(510)이 설정값(T2)에 도달한 이후에는 출력값(510)이 제2 라인(222)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
한편 제어 시스템이 동작을 시작한 시점(t1)으로부터 출력값(510)이 설정값(T2)에 도달한 시점(t3)을 제1 시간(Δt5)이라 명칭한다.
인공지능부(120)는 출력값(510)이 설정값(T2)에 도달하기까지의 제1 시간(Δt5) 동안 출력값이 제1 라인(221)을 추종하고, 출력값(510)이 설정값(T2)에 도달한 후의 제2 시간(Δt6) 동안 출력값이 제2 라인(222)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
즉 인공지능부(120)는 제1 시간(Δt5) 구간 및 제2 시간(Δt6) 구간에서의 출력값(510)과 베이스 라인(220)의 갭에 리워드를 부여하여 강화 학습을 수행할 수 있다.
이 경우 제1 시간(Δt5)과 제2 시간(Δt6)은 비례 관계로써 아래와 같은 수식으로 나타낼 수 있다. 여기서 α는 비례 상수일 수 있다.
[수학식 2]
제2 시간 = α * 제1 시간
예를 들어 비례 상수가 1이고, 제어 시스템이 동작을 시작하고 출력값이 설정값에 도달하는 제1 시간이 2분인 경우, 인공지능부(120)는 출력값이 설정값에 도달하기까지의 2분 동안 출력값이 제1 라인(221)을 추종하고, 출력값이 설정값에 도달한 후의 2분 동안 출력값이 제2 라인(222)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
다른 예를 들어 비례 상수가 0.8이고, 제어 시스템이 동작을 시작하고 출력값이 설정값에 도달하는 제1 시간이 2분인 경우, 인공지능부(120)는 출력값이 설정값에 도달하기까지의 2분 동안 출력값이 제1 라인(221)을 추종하고, 출력값이 설정값에 도달한 후의 1분 36초 동안 출력값이 제2 라인(222)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
출력값이 설정값 이상 및 이하로 출렁거리는 것은 에너지의 투입에 대한 반사적인 반응으로써, 에너지의 투입이 큰 만큼 출렁거림이 더 오랫동안 발생할 수 있다.
예를 들어 난방 시스템의 예를 들면, 출력값을 최초 25도로부터 설정값 26도로 상승시키는 경우보다 출력값을 최초 25도로부터 설정값 30도로 상승시키는 경우에, 제1 시간(Δt5)은 더 길어지며, 밸브의 개방에 따라 파이프를 통과하는 난방용 물이 많아진다. 이에 따라 출력값을 최초 25도로부터 설정값 30도로 상승시키는 경우에, 온도가 설정값에 도달한 후의 온도의 출렁거림이 더 오래 지속될 수 있다.
본 발명은 제1 시간(Δt5)과 제2 시간(Δt6)을 비례 관계로 설정 한다. 따라서 본 발명은 에너지의 투입이 클수록 더 오랫동안 출력값을 모니터링 한 후 강화 학습을 수행함으로써, 최적의 파라미터를 산출할 수 있는 장점이 있다.
다음은, 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인을 설정하여 강화 학습을 수행하는 방법에 대하여 설명한다.
도 6은 본 발명의 실시 예에 따른, 추가적인 베이스 라인을 설정하고, 추가적인 베이스 라인을 회피하는 것을 목표로 강화학습을 수행하는 방법을 설명하기 위한 도면이다.
인공지능부(120)는 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인을 설정할 수 있다.
예를 들어 인공지능부(120)는 출력값이 추종해야 하는 목표에 따라 베이스 라인(220)을 설정하고, 출력값이 회피해야 하는 목표에 따라 제2 베이스 라인(610) 및 제3 베이스 라인(620) 중 적어도 하나를 설정할 수 있다.
앞서, 베이스 라인(220)은 제어 시스템의 제어에 따른 출력값의 이상적인 변화라고 설명한 바 있다.
이에 반해 제2 베이스 라인(610)은 제어 시스템의 제어에 따른 출력값이 회피해야 하는 회피 목표를 의미할 수 있다.
난방 시스템의 예를 들어 설명하면, 제2 베이스 라인(610)은 특정 온도를 의미할 수 있다.
예를 들어, 온도가 특정 온도 이상 올라가는 것을 막아서 사용자가 불쾌감을 느끼는 것을 방지하기 위하여, 또는 온도가 특정 온도 이상 올라가는 것을 막아서 과도한 전력이 소모되는 것을 방지하기 위하여, 제2 베이스 라인(610)은 특정 온도로써 설정 될 수 있다. 예를 들어 설정값이 30도이고, 특정 온도는 40도일 수 있다.
그리고 인공지능부(120)는 출력값이 베이스 라인(220)을 추종하고 제2 베이스 라인(610)을 회피하는 것을 목표로 강화 학습을 수행하여, 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 할 수 있다. 여기서 제2 베이스 라인을 회피하는 것을 목표로 한다는 의미는, 제어 시스템의 제어에 따른 출력값이 제2 베이스 라인(610)에 최대한 멀어지는 것을 목표로 한다는 의미일 수 있다.
구체적으로 인공지능부(120)는 베이스 라인(220)과 출력값(510) 사이의 갭(G31, G32)을 기초로 보상(reward)을 부여하고, 제2 베이스 라인(610)과 출력값(510) 사이의 갭(G33, G34)을 기초로 벌점(penalty)를 부여할 수 있다.
더욱 구체적으로, 베이스 라인(220)과 출력값(510) 사이의 갭(G31, G32)이 작을수록 높은 보상(reward)이 부여될 수 있으며, 제2 베이스 라인(610)과 출력값(510) 사이의 갭(G33, G34)이 작을수록 높은 벌점(penalty)이 부여될 수 있다.
그리고 인공지능부(120)는 보상(reward) 및 벌점(penalty)의 합을 최대화 하는 하나 이상의 파라미터를 획득하고, 보상(reward) 및 벌점(penalty)의 합을 최대화 하는 하나 이상의 파라미터가 획득된 경우 기존의 제어 함수의 파라미터를 새롭게 획득한 파라미터로 변경함으로써, 기존의 제어 함수를 업데이트 할 수 있다.
이러한 방식으로 인공지능부(120)는 계속적으로 강화 학습을 수행함으로써, 제어 시스템의 제어에 따른 출력값이 베이스 라인을 추종하고 제2 베이스 라인을 회피하는 최적의 파라미터를 획득할 수 있다.
이와 같이 본 발명은 복수의 베이스 라인(220, 610)을 설정함으로써, 인공지능이 다양한 목표에 기반하여 강화 학습을 수행하도록 할 수 있다.
구체적으로 베이스 라인(220)만이 존재한다고 가정하는 경우, 출력값이 베이스 라인(220)을 가장 가깝게 추종하는 최적의 파라미터는 베이스 라인(220)과 출력값(510) 사이의 갭의 평균(즉, 출력값과 베이스 라인 사이의 공간의 면적)에 의해 결정된다. 따라서 갭의 평균이 최소화 되더라도 큰 오버슛이 발생할 수 있으며, 오버슛에 따라 출력값(510)이 사용자에게 불쾌감을 유발하는 특정 온도에 접근할 수도 있다.
따라서 본 발명은 복수의 베이스 라인(220, 610)을 설정하고, 출력값이 베이스 라인을 추종 또는 회피하는 최적의 파라미터를 인공지능이 학습하게 함으로써, 다양한 목표를 달성할 수 있는 최적의 파라미터를 산출할 수 있는 장점이 있다.
한편 앞선 설명에서는 두개의 베이스 라인(220, 610)을 설정하는 것으로 설명하였으나 베이스 라인의 개수는 한정되지 않는다.
예를 들어 공조 시스템에서, 베이스 라인(220), 제2 베이스 라인(610) 및 제3 베이스 라인(620)이 설정될 수 있다. 여기서 베이스 라인(220)은 출력값(출력 온도)가 추종하여야 하는 온도, 제2 베이스 라인(610)은 출력값(출력 온도)이 회피해야 하는 높은 온도(예를 들어 40도), 제3 베이스 라인(620)은 출력값(출력 온도)이 회피해야 하는 낮은 온도(예를 들어 15도)를 의미할 수 있다. 이에 따라 인공지능부(120)는 공조 시스템의 제어에 따른 온도가 15도 내지 40도의 범위에서 베이스 라인을 추종하는 최적의 파라미터를 산출할 수 있다.
한편, 베이스 라인(220)과 출력값(510) 사이의 갭(G31, G32)이 작을수록 높은 보상(reward)이 부여되고, 제2 베이스 라인(610)과 출력값(510) 사이의 갭(G33, G34)이 작을수록 높은 벌점(penalty)이 부여되며, 이 경우 벌점(penalty)의 크기는 보상(reward)의 크기보다 클 수 있다.
예를 들어 베이스 라인(220)과 출력값(510) 사이의 갭이 10이고, 제2 베이스 라인(610)과 출력값(510) 사이의 갭이 10인 경우, 베이스 라인(220)과 출력값(510) 사이의 갭에는 5의 보상이, 제2 베이스 라인(610)과 출력값(510) 사이의 갭에는 10의 벌점이 부여될 수 있다.
제2 베이스 라인이 나타내는 특정 온도는 출력값이 넘어서는 안되는 한계점일 수 있다. 따라서 본 발명은 보상과 벌점의 크기를 상이하게 함으로써, 베이스 라인(220)을 추종하는 동작 목표보다 제2 베이스 라인(610)이 나타내는 특정 온도를 회피하는 동작 목표에 더 높은 가중치를 부여할 수 있다.
도 7은 본 발명의 실시 예에 따른, 출력값과 제2 베이스 라인 상의 일 지점이 일치하는 경우, 파라미터를 폐기하는 방법을 설명하기 위한 도면이다.
출력값이 베이스 라인(220)을 추종하고 제2 베이스 라인(610)을 회피하는 것을 목표로 강화 학습을 수행하더라도, 출력값이 제2 베이스 라인(610)에 접근할 가능성은 여전히 존재하며, 출력값이 제2 베이스 라인(610)에 닿을 수도 있다.
한편 제2 베이스 라인이 나타내는 값은 출력값이 넘어서는 안되는 한계점일 수 있다.
따라서 인공지능부(120)는 출력값이 제2 베이스 라인(610) 상의 일 지점(711)과 일치하는 경우, 제어 시스템에 제어값을 제공한 제어 함수의 파라미터를 폐기할 수 있다. 그리고 인공지능부(120)는 폐기되는 파라미터를 제어 함수의 파라미터로써 사용하지 않을 수 있다.
도 8은 본 발명의 실시 예에 따른, 환경 조건의 변화에 따라 베이스 라인을 재 설정하는 방법을 설명하기 위한 도면이다.
인공지능부(120)는 환경 조건의 변화에 따라 베이스 라인을 재 설정할 수 있다.
여기서 환경 조건은, 제어 시스템의 제어 대상을 변경시키는 외부 요인일 수 있다. 다시 말해서 제어 시스템의 제어 대상은 제어 시스템의 제어에 의해서가 아니라 제어 시스템의 제어 이외의 다른 요인으로도 변경될 수 있는데, 상기 다른 요인을 환경 조건이라 지칭할 수 있다.
예를 들어 제어 시스템이 난방 시스템인 경우, 난방 시스템의 제어 대상은 온도이다. 그리고 온도는 난방 시스템의 제어뿐만이 아니라, 시간, 날짜, 계절, 날씨 등에 의해서도 변경될 수 있다. 이 경우 환경 조건은 시간, 날짜, 계절, 날씨 등일 수 있다.
앞서, 베이스 라인(220)의 제1 라인(221)은 제어 시스템의 제어에 따른 출력값의 이상적인 변화를 나타내는 것으로써, 제어 시스템의 최대 제어에 따른 출력값의 변화를 의미하는 것으로 설명한 바 있다.
한편 제어 시스템의 제어에 따른 출력값의 이상적인 변화는 환경 조건의 변화에 따라 달라질 수 있다.
예를 들어 난방 시스템에서 밸브를 동일 크기만큼 개방하더라도, 여름철의 출력값(온도)의 변화율과 겨울철의 출력값(온도)의 변화율은 서로 상이할 수 있다.
따라서 여름철에 제어 시스템의 최대 제어에 따른 출력값의 변화를 베이스 라인(221)으로 설정한 후 강화 학습을 수행하여 최적의 파라미터를 산출하더라도, 산출한 최적의 파라미터는 겨울철에 적용되는 최적의 파라미터가 아닐 수 있다.
따라서 본 발명의 실시 예에 따른 인공지능부(120)는 환경 조건의 변화에 따라 베이스 라인(220)을 재 설정 할 수 있다.
구체적으로 수집부(110)는 출력값을 직접 획득하거나, 외부로부터 수신할 수 있다.
그리고 인공지능부(120)는 출력값의 변화를 감지할 수 있다. 이 경우 출력값의 변화는, 제어 시스템의 제어에 따른 출력값의 변화가 아닌, 제어 시스템의 제어와는 무관한 출력값의 변화를 의미할 수 있다.
그리고 출력값의 변화가 감지되면, 인공지능부(120)는 제어 시스템이 최대 제어를 수행하도록 제어 시스템을 제어할 수 있다.
그리고 제어 시스템이 최대 제어를 수행하는 중, 인공지능부(120)는 제어 시스템의 최대 제어에 따른 출력값을 획득할 수 있다. 그리고 인공지능부(120)는 획득한 출력값에 기초하여 새로운 베이스 라인(820)의 제1 라인(821)을 설정할 수 있다.
그리고 새로운 베이스 라인(820)의 제1 라인(821)이 설정되면, 인공지능부(120)는 제어 시스템의 제어에 따른 출력값이 새로운 베이스 라인(820)을 추종하는 것을 목표로 강화 학습을 수행할 수 있다;
도 8에서 도시한 제1 출력값(830)은 기존의 베이스 라인(220)을 추종하는 것을 목표로 강화 학습을 수행하여 최적의 제어 함수를 획득하고, 획득한 제어 함수에서 제공한 제어 값으로 제어한 경우의 출력값을 나타낸다.
또한 도 8에서 도시한 제2 출력값(840)은 새로운 베이스 라인(820)을 추종하는 것을 목표로 강화 학습을 수행하여 최적의 제어 함수를 획득하고, 획득한 제어 함수에서 제공한 제어 값으로 제어한 경우의 출력값을 나타낸다.
계절, 날짜, 기타 변수 들이 작용하여 환경 조건이 변경되면서, 현재 환경 조건에 맞는 최적의 PID 파라미터는 달라질 수 있다. 다만 종래에는 인간의 직관과 경험으로 파라미터를 설정하였기 때문에, 이러한 환경 조건의 변경에 대하여 적절히 대응하여 파라미터를 최적화 할 수 없다는 문제가 있었다.
다만 본 발명은 환경 조건의 변화가 있는 경우 베이스 라인을 변경하고, 변경된 베이스 라인을 추종하는 것을 목표로 강화 학습을 다시 수행함으로써, 환경 조건의 변화에 대응하여 파라미터를 최적화 할 수 있는 장점이 있다.
도 9는 본 발명의 실시 예에 따른, 인공지능 장치 및 제어 시스템의 동작 방법을 설명하기 위한 순서도 이다.
인공지능부(120)는 베이스 라인을 설정할 수 있다(S910).
구체적으로 인공지능부(120)는 제어 시스템이 최대 제어를 수행하도록 제어 시스템을 제어할 수 있다.
또한 인공지능부(120)는 제어 시스템이 최대 제어를 수행하는 중에 획득되는 출력값에 따라 베이스 라인을 설정할 수 있다.
베이스 라인이 설정되면, 인공지능부(120)는 제어 시스템의 제어에 따른 출력값이 베이스 라인을 추종하는 것을 목표로 강화 학습을 수행할 수 있다(S920).
구체적으로 인공지능부(120)는 제어 함수의 파라미터를 다양하게 변경하고, 파라미터가 변경된 제어 함수를 제어 시스템에 제공할 수 있다.
이 경우 제어 시스템은 인공지능부(120)로부터 제공 받은 제어 함수에 따라 제어를 수행할 수 있다.
구체적으로 제어 시스템은 현재값 및 설정값을 인공지능부(120)로부터 제공 받은 제어 함수에 입력하여 제어값을 산출할 수 있다. 또한 제어 시스템은 산출된 제어값에 따른 제어를 수행할 수 있다.
이 경우 인공지능부(120)는 제어 시스템의 제어에 따른 출력값을 획득할 수 있다. 그리고 인공지능부(120)는 획득된 출력값 및 출력값을 획득하는데 사용된 파라미터를 이용하여, 베이스 라인을 가장 가깝게 추종하는 파라미터를 획득할 수 있다.
한편 인공지능부(120)는 제어 함수의 파라미터를 업데이트 할 수 있다(S930).
구체적으로 베이스 라인을 더욱 가깝게 추종하는 파라미터가 획득된 경우, 인공지능부(120)는 기존의 제어 함수를 새롭게 획득한 파라미터를 포함하는 제어 함수로 변경할 수 있다.
한편 제어 시스템은 업데이트 된 제어 함수에 따라 제어를 수행할 수 있다(S940).
즉 강화 학습을 통하여 베이스 라인을 가장 가깝게 추종하는 파라미터가 획득된 바, 제어 시스템은 업데이트 된 제어 함수에 따라 제어를 수행할 수 있다.
한편 환경 조건의 변화(S950)가 없는 경우, 인공지능부(120)는 S920 내지 S940 과정을 반복하여, 동일한 베이스 라인을 기반으로 최적의 파라미터를 찾는 과정을 계속적으로 반복할 수 있다.
한편 환경 조건의 변화(S950)가 있는 경우(또는 환경 조건의 변화가 기 설정된 크기 이상인 경우), 인공지능부(120)는 베이스 라인을 재 설정할 수 있다(S910). 그리고 인공지능부(120)는 S920 내지 S940 과정을 반복하여, 새롭게 설정한 베이스 라인을 기반으로 최적의 파라미터를 찾는 과정을 계속적으로 반복할 수 있다.
도 10은 본 발명의 실시 예에 따른, 출력값의 패턴을 미리 학습시키는 방법을 설명하기 위한 도면이다.
출력값의 패턴은 제어 시스템의 제어에 따른 출력값의 변화 양상을 의미할 수 있다.
예를 들어 난방 시스템에서의 출력값의 패턴은, 밸브를 일정량 개방했을 때 난방 시스템의 제어에 따른 온도가 어떻게 변화되는지를 나타낼 수 있다.
한편 제어 시스템의 제어에 따른 출력값의 변화는, 현재의 행동(즉 현재의 제어)이 다음의 단계(출력값)에 영향을 주고, 다음 단계에서의 행동(현재 출력값 에서의 제어)가 그 다음 단계(출력값)에 영향을 주는 것이다.
따라서 인공지능부(120)는 시계열 데이터와 같이 시간의 흐름에 따라 변화하는 데이터를 학습하는 순환 신경망(Recurrent Neural Network, RNN)을 이용하여 출력값의 패턴을 학습할 수 있다. 이 경우 장단기 메모리(Long-Short term Memory, LSTM) 방식이 사용될 수 있다.
한편 인공지능부(120)는 제어 시스템의 제어 정보 및 제어 시스템이 설치되는 환경에서의 제어 정보에 따른 출력값을 순환 신경망(Recurrent Neural Network, RNN)으로 학습할 수 있다.
구체적으로, 순환 신경망(Recurrent Neural Network, RNN)이 학습하는 데이터는 제어 정보 및 제어 시스템이 설치되는 환경에서의 제어 정보에 따른 출력값의 시계열적 데이터일 수 있다.
예를 들어 난방 시스템의 경우, 순환 신경망(Recurrent Neural Network, RNN)이 학습하는 데이터는 밸브의 개방량 및 난방 시스템이 설치되는 환경에서의 밸브의 개방량에 따른 온도에 대한 시계열적 데이터일 수 있다.
이 경우 인공지능부(120)는 일정 기간 이상의 데이터들을 순환 신경망(Recurrent Neural Network, RNN)을 이용하여 학습함으로써, 출력값의 패턴을 획득할 수 있다.
한편 인공지능부(120)에 순환 신경망이 포함되고 인공지능부(120)가 순환 신경망을 이용하여 출력값의 패턴을 직접 획득하는 방식이 가능하며, 순환 신경망을 포함하는 외부 장치에서 출력값의 패턴을 획득한 후 인공지능 장치(100)의 저장부에 출력값의 패턴을 저장시키는 방식도 가능하다.
도 10a에서는, 난방 시스템이 설치된 특정 장소에서의 과거의 제어 정보(밸브의 개방)(1030) 및 제어 정보에 따른 출력값(온도)(1010)을 도시하였다.
또한 도 10b는 인공지능부(120)가 순환 신경망을 이용하여 난방 시스템이 설치된 특정 장소에서의 과거의 제어 정보(밸브의 개방)(1030) 및 제어 정보에 따른 출력값(온도)(1010)를 학습하고, 학습 결과 및 현재의 제어 정보에 기초하여 온도 변화(1020)를 예측한 것이다.
도 10c에 따르면, 과거의 실제 온도 변화(1010)와 예측한 온도 변화(1020)는 거의 유사한 양상을 보였으며, 95.49%의 일치율을 달성하였다.
도 11은 본 발명의 실시 예에 따른, 순환 신경망을 이용하여 출력값의 패턴을 획득하는 방법 및 출력값의 패턴에 기초하여 강화 학습을 수행하는 방법을 설명하기 위한 순서도이다.
인공지능부(120)는, 제어 시스템의 제어 정보 및 제어 시스템이 설치되는 환경에서의 상기 제어 정보에 따른 출력값을 순환 신경망으로 학습할 수 있다(S1110).
구체적으로 인공지능부(120)는 제어 시스템이 설치되는 환경에서의 상당 기간 이상의 제어 정보 및 제어 정보에 따른 출력값을 학습할 수 있다.
예를 들어 인공지능부(120)가 A 빌딩의 난방 시스템에 설치될 예정인 경우, 인공지능부(120)는 A 빌딩의 난방 시스템의 제어 정보 및 제어 정보에 따른 온도를 기록한 1년 간의 로그 데이터를 순환 신경망으로 학습할 수 있다.
이 경우 인공지능부(120)는 학습 결과에 따라 출력값의 패턴을 획득할 수 있다(S1130).
그리고 학습 결과가 저장부에 저장된 인공지능 장치는 제어 시스템에 연결되어, 제어 시스템에 제어 함수를 제공하고 강화 학습을 수행할 수 있다.
이 경우 인공지능부(120)는 출력값의 패턴에 기초하여 강화 학습을 수행할 수 있다(S1130).
구체적으로 인공지능부(120)는 시행착오 (try and error) 방식으로 제어 함수의 파라미터를 다양하게 변경하며 강화 학습을 수행할 수 있다.
이 경우 출력값의 패턴은, 강화 학습에서 에이전트(Agent)에게 제공되는 환경(Envrionment)으로써 제공될 수 있다.
즉 순환 신경망을 이용한 출력값의 패턴의 학습이 없는 경우에는, 출력값 자체가 에이전트(Agent)에게 제공되는 환경(Envrionment)이 되기 때문에, 상대적으로 강화 학습에 소요되는 시간이 증가할 수 있다.
다만 순환 신경망을 이용하여 출력값의 패턴을 미리 학습하는 경우에는, 출력값의 패턴이 환경(Envrionment)으로써 에이전트(Agent)에게 제공되기 때문에, 강화 학습에 소요되는 시간을 대폭 감소 시킬 수 있는 장점이 있다.
특히 인공지능 장치(100)를 판매하여 특정 장소에 설치하기로 한 경우, 인공지능 장치(100)의 판매자는 특정 장소의 로그 데이터를 입수하여 인공지능 장치(100)를 미리 학습시킨 후 설치할 수 있다. 이에 따라 강화 학습의 속도를 대폭 향상될 수 있는 장점이 있다.
한편 출력값의 패턴은 업데이트 될 수 있다.
예를 들어 인공지능 장치(100)는 제어 시스템이 설치되는 환경에서의 최신 1년치의 제어 정보 및 제어 정보에 따른 출력값을 순환 신경망으로 학습하여 출력값의 패턴을 획득할 수 있다.
다른 예를 들어, 인공지능 장치(100)에는 제어 시스템이 설치되는 환경에서의 최신 1년치의 제어 정보 및 제어 정보에 따른 출력값을 순환 신경망으로 학습하여 획득한 출력값의 패턴이 저장될 수 있다.
이 경우 인공지능부(120)는 출력값의 패턴을 주기적으로 업데이트 할 수 있다. 예를 들어 2018년 7월 1일에는 2017년 7월 1일부터 2018년 6월 30일까지의 로그 데이터를 학습하여 출력값의 패턴을 업데이트 하고, 2018년 8월 1일에는 2017년 8월 1일부터 2018년 7월 30일까지의 로그 데이터를 학습하여 출력값의 패턴을 업데이트 할 수 있다.
출력값의 패턴은 시간의 흐름에 따라 변경될 수 있다. 지구 온난화로 인하여 해가 갈수록 날씨가 점점 더워지는 경우, 난방 파이프 내 침전물이 생겨서 난방 성능이 점점 안 좋아 지는 경우 등을 그 예로 들 수 있다.
다만 본 발명은 동일한 기간의 최신의 데이터를 학습함으로써 현 상황에 부합하는 출력값의 패턴을 파악하고, 이에 따라 강화 학습을 수행함으로써, 강화 학습의 속도를 향상시킬 수 있는 장점이 있다.
도 12는 본 발명의 실시 예에 따른, 제어 시스템, 수집부 및 인공지능부가 통합적으로 구성되는 인공지능 장치를 도시한 도면이다.
인공지능 장치(100)는 수집부(120), 인공지능부(110) 및 동작부(130)를 포함할 수 있다.
수집부(120) 및 인공지능부(110)에는 도 1의 수집부 및 인공지능부에 대한 설명이 그대로 적용될 수 있다.
한편 도시하지는 않았으나, 인공지능 장치(100)는 저장부를 포함할 수 있다. 저장부에는 제어 함수, 출력값의 패턴, 강화 학습을 위한 응용 프로그램, 순환 신경망을 이용하여 시계열 데이터를 학습하기 위한 응용 프로그램 등이 저장될 수 있다.
한편 동작부(130)는 제어 시스템의 기능에 따른 구성을 포함할 수 있다.
구체적으로 제어 시스템은, 공조 시스템, 에너지 관리 시스템, 모터 제어 시스템, 인버터 제어 시스템, 압력 제어 시스템, 유량 제어 시스템, 냉/난방 시스템 등, 현재값을 수집하고, 수집한 현재값, 설정값 및 제어 함수를 이용하여 제어값을 출력하고, 출력된 제어 값에 따른 제어를 수행하는 모든 시스템을 의미할 수 있다.
제어 시스템이 난방 시스템인 경우, 수집부(120)는 온도 센서를 포함할 수 있다. 또한 구동부(130)는 난방용 물의 흐름을 제어하는 밸브 및 인공지능부(110)의 제어 하에 밸브의 개폐 정도를 조절하기 위한 장치를 포함할 수 있다.
이 경우 인공지능부(120)는 구동부(130)가 최대 제어(밸브의 100프로 개방)를 수행하도록 제어할 수 있으며, 최대 제어를 수행한 경우에 획득되는 출력값을 이용하여 베이스 라인을 설정할 수 있다.
그리고 인공지능부(120)는 현재 온도 및 목표 온도를 제어 함수에 입력하여 제어값을 출력하고, 출력된 제어 값에 따라 밸브를 개방하고, 밸브가 개방됨에 따라 획득되는 온도가 베이스 라인을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
그리고 강화 학습 결과에 따라 인공지능부는 제어 함수의 파라미터를 업데이트 할 수 있다.
도 13는 본 발명의 실시 예에 따른, 제어 시스템과 인공지능 장치가 별도로 구성되는 실시 예를 설명하기 위한 블록도이다.
인공지능 장치(100)는 수집부(110) 및 인공지능부(120)를 포함할 수 있다.
수집부(110) 및 인공지능부(120)에는 도 1의 수집부 및 인공지능부에 대한 설명이 그대로 적용될 수 있다.
한편 도시하지는 않았으나, 인공지능 장치(100)는 저장부를 포함할 수 있다. 저장부에는 제어 함수, 출력값의 패턴, 강화 학습을 위한 응용 프로그램, 순환 신경망을 이용하여 시계열 데이터를 학습하기 위한 응용 프로그램 등이 저장될 수 있다.
한편 제어 시스템(1300)은 제어부(1310), 구동부(1320), 통신부(1330) 및 센싱부(1340)를 포함할 수 있다.
또한 도시하지는 않았으나, 제어 시스템(1300)은 저장부를 포함할 수 있다. 저장부에는 구동부(1320)를 구동하기 위한 응용 프로그램, 제어 함수 등이 저장될 수 있다.
센싱부(1340)는 제어 시스템의 제어에 따른 출력값을 감지할 수 있다.
제어부(1310)는 제어 시스템(1300)의 전반적인 동작을 제어할 수 있다.
한편 제어 시스템(1300)의 통신부(1330)와 인공지능 장치(100)의 수집부(120)는 서로 연결되어, 상호 간에 통신을 수행할 수 있다.
인공지능부(110)는 구동부(130)가 최대 제어(밸브의 100프로 개방)를 수행하도록 하는 제어 명령을 수집부(120)를 통하여 제어 시스템(1300)에 전송할 수 있다.
이 경우 제어부(1310)은 최대 제어를 수행하고, 최대 제어를 수행한 경우에 획득되는 출력값을 인공지능 장치(100)에 전송할 수 있다.
이 경우 인공지능부(110)는 제어 시스템(1300)이 최대 제어를 수행한 경우에 획득되는 출력값을 이용하여 베이스 라인을 설정할 수 있다.
제어부(1310)는 제어 함수에서 제공하는 제어값에 기초하여 제어를 수행할 수 있다.
구체적으로, 제어부(1310)는 현재값 및 설정값을 제어 함수에 입력하여 제어 값을 출력하고, 출력된 제어 값에 따른 제어를 수행하고, 제어를 수행함에 따른 출력값을 센싱부(1340)를 통하여 감지할 수 있다. 그리고 출력값이 감지되는 경우, 제어부(1310)는 감지된 출력값 및 설정값을 제어 함수에 입력하여 제어 값을 출력하고, 출력된 제어 값에 따른 제어를 수행하고, 제어를 수행함에 따른 출력값을 센싱부(1340)를 통하여 감지할 수 있다.
즉 제어부(1310)는 일반적인 제어루프(Control loop) 피드백 기법(feedback mechanism)을 수행할 수 있다.
그리고 제어부(1310)는 제어 시스템의 제어 정보 및 센싱부(1340)에서 감지되는 출력값을 통신부(1330)을 통하여 인공지능부(100)에 전송할 수 있다.
한편 인공지능부(110)는 제어 시스템(1300)의 제어에 따른 출력값이 베이스 라인을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.
새로운 파라미터에 대한 학습이 필요한 경우, 인공지능부(110)는 새로운 파라미터를 포함하는 제어 함수를 제어 시스템(1300)에 전송할 수 있다. 이 경우 제어 시스템(1300)은 수신된 제어 함수를 이용한 제어를 수행하고, 제어 시스템(1300)의 제어에 따른 출력값을 감지하여 인공지능 장치(100)에 전송할 수 있다.
한편 강화 학습 결과에 따라 새로운 파라미터가 획득된 경우, 인공지능부(110)는 기존의 제어 함수를 새로운 파라미터를 포함하는 제어 함수로 업데이트 할 수 있다. 그리고 인공지능부(110)는 업데이트 된 제어 함수를 제어 시스템(1300)에 전송할 수 있다.
이 경우 제어 시스템(1300)은 업데이트 된 제어 함수를 이용하여 제어를 수행할 수 있다.
도 14는 본 발명의 실시 예에 따른, 복수의 제어 시스템에 대응하는 인공지능 장치가 제어 센터에 통합적으로 구성되는 실시 예를 설명하기 위한 블록도이다.
일례로써, 제어 센터(1500)는 특정 건물의 난방 시스템들을 통합 관리하는 장치일 수 있다. 그리고 제1 제어 시스템(1600)은 특정 건물 내 제1 공간의 난방을 제어하는 제어 장치일 수 있으며, 제2 제어 시스템(1700)은 특정 건물 내 제2 공간의 난방을 제어하는 제어 장치일 수 있다.
제1 제어 시스템(1600)은 제어부, 구동부, 통신부 및 센싱부를 포함할 수 있다. 통신부가 제어 센터(1500)와 통신하는 것 외에는, 도 13에서의 제어부, 구동부, 통신부 및 센싱부에 대한 설명이 그대로 적용될 수 있다.
또한 제2 제어 시스템(1700)은 제어부, 구동부, 통신부 및 센싱부를 포함할 수 있다. 통신부가 제어 센터(1500)와 통신하는 것 외에는, 도 13에서의 제어부, 구동부, 통신부 및 센싱부에 대한 설명이 그대로 적용될 수 있다.
한편 제어 센터(1500)는 수집부 및 인공지능부를 포함할 수 있다.
제어 센터(1500)의 수집부 및 인공지능부에는 도 13에서의 수집부 및 인공지능부에 대한 설명이 그대로 적용될 수 있다.
한편 제어 센터(1500)의 인공지능부는 제1 제어 시스템(1600)의 제어에 따른 출력값을 제1 제어 시스템(1600)으로부터 수신하고, 강화 학습을 기반으로 제1 제어 시스템(1600)에 제어값을 제공하는 제1 제어 함수를 업데이트 할 수 있다.
또한 제어 센터(1500)의 인공지능부는 제2 제어 시스템(1700)의 제어에 따른 출력값을 제2 제어 시스템(1700)으로부터 수신하고, 강화 학습을 기반으로 제2 제어 시스템(1700)에 제어값을 제공하는 제2 제어 함수를 업데이트 할 수 있다.
또한 제어 센터(1500)의 인공지능부는 제2 제어 시스템(1700)에서 획득된 환경 조건을 이용하여 제1 제어 시스템(1600)의 베이스 라인을 재 설정할 수 있다.
예를 들어, 제2 제어 시스템(1700)의 센싱부에서의 감지 결과에 따라 환경 조건의 변화가 감지된 경우, 제어 센터(1500)의 인공지능부는 제1 제어 시스템(1600)의 베이스 라인을 재 설정할 수 있다.
즉 제2 제어 시스템에서 획득한 센싱 정보를 제1 제어 시스템의 제어함수의 업데이트에 이용할 수 있다.
한편 상술한 설명에서는 PID를 제어 함수의 예로 들어 설명하였으나 이에 한정되지 않는다.
예를 들어 제어 함수는 PI 제어(Proportional?Integral control), PD 제어(Proportional?Derivative control) 및 PID 제어(Proportional?Integral?Derivative control) 중 하나를 포함할 수 있다.
이 외에도 제어 함수는, 피드백 제어를 수행하기 위하여 제어 시스템에 제어값을 제공하는 모든 유형의 함수를 포함할 수 있다.
한편 본 발명이 적용될 수 있는 난방 시스템에 대하여 설명한다.
본 발명의 실시 예에 따른 인공지능 장치는, 난방 시스템에 포함될 수 있다.
그리고 본 발명의 실시 예에 따른 인공지능 장치는, 수집부, 동작부 및 인공지능부를 포함할 수 있다.
이 경우 수집부는 온도를 감지하는 온도 센서를 포함할 수 있다. 여기서 온도는 난방 시스템의 온도 제어에 따른 출력값일 수 있다.
예를 들어 온도 센서는 난방 할 방 내에 설치되어, 방의 온도를 감지할 수 있다. 또한 난방 시스템이 온도 제어를 수행하는 경우, 온도 센서는 난방 시스템의 온도 제어에 따라 변화되는 방의 온도를 감지할 수 있다.
한편 동작부는, 난방 시스템의 온도 제어를 위하여 기체 또는 액체의 유량을 조절하는 밸브를 포함할 수 있다.
예를 들어 난방 시스템은 난방 할 방에 기체 또는 액체를 전달하는 난방 배관 및 난방 배관에 설치되어 기체 또는 액체의 유량을 조절하는 유량 조절 밸브를 포함할 수 있다. 또한 난방 시스템은 밸브의 개폐 정도를 제어하기 위한 구동부(예를 들어 모터)를 포함할 수 있다.
한편 인공지능부는, 강화 학습(Reinforcement Learning)을 기반으로 제어 함수를 업데이트 하고, 업데이트 된 제어 함수에서 출력되는 제어 값에 따라 밸브의 개폐량을 제어할 수 있다.
구체적으로 인공지능부는, 감지된 온도가 베이스 라인을 추종하는 것을 목표로 강화 학습을 수행할 수 있다.이 경우 베이스 라인은, 난방 시스템의 최대 제어에 따라 감지된 온도의 변화를 나타내는 제1 라인을 포함할 수 있다.
예를 들어 제어 함수에 의하여 최대 100프로의 제어값이 출력되는 경우, 난방 시스템은 100프로의 제어값에 대응하는 제어, 즉 밸브를 100프로 개방하는 제어를 수행할 수 있다. 이 경우 제1 라인은 밸브를 100프로 개방했을 때, 난방 할 방의 온도의 변화를 의미할 수 있다.
또한 베이스 라인은, 난방 시스템의 설정값인 목표 온도에 일치하는 제2 라인을 포함할 수 있다.
여기서 제2 라인은 난방 시스템이 난방을 수행한 경우 출력값이 도달해야 하는 목표 값일 수 있다. 예를 들어 난방 할 방의 현재 온도가 24도이며 온도를 30도로 상승시키라는 명령이 수신된 경우, 난방 시스템은 온도를 30도로 상승시키는 동작을 수행할 수 있다. 이 경우 인공지능부는 난방 시스템의 최대 제어 시 온도의 변화율을 나타내는 제1 라인 및 30도에 일치하도록 형성되는 제2 라인을 포함하는 베이스 라인을 설정할 수 있다.
그리고 인공지능부는, 감지된 온도가 베이스 라인을 추종하는 것을 목표로 강화 학습을 수행함으로써, 제어 함수를 업데이트 할 수 있다.
그리고 인공지능부는 업데이트된 제어함수에서 출력되는 제어 값에 따라 밸브의 개폐량을 조절할 수 있다.
구체적으로 난방 시스템에서 현재값은 현재 온도, 설정 값은 목표 온도일 수 있다. 그리고 인공지능부는 현재값과 설정값의 오차를 제어 함수에 입력하여 제어값을 산출할 수 있다. 그리고 인공지능부는 산출된 제어값에 따라 밸브의 개폐량을 조절할 수 있다.
한편 인공지능부는, 난방 시스템이 설치되는 환경에서의 온도의 패턴을 이용하여 강화 학습을 수행할 수 있다.
여기서 온도의 패턴은, 밸브를 일정량 개방했을 때 난방 할 방에서 온도가 어떻게 변화되는지에 대한 것일 수 있다.
그리고 온도의 패턴은, 난방 시스템의 제어 정보 및 난방 시스템이 설치되는 환경에서의 제어 정보에 따른 온도를 순환 신경망(Recurrent Neural Network, RNN)으로 학습함으로써 획득될 수 있다.
구체적으로, 순환 신경망(Recurrent Neural Network, RNN)이 학습하는 데이터는 밸브의 개폐량 및 난방 할 방에서의 밸브의 개폐량에 따른 온도의 시계열적 데이터일 수 있다.
이 경우 순환 신경망(Recurrent Neural Network, RNN)은 일정 기간 이상의 데이터들을 학습하여 출력값의 패턴을 획득할 수 있다. 그리고 학습된 순환 신경망은 인공지능 장치에 포함되는 저장부에 탑재될 수 있다.
한편, 인공지능부는 중앙처리장치, 마이크로 프로세서, 프로세서 등의 용어와 혼용될 수 있다.
한편 상술한 방법으로 피드백 제어가 되는 기법을, BONGSANG-PID라 명명할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
110: 수집부 120: 인공지능부

Claims (20)

  1. 제어 시스템의 제어에 따른 출력값을 획득하는 수집부; 및
    상기 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 상기 하나 이상의 베이스 라인과 상기 출력값의 갭에 따른 보상 중 적어도 하나를 설정하고, 상기 하나 이상의 베이스 라인과 상기 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행함으로써, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 인공지능부를 포함하는
    자동 제어 인공지능 장치.
  2. 제 1항에 있어서,
    상기 하나 이상의 베이스 라인은, 제1 베이스 라인을 포함하고,
    상기 인공지능부는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하여, 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는
    자동 제어 인공지능 장치.
  3. 제 2항에 있어서,
    상기 인공지능부는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)의 위치에 따라 상이한 보상(reward)를 부여하는
    자동 제어 인공지능 장치.
  4. 제 2항에 있어서,
    상기 제1 베이스 라인은,
    상기 제어 시스템의 최대 제어에 따른 상기 출력값의 변화를 나타내는 제1 라인 및 설정값과 일치하는 제2 라인을 포함하고,
    상기 인공지능부는,
    상기 출력값이 상기 설정값에 도달하기까지의 제1 시간 동안 상기 제1 라인을 추종하고 상기 출력값이 상기 설정값에 도달한 후의 제2 시간 동안 상기 제2 라인을 추종하는 것을 목표로 상기 강화 학습을 수행하는
    자동 제어 인공지능 장치.
  5. 제 4항에 있어서,
    상기 제1 시간과 상기 제2 시간은 비례 관계인
    자동 제어 인공지능 장치.
  6. 제 2항에 있어서,
    상기 하나 이상의 베이스 라인은, 제2 베이스 라인을 더 포함하고,
    상기 인공지능부는,
    상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는
    자동 제어 인공지능 장치.
  7. 제 6항에 있어서,
    상기 인공지능부는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하고, 상기 제2 베이스라인과 상기 출력값 사이의 갭(Gap)을 기초로 벌점(penalty)을 부여하는
    자동 제어 인공지능 장치.
  8. 제 7항에 있어서,
    상기 벌점(penalty)의 크기는 상기 보상(reward) 의 크기보다 큰
    자동 제어 인공지능 장치.
  9. 제 6항에 있어서,
    상기 인공지능부는,
    상기 출력값이 상기 제2 베이스 라인 상의 일 지점과 일치하는 경우, 상기 제어 함수에 사용된 하나 이상의 파라미터를 폐기하는
    자동 제어 인공지능 장치.
  10. 제 2항에 있어서,
    상기 인공지능부는,
    환경 조건의 변화에 따라 상기 제1 베이스 라인을 재 설정하는
    자동 제어 인공지능 장치.
  11. 제어 시스템의 제어에 따른 출력값을 획득하는 단계;
    상기 제어 시스템의 복수의 동작 목표에 따라 하나 이상의 베이스 라인 및 상기 하나 이상의 베이스 라인과 상기 출력값의 갭에 따른 보상 중 적어도 하나를 설정하는 단계; 및
    상기 하나 이상의 베이스 라인과 상기 출력값의 갭을 기초로 강화 학습(Reinforcement Learning)을 수행함으로써, 상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계;를 포함하는
    제어 함수의 업데이트 방법.
  12. 제 11항에 있어서,
    상기 하나 이상의 베이스 라인은, 제1 베이스 라인을 포함하고,
    상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하여, 상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계;를 포함하는
    제어 함수의 업데이트 방법.
  13. 제 12항에 있어서,
    상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)의 위치에 따라 상이한 보상(reward)를 부여하는 단계;를 포함하는
    제어 함수의 업데이트 방법.
  14. 제 12항에 있어서,
    상기 제1 베이스 라인은,
    상기 제어 시스템의 최대 제어에 따른 상기 출력값의 변화를 나타내는 제1 라인 및 설정값과 일치하는 제2 라인을 포함하고,
    상기 출력값이 상기 제1 베이스 라인을 가장 가깝게 추종하는 상기 하나 이상의 파라미터를 획득하는 단계는,
    상기 출력값이 상기 설정값에 도달하기까지의 제1 시간 동안 상기 제1 라인을 추종하고 상기 출력값이 상기 설정값에 도달한 후의 제2 시간 동안 상기 제2 라인을 추종하는 것을 목표로 상기 강화 학습을 수행하는
    제어 함수의 업데이트 방법.
  15. 제 14항에 있어서,
    상기 제1 시간과 상기 제2 시간은 비례 관계인
    제어 함수의 업데이트 방법.
  16. 제 12항에 있어서,
    상기 하나 이상의 베이스 라인은, 제2 베이스 라인을 더 포함하고,
    상기 제어 시스템에 제어값을 제공하는 제어 함수를 업데이트 하는 단계는,
    상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계;를 포함하는
    제어 함수의 업데이트 방법.
  17. 제 16항에 있어서,
    상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계는,
    상기 제1 베이스 라인과 상기 출력값 사이의 갭(Gap)을 기초로 보상(reward)를 부여하고, 상기 제2 베이스라인과 상기 출력값 사이의 갭(Gap)을 기초로 벌점(penalty)을 부여하는 단계를 포함하는
    제어 함수의 업데이트 방법.
  18. 제 17항에 있어서,
    상기 벌점(penalty)의 크기는 상기 보상(reward) 의 크기보다 큰
    제어 함수의 업데이트 방법.
  19. 제 16항에 있어서,
    상기 출력값이 상기 제1 베이스 라인을 추종하고 상기 제2 베이스 라인을 회피하는 것을 목표로 상기 강화 학습을 수행함으로써 상기 하나 이상의 파라미터를 획득하는 단계는,
    상기 출력값이 상기 제2 베이스 라인 상의 일 지점과 일치하는 경우, 상기 제어 함수에 사용된 하나 이상의 파라미터를 폐기하는 단계;를 포함하는
    제어 함수의 업데이트 방법.
  20. 제 12항에 있어서,
    환경 조건의 변화에 따라 상기 제1 베이스 라인을 재 설정하는 단계를 더 포함하는
    제어 함수의 업데이트 방법.
KR1020180129219A 2018-06-27 2018-10-26 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법 KR20200010973A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/007812 WO2020004974A1 (en) 2018-06-27 2019-06-27 Automatic control artificial intelligence device and method for updating control function
US16/454,816 US11662696B2 (en) 2018-06-27 2019-06-27 Automatic control artificial intelligence device and method for update control function

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862690360P 2018-06-27 2018-06-27
US62/690,360 2018-06-27
US201862692876P 2018-07-02 2018-07-02
US62/692,876 2018-07-02

Publications (1)

Publication Number Publication Date
KR20200010973A true KR20200010973A (ko) 2020-01-31

Family

ID=69369467

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180129184A KR20200010972A (ko) 2018-06-27 2018-10-26 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법
KR1020180129219A KR20200010973A (ko) 2018-06-27 2018-10-26 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180129184A KR20200010972A (ko) 2018-06-27 2018-10-26 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법

Country Status (1)

Country Link
KR (2) KR20200010972A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081628A (ko) * 2020-12-09 2022-06-16 세메스 주식회사 Pid 제어 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081628A (ko) * 2020-12-09 2022-06-16 세메스 주식회사 Pid 제어 방법 및 장치

Also Published As

Publication number Publication date
KR20200010972A (ko) 2020-01-31

Similar Documents

Publication Publication Date Title
KR102267180B1 (ko) 공조시스템 및 그 제어 방법
KR20190096311A (ko) 온도 예측 모델의 생성 장치 및 시뮬레이션 환경의 제공 방법
EP3029389B1 (en) Controlling system for environmental comfort degree and controlling method of the controlling system
US20210056384A1 (en) Apparatus for generating temperature prediction model and method for providing simulation environment
US11514358B2 (en) Automatic control artificial intelligence device and method for updating a control function
CN110529988A (zh) 空调的控制方法、装置、设备、空调和存储介质
CN110709796A (zh) 基于互联网的加热控制参数优化的方法和装置
WO2006112819A1 (en) Adaptive algorithm for setting the proportional integral (pi) gains in lag-dominated hvacr systems
CN104075402A (zh) 智能空调控制方法和系统
CN109028480A (zh) 一种恒温恒湿控制系统及其方法
EP3997545B1 (en) Method and system for controlling the temperature of a room
CN114020079A (zh) 一种室内空间温度和湿度调控方法及装置
KR20200010973A (ko) 자동 제어 인공지능 장치 및 제어 함수의 업데이트 방법
WO2020048407A1 (en) System and method using mobile device for automatic control on heating, ventilation and air conditioning
CN110094838A (zh) 一种基于空调系统的可变参数无模型自适应控制方法
US11662696B2 (en) Automatic control artificial intelligence device and method for update control function
CN117111656A (zh) 一种基于蒸发器的pid温度控制方法及系统
KR102458326B1 (ko) 냉난방기를 시동시키기 위한 방법 및 이를 수행하는 장치
WO2021234763A1 (ja) 室内温度推定装置、プログラム及び室内温度推定方法
KR20110061730A (ko) 차양 제어 시스템 및 그 제어 방법
BE1030934B1 (nl) Een verwarmings- en/of koelingssysteem voor collectieve residentiële wooneenheden, een sturingsinrichting daarvoor en een werkwijze voor het aansturen daarvan
BE1030936B1 (nl) Een verwarmings- en/of koelingssysteem voor collectieve residentiële wooneenheden, een sturingsinrichting daarvoor en een werkwijze voor het aansturen daarvan
CN110300942B (zh) 用于执行与外部温度相关的控制的方法
KR102520100B1 (ko) 공조 시스템의 실내온도 제어를 위한 적응형 유량제어 방법 및 장치
CN117307009B (zh) 传感反馈的电动卷帘式中空遮阳门智能控制系统及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application