본문 바로가기

Artificial Intelligence24

강화학습(Reinforcement Learning) 정리노트-DQN 본 자료는 김성훈 교수님의 모두를 위한 강화학습을 기반으로 작성되었습니다. 별도의 목차가 없습니다. 한 호흡에 읽어야 해서 부담스러울수도 있습니다. Agent는 자신이 할 수 있는 여러 Action들 중 하나의 Action을 선택하고, 그 선택을 Environment에게 넘긴다. Agent로부터 Action을 넘겨받은 Environment는 그 Action에 대하여 두 가지 결과물을 내는데, 일단, Action의 결과인, 어떤 상황으로 변했는지에 해당하는 state 정보를 넘긴다. 그리고, 넘겨받은 Action을 평가한 점수인 reward를 넘긴다. Environment는 openAI gym에서 제공하는 Environment을 사용하게 되는데, environment는 우리가 직접 만들 수도 있다. ope.. 2019. 8. 28.
AdaBoost(아다부스트) 알고리즘 개념 Adaptive Boosting의 약자. Ensemble-based Classifier의 일종으로 본다. 영상을 인식하기 위하여 영상의 특징을 weak classifier를 반복적으로 적용하는 방법으로 찾아나가는 알고리즘이다. 이렇게 하면, weak classifier가 strong classifier가 된다. 아다부스트는 다음과 같이 작동한다. 처음에는 weak classifier가 아무(random) data N개를 training하고서 testing을 수행한다. 이 때 data들의 weight은 모두 동일하게 1/N. 이렇게 해서 하나의 선을 그릴 수 있게 된다. 우리는 이 선을 h1(x)라고 부를 수 있다. 이 때 제대로 분류해내지 못하는 데이터들이 발생할 것이다. 이 때의 오류값을 1이라고 부른.. 2018. 12. 23.
인공지능, 머신러닝, 딥러닝 용어 비교 ‘인공지능’이라는 용어를 처음 만들어낸 사람은 스탠퍼드대학교의 컴퓨터 과학자 존 매카시다. 1956년 관련 학회에서 인공지능을 “지능적인 기계(지능을 가진 기계), 특히 지능적인 컴퓨터 프로그램을 만드는 과학 기술”로 정의했다. 그럼 지능이란 뭘까. 객체의 특징을 이해하고 이를 기반으로 객체를 인식하거나 인간의 추론과 유사한 판단을 해낼 수 있는 능력. 즉 인공지능은 인간의 사고를 똑같이 구현하는 것을 폭넓게 지칭한다. 머신러닝이란 인공지능의 일부분. 대량의 데이터(판단의 근거, 지능의 원천)를 처리하고 학습할 수 있는 알고리즘을 구현함으로써 미리 프로그램되지 않은 부분에 대해서도 예측과 결정(곧 판단)을 내릴 수 있게 하는 인공지능 구현 방식이다. (판단을 내릴 수 있는 능력이 곧 지능) 즉 기존의 예.. 2018. 12. 23.
경사하강법(Gradient Descent) 손실(Loss) 함수를 정의하는 이유는 손실의 변화 정도를 살피기 위해서이다. 손실을 최소화하는 방향으로 목적 함수의 파라미터를 조절해나가야 한다는 목적을 갖고있기 때문에 손실의 변화 정도를 살피기 위하여 손실 함수를 정의하고 미분하여 기울기의 크기와 방향을 살피게 된다. 게다가 L2 손실로 손실 함수를 정의한다면, convex optimization problem이 되기 때문에 손쉽게 solution을 구할 수 있게 된다. 손실이 줄어드는 방향으로 model param이 이동한다. 이 때 이동 보폭은 정하기 나름이다. 특성이 많아서 차원이 높은 모델일 경우 똑같은 보폭이라 할지라도 발산할 가능성이 있다. 따라서 보폭을 줄여야 한다. 참고로 신경망은 그릇이 아니라 계란판처럼 생겼다. 따라서 초기값이 무엇.. 2018. 12. 23.