[음악]
이제 관건은 딥 특징을 통해
모델을 향상시킬 수 있는지입니다
딥 특징 기억하시죠
딥러닝 모듈에서 꽤 자세히 다뤘는데
딥 특징은 전이 학습이란 기법으로 어느 한 영역에서 학습한 특징을
다른 영역의 이미지에 적용해서
적은 양의 라벨 데이터만 주어져도 학습을 가능하게 합니다
감 잡기 위해 훈련 데이터의 길이를 보면
이미지가 2000장인데
꽤 작은 데이터 세트라고 할 수 있죠
이제 살펴보면서 훈련 이미지 2000장과
딥 특징만 가지고 뭘 할 수 있는지 봅니다
순서는 이렇습니다
미리 훈련된 모델인
deep_learning_model를
graphlab.load_model로 불러옵니다
이미지넷 데이터를 불러옵니다
여깄습니다
imagenet_model이라 이름짓죠
모델에 150만장의 이미지와
천 개의 카테고리, 다양한 데이터 세트
150만개의 이미지와 AlexNet 모델입니다
2012년 이미지넷 대회에서 놀라운 정확도를 보였는데
모델을 미리 훈련시키고 이를 통해
deep_feature라는
새로운 열을 만듭니다
이 열에 방금 불러온
deep_learning_model을 넣습니다
deep_learning_model
extract_features를 호출할 텐데
딥 특징을 추출하는 함수죠
전이 학습, 즉 어느 한 영역에서 학습된 특징을
데이터 세트의 다른 영역에 적용합니다
데이터 세트는 이미지 훈련 데이터죠
이게 입력해야 하는 두 명령어입니다
간단하죠
잘 보이도록 폰트 크기를 줄입니다
전이 학습을 하기 위한 명령어 둘입니다
이미지넷의 신경망 훈련 데이터를
CIFAR-10 데이터 세트에 적용합니다
딥 특징 계산은 몇 분쯤 걸리는데
지금 하지는 않을 겁니다
대신에
image_train에서
먼저 헤드, 처음 몇 줄을 보여드리죠
이미지 ID, 보고 있는 이미지,
라벨, 딥 특징 열도 있습니다
미리 계산해서 SFrame에 저장해뒀습니다
So it's already saved and precomputed. 미리 계산 후 저장됐습니다
image_array란 열도 있는데
픽셀 모델 훈련시킬 때 썼던 겁니다
deep_features는 이미 있지만
두 명령어를 실행하면 데이터 세트에서
직접 계산해볼 수 있습니다
이제 딥 특징이
생겼습니다
딥 모델을 훈련시키죠
딥 특징이 주어졌으니
분류기를 훈련시킵니다
이제 딥 특징을 통해 간단한 분류기를 훈련시킵니다
deep_features_model이라 부르죠
deep_features_model에도 로지스틱 회귀를 호출합니다
강의 내용을 기억하시면 이 딥 특징들을
마지막에 간단한 분류기에 집어넣게 되죠
이 경우 로지스틱 회귀입니다
입력은 image_train_data이 됩니다
특징으로는
픽셀이 아닌
deep_features를 사용합니다
마지막으로 예측하고자 하는 대상은
라벨 열입니다
다 됐습니다
이제 분류기를 학습시키는데 끝났네요
이미지 2000장과 2012년 딥러닝 대회에서 우승한
딥 신경망에서 계산된
특징만을 사용했습니다
이제 모델을 탐색하고 데이터에 적용합니다
이제 할 건
딥 특징 모델을 테스트 세트의
처음 몇 이미지에 적용하기
픽셀 모델에서 했던 것처럼 적용합니다
image_test 데이터에서 처음 세 이미지를 봅니다
0,1,2이죠
이런 모습들입니다
.show를 입력하면
고양이, 차, 고양이가 있었죠
이제 뭐라고 예측하나 봅시다
deep_feature_model로
세 이미지를 예측합니다
image_test[0:3]
고양이, 차, 고양이인데
고양이, 자동차, 고양이라고 하네요
세 개 모두 맞췄습니다
훌륭하네요
픽셀만으론 성능이 아주 나빴는데
딥 특징을 함께 사용하니 다 맞췄습니다
딥 모델을 공식적으로 평가하죠
deep_features_model에서
test_data의
정확도를 계산합니다
됐지요
어떻게 할까요?
픽셀 모델에서 했던 것처럼
evaluate 함수를 호출합니다
evaluate를 붙입니다
입력으로 테스트 데이터를 줍니다
image_test죠
And remember the raw pixel 픽셀 모델은 46% 정확도였죠
아주 낮았습니다
딥 특징을 쓰니 78% 정확도가 나오네요 꽤 좋습니다
이게 지금으로선 최고에 가깝습니다
데이터를 더 학습시켜야 하긴 하지만 46%보다는 훨씬 낫습니다
딥 특징을 쓰면 데이터를 조금만 더해도
이미지 분류 작업에서
상당히 높은 정확도를 보여주죠
[음악]