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. SSS
    흥미진진...
  3. 박종현
    완료
  4. 찌람
    완료했습니다!! 항상 어렵지 않게 설명해주셔서 감사합니다
  5. 제스프리
    완료
  6. 다은a
    완료
  7. 완료
  8. 고조선인
    완료~!!
  9. 이대현
    완료
  10. 늦은 학생
    완료
  11. jeseung
    완료!
  12. 워니맘
    와우~AI!
  13. 최지원
  14. fladi
    완료!
  15. 인간지능
    완료
  16. 완료
  17. Yunkyeong Jang
    완료
  18. HyeonHui Jeong
    완료
  19. 나건
    완료
  20. 찐찐
    완료!
  21. 공지영
    여기까지 완료
  22. zerodb
    서로 서로 축하 합니다
  23. 김영환
    완료
  24. remi
    ㅇㄹ
  25. 서야호
    완료
  26. 엄현주
    완료
  27. 김소진
    완료
  28. shg7271
    210723
  29. 이동머신러닝
    한마디로, 성공적인 결과를 도출하기위한 데이터(변수)를 찾아내기위한 과정이다
  30. Poroporo
    완료:)
  31. amuronamie
    완료
  32. 이마누
    완료
  33. 은단맨
    완료
  34. 누리집사
    완료
  35. Hotbrains
    완료... 감사합니다.
  36. 멜레프
    완료
  37. 이성민
    완료~
  38. 이덕규
    완료
  39. 루피밤비집사
    감사합니다.~!
  40. 조예인
    감사합니다.
  41. 210719
  42. 나비효과학습
    완료
  43. 최산해
    완료
  44. j2a_yan
    check 흥미롭군요!
  45. 장청룡
    20210310 완료
  46. 완료하였습니다.
  47. Kim Peter
    감사합니다.
  48. pmc0814
    완료
  49. jakekimm
    완료
  50. Mikiss
    강화학습 = 투자한 시간?
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기