Recent Posts
- Machine Learning [CS231n] 12. Visualizing and Understanding 0. 서론 이 강의의 목표는 여태까지 블랙박스(중간 과정에 대한 이해나 설명이 어려운 구조) 형태로 바라보았던 Convolutional Network의 내부가 어떻게 작동하는지에 대한 최소한의 이해를 가지는데에 있다. 물론 아직까지 딥러닝 구조를 완벽히 설명할 수는 없지만 특정 입력값을 변화시킨 후 이에대한 네트워크의 변화를 관찰함으로써 어느정도의 인과관계를 설명하고자 한다. 1. Convolutional Filters 각 Feature Map에서 필터가 찾고자 하는 정보는 어떤것인지에 대한 정보를 얻기 위해서 수많은 이미지를 이용해 훈련이 완료된 네트워크에서 weight 값을 시각화하는 방법을 채택할 수 있다. 일반적으로 이미지를 분류하는 경우 입력 값으로 3xHxW 형태의 Tensor가 들어오게 되고..
- Machine Learning [CS231n] 11. Detection and Segmentation 이번 강에서는 Image detection 과 Image Segmentation분야의 여러 문제들과 이에 사용되는 네트워크 구조를 알아볼 것입니다. 엄청나게 방대하고 현재도 활발한 분야이기 때문에 각각에 대해서 간략한 소개 정도만 하게 됩니다. 1. Semantic Segmentation Semantic segmentation이란 위 그림처럼 한 그림 안에서 각 영역을 나누는 분야입니다. - Approach 1. Sliding Window 우선 가장 먼저 생각할 수 있는 방법 중 하나는, 적당한 크기의 window 를 설정하고 이 window로 이미지를 처음부터 끝까지 훑으며 모든 위치에서 이 window안의 이미지를 classification 을 하는 CNN에 넣어주는 것입니다. 가능은 하겠지만 win..
- Machine Learning [CS231n] 8. Deep Learning Software(2) - Frameworks 이번 포스팅에서는 실제 딥러닝 코드 구현에서 사용되는 딥러닝 프레임워크들에 대해 소개합니다. * 본 포스팅은 2017년 상반기를 기준으로 작성되었습니다. 딥러닝 코드 구현에 도움을 주는 프레임워크는 그동안 정말 많이 출시되었습니다. 그 중 현재 널리 쓰이고 있고 이번 포스팅에서 소개할 프레임워크는 3개입니다. TensorFlow PyTorch Caffe2 이전의 포스팅에서 파이썬의 Numpy 모듈을 이용해서 신경망을 구현하는 방법을 보인 적이 있습니다. 물론 Numpy 모듈을 이용한 행렬 연산으로 딥러닝 네트워크를 구현할 수도 있습니다. 하지만 이 경우에는 GPU의 사용이 제한되며 그래디언트 값을 수동으로 계산해줘야 한다는 단점이 있습니다. 이에 반해 TensorFlow나 PyTorch와 같은 프레임워크..