- 2020년 1월 31일 오후 8:52
- 조회수: 5016
INFORMATION
- 2020년 2월 7일
- 오후 1시 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
요약: 머신 러닝은 기계가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야로 그 중에서 최근에 많은 연구가 되고 있는 분야는 강화학습이다. 강화학습은 인공지능의 정의에 가장 알맞는 연구 분야로 실생활에 적용하기 위해 다양한 주제별로 연구가 이루어지고 있다. 금일 세미나에서는 강화학습의 정의 및 이론에 대해서 설명하고 강화학습의 연구 트렌드에 대해서 소개하고자 한다.
발표자 후기
금일 세미나는 "Reinforcement Learning"이라는 주제로 진행하였다. 강화학습은 최근 머신 러닝 분야에서 각광 받고 있는 분야로 활발하게 연구되고 있다. 그 예로, 저명한 학회인 ICML (International Conference on Machine Learning)에 제출된 분야별 논문 개수의 통계치를 통해 알 수 있고 강화학습이 다양한 주제별로 연구가 진행되고 있는 것을 알 수 있다. 따라서 강화학습의 정의와 강화학습에서 사용하는 전문 용어의 정의를 지도학습과 비교하며 소개를 하였고, 주제별로 강화학습의 연구가 어떻게 발전되고 있는지 연구 트렌트를 소개하였다.
이번 세미나 과정을 준비하면서 청중들에게 어떻게 강화학습을 쉽게 설명할지와 강화학습의 연구 트렌드를 소개하면서 어떤 컨텐츠로 구성하면 좋을지 고민이 많았던 세미나였다. 최종적으로 많은 청중들이 관심을 가지고 들어주며 다양한 질문을 해주어 의미 있는 세미나 시간을 가진 것 같았다. 향후 계획으로 소개한 화학 분야에 강화학습 적용은 연구 계획을 구성하여 진행해볼 예정이다.
청취자 후기
오늘 세미나 주제는 Reinforcement learning (강화학습) 으로 영재가 진행하였다. 강화학습은 머신러닝 분야에서 지도학습, 비지도학습 분야와 구분지을 수 있는 학습 기법으로 모델링을 어떻게 하는냐에 따라 구분할 수 있다. 지도학습과 비지도학습에서는 예측하고자 하는 값 (Y, 지도), 혹은 데이터 간 관계를 알고싶은 대상(Y, 비지도)과 그를 설명할 수 있는 데이터 (X)가 주어진다. 이와 달리 강화학습은 특정 시나리오 내에 일어날 수 있는 일, 즉 특정 '상태'에서 어떤 '행동'을 취했을 때 얻어지는 '보상'으로 모델링한다. state(상태), action(행동), reward(보상)으로 이루어진 환경을 만들었을 때, 그 환경에서 일어날 수 있는 경우를 시도해보며 보상을 최대화하는 방향으로 학습한다. 최종적으로 강화학습 모델을 학습하면 특정 상태에서 어떤 행동을 취해야 하는 지 Policy(정책)을 도출할 수 있게 된다. 오늘 기계학습의 큰 축을 담당하고 앞으로 AI 분야에 맹활약이 기대되는 강화학습의 전반적인 이론과 사례를 볼 수 있는 세미나였다.
오늘은 Reinforcement Learning(강화 학습)을 중심으로 세미나가 진행되었다. 강화 학습은 개인적으로 공부하고 싶다는 생각을 하면서 아직 자세히 들여다 보지는 못한 영역이었다. 연구실 내에서는 영재가 강화 학습을 지속적으로 공부하고 있다는 사실을 알고 있었기에 이번 세미나가 시작 되기 전부터 기대가 컸다. 이번 세미나에서는 강화 학습에 대한 기본 지식과 Deep Reinforcement Learning Trends에 대한 내용이 소개 되었다. 강화학습에서 기본이 되는 정보는 Agent, State, Action, Reward, Environment이다. Agent는 Environment와 상호 작용하면서 현재 State에서 어떤 Action을 취하고 그 취한 Action에 따른 Reward와 다음 State를 가지고 또 다른 Action을 취하고 그에 따른 Reward를 받는 것을 반복하면서 학습을 진행하게 된다. 그리고 Supervised Learning(지도 학습)과 비교를 해주었는데, 가장 큰 차이는 Label의 유무, 그리고 목적 함수가 다르다는 사실을 알게 되었다. 이후 Value 기반의 Q-Learning, Policy 기반의 Policy Gradient, Value, Policy 모두 고려한 Actor-Critic Methods에 대한 설명이 진행되었다. 마지막으론 Single-Agent Algorithms으로 Deep Q-network, REINFORECE, DDPG, A3C, PPO등의 알고리즘과 Multi-Agent Algorithms으로 QMIX, MADDPG에 대한 간략한 설명을 들을 수 있었다. 오늘은 강화 학습에 대해서 전반적인 내용을 들을 수 있어서 좋았다. 특히 Supervised Learning과 차이점을 배울 수 있었고, 강화 학습의 기본적인 개념에 대해서 조금 더 정확하게 알 수 있었다는 점이 좋았다. 오늘 영재의 세미나를 들으며 조금 더 강화 학습과 친숙해진 것 같다. 앞으로도 강화 학습에 대한 관심을 놓치 않고 지속적으로 공부하려 노력해야겠다고 생각했다. 좋은 세미나를 준비해 준 영재에게 고마움을 표하고 싶다.
금일 세미나 주제는 강화학습을 주제로 영재형이 발표를 진행해줬다. 최근 기계학습 저서를 보고 공부하면서 기억에 남았던 부분은 최근 트렌드에 의하면 기계학습을 지도 학습, 비지도 학습, 강화 학습, 준지도 학습으로 나눈다고 하였다. 그 중 최근 많은 산업 분야에 적용을 하려고 노력하고 있고 여러 논문도 많이 나오고 있는 강화학습에 대해 세미나를 들을 수 있게 되어 기대가 되었다. 강화학습의 기초 지식뿐만 아니라 다양한 형태의 알고리즘에 기본적인 구조와 적용 사례를 영상으로 접할 수 있었다. 사실 세미나를 듣기 전까지는 개인적으로 이렇게 많은 강화학습 알고리즘이 개발되어 있다는 사실에 다소 놀랬다. 나는 최근 2020 INFORMS competition 으로 프로젝트를 진행한 바 있다. 규칙 기반의 생산공정 부분에서 공정 별 제품처리 방식을 단순히 FIFO 규칙으로 처리하는 것이 아니라 강화 학습을 통해 제품을 처리하는 결정을 내려보았다. 이는 지금 당장의 공정 내 병목 현상을 걱정할 것이 아니라 최종적인 complete time을 줄이고자 하고 이를 강화학습 내 reward로 정의하여 문제를 풀어보았다. 일부 공정에 강화학습을 적용하여 어느 정도의 퍼포먼스를 볼 수 있었지만, 오늘 세미나를 통해 현재 보다 개발된 강화학습 알고리즘을 사용했더라면 더 좋은 퍼포먼스를 볼 수 있었지 않을까 생각을 해보았다. 더 나아가 세미나 후 나온 이야기대로 왜 딥러닝을 적용하면서 강화학습이 각광을 받게 되었는지 , 그 이전의 강화학습의 불편했던 점은 뭘까 생각을 해보고 전반적인 연구 동향을 한번 더 살펴보고 싶다. 그래도 오늘 세미나를 통해 과거 진행했던 프로젝트를 보다 개선할 수 있을 가능성을 보게 되어 개인적으로 많은 도움이 되었던 것 같다.
금일 세미나는 ‘Reinforcement Learning’을 주제로 진행되었다. 평소 강화학습에 대하여 자주 들어보았지만 이론을 이해하는데에 큰 어려움이 있어 이번 세미나를 토대로 조금이나마 이해하고 접근할 수 있을 것이라는 기대를 갖고 있었다. 강화학습은 Agent가 주어진 State에서 Unit을 활용하여 문제를 해결하고, 올바르게 문제를 해결하였을 경우에 reward를 주어 학습시킴으로써 최종적으로 스스로 문제를 해결할 수 있도록 만드는 모델이다. 즉 미래에 받을 reward의 합을 최대화 시키는 방향으로 모델을 학습시키는 것이다. 이 외에도 Q-Learning, Policy Gradient, 그리고 이 둘을 모두 고려한 Actor-Critic Methods 등 강화학습의 여러 목적식, Experience Replay 방식으로 데이터의 효율성을 높이는 방법, 그리고 매우 복잡한 환경에서 강화학습을 사용하기 위한 Deep Reinforcement Learning 등에 대하여 배우고 알아보았다. 금일 세미나를 통하여 최근 데이터 분석의 트렌드 중 하나로 손꼽히는 강화학습에 대하여 대략적으로 이해할 수 있게 되어 매우 의미 있는 시간이었으며, 앞으로 강화학습에 대한 더욱 깊이있는 이론공부 뿐만 아니라 이를 활용할 수 있는 다른 분야에 대해서도 고민을 해보고싶다.
금일 세미나는 영재형이 ‘Reinforcement Learning’이라는 주제를 가지고 진행하였다. 지난 세미나때 억이 형이 강화학습의 기초를 잘 설명해주어서 이번 세미나도 훨씬 수월하게 들을 수 있었다. 강화학습은 요즘 가장 많이 채택되는 분야 중 하나이다. 강화학습이란 환경과 상호작용을 하며 목표를 달성하게끔 에이전트를 다루는 학습 방법이다. 에이전트가 주어진 환경의 상태(state)에서 취해야하는 행동(action)을 알려 주는 역할을 하는 정책(policy)라는 행동 함수를 확률적으로 나타낸다. 보상(reward)는 에이전트가 어떤 행동(action)이 좋은지 나쁜지를 판단해주는 기준이다. 이런 강화학습은 3가지의 다른 목적식을 가진다. 가치(Value)기반의 Q-Learning, 정책(Policy) 기반의 Policy Gradient, 앞의 두가지를 모두 고려한 Actor-Critic Methods이다. 또한 강화학습을 학습시키는 방식도 여러 개가 존재한다. 에피소드 내의 time step을 어떻게 학습시키는지에 따라 Monte Carlo , Temporal-Difference, N-step Bootsrapping 방식이 있고 데이터의 효율성을 높이기 위해 Experience를 저장해서 가져오는 Experience Replay방식 그리고 정책(Policy)를 업데이트하는 On-Policy, Off-Policy 방식이 있다. 더 나아가 강화학습은 딥러닝과 결합하여 Deep Reinforcement Learning(DRL)이 생겼다. DRL은 큰 범주로 single agent와 multi agent로 나누어진다. 두개의 차이점은 agent를 single agent와는 달리 multi agent는 각각의 agent들이 각각의 행동의 가치를 예측함과 동시에 다른 에이전트들의 행동까지 고려하여 행동을 학습한다. 이번 세미나를 듣고 강화학습이 가장 이상적인 AI가 아닐까 라는 생각이 들었다. 다소 어려운 강화학습에 대한 내용을 쉽게 설명해준 영재형이게 감사한 마음을 전하고 싶다.
금일 세미나는 영재오빠가 ‘Reinforcement Learning’이라는 주제로 진행하였다. 머신러닝은 크게 강화학습, 지도학습, 비지도학습 분야로 나눌 수 있다. 머신러닝을 공부하면서 우리가 좀더 흔히 접하게 되는 지도학습, 비지도학습 분야는 입력 변수(X)가 주어지면 그에 대한 출력변수(y)를 예측하는 것을 목적으로 하며, 출력 변수(y)의 존재유무에 따라 지도학습과 비지도학습으로 나누어진다. 이와 달리 강화학습은 특정 시나리오 내에 일어날 수 있는 일, 즉 특정’state’에서 적절한 ‘action’을 취하는 것을 목적으로 하며, ‘action’에 대한 ‘reward’ 최대화하는 관점으로 모델링이 이루어지며, 최종적으로 강화학습 모델을 학습하면 특정 ‘state’에 대한 ‘action’을 어떻게 선정해야 하는지에 대한 ‘policy’를 도출할 수 있게 된다. 기존 지도학습, 비지도학습의 경우 완결한 데이터셋이 주어진 상황에서 모델링이 가능하지만, 강화학습의 경우에는 ‘state’, ‘action’, ’reward’를 정의하는 것에서부터 연구의 영역으로 이루어지며, 주로 목적식을 설계하는 방식으로 연구들이 발젼되고 있다. 금일 세미나에서는 value기반, policy기반, value와 policy를 동시에 고려하는 방법론들에 대한 설명과 적용분야에 대해 소개받을 수 있었다. 강화학습은 완전한 데이터에 적용시키기 어렵다는 한계점이 있지만, 유연한 문제상황 설계가 가능하다는 점에서 AI의 지향점이라고 생각한다. 강화학습에 대한 공부의 진입장벽이 높았을 텐데 세미나를 통해 연구실 인원들에게 현재 강화학습의 위치에 대해 적절히 소개시켜준 영재오빠에게 감사하며, 앞으로 강화학습 적용가능한 분야에 대해서 고민해볼 수 있는 계기가 된 것 같다.
이번 세미나는 강화학습(Reinforcement Learning)이라는 주제로 고려대학교 신공학관 221호에서 진행되었습니다. 강화학습이라는 내용을 처음 접하게 된 때는 알파고가 이세돌과의 대국을 승리했던 순간입니다. 알파고는 단순히 많은 양의 기보를 분석하여 모델을 만든 것이 아니라, 그렇게 예비로 학습된 것을 가지고 시행착오를 거쳐 가면서 모델의 성능을 개선한 것입니다. 여기서 시행착오를 거쳐 개선하는 부분을 강화학습이라고 합니다. 그렇다면 어떻게 성능을 개선하는지, 즉 강화학습의 원리에 대해 제가 이번 세미나를 통해 이해한 것을 공유하는 차원에서 아래에 간단히 정리하도록 하겠습니다.
들어가기에 앞서 간단하게 강화학습의 시작점에 대해 설명하자면, 리처드 벨만(Richard Ernest Bellman)이 1950년대에 마르코프 결정 과정(Markov Decision Process)에 적용가능한 동적 계획법(Dynamic Programming)을 고안하였습니다. 여기서 나온 벨만 방정식(Bellman equation)을 바탕으로 강화학습이 발전하게 되었습니다.
강화학습이 왜 벨만 방정식을 기반으로 발전하게 되었는가를 이해하기 위해서는 강화학습의 목적에 대해 이해하여야 합니다. 그 목적을 한 줄로 정리하면, 미래 상황에서 보상(Reward)의 기대값(가치함수)을 최대화하는 최적의 정책(Policy)를 찾는 것이라고 할 수 있습니다. (강화학습의 기본구조는 에이전트(Agent)가 특정 상태(State)에서 어떤 행동(Action)을 하면 그에 맞는 보상(Reward)을 획득하는 형태이며, 강화학습에서 정책이라는 것은 일반적인 학습에서는 모델을 의미하는 것이라고 생각하면 될 것 같습니다.) 이러한 문제를 효과적으로 해결할 수 있는 것이 벨만 방정식입니다. 그 이유는 현재의 가치 함수(Value function)와 미래의 가치함수의 관계를 나타낼 수 있고, 정책에 의해 바뀌는 가치함수를 표현해줄 수 있기 때문입니다.
그런데 강화학습은 기본적으로 마르코프 결정 과정(MDP)상황을 가정하는데, 기본적으로 다음 상태로의 전이 확률 함수(Transition probability function)이 필요하게 됩니다. 상태를 정확히 정의하고 다음 상태로의 전이 확률이 명확하게 존재하면 좋겠지만, 현실 세계에서의 복잡한 문제상황에서는 상태를 정의하는 것부터 상당히 어려운 일입니다. 이에 따라, 모델 프리 강화학습(Model-free Reinforcement Learning)이 필요하게 됩니다. 모델 프리의 경우에는 정해진 모델이 없기 때문에 많은 결과를 직접 경험을 통해 얻어야 합니다. 이렇게 경험을 얻는 방법으로는 몬테 카를로 방법(Monte Carlo Method)이나 TD learning(Temporal-Difference Learning)등이 있습니다.
그렇다면 전이 확률 함수가 없이도 경험을 통해 학습이 가능하게 됩니다. 하지만 그 결과, 가치 함수가 어느 방향으로 가야 더 좋아지는지를 알 수가 없습니다. 이 문제를 해결하기 위해 상태(s)와 행동(a)를 넣어서 나온 값인 Q-value를 이용하여, 어떤 방향으로 업데이트를 해야 정책 함수가 좋아지는지 알 수 있습니다. 상태와 행동을 넣은 것이 방향성을 알려주는 지표가 되기 때문입니다. 이러한 학습 방법을 Q-learning이라고 합니다. 이 밖에도 여러가지 off-policy, on-policy 기반의 학습방법이 존재합니다.
위에서 정리한 내용이 강화학습의 개괄적인 내용입니다. 이번에 이영재 연구원님이 준비해주신 세미나를 통해 강화학습에 대해 많이 알게 되었고 관심도 생겨서 감사하다는 말 전하면서 후기를 마무리하겠습니다.
이번주 금요일 세미나는 ‘Reinforcement Learning’의 주제로 진행되었다. 내용은 강화학습의 개념과 Deep Reinforcement Learning의 주요 트렌드로 구성되었다. 강화학습은 최근 활발하게 연구되고 있는 연구분야 중 하나이다. 강화학습은 환경와 상호작용하며 목표를 달성하는 에이전트를 다루는 학습 방법이다. 미래에 받을 reward의 합을 최대화하는 Policy를 찾는 방향으로 학습된다. 강화학습은 마코프 속성을 가정하고 있으며 Value기반의 Q-Learning, Policy기반의 Policy Gradient, Value와 Policy 모두 고려한 Actor-Critic Methods의 3가지 목적식이 있다. 3가지 목적식을 기반으로 딥러닝을 활용한 Deep Reinforcement Learning이 등장했고 각종 문제 해결을 위한 최근 트렌드에 대해 알아보았다. 강화학습의 개념 부분을 짚어주고 실제 연구에서 구현된 영상 및 사례들을 통해 어떻게 활용되는지 배울 수 있어 유익한 세미나였다. 특히, 지도학습과 강화학습의 Training Data, Model, 목적식을 비교하는 방식으로 설명해주셔서 비교적 쉽게 이해할 수 있었다. 향후 강화학습의 수식 및 이론 공부를 하며 심도있게 공부해보고 싶다.
오늘은 Reinforcement learning (강화학습)의 주제로 영재가 발표를 진행했다. 평소에 관심은 있었지만, 공부를 해두지 못한 분야라 더욱 발표가 기대가 되었고, 집중해서 들었다. 강화학습이란 학습의 주체(Agent)가 주어진 환경에서의 보상(Reward)을 최대화할 수 있는 가장 적합한 행동(Action)을 학습하는 것을 일컫는다. 이 과정은 에이전트가 환경에서 자신의 State를 관찰하고, 그 State에서 학습한 기준에 따라 행동을 선택하고, 선택한 행동을 환경에서 실행하고 바뀐 환경으로부터 다음 상태와 보상을 받아, 에이전트가 가진 정보를 수정하는 방식으로 이루어진다. 그렇다면 어떠한 기준에 따라 행동을 선택하는지에 대한 판단의 기준이 필요할 것이다. 이 부분이 내가 평소 강화학습에서 가장 궁금했던 부분이었다. 어떻게 미래에 대한 보상을 계산할 수 있을까? 실제 강화학습이 어떤 매커니즘으로 학습이 이루어지는가? 영재의 발표는 강화학습 전반에 대한 개괄적인 내용을 담고 있었다. 전반적인 강화학습에 대한 소개와 강화학습의 연구 트렌드를 알려줌으로써 청중들에게 강화학습에 대한 흥미를 효과적으로 돋아주었다. 1시간 분량의 세미나 발표였기에 모든 내용을 담을 수 없어 영재의 발표 안에서 간략하게 설명되었던 부분들에 대하여 그 어느 세미나보다 호기심이 크게 일었다. 수식적인 이해를 바탕으로 실제 어떻게 학습 및 동작하는지에 대한 추후의 공부로 채우고 싶다는 욕심을 일게 해주는 세미나였기에 더욱 의미가 있는 시간이었다.
오늘 세미나는 기계학습에서 활발하게 연구되고 있는 '강화학습'를 주제로 다뤘다. ICML(International Conference on Machine learning)에 제출된 논문 개수 자료를 보며 강화학습이 정말 많은 연구 주젯거리임을 확인하였다. 강화학습을 이해하기 위한 기본 용어 Agent, Action, Environment, Reward, State에 대한 설명을 듣고 나니 강화학습이란 'Environment에서 상호작용을 하면서 Future Reward를 최대화하고자 하는 목표를 가진 Agent를 다루는 학문'로 쉽게 이해할 수 있었다. 그 이후, 영재형은 강화학습을 지도학습과 비교하면서 좀 더 자세한 설명을 이어나갔다. Markov Decision Process 성질을 이해한 후, 이 속성을 지니고 있는 5가지 원소 (S,A,P,R,r) 이것들의 모음 episode가 지도학습 Training Data와 같은 역할을 강화학습에서 담당하고 있음을 이해할 수 있었다. 그 후, 주어진 State에서 어떤 Action을 취해야 하는지 알려주는 것이 Model, Policy이며 Objective function(최적화 대상)을 Q-learning, Policy Gradient, Actor_Critic Methods 3가지 입장에서 설명해주셨다. 지도학습과 비교하면서 강화학습 내용을 이해하니 이전 보다 더 깊게 이해할 수 있었는데, 강화학습을 잘 모르는 청중들도 쉽게 이해할 수 있게 많이 신경 쓴 흔적을 찾아볼 수가 있었다. 그 이후 세미나에서는 강화학습 학습 방식과 개선될 수 있는 부분이 무엇인지, 학습 Trends을 여러가지 알고리즘 Deep Q-network, Reinforce, DDPG, A3C, PPo을 설명해주시니 학습방식이 개선되는 과정을 자세하게 볼 수 있었다. 세미나 후반부에서는, Multi-Agent 학습 알고리즘을 설명과 Real-world로 어떤 방식으로 강화학습이 적용될 수 있는지 설명하며 마무리 되었다.
지도학습과 비교하면서 강화학습 설명이 인상적이였고, 다소 어려운 내용들을 청중들이 구체적인 이해가 가게끔 노력해준 영재형에게 감사한 마음을 전하고 싶다.
금일 세미나는 Reinforcement Learning이라는 주제로 영재가 진행하였다. 강화학습은 지도학습과 비지도학습과 함께 머신러닝의 3개의 축을 구성할 정도로 중요한 분야이다. 알파고의 등장과 함께 급부상하였고, 현재도 많은 연구가 진행되고 있다. 또한 게임을 기반으로 많은 연구들이 진행되어왔지만, 최근에는 현실 문제에 적용하기위해 많은 연구들이 진행되고 있음을 언급해주었다.
'강화 학습을 하기위해서는 시뮬레이터가 반드시 필요하다.' 라는 이야기를 계속해서 들어왓지만, 명확하게 이유를 알 수 없었다. 하지만 Experience의 정의를 설명을 듣고 나니, 시뮬레이터 필요성의 이유를 알 수 있었다. Experience는 현재 State에서 Action을 취해 Reward를 받고, 다음 State로 변하는것 전부를 포함한다. 시뮬레이터를 통해 Action에 따른 Reward와 다음 State를 파악 가능하기에 시뮬레이터가 필수적이라는 이야기였다. Experience가 학습 데이터로 사용됨을 언급해주어, 강화학습의 입력, 출력 데이터에 대해서도 파악 가능한 설명이었다.
영재의 연구 분야인 Reinforcement Learning을 알기 쉽게 설명해주기 위해 많은 노력을 했고, 많은 청중들도 쉽게 이해하는것으로 보였다. 세미나 내용 중, Multi-Agent 문제를 풀기 위해 연구를 하고 있는것으로 아는데, 꼭 이 문제를 해결해주었으면 좋겠다. 영재에게 감사함을 표한다.
오늘은 강화학습을 주제로 이영재연구원이 발표하였다.
강화학습의 연구 동향을 보면서 강화학습이 어디까지 적용될 수 있었고 장점이 무엇인지 알 수 있었다.
agent, unit, state, reward의 정의를 예를 들어 설명해주어 초보자도 쉽게 따라 들을 수 있었다.
특히 강화학습과 지도학습을 비교하여 설명을 해주니 이해가 쉬웠던 것 같다.
지도학습과 가장 큰 차이로는 "목적식"을 들 수 있는데 3가지 목적식(Value기반학습, Policy기반학습, Value와 Policy를 모두 고려한 Actor Critic)의 설명화 함께 동영상을 포함한 예시를 들어주었다.
Agent의 개수에 따른 차이(single vs multi , 협업 vs 경쟁)를 이해할 수 있었다.
전반적으로 이해도를 빠르게 하기 위하여 적절한 동영상을 넣어준 것에 대해 앞으로 어떻게 설명을 하는 것이 이해가 쉬울지 알게 되는 계기가 되었다.
많은 내용을 담았지만 흥미도 유발하면서 어떻게 적용할 수 있는지 실 사례를 잘 들어주니 다른 사람들이 앞으로 해보고 싶다는 생각이 충분히 들게 만드는 유익한 세미나였다. 이영재 수고했다!
오늘 세미나는 강화학습에 관하여 영재오빠가 연구트렌드를 짚어주었다. 목적함수에 따른 분류 가치 기반의 학습(Q-learning), 정책 기반의 학습(Policy Gradient), 가치와 정책 모두 고려한 학습(Actor-Critic Methods)과 다양한 학습 방식들 (에피소드 내 몇 개의 time step마다 학습할 것인가? (Monte Carlo Method, Temporal-Difference Learning, N-Step Boostrapping), 데이터 효율성을 높이는 학습방식(Experience Replay), policy 업데이트 방식에 따른 학습방식(On-policy, Off-policy)), single agent와 multi agent 강화학습 알고리즘과 그 실험 결과들 등을 나열해 주었다. 다양한 연구 트렌드에 대해 소개해주는 세미나 였기 때문에 ‘이런 것이다.’, ‘이런 결과를 보였다.’와 같이 알고리즘들의 장단점 나열이 주로 이루어지고 ‘왜 그런 결과를 보였는가?’, '왜 더 좋은 알고리즘인가?’, '어떻게 학습시간을 단축시킬 수 있었는가?’ 등 에 대한 설명이 부족하여 그런 부분에 있어서 연구실 인원들이 질문이 많이 이뤄진 것 같다. 세미나 내내 영재오빠 특유의 재치로 중간중간 웃음 포인트와 동영상들 덕분에 재미있게 세미나를 들을 수 있었다. 앞으로 영재오빠의 강화학습 연구가 매우 기대된다. 저번주와 오늘의 세미나를 통해 강화학습에 대해서 맛보기를 하였다면, 영재오빠가 PI로 있는 삼성물류 프로젝트를 통해서 같이 실제 제조물류 사례에 강화 학습을 적용하는 경험을 할 수 있게 되어 영광이라고 생각한다.
금주 세미나는 reinforcement learning에 대한 내용으로 진행되었다. Reinforcement learning은 sequential decision making problem을 풀기 위한 하나의 기계학습 방법론이다. Reinforcement learning은 environment와 상호작용하는 agent를 학습시키는 것을 목표로 하며, agent는 cumulative reward를 maximize하는 방향으로 학습된다. 특히, neural network를 이용한 deep reinforcement learning이 많은 분야에서 놀라운 성능을 보이면서 많은 사람들의 관심을 받고 있다. 세미나는 deep reinforcement learning에 대한 간략한 리뷰를 제공하였다. 세미나에서 모델의 결과나 적용 사례 보다도 중요한 개념들에 대해 간략하게나마 설명을 해 주었으면 더 많은 사람들에게 도움이 되었을 것 같다.
강화학습에 대한 전체적인 내용을 훑는 것을 주제로 영재가 세미나를 진행했다. 실질적으로 물체를 더 좋은 방향으로 제어하기 위한 분야인만큼 실제 상황에 인공지능을 적용할 때 빼놓을 수 없는 분야이다. 저명한 학회에서 발표되는 논문의 경향만 보아도 이전보다 강화학습에 대한 연구가 폭발적으로 늘어났다는 것을 확인할 수 있다. 오늘 세미나에서는 처음에 강화학습의 기본개념인 state, action, reward, environment, discount factor 등에 대한 내용을 간단히 다루었으며 뒤에서는 각 강화학습 알고리즘의 문제점을 해결하기 위해 진행된 연구들을 간단한 사례와 함께 소개하였다. 강화학습 연구의 흐름을 다시 한번 상기하는데는 좋은 세미나였으나, 디테일한 내용이 많이 빠져있다는 생각이 들어 아쉬움도 남았다. 각 알고리즘의 장점과 단점에 대해서는 구분을 잘 했으나, 연구 동기와 해결 방법의 핵심 아이디어에 대한 설명도 같이 있었으면 이해하기 더 편했을 것 같다. Multi-Agent 강화학습 부분은 지금까지 잘 접해보지 못한 분야였는데, 협업-경쟁 구도를 이용해서 학습시키는 프레임워크가 자연에서 기능을 학습해가는 과정과 매우 유사하다고 느꼈다. 앞으로 많은 발전이 될 것이라고 생각되는 분야인만큼 개인 연구에서도 좋은 성과가 있었으면 좋겠다.
이번 세미나는 영재가 ‘Reinforcement Learning’을 주제로 강화학습의 기본적인 내용과 최근 연구트렌드를 정리해주었다. 강화학습은 특정 state에서 agent의 action을 미래에 받을 수 있는 reward의 합을 최대화 하는 policy을 학습하는 알고리즘이라고 정의할 수 있다. 이를 기계학습 용어로 쉽게 재정의해보면 state, action reward가 학습 데이터로 주어졌을 때 policy는 우리가 학습하고자 하는 모델이 된다. 이러한 모델을 학습하기 위한 가치 함수, 즉 목적식으로는 벨만 방정식을 사용하게 되는데, 그 이유는 모델이 학습해나감에 따라 매 state에서 agent가 취할 수 있는 action과 얻을 수 있는 reward가 변동하기 때문이다. 따라서 정책에 따라 변동되는 가치함수를 표현하기 위해서 밸만 방정식을 사용하게 되며, 이 부분이 학습 데이터가 주어진 상태에서 고정된 목적식에 따라 모델을 학습하는 supervised learning과의 가장 큰 차이라고 할 수 있다. 또한 가치 함수는 Q-Learning, Policy Gradient, 그리고 이 둘을 모두 고려한 Actor-Critic Method의 3가지 방식으로 정의할 수 있다.
위와 같은 강화학습의 기본적인 구성이 되어있다면, 효율적으로 모델을 학습하는 방법도 강화학습과 같이 계산량이 많은 알고리즘에서는 중요한 이슈인데, 학습 단위로 나누어보면 에피소드 단위로 학습을 진행하는 Monte Carlo Method, 1하나의 time step 단위로 학습을 진행하는 TD Learning과 두개의 중간지점을 단위로 학습하는 Bootstrapping 방식이 존재한다. 그리고 학습 데이터 자체의 효율성을 높이는 방법으로 Experience Replay 방법이 있는데, experience로 정의되는 학습 단위를 replay memory에 저장한 후에 샘플링하여 과거 시점의 정보를 사용할 수 있게 했다고 이해하였다. 마지막으로 정책 업데이트 방식으로 에피소드를 얻는 시점에 정책을 업데이트 하는 on-policy와 에피소드를 얻고 나서 replay memory에서 저장된 experience를 사용하여 정책을 업데이트하는 off-policy로 나눌 수 있다. 하지만 스타크래프트나 현업에서의 데이터 구조는 매우 복잡한 환경을 갖기 때문에 위에 서술된 강화학습 환경을 구현하기 어렵다. 따라서 이를 딥러닝을 통해 해결하는 Deep RL이 등장했고, single agent, multi agent 등 다양한 방식으로 연구가 진행되고 있다고 한다. 영재가 짧은 세미나 시간 동안 많은 분량을 담으면서도 꼭 필요한 내용을 넣기 위해 많은 고민과 노력을 한 것이 느껴지는 세미나였다. 사실 세미나 3~4개로 나누어서 설명해도 될만한 분량이라고 느껴졌는데 강화학습에 대한 기초가 부족한 동료들을 위해 좋은 세미나를 준비해준 영재에게 감사하다는 말을 전한다.
이번 세미나는 강화학습(Reinforcement Learning)이라는 주제로 이영재 연구원님이 발표해 주셨다. 머신러닝은 크게 변수와 그에 따른 정답을 가지고 학습을 하는 지도학습, 변수에 따른 정답을 가지고 있지 않은 상태로 학습한 후 정답을 예측하는 비지도 학습 그리고 오늘 세미나의 주제였던 강화학습 이렇게 세가지로 이루어 진다고 한다. 발표자는 이 가운데 진정한 인공지능은 바로 강화학습을 일컫는다고 했다. 강화학습이 현재의 상황에서 최적의 결과를 도출하기 위해 어떤 선택을 해야하는지를 결정하는 머신러닝이라는 점에서 발표자의 의견에 동의할 수 있었다. 강화학습은 현재의 “State”에서 선택할 수 있는 “Action”에 대한 “Reward”를 최대화하는 방향으로 학습이 이루어지는 방식이기 때문에 정해진 운명처럼 지정된 변수(x)에 대한 조합에 의해 기계적으로 결과(Y)를 예측하는 지도 및 비지도 학습 대비 살아있는 듯한 결과를 만들어 낼 수 있기 때문이다. 그런 강화학습의 매력 때문인지 최근 연구실 내에 강화학습을 연구하는 인원이 점차 늘고 있고 지난번 조억 연구원님의 세미나도 있었기에 연관하여 강화학습을 이해하는데 도움을 많이 받은 세미나였다. 현재 강화학습이 AI 분야에서 차지하는 위상에서부터 최근 Trend 및 여러가지 비쥬얼적인 예시까지 발표자의 노력의 흔적이 많이 느껴지는 세미나였다. 개인적으로 인공지능의 꽃이라고 생각되는 분야인 만큼 좀더 관심을 가지고 연구하는데 도움을 많이 받을 수 있었던 만큼 훌륭한 세미나를 해준 이영재 연굼원님께 감사하다는 말을 전하고 싶다.
이번 세미나의 주제는 강화학습이었다. 강화학습은 최근 관심이 높아지고 있는 주제이며 산업공학의 장점을 살릴 수 있는 분야이다. 강화학습은 Markov Decision Process의 특수한 경우에 적용할 수 있는 알고리즘이며 State, Action, Reward에 따라서 학습을 한다. 이러한 학습을 진행하기 위해서는 어떠한 state에서 어떤 action을 하였을 때 발생하는 reward를 계산해 줄 수 있는 시뮬레이션이 필요하다. 이 시뮬레이션은 어떠한 모델에 기반한 것일 수도 있고, 아닐 수도 있다. 강화학습의 장점은 수많은 state와 action들의 조합들의 reward를 예측한다는 것이다. 기존 지도학습의 경우에는 각각 state, action 조합 별로 모두 label이 존재하야 학습이 가능하다. 또한 시뮬레이션을 사용하기 때문에 계속적으로 학습이 가능하다. 강화학습 방법론 중 각광받고 있는 actor-critic 알고리즘의 경우 state에 적합한 action을 구하는 네트워크, state와 action을 보고 평가하는 네트워크 두개를 같이 학습시킴에 따라 좋은 성능을 내고 있다. 기존의 최적의 action만 구하는 네트워크(policy gradient), 또는 평가만 학습하는 알고리즘(Value-based)보다 좋다고 평가받고 있으며 같은 정보로 2가지 네트워크를 동시에 학습시키기 때문에 더 좋은 성능을 나타낼 수 있는 것 같다. 나이브하게 보면 generator 와 discriminator와도 어느 정도 유사한 부분이 있다. 또한 대부분 딥러닝을 사용하기 때문에 temporal difference에 기반한 학습 방식을 많이 사용한다. 이러한 공통적인 부분을 바탕으로 여러 아이디어를 사용한 많은 방법론들이 있다. 실제와 유사한 시뮬레이션이 존재한다면 강화학습은 최적해를 찾는 좋은 해결책이 될 수 있다.
오늘 세미나에서는 Reinforcement Learning에 대한 이영재 연구원의 발표가 있었다. 몇 주 전에는 조억 연구원이 traditional RL에 대한 기초를 다루어주었다면 이번 세미나에서는 Deep Learning으로 강화학습 환경을 모델링하여 복잡한 현실 문제에도 적용이 가능한 Deep Reinforcement Learning 최신 연구에 초점을 맞추어졌다. 강화학습을 개인적인 연구로 발전시키기 위해 꾸준히 공부를 하는 사람들에게 오늘 세미나는 아마 큰 도움이 되었을 것이라고 본다. 개인적인 경험에 비추어 말해보자면 강화학습 알고리즘을 공부할 땐 정말 간단한 예제 코드 몇 개를 보면서 한줄 한줄 이해하고 실행해보면 금방 감을 잡을 수 있다고 생각한다. 복잡한 수식이 난무하는 논문을 보면 무슨 말인지 한 마디도 모르다가도 실제 코드를 보면 '이게 이렇게 간단하다고?' 싶은 허무한 경우들이 꽤나 자주 있다. 가능하다면 다음 강화학습 세미나에서는 실행코드도 함께 보여준다면 많은 연구원들에게 쉽게 다가갈 수 있지 않을까 싶다. 오늘 수고한 이영재 연구원에게 무한한 박수를!
알파고와 자율주행 자동차 등으로 강화 학습에 대한 관심과 논문의 개수가 증가하는 추세이다. 최근에강화학습에 관심이 생긴만큼 귀기울여 들었다. 지도학습과 달리 실제 class label이 없이 이론적으로 어떻게 학습을 할까 궁금증이 많이 들었었는데, conference와 ppt를 보며 이해 할 수 있었다. agent와 envirnoment의 recurrent한 상호작용을 기초로한 강화학습의 기본적인 이론, state-value와 action-value를 정의하고 이를 이용한 업데이트 방식의 개요를 자세하게 설명해주셨다.
강화학습은 특히 value-based, policy-based, actor-critic으로 각자 다르게 학습되는게 독특했다. Q-learning, DDPG 등 상기의 목적마다 다른 알고리즘을 쓰는데, 각각의 알고리즘의 장단점이 무엇인지 자세하게 설명되어있어서 차후에 내가 구현하고자 하는 목적과 환경에 따라 적재적소에 활용할 수 있을 것 같다. 가장 인상 깊었던 것은 star craft 2에서 Deep Q Network를 예시로 든 것이었는데, 현재 상태의 이미지를 convolution layer를 통해 받아 feature를 추출하여 이해한 후, action을 취한다는 것이었다. starcraft에서 강화학습 연구가 활발히 진행 된다는 얘기는 많이 들었는데, 그 이론을 알 수 있어 좋았다. On-Policy method와 Off-Policy method, Monte-Carlo와 temporal difference learning의 차이가 초반에 헷갈렸는데, 민정 선배의 질의응답 덕에 곱씹어 이해할 수 있었다.
Deep Q Net은 연속적인 state set과 action set을 가진 environment에서는 학습하기엔 경우의 수가 기하급수 적으로 늘어나 학습하기엔 적절치 않았고, 이에 대한 해결책으로 나온 것이 REINFORCE였다. 하지만 REINFORCE도 학습시간이 오래 걸린다는 단점이 있다. 이에 대한 해결책이 A3C, 또 그 문제를 해결한 것이 A2C 등등 알고리즘의 순차적 개선과정을 설명한 것 또한 이번 발표의 장점이다.
이론적 배경과 지식이 부족하여 완벽히 이해한것은 아니지만 반복해서 읽고 여러 자료를 찾아보며 공부할 수 있는 계기를 가지게 된 것 같다. 이번 세미나를 준비하느라 고생한 영재형에게 감사하고, 멘티로써 강화학습을 공부하며 모르는 것이 있을 때마다 자주 의지하며 배워 갈 것 같다.
오늘은 강화학습을 주제로 세미나가 이루어졌다. 몇주 전 이루어진 조억 연구원님의 세미나에서 강화학습에 대한 기초적인 내용을 구체적인 예시를 통해 배웠다면 이번 세미나는 강화학습의 최신 트렌드와 Deep Learning이 강화학습에 어떻게 적용되는지에 초점을 맞춘 세미나 였다. 강화학습은 에이전트가 환경내에서 액션을 취함에 따라 보상을 받게 되고 해당 보상을 최대화 하는 방향으로 학습을 진행하는 방법론을 말한다. 강화학습에서 모델을 학습시키는 방법은 크게 Monte Carlo(MC)와 Temporal difference(TD)로 나누어 지게 된다. MC는 한번의 에피소드가 종료된 이후 학습을 하게되며 TD는 에피소드 중에도 학습이 가능하다. 발표자료 중간에 다양한 시각자료들을 통해서 학습되어가는 과정을 볼 수 있어 관련된 내용을 이해하기 쉬웠으며 구체적인 예시를 통한 설명이 있어서 발표 내용을 이해하는데 도움이 되었습니다. 이번 세미나를 계기를 강화학습의 기본 개념에 대해 알게 되었고 관련된 내용에 관심을 가지고 공부할 수 있는 계기가 되어 유익했습니다.
1. 성의있게 자료를 준비한 영재에게 많은 칭찬을 해 주고 싶다.
2. 전체적인 연구동향을 보는 것이 목적이기는 하지만 너무 많은 양을 포함하고 있어 대다수의 연구원들이 강화학습의 겉만 본 것 같아 아쉽다.
3. Table Q learning, Network Q learning, Deep Q learning이 어떻게 변천되었는지만 설명해도 좋았을 것 같다.
4. 방법론의 설명은 그 자체보다 그것이 왜 나오게 되었는지에 대한 배경설명이 더 중요한데 방법론 설명에 너무 치중한 것 같다. 예를들어, Experience replay에 대한 설명은 너무 피상적이었다. 어떤 문제 때문에 Experience replay 아이디어가 나오게 되었는지 명확한 이유가 있음에도 불구하고 이에 대한 설명이 부족하였다.
5. Q learning과 Policy gradient와 차이를 좀 더 명확하고 핵심적으로 설명했으면 더 좋았을 것 같다.
6. 질문 하는 것은 얼마든지 좋으나 본인의 지식을 드러내기 위한 질문은 피하는 것이 좋다. 또한 질문은 되도록 핵심적이고 구체적으로 해야지 "이거 왜 해야되요", "이렇게 하면 뭐가 좋아요" 등의 피상적인 질문은 아무에게도 도움이 되지 않는다.