본문 바로가기

Deep learning

AlexNet을 사용한 Deep Learning 실습(MATLAB) -(2) 프로젝트를 수행하기에 앞서 가장 먼저 할 일은 Dataset을 찾는 것이었다. 6GB 용량의 이미지 모음을 Dataset으로 정하고 프로젝트를 시작했다. 압축을 푼 이미지를 이미지 데이터저장소로 불러온다. imageDatastore 함수는 폴더 이름을 기준으로 이미지에 자동으로 레이블을 지정하고 데이터를 imageDatastore 객체로 저장한다. 이미지 데이터저장소를 사용하면 메모리에 담을 수 없는 데이터를 포함하여 다량의 이미지 데이터를 저장할 수 있고 CNN 훈련 중에 이미지 배치를 효율적으로 가져올 수 있다. 이미지를 훈련 데이터 세트와 검증 데이터 세트로 나눈다. 이미지의 70%를 훈련용으로 사용하고 30%를 검증용으로 사용한다. splitEachLabel 함수는 이미지 데이터저장소를 두 개의 .. 더보기
AlexNet을 사용한 Deep Learning 실습(MATLAB)-(1) MATLAB에서는 Deep Learning Toolbox라는 딥러닝 관련 도구를 제공한다. Deep Learning Toolbox는 딥러닝 관련 여러가지 네트워크를 지원하는데 그 중에서 선택한 것은 AlexNet이라는 네트워크였다. AlexNet이란? AlexNet은 2012년에 개최된 ILSVRC(ImageNet Large Scale Visual Recognition Challenge, 이미지 인식 경진대회)에서 우승을 차지한, CNN 구조의 알고리즘이다. AlexNet은 2개의 GPU로 병렬연산을 수행하기 위해 병렬구조로 설계되었다. AlexNet은 8개의 레이어(Layer)로 구성되어 있는데, 5개의 컨볼루션 레이어와 3개의 fully-connected 레이어로 구성되어 있다. AlexNet에 입력.. 더보기
AlexNet을 사용한 Deep Learning 실습(MATLAB) -(0) 대학교 기말 발표 때문에 준비했던 딥러닝 실습과정을 블로그에 옮겨 보려고 한다. 계기 통신프로그래밍이라는 수업의 기말발표는 MATLAB을 사용한 프로젝트의 구현이었다. 주제는 신호 분석을 포함한 자유주제였다. 나는 신호에는 별로 관심이 없어서 무엇을 할까 고민하던 차에 MATLAB에서 딥 러닝 관련 도구를 제공한다는 것을 알게 되었고, 그걸 프로젝트 주제로 삼게 되었다. 딥 러닝 관련 학습 네트워크는 여러가지가 존재하는 데 그 중에서 AlexNet이라는 네트워크를 사용하기로 결정했다. 이유는 별거 없었다. 초심자인 내가 보기에 가장 간단해보였기 때문이다. 주제를 정하고 관련 이론들을 공부하기 시작했는데, 느낀 점은 딥 러닝이라는게 그렇게 간단한 게 아니라는 사실이었다. 수학적으로 공부할 것이 너무나도 많.. 더보기