no image
DQN 논문 (Playing Atari with Deep Reinforcement Learning) 리뷰
Playing Atari with Deep Reinforcement Learning 논문에 대한 간략한 리뷰이다. 구글 딥 마인드에서 2013년 작성하였다.https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf 개요Q-learning을 변형하여 convolutional neural network를 학습한 모델이다. 입력으로는 raw pixels를 사용하고 출력으로는 value function을 사용하였다. 7개의 아타리2600 게임에 적용하여 6개 게임에서 이전 접근 방식보다 뛰어난 성능을 보였고 3개 게임에서 인간보다 뛰어났다. 배경 지식Q-learning에 대한 기본적인 배경 지식을 알고 있으면 좋다. 각 시간 단계에서 에이전트는 action set 에서 행동을 선택하며,..
2024.06.20
no image
알파제로 논문 리뷰
“Mastering the game of Go without human knowledge” 라는 제목의 논문을 읽었다. 논문 리뷰 발표를 위해 제작한 자료를 기반으로 간략하게 글을 써본다. https://github.com/suragnair/alpha-zero-general GitHub - suragnair/alpha-zero-general: A clean implementation based on AlphaZero for any game in any framework + tutorial + OtheA clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connec..
2024.06.19
벨만 방정식 (Bellman Expectation, Bellman Optimality)
강화학습 공부를 하며 중요했던 개념 중 하나인 벨만 방정식 (Bellman Equation) 에 대해 정리하였다. Bellman Expectation Equation은 주어진 policy에 대해서, 상태 가치 함수 V와 행동 가치 함수 Q를 정의하고 계산하는데에 사용되는 식이다. $$ V^\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma V^\pi(S_{t+1}) \mid S_t = s \right] $$$$ Q^\pi(s, a) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma Q^\pi(S_{t+1}, A_{t+1}) \mid S_t = s, A_t = a \right] $$ 각 상태 혹은 행동의 가치는, 그 다음 state의 reward와 ..
2024.06.18
no image
핸즈 온 머신러닝 :: 16. 강화 학습
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 16. 강화 학습 강화 학습 (Reinforcement Learning)은 요즘 머신러닝에서 흥미진진한 분야이며 오래된 분야이다. 2017년 5월 알파고가 바둑 세계챔피언 커제를 이기며 성과의 절정에 다다랐다. 강화 학습 분야에 강력한 딥러닝을 적용했더니 상상 이상의 성능을 낸 것이다. 16.1 보상을 최적화하기 위한 학습 에이전트(agent)는 관측(observation)을 하고 주어진 환경(environment)..
2020.02.02
no image
핸즈 온 머신러닝 :: 15. 오토인코더
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 15. 오토인코더 데이터들을 효율적으로 표현할 수 있는 coding을 학습할 수 있는 인공 신경망을 오토인코더라고 부른다. 따라서 오토인코더는 차원축소에 유용하며 특성 추출기처럼 작동하므로 심층 신경망의 비지도 사전훈련에 사용될 수 있다. 또한 훈련 데이터와 비슷한 새로운 데이터를 생성할 수 있는데 이를 generative model이라고 부른다. 오토데이터는 입력과 같은 출력을 특정 조건하에서 학습하며 배운다. 1..
2020.01.31
no image
핸즈 온 머신러닝 :: 14. 순환 신경망
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 14. 순환 신경망 순환 신경망 (recurrent neural networks)은 미래를 예측할 수 있는 신경망이다. 주식가격 예측, 자율 주행 시스템에서 차의 이동경로 예측 등을 도운다. 입력은 임의 길이를 가진 sequence 일 수 있다. 또한 RNN의 창의성을 활용하여 멜로디 제작, 문장 생성, 이미지 캡션 생성 등을 할 수 있다. 14.1 순환 뉴런 지금까지는 신호가 입력층에서 출력층 한 방향으로만 흐르는..
2020.01.28
no image
핸즈 온 머신러닝 :: 13. 합성곱 신경망
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 13. 합성곱 신경망 convolutional neural network (CNN)은 대뇌의 시각 피질 연구로부터 시작되었고 이미지 검색 서비스, 자율 주행 자동차, 영상 자동 분류 시스템 등 시각 분야에 큰 기여를 했으며 그 외에도 음성 인식이나 자연어 처리 같은 작업에도 많이 사용된다. 13.1 시각 피질의 구조 시각 피질 안의 많은 뉴런이 작은 local receptive field를 가져, 시야의 일부 범위 ..
2020.01.27
no image
핸즈 온 머신러닝 :: 12. 다중 머신과 장치를 위한 분산 텐서플로
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 12. 다중 머신과 장치를 위한 분산 텐서플로 11장에서는 훈련 속도를 높일 수 있는 여러 기술을 알아보았다면, 12장에서는 텐서플로를 사용해 연산을 여러 개의 장치에 분산시켜서 병렬로 실행시키는 법을 배운다. 텐서플로의 분산 컴퓨팅 기능은 주요한 장점이다. 계산 그래프를 여러 장치와 머신에 어떻게 분할 시킬지 완전히 제어할 수 있고 연산을 다양한 방식으로 병렬화하고 동기화할 수 있어서 모든 종류의 병렬화 방식이 사..
2020.01.24
no image
핸즈 온 머신러닝 :: 11. 심층 신경망 훈련
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 11. 심층 신경망 훈련 10장에 비해서 훨씬 더 깊은 심층 신경망을 훈련시킬 때의 문제들을 살펴보고 해결 방법을 공부한다. 11.1 그래디언트 소실과 폭주 문제 알고리즘이 하위층(입력층)으로 진행됨에 따라 그래디언트가 점점 작아진다면 그래디언트 소실 현상이라고 부르고, 점점 커져서 발산한다면 그래디언트 폭주라고 부른다. 과거 많이 사용되던 로지스틱 활성화 함수와, 평균이 0이고 표준편차가 1인 정규분포 초기화 방법..
2020.01.22
no image
핸즈 온 머신러닝 :: 10. 인공 신경망 소개
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 10. 인공 신경망 소개 뇌의 구조로부터 아이디어를 얻은 것이 artificial neural networks의 핵심 아이디어이다. 그리고 인공 신경망은 딥러닝의 핵심이다. 이는 강력하고 확장성이 좋아서 수백만개의 이미지를 분류하거나, 음성 인식 서비스 등을 진행하거나 게임하면서 학습하는 알파고 등 대규모 머신러닝 문제를 다루기 좋다. 10.1 생물학적 뉴런에서 인공 뉴런까지 인공 신경망 자체는 오래전부터 있었다. ..
2020.01.19
no image
핸즈 온 머신러닝 :: 9. 텐서플로 시작하기
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 9. 텐서플로 시작하기 Tensorflow는 수치 계산을 위한 강력한 라이브러리이다. 계산 그래프를 정의한 다음, 실행하는 형태로 이루어져있다. 텐서플로는 구글 브레인에서 개발하였고 C++로 개발된 python library다. 텐서플로의 장점으로는 자동 미분 기능을 지원한다는 점과 TensorBoard라는 훌륭한 시각화 도구를 활용할 수 있다는 점, 모든 종류의 신경망 구조 및 계산 그래프를 만들 수 있다는 점 등..
2020.01.18
no image
핸즈 온 머신러닝 :: 8. 차원 축소
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 8. 차원 축소 많은 경우 머신러닝 문제는 훈련 샘플 각각이 수백만개의 특성을 가지고 있는데, 이는 훈련을 느리게 하며 성능을 좋지 않게 만든다. 이를 curse of dimensionality 라고 한다. 예를 들어 MNIST 이미지에서는 이미지 경계에 주로 흰색 픽셀이 있으므로 완전히 제거해도 많은 정보를 잃지 않는다. 또한 인접한 픽셀을 합치는 과정을 진행해도 많은 정보를 잃지 않는다. 차원을 축소시키면 일부 ..
2020.01.18