생활코딩

Coding Everybody

강화학습 Reinforcement Learning

토픽 생활코딩 > 데이터 과학 > 머신러닝1

 

 

 



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

이제 정말 다 왔네요.

강화학습은 영어로는
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. 쿠션머리
    20240221 완료
  3. nathan
    2024.02.21 - 완료
  4. 킴해롤
    2024 0221 시청완료
  5. 시아네스
    231101.
  6. 코딩두
    23.07.23 지도학습 - 배움 / 강화학습 - 경험
  7. 반바지
    https://www.youtube.com......V54

    강화 학습에 관련된 예제입니다. 이걸 보시면 강화 학습 이해에 더 많은 이해가 될 겁니다.
  8. 쿡보라
    매우 신기 !!
  9. 파인만
    22.09.18
  10. 소나무55
    완료
  11. 미르
    22.8.4
  12. 파괴왕파파괴
    강화 학습은 지식보다는 경험에 가깝네요
  13. kwaife
    완료
  14. 솔나무
    강화학습은 훈련에 의해 일단 해보는 것
  15. 믹믹이
    완료
  16. 대광어
    완료
  17. 비야날다
    완료!!
  18. 네코네코
    완료
  19. Ju-won Lee
    완료
  20. 독수리500타
    완료
  21. 당근
    완료
  22. 대니얼
    완료!
  23. 아아하하
    완료
  24. 흥미진진...
  25. 박종현
    완료
  26. 찌람
    완료했습니다!! 항상 어렵지 않게 설명해주셔서 감사합니다
  27. 제스프리
    완료
  28. 다은a
    완료
  29. 완료
  30. 고조선인
    완료~!!
  31. 이대현
    완료
  32. 늦은 학생
    완료
  33. jeseung
    완료!
  34. 워니맘
    와우~AI!
  35. 최지원
  36. fladi
    완료!
  37. 인간지능
    완료
  38. 완료
  39. Yunkyeong Jang
    완료
  40. HyeonHui Jeong
    완료
  41. 나건
    완료
  42. 찐찐
    완료!
  43. 공지영
    여기까지 완료
  44. zerodb
    서로 서로 축하 합니다
  45. 김영환
    완료
  46. remi
    ㅇㄹ
  47. 서야호
    완료
  48. 엄현주
    완료
  49. 김소진
    완료
  50. shg7271
    210723