Reinforcement Learning - Deep Q-Learning
Deep Q-Learning - Minimize Cost of Air Conditioning
서버 환경을 구성하고 최소한의 에너지를 사용하면서도 최적의 온도 범위를 유지하도록 서버의 냉난방을 제어하는 AI를 구축해 비용을 최소화하자.
환경구성
상태, 행동, 보상을 정의 및 서버의 작동 방식
- 서버를 제어할 환경 매개변수와 변수를 모두 나열한다.
- AI가 솔루션을 제공하기 위해 의존하게 되는 문제에 대한 필수 가정을 설정한다.
- 전체 프로세스를 시뮬레이션하는 방법을 지정한다.
- 서버의 전체 기능을 설명하고 AI가 자신의 역할을 수행
서버 환경의 매개변수와 변수
매개변수
- 월 평균 기온.
- 서버의 최적 온도범위 : 18 ~ 24 $^{\circ}C$
- 최저 온도 : -20$^{\circ}C$
- 최대 온도 : 80$^{\circ}C$
- 최소 사용자 수 : 10
- 최대 사용자 수 : 100
- 분당 서버 사용자 수의 최대 변동폭 : 5
- 서버의 최소 데이터 전송속도 : 20
- 서버의 최대 데이터 전송속도 : 300
- 분당 데이터 전송 속도의 최대 변동폭 : 10
환경 변수
- 서버 온도
- 서버와 연결된 사용자 수
- 데이터 전송 속도
- AI가 서버를 냉각시키거나 온도를 높이기 위해 소비한 에너지
- 서버 온도가 최적의 온도 범위를 벗어날 때마다 자동으로 서버 온도를 최적의 온도 범위로 되돌리기 위해 서버 자체 냉각 시스템이 소비하는 에너지
서버 환경에 대한 가정
-
서버 온도를 근사치로 계산할 수 있다.
서버 온도는 다중 선형 회귀를 통해 선형 함수로 근사시킬 수 있다.
서버온도 = $b_{0} + b_{1} \times 기온 + b_{2} \times 사용자 수 + b_{3} \times 데이터 전송 속도$ -
에너지 비용을 근사치로 계산할 수 있다.
AI 또는 서버 자체 냉각 시스템이 서버 온도를 단위 시간내에서 $T_{t}$에서 $T_{t+1}$로 바꾸는데 소비하는 에너지는 서버 온도 변화의 절댓값의 선형 함수에의한 회귀를 통해 다시 근사될 수 있다.
$E_{t} = \alpha |\Delta T_{t} | + \beta = \alpha |T_{t+1} - T_{t}| + \beta$ - $E_{t}$ : 시간 $t$와 $t+1$ 분 사이 시스템이 서버에 소비한 에너지
- $\Delta T_{t}$ : 시간 $t$와 $t+1$ 분 사이 시스템이 일으킨 서버 온도의 변경분
- $T_{t}$ : 시간 $t$에서 서버 온도
- $T_{t+1}$ : 시간 $t+1$에서 서버 온도
- $\alpha$ > 0
- $B \in R$
상태 정의
시간 $t$에 입력 상태 $t_{s}$는 세가지 요소로 구성된다.
- 시간 $t$에서 서버 온도
- 시간 $t$에서 서버 사용자 수
- 시간 $t$에서 데이터 전송률
행동 정의
행동은 단순히 AI가 서버 내부에서 서버 온도를 올리거나 내리기 위해 일으키는 온도 변화가 될 것이다. DQL에서 행동은 항상 불연속적이어야 한다. 서버 온도를 조절하기 위해 수행할 수 있는 작업을 5가지로 나누어 정의한다.
행동 | 수행내역 |
---|---|
0 | AI가 서버 온도를 3$^{\circ}C$ 낮춘다. |
1 | AI가 서버 온도를 1.5$^{\circ}C$ 낮춘다. |
2 | AI가 서버에 열을 전달하지 않는다. |
3 | AI가 서버 온도를 1.5$^{\circ}C$ 높인다. |
4 | AI가 서버 온도를 3$^{\circ}C$ 높인다. |
보상 정의
AI가 비활성화된 경우 비지능형 냉각 시스템이 소비한 에너지와 AI가 서버에 소비한 에너지 간의 차이가 된다.
가정2에 따라 시간 $t$와 시간$t+1$사이에 AI에 의해 절약된 에너지는
참고 : 아들랑 드 폰테베 『강화학습/심층강화학습특강』, 위키북스(2021), p191-203