작년말 Deepmind사는 이세돌구단을 4:1로 이긴 AlphaGo Lee 버전보다도 더욱더 강력한 버전의 인공지능 바둑 알고리즘을 발표하였다. 이 버전은 인간을 능가함은 물론이고 그동안의 다른 AlphaGo 버전보다도 훨씬 더 강력한 버전이었으며, 이 알고리즘은 자신의 활동영역을 바둑에 그치지 않았다. 이 알고리즘을 Alpha Zero라고 하는데, 바둑(Go) 뿐만 아니라 다른 게임에도 알고리즘 수정없이 모두 적용 가능하기 때문에 알고리즘 이름에 Go를 빼고… Alpha(Go) Zero 계속 읽기
[카테고리:] Machine Learning
Transfer Learning : TensorFlow Hub
Google은 최근 TensorFlow Hub이라는 library를 발표하고, transfer learning이 용이하도록 library를 제공하였다. 기존에 개발된 많은 모델과 dataset을 이용하여 이미 학습된 정보를 모두 포함하고 있는 module을 그대로 차용하여 다른 프로젝트에 활용하는 것이 transfer learning의 핵심 개념이다. 이러한 방법이 없다면, Deep Learning을 통한 application 개발은 많은 데이터와 연산능력을 확보한 조직의 전유물이 될수 밖에 없을 것이다. 다행스럽게 이 모든… Transfer Learning : TensorFlow Hub 계속 읽기
Google Object Detection API
여전히 관심 있는 분야에 대해 시간 나는데로 자료을 읽고 공부하지만 블로그에 올리지 않았다. 사실 시간이 부족한 상황에서 블로그에 글쓰는 시간 조차도 아깝다는 생각이 들기도 하지만… 정리를 한다는 면에서는 블로그에 계속 글을 올리는 것이 좋다는 생각에는 변함이 없다. Google은 작년에 자신들이 개발해 놓은 Object Detection(사물인식) API를 공개했다. 이미지 인식용으로 개발된 수많은 CNN 모델을 쉽게 사용할 수… Google Object Detection API 계속 읽기
Evolution Strategies
그 동안 Reinforcement Learning과 관련된 글을 많이 올렸고 현재도 관심을 가질 만한 논문이 계속 발표되고 있다. 최근 RL의 대안으로서, 다른 접근방법을 사용하여 RL에 필적할 만한 성능을 보이는 논문이 발표되었기에 이 논문을 소개하고자 한다. Evolution Strategies as a Scalable Alternative to Reinforcement Learning Background RL에서 적절한 action을 규정하는 policy를 구하기 위해서는 value function을 구하는 단계를 거쳐… Evolution Strategies 계속 읽기
Motion Planning : Dynamic Programming
앞서 소개한 A* method로도 훌륭하지만, 이번 포스팅은 다양한 문제에 범용적으로 사용 가능한 강화학습(Reinforcement Learning)기법인 Dynamic Programming을 사용하여 최적 path을 찾아내는 방법에 대한 글이다. RL을 구현하는데 가장 많이 사용하는 environment중의 하나가 grid world이므로, 최적 path를 찾는 환경이 이와 비슷하고, DP가 motion planning에 적용 가능하다는 것은 알 수 있다. Path search의 경우, DP의 reward개념보다는 cost 개념을 도입한다.… Motion Planning : Dynamic Programming 계속 읽기
Deep Recurrent Q-Learning
이번 포스팅은 Reinforcement Learning의 Deep Q-Network (DQN)와 연관이 있는 내용이다. 이것은 본질적으로 전에 포스팅한 Recurrent Convolutional Network의 reinforcement learning분야 활용예라고 생각해도 좋을것이다. DQN을 소개하는 포스팅에서 DQN은 state는 screen image이고 game(environment)의 dynamics을 고려하기 위해 4개의 frame을 사용한다고 언급하였다. 그렇다면, 4개의 frame 정보로 이루어진 현재의 state정보로는 agent의 적절한 action을 결정하기에 정보량이 부족한 경우라면, DQN이 게임을 마스터하기 어려울것이다.… Deep Recurrent Q-Learning 계속 읽기
3D Convolutional Networks
그 동안 ConvNets는 주로 2D image 또는 video를 입력으로 사용하여 많은 분야에 활용되었다. 그러나 deep learning과 computation power의 잠재력을 융합한다면 차원을 확장하여 사용할 수 있도록 해준다. 여기서 소개할 논문은 2D convolution대신 3D convolutional networks (3D ConvNets)을 사용하여 시공간(spatiotemporal) feature를 인식하는 방법에 관한 것이다. (여기서 3차원 데이터를 입력으로 사용한다는 것이 3차원 공간 data를 사용한다는 것을 의미하지… 3D Convolutional Networks 계속 읽기
Recurrent Convolutional Networks
인공지능이 이미지를 분석하고 판단하는 일에 매우 뛰어난 성능을 보이며, chatbot에서 짐작할 수 있듯이 자연어 처리분야에서도 뛰어난 능력을 보여주고 있다. 이미지 관련된 능력은 CNN(Convolutional Neural Networks)의 영역이고, 자연어 처리능력부분은 RNN(Recurrent Neural Networks)이 뛰어난 성능을 보여주고 있다. 두 신경망 구조는 인공지능의 비약적 발전에 큰 기여를 한만큼 이 두 구조의 장점을 모두 활용할 수 있는 분야가 이미지나 비디오의… Recurrent Convolutional Networks 계속 읽기
End to End Learning for Self-Driving Cars
자율주행차(Self-driving car)가 세간의 화제이다. 자율주행차는 인공지능 응용분야에서 경제적 파급효과가 클뿐더러, 일반인이 인공지능이 우리 생활에 미칠 수 있는 영향을 체감할 수 있다는 점에서 상징적 의미도 큰 프로젝트라고 생각한다. 자율주행 기술은 자동차가 스스로 주행에 필요한 정보를 입력받고 그 정보에 근거하여 주행에 필요한 행동을 인간과 같은 또는 더 나은 수준으로 할 수 있도록 하는 정보처리 및 컨트롤 시스템이다.… End to End Learning for Self-Driving Cars 계속 읽기
Asynchronous Advantage Actor-Critic (A3C)
RL과 신경망의 조합과 관련하여 매우 중요한 전환점이라면 DQN이다. 하지만 이 방법은 많은 저장용량 및 계산량이 요구되며, replay memory로 부터 데이터를 가져오기 때문에 과거의 policy에 의존하여 update를 수행해야 하는 off-policy method일 수 밖에 없는 단점을 가지고 있다. (DQN을 학습시키려면 GPU를 동원해야 하며, GPU도 메모리 용량이 충분해야 한다. DQN의 포스팅에 관련 정보를 제공하였다. 워낙 빨리 발전하다 보니… Asynchronous Advantage Actor-Critic (A3C) 계속 읽기
