Machine learning 1

강화학습 Reinforcement Learning

 

 

 



머신러닝의 카테고리 중 마지막으로 남아 있는
‘강화학습’이라는 부분이 보이죠?

이제 정말 다 왔네요.

강화학습은 영어로는
Reinforcement Learning이라고 합니다.
Reinforcement 강화, 증강이라는 뜻입니다.

강화학습의 핵심은 일단 해보는 것입니다.

비유하자면 지도학습이 배움을 통해서
실력을 키우는 것이라면,
강화학습은 일단 해보면서 경험을 통해서
실력을 키워가는 것입니다.

그 행동의 결과가 자신에게 유리한 것이었다면
상을 받고, 불리한 것이었다면 벌을 받는 것입니다.

이 과정을 매우 많이 반복하면
더 많은 보상을 받을 수 있는 더 좋은 답을
찾아낼 수 있다는 것이 강화학습의 기본 아이디어입니다.

비유를 들어서 강화학습에 대해 설명해 보겠습니다.

게임 실력을 키워가는 것도 강화학습과 비슷합니다.
여기서는 두 개의 주체를 생각해봐야 합니다.

우선 게임이 있어야 합니다.
게임은 게이머에게 보여줄 화면이 필요합니다.

또 하나의 주인공은 게이머입니다.
게이머는 우선 현재의 상태를 관찰해야 합니다.

관찰 결과에 따라서 게임을 조작하는 행동을 해야 합니다.
관찰과 행동을 하기 위해서는 판단력이 필요합니다.

이것을 그림으로 나타내면 아래와 같습니다.


이런 상태에서 게임의 실력을 키워가는 과정을 따져봅시다.

  1. 우선 게임은 게이머에게 현재의 상태를 보여줍니다. 캐릭터는 어디에 있고, 장애물은 어디에 있는지 알려줍니다.
  2. 동시에 현재의 점수도 알려줍니다. 게이머는 이 값이 높아지는 것이 상이고, 장애물에 부딪히는 것이 벌입니다.
  3. 관찰의 결과에 따라서 어떤 상태에서 어떻게 행동해야 더 많은 상을 받고, 더 적은 벌을 받을 수 있는지를 알게 됩니다.
  4. 즉, 판단력이 강화된 것입니다.
  5. 판단에 따라서 행동을 합니다.
  6. 그 행동은 게임에 변화를 주게 됩니다.

이런 과정을 반복하면 판단력이 점점 강화됩니다.
이것이 현실에서 게임의 실력자가 되는 과정입니다.

생각해보면 배우지 않고도 결국에 잘하게 되는
많은 일들이 이런 과정을 통해서 이루어집니다.

강화학습은 이러한 과정을 모방해서
기계를 학습시키는 것입니다.

이 과정을 강화학습에서 사용하는 용어로만 바꾸면
여러분은 강화학습이 무엇인지 아는 사람이 되는 것입니다.

 

  • 게임  환경(environment)
  • 게이머  에이전트(agent)
  • 게임화면  상태(state)
  • 게이머의 조작  행동(action)
  • 상과 벌  보상(reward)
  • 게이머의 판단력  정책(policy)


강화학습에서는 더 많은 보상을 받을 수 있는
정책
을 만드는 것이 핵심입니다.

이렇게 만들어진 정책은 게임의 인공지능 플레이어를
만드는 데 사용될 수 있습니다.

바둑으로 인간을 이긴 알파고가
바로 강화학습을 통해서 구현된 소프트웨어입니다.

자동차의 자율주행 기능도 강화학습을
이용해서 만들어집니다.

아래 영상은 강화학습으로 자동차의 주차 능력을
훈련시키는 장면입니다.

처음에는 계속 사고를 치다가 나중에는 사고 없이
정확하게 주차에 성공하는 것을 볼 수 있습니다.
https://www.youtube.com/watch?v=VMp6pq6_QjI

스스로 수련을 통해서 더 좋은 선택을 하는 기능이
필요하다면 강화학습을 연구해보세요.

경험할수록 알아서 똑똑해지는 기계를 만들 수 있습니다.
강화학습을 통해서 할 수 있는 일들을 감상해보세요.

URL 설명
https://www.youtube.com/watch?v=VMp6pq6_QjI 강화학습을 이용해서 자동차의 주차능력을 향상시키는 예제입니다. 
https://youtu.be/kopoLzvh5jY 시뮬레이션 환경을 이용한 숨바꼭질 강화학습 영상입니다. 
https://youtu.be/QilHGSYbjDQ 팩맨의 게임능력을 향상시키는 예제입니다.
https://youtu.be/ZhsEKTo7V04 강화학습을 통해 로봇팔이 문 여는 방법을 터득하는 영상입니다.
https://www.youtube.com/watch?v=Aut32pR5PQA 2D 시뮬레이터 상에서 강화학습을 이용해 자율주행 기능을 구현하는 영상입니다.
https://www.youtube.com/watch?v=WSW-5m8lRMs&t=357s 인공신경망과 강화학습을 이용해 플래피 버드 게임을 하는 인공지능을 만드는 영상입니다.

 

 

댓글

댓글 본문
  1. 완료
  2. eu1357
    강화학습 재밌네요
  3. Juwon Park
    2020년 9월 26일 완료!
  4. Tae Hwan Yoon
    완료 ✅
  5. 문곰
    신기
  6. Minkyu
    완료
  7. 조원배
    완료
  8. 유갱05
    완료
  9. Koo Goo
    완료
  10. Dennis
    강화학습 완료
  11. 최하나
    완료
  12. 이인규
    완료 08/29 00:34
  13. Helena
    학습 완료
  14. 더맨더머
    완료
  15. 지식탐구자
    완료
  16. kinigre
    완료
  17. 윤이진
    완료
  18. 완료
  19. 은하파파
    완료 2020-08=27
  20. 강기봉
    완료!
  21. 아혜
    완료
  22. yahyah
    완료
  23. 이상혁
    완료 ^^
  24. Claire
    축하합니다!
  25. Kwang Chul Kim
    완료.^^
  26. 무당벌레
    완료
  27. 저기요
    완료
  28. 차민기
    완료
  29. 완료
  30. 아나나
    완료
  31. 람지비전
    완료
  32. byoonn
    완료
  33. 페르디
    완료
  34. 박하리
    완료
  35. 완료 ~
  36. fotool
    완료
  37. 완료
  38. 리버풀
    수강완료
  39. 조윤상
    강화학습은 agent가 environment에서 state에 따라 더 많은 reward를 받을 수 있는 action을 하기 위한 policy를 만드는 것이 목적인 것.
  40. 영화니
    완료
  41. 동동
    완료
  42. dklklw;
    완료
  43. 안산인
    5일차 완료(1/2)
  44. 예니
    완료
  45. Kang YunJae
    완료!
  46. 장정민
    2020.8.23 20:10

    강화학습(reinforcement learning): 경험을 통해서 실력을 키워가는 것이다. 더 많은 보상을 받을 수 있는 정책을 만드는 것이 목적이다.

    게임: 환경(environment)
    게이머: 에이전트(agent)
    게임화면: 상태(state)
    게이머의 조작: 행동(action)
    상과 벌: 보상(reward)
    *게이머의 판단력: 정책(policy)*
  47. 완료
  48. 완료
  49. 화니
    사례들 재밌네요!!!
  50. 김우진
    완료
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기