생활코딩

Coding Everybody

코스 전체목록

닫기

강화학습 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. j2a_yan
    check 흥미롭군요!
  2. 장청룡
    20210310 완료
  3. 완료하였습니다.
  4. Kim Peter
    감사합니다.
  5. pmc0814
    완료
  6. jakekimm
    완료
  7. Mikiss
    강화학습 = 투자한 시간?
  8. 병찬
    완료
  9. 뭄수
    완료
  10. 파도
    완료
  11. 완료
  12. 이른아침새벽
    완료
  13. 물든혼
    완료
  14. 약한심장
    축하드려요.
  15. infanzia
    축하!
  16. 크리스마스이브
    봤어요
  17. 와.. 사례 들어가서 꼭 보세요. 신기하네요.
  18. EhtanKim
    완료~!!
  19. 시라큐스
    완료
  20. 황선희
    완료
  21. Seungyoung Kim
    완료
  22. 황은솔
    완료
  23. 우딩
    완료~
  24. 정훈
    지도학습: 배움
    강화학습: 경험
  25. 무사
    완료
  26. 문혜경
    완료
  27. Doohyeok Lee
    완료
  28. 고동
    삶은 강화학습
  29. 윤아
    완료
  30. minhyekim
    완료 !
  31. 콘수프
    완료
  32. 조웅민
    완료!
  33. 정위제
    완료
  34. 제로니
    완료
  35. darkghost
    강화학습은 영어로는
    Reinforcement Learning이라고 함
    Reinforcement 강화, 증강이라는 뜻
    경험을 통하여 학습함

    완료!!!
  36. 안민영
    완료
  37. 조은하람
    완료
  38. 금순언니
    완료
  39. 정동주
    완료!
  40. Saerom Rachel Jung
    완료
  41. 생글
    완료
  42. jeongho
    완료!
  43. Jonathan76
    완료
  44. 300billionaire
    완료
  45. 이정효
    완효!
  46. 머싱러닝
    완료
  47. 궉하
    완료!
  48. 탄콩
    완료
  49. 범벌
    완료
  50. 윤경
    완료
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기