📗강의노트/CS231n

    [CS231n] 14. Deep Reinforcement Learning

    강화학습은 에이전트의 보상을 최대화할 수 있는 행동이 무엇인지를 학습하는 것이다. 강화학습의 대표적인 방법인 Q-Learning과 Policy Gradients에 대해서 배워볼 것이다. 에이전트와 환경이 있다. 그리고 환경에서 에이전트에게 상태가 주어진다. 그리고 에이전트는 행동을 하게된다. 그러면 환경은 행동에 따라 에이전트에게 보상을 주고 다음 상태를 부여한다. 계속 반복이된다. 고전적인 문제이다. 게임을 학습시켜 높은 점수를 따게 할 수 있다. 과연 수학적으로는 어떻게 나타낼까? Markov Decision Process를 통해서 강화학습 문제를 수식화 시킬 수 있다. Markov property란 현재 상태만으로 전체 상태를 나타내는 성질이다. 환경은 초기 상태 분포인 p(s_0)에서 상태 s_0..

    [CS231n] 13. Generative Models

    비지도 학습중 세가지의 생성 모델에 대해 볼 것이다. 지금까지 배운 것은 다 지도 학습이었다. Clustering, PCA, Autoencoders 는 비지도이다. 데이터에 대한 비용이 적다. P_data를 통해 P_model을 학습시키고, 이 모델이 P_data와 같은 데이터를 생성하도록 하는 것이다. 색을 칠할수도 있다. 데이터의 잠재적인 특징들(latent features)을 잘 학습시켜 놓으면 추후 다른 테스크에도 아주 유용하게 쓰일 수 있다. 3가지에 대해서 말할 것이다. 이미지 x에 대한 우도(likelihood)인 p(x)를 모델링할 것이다. 체인룰로 p(x)를 1차원 분포들간의 곱의 형태로 분해한다. 분포 p에서 도대체 “모든 이전 픽셀”이 의미하는 바가 무엇일까 Pixel RNN 화살표 ..

    [CS231n] 12. Visualizing and Understanding

    필터와 내적한 결과가 first layer에 입력된다. ( 학습된 가중치 ) 우선 가장 많이 찾는 것은 ‘Edge’성분이다. 흰/검으로 길게 늘어선 필터들이 보인다. 보색도 보인다. CNN을 어떤 모델/ 데이터로 학습하건 간에 첫 번째 레이어는 전부 다 이런 식으로 생겼다. 시각화 함으로써, 첫 번째 레이어가 무엇을 찾고 있는지 알 수 있다. 레이어가 깊어질 수록 더 알아보기 힘들다. 적당한 직관을 얻기가 힘들다. 연결이 되어있지 않기 때문이다. T-SNE는 특징공간을 시각화하기 위해서 사용하는 PCA보다는 더 강력한 방법이다. 군집들은 MNIST의 숫자를 의미한다. IMAGE-NET에도 적용 가능하다. 군집으로 나타남 원본 이미지를 CNN으로 4096dim으로 표현하고, 이를 t-SNE로 2dim으로 ..

    [CS231n] 11. Detection and Segmentation

    Segmentation, Localization, Detection 배울 내용이 다 들어가있는 사진이다. 첫 번째는 Semantic Segmentation이다. 입력은 이미지고 출력으로는 이미지의 모든 픽셀에 카테고리를 정한다. 픽셀로 카테고리를 정해서 암소 두마리를 구분할 수가 없다. 이것이 Semantic Segmentation의 단점이다. 이후에 Instance Segmentation이 이를 해결할 수 있다. 입력 이미지를 아주 작은 단위로 쪼갠다. 해당 영역이 어떤 카테고리에 속하는지 정하는 것이다. 비용이 매우 크다. 다 쪼개고 모든 영역을 forward / backward해야 하기 때문이다. 따라서 개별적으로 적용하는 것은 매우 좋지않다. Fully convolutional이 더 낫다. 이미지..

    [CS231n] 10. Recurrent Neural Networks

    Train game 해보기. (1) One to many 단일 입력이지만 출력은 caption같은 가변 출력이다 ( image captioning ) (2) many to One 입력이 가변 입력이다. 감정 분류에 쓰인다. 비디오를 읽을 때도 사용된다. (문장) ( Sentiment Classification ) (3) many to many 입/출력 가변 (Machine Translation ) 번역된 길이는 다를 것이다. (4) many to many 비디오 처럼 가변 입력이고 프레임마다 출력값이 나와야 하는 상황 ( Video classification on frame level ) RNN 으로 input x가 들어감. RNN에는 ‘hidden state’가 있는데 이는 새로운 입력을 불러들일 때마..

    [CS231n] 9. CNN Architectures

    최신 CNN 아키텍쳐에 대해 알아볼 것이다. AlexNet은 최초의 Large scale CNN이다. 출력 차원은 55이다. 55 (wide) X 55 (height) X 96 (number of filters)으로 output volume이 된다. pooling의 경우에는 가중치가 없고 그저 특정 지역에서 큰 값을 뽑아내는 역할만 하기에 “ 파라미터 “ 가 없다. VGGNet 은 더 깊어지고(layers) 더 작은 필터(3x3)를 사용한다는 것이 특징이다. 우선 필터의 크기가 작으면 파라미터의 수가 더 적다. 따라서 큰 필터에 비해 레이어를 조금 더 많이 쌓을 수 있다(Depth). GoogLeNet도 깊은 네트워크다. 22개의 레이어로 구성되어 있다. 계산량을 효율적으로 수행하도록 네트워크를 디자인했..