Computer Science, Engineering
[Deep Learning] CS231n - 08. Deep Learning Software
Lecture 8 - Deep Learning Software 먼저 CPU와 GPU에 대해 설명한다. 근데 이건 다 알고 있는거니깐 사진하나만 보고 가볍게 넘어가자. CPU와 GPU의 차이를 보면 이렇다. 코어와 클럭스피드, 메모리의 차이가 존재한다는 것. CPU는 범용목적으로 독립적으로 잘 활용된다. GPU는 연산처리목적으로 병렬 수행을 하는데 특화되어 있다. 특히, 행렬곱 연산에 있어 엄청나게 빠르다. 모든 연산에 있어 병렬로 연산을 할 수 있기 떄문. 비슷한 맥락으로 CNN연산에 있어서도 빠른 것. GPU의 연산이 빠르다는 것을 알았는데, 사실 데이터는 HDD/SSD에 존재한다. 고로, 읽어오는 시간이 보틀넥이 될수 있다. 미리 RAM에 읽어오는 Pre-fetching 로 해결할 수 있다. PyTo..
[Deep Learning] CS231n - 07. Training Neural Networks II
Lecture 7 - Training Neural Networks II 저번 주 복습 후, 오늘 배울 것을 설명 Fancier optimization Regularization Transfer Learning Optimization optimization에 대한 간단 복습 설명 가중치에 대한 손실함수 정의 후, 손실함수를 통해 가중치가 얼마나 좋고 나쁜지에 대해 알 수 있다. → 이 손실함수는 산(convex)의 형태로 표현이 가능 가장 낮은 Loss를 가진 가중치(W)를 찾는 과정 가장 간단한 최적화 알고리즘은 Stochastic Gradient Descent이다.. 미니 배치 안의 데이터에서 Loss를 구하고 Gradient의 반대방향을 이용해 가중치를 업데이트. → 반대방향의 이유는 손실함수를 내려..
[Deep Learning] CS231n - 05. Convolutional Neural Networks
Lecture 5 - Convolutional Neural Networks 이전 수업들에서 일반적인 선형함수를 통한 NN에 대해 배워왔다. 중간형 템플릿을 만들어 학습하는 것처럼 작동하는 것. CNN에 대해 배워보자. 일반적인 NN과 비슷하지만, 공간적인 요소를 사용한다고 함. 먼저 NN과 CNN의 간략한 역사에 대한 설명 실제 신경을 탐지하기 위한 실험으로 고양이 뇌에 전극을 꽂아 실험 보여주는 것에 따라 전류가 감지됨 → 전류의 흐름을 따라 시각적 효과를 받는 셀, 여러 셀들이 다 연결되어있음을 알게 되었다. 1980, Hubel, Wiesel이 Neocognitron 라는 최초의 NN을 개발 → 앞선 아이디어에서 sell간의 관계를 사용 CNN 이론은 이전부터 존재해왔다. 처음으로 개발을 한 건 이..
[Deep Learning] CS231n - 04. Introduction to Neural Networks
Lecture 4 - Introduction to Neural Networks 이전에 배운 것 복습 → computational graph framework를 활용해서 back propagation이 어떻게 실행되는지 볼 것. Back propagation 일단 모든 식에 대한 back propagation에 대해 알아보기 전에 간단한 식으로 부터 미분이 어떻게 진행되는지, chain rule이 어떤 식으로 진행되는지 알아보자. x, y, z(bias) 가 주어지고, q,f 는 위 빨간박스, 파란박스 식으로 정의된다. 이 상황에서 f 에 대한 x 편미분, y 편미분, z 편미분을 구하고자 한다. 각 부분에서 편미분 값은 오른쪽 그래프에서 빨간 숫자를 보면 된다. f에 대한 f 편미분은 당연히 1, z 편..
[Deep Learning] CS231n - 03. Loss Functions and Optimization
Lecture 3 - Loss Functions and Optimization 일반적인 Linear classification으로 구현했을 때, 결과를 예시로 보여주었다. 결과를 봤을 때, 고양이 사진이면 고양이 카테고리에 대한 결과 값이 제일 높아야 하는데 그렇지 않았다. → 좋지 않은 결과라는 것. 그렇다면, Weight인 행렬 W에게 지금의 결과가 얼마나 안좋은지 정량적으로 알려 주어야 한다. → 이렇게 알려주는 것이 바로 ‘Loss function(손실 함수)’ 다음과 같이 알고리즘에 나온 결과와 실제 값의 차이를 Loss function을 통해 계산하고 이를 평균한 것이 최종적인 Loss 값이라고 할 수 있다. 이를, W 행렬에게 알려주는 것. → W가 얼마나 좋은지 정량화 시킬 수 있는 손실함..
[Deep Learning] CS231n - 02. Image Classification
Lecture 2 - Image Classification 이미지 분류는 어떻게 하는가? 이미지와 카테고리가 있으면, 이 이미지가 어떤 카테고리에 제일 가까운가를 고르는 것이 된다. 우리의 시각체계에서는 이를 매우 쉽다고 생각하지만, 기계는 우리와 다르게 사진을 본다. 기계가 사진을 볼 때는 RGB와 각 픽셀의 값들로 오로지 숫자들로만 사진을 보게 된다. 여기서 사람과 기계가 사진을 볼 때 생기는 Gap이 있는데 이를 Semantic Gap이라고 한다. 이게 어려운 이유는 더 존재한다. 똑같은 고양이 사진이 있더라도 각도에 따라 픽셀이 다 달라지게된다. 이를 알고리즘은 똑같이 고양이라고 판단할 수 있어야 한다. 조명의 문제도 존재한다. 밝고 어두운 곳에서의 모든 사진은 같은 고양이라고 인식할 줄 알아야 ..
[Deep Learning] CS231n - 01. CNN for visual recognition
Lecture 1 - Introduction to Convolutional Neural Networks for Visual Recognition 컴퓨터 비젼의 역사 비젼의 탄생과 비젼을 통한 생물들의 진화 60/70/80 년대의 비젼 연구들을 보면 컴퓨터 비젼을 통해 어떤 일을 할 수 있을까를 고민한 시기 컴퓨터 파워도 매우 낮았고, 데이터도 거의 없었다. 또한, PC가 보급되기 이전 세대 컴퓨터 과학자들은 어떻게 해야 대상을 인식하고, 표현할 수 있을지 고민했다. 70년대 “Generalized Cylinder”와 “Pictorial Structure” 연구를 보면 ‘모든 객체는 단순한 기하학적 형태로 표현할 수 있다’라는 개념이 등장 단순한 모양과 기하학적인 구성을 이용해 복잡한 객체를 단순화하는 방..
[논문요약/리뷰] Interference Source Identification for IEEE 802.15.4 Wireless Sensor Networks Using Deep Learning
학부연구생 때, 논문을 읽으며 요약한 글. 오랜만에 들어간 Dropbox paper에서 찾게됬다. 그대로 남아있는 것이 아쉬워, 내 블로그에 올려놓는다. 혹시 저작권 등의 문제가 있다면, 알려주세요 ! 또한, 잘못 이해하거나 부족한 부분이 있다면 알려주세요 ! Interference Source Identification for IEEE 802.15.4 Wireless Sensor Networks Using Deep Learning Abstract 비면허 주파수(unlicensed band)의 간섭현상(Interference issue) 때문에, 센서 노드들은 빈번히 성능이 떨어지거나, 연결이 끊어지는 문제가 발생한다. 그래서 이 논문은 딥러닝을 활용하여 802.15.4 베이스의 무선 센서 네트워크에서 ..