본문 바로가기

반응형

컴퓨터비전

[CS231n 9강 정리] CNN Architectures 오늘은 CNN 아키텍쳐들에 대해서 알아보겠습니다. LeNet-5 - 산업에 성공적으로 적용된 최초의 convNet - 이미지를 입력으로 받아 stride=1인 5X5 필터를 거치고 몇개의 conv와 pooling layer을 거침 - 마지막에 FC 2012년 AlexNet - 최초의 large scale CNN - ImageNet Classification Task 성능 좋음 - ConvNet 연구 유행시작 위와 같은 레이어들로 이루어져 있다. 슬라이드에 output volume과 파라미터 개수에 대한 간단한 퀴즈가 있다. 까먹을 때 참고하면 좋을거 같다. 더보기 tips - pooling layer에는 파라미터가 없다. - 실제 입력은 227x227 - 총 파라미터 60M 그당시 GTX 580을 사용했.. 더보기
[CS231n 8강 정리] 딥러닝 소프트웨어 (Deep learning software) 오늘은 실제 학습시에 사용하는 소프트웨어들에 대해 알아봅니다. 그전에 cpu와 gpu가 뭔지부터 알아보자. 먼저 CPU, central processing unit은 GPU에 비해 비교적 작은 사이즈로 제작이 되고, 램에서 메모리를 가져다가 사용한다. GPU(Graphics processing unit)의 경우 쿨러도 따로있고 파워도 많이 먹는다. gpu의 병렬연산이 행렬곱 연산에 최적화되어 있기 때문에 딥러닝 연산에 사용되고 있고, 딥러닝은 엔비디아가 거의 독점하고 있다. CUDA를 이용해서 gpu에서 실행되는 코드를 직접 작성할 수 있으나 상당히 어려운 일이다. 우리는 그냥 라이브러리 쓰면되고, 딥러닝을 위해 CUDA를 직접작성하는 일은 없을 것이다. 어쨋든 GPU programming 언어는 다음과.. 더보기
[CS231n 7강 정리] 신경망 학습 (Training Neural Networks II) 6강 살짝 복습하고 가겠습니다. 데이터 전처리를 해야 하는 이유 원점을 중심으로 조금만 움직여도 왼쪽 그림같은 전처리가 되어있지 않은 데이터들의 경우 classification이 잘 되지 않는다. 손실함수는 아주 약간의 가중치 변화에도 민감하다 학습 그래프에 대한 직관 train set 성능은 계속 올라가고 loss도 줄고 있는데 validation이 침체중이라면 오버피팅되고있는 것이다. + 추가적인 regularization이 필요한 것! hyperparameter Search Block Coordinate Descent(BCD) 같은 방법도 있음 Q. Low Learning rate를 주면 local optima에 빠질 수 있지 않냐? - 그런일이 많이 발생하지는 않는다 오늘 배울 것은 Fancier.. 더보기
[CS231n 6강 정리] 신경망 학습 (Training Neural Networks) 더보기 Q. input의 3컬러채널과 필터의 내적값이 다 합해지는건가? 맞음 오늘은 신경망 학습시에 필요한 기본 설정들에 대해서 다뤄봅니다. 순서는 이렇습니다. Activation Functions 앞선 강의에서도 언급했던 것처럼, input이 들어오면 가중치와 곱해지고, 비선형 함수인 활성함수를 거쳐 해당 데이터의 활성화여부를 결정해준다고 배웠습니다. 활성화 함수에는 여러가지가 있습니다. 오늘은 각 활성함수의 문제점과 이를 어떻게 개선해나갔는지에 대해 알아봅시다. Sigmoid 문제점 1 - 음/양의 큰값에서 Saturation되는 것이 gradient를 없앤다. - x가 0에 가까운건 잘 동작함 문제점 2 - 출력이 zero centered가 아니다 - 만약 x가 항상 양수일 떄, w의 gradien.. 더보기
[CS231n 2강 정리] NN,K-NN, Linear Classification 오늘은 2강 Image Classification pipeline에 대해서 정리해보려고 합니다. 오늘의 큰 토픽은 Nearest Neighbor / K-nn / Linear Classification ! 원본 강의 주소 한국어 자막 깃허브 강의자료 이전 강의노트 Image Classification (이미지 분류) 이 고양이 사진을 컴퓨터는 어떻게 "고양이"라고 인식할까요? 우리는 바로 고양이라고 알겠지만, 컴퓨터에게는 오른쪽 사진과 같은 숫자의 집합일거예요. 이 이미지가 고양이라는 사실과 실제 컴퓨터가 보는 저 숫자값에는 큰 격차가 있고, 이를 Semantic gap이라합니다. 고양이를 좀 더 옆에서 찍거나, 조명이 달라지거나, 고양이의 자세가 달라지거나, 사물에 살짝 숨겨지거나.. 뭐 이러한 여러 픽.. 더보기
[CS231n 1강 정리] 컴퓨터 비전의 역사 CS231n은 최고의 컴퓨터비전 강의. 강의자료는 아래에서 확인하실 수 있습니다. 강의 주소(Stanford Univercity) https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk&index=1 한국어 자막 https://github.com/visionNoob/CS231N_17_KOR_SUB 오늘은 1강인 Introduction to Convolutional Neural Networks for Visual Recognition을 정리해보려 합니다. 오늘의 큰 토픽은 컴퓨터 비전의 역사! 컴퓨터 비전이란 무엇일까? 최근 인터넷 트래픽 중 80퍼가 비디오 데이터일 만큼 엄청난 양의 시각적 데이터들이 쏟아져 나.. 더보기

반응형