machine learning(56)
-
[TENSORFLOW]CNN-MAXPOOLING
2017/05/08 - [machine learning] - [TENSORFLOW] CNN-1convolution으로 다양한 filter를 적용한 filter map을 생성했다면, 이제는 이 filter map의 계산 부하나 연산 속도 등을 위해 filter map 데이터의 크기를 줄일 필요가 있다. CNN의 pooling을 통해 filter map의 크기를 줄일 수가 있다. average pooling이나 sparse coding pooling, maxpooling 등의 여러 가지 pooling이 있으며 이번 포스팅에서는 max pooling만 다뤄볼 예정이다.max pooling은 말 그대로 해당 커널 내에서 가장 큰 값만 취하겠다는 소리다. 예를 들어 [[1,3], [2,4]] 의 값에서 4만 취하..
2017.05.09 -
[TENSORFLOW] CNN-CONVOLUTION
2017/04/19 - [machine learning] - [TENSORFLOW] Image AutoEncoder 이번 포스팅에서는 이미지나 오디오 등의 데이터에 대해 많이 쓰이는 CNN 모델에 대해 알아 볼 것이다. 기존 neural network의 경우에는 입력 데이터 차원이 클 수록 수많은 weight 파라미터를 가져야 한다는 단점이 있었다. 예를 들어 아래의 그림은 256x256의 이미지를 나타내며 각 픽셀이 10개의 output neuran에 매핑되고 있다. 아래의 방식을 기존에 학습한 neural network에 적용해 본다면 256x256x10 개의 weight 파라미터를 지녀야 할 것이다.CNN에서는 공유 파라미터라는 개념을 도입해서 위와 같은 부하를 방지하고 있다. 똑같은 256x256..
2017.05.08 -
[TENSORFLOW] Reinforcement learning
강화 학습이란 현재의 상태를 인식해서 어떠한 행동을 취하고 해당 행동이 옮은지에 따라 포상을 취하게 된다. 이렇게 포상을 받게 되면, 이러한 포상이 최대가 될 수 있도록 하는 일련의 행동을 찾을 수가 있고, 이러한 행동들이 발생하게 하는 정책을 찾아냄으로써 학습을 해나가는 것이 바로 강화 학습이다.우리는 20년치의 주식 데이터를 가지고 언제 어떤 행동을 했어야 했는지에 대해 학습을 강화해 볼 것이다.행동은 크게 [주식을 산다, 주식을 판다, 기다린다] 이렇게 3 가지 action으로 분류하였다.코드를 보며 자세히 살펴보자. 우선 DecisionPolicy라고 하는 class를 생성해 주자. 일종의 abstract class라고 생각하자.그리고 DecisionPolicy를 상속받는 QLearningDeci..
2017.04.27 -
[TENSORFLOW] Image AutoEncoder
2017/04/18 - [machine learning] - [TENSORFLOW] Autoencoder 지금까지 1차원 입력에 대해서만 auto encoder를 살펴보았다. 그렇다면 이미지 등과 같은 2차원 입력에 대해서는 어떤 식으로 autoencoder를 만들어야 하는 것일까?우리는 이미지를 우선 gray scale로 변환 한 후 1차원으로 열거할 것이다. 우선 첫 번째로 빨간색, 녹색, 파란색의 평균을 구해 gray 픽셀 값으로 변환한다. 그 다음으로 2차원으로 나열되어 있는 이미지 배열을 1차원으로 열거해 놓는 것이다. 즉 [[1,2,3],[4,5,6],[7,8,9]] 이런 식의 이미지 데이터를 [1,2,3,4,5,6,7,8,9] 이런식으로 변환을 한 후 autoencoder를 적용해 볼 것이다..
2017.04.19 -
[TENSORFLOW] Autoencoder
Autoencoder는 출력을 가능한한 입력에 가깝에 만들도록 매개변수를 학습하는 신경망 유형 중의 하나이다. 예를 들어 아래와 같은 뉴런 모형이 있다면 입력과 출력의 값은 일치하게 될 것이다. 하지만 위와 같은 모델은 어떠한 이득이나 어떠한 특징도 없기 때문에 위와 같은 모델을 autoencoder라고 하지는 않는다. input과 output 사이에는 작은 차원의 hidden layer가 있고, 이 hidden layer를 통해 input의 특징을 구분지을 수가 있다. 위와 같은 모델을 autoencoder라고 하며, input->hidden으로 데이터를 압축하는 과정을 encoding, hidden->output으로 데이터를 복호화하는 과정을 decoding이라고 부른다. 코드를 통해 살펴보자. 선언..
2017.04.18 -
[TENSORFLOW] HMM viterbi 알고리즘
2017/04/14 - [machine learning] - [TENSORFLOW] Hidden Markov Model 지난 포스팅에서 HMM과 forward 알고리즘에 대해 알아봤다면 이번에는 주어진 관측 데이터에 대해 가장 최상의 hidden state는 무엇인지를 찾아보는 viterbi 알고리즘에 대해 알아보자. 예를 들어 [Walk -> Shop -> Shop -> Clean -> Shop] 라는 관측 데이터가 주어졌을 때, 이에 대한 가장 최상의 state는 [Rainy -> Sunny -> Sunny -> Rainy -> Rainy] 라는 것을 찾아 내는 것이다.위와 같은 HMM 모델에 대해서 [Walk->Shop->Shop->Clean->Shop] 일 때의 상태 정보를 알아볼 것인데, 원리는..
2017.04.17