Cognitive Took Kit (CNTK)를 Keras 백엔드에서 사용

CNTK 버전 2.1



CNTK도 버전이 2.1이 되었습니다. 2.1과 관련하여 향상된 기능 중 특징은 강화 학습의 프레임 워크로 deeprl을 제공합니다. 다음 링크에서 참조가 있습니다. 일부이지만 Deep Q-Learning 이외에도 몇 가지 로직이 구현된 것 같습니다.
cntk.contrib.deeprl.agent.agent module
cntk.contrib.deeprl.agent.agent_factory module
cntk.contrib.deeprl.agent.policy_gradient module
cntk.contrib.deeprl.agent.qlearning module
cntk.contrib.deeprl.agent.random_agent module
cntk.contrib.deeprl.agent.tabular_qlearning module
또한 2.0부터 지원되지만, Keras의 백엔드로 사용할 수 있게 됨으로써 용도가 퍼지고 있는 상황입니다.

Keras의 예



Keras의 예로 【Using Keras and Deep Q-Network to Play FlappyBird】을 소개하고 싶습니다. 원래 Keras에서 만든 강화 학습 샘플이지만 CNTK에 이식되었습니다. cntk/Examples/ReinforcementLearning/FlappingBirdWithKeras에 코드가 게시되었습니다. 샘플을 움직여보십시오. CNTK 설치 설정은 RC 시대와 다르지 않으므로 이 기사을 참조하십시오.

keras는 cntk를 activate한 커맨드 라인으로 아래와 같이 인스톨 할 수 있습니다(최신판에 업그레이드 해 두는 것이 좋기 때문에, 이미 인스톨 되고 있는 경우는, -U 옵션을 붙이는 것이 좋을 것입니다)
pip install keras
추가 구성 파일 ~/.keras/keras.json을 만듭니다. Windows의 경우 C:\Users<사용자 이름>.keras.json입니다. 파일의 내용은 다음과 같습니다.
{
"epsilon": 1e-07,
"image_data_format": "channels_last",
"backend": "cntk",
"floatx": "float32"
}

위에서 keras의 동작이 가능합니다. 아래에서 동작 확인 가능합니다.

・GPU 동작의 경우(GPU가 없으면 무섭게 시간이 걸립니다)
htps : // 기주 b. 이 m / f 쵸 t / 케라 s / b ぉ b / 마s r / 에 mp ぇ s / m에 st_c. py

・GPU가 들어 있지 않은 경우
htps : // 기주 b. 이 m / f 쵸 t / 케라 s / b ぉ b / 뭐 r / 에 ぁ ぇ s / m에 st_mlp. py
좋다고 생각합니다.
그런 다음 FlappingBird 종속성을 설치합니다.
pip install pygame
conda install scikit-learn
conda install scikit-image

이 상태에서, Windows에서도 Linux에서도 동작 가능합니다. 또, GPU로 동작하기 때문에, 고속의 동작도 기대할 수 있습니다.

우분투 16.04 LTS에서 실행









CNTK도 2.1이 되어 다양한 부분이 강화되고 있습니다. 앞으로의 강화 학습 분야의 진화가 상당히 기대됩니다.

좋은 웹페이지 즐겨찾기