본문 바로가기

딥러닝8

[cs231n] 9 강. CNN architectures 이번 강의에서는 CNN의 훌륭한 아키텍쳐들을 몇가지 살펴볼 것이다. Contents 1. AlexNet 2. VGGNet 3. GoogLeNet 4. ResNet Review - 1998년 처음으로 CNN이라는 개념을 개발한 네트워크로 LeNet이 있었다. - Conv layer와 subsampling(average pooling layer) layer를 거쳐 마지막에 1차원벡터로 쫙펴주는 FC layer가 있는 구조였다. AlexNet 가장먼저 2012년에 ImageNet 이미지를 기반으로 한 화상 인식 대회인 ILSVRC-2012의 우승자 AlexNet부터 보자. - 기본 구조는 [Conv-Max pooling-(normalization)] x 2 - CONV-CONV-CONV - Max poolin.. 2020. 12. 4.
[cs231n] 8강. Deep Learning Software ✔ 본 포스팅은 20/10/10 ~ 20/12/26 동안 진행하는 가짜연구소 딥러닝기초이론스터디를 통해 학습한 내용입니다. ✔ 본 포스팅은 스탠포드 대학의 cs231n 강의를 정리한 내용입니다. CPU vs GPU CPU : Central Processing Unit - 더 적은 수의 cores (4~10개 정도로 한번에 20개의 일을 시행) - 각 코어는 더 빠르고, 연속적 처리에 좋다. (sequential tasks) - cache(데이터나 값을 복사해놓는 임시장소)가 있지만, 대부분의 메모리는 컴퓨터 디스크에서 사용 GPU : Graphics Processing Unit -> NVIDIA 최고! - 수천개의 코어 - 각 코어는 더 느리지만 동시에 일을 수행 (parallel tasks) - 개별적.. 2020. 11. 28.
C1W3L6~L7 C1W3L5. Explanation for Vectorized Implementation 각 벡터행렬이 어떻게 쌓이는지 다시 정리해보자 [1]과 [2]번째 layer 안의 각 노드에서 z와 a들을 계산하는데 z = Wx + b의 행렬계산에 따라서 원소가 어떻게 쌓이는지 다음 그림을 통해 살펴보자. 일반상수 b는 브로드캐스팅을 통해 전체행렬에 더해질수있으니 빼고 생각하면 W를 가로벡터, x를 세로로 원소가 쌓인벡터라고 생각했을때 곱한 결과가 세로벡터가 생성되고, 그게 z값이며 대문자 Z행렬은 각 z(1), z(2), z(3) ...들이 열로 쌓인 행렬이 될 것이다. C1W3L6~L7. Activation Function 활성화함수의 선택 각 노드는 이전 노드의 결괏값(활성값)들을 input으로 받아서 새로.. 2020. 10. 13.
[CS231n] 1강. Introduction to Convolutional Neural Networks for Visual Recognition CS231n 은 스탠포드 대학교에서 2017년에 한 강의이다. 강의 틀지마자 이 강의는 730명이 신청해서 강의실 못 들어온 학생들은 업로드되는 영상보고 공부하라는 거 보고 아 스탠포드의 멋짐이 흘러넘침을 느꼈다..... 두근두근 설레는 마음으로 강의를 정리해보겠다! 21세기 현재는 많은 디지털 기기와 컴퓨터 기술이 발전하여 엄청난 양의 시각데이터들이 생성되고 있다. 그 데이터들은 인식하고 처리하기 위해 Computer Vision에 대한 연구가 활발히 일어나고 있다. Computer Vision은 단순한 컴퓨터기술이 아니다. 이를 연구하기 위해서는 "시각"을 가진 인간이나 동물이 어떻게 물체를 인식하는지에 대한 원리를 적용할 수도 있어야 하고, 물체가 어떻게 상이 맺히는지에 대해서도 알아야 하는 등 굉.. 2020. 10. 9.
C1W2L1 ~ C1W2L4 C1W2L1. Neural network overview 여기서는 신경망이 어떤 원리로 구성되어 있고 구현되는지 살펴볼 것이다. 이때까지 공부한바에 의하면 로지스틱회귀는 특성x와 변수인 가중치 w,b를 입력하면 가중합 z를 계산하고, 이를 통해 활성값(예측값) a를 계산해 실제값y와의 오차를 구한 뒤 거꾸로 각단계의 도함수를 구해 초기 변수 w,b와 오차값의 도함수를 구해 가중치를 수정했다. 이를 기반으로 신경망을 다음과같이 쌓는다. 각 동그라미는 node라고 부르며, 하나의 node에서 각각 z와 a값을 구하는 위의 단계를 시행한다. [대괄호]는 layer고 0번째 layer는 특성값 x들을 넣은 input layer(입력층)이다. [2]layer는 output layer(출력층)이고 최종 활성값a (.. 2020. 10. 9.
C1 W2 L13 ~ L14 C1W2L13. Vectorizing Logistic Regression for 문 없이 로지스틱회귀의 정방향전파를 코드로 구현해보자 > 2020. 10. 9.